using Wizard; public class SkillConditionAttachingAbility : ISkillConditionChecker { private SkillFilterCreator.ContentKeyword _keyword; public SkillConditionAttachingAbility(SkillFilterCreator.ContentKeyword keyword) { _keyword = keyword; } public bool IsRight(BattlePlayerReadOnlyInfoPair playerInfoPair, SkillConditionCheckerOption option, bool PreexecutionCheck = false) { if (option.AttachingAbility.Skill == null) { return false; } if (option.AttachingAbility.Skill.OnWhenChangeInPlay != 0 && option.AttachingAbility.Skill.IsAttachedSkill && !option.AttachingAbility.Skill.IsAttachedInplaySkill) { return false; } return _keyword switch { SkillFilterCreator.ContentKeyword.guard => option.AttachingAbility.Skill is Skill_guard, SkillFilterCreator.ContentKeyword.rush => option.AttachingAbility.Skill is Skill_rush, SkillFilterCreator.ContentKeyword.quick => option.AttachingAbility.Skill is Skill_quick, _ => false, }; } public bool IsRightPrePlay(BattlePlayerReadOnlyInfoPair playerInfoPair, SkillConditionCheckerOption option, bool PreexecutionCheck = false) { return IsRight(playerInfoPair, option); } }