Ejemplo n.º 1
0
    public override void doAction(Action cause, Card user, HearthstoneBoard board, List <Card> alwaysUse)
    {
        board.printDebugMessage("Performing action: make extra summon: " + user, HearthstoneBoard.OutputPriority.EFFECTTRIGGERS);
        BoardSide userboard = board.getBoardFromMinion(user);

        for (int i = 0; i < userboard.IndexOf(user); i++)
        {
            if (userboard[i].hasEffect(this))
            {
                return;
            }
        }
        if (current < 1)
        {
            current = count;
        }
        else
        {
            Card c = ((CardSpawnedAction)cause).spawnedCard();
            if (c == user)
            {
                return;
            }
            current--;
            board.printDebugMessage("khadgar effect used, count is now " + current, HearthstoneBoard.OutputPriority.INTENSEDEBUG);
            board.addNewMinionToBoard(board.getPlayerFromMinion(user), c.copy().setId(board.getRandomNumber(1, 9999)), board.getPositionFromMinion(c), true);
        }
    }
 public int getPositionFromMinion(Card c)
 {
     if (p1Board.Contains(c))
     {
         return(p1Board.IndexOf(c));
     }
     else if (p2Board.Contains(c))
     {
         return(p2Board.IndexOf(c));
     }
     else
     {
         throw new CardDoesNotExistException("getPositionFromMinion failed: card does not exist: " + c.ID);
     }
 }
Ejemplo n.º 3
0
    public override void doAction(Action cause, Card user, HearthstoneBoard board, List <Card> alwaysUse)
    {
        board.printDebugMessage("Double deathrattle on: " + ((CardKilledAction)cause).killedCard().getReadableName(), HearthstoneBoard.OutputPriority.EFFECTTRIGGERS);
        BoardSide userboard = board.getBoardFromMinion(user);

        for (int i = 0; i < userboard.IndexOf(user); i++)
        {
            if (userboard[i].hasEffect(this))
            {
                return;
            }
        }
        //Hack for making mal'ganis. Inte så snyggt men men
        if (((CardKilledAction)cause).killedCard().getName().Equals("Mal'Ganis"))
        {
            return;
        }


        for (int i = 0; i < times; i++)
        {
            ((CardKilledAction)cause).killedCard().performedAction(new DeadAction(), board);
        }
    }