public Status Validate(ForefrontCard target) { if (!Chief.IsTurnOwner()) { return(Status.NotTurnOfSource); } if (!Card.GetLocation().IsReserve()) { return(Status.NotAtReserve); } if (!Card.Abilities.Has <SpecificAbility>()) { return(Status.NoSpecificAbility); } var ability = GetSpecificAbility(); if (target == null && NoValidTargets()) { return(Status.NoValidTargets); } if (target != null && !CanActivateOn(target)) { return(Status.TargetIsInvalid); } return(PayResources.ForCard(Card).Validation()); }
protected override GameAction[] Actions(ForefrontCard target) { return(new GameAction[] { new DrawRandom(Chief), new HealDamage(2, Card, Chief.Cards.GetHq()) }); }
public HealDamage(int value, Card source, ForefrontCard target) { Value = value; Source = source; Target = target; Modifier = new Modifier(Property.damage); }
internal void AddFightAction(GameAction action, ForefrontCard card) { _actions.Add(action); _cards.Add(card); }
public Deployed(ForefrontCard card, Cell cell) { Card = card; Cell = cell; }
protected override GameAction[] Actions(ForefrontCard target) { return(new GameAction[] { new DealDamage(5, Card, target) }); }
public NonLethal(int value, Card source, ForefrontCard target) : base(value, source, target) { }
protected abstract GameAction[] Actions(ForefrontCard target);
public GameAction[] GetActions(ForefrontCard target) { return(Actions(target)); }