def _reveal(self, character, attacker, amount): if character.is_hero(): if character.health - amount <= 0: character.add_buff( SetTrue(CHARACTER_STATUS.IMMUNE, until=TurnEnded())) # TODO Check if this spell will also prevent damage to armor. super().reveal()
def create_minion(self, player): return Minion(2, 3, auras=[ Aura(SetTrue(PLAYER_STATUS.POWER_TARGETS_MINIONS), HeroSelector()) ])
def __init__(self): super().__init__("Cenarius", 9, CHARACTER_CLASS.DRUID, CARD_RARITY.LEGENDARY, choices=[ Choice(IncreaseStats(), Give([Add(CHARACTER_STATUS.ATTACK, 2), Add(CHARACTER_STATUS.HEALTH, 2), SetTrue(CHARACTER_STATUS.TAUNT)]), MinionSelector()), Choice(SummonTreants(), Summon(TauntTreant(), 2), PlayerSelector()) ])
def create_minion(self, player): return Minion(3, 5, auras=[ Aura(SetTrue(PLAYER_STATUS.HEAL_AS_DAMAGE), PlayerSelector()) ])
def create_minion(self, player): return Minion(2, 5, auras=[ Aura(SetTrue(CHARACTER_STATUS.NO_SPELL_TARGET), MinionSelector(Adjacent())) ])
def create_minion(self, player): return Minion(2, 5, charge=True, auras=[ Aura(SetTrue(CHARACTER_STATUS.CHARGE), MinionSelector(IsType(MINION_TYPE.BEAST))) ])
def __init__(self): super().__init__("Windspeaker", 4, CHARACTER_CLASS.SHAMAN, CARD_RARITY.COMMON, battlecry=Battlecry( Give(SetTrue(CHARACTER_STATUS.WINDFURY)), MinionSelector(picker=UserPicker())))
def __init__(self): super().__init__("Master of Disguise", 4, CHARACTER_CLASS.ROGUE, CARD_RARITY.RARE, battlecry=Battlecry( Give(SetTrue(CHARACTER_STATUS.STEALTH)), MinionSelector(picker=UserPicker())))
def create_minion(self, player): # TODO update Warsong commander post nerf return Minion(2, 3, effects=[ Effect( MinionPlaced(AttackLessThanOrEqualTo(3)), ActionTag(Give(SetTrue(CHARACTER_STATUS.CHARGE)), TargetSelector())) ])
def create_minion(self, player): return Minion(4, 1, effects=[ Effect( MinionSummoned(IsType(MINION_TYPE.PIRATE)), ActionTag( Give(SetTrue(CHARACTER_STATUS.STEALTH)), SelfSelector())) ])
def create_minion(self, player): return Minion(9, 7, auras=[ Aura(Add(CHARACTER_STATUS.ATTACK, 2), MinionSelector(IsType(MINION_TYPE.DEMON))), Aura(Add(CHARACTER_STATUS.HEALTH, 2), MinionSelector(IsType(MINION_TYPE.DEMON))), Aura(SetTrue(CHARACTER_STATUS.IMMUNE), HeroSelector()) ])
def __init__(self): super().__init__( "Alexstrasza's Champion", 2, CHARACTER_CLASS.WARRIOR, CARD_RARITY.RARE, battlecry=(Battlecry( Give([ Add(CHARACTER_STATUS.ATTACK, 1), SetTrue(CHARACTER_STATUS.CHARGE) ]), SelfSelector(), GreaterThan(Count( CardSelector(condition=IsType(MINION_TYPE.DRAGON))), value=0))))
def __init__(self): super().__init__("Houndmaster", 4, CHARACTER_CLASS.HUNTER, CARD_RARITY.FREE, minion_type=MINION_TYPE.NONE, battlecry=Battlecry( Give([ Add(CHARACTER_STATUS.HEALTH, 2), Add(CHARACTER_STATUS.ATTACK, 2), SetTrue(CHARACTER_STATUS.TAUNT) ]), MinionSelector(IsType(MINION_TYPE.BEAST), picker=UserPicker())))
def use(self, player, game): super().use(player, game) minion = self.target.copy(player) minion.active = True minion.exhausted = False # What happens if there are already 7 minions? self.target.remove_from_board() minion.add_to_board(len(player.minions)) # When silenced, the minion should immediately come back to its previous # owner. See https://twitter.com/bdbrode/status/510251195173470208 minion.add_buff(SetTrue(CHARACTER_STATUS.STOLEN, until=TurnEnded()))
def create_minion(self, player): return Minion(0, 5, buffs=[SetTrue(CHARACTER_STATUS.ATTACK_EQUALS_HEALTH)])
def __init__(self): super().__init__("Ancient of War", 7, CHARACTER_CLASS.DRUID, CARD_RARITY.EPIC, choices=[ Choice(Health(), Give([Add(CHARACTER_STATUS.HEALTH, 5), SetTrue(CHARACTER_STATUS.TAUNT)]), SelfSelector()), Choice(Attack(), Give([Add(CHARACTER_STATUS.ATTACK, 5)]), SelfSelector()), ])
def use(self, player, game): super().use(player, game) self.target.add_buff( SetTrue(CHARACTER_STATUS.IMMUNE, until=TurnEnded())) self.target.change_temp_attack(2)
def __init__(self): super().__init__("Argent Protector", 2, CHARACTER_CLASS.PALADIN, CARD_RARITY.COMMON, battlecry=Battlecry(Give(SetTrue(CHARACTER_STATUS.DIVINE_SHIELD)), MinionSelector()))
def use(self, player, game): super().use(player, game) for minion in player.minions: if not minion.stealth: minion.add_buff(SetTrue(CHARACTER_STATUS.STEALTH, until=TurnStarted()))
def create_minion(self, player): return Minion(6, 3, effects=[Effect(MinionSummoned(IsType(MINION_TYPE.MECH)), ActionTag(SetTrue(CHARACTER_STATUS.DIVINE_SHIELD), SelfSelector()))])
def use(self, player, game): super().use(player, game) self.target.add_buff(SetTrue(CHARACTER_STATUS.WINDFURY))
def use(self, player, game): super().use(player, game) self.target.add_buff( SetTrue(CHARACTER_STATUS.STEALTH, until=TurnStarted()))