From cac7a68ec9eedcc461014282210159cd5e7c82bf Mon Sep 17 00:00:00 2001 From: Yang Chun Ung Date: Tue, 11 Aug 2020 17:55:48 +0900 Subject: [PATCH] Remove unused SubRecipeId - Remove UnlockStage of EquipmentItemSubRecipeSheet - Remove SubRecipeId of CombinationEquipmentQuestSheet - Remove useless serialized fields of EquipmentOptionRecipeView --- Lib9c/Action/CombinationEquipment.cs | 12 +----------- Lib9c/Model/Quest/CombinationEquipmentQuest.cs | 14 ++------------ Lib9c/Model/Quest/Quest.cs | 14 ++------------ .../TableData/Item/EquipmentItemSubRecipeSheet.cs | 12 +++++------- .../Quest/CombinationEquipmentQuestSheet.cs | 5 ----- 5 files changed, 10 insertions(+), 47 deletions(-) diff --git a/Lib9c/Action/CombinationEquipment.cs b/Lib9c/Action/CombinationEquipment.cs index 605b5dffdf..065a3a172a 100644 --- a/Lib9c/Action/CombinationEquipment.cs +++ b/Lib9c/Action/CombinationEquipment.cs @@ -158,16 +158,6 @@ public override IAccountStateDelta Execute(IActionContext context) ); } - // 서브 레시피 해금 검사. - if (!avatarState.worldInformation.IsStageCleared(subRecipe.UnlockStage)) - { - return LogError( - context, - "Aborted as the signer is not cleared the minimum stage level required to use the subrecipe {@SubRecipe} yet.", - subRecipe - ); - } - requiredBlockIndex += subRecipe.RequiredBlockIndex; requiredGold += subRecipe.RequiredGold; requiredActionPoint += subRecipe.RequiredActionPoint; @@ -244,7 +234,7 @@ public override IAccountStateDelta Execute(IActionContext context) requiredBlockIndex); result.id = mail.id; avatarState.Update(mail); - avatarState.questList.UpdateCombinationEquipmentQuest(RecipeId, SubRecipeId); + avatarState.questList.UpdateCombinationEquipmentQuest(RecipeId); avatarState.UpdateFromCombination(equipment); avatarState.UpdateQuestRewards(ctx); return states diff --git a/Lib9c/Model/Quest/CombinationEquipmentQuest.cs b/Lib9c/Model/Quest/CombinationEquipmentQuest.cs index 2ea40acb7f..8af5973500 100644 --- a/Lib9c/Model/Quest/CombinationEquipmentQuest.cs +++ b/Lib9c/Model/Quest/CombinationEquipmentQuest.cs @@ -12,13 +12,11 @@ public class CombinationEquipmentQuest : Quest { public readonly int RecipeId; public readonly int StageId; - public readonly int? SubRecipeId; public CombinationEquipmentQuest(QuestSheet.Row data, QuestReward reward, int stageId) : base(data, reward) { var row = (CombinationEquipmentQuestSheet.Row) data; RecipeId = row.RecipeId; - SubRecipeId = row.SubRecipeId; StageId = stageId; } @@ -26,10 +24,6 @@ public CombinationEquipmentQuest(Dictionary serialized) : base(serialized) { RecipeId = serialized["recipe_id"].ToInteger(); StageId = serialized["stage_id"].ToInteger(); - if (serialized.TryGetValue((Text) "sub_recipe_id", out var value)) - { - SubRecipeId = value.ToNullableInteger(); - } } //임시처리. 새 타입을 만들어서 위젯에 띄워줘야합니다. @@ -50,12 +44,12 @@ public override string GetProgressText() => Goal ); - public void Update(int recipeId, int? subRecipeId) + public void Update(int recipeId) { if (Complete) return; - if (recipeId == RecipeId && subRecipeId == SubRecipeId) + if (recipeId == RecipeId) { _current++; } @@ -69,10 +63,6 @@ public override IValue Serialize() [(Text) "recipe_id"] = RecipeId.Serialize(), [(Text) "stage_id"] = StageId.Serialize(), }; - if (SubRecipeId.HasValue) - { - dict[(Text) "sub_recipe_id"] = SubRecipeId.Serialize(); - } return new Dictionary(dict.Union((Dictionary) base.Serialize())); } } diff --git a/Lib9c/Model/Quest/Quest.cs b/Lib9c/Model/Quest/Quest.cs index ea0ab5434f..57ebbe17e3 100644 --- a/Lib9c/Model/Quest/Quest.cs +++ b/Lib9c/Model/Quest/Quest.cs @@ -211,16 +211,6 @@ EquipmentItemSubRecipeSheet equipmentItemSubRecipeSheet } stageId = recipeRow.UnlockStage; - if (row10.SubRecipeId.HasValue) - { - var subRow = equipmentItemSubRecipeSheet.Values - .FirstOrDefault(r => r.Id == row10.SubRecipeId); - if (subRow is null) - { - throw new ArgumentException($"Invalid Sub Recipe Id : {row10.SubRecipeId}"); - } - stageId = Math.Max(stageId, subRow.UnlockStage); - } quest = new CombinationEquipmentQuest(row10, reward, stageId); _quests.Add(quest); break; @@ -368,13 +358,13 @@ public void UpdateItemTypeCollectQuest(IEnumerable items) [(Text) "completedQuestIds"] = new List(completedQuestIds.Select(i => i.Serialize())) }); - public void UpdateCombinationEquipmentQuest(int recipeId, int? subRecipeId) + public void UpdateCombinationEquipmentQuest(int recipeId) { var targets = _quests.OfType() .Where(q => !q.Complete); foreach (var target in targets) { - target.Update(recipeId, subRecipeId); + target.Update(recipeId); } } diff --git a/Lib9c/TableData/Item/EquipmentItemSubRecipeSheet.cs b/Lib9c/TableData/Item/EquipmentItemSubRecipeSheet.cs index 920d59c966..f2fa57a61a 100644 --- a/Lib9c/TableData/Item/EquipmentItemSubRecipeSheet.cs +++ b/Lib9c/TableData/Item/EquipmentItemSubRecipeSheet.cs @@ -36,7 +36,6 @@ public class Row : SheetRow public int RequiredActionPoint { get; private set; } public long RequiredGold { get; private set; } public long RequiredBlockIndex { get; private set; } - public int UnlockStage { get; private set; } public List Materials { get; private set; } public List Options { get; private set; } public int MaxOptionLimit { get; private set; } @@ -47,27 +46,26 @@ public override void Set(IReadOnlyList fields) RequiredActionPoint = ParseInt(fields[1]); RequiredGold = ParseLong(fields[2]); RequiredBlockIndex = ParseInt(fields[3]); - UnlockStage = ParseInt(fields[4]); Materials = new List(); Options = new List(); for (var i = 0; i < 3; i++) { var offset = i * 2; - if (string.IsNullOrEmpty(fields[5 + offset]) || string.IsNullOrEmpty(fields[6 + offset])) + if (string.IsNullOrEmpty(fields[4 + offset]) || string.IsNullOrEmpty(fields[5 + offset])) continue; - Materials.Add(new MaterialInfo(ParseInt(fields[5 + offset]), ParseInt(fields[6 + offset]))); + Materials.Add(new MaterialInfo(ParseInt(fields[4 + offset]), ParseInt(fields[5 + offset]))); } for (var i = 0; i < 4; i++) { var offset = i * 2; - if (string.IsNullOrEmpty(fields[11 + offset]) || string.IsNullOrEmpty(fields[12 + offset])) + if (string.IsNullOrEmpty(fields[10 + offset]) || string.IsNullOrEmpty(fields[11 + offset])) continue; - Options.Add(new OptionInfo(ParseInt(fields[11 + offset]), ParseDecimal(fields[12 + offset]))); + Options.Add(new OptionInfo(ParseInt(fields[10 + offset]), ParseDecimal(fields[11 + offset]))); } - MaxOptionLimit = ParseInt(fields[19]); + MaxOptionLimit = ParseInt(fields[18]); } } diff --git a/Lib9c/TableData/Quest/CombinationEquipmentQuestSheet.cs b/Lib9c/TableData/Quest/CombinationEquipmentQuestSheet.cs index 0792ca4555..bd70f2cc11 100644 --- a/Lib9c/TableData/Quest/CombinationEquipmentQuestSheet.cs +++ b/Lib9c/TableData/Quest/CombinationEquipmentQuestSheet.cs @@ -11,16 +11,11 @@ public class CombinationEquipmentQuestSheet : Sheet fields) { base.Set(fields); RecipeId = ParseInt(fields[3]); - if (!string.IsNullOrEmpty(fields[4])) - { - SubRecipeId = ParseInt(fields[4]); - } } }