Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
 protected override GameAction[] Actions(ForefrontCard target)
 {
     return(new GameAction[] {
         new DrawRandom(Chief),
         new HealDamage(2, Card, Chief.Cards.GetHq())
     });
 }
Ejemplo n.º 3
0
        public HealDamage(int value, Card source, ForefrontCard target)
        {
            Value  = value;
            Source = source;
            Target = target;

            Modifier = new Modifier(Property.damage);
        }
Ejemplo n.º 4
0
 internal void AddFightAction(GameAction action, ForefrontCard card)
 {
     _actions.Add(action);
     _cards.Add(card);
 }
Ejemplo n.º 5
0
 public Deployed(ForefrontCard card, Cell cell)
 {
     Card = card;
     Cell = cell;
 }
Ejemplo n.º 6
0
 protected override GameAction[] Actions(ForefrontCard target)
 {
     return(new GameAction[] { new DealDamage(5, Card, target) });
 }
Ejemplo n.º 7
0
 public NonLethal(int value, Card source, ForefrontCard target) : base(value, source, target)
 {
 }
Ejemplo n.º 8
0
 protected abstract GameAction[] Actions(ForefrontCard target);
Ejemplo n.º 9
0
 public GameAction[] GetActions(ForefrontCard target)
 {
     return(Actions(target));
 }