예제 #1
0
 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++;
         }
     }
 }
예제 #2
0
 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");
     }
 }