def __init__(self): super().__init__("Dragon Consort", 5, CHARACTER_CLASS.PALADIN, CARD_RARITY.RARE, minion_type=MINION_TYPE.DRAGON, battlecry=Battlecry(GiveAura([AuraUntil(ManaChange(-3), CardSelector(condition=IsType(MINION_TYPE.DRAGON)), CardPlayed(IsType(MINION_TYPE.DRAGON)), False)]), PlayerSelector()))
def create_minion(self, player): return Minion(0, 4, auras=[ Aura(ManaChange(-2, 1, minimum=1), CardSelector(condition=IsMinion())) ])
def use(self, player, game): super().use(player, game) query = CollectionSource([IsMinion()]) new_minon = query.get_card(player, player, self) new_minon.add_buff(Buff(ManaChange(-3))) player.hand.append(new_minon) new_minon.attach(new_minon, player)
def __init__(self): super().__init__("Kirin Tor Mage", 3, CHARACTER_CLASS.MAGE, CARD_RARITY.RARE, battlecry=Battlecry( GiveAura([ AuraUntil(ManaChange(-100), SecretSelector(), CardPlayed(IsSecret())) ]), PlayerSelector()))
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__( "Crush", 7, CHARACTER_CLASS.WARRIOR, CARD_RARITY.EPIC, target_func=hearthbreaker.targeting.find_minion_spell_target, buffs=[ Buff(ManaChange(-4), GreaterThan(Count(MinionSelector(IsDamaged())), value=0)) ])
def __init__(self): super().__init__( "Volcanic Lumberer", 9, CHARACTER_CLASS.DRUID, CARD_RARITY.RARE, 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=[ Buff( ManaChange(Count(DeadMinionSelector(players=BothPlayer())), -1)) ])
def set_attribute(obj, attribute, value): from hearthbreaker.tags.status import ManaChange, SetAttack if attribute == "damage": was_enraged = obj.enraged obj.health = max(0, obj.clculate_max_health() - value) if value > 0: obj.enraged = True if not was_enraged: obj._do_enrage() elif attribute == 'mana': obj.add_buff(Buff(ManaChange(value - obj.mana_cost(None)))) elif attribute == "attack": obj.add_buff(Buff(SetAttack(value))) elif attribute == "health": obj.set_health_to(value)
def reduce_cost(card): if card.is_minion() and card.minion_type == MINION_TYPE.BEAST: card.add_buff(Buff(ManaChange(-4)))
def _reveal(self, attacker, target): if isinstance(attacker, Minion) and not attacker.removed: attacker.bounce() attacker.card.add_buff(Buff(ManaChange(2))) super().reveal()
def use(self, player, game): super().use(player, game) self.target.bounce() self.target.card.add_buff(Buff(ManaChange(-3)))
def use(self, player, game): super().use(player, game) player.add_aura(AuraUntil(ManaChange(-3), CardSelector(condition=IsSpell()), SpellCast()))
def use(self, player, game): super().use(player, game) query = CardQuery(conditions=[IsMinion()]) new_minon = query.get_card(player, player, self) new_minon.add_buff(Buff(ManaChange(-3))) player.hand.append(new_minon)
def create_minion(self, player): return Minion(3, 2, auras=[Aura(ManaChange(-1), SpellSelector())])
def reduce_cost(card): card.add_buff(Buff(ManaChange(-3)))
def create_minion(self, player): return Minion( 3, 2, auras=[Aura(ManaChange(-1), CardSelector(condition=IsSpell()))])
def use(self, player, game): super().use(player, game) player.add_aura(AuraUntil(ManaChange(-3), SpellSelector(), SpellCast()))