diff --git a/Maple2.Server.Game/Manager/MasteryManager.cs b/Maple2.Server.Game/Manager/MasteryManager.cs index 7c772bb4d..b71c01d25 100644 --- a/Maple2.Server.Game/Manager/MasteryManager.cs +++ b/Maple2.Server.Game/Manager/MasteryManager.cs @@ -1,4 +1,5 @@ -using System.Numerics; +using System.Diagnostics; +using System.Numerics; using Maple2.Model.Enum; using Maple2.Model.Error; using Maple2.Model.Game; @@ -80,7 +81,11 @@ public int this[MasteryType type] { session.Send(MasteryPacket.UpdateMastery(type, session.Mastery[type])); int currentLevel = GetLevel(type); if (startLevel < currentLevel || startValue == 0) { - session.ConditionUpdate(ConditionType.mastery_grade, codeLong: (int) type); + if (type == MasteryType.Fishing) { + session.ConditionUpdate(ConditionType.fisher_grade, codeLong: currentLevel); + } else { + session.ConditionUpdate(ConditionType.mastery_grade, codeLong: (int) type); + } } if (startLevel > currentLevel) { session.ConditionUpdate(ConditionType.set_mastery_grade, codeLong: (int) type); diff --git a/Maple2.Server.Game/Util/ConditionUtil.cs b/Maple2.Server.Game/Util/ConditionUtil.cs index 40483c17f..fb753fb6c 100644 --- a/Maple2.Server.Game/Util/ConditionUtil.cs +++ b/Maple2.Server.Game/Util/ConditionUtil.cs @@ -59,6 +59,7 @@ private static bool CheckCode(this ConditionMetadata.Parameters code, GameSessio break; case ConditionType.map: case ConditionType.fish: + case ConditionType.fisher_grade: case ConditionType.mastery_grade: case ConditionType.set_mastery_grade: case ConditionType.item_add: @@ -265,6 +266,7 @@ private static bool CheckTarget(this ConditionMetadata.Parameters target, GameSe case ConditionType.fish_fail: case ConditionType.fish_collect: case ConditionType.fish_goldmedal: + case ConditionType.fisher_grade: case ConditionType.mastery_grade: case ConditionType.set_mastery_grade: case ConditionType.music_play_grade: