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); } }
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); } }