Save_PC_AwakenLvUp

This commit is contained in:
Ino 2025-07-02 13:01:25 +09:00
parent f2b5722ed7
commit 540ed7eb55
6 changed files with 65 additions and 15 deletions

View File

@ -808,7 +808,7 @@ handlers.Save_PC_AwakenLvUp = function(args)
if (urod.Awaken[args.AwakenStat].Exp < audata.n_MaxUpgradeLevel)
{
var price = Get_K_Value(audata.n_AwakenStep, audata.f_BalanceConstant, audata.n_DefaultUpgradeCostValue, audata.f_CountPerUpgradeCostValue);
log.info("강화 가격 : " + price)
//log.info("강화 가격 : " + price)
if (Use_Item(Get_MissionTable(), urod, materialId, price))
{
++urod.Awaken[args.AwakenStat].Exp;
@ -1991,7 +1991,7 @@ function Get_AwakenUpgradeTable()
"n_AwakenStep": "1",
"n_MaxUpgradeLevel": "10",
"n_AwakenGoodsCost": "1",
"n_DefaultUpgradeCostValue": "3",
"n_DefaultUpgradeCostValue": "10000",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
},
@ -1999,7 +1999,7 @@ function Get_AwakenUpgradeTable()
"n_AwakenStep": "2",
"n_MaxUpgradeLevel": "25",
"n_AwakenGoodsCost": "2",
"n_DefaultUpgradeCostValue": "4",
"n_DefaultUpgradeCostValue": "20000",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
},
@ -2007,7 +2007,7 @@ function Get_AwakenUpgradeTable()
"n_AwakenStep": "3",
"n_MaxUpgradeLevel": "30",
"n_AwakenGoodsCost": "3",
"n_DefaultUpgradeCostValue": "5",
"n_DefaultUpgradeCostValue": "30000",
"f_CountPerUpgradeCostValue": "1.5",
"f_BalanceConstant": "0.032"
}
@ -2030,17 +2030,24 @@ function Get_PlayOCoupons()
function Get_K_Value(lv, balance, defaultval, perlv, abandon = true) {
if (lv <= 0) return 0;
lv = parseFloat(lv);
balance = parseFloat(balance);
defaultval = parseFloat(defaultval);
perlv = parseFloat(perlv);
let val;
if (Math.abs(balance) < 0.000001) {
val = defaultval + lv * perlv;
} else {
val = defaultval + Math.pow(lv * perlv, balance * Math.sqrt(lv));
const base = lv * perlv;
const exponent = balance * Math.sqrt(lv);
val = defaultval + Math.pow(base, exponent);
}
val *= 0.0001;
if (abandon) {
val = Math.floor(val); // 소수점 이하 버림
val = Math.floor(val);
}
return val;
@ -2059,6 +2066,7 @@ function Get_K_Value(lv, balance, defaultval, perlv, abandon = true) {
function Get_CurKoreaTime()
{
var curServerTime = new Date();

View File

@ -1 +1 @@
[{"n_AwakenStep": "1", "n_MaxUpgradeLevel": "10", "n_AwakenGoodsCost": "1", "n_DefaultUpgradeCostValue": "3", "f_CountPerUpgradeCostValue": "1.5", "f_BalanceConstant": "0.032"}, {"n_AwakenStep": "2", "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"}]
[{"n_AwakenStep": "1", "n_MaxUpgradeLevel": "10", "n_AwakenGoodsCost": "1", "n_DefaultUpgradeCostValue": "10000", "f_CountPerUpgradeCostValue": "1.5", "f_BalanceConstant": "0.032"}, {"n_AwakenStep": "2", "n_MaxUpgradeLevel": "25", "n_AwakenGoodsCost": "2", "n_DefaultUpgradeCostValue": "20000", "f_CountPerUpgradeCostValue": "1.5", "f_BalanceConstant": "0.032"}, {"n_AwakenStep": "3", "n_MaxUpgradeLevel": "30", "n_AwakenGoodsCost": "3", "n_DefaultUpgradeCostValue": "30000", "f_CountPerUpgradeCostValue": "1.5", "f_BalanceConstant": "0.032"}]

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1071,6 +1071,42 @@ public class ServerInfo : MyCoroutine
Set_Coroutine(() => { Save_PC_EquipJob(jobid, _act); }, 2f);
});
}
public void Save_PC_AwakenLvUp(eStat stat, Action _act)
{
NetWait.Ins.Set(true);
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
{
FunctionName = "Save_PC_AwakenLvUp",
GeneratePlayStreamEvent = true,
FunctionParameter = new
{
Token = m_LoginInfo.EntityToken.EntityToken,
AwakenStat = stat,
}
},
result =>
{
if (result.Error == null)
{
NetWait.Ins.Set(false);
var error = MyErrorCheck(result.FunctionResult.ToString());
// (0 성공, 1 실패(재화 id 없음), 2 실패 (재화 부족), 3 실패 (더 이상 강화 불가))
switch (error)
{
case 0: _act?.Invoke(); break;
case 1: ToastUI.Ins.Set(999900005); break;
case 2: ToastUI.Ins.Set(388); break;
case 3: ToastUI.Ins.Set(236); break;
}
}
else
Set_Coroutine(() => { Save_PC_AwakenLvUp(stat, _act); }, 2f);
},
fail =>
{
Set_Coroutine(() => { Save_PC_AwakenLvUp(stat, _act); }, 2f);
});
}
#endregion
#region

View File

@ -1,3 +1,4 @@
using CodeStage.AntiCheat.ObscuredTypes;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
@ -13,6 +14,7 @@ public class PCAwakenCard : CardBase
eStat m_Stat;
AwakenUpgradeTableData m_AwakenUpgradeTableData;
ObscuredInt m_Price;
public override void Set<T>(T _base)
{
@ -40,10 +42,11 @@ public class PCAwakenCard : CardBase
slider_acc.value = DSUtil.Get_SliderValue((float)exp / m_AwakenUpgradeTableData.n_MaxUpgradeLevel);
var moneyid = table_GlobalValue.Ins.Get_Int("AWAKEN_GOODS_UPGRADE");
var need = m_AwakenUpgradeTableData.Get_Price(lv);
m_Price = (int)m_AwakenUpgradeTableData.Get_Price(lv);
m_Price.RandomizeCryptoKey();
var obtain = sdata.Get_ItemAmount(moneyid);
m_MoneyForm.amount.text = NumberFormatter.FormatNumber(need);
m_MoneyForm.amount.color = need > obtain ? Color.red : Color.green;
m_MoneyForm.amount.text = NumberFormatter.FormatNumber(m_Price);
m_MoneyForm.amount.color = m_Price > obtain ? Color.red : Color.green;
m_PCAwakenCard_Stat.Set(m_Stat);
@ -76,11 +79,14 @@ public class PCAwakenCard : CardBase
var sdata = ServerInfo.Ins.m_ServerData;
var moneyid = table_GlobalValue.Ins.Get_Int("AWAKEN_GOODS_UPGRADE");
var lv = sdata.Get_AwakenLv(m_Stat);
if (sdata.Check_ItemAmount(moneyid, m_AwakenUpgradeTableData.Get_Price(lv)))
if (sdata.Check_ItemAmount(moneyid, m_Price))
{
sdata.Use_Item(moneyid, m_AwakenUpgradeTableData.Get_Price(lv));
ServerInfo.Ins.Save_PC_AwakenLvUp(m_Stat, () =>
{
sdata.Use_Item(moneyid, m_Price);
sdata.Add_AwakenExp(m_Stat);
Set_UI();
});
}
}
}