diff --git a/Assets/ResWork/Table/butler.xlsm b/Assets/ResWork/Table/butler.xlsm index 5af31d25e..fac15f8ab 100644 Binary files a/Assets/ResWork/Table/butler.xlsm and b/Assets/ResWork/Table/butler.xlsm differ diff --git a/Assets/Script/Info/ADInfo.cs b/Assets/Script/Info/ADInfo.cs index 23489e761..01aa8d412 100644 --- a/Assets/Script/Info/ADInfo.cs +++ b/Assets/Script/Info/ADInfo.cs @@ -122,7 +122,7 @@ public class ADInfo : MonoBehaviour //MobileAds.SetiOSAppPauseOnBackground(false); Action_success?.Invoke(); var sdata = ServerInfo.Ins.m_ServerData; - sdata.Add_MissionCount(ePurpose.WATCH_AD); + sdata.Add_MissionCount(ePurpose.WATCH_AD_ALL); sdata.Add_MissionCount(ePurpose.WATCH_AD_ACC); break; case 2: diff --git a/Assets/Script/Info/InGameInfo.cs b/Assets/Script/Info/InGameInfo.cs index 1f9cf83e4..62c28635f 100644 --- a/Assets/Script/Info/InGameInfo.cs +++ b/Assets/Script/Info/InGameInfo.cs @@ -175,7 +175,7 @@ public partial class InGameInfo : MyCoroutine MyValue.MyChoiceMapData.n_MapID = id; var Tdata = table_battlemapconfig.Ins.Get_Data(MyValue.MyChoiceMapData.n_MapID); m_GameMode = Tdata.e_MapType; - ServerInfo.Ins.m_ServerData.Add_MissionCount(ePurpose.MOVE_MAP, id); + ServerInfo.Ins.m_ServerData.Add_MissionCount(ePurpose.ARRIVAL_MAP_LIMIT, id); m_SceneInfo.Load_AddScene(Tdata, () => { StartCam(); diff --git a/Assets/Script/Server/ServerClass.cs b/Assets/Script/Server/ServerClass.cs index 48e72fd5f..cc86bbcff 100644 --- a/Assets/Script/Server/ServerClass.cs +++ b/Assets/Script/Server/ServerClass.cs @@ -1076,13 +1076,22 @@ public partial class ServerData } } } + public void Add_MissionCompletCount(int group) + { + var completeData = table_missionlist.Ins.Get_CompleteData(group); + var key1 = Get_Key(group); + var key2 = Get_Key(completeData.n_MissionIndex); + if (!Mission.ContainsKey(key1)) Mission.Add(key1, new Dictionary>()); + if (!Mission[key1].ContainsKey(key2)) Mission[key1].Add(key2, new List { 0, 0 }); + ++Mission[key1][key2][1]; + Mission[key1][key2][1].RandomizeCryptoKey(); + } public int Get_MissionCount(int group, int _id) { var data = table_missionlist.Ins.Get_Data_orNull(group, _id); switch (data.e_MissionConditionType) { - case ePurpose.ACCOUNT_LEVEL_UP: - case ePurpose.ACCOUNT_LEVEL_UP_LIMIT: + case ePurpose.HERO_LEVEL_ACC: return PC.Lv; case ePurpose.CHECK_PLAYTIME: @@ -1855,10 +1864,13 @@ public partial class ServerData } Add_MissionCount(ePurpose.TAKE_GOODS, id, (int)amount); - Add_MissionCount(ePurpose.GET_EQUIPEMENT, id, (int)amount); - Add_MissionCount(ePurpose.GET_EQUIPEMENT_ALL, id, (int)amount); - Add_MissionCount(ePurpose.GET_SKILL, id, (int)amount); - Add_MissionCount(ePurpose.GET_SKILL_ALL, id, (int)amount); + Add_MissionCount(ePurpose.GET_EQUIP_ITEM_ALL, id, (int)amount); + Add_MissionCount(ePurpose.GET_EQUIP_ITEM_GRADE_ACC, itemdata.n_ItemGrade, (int)amount); + if (itemdata.e_ItemType == eItem.Relic) + { + Add_MissionCount(ePurpose.TAKE_RELIC_ALL, id, (int)amount); + Add_MissionCount(ePurpose.TAKE_RELIC_GRADE_ACC, itemdata.n_ItemGrade, (int)amount); + } } public void Use_Item(int id, double amount) { diff --git a/Assets/Script/Table/Mission/table_missionlist.cs b/Assets/Script/Table/Mission/table_missionlist.cs index d4cbe5c10..40ee3ffad 100644 --- a/Assets/Script/Table/Mission/table_missionlist.cs +++ b/Assets/Script/Table/Mission/table_missionlist.cs @@ -102,7 +102,7 @@ public class table_missionlist : table_missionbase { case ePurpose.DAILY_MISSION_CLEAR_ALL: case ePurpose.WEEKLY_MISSION_CLEAR_ALL: - case ePurpose.ACHIEVEMENT_CLEAR_ALL: + case ePurpose.ACHIEVEMENT_CLEAR_ACC: dic_Completedata.Add(temp.n_MissionGroupId, temp); break; default: diff --git a/Assets/Script/UI/Collection/Relic/CollectionRelicUI.cs b/Assets/Script/UI/Collection/Relic/CollectionRelicUI.cs index cded76971..6ec42321a 100644 --- a/Assets/Script/UI/Collection/Relic/CollectionRelicUI.cs +++ b/Assets/Script/UI/Collection/Relic/CollectionRelicUI.cs @@ -104,8 +104,8 @@ public class CollectionRelicUI : PCUIMenu Set(); MyValue.Get_ActorStatInfoorNull(eRole.PC); - sdata.Add_MissionCount(ePurpose.RELIC_TAKE, m_SelectRelicData.n_RelicID); - sdata.Add_MissionCount(ePurpose.RELIC_TAKE_ALL); + sdata.Add_MissionCount(ePurpose.AWAKEN_RELIC_ALL, m_SelectRelicData.n_RelicID); + sdata.Add_MissionCount(ePurpose.AWAKEN_RELIC_LIMIT, m_SelectRelicData.n_RelicID); } } @@ -131,9 +131,8 @@ public class CollectionRelicUI : PCUIMenu Set(); MyValue.Get_ActorStatInfoorNull(eRole.PC); - sdata.Add_MissionCount(ePurpose.RELIC_UPGRADE, m_SelectRelicData.n_RelicID); - sdata.Add_MissionCount(ePurpose.RELIC_UPGRADE_ALL); - sdata.Add_MissionCount(ePurpose.RELIC_UPGRADE_LIMIT_ALL); + sdata.Add_MissionCount(ePurpose.UPGRADE_RELIC_ALL, m_SelectRelicData.n_RelicID); + sdata.Add_MissionCount(ePurpose.UPGRADE_RELIC_LIMIT, m_SelectRelicData.n_RelicID); } } } diff --git a/Assets/Script/UI/Eqiupment/EquipmentPopup_Obtain.cs b/Assets/Script/UI/Eqiupment/EquipmentPopup_Obtain.cs index cc4bd1c07..3cc64ca65 100644 --- a/Assets/Script/UI/Eqiupment/EquipmentPopup_Obtain.cs +++ b/Assets/Script/UI/Eqiupment/EquipmentPopup_Obtain.cs @@ -83,7 +83,15 @@ public class EquipmentPopup_Obtain : EquipmentPopupBase MyValue.MyPC.Change_Weapon(); MyValue.Get_ActorStatInfoorNull(eRole.PC); - sdata.Add_MissionCount(ePurpose.EQUIPEMENT_MOUNT_ALL); + switch (m_Data.e_EquipParts) + { + case eItem.Weapon: sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_MOUNT_PARTS_LIMIT, 1); break; + case eItem.Armor: sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_MOUNT_PARTS_LIMIT, 2); break; + case eItem.Helmet: sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_MOUNT_PARTS_LIMIT, 3); break; + case eItem.Extra: sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_MOUNT_PARTS_LIMIT, 4); break; + case eItem.Ring: sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_MOUNT_PARTS_LIMIT, 5); break; + case eItem.Necklace: sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_MOUNT_PARTS_LIMIT, 6); break; + } } } } @@ -104,8 +112,8 @@ public class EquipmentPopup_Obtain : EquipmentPopupBase if (success) { - sdata.Add_MissionCount(ePurpose.EQUIPEMENT_UPGRADE_ALL); - sdata.Add_MissionCount(ePurpose.EQUIPEMENT_UPGRADE_LIMIT_ALL); + sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_ENCHANT_ALL); + sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_ENCHANT_ACC); } }); } @@ -122,6 +130,8 @@ public class EquipmentPopup_Obtain : EquipmentPopupBase ToastUI.Ins.Set(174, $"분해해서 {m_Data.n_DecompositionReward} 아이템 {m_Data.n_DecompositionCount * m_DecompAmount} 개 획득"); Set_Decompostion(0); Set_SmeltingUI(); + sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_DISTROY_ALL); + sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_DISTROY_ACC); } } public void OnClick_Slider(int add) diff --git a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Maze.cs b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Maze.cs index 5463a32e0..03e9520f0 100644 --- a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Maze.cs +++ b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Maze.cs @@ -24,7 +24,6 @@ public class DungeonResult_Maze : DungeonResultBase } sdata.Add_MissionCount(ePurpose.CONTENTS_CLEAR, 2); - sdata.Add_MissionCount(ePurpose.CONTENTS_CLEAR_ALL); ServerInfo.Ins.Write(null, false); } } \ No newline at end of file diff --git a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Mimic.cs b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Mimic.cs index 9388c3e86..c4192ed73 100644 --- a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Mimic.cs +++ b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Mimic.cs @@ -33,7 +33,6 @@ public class DungeonResult_Mimic : DungeonResultBase sdata.Add_DungeonLv(eDungeon.d1_Mimic); sdata.Add_MissionCount(ePurpose.CONTENTS_CLEAR, 1); - sdata.Add_MissionCount(ePurpose.CONTENTS_CLEAR_ALL); } ServerInfo.Ins.Write(null); diff --git a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Nightmare.cs b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Nightmare.cs index c27417463..fb4e1ed69 100644 --- a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Nightmare.cs +++ b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Nightmare.cs @@ -21,7 +21,6 @@ public class DungeonResult_Nightmare : DungeonResultBase var sdata = ServerInfo.Ins.m_ServerData; sdata.Add_MissionCount(ePurpose.CONTENTS_CLEAR, 3); - sdata.Add_MissionCount(ePurpose.CONTENTS_CLEAR_ALL); ServerInfo.Ins.Write(null, false); } } \ No newline at end of file diff --git a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Wave.cs b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Wave.cs index 6947b6fad..4235ef02b 100644 --- a/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Wave.cs +++ b/Assets/Script/UI/Ingame/Dungeon/DungeonResult_Wave.cs @@ -20,7 +20,6 @@ public class DungeonResult_Wave : DungeonResultBase } sdata.Add_MissionCount(ePurpose.CONTENTS_CLEAR, 4); - sdata.Add_MissionCount(ePurpose.CONTENTS_CLEAR_ALL); ServerInfo.Ins.Write(null); } } \ No newline at end of file diff --git a/Assets/Script/UI/Mission/MissionCard.cs b/Assets/Script/UI/Mission/MissionCard.cs index 35c86f069..f0f4eb26d 100644 --- a/Assets/Script/UI/Mission/MissionCard.cs +++ b/Assets/Script/UI/Mission/MissionCard.cs @@ -27,18 +27,13 @@ public class MissionCard : CardBase break; case ePurpose.TAKE_GOODS: case ePurpose.CONSUME_GOODS: - case ePurpose.GET_EQUIPEMENT: - case ePurpose.RELIC_TAKE: - case ePurpose.RELIC_UPGRADE: var item = table_itemlist.Ins.Get_Data(m_Data.n_MissionConditionValue); texts[0].text = DSUtil.Format(m_Data.n_MissionDesc, item.Get_Name()); break; - case ePurpose.MOVE_MAP: + case ePurpose.ARRIVAL_MAP_LIMIT: var map = table_battlemapconfig.Ins.Get_Data(m_Data.n_MissionConditionValue); texts[0].text = DSUtil.Format(m_Data.n_MissionDesc, map.Get_Name()); break; - case ePurpose.GET_SKILL: - case ePurpose.SKILL_UPGRADE: case ePurpose.SKILL_UPGRADE_LIMIT: var skill = table_skilllist.Ins.Get_Data_orNull(m_Data.n_MissionConditionValue); texts[0].text = DSUtil.Format(m_Data.n_MissionDesc, skill.Get_Name()); @@ -74,6 +69,7 @@ public class MissionCard : CardBase { sdata.Add_Item(m_Data.n_RewardValue, m_Data.n_RewardCount); sdata.Add_MissionLv(m_Data.n_MissionGroupId, m_Data.n_MissionIndex); + sdata.Add_MissionCompletCount(m_Data.n_MissionGroupId); Set_Complete(); } else diff --git a/Assets/Script/UI/Pet/PetUI_Left.cs b/Assets/Script/UI/Pet/PetUI_Left.cs index c9ae2c71d..dc0a123c4 100644 --- a/Assets/Script/UI/Pet/PetUI_Left.cs +++ b/Assets/Script/UI/Pet/PetUI_Left.cs @@ -87,7 +87,8 @@ public class PetUI_Left : UI3DModel } ObtainItemUI.Ins.Set(itemlst); + sdata.Add_MissionCount(ePurpose.GACHA_PET, 0, amount); + sdata.Add_MissionCount(ePurpose.GACHA_PET_ACC, 0, amount); sdata.Add_MissionCount(ePurpose.GACHA_ALL, 0, amount); - sdata.Add_MissionCount(ePurpose.GACHA_ACC, 0, amount); } } \ No newline at end of file diff --git a/Assets/Script/UI/Skill/SkillUI_SkillInfo.cs b/Assets/Script/UI/Skill/SkillUI_SkillInfo.cs index e85d55eee..3b028950e 100644 --- a/Assets/Script/UI/Skill/SkillUI_SkillInfo.cs +++ b/Assets/Script/UI/Skill/SkillUI_SkillInfo.cs @@ -73,10 +73,10 @@ public class SkillUI_SkillInfo : uScrollViewMgr Set_UI(); NewGameUI.Ins.m_SkillUI.Refresh_Money(); - sdata.Add_MissionCount(ePurpose.SKILL_UPGRADE, m_Data.n_SkillID); + //sdata.Add_MissionCount(ePurpose.SKILL_UPGRADE, m_Data.n_SkillID); sdata.Add_MissionCount(ePurpose.SKILL_UPGRADE_ALL, m_Data.n_SkillID); sdata.Add_MissionCount(ePurpose.SKILL_UPGRADE_LIMIT, m_Data.n_SkillID); - sdata.Add_MissionCount(ePurpose.SKILL_UPGRADE_LIMIT_ALL, m_Data.n_SkillID); + //sdata.Add_MissionCount(ePurpose.SKILL_UPGRADE_LIMIT_ALL, m_Data.n_SkillID); } } @@ -119,8 +119,8 @@ public class SkillUI_SkillInfo : uScrollViewMgr Set_UI(); NewGameUI.Ins.m_SkillUI.Refresh_Money(); - sdata.Add_MissionCount(ePurpose.SKILL_AWAKEN_ALL, m_Data.n_SkillID); - sdata.Add_MissionCount(ePurpose.SKILL_AWAKEN_LIMIT_ALL, m_Data.n_SkillID); + //sdata.Add_MissionCount(ePurpose.SKILL_AWAKEN_ALL, m_Data.n_SkillID); + //sdata.Add_MissionCount(ePurpose.SKILL_AWAKEN_LIMIT_ALL, m_Data.n_SkillID); } } diff --git a/Assets/Script/Util/MyEnum.cs b/Assets/Script/Util/MyEnum.cs index b5e0404c0..0f41fa486 100644 --- a/Assets/Script/Util/MyEnum.cs +++ b/Assets/Script/Util/MyEnum.cs @@ -280,61 +280,96 @@ public enum eAttendance { CanGetDay, DoY, Max } public enum ePurpose { KILL_MONSTER, + KILL_MONSTER_GRADE, + KILL_MONSTER_GRADE_ACC, KILL_MONSTER_ALL, KILL_MONSTER_ACC, TAKE_GOODS, + TAKE_GOODS_LIMIT, + TAKE_GOODS_ACC, CONSUME_GOODS, - MOVE_MAP, - MENU_OPEN, - ACCOUNT_LEVEL_UP, - ACCOUNT_LEVEL_UP_LIMIT, - MERGE_HERO, - MERGE_HERO_ACC, - GET_HERO, - UPGRADE_ABILITY, - UPGRADE_ABILITY_LIMIT, - UPGRADE_ABILITY_ALL, - UPGRADE_ABILITY_LIMIT_ALL, - GET_SKILL, - GET_SKILL_ALL, - SKILL_UPGRADE, - SKILL_UPGRADE_ALL, - SKILL_UPGRADE_LIMIT, - SKILL_UPGRADE_LIMIT_ALL, - SKILL_AWAKEN_ALL, - SKILL_AWAKEN_LIMIT_ALL, - GET_COMMANDER, - GET_EQUIPEMENT, - GET_EQUIPEMENT_ALL, - EQUIPEMENT_MOUNT_ALL, - EQUIPEMENT_UPGRADE_ALL, - EQUIPEMENT_UPGRADE_LIMIT_ALL, - EQUIPEMENT_AWAKEN_ALL, - EQUIPEMENT_AWAKEN_LIMIT_ALL, - ACHIEVEMENT_CLEAR_ALL, + CONSUME_GOODS_ACC, + ARRIVAL_MAP_LIMIT, + HERO_LEVEL_ACC, + HERO_STAT_UPGRADE_ACC, + HERO_ABILITY_UPGRADE_CLASS_LIMIT, + HERO_ABILITY_UPGRADE_ALL, + HERO_ABILITY_UPGRADE_ACC, + HERO_ABILITY_RESET_ACC, + CLASS_OPEN_LIMIT, + HERO_AWAKEN_ACC, + HERO_TRANSCENDENCE_ACC, + HERO_OPTION_CHANGE, + HERO_OPTION_CHANGE_ACC, + HERO_OPTION_CHANGE_SLOT_LIMIT, + GET_EQUIP_ITEM_ALL, + GET_EQUIP_ITEM_GRADE_ACC, + EQUIP_ITEM_UPGRADE_ALL, + EQUIP_ITEM_UPGRADE_ACC, + EQUIP_ITEM_UPGRADE_LIMIT, + EQUIP_ITEM_CRAFTING, + EQUIP_ITEM_CRAFTING_ACC, + EQUIP_ITEM_DISTROY_ALL, + EQUIP_ITEM_DISTROY_ACC, + EQUIP_ITEM_ENCHANT_ALL, + EQUIP_ITEM_ENCHANT_ACC, + EQUIP_SLOT_UPGRADE_ALL, + EQUIP_SLOT_UPGRADE_ACC, + USE_SKILL_ALL, + EQUIP_ITEM_MOUNT_PARTS_LIMIT, + ACHIEVEMENT_CLEAR_ACC, DAILY_MISSION_CLEAR_ALL, WEEKLY_MISSION_CLEAR_ALL, - RELIC_TAKE, - RELIC_TAKE_ALL, - RELIC_UPGRADE, - RELIC_UPGRADE_ALL, - RELIC_UPGRADE_LIMIT_ALL, - WATCH_AD, + TAKE_RELIC_ALL, + TAKE_RELIC_GRADE_ACC, + UPGRADE_RELIC_ALL, + UPGRADE_RELIC_LIMIT, + AWAKEN_RELIC_ALL, + AWAKEN_RELIC_LIMIT, + WATCH_AD_ALL, WATCH_AD_ACC, ATTENDANCE, ATTENDANCE_ACC, - GACHA_EQUIPEMENT, - GACHA_SKILL, - GACHA_RELIC, GACHA_ALL, - GACHA_ACC, + GACHA_EQUIP, + GACHA_EQUIP_ACC, + GACHA_PET, + GACHA_PET_ACC, + GACHA_SKILL, + GACHA_SKILL_ACC, + SKILL_UPGRADE_ALL, + SKILL_UPGRADE_LIMIT, BUY_PRODUCT, BUY_PRODUCT_ALL, - COMBATPOWER_LIMIT, + BUY_PAID_COUNT_ACC, + HERO_BASE_STAT_LIMIT, CHECK_PLAYTIME, CHECK_PLAYTIME_ACC, CONTENTS_CLEAR, - CONTENTS_CLEAR_ALL, + BATTLE_POWER_RANKING_LIMIT, + ACCOUNT_LEVEL_RANKING_LIMIT, + GET_ESSENCE_GRADE_ACC, + GET_ESSENCE_GRADE_ALL, + ESSENCE_EXCHANGE, + ESSENCE_EXCHANGE_ACC, + EQUIP_ENCYCLOPEDIA_REWARDS, + EQUIP_ENCYCLOPEDIA_REWARDS_ACC, + MONSTER_ENCYCLOPEDIA_REWARDS, + MONSTER_ENCYCLOPEDIA_REWARDS_ACC, + PET_UPGRADE_ALL, + PET_UPGRADE_ACC, + PET_MOUNT_LIMIT, + PLANTING_CROPS_GRADE_ALL, + PLANTING_CROPS_GRADE_ACC, + HARVESTING_CROPS_ALL, + HARVESTING_CROPS_ACC, + SHORTENING_CROP_HARVEST, + EAT_FRUIT_TYPE_ALL, + EAT_FRUIT_TYPE_ACC, + FARMER_EQUIPMENT_LIMIT, + FARMER_UPGRADE_ALL, + FARMER_UPGRADE_LIMIT, + FARM_EXPANSION_LIMIT, None }