diff --git a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js index 365f7daa3..6b0e775f3 100644 --- a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js +++ b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js @@ -122,6 +122,7 @@ handlers.Get_UserInfo = function (args) var NRU = readonlydata.Data.UserInfo ? false : true; var sec = 0; var urod = null; + var savedata = false; if (!NRU) { @@ -172,9 +173,16 @@ handlers.Get_UserInfo = function (args) } } - Set_JsonUserData(urod); + savedata = true; } } + else + { + savedata = true; + Make_EqiupmentEnchantOption(urod); + } + + if (savedata) Set_JsonUserData(urod); return Get_Return( Get_Error(readonlydata, args.Token), @@ -1557,6 +1565,27 @@ handlers.Save_EquipItem_SlotLvUpInit = function(args) } return Get_Return(1); } +function Make_EqiupmentEnchantOption(urod) +{ + var enchantable = Get_EnchantListTable(); + urod.EnchantOption = {}; + + for (var i = 0; i < enchantable.length; ++i) + Make_EqiupmentEnchantOption_perEnchant(urod, enchantable[i].n_EnchantID); +} +function Make_EqiupmentEnchantOption_perEnchant(urod, id) +{ + urod.EnchantOption[id] = { Index: 0, Option: [] }; + var s_enchant = urod.Enchant[id]; + + for (var j = 0; j < 100; ++j) + { + var grade = Get_RandomEnchantRateGrade(s_enchant[1]); + var olv = Get_OptionLv(grade); + var optionid = Get_EnchantOptionID(id); + urod.EnchantOption[id].Option.push({ id: optionid, lv: olv }); + } +} handlers.Save_EquipItem_Enchant = function(args) { var readonlydata = Get_UserReadOnlyData(); diff --git a/Assets/ResWork/Table/butler.xlsm b/Assets/ResWork/Table/butler.xlsm index c6008843a..11667b2fb 100644 Binary files a/Assets/ResWork/Table/butler.xlsm and b/Assets/ResWork/Table/butler.xlsm differ diff --git a/Assets/Script/Server/ServerClass.cs b/Assets/Script/Server/ServerClass.cs index 962843984..896ea6bdd 100644 --- a/Assets/Script/Server/ServerClass.cs +++ b/Assets/Script/Server/ServerClass.cs @@ -97,6 +97,7 @@ public partial class ServerData /// public Dictionary Shop = new Dictionary(); public SD_LimitBreakOption LimitBreakOption; + public Dictionary EnchantOption; public List Book; public List ChapterQuest; @@ -227,7 +228,6 @@ public partial class ServerData temp.Gacha = DSUtil.Get_T_Dic(Gacha); temp.Common = DSUtil.Get_T_List(Common); foreach (var item in Shop) temp.Shop.Add(item.Key, item.Value.Get()); - temp.LimitBreakOption = LimitBreakOption; temp.Book = new List(); for (int i = 0; i < Book.Count; i++) @@ -274,6 +274,7 @@ public class ServerData_Read public Dictionary>> Mission = new Dictionary>>(); public Dictionary Shop = new Dictionary(); public SD_LimitBreakOption LimitBreakOption; + public Dictionary EnchantOption; public List Book; public List ChapterQuest; @@ -331,6 +332,7 @@ public class ServerData_Read temp.Common = DSUtil.Get_T_List(Common); foreach (var item in Shop) temp.Shop.Add(item.Key, item.Value.Get()); temp.LimitBreakOption = LimitBreakOption; + temp.EnchantOption = EnchantOption; temp.Book = new List(); for (int i = 0; i < Book.Count; i++) @@ -3084,10 +3086,15 @@ public class SD_Shop_Read public class SD_LimitBreakOption { public List Preset; - public Dictionary> Option; + public Dictionary> Option; +} +public class SD_EquipItemEnchant +{ + public int Index; + public List Option; } [Serializable] -public class SD_LimitBreakOptionDetail +public class SD_OptionDetailData { public int id, lv; }