Save_Equipment_Decomposition
This commit is contained in:
parent
13a02c183e
commit
8f5e16cfe5
|
|
@ -1179,6 +1179,76 @@ handlers.Save_Equipment_Smelting = function(args)
|
||||||
}
|
}
|
||||||
return Get_Return(1);
|
return Get_Return(1);
|
||||||
}
|
}
|
||||||
|
handlers.Save_Equipment_Smelting = 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);
|
||||||
|
if (!urod.Equipment[args.ItemID]) return Get_Return(3);
|
||||||
|
var lv = urod.Equipment[args.ItemID][1];
|
||||||
|
|
||||||
|
// 영웅 초월 레벨에 따른 레벨 제한 확인
|
||||||
|
var llv = urod.PC.LLv > 9 ? 9 : urod.PC.LLv;
|
||||||
|
var limitData = Get_BreakingLimitTable().find(f=>f.n_LimitLv == llv);
|
||||||
|
if (lv >= limitData.n_Equip_Upgrade_Limit) return Get_Return(2);
|
||||||
|
|
||||||
|
// 다음 강화 가능한 지 확인
|
||||||
|
var smeltingTable = Get_EquipSmeltingTable();
|
||||||
|
var nextSmeltingData = smeltingTable.find(f=>f.n_SmeltingStep == lv + 1);
|
||||||
|
if (!nextSmeltingData) return Get_Return(2);
|
||||||
|
|
||||||
|
// 재료 확인
|
||||||
|
var table = Get_MissionTable();
|
||||||
|
var smeltingData = smeltingTable.find(f=>f.n_SmeltingStep == lv);
|
||||||
|
if (Use_Item(table, urod, args.ItemID, smeltingData.n_UpgradePrice))
|
||||||
|
{
|
||||||
|
// 확률 적용
|
||||||
|
if (IsRateTrue1000000(smeltingData.n_NextStepRate))
|
||||||
|
{
|
||||||
|
++urod.Equipment[args.ItemID][1]; // 제련 레벨
|
||||||
|
|
||||||
|
Add_MissionCount(table, urod, "EQUIP_ITEM_UPGRADE_ACC", 0, 1);
|
||||||
|
Add_MissionCount(table, urod, "EQUIP_ITEM_UPGRADE_ALL", 0, 1);
|
||||||
|
Add_MissionCount(table, urod, "EQUIP_ITEM_UPGRADE_LIMIT", 0, 1);
|
||||||
|
|
||||||
|
Set_JsonUserData(urod);
|
||||||
|
return Get_Return(0);
|
||||||
|
}
|
||||||
|
++urod.Equipment[args.ItemID][2]; // 제련 시도 횟수
|
||||||
|
return Get_Return(4);
|
||||||
|
}
|
||||||
|
return Get_Return(1);
|
||||||
|
}
|
||||||
|
handlers.Save_Equipment_Decomposition = function(args)
|
||||||
|
{
|
||||||
|
var readonlydata = Get_UserReadOnlyData();
|
||||||
|
var error = Get_Error(readonlydata, args.Token);
|
||||||
|
if (error < 0) return Get_Return(error);
|
||||||
|
|
||||||
|
if (args.Count <= 0) return Get_Return(1);
|
||||||
|
|
||||||
|
var urod = Get_JsonUserData(readonlydata);
|
||||||
|
if (!urod.Equipment[args.ItemID]) return Get_Return(3);
|
||||||
|
|
||||||
|
var obtainAmount = Get_ItemAmount(urod, args.ItemID);
|
||||||
|
if (obtainAmount < args.Count) return Get_Return(2);
|
||||||
|
|
||||||
|
// 분해
|
||||||
|
var table = Get_MissionTable();
|
||||||
|
Use_Item(table, urod, args.ItemID, args.Count);
|
||||||
|
|
||||||
|
var equipmenttable = Get_EquipmentTable();
|
||||||
|
var equipdata = equipmenttable.find(f=>f.n_EquipID == args.ItemID);
|
||||||
|
Add_Item(table, Get_ItemTable(), urod, equipdata.n_DecompositionReward, equipdata.n_DecompositionCount * args.Count);
|
||||||
|
|
||||||
|
Add_MissionCount(table, urod, "EQUIP_ITEM_DISTROY_ALL", 0, args.Count);
|
||||||
|
Add_MissionCount(table, urod, "EQUIP_ITEM_DISTROY_ACC", 0, args.Count);
|
||||||
|
|
||||||
|
Set_JsonUserData(urod);
|
||||||
|
return Get_Return(0);
|
||||||
|
}
|
||||||
/////////////////////////////////// 서버 처리
|
/////////////////////////////////// 서버 처리
|
||||||
|
|
||||||
handlers.Write_UnityInApp = function(args)
|
handlers.Write_UnityInApp = function(args)
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1407,6 +1407,44 @@ public class ServerInfo : MyCoroutine
|
||||||
Set_Coroutine(() => { Save_Equipment_Smelting(itemid, _act); }, 2f);
|
Set_Coroutine(() => { Save_Equipment_Smelting(itemid, _act); }, 2f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
public void Save_Equipment_Decomposition(int itemid, int count, Action _act)
|
||||||
|
{
|
||||||
|
NetWait.Ins.Set(true);
|
||||||
|
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||||
|
{
|
||||||
|
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||||
|
GeneratePlayStreamEvent = true,
|
||||||
|
FunctionParameter = new
|
||||||
|
{
|
||||||
|
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||||
|
ItemID = itemid,
|
||||||
|
Count = count,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
result =>
|
||||||
|
{
|
||||||
|
if (result.Error == null)
|
||||||
|
{
|
||||||
|
NetWait.Ins.Set(false);
|
||||||
|
var str_result = result.FunctionResult.ToString();
|
||||||
|
var error = MyErrorCheck(str_result);
|
||||||
|
// (0 성공, 1 실패 (분해 갯수 0), 2 실패 (가진 갯수와 분해 갯수 에러), 3 실패 (없는 아이템))
|
||||||
|
switch (error)
|
||||||
|
{
|
||||||
|
case 0: _act?.Invoke(); break;
|
||||||
|
case 1: ToastUI.Ins.Set(999900018); break;
|
||||||
|
case 2: ToastUI.Ins.Set(999900019); break;
|
||||||
|
case 3: ToastUI.Ins.Set(999900014); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Set_Coroutine(() => { Save_Equipment_Equip(itemid, _act); }, 2f);
|
||||||
|
},
|
||||||
|
fail =>
|
||||||
|
{
|
||||||
|
Set_Coroutine(() => { Save_Equipment_Equip(itemid, _act); }, 2f);
|
||||||
|
});
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 우편
|
#region 우편
|
||||||
|
|
|
||||||
|
|
@ -138,6 +138,8 @@ public class EquipmentPopup_Obtain : EquipmentPopupBase
|
||||||
// 장비 분해 처리
|
// 장비 분해 처리
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
if (m_DecompAmount > 0 && sdata.Check_ItemAmount(m_Data.n_EquipID, m_DecompAmount))
|
if (m_DecompAmount > 0 && sdata.Check_ItemAmount(m_Data.n_EquipID, m_DecompAmount))
|
||||||
|
{
|
||||||
|
ServerInfo.Ins.Save_Equipment_Decomposition(m_Data.n_EquipID, m_DecompAmount, () =>
|
||||||
{
|
{
|
||||||
sdata.Use_Item(m_Data.n_EquipID, m_DecompAmount);
|
sdata.Use_Item(m_Data.n_EquipID, m_DecompAmount);
|
||||||
sdata.Add_Item(m_Data.n_DecompositionReward, m_Data.n_DecompositionCount * m_DecompAmount);
|
sdata.Add_Item(m_Data.n_DecompositionReward, m_Data.n_DecompositionCount * m_DecompAmount);
|
||||||
|
|
@ -148,6 +150,7 @@ public class EquipmentPopup_Obtain : EquipmentPopupBase
|
||||||
|
|
||||||
Set_Decompostion(0);
|
Set_Decompostion(0);
|
||||||
Set_SmeltingUI();
|
Set_SmeltingUI();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void OnClick_Slider(int add)
|
public void OnClick_Slider(int add)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue