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);
|
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)
|
handlers.Save_Relic_StarUp = function(args)
|
||||||
{
|
{
|
||||||
var readonlydata = Get_UserReadOnlyData();
|
var readonlydata = Get_UserReadOnlyData();
|
||||||
|
|
@ -1645,14 +1657,7 @@ handlers.Save_Relic_StarUp = function(args)
|
||||||
5: 500
|
5: 500
|
||||||
};
|
};
|
||||||
|
|
||||||
const dic_starMat = {
|
var dic_starMat = Get_RelicMatAmount();
|
||||||
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 matID = Get_GlobalValue_nValue("n_RelicReinforceMaterialID");
|
var matID = Get_GlobalValue_nValue("n_RelicReinforceMaterialID");
|
||||||
var itemtable = Get_ItemTable();
|
var itemtable = Get_ItemTable();
|
||||||
|
|
@ -1672,6 +1677,50 @@ handlers.Save_Relic_StarUp = function(args)
|
||||||
return Get_Return(0);
|
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)
|
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);
|
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
|
#endregion
|
||||||
|
|
||||||
#region 우편
|
#region 우편
|
||||||
|
|
|
||||||
|
|
@ -11,44 +11,45 @@ public class RelicUpgradeCostTableData : TableDataBase
|
||||||
{
|
{
|
||||||
get { return _RelicLv; }
|
get { return _RelicLv; }
|
||||||
set { _RelicLv = value; _RelicLv.RandomizeCryptoKey(); }
|
set { _RelicLv = value; _RelicLv.RandomizeCryptoKey(); }
|
||||||
} // 유물 레벨
|
} // 유물 레벨
|
||||||
|
|
||||||
ObscuredInt _RequirePiece;
|
ObscuredInt _RequirePiece;
|
||||||
public int n_RequirePiece
|
public int n_RequirePiece
|
||||||
{
|
{
|
||||||
get { return _RequirePiece; }
|
get { return _RequirePiece; }
|
||||||
set { _RequirePiece = value; _RequirePiece.RandomizeCryptoKey(); }
|
set { _RequirePiece = value; _RequirePiece.RandomizeCryptoKey(); }
|
||||||
} // 요구 조각 수
|
} // 요구 조각 수
|
||||||
|
|
||||||
ObscuredInt _RequireGrade1;
|
ObscuredInt _RequireGrade1;
|
||||||
public int n_RequireGrade1
|
public int n_RequireGrade1
|
||||||
{
|
{
|
||||||
get { return _RequireGrade1; }
|
get { return _RequireGrade1; }
|
||||||
set { _RequireGrade1 = value; _RequireGrade1.RandomizeCryptoKey(); }
|
set { _RequireGrade1 = value; _RequireGrade1.RandomizeCryptoKey(); }
|
||||||
} // 요구 등급 1
|
} // 요구 등급 1
|
||||||
|
|
||||||
ObscuredInt _RequireGrade2;
|
ObscuredInt _RequireGrade2;
|
||||||
public int n_RequireGrade2
|
public int n_RequireGrade2
|
||||||
{
|
{
|
||||||
get { return _RequireGrade2; }
|
get { return _RequireGrade2; }
|
||||||
set { _RequireGrade2 = value; _RequireGrade2.RandomizeCryptoKey(); }
|
set { _RequireGrade2 = value; _RequireGrade2.RandomizeCryptoKey(); }
|
||||||
} // 요구 등급 2
|
} // 요구 등급 2
|
||||||
|
|
||||||
ObscuredInt _RequireGrade3;
|
ObscuredInt _RequireGrade3;
|
||||||
public int n_RequireGrade3
|
public int n_RequireGrade3
|
||||||
{
|
{
|
||||||
get { return _RequireGrade3; }
|
get { return _RequireGrade3; }
|
||||||
set { _RequireGrade3 = value; _RequireGrade3.RandomizeCryptoKey(); }
|
set { _RequireGrade3 = value; _RequireGrade3.RandomizeCryptoKey(); }
|
||||||
} // 요구 등급 3
|
} // 요구 등급 3
|
||||||
|
|
||||||
ObscuredInt _RequireGrade4;
|
ObscuredInt _RequireGrade4;
|
||||||
public int n_RequireGrade4
|
public int n_RequireGrade4
|
||||||
{
|
{
|
||||||
get { return _RequireGrade4; }
|
get { return _RequireGrade4; }
|
||||||
set { _RequireGrade4 = value; _RequireGrade4.RandomizeCryptoKey(); }
|
set { _RequireGrade4 = value; _RequireGrade4.RandomizeCryptoKey(); }
|
||||||
} // 요구 등급 4
|
} // 요구 등급 4
|
||||||
|
|
||||||
public Dictionary<int, int> dic_cost = new Dictionary<int, int>();
|
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
|
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 } } },
|
{ 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 } } },
|
{ 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 } } },
|
{ 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)
|
int Get_Star_UpgradeMatCost(int star, int grade)
|
||||||
{
|
{
|
||||||
|
|
@ -70,14 +71,23 @@ public class CollectionRelicUI : PCUIMenu
|
||||||
|
|
||||||
var maxlv = table_relicupgradecost.Ins.Get_MaxLv();
|
var maxlv = table_relicupgradecost.Ins.Get_MaxLv();
|
||||||
var lv = ServerInfo.Ins.m_ServerData.Get_RelicLv(m_SelectRelicData.n_RelicID);
|
var lv = ServerInfo.Ins.m_ServerData.Get_RelicLv(m_SelectRelicData.n_RelicID);
|
||||||
|
if (maxlv > lv)
|
||||||
|
{
|
||||||
var upgradeData = table_relicupgradecost.Ins.Get_Data(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),
|
money_lv[0].Set(m_SelectRelicData.n_RelicID, (int)sdata.Get_ItemAmount(m_SelectRelicData.n_RelicID),
|
||||||
upgradeData.n_RequirePiece);
|
upgradeData.Get_Price(grade));
|
||||||
money_lv[1].Set(lvup_matID, (int)sdata.Get_ItemAmount(lvup_matID), Get_Star_UpgradeMatCost(star, 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 &&
|
gos_noti[1].SetActive(star > 0 && lv < maxlv &&
|
||||||
sdata.Get_ItemAmount(m_SelectRelicData.n_RelicID) >= upgradeData.n_RequirePiece &&
|
sdata.Get_ItemAmount(m_SelectRelicData.n_RelicID) >= upgradeData.Get_Price(grade) &&
|
||||||
sdata.Get_ItemAmount(lvup_matID) >= Get_Star_UpgradeMatCost(star, 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()
|
bool CanUp()
|
||||||
{
|
{
|
||||||
|
|
@ -124,10 +134,12 @@ public class CollectionRelicUI : PCUIMenu
|
||||||
var star = sdata.Get_RelicStar(m_SelectRelicData.n_RelicID);
|
var star = sdata.Get_RelicStar(m_SelectRelicData.n_RelicID);
|
||||||
var lvup_matID = table_GlobalValue.Ins.Get_Int("n_RelicReinforceMaterialID");
|
var lvup_matID = table_GlobalValue.Ins.Get_Int("n_RelicReinforceMaterialID");
|
||||||
var upgradeData = table_relicupgradecost.Ins.Get_Data(lv);
|
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);
|
var requirelvupmat = Get_Star_UpgradeMatCost(star, grade);
|
||||||
if (sdata.Check_ItemAmount(m_SelectRelicData.n_RelicID, requirepiece) &&
|
if (sdata.Check_ItemAmount(m_SelectRelicData.n_RelicID, requirepiece) &&
|
||||||
sdata.Check_ItemAmount(lvup_matID, requirelvupmat))
|
sdata.Check_ItemAmount(lvup_matID, requirelvupmat))
|
||||||
|
{
|
||||||
|
ServerInfo.Ins.Save_Relic_LvUp(m_SelectRelicData.n_RelicID, () =>
|
||||||
{
|
{
|
||||||
sdata.Use_Item(m_SelectRelicData.n_RelicID, requirepiece);
|
sdata.Use_Item(m_SelectRelicData.n_RelicID, requirepiece);
|
||||||
sdata.Use_Item(lvup_matID, requirelvupmat);
|
sdata.Use_Item(lvup_matID, requirelvupmat);
|
||||||
|
|
@ -137,6 +149,7 @@ public class CollectionRelicUI : PCUIMenu
|
||||||
|
|
||||||
sdata.Add_MissionCount(ePurpose.UPGRADE_RELIC_ALL, 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);
|
sdata.Add_MissionCount(ePurpose.UPGRADE_RELIC_LIMIT, m_SelectRelicData.n_RelicID);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue