//0 = not dead, 1 = dead, 2 = overkill
 public int dealDamage(int damage, HearthstoneBoard board)
 {
     if (divineShield)
     {
         foreach (Card c in board.getBoardFromMinion(this))
         {
             c.performedAction(new DivineShieldLossAction(this), board);
         }
         divineShield = false;
         board.printDebugMessage("Damage taken: 0 (divine shield pop) on " + getReadableName(), HearthstoneBoard.OutputPriority.DAMAGES);
         return(0);
     }
     hp = hp - damage;
     board.printDebugMessage("Damage taken: " + damage + " on " + getReadableName(), HearthstoneBoard.OutputPriority.DAMAGES);
     performedAction(new DamageTakenAction(), board);
     if (hp <= 0)
     {
         board.addToPendingDeath(this);
         if (hp < 0)
         {
             return(2);
         }
         else
         {
             return(1);
         }
     }
     return(0);
 }