Save_Enchant_LvUp
This commit is contained in:
parent
8d1ed7f796
commit
e9ec3636c1
|
|
@ -244,8 +244,8 @@ function Add_Item(table, itemtable, urod, itemid, amount, isCheat)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
if (!urod.Item[itemid]) urod.Item[itemid] = [0, 0, 0];
|
if (!urod.Item[itemid]) urod.Item[itemid] = [0, 0, 0];
|
||||||
urod.Item[itemid][0] += amount;
|
urod.Item[itemid][0] = Add_Amount(urod.Item[itemid][0], amount);
|
||||||
if (!isCheat) urod.Item[itemid][1] += amount; // 총 획득량
|
if (!isCheat) urod.Item[itemid][1] = Add_Amount(urod.Item[itemid][1], amount); // 총 획득량
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "Weapon":
|
case "Weapon":
|
||||||
|
|
@ -255,13 +255,13 @@ function Add_Item(table, itemtable, urod, itemid, amount, isCheat)
|
||||||
case "Necklace":
|
case "Necklace":
|
||||||
case "Ring":
|
case "Ring":
|
||||||
if (!urod.Equipment[itemid]) urod.Equipment[itemid] = [0, 0, 0];
|
if (!urod.Equipment[itemid]) urod.Equipment[itemid] = [0, 0, 0];
|
||||||
urod.Equipment[itemid][0] += amount;
|
urod.Equipment[itemid][0] = Add_Amount(urod.Equipment[itemid][0], amount);
|
||||||
Add_Collection(urod, itemid, amount);
|
Add_Collection(urod, itemid, amount);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "Skill":
|
case "Skill":
|
||||||
if (!urod.Skill[itemid]) urod.Skill[itemid] = [amount - 1,1,0]; // 레벨 증가
|
if (!urod.Skill[itemid]) urod.Skill[itemid] = [amount - 1,1,0]; // 레벨 증가
|
||||||
else urod.Skill[itemid][0] += amount;
|
else urod.Skill[itemid][0] = Add_Amount(urod.Skill[itemid][0], amount);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "PC":
|
case "PC":
|
||||||
|
|
@ -270,19 +270,19 @@ function Add_Item(table, itemtable, urod, itemid, amount, isCheat)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "Pet":
|
case "Pet":
|
||||||
if (!urod.Pet[itemid]) urod.Pet[itemid] = [0, 1]; // [레벨, 획득 수]
|
if (!urod.Pet[itemid]) urod.Pet[itemid] = [0, 1];
|
||||||
urod.Pet[itemid][0] += amount;
|
urod.Pet[itemid][0] = Add_Amount(urod.Pet[itemid][0], amount);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "Enchant":
|
case "Enchant":
|
||||||
if (!urod.Enchant[itemid]) urod.Enchant[itemid] = [0, 0, 0, 0];
|
if (!urod.Enchant[itemid]) urod.Enchant[itemid] = [0, 0, 0, 0];
|
||||||
urod.Enchant[itemid][0] += amount;
|
urod.Enchant[itemid][0] = Add_Amount(urod.Enchant[itemid][0], amount);
|
||||||
urod.Enchant[itemid][2] += amount;
|
urod.Enchant[itemid][2] = Add_Amount(urod.Enchant[itemid][2], amount);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "Relic":
|
case "Relic":
|
||||||
if (!urod.Relic[itemid]) urod.Relic[itemid] = [0, 0, 0];
|
if (!urod.Relic[itemid]) urod.Relic[itemid] = [0, 0, 0];
|
||||||
urod.Relic[itemid][0] += amount;
|
urod.Relic[itemid][0] = Add_Amount(urod.Relic[itemid][0], amount);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -296,7 +296,7 @@ function Use_Item(table, urod, itemid, amount)
|
||||||
if (urod.Item[itemid][0] >= amount)
|
if (urod.Item[itemid][0] >= amount)
|
||||||
{
|
{
|
||||||
urod.Item[itemid][0] -= amount;
|
urod.Item[itemid][0] -= amount;
|
||||||
urod.Item[itemid][2] += amount; // 총 사용량
|
urod.Item[itemid][2] = Add_Amount(urod.Item[itemid][2], amount); // 총 사용량
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -331,7 +331,7 @@ function Use_Item(table, urod, itemid, amount)
|
||||||
if (urod.Enchant[itemid][0] >= amount)
|
if (urod.Enchant[itemid][0] >= amount)
|
||||||
{
|
{
|
||||||
urod.Enchant[itemid][0] -= amount;
|
urod.Enchant[itemid][0] -= amount;
|
||||||
urod.Enchant[itemid][3] += amount;
|
urod.Enchant[itemid][3] = Add_Amount(urod.Enchant[itemid][3], amount);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -405,24 +405,24 @@ function Add_MissionCount(table, urod, purpose, conditionvalue, count, setValue)
|
||||||
if (!urod.Mission[key1][key2]) urod.Mission[key1][key2] = [0, 0];
|
if (!urod.Mission[key1][key2]) urod.Mission[key1][key2] = [0, 0];
|
||||||
|
|
||||||
if (setValue) urod.Mission[key1][key2][1] = count;
|
if (setValue) urod.Mission[key1][key2][1] = count;
|
||||||
else urod.Mission[key1][key2][1] += count;
|
else urod.Mission[key1][key2][1] = Add_Amount(urod.Mission[key1][key2][1], count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 가이드 퀘스트 체크
|
// 가이드 퀘스트 체크
|
||||||
var guideData = table.find(f=>f.n_MissionGroupId == 0 && f.n_MissionIndex == urod.Common[10]);
|
var guideData = table.find(f=>f.n_MissionGroupId == 0 && f.n_MissionIndex == urod.Common[10]);
|
||||||
if (guideData && guideData.e_MissionConditionType == purpose)
|
if (guideData && guideData.e_MissionConditionType == purpose)
|
||||||
urod.Common[11] += count;
|
urod.Common[11] = Add_Amount(urod.Common[11], count);
|
||||||
}
|
}
|
||||||
function Add_Collection(urod, id, count)
|
function Add_Collection(urod, id, count)
|
||||||
{
|
{
|
||||||
if (!urod.Collection[id]) urod.Collection[id] = 0;
|
if (!urod.Collection[id]) urod.Collection[id] = 0;
|
||||||
urod.Collection[id] += count;
|
urod.Collection[id] = Add_Amount(urod.Collection[id], count);
|
||||||
}
|
}
|
||||||
function Add_MobCollection(urod, id, count)
|
function Add_MobCollection(urod, id, count)
|
||||||
{
|
{
|
||||||
if (!urod.MobKill[id]) urod.MobKill[id] = 0;
|
if (!urod.MobKill[id]) urod.MobKill[id] = 0;
|
||||||
urod.MobKill[id] += count;
|
urod.MobKill[id] = Add_Amount(urod.MobKill[id], count);
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get_Exp(lv) {
|
function Get_Exp(lv) {
|
||||||
|
|
@ -529,9 +529,9 @@ handlers.Save_StageResult = function(args)
|
||||||
var itemtable = Get_ItemTable();
|
var itemtable = Get_ItemTable();
|
||||||
|
|
||||||
// 경험치 처리
|
// 경험치 처리
|
||||||
urod.PC.Exp += args.Exp;
|
urod.PC.Exp = Add_Amount(urod.PC.Exp, args.Exp);
|
||||||
while (urod.PC.Exp >= Get_Exp(urod.PC.Lv + 1)) {
|
while (urod.PC.Exp >= Get_Exp(urod.PC.Lv + 1)) {
|
||||||
urod.PC.Lv++;
|
++urod.PC.Lv;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 아이템 처리 (args.Item은 JS object 형태로 전달됨)
|
// 아이템 처리 (args.Item은 JS object 형태로 전달됨)
|
||||||
|
|
@ -548,7 +548,7 @@ handlers.Save_StageResult = function(args)
|
||||||
for (var key in args.Mob) {
|
for (var key in args.Mob) {
|
||||||
var Id = key;
|
var Id = key;
|
||||||
var Count = args.Mob[key];
|
var Count = args.Mob[key];
|
||||||
mobcount += Count;
|
mobcount = Add_Amount(mobcount, Count);
|
||||||
Add_MissionCount(table, urod, "KILL_MONSTER", Id, Count, false);
|
Add_MissionCount(table, urod, "KILL_MONSTER", Id, Count, false);
|
||||||
Add_MobCollection(urod, Id, Count);
|
Add_MobCollection(urod, Id, Count);
|
||||||
}
|
}
|
||||||
|
|
@ -556,7 +556,7 @@ handlers.Save_StageResult = function(args)
|
||||||
for (var key in args.Elite) {
|
for (var key in args.Elite) {
|
||||||
var Id = key;
|
var Id = key;
|
||||||
var Count = args.Elite[key];
|
var Count = args.Elite[key];
|
||||||
elitemobcount += Count;
|
elitemobcount = Add_Amount(elitemobcount, Count);
|
||||||
Add_MissionCount(table, urod, "KILL_MONSTER", Id, Count, false);
|
Add_MissionCount(table, urod, "KILL_MONSTER", Id, Count, false);
|
||||||
Add_MobCollection(urod, Id, Count);
|
Add_MobCollection(urod, Id, Count);
|
||||||
}
|
}
|
||||||
|
|
@ -564,13 +564,13 @@ handlers.Save_StageResult = function(args)
|
||||||
for (var key in args.Boss) {
|
for (var key in args.Boss) {
|
||||||
var Id = key;
|
var Id = key;
|
||||||
var Count = args.Boss[key];
|
var Count = args.Boss[key];
|
||||||
bossmobcount += Count;
|
bossmobcount = Add_Amount(bossmobcount + Count);
|
||||||
Add_MissionCount(table, urod, "KILL_MONSTER", Id, Count, false);
|
Add_MissionCount(table, urod, "KILL_MONSTER", Id, Count, false);
|
||||||
Add_MobCollection(urod, Id, Count);
|
Add_MobCollection(urod, Id, Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
Add_MissionCount(table, urod, "KILL_MONSTER_ALL", 0, mobcount + elitemobcount + bossmobcount, false);
|
Add_MissionCount(table, urod, "KILL_MONSTER_ALL", 0, Add_Amount(mobcount + elitemobcount + bossmobcount), false);
|
||||||
Add_MissionCount(table, urod, "KILL_MONSTER_ACC", 0, mobcount + elitemobcount + bossmobcount, false);
|
Add_MissionCount(table, urod, "KILL_MONSTER_ACC", 0, Add_Amount(mobcount + elitemobcount + bossmobcount), false);
|
||||||
Add_MissionCount(table, urod, "KILL_MONSTER_GRADE", 1, mobcount, false);
|
Add_MissionCount(table, urod, "KILL_MONSTER_GRADE", 1, mobcount, false);
|
||||||
Add_MissionCount(table, urod, "KILL_MONSTER_GRADE", 2, elitemobcount, false);
|
Add_MissionCount(table, urod, "KILL_MONSTER_GRADE", 2, elitemobcount, false);
|
||||||
Add_MissionCount(table, urod, "KILL_MONSTER_GRADE", 3, bossmobcount, false);
|
Add_MissionCount(table, urod, "KILL_MONSTER_GRADE", 3, bossmobcount, false);
|
||||||
|
|
@ -606,7 +606,7 @@ handlers.Save_PC_Stat = function(args)
|
||||||
|
|
||||||
if (curUsePoint <= remainPoint) {
|
if (curUsePoint <= remainPoint) {
|
||||||
for (var i = 0; i < 4; i++) {
|
for (var i = 0; i < 4; i++) {
|
||||||
urod.PC.Stat[i] += args.UsePoint[i];
|
urod.PC.Stat[i] = Add_Amount(urod.PC.Stat[i], args.UsePoint[i]);
|
||||||
}
|
}
|
||||||
Add_MissionCount(Get_MissionTable(), urod, "HERO_STAT_UPGRADE_ACC", 0, curUsePoint, false);
|
Add_MissionCount(Get_MissionTable(), urod, "HERO_STAT_UPGRADE_ACC", 0, curUsePoint, false);
|
||||||
Set_JsonUserData(urod);
|
Set_JsonUserData(urod);
|
||||||
|
|
@ -1271,7 +1271,7 @@ handlers.Save_EquipItem_SlotLvUp = function(args)
|
||||||
log.info("슬롯 강화 비용 " + price);
|
log.info("슬롯 강화 비용 " + price);
|
||||||
if (Use_Item(table, urod, esu_data.n_ConsumeGoodsID, price))
|
if (Use_Item(table, urod, esu_data.n_ConsumeGoodsID, price))
|
||||||
{
|
{
|
||||||
m_SD_Slot.Use += price;
|
m_SD_Slot.Use = Add_Amount(m_SD_Slot.Use, price);
|
||||||
++m_SD_Slot.Lv;
|
++m_SD_Slot.Lv;
|
||||||
|
|
||||||
Add_MissionCount(table, urod, "EQUIP_SLOT_UPGRADE_ALL", 0, 1);
|
Add_MissionCount(table, urod, "EQUIP_SLOT_UPGRADE_ALL", 0, 1);
|
||||||
|
|
@ -1353,6 +1353,31 @@ handlers.Save_EquipItem_Enchant = function(args)
|
||||||
}
|
}
|
||||||
return Get_Return(1);
|
return Get_Return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handlers.Save_Enchant_LvUp = function(args)
|
||||||
|
{
|
||||||
|
var readonlydata = Get_UserReadOnlyData();
|
||||||
|
var error = Get_Error(readonlydata, args.Token);
|
||||||
|
if (error < 0) return Get_Return(error);
|
||||||
|
|
||||||
|
var urod = Get_JsonUserData(readonlydata);
|
||||||
|
|
||||||
|
var s_enchant = urod.Enchant[args.EnchantID];
|
||||||
|
|
||||||
|
var table = Get_MissionTable();
|
||||||
|
var er_table = Get_EnchantRateTable();
|
||||||
|
var er_data = er_table.find(f=>f.n_EnchantLv == s_enchant[1]);
|
||||||
|
|
||||||
|
if (er_data.n_NextLvRequireCount <= 0) return Get_Return(2);
|
||||||
|
if (Use_Item(table, urod, args.EnchantID, er_data.n_NextLvRequireCount))
|
||||||
|
{
|
||||||
|
++s_enchant[1];
|
||||||
|
|
||||||
|
Set_JsonUserData(urod);
|
||||||
|
return Get_Return(0);
|
||||||
|
}
|
||||||
|
return Get_Return(1);
|
||||||
|
}
|
||||||
/////////////////////////////////// 서버 처리
|
/////////////////////////////////// 서버 처리
|
||||||
|
|
||||||
handlers.Write_UnityInApp = function(args)
|
handlers.Write_UnityInApp = function(args)
|
||||||
|
|
@ -10121,6 +10146,10 @@ function IsRateTrue1000000(rate)
|
||||||
{
|
{
|
||||||
return Math.floor(Math.random() * 1000000) < rate;
|
return Math.floor(Math.random() * 1000000) < rate;
|
||||||
}
|
}
|
||||||
|
function Add_Amount(...args)
|
||||||
|
{
|
||||||
|
return args.reduce((sum, val) => sum + Number(val), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1565,6 +1565,43 @@ public class ServerInfo : MyCoroutine
|
||||||
Set_Coroutine(() => { Save_EquipItem_Enchant(itemid, eid, slot, _act); }, 2f);
|
Set_Coroutine(() => { Save_EquipItem_Enchant(itemid, eid, slot, _act); }, 2f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Save_Enchant_LvUp(int eid, Action _act)
|
||||||
|
{
|
||||||
|
NetWait.Ins.Set(true);
|
||||||
|
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||||
|
{
|
||||||
|
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||||
|
GeneratePlayStreamEvent = true,
|
||||||
|
FunctionParameter = new
|
||||||
|
{
|
||||||
|
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||||
|
EnchantID = eid,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
result =>
|
||||||
|
{
|
||||||
|
if (result.Error == null)
|
||||||
|
{
|
||||||
|
NetWait.Ins.Set(false);
|
||||||
|
var str_result = result.FunctionResult.ToString();
|
||||||
|
var error = MyErrorCheck(str_result);
|
||||||
|
// (0 성공, 1 실패 (잠긴 인챈트 슬롯), 3 실패 (없는 아이템), 4 실패 (업그레이드 정보 없는 파츠))
|
||||||
|
switch (error)
|
||||||
|
{
|
||||||
|
case 0: _act?.Invoke(); break;
|
||||||
|
case 1: ToastUI.Ins.Set(388); break;
|
||||||
|
case 2: ToastUI.Ins.Set(999900003); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Set_Coroutine(() => { Save_Enchant_LvUp(eid, _act); }, 2f);
|
||||||
|
},
|
||||||
|
fail =>
|
||||||
|
{
|
||||||
|
Set_Coroutine(() => { Save_Enchant_LvUp(eid, _act); }, 2f);
|
||||||
|
});
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 우편
|
#region 우편
|
||||||
|
|
|
||||||
|
|
@ -46,12 +46,17 @@ public class EquipmentEnchantCard : CardBase
|
||||||
}
|
}
|
||||||
public void OnClick_Reinforce()
|
public void OnClick_Reinforce()
|
||||||
{
|
{
|
||||||
|
if (m_EnchantRateTableData.n_NextLvRequireCount <= 0) { ToastUI.Ins.Set(999900003); return; }
|
||||||
|
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
if (sdata.Check_ItemAmount(m_Data.n_EnchantID, m_EnchantRateTableData.n_NextLvRequireCount))
|
if (sdata.Check_ItemAmount(m_Data.n_EnchantID, m_EnchantRateTableData.n_NextLvRequireCount))
|
||||||
{
|
{
|
||||||
sdata.Use_Item(m_Data.n_EnchantID, m_EnchantRateTableData.n_NextLvRequireCount);
|
ServerInfo.Ins.Save_Enchant_LvUp(m_Data.n_EnchantID, () =>
|
||||||
sdata.Add_EnchantLv(m_Data.n_EnchantID);
|
{
|
||||||
Set_UI();
|
sdata.Use_Item(m_Data.n_EnchantID, m_EnchantRateTableData.n_NextLvRequireCount);
|
||||||
|
sdata.Add_EnchantLv(m_Data.n_EnchantID);
|
||||||
|
Set_UI();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void OnClick_EnchantEquipItem()
|
public void OnClick_EnchantEquipItem()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue