public void UseCard(CardInstance card, Target target) { if (card.numberOfUsesThisTurn < card.card.useLimit) { if (TargetingSystem.IsValid(card.card.validTargets, target, true)) { actionSystem.ExecuteAction(new AttackAction(target, card, -1)); card.numberOfUsesThisTurn++; } } }
public override void ActivateAbility(Action action, PassiveAbilityInstance instance) { Debug.Log("Blooooock!"); if (action is AttackAction) { CardInstance attacker = ((AttackAction)action).attacker; if (attacker.owner != instance.owner.owner) { Debug.Log("Block activated ------------"); ChangeTarget((AttackAction)action, instance.owner); if (canCounter) { if (actionSystem != null) { actionSystem.ExecuteAction(new AttackAction(attacker, instance.owner, counterPower)); } } } } else { throw new System.Exception("Invalid Action Exception - Block Ability can only handle AttackAction"); } }