public override void Act(Battle battle, UnitsStack stack, params UnitsStack[] stacks) { if (!Validate(battle, stack, stacks)) { throw new InvalidDataException("Not allowed action"); } foreach (var enemy in stacks) { Hit(stack, enemy); } foreach (var enemy in stacks.Where(enemy => CanRetaliate(stack, enemy))) { Hit(enemy, stack); enemy.AddTemporaryModifier(new AlreadyRetaliate(), new TurnModifierChecker(1)); } stack.AddTemporaryModifier(new AlreadyAct(), new TurnModifierChecker(1)); }
public override void Act(Battle battle, UnitsStack stack, params UnitsStack[] stacks) => stack.AddTemporaryModifier(new Modifiers.AlreadyWait(), new TurnModifierChecker(1));
public override void Act(Battle battle, UnitsStack stack, params UnitsStack[] stacks) { throw new System.NotImplementedException(); stack.AddTemporaryModifier(new AlreadyAct(), new TurnModifierChecker(1)); }