From 73f80b9e05e1a05e9bca6df01db44d324e5309c5 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 20 Jan 2023 11:01:06 +0100 Subject: [PATCH] feat(game): remove primary and secondary skill from OtherSkills, add AllSkills --- Core/NosSmooth.Game/Data/Characters/Skills.cs | 8 +++++++- .../PacketHandlers/Skills/PlayerSkillResponder.cs | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Core/NosSmooth.Game/Data/Characters/Skills.cs b/Core/NosSmooth.Game/Data/Characters/Skills.cs index 35a845e..e6be355 100644 --- a/Core/NosSmooth.Game/Data/Characters/Skills.cs +++ b/Core/NosSmooth.Game/Data/Characters/Skills.cs @@ -17,4 +17,10 @@ public record Skills Skill PrimarySkill, Skill SecondarySkill, IReadOnlyList OtherSkills -); \ No newline at end of file +) +{ + /// + /// Gets all skills contained in this collection. + /// + public IEnumerable AllSkills => new[] { PrimarySkill, SecondarySkill }.Concat(OtherSkills); +} \ No newline at end of file diff --git a/Core/NosSmooth.Game/PacketHandlers/Skills/PlayerSkillResponder.cs b/Core/NosSmooth.Game/PacketHandlers/Skills/PlayerSkillResponder.cs index a7738b3..498c2a3 100644 --- a/Core/NosSmooth.Game/PacketHandlers/Skills/PlayerSkillResponder.cs +++ b/Core/NosSmooth.Game/PacketHandlers/Skills/PlayerSkillResponder.cs @@ -94,6 +94,7 @@ public class PlayerSkillResponder : IPacketResponder otherSkillsFromCharacter.Add(await CreateSkill(newSkill, default)); } + otherSkillsFromCharacter.RemoveAll(x => x.SkillVNum == primarySkill.SkillVNum || x.SkillVNum == secondarySkill.SkillVNum); skills = new Data.Characters.Skills(primarySkill, secondarySkill, otherSkillsFromCharacter); await _game.CreateOrUpdateSkillsAsync -- 2.49.0