서버 각성 레벨업

This commit is contained in:
Ino 2025-07-02 10:20:28 +09:00
parent 46d469eb96
commit f2b5722ed7
1 changed files with 62 additions and 29 deletions

View File

@ -484,7 +484,8 @@ handlers.Get_AllMail = function(args)
return Get_Return(3); return Get_Return(3);
} }
handlers.Save_StageResult = function(args) { handlers.Save_StageResult = function(args)
{
var readonlydata = Get_UserReadOnlyData(); var readonlydata = Get_UserReadOnlyData();
var error = Get_Error(readonlydata, args.Token); var error = Get_Error(readonlydata, args.Token);
if (error < 0) return Get_Return(error); if (error < 0) return Get_Return(error);
@ -800,35 +801,26 @@ handlers.Save_PC_AwakenLvUp = function(args)
if (!matdata) return Get_Return(1); // 설정 누락 if (!matdata) return Get_Return(1); // 설정 누락
var materialId = matdata.n_Value; var materialId = matdata.n_Value;
var awakenupgradetable = [ var awakenupgradetable = Get_AwakenUpgradeTable();
var audata = awakenupgradetable.find(f=>f.n_AwakenStep == urod.Awaken[args.AwakenStat].Lv);
// 각성 경험치가 n_MaxUpgradeLevel 보다 작으면 가능
if (urod.Awaken[args.AwakenStat].Exp < audata.n_MaxUpgradeLevel)
{ {
"n_AwakenStep": "1", var price = Get_K_Value(audata.n_AwakenStep, audata.f_BalanceConstant, audata.n_DefaultUpgradeCostValue, audata.f_CountPerUpgradeCostValue);
"n_MaxUpgradeLevel": "10", log.info("강화 가격 : " + price)
"n_AwakenGoodsCost": "1", if (Use_Item(Get_MissionTable(), urod, materialId, price))
"n_DefaultUpgradeCostValue": "3",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
},
{ {
"n_AwakenStep": "2", ++urod.Awaken[args.AwakenStat].Exp;
"n_MaxUpgradeLevel": "25",
"n_AwakenGoodsCost": "2",
"n_DefaultUpgradeCostValue": "4",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
},
{
"n_AwakenStep": "3",
"n_MaxUpgradeLevel": "30",
"n_AwakenGoodsCost": "3",
"n_DefaultUpgradeCostValue": "5",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
}
];
Set_JsonUserData(urod); Set_JsonUserData(urod);
return Get_Return(0); return Get_Return(0);
}
else
return Get_Return(2);
}
else
return Get_Return(3);
} }
/////////////////////////////////// 서버 처리 /////////////////////////////////// 서버 처리
@ -2026,6 +2018,47 @@ function Get_PlayOCoupons()
var poc = JSON.parse(server.GetTitleInternalData("PlayO").Data.PlayO); var poc = JSON.parse(server.GetTitleInternalData("PlayO").Data.PlayO);
return poc.Coupons; return poc.Coupons;
} }
function Get_K_Value(lv, balance, defaultval, perlv, abandon = true) {
if (lv <= 0) return 0;
let val;
if (Math.abs(balance) < 0.000001) {
val = defaultval + lv * perlv;
} else {
val = defaultval + Math.pow(lv * perlv, balance * Math.sqrt(lv));
}
val *= 0.0001;
if (abandon) {
val = Math.floor(val); // 소수점 이하 버림
}
return val;
}
function Get_CurKoreaTime() function Get_CurKoreaTime()
{ {
var curServerTime = new Date(); var curServerTime = new Date();