Save_Relic_LvUp
This commit is contained in:
parent
baca27129e
commit
4f69c3ef37
|
|
@ -1623,6 +1623,18 @@ handlers.Save_Essence_Mileage = function(args)
|
|||
return Get_Return(1);
|
||||
};
|
||||
|
||||
function Get_RelicMatAmount()
|
||||
{
|
||||
return {
|
||||
0: { 6: 50, 7: 60, 8: 80, 9: 100 },
|
||||
1: { 6: 150, 7: 180, 8: 240, 9: 300 },
|
||||
2: { 6: 300, 7: 360, 8: 480, 9: 600 },
|
||||
3: { 6: 500, 7: 600, 8: 800, 9: 1000 },
|
||||
4: { 6: 1000, 7: 1200, 8: 1600, 9: 2000 },
|
||||
5: { 6: 2500, 7: 3000, 8: 4000, 9: 5000 },
|
||||
6: { 6: 3000, 7: 5000, 8: 8000, 9: 13000 },
|
||||
};
|
||||
}
|
||||
handlers.Save_Relic_StarUp = function(args)
|
||||
{
|
||||
var readonlydata = Get_UserReadOnlyData();
|
||||
|
|
@ -1645,14 +1657,7 @@ handlers.Save_Relic_StarUp = function(args)
|
|||
5: 500
|
||||
};
|
||||
|
||||
const dic_starMat = {
|
||||
0: { 6: 50, 7: 60, 8: 80, 9: 100 },
|
||||
1: { 6: 150, 7: 180, 8: 240, 9: 300 },
|
||||
2: { 6: 300, 7: 360, 8: 480, 9: 600 },
|
||||
3: { 6: 500, 7: 600, 8: 800, 9: 1000 },
|
||||
4: { 6: 1000, 7: 1200, 8: 1600, 9: 2000 },
|
||||
5: { 6: 2500, 7: 3000, 8: 4000, 9: 5000 },
|
||||
};
|
||||
var dic_starMat = Get_RelicMatAmount();
|
||||
|
||||
var matID = Get_GlobalValue_nValue("n_RelicReinforceMaterialID");
|
||||
var itemtable = Get_ItemTable();
|
||||
|
|
@ -1672,6 +1677,50 @@ handlers.Save_Relic_StarUp = function(args)
|
|||
return Get_Return(0);
|
||||
}
|
||||
}
|
||||
handlers.Save_Relic_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);
|
||||
|
||||
if (!urod.Relic[args.RelicID]) return Get_Return(4);
|
||||
var star = urod.Relic[args.RelicID][2];
|
||||
if (star == 0) return Get_Return(5);
|
||||
var lv = urod.Relic[args.RelicID][1];
|
||||
var ru_data = Get_RelicUpgradeCostTable().find(f=>f.n_RelicLv == lv);
|
||||
if (!ru_data) return Get_Return(3);
|
||||
|
||||
var itemtable = Get_ItemTable();
|
||||
var grade = itemtable.find(f=>f.n_ItemID == args.RelicID).n_ItemGrade;
|
||||
var needrelic = ru_data.n_RequirePiece;
|
||||
switch(grade)
|
||||
{
|
||||
case 6: needrelic = Add_Amount(needrelic, ru_data.n_RequireGrade1); break;
|
||||
case 7: needrelic = Add_Amount(needrelic, ru_data.n_RequireGrade2); break;
|
||||
case 8: needrelic = Add_Amount(needrelic, ru_data.n_RequireGrade3); break;
|
||||
case 9: needrelic = Add_Amount(needrelic, ru_data.n_RequireGrade4); break;
|
||||
}
|
||||
|
||||
var dic_starMat = Get_RelicMatAmount();
|
||||
var needmat = dic_starMat[star][grade];
|
||||
|
||||
var matID = Get_GlobalValue_nValue("n_RelicReinforceMaterialID");
|
||||
var table = Get_MissionTable();
|
||||
if (!Use_Item(table, urod, args.RelicID, needrelic)) return Get_Return(1);
|
||||
if (!Use_Item(table, urod, matID, needmat)) return Get_Return(2);
|
||||
|
||||
{
|
||||
++urod.Relic[args.RelicID][1];
|
||||
|
||||
Add_MissionCount(table, urod, "UPGRADE_RELIC_LIMIT", args.RelicID, 1);
|
||||
Add_MissionCount(table, urod, "UPGRADE_RELIC_ALL", args.RelicID, 1);
|
||||
|
||||
Set_JsonUserData(urod);
|
||||
return Get_Return(0);
|
||||
}
|
||||
}
|
||||
/////////////////////////////////// 서버 처리
|
||||
|
||||
handlers.Write_UnityInApp = function(args)
|
||||
|
|
@ -18831,6 +18880,51 @@ function Get_RelicTable()
|
|||
}
|
||||
]
|
||||
}
|
||||
function Get_RelicUpgradeCostTable()
|
||||
{
|
||||
return [
|
||||
{
|
||||
"n_RelicLv": "0",
|
||||
"n_RequirePiece": "1",
|
||||
"n_RequireGrade1": "1",
|
||||
"n_RequireGrade2": "2",
|
||||
"n_RequireGrade3": "3",
|
||||
"n_RequireGrade4": "4"
|
||||
},
|
||||
{
|
||||
"n_RelicLv": "1",
|
||||
"n_RequirePiece": "3",
|
||||
"n_RequireGrade1": "2",
|
||||
"n_RequireGrade2": "4",
|
||||
"n_RequireGrade3": "6",
|
||||
"n_RequireGrade4": "8"
|
||||
},
|
||||
{
|
||||
"n_RelicLv": "2",
|
||||
"n_RequirePiece": "5",
|
||||
"n_RequireGrade1": "3",
|
||||
"n_RequireGrade2": "6",
|
||||
"n_RequireGrade3": "9",
|
||||
"n_RequireGrade4": "12"
|
||||
},
|
||||
{
|
||||
"n_RelicLv": "3",
|
||||
"n_RequirePiece": "7",
|
||||
"n_RequireGrade1": "4",
|
||||
"n_RequireGrade2": "8",
|
||||
"n_RequireGrade3": "10",
|
||||
"n_RequireGrade4": "15"
|
||||
},
|
||||
{
|
||||
"n_RelicLv": "4",
|
||||
"n_RequirePiece": "9",
|
||||
"n_RequireGrade1": "5",
|
||||
"n_RequireGrade2": "10",
|
||||
"n_RequireGrade3": "13",
|
||||
"n_RequireGrade4": "19"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -1935,6 +1935,45 @@ public class ServerInfo : MyCoroutine
|
|||
Set_Coroutine(() => { Save_Relic_StarUp(relicid, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
public void Save_Relic_LvUp(int relicid, Action _act)
|
||||
{
|
||||
NetWait.Ins.Set(true);
|
||||
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
|
||||
{
|
||||
FunctionName = MethodBase.GetCurrentMethod().Name,
|
||||
GeneratePlayStreamEvent = true,
|
||||
FunctionParameter = new
|
||||
{
|
||||
Token = m_LoginInfo.EntityToken.EntityToken,
|
||||
RelicID = relicid,
|
||||
}
|
||||
},
|
||||
result =>
|
||||
{
|
||||
if (result.Error == null)
|
||||
{
|
||||
NetWait.Ins.Set(false);
|
||||
var str_result = result.FunctionResult.ToString();
|
||||
var error = MyErrorCheck(str_result);
|
||||
// (0 성공, 1 실패 (유물 부족), 2 실패 (재료 부족), 3 실패 (최고 레벨), 4 실패 (없는 유물), 5 실패 (성급 0))
|
||||
switch (error)
|
||||
{
|
||||
case 0: _act?.Invoke(); break;
|
||||
case 1: ToastUI.Ins.Set(999900028); break;
|
||||
case 2: ToastUI.Ins.Set(388); break;
|
||||
case 3: ToastUI.Ins.Set(999900003); break;
|
||||
case 4: ToastUI.Ins.Set(999900014); break;
|
||||
case 5: ToastUI.Ins.Set(999900030); break;
|
||||
}
|
||||
}
|
||||
else
|
||||
Set_Coroutine(() => { Save_Relic_LvUp(relicid, _act); }, 2f);
|
||||
},
|
||||
fail =>
|
||||
{
|
||||
Set_Coroutine(() => { Save_Relic_LvUp(relicid, _act); }, 2f);
|
||||
});
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 우편
|
||||
|
|
|
|||
|
|
@ -11,44 +11,45 @@ public class RelicUpgradeCostTableData : TableDataBase
|
|||
{
|
||||
get { return _RelicLv; }
|
||||
set { _RelicLv = value; _RelicLv.RandomizeCryptoKey(); }
|
||||
} // 유물 레벨
|
||||
} // 유물 레벨
|
||||
|
||||
ObscuredInt _RequirePiece;
|
||||
public int n_RequirePiece
|
||||
{
|
||||
get { return _RequirePiece; }
|
||||
set { _RequirePiece = value; _RequirePiece.RandomizeCryptoKey(); }
|
||||
} // 요구 조각 수
|
||||
} // 요구 조각 수
|
||||
|
||||
ObscuredInt _RequireGrade1;
|
||||
public int n_RequireGrade1
|
||||
{
|
||||
get { return _RequireGrade1; }
|
||||
set { _RequireGrade1 = value; _RequireGrade1.RandomizeCryptoKey(); }
|
||||
} // 요구 등급 1
|
||||
} // 요구 등급 1
|
||||
|
||||
ObscuredInt _RequireGrade2;
|
||||
public int n_RequireGrade2
|
||||
{
|
||||
get { return _RequireGrade2; }
|
||||
set { _RequireGrade2 = value; _RequireGrade2.RandomizeCryptoKey(); }
|
||||
} // 요구 등급 2
|
||||
} // 요구 등급 2
|
||||
|
||||
ObscuredInt _RequireGrade3;
|
||||
public int n_RequireGrade3
|
||||
{
|
||||
get { return _RequireGrade3; }
|
||||
set { _RequireGrade3 = value; _RequireGrade3.RandomizeCryptoKey(); }
|
||||
} // 요구 등급 3
|
||||
} // 요구 등급 3
|
||||
|
||||
ObscuredInt _RequireGrade4;
|
||||
public int n_RequireGrade4
|
||||
{
|
||||
get { return _RequireGrade4; }
|
||||
set { _RequireGrade4 = value; _RequireGrade4.RandomizeCryptoKey(); }
|
||||
} // 요구 등급 4
|
||||
} // 요구 등급 4
|
||||
|
||||
public Dictionary<int, int> dic_cost = new Dictionary<int, int>();
|
||||
public int Get_Price(int grade) { return n_RequirePiece + dic_cost[grade]; }
|
||||
}
|
||||
|
||||
public class table_relicupgradecost : table_missionbase
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ public class CollectionRelicUI : PCUIMenu
|
|||
{ 3, new Dictionary<int, int> { { 6, 500 }, { 7, 600 }, { 8, 800 }, { 9, 1000 } } },
|
||||
{ 4, new Dictionary<int, int> { { 6, 1000 }, { 7, 1200 }, { 8, 1600 }, { 9, 2000 } } },
|
||||
{ 5, new Dictionary<int, int> { { 6, 2500 }, { 7, 3000 }, { 8, 4000 }, { 9, 5000 } } },
|
||||
{ 6, new Dictionary<int, int> { { 6, 3000 }, { 7, 5000 }, { 8, 8000 }, { 9, 13000 } } },
|
||||
};
|
||||
int Get_Star_UpgradeMatCost(int star, int grade)
|
||||
{
|
||||
|
|
@ -70,13 +71,22 @@ public class CollectionRelicUI : PCUIMenu
|
|||
|
||||
var maxlv = table_relicupgradecost.Ins.Get_MaxLv();
|
||||
var lv = ServerInfo.Ins.m_ServerData.Get_RelicLv(m_SelectRelicData.n_RelicID);
|
||||
var upgradeData = table_relicupgradecost.Ins.Get_Data(lv);
|
||||
money_lv[0].Set(m_SelectRelicData.n_RelicID, (int)sdata.Get_ItemAmount(m_SelectRelicData.n_RelicID),
|
||||
upgradeData.n_RequirePiece);
|
||||
money_lv[1].Set(lvup_matID, (int)sdata.Get_ItemAmount(lvup_matID), Get_Star_UpgradeMatCost(star, grade));
|
||||
gos_noti[1].SetActive(star > 0 && lv < maxlv &&
|
||||
sdata.Get_ItemAmount(m_SelectRelicData.n_RelicID) >= upgradeData.n_RequirePiece &&
|
||||
sdata.Get_ItemAmount(lvup_matID) >= Get_Star_UpgradeMatCost(star, grade));
|
||||
if (maxlv > lv)
|
||||
{
|
||||
var upgradeData = table_relicupgradecost.Ins.Get_Data(lv);
|
||||
money_lv[0].Set(m_SelectRelicData.n_RelicID, (int)sdata.Get_ItemAmount(m_SelectRelicData.n_RelicID),
|
||||
upgradeData.Get_Price(grade));
|
||||
money_lv[1].Set(lvup_matID, (int)sdata.Get_ItemAmount(lvup_matID), Get_Star_UpgradeMatCost(star, grade));
|
||||
gos_noti[1].SetActive(star > 0 && lv < maxlv &&
|
||||
sdata.Get_ItemAmount(m_SelectRelicData.n_RelicID) >= upgradeData.Get_Price(grade) &&
|
||||
sdata.Get_ItemAmount(lvup_matID) >= Get_Star_UpgradeMatCost(star, grade));
|
||||
}
|
||||
else
|
||||
{
|
||||
money_lv[0].Set(m_SelectRelicData.n_RelicID, (int)sdata.Get_ItemAmount(m_SelectRelicData.n_RelicID), 0);
|
||||
money_lv[1].Set(lvup_matID, (int)sdata.Get_ItemAmount(lvup_matID), 0);
|
||||
gos_noti[1].SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
bool CanUp()
|
||||
|
|
@ -124,19 +134,22 @@ public class CollectionRelicUI : PCUIMenu
|
|||
var star = sdata.Get_RelicStar(m_SelectRelicData.n_RelicID);
|
||||
var lvup_matID = table_GlobalValue.Ins.Get_Int("n_RelicReinforceMaterialID");
|
||||
var upgradeData = table_relicupgradecost.Ins.Get_Data(lv);
|
||||
var requirepiece = upgradeData.n_RequirePiece;
|
||||
var requirepiece = upgradeData.Get_Price(grade);
|
||||
var requirelvupmat = Get_Star_UpgradeMatCost(star, grade);
|
||||
if (sdata.Check_ItemAmount(m_SelectRelicData.n_RelicID, requirepiece) &&
|
||||
sdata.Check_ItemAmount(lvup_matID, requirelvupmat))
|
||||
{
|
||||
sdata.Use_Item(m_SelectRelicData.n_RelicID, requirepiece);
|
||||
sdata.Use_Item(lvup_matID, requirelvupmat);
|
||||
sdata.Add_RelicLv(m_SelectRelicData.n_RelicID);
|
||||
Set();
|
||||
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||
ServerInfo.Ins.Save_Relic_LvUp(m_SelectRelicData.n_RelicID, () =>
|
||||
{
|
||||
sdata.Use_Item(m_SelectRelicData.n_RelicID, requirepiece);
|
||||
sdata.Use_Item(lvup_matID, requirelvupmat);
|
||||
sdata.Add_RelicLv(m_SelectRelicData.n_RelicID);
|
||||
Set();
|
||||
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
||||
|
||||
sdata.Add_MissionCount(ePurpose.UPGRADE_RELIC_ALL, m_SelectRelicData.n_RelicID);
|
||||
sdata.Add_MissionCount(ePurpose.UPGRADE_RELIC_LIMIT, m_SelectRelicData.n_RelicID);
|
||||
sdata.Add_MissionCount(ePurpose.UPGRADE_RELIC_ALL, m_SelectRelicData.n_RelicID);
|
||||
sdata.Add_MissionCount(ePurpose.UPGRADE_RELIC_LIMIT, m_SelectRelicData.n_RelicID);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue