def __init__(self): super().__init__("Grove Tender", 3, CHARACTER_CLASS.DRUID, CARD_RARITY.RARE, choices=[ Choice(GiftOfMana(), GiveManaCrystal(), PlayerSelector(players=BothPlayer())), Choice(GiftOfCards(), Draw(), PlayerSelector(players=BothPlayer())) ])
def __init__(self): super().__init__("Keeper of the Grove", 4, CHARACTER_CLASS.DRUID, CARD_RARITY.RARE, choices=[ Choice( Moonfire(), Damage(2), CharacterSelector(players=BothPlayer(), picker=UserPicker())), Choice( Dispel(), Silence(), MinionSelector(players=BothPlayer(), picker=UserPicker())) ])
def create_minion(self, player): return Minion(9, 9, effects=[ Effect(TurnEnded(MinionCountIs(1), BothPlayer()), ActionTag(Kill(), SelfSelector())) ])
def __init__(self): super().__init__("Shadowbomber", 1, CHARACTER_CLASS.PRIEST, CARD_RARITY.EPIC, battlecry=Battlecry( Damage(3), HeroSelector(players=BothPlayer())))
def __init__(self): super().__init__("Cruel Taskmaster", 2, CHARACTER_CLASS.WARRIOR, CARD_RARITY.COMMON, battlecry=Battlecry( [Damage(1), Give(ChangeAttack(2))], MinionSelector(players=BothPlayer())))
def __init__(self): super().__init__("Scarlet Purifier", 3, CHARACTER_CLASS.PALADIN, CARD_RARITY.RARE, battlecry=Battlecry( Damage(2), MinionSelector(MinionHasDeathrattle(), BothPlayer())))
def create_minion(self, player): return Minion(4, 2, effects=[ Effect( CharacterDamaged(MinionIsNotTarget(), BothPlayer()), [ActionTag(Kill(), TargetSelector())]) ])
def __init__(self): super().__init__("Dread Infernal", 6, CHARACTER_CLASS.WARLOCK, CARD_RARITY.COMMON, minion_type=MINION_TYPE.DEMON, battlecry=Battlecry( Damage(1), CharacterSelector(players=BothPlayer())))
def __init__(self): super().__init__("Fire Elemental", 6, CHARACTER_CLASS.SHAMAN, CARD_RARITY.COMMON, battlecry=Battlecry( Damage(3), CharacterSelector(players=BothPlayer(), picker=UserPicker())))
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 __init__(self): super().__init__("Vol'jin", 5, CHARACTER_CLASS.PRIEST, CARD_RARITY.LEGENDARY, battlecry=Battlecry( SwapStats("health", "health", True), MinionSelector(players=BothPlayer(), picker=UserPicker())))
def create_minion(self, player): return Minion(2, 4, effects=[ Effect( CharacterDamaged(player=BothPlayer(), condition=IsMinion()), ActionTag(Give(ChangeAttack(1)), SelfSelector())) ])
def create_minion(self, player): return Minion(1, 3, effects=[ Effect( CharacterHealed(condition=IsMinion(), player=BothPlayer()), ActionTag(Draw(), PlayerSelector())) ])
def __init__(self): super().__init__("SI:7 Agent", 3, CHARACTER_CLASS.ROGUE, CARD_RARITY.RARE, combo=Battlecry( Damage(2), CharacterSelector(players=BothPlayer(), picker=UserPicker())))
def __init__(self): super().__init__("Kidnapper", 6, CHARACTER_CLASS.ROGUE, CARD_RARITY.EPIC, combo=Battlecry( Bounce(), MinionSelector(picker=UserPicker(), players=BothPlayer())))
def create_minion(self, player): minion = Minion(2, 4, effects=[ Effect( CharacterDamaged(player=BothPlayer(), condition=IsMinion()), ChangeAttack(1), SelfSelector()) ]) return minion
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__( "Solemn Vigil", 5, CHARACTER_CLASS.PALADIN, CARD_RARITY.COMMON, buffs=[ Buff( ManaChange(Count(DeadMinionSelector(players=BothPlayer())), -1)) ])
def __init__(self): super().__init__( "Dragon's Breath", 5, CHARACTER_CLASS.MAGE, CARD_RARITY.COMMON, target_func=hearthbreaker.targeting.find_spell_target, buffs=[ Subtract(CARD_STATUS.MANA, Count(DeadMinionSelector(players=BothPlayer()))) ])
def __init__(self): super().__init__("Shrinkmeister", 2, CHARACTER_CLASS.PRIEST, CARD_RARITY.COMMON, battlecry=Battlecry( Give( BuffUntil(ChangeAttack(-2), TurnEnded(player=CurrentPlayer()))), MinionSelector(players=BothPlayer(), picker=UserPicker())))
def __init__(self): super().__init__( "Volcanic Lumberer", 9, CHARACTER_CLASS.DRUID, CARD_RARITY.RARE, buffs=[ Buff( ManaChange(Count(DeadMinionSelector(players=BothPlayer())), -1)) ])
def create_weapon(self, player): def deal_one_to_all(weapon): targets = copy.copy(weapon.player.minions) targets.extend(weapon.player.opponent.minions) for minion in targets: minion.damage(1, None) return Weapon(4, 2, deathrattle=Deathrattle( Damage(1), MinionSelector(players=BothPlayer())))
def create_minion(self, player): return Minion(3, 5, effects=[ Effect( TurnEnded(), ActionTag( Damage(2), MinionSelector( Not(IsType(MINION_TYPE.MECH, True)), BothPlayer(), RandomPicker()))) ])
def __init__(self): super().__init__( "Dragon's Breath", 5, CHARACTER_CLASS.MAGE, CARD_RARITY.COMMON, target_func=hearthbreaker.targeting.find_spell_target, buffs=[ Buff( ManaChange(Count(DeadMinionSelector(players=BothPlayer())), -1)) ])
def __init__(self): super().__init__("Shrinkmeister", 2, CHARACTER_CLASS.PRIEST, CARD_RARITY.COMMON, battlecry=Battlecry( Give( Subtract(CHARACTER_STATUS.ATTACK, 2, until=TurnEnded())), MinionSelector(players=BothPlayer(), picker=UserPicker())))
def create_minion(self, player): return Minion(2, 3, effects=[ Effect( CharacterHealed(player=BothPlayer()), ActionTag( Damage(1), CharacterSelector(players=EnemyPlayer(), picker=RandomPicker(), condition=None))) ])
def __init__(self): super().__init__("Flame Leviathan", 7, CHARACTER_CLASS.MAGE, CARD_RARITY.LEGENDARY, minion_type=MINION_TYPE.MECH, effects=[ Effect( Drawn(), ActionTag( Damage(2), CharacterSelector(None, BothPlayer()))) ])
def from_json(name): from hearthbreaker.tags.selector import FriendlyPlayer, EnemyPlayer, BothPlayer, PlayerOne, \ PlayerTwo, CurrentPlayer, OtherPlayer if name == "friendly": return FriendlyPlayer() elif name == "enemy": return EnemyPlayer() elif name == "both": return BothPlayer() elif name == "player_one": return PlayerOne() elif name == "player_two": return PlayerTwo() elif name == "current_player": return CurrentPlayer() elif name == "other_player": return OtherPlayer()
def create_weapon(self, player): return Weapon(4, 2, deathrattle=Deathrattle( Damage(1), MinionSelector(players=BothPlayer())))
def __init__(self): super().__init__("Solemn Vigil", 5, CHARACTER_CLASS.PALADIN, CARD_RARITY.COMMON, buffs=[Subtract(CARD_STATUS.MANA, Count(DeadMinionSelector(players=BothPlayer())))])