using System.Collections.Generic; using Continentis.MainGame.Base; using Continentis.MainGame.Card; using Continentis.MainGame.Character; using Continentis.MainGame.Commands; using SLSUtilities.General; namespace Continentis.Mods.Basic.Cards { /// /// 初级侦测术:移除目标的 DodgeRemoveAmount 点闪避。 /// public class BasicDetection : CardLogicBase { public override CommandGroup PlayEffect(List targetList) { return ForEachTarget(targetList, target => Cmd.Parallel( new Cmd_PlayAnimation(user.characterView, "Action"), Cmd.Do(() => { int amount = GetAttribute("DodgeRemoveAmount"); int currentDodge = target.GetAttribute(CharacterAttributes.Dodge); int removeAmount = UnityEngine.Mathf.Min(amount, currentDodge); if (removeAmount > 0) { target.ModifyAttribute(CharacterAttributes.Dodge, -removeAmount); target.characterView.hudContainer.UpdateAllHUD(); } }) )); } } }