Exemple #1
0
 def create_minion(self, player):
     return Minion(1,
                   1,
                   auras=[
                       Aura(ChangeAttack(1),
                            MinionSelector(IsType(MINION_TYPE.BEAST)))
                   ])
Exemple #2
0
 def __init__(self):
     super().__init__("Cenarius", 9, CHARACTER_CLASS.DRUID, CARD_RARITY.LEGENDARY, choices=[
         Choice(IncreaseStats(), Give([Buff(ChangeAttack(2)),
                                       Buff(ChangeHealth(2)),
                                       Buff(Taunt())]), MinionSelector()),
         Choice(SummonTreants(), Summon(TauntTreant(), 2), PlayerSelector())
     ])
Exemple #3
0
 def create_minion(self, player):
     return Minion(5,
                   5,
                   effects=[
                       Effect(
                           ArmorIncreased(),
                           ActionTag(Give(ChangeAttack(1)), SelfSelector()))
                   ])
Exemple #4
0
 def create_weapon(self, player):
     return Weapon(3,
                   2,
                   deathrattle=Deathrattle(
                       Give([Buff(ChangeHealth(2)),
                             Buff(ChangeAttack(2))]),
                       MinionSelector(IsType(MINION_TYPE.MECH),
                                      picker=RandomPicker())))
Exemple #5
0
 def create_minion(self, player):
     return Minion(1,
                   3,
                   effects=[
                       Effect(
                           SpellCast(),
                           ActionTag(Give(ChangeAttack(1)), SelfSelector()))
                   ])
Exemple #6
0
 def __init__(self):
     super().__init__("Glaivezooka",
                      2,
                      CHARACTER_CLASS.HUNTER,
                      CARD_RARITY.COMMON,
                      battlecry=Battlecry(
                          Give(ChangeAttack(1)),
                          MinionSelector(None, picker=RandomPicker())))
    def change_attack(self, amount):
        """
        Change the amount of attack this :class:`Character` has.  The amount can be either positive or negative.
        This method will automatically undo its effect when silenced, and re-apply its effect when copied

        :param int amount: The amount to change the attack by
        """
        self.add_buff(Buff(ChangeAttack(amount)))
Exemple #8
0
 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(Buff(ChangeAttack(3)))
Exemple #9
0
 def __init__(self):
     super().__init__("Cruel Taskmaster",
                      2,
                      CHARACTER_CLASS.WARRIOR,
                      CARD_RARITY.COMMON,
                      battlecry=Battlecry(
                          [Damage(1), Give(ChangeAttack(2))],
                          MinionSelector(players=BothPlayer(),
                                         picker=UserPicker())))
Exemple #10
0
 def __init__(self):
     super().__init__("Metaltooth Leaper",
                      3,
                      CHARACTER_CLASS.HUNTER,
                      CARD_RARITY.RARE,
                      minion_type=MINION_TYPE.MECH,
                      battlecry=Battlecry(
                          Give(Buff(ChangeAttack(2))),
                          MinionSelector(IsType(MINION_TYPE.MECH))))
Exemple #11
0
 def create_minion(self, player):
     return Minion(2,
                   4,
                   effects=[
                       Effect(
                           CharacterDamaged(player=BothPlayer(),
                                            condition=IsMinion()),
                           ActionTag(Give(ChangeAttack(1)), SelfSelector()))
                   ])
Exemple #12
0
 def __init__(self):
     super().__init__("Fireguard Destroyer",
                      4,
                      CHARACTER_CLASS.SHAMAN,
                      CARD_RARITY.COMMON,
                      overload=1,
                      battlecry=Battlecry(
                          Give(Buff(ChangeAttack(RandomAmount(1, 4)))),
                          SelfSelector()))
Exemple #13
0
 def create_minion(self, player):
     return Minion(
         2,
         4,
         effects=[
             Effect(CardPlayed(HasOverload()),
                    ActionTag(Give(ChangeAttack(1)), SelfSelector())),
             Effect(CardPlayed(HasOverload()),
                    ActionTag(Give(ChangeHealth(1)), SelfSelector()))
         ])
Exemple #14
0
 def create_minion(self, player):
     return Minion(
         3,
         3,
         effects=[
             Effect(TurnEnded(HasSecret()),
                    ActionTag(Give(ChangeAttack(2)), SelfSelector())),
             Effect(TurnEnded(HasSecret()),
                    ActionTag(Give(ChangeHealth(2)), SelfSelector()))
         ])
Exemple #15
0
 def create_minion(self, player):
     return Minion(9,
                   7,
                   auras=[
                       Aura(ChangeHealth(2),
                            MinionSelector(IsType(MINION_TYPE.DEMON))),
                       Aura(ChangeAttack(2),
                            MinionSelector(IsType(MINION_TYPE.DEMON))),
                       Aura(Immune(), HeroSelector())
                   ])
Exemple #16
0
 def create_weapon(self, player):
     return Weapon(1,
                   3,
                   buffs=[
                       Buff(
                           ChangeAttack(2),
                           GreaterThan(Count(
                               MinionSelector(IsType(MINION_TYPE.MECH))),
                                       value=0))
                   ])
Exemple #17
0
    def change_temp_attack(self, amount):
        """
        Change the amount of attack this :class:`Character` has on this turn only.  The amount can be either positive
        or negative. This method will automatically undo its effect when silenced, and re-apply its effect when copied

        :param int amount: The amount to change the temporary attack by
        """
        self.add_buff(
            BuffUntil(ChangeAttack(amount), TurnEnded(player=CurrentPlayer())))
        self.trigger("attack_changed", amount)
Exemple #18
0
 def __init__(self):
     super().__init__(
         "Quartermaster",
         5,
         CHARACTER_CLASS.PALADIN,
         CARD_RARITY.EPIC,
         battlecry=Battlecry(
             Give([Buff(ChangeAttack(2)),
                   Buff(ChangeHealth(2))]),
             MinionSelector(HasCardName("Silver Hand Recruit"))))
Exemple #19
0
 def create_minion(self, player):
     return Minion(
         2,
         2,
         effects=[
             Effect(MinionDied(IsType(MINION_TYPE.BEAST)),
                    ActionTag(Give(ChangeAttack(2)), SelfSelector())),
             Effect(MinionDied(IsType(MINION_TYPE.BEAST)),
                    ActionTag(Give(ChangeHealth(1)), SelfSelector()))
         ])
Exemple #20
0
 def __init__(self):
     super().__init__(
         "Screwjank Clunker",
         4,
         CHARACTER_CLASS.WARRIOR,
         CARD_RARITY.RARE,
         minion_type=MINION_TYPE.MECH,
         battlecry=Battlecry(
             Give([Buff(ChangeHealth(2)),
                   Buff(ChangeAttack(2))]),
             MinionSelector(IsType(MINION_TYPE.MECH), picker=UserPicker())))
Exemple #21
0
 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())))
Exemple #22
0
 def __init__(self):
     super().__init__("Bolvar Fordragon",
                      5,
                      CHARACTER_CLASS.PALADIN,
                      CARD_RARITY.LEGENDARY,
                      effects=[
                          Effect(
                              MinionDied(),
                              ActionTag(Give(ChangeAttack(1)),
                                        SelfSelector()))
                      ])
Exemple #23
0
 def __init__(self):
     super().__init__(
         "Core Rager",
         4,
         CHARACTER_CLASS.HUNTER,
         CARD_RARITY.RARE,
         minion_type=MINION_TYPE.BEAST,
         battlecry=(Battlecry(
             Give([Buff(ChangeAttack(3)),
                   Buff(ChangeHealth(3))]), SelfSelector(),
             Not(GreaterThan(Count(CardSelector()), value=0)))))
Exemple #24
0
 def create_minion(self, player):
     return Minion(
         4,
         4,
         effects=[
             Effect(
                 CharacterDamaged(And(IsHero(), OwnersTurn())),
                 ActionTag(
                     Give([Buff(ChangeAttack(2)),
                           Buff(ChangeHealth(2))]), SelfSelector()))
         ])
Exemple #25
0
 def __init__(self):
     super().__init__(
         "Alexstrasza's Champion",
         2,
         CHARACTER_CLASS.WARRIOR,
         CARD_RARITY.RARE,
         battlecry=(Battlecry(
             Give([Buff(ChangeAttack(1)),
                   Buff(Charge())]), SelfSelector(),
             GreaterThan(Count(
                 CardSelector(condition=IsType(MINION_TYPE.DRAGON))),
                         value=0))))
Exemple #26
0
 def create_weapon(self, player):
     return Weapon(
         7,
         1,
         effects=[
             Effect(CharacterAttack(And(IsHero(), TargetIsMinion())), [
                 ActionTag(IncreaseDurability(), HeroSelector()),
                 ActionTag(IncreaseWeaponAttack(-1), HeroSelector()),
                 ActionTag(
                     Give(BuffUntil(ChangeAttack(1), AttackCompleted())),
                     HeroSelector())
             ])
         ])
Exemple #27
0
 def create_minion(self, player):
     return Minion(
         2,
         2,
         effects=[
             Effect(
                 TurnEnded(),
                 ActionTag(
                     Give([Buff(ChangeAttack(2)),
                           Buff(ChangeHealth(2))]),
                     MinionSelector(IsType(MINION_TYPE.MECH),
                                    picker=RandomPicker())))
         ])
Exemple #28
0
 def __init__(self):
     super().__init__(
         "King of Beasts",
         5,
         CHARACTER_CLASS.HUNTER,
         CARD_RARITY.RARE,
         minion_type=MINION_TYPE.BEAST,
         battlecry=Battlecry(
             Give(
                 Buff(
                     ChangeAttack(
                         Count(MinionSelector(IsType(
                             MINION_TYPE.BEAST)))))), SelfSelector()))
Exemple #29
0
 def __init__(self):
     super().__init__("Anodized Robo Cub",
                      2,
                      CHARACTER_CLASS.DRUID,
                      CARD_RARITY.COMMON,
                      minion_type=MINION_TYPE.MECH,
                      choices=[
                          Choice(AttackMode(),
                                 Give([Buff(ChangeAttack(1))]),
                                 SelfSelector()),
                          Choice(TankMode(), Give([Buff(ChangeHealth(1))]),
                                 SelfSelector())
                      ])
Exemple #30
0
 def create_weapon(self, player):
     return Weapon(
         1,
         5,
         effects=[
             Effect(
                 MinionSummoned(),
                 ActionTag(
                     Give([Buff(ChangeAttack(1)),
                           Buff(ChangeHealth(1))]), TargetSelector())),
             Effect(MinionSummoned(),
                    ActionTag(DecreaseDurability(), WeaponSelector()))
         ])