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(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 create_minion(self, player): return Minion(4, 4, effects=[ Effect( CharacterDamaged(And(IsHero(), OwnersTurn())), ActionTag( Give([ Add(CHARACTER_STATUS.ATTACK, 2), Add(CHARACTER_STATUS.HEALTH, 2) ]), SelfSelector())) ])
def __init__(self): super().__init__("Core Rager", 4, CHARACTER_CLASS.HUNTER, CARD_RARITY.RARE, minion_type=MINION_TYPE.BEAST, battlecry=(Battlecry( Give([ Add(CHARACTER_STATUS.ATTACK, 3), Add(CHARACTER_STATUS.HEALTH, 3) ]), SelfSelector(), Not(GreaterThan(Count(CardSelector()), value=0)))))
def create_minion(self, player): return Minion(2, 4, effects=[ Effect( CardPlayed(HasOverload()), ActionTag(Give(Add(CHARACTER_STATUS.ATTACK, 1)), SelfSelector())), Effect( CardPlayed(HasOverload()), ActionTag(Give(Add(CHARACTER_STATUS.HEALTH, 1)), SelfSelector())) ])
def create_minion(self, player): return Minion(3, 3, effects=[ Effect( TurnEnded(HasSecret()), ActionTag(Give(Add(CHARACTER_STATUS.ATTACK, 2)), SelfSelector())), Effect( TurnEnded(HasSecret()), ActionTag(Give(Add(CHARACTER_STATUS.HEALTH, 2)), SelfSelector())) ])
def __init__(self): super().__init__( "Edwin VanCleef", 3, CHARACTER_CLASS.ROGUE, CARD_RARITY.LEGENDARY, battlecry=Battlecry( Give([ Add(CHARACTER_STATUS.ATTACK, Attribute("cards_played", PlayerSelector()), 2), Add(CHARACTER_STATUS.HEALTH, Attribute("cards_played", PlayerSelector()), 2) ]), SelfSelector()))
def create_minion(self, player): return Minion(2, 2, effects=[ Effect( MinionDied(IsType(MINION_TYPE.BEAST)), ActionTag(Give(Add(CHARACTER_STATUS.ATTACK, 2)), SelfSelector())), Effect( MinionDied(IsType(MINION_TYPE.BEAST)), ActionTag(Give(Add(CHARACTER_STATUS.HEALTH, 1)), SelfSelector())) ])
def __init__(self): super().__init__("Screwjank Clunker", 4, CHARACTER_CLASS.WARRIOR, CARD_RARITY.RARE, minion_type=MINION_TYPE.MECH, battlecry=Battlecry( Give([ Add(CHARACTER_STATUS.ATTACK, 2), Add(CHARACTER_STATUS.HEALTH, 2) ]), MinionSelector(IsType(MINION_TYPE.MECH), picker=UserPicker())))
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) self.target.change_attack(2) self.target.increase_health(4) self.target.add_aura( Aura(Add(PLAYER_STATUS.SPELL_DAMAGE, 1), PlayerSelector()))
def create_minion(self, player): return Minion(1, 1, auras=[ Aura(Add(CHARACTER_STATUS.ATTACK, 1), MinionSelector(IsType(MINION_TYPE.BEAST))) ])
def create_minion(self, player): return Minion(0, 3, auras=[ Aura(Add(CHARACTER_STATUS.ATTACK, 2), MinionSelector(Adjacent())) ])
def __init__(self): super().__init__("Temple Enforcer", 6, CHARACTER_CLASS.PRIEST, CARD_RARITY.COMMON, battlecry=Battlecry( Give(Add(CHARACTER_STATUS.HEALTH, 3)), MinionSelector(picker=UserPicker())))
def __init__(self): super().__init__( "Void Terror", 3, CHARACTER_CLASS.WARLOCK, CARD_RARITY.RARE, minion_type=MINION_TYPE.DEMON, battlecry=(Battlecry( Give([ Add( CHARACTER_STATUS.ATTACK( Attribute("attack", MinionSelector(Adjacent())))), Add( CHARACTER_STATUS.HEALTH( Attribute("health", MinionSelector(Adjacent())))) ]), SelfSelector()), Battlecry(Kill(), MinionSelector(Adjacent()))))
def create_minion(self, player): return Minion(1, 3, effects=[ Effect( SpellCast(), ActionTag(Give(Add(CHARACTER_STATUS.ATTACK, 1)), SelfSelector())) ])
def use(self, player, game): super().use(player, game) player.weapon.base_attack += 3 player.hero.change_temp_attack(3) if player.cards_played > 0: targets = hearthbreaker.targeting.find_friendly_minion_battlecry_target(player.game, lambda x: x) if targets is not None: target = player.game.random_choice(targets) target.add_buff(Add(CHARACTER_STATUS.ATTACK, 3))
def __init__(self): super().__init__("Metaltooth Leaper", 3, CHARACTER_CLASS.HUNTER, CARD_RARITY.RARE, minion_type=MINION_TYPE.MECH, battlecry=Battlecry( Give(Add(CHARACTER_STATUS.ATTACK, 2)), MinionSelector(IsType(MINION_TYPE.MECH))))
def create_minion(self, player): return Minion(5, 5, effects=[ Effect( ArmorIncreased(), ActionTag(Give(Add(CHARACTER_STATUS.ATTACK, 1)), SelfSelector())) ])
def __init__(self): super().__init__( "Cruel Taskmaster", 2, CHARACTER_CLASS.WARRIOR, CARD_RARITY.COMMON, battlecry=Battlecry( [Damage(1), Give(Add(CHARACTER_STATUS.ATTACK, 2))], MinionSelector(players=BothPlayer(), picker=UserPicker())))
def create_minion(self, player): return Minion(2, 4, effects=[ Effect( CharacterDamaged(player=BothPlayer(), condition=IsMinion()), ActionTag(Give(Add(CHARACTER_STATUS.ATTACK, 1)), SelfSelector())) ])
def __init__(self): super().__init__("Fireguard Destroyer", 4, CHARACTER_CLASS.SHAMAN, CARD_RARITY.COMMON, overload=1, battlecry=Battlecry( Give( Add(CHARACTER_STATUS.ATTACK, RandomAmount(1, 4))), SelfSelector()))
def create_minion(self, player): return Minion(0, 1, stealth=True, effects=[ Effect( TurnEnded(), ActionTag(Give(Add(CHARACTER_STATUS.HEALTH, 1)), MinionSelector(picker=RandomPicker()))) ])
def __init__(self): super().__init__("Upgraded Repair Bot", 5, CHARACTER_CLASS.PRIEST, CARD_RARITY.RARE, minion_type=MINION_TYPE.MECH, battlecry=Battlecry( Give(Add(CHARACTER_STATUS.HEALTH, 4)), MinionSelector(IsType(MINION_TYPE.MECH), picker=UserPicker())))
def __init__(self): super().__init__( "Twilight Whelp", 1, CHARACTER_CLASS.PRIEST, CARD_RARITY.COMMON, minion_type=MINION_TYPE.DRAGON, battlecry=(Battlecry( Give(Add(CHARACTER_STATUS.HEALTH, 2)), SelfSelector(), GreaterThan(Count( CardSelector(condition=IsType(MINION_TYPE.DRAGON))), value=0))))
def __init__(self): super().__init__( "King of Beasts", 5, CHARACTER_CLASS.HUNTER, CARD_RARITY.RARE, minion_type=MINION_TYPE.BEAST, battlecry=Battlecry( Give( Add(CHARACTER_STATUS.ATTACK, Count(MinionSelector(IsType(MINION_TYPE.BEAST))))), SelfSelector()))
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 create_minion(self, player): return Minion(3, 4, deathrattle=Deathrattle( Give(Add(CHARACTER_STATUS.HEALTH, 3)), MinionSelector(picker=RandomPicker())))
def create_minion(self, player): return Minion( 4, 9, charge=True, enrage=[Aura(Add(CHARACTER_STATUS.ATTACK, 6), SelfSelector())])
def _reveal(self, attacker, target): if isinstance(attacker, Minion) and not attacker.removed: attacker.bounce() attacker.card.add_buff(Add(CARD_STATUS.MANA, 2)) super().reveal()