Ejemplo n.º 1
0
 public override bool Cast(BoardTarget target, DeckManager manager)
 {
     if (manager.energy < cost)
     {
         manager.Alert("Not enough energy!");
         return(false);
     }
     if (target == null || target.unit == null)
     {
         manager.Alert("Invalid target!");
         return(false);
     }
     if (target.unit.team == manager)
     {
         manager.Alert("Target is friendly!");
         return(false);
     }
     if ((target.transform.localPosition - target.transform.parent.InverseTransformPoint(manager.transform.position)).sqrMagnitude > 1.8f)
     {
         manager.Alert("Target is too far away!");
         return(false);
     }
     if (damage < 0)
     {
         target.unit.Heal(-damage);
     }
     else
     {
         target.unit.Damage(damage);
     }
     manager.AddAtRandom(this);
     manager.energy -= cost;
     return(true);
 }