Esempio n. 1
0
 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()
Esempio n. 2
0
 def create_minion(self, player):
     return Minion(2,
                   3,
                   auras=[
                       Aura(SetTrue(PLAYER_STATUS.POWER_TARGETS_MINIONS),
                            HeroSelector())
                   ])
Esempio n. 3
0
 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())
     ])
Esempio n. 4
0
 def create_minion(self, player):
     return Minion(3,
                   5,
                   auras=[
                       Aura(SetTrue(PLAYER_STATUS.HEAL_AS_DAMAGE),
                            PlayerSelector())
                   ])
Esempio n. 5
0
 def create_minion(self, player):
     return Minion(2,
                   5,
                   auras=[
                       Aura(SetTrue(CHARACTER_STATUS.NO_SPELL_TARGET),
                            MinionSelector(Adjacent()))
                   ])
Esempio n. 6
0
 def create_minion(self, player):
     return Minion(2,
                   5,
                   charge=True,
                   auras=[
                       Aura(SetTrue(CHARACTER_STATUS.CHARGE),
                            MinionSelector(IsType(MINION_TYPE.BEAST)))
                   ])
Esempio n. 7
0
 def __init__(self):
     super().__init__("Windspeaker",
                      4,
                      CHARACTER_CLASS.SHAMAN,
                      CARD_RARITY.COMMON,
                      battlecry=Battlecry(
                          Give(SetTrue(CHARACTER_STATUS.WINDFURY)),
                          MinionSelector(picker=UserPicker())))
Esempio n. 8
0
 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())))
Esempio n. 9
0
 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()))
                   ])
Esempio n. 10
0
 def create_minion(self, player):
     return Minion(4,
                   1,
                   effects=[
                       Effect(
                           MinionSummoned(IsType(MINION_TYPE.PIRATE)),
                           ActionTag(
                               Give(SetTrue(CHARACTER_STATUS.STEALTH)),
                               SelfSelector()))
                   ])
Esempio n. 11
0
 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())
                   ])
Esempio n. 12
0
 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))))
Esempio n. 13
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())))
Esempio n. 14
0
    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()))
Esempio n. 15
0
 def create_minion(self, player):
     return Minion(0,
                   5,
                   buffs=[SetTrue(CHARACTER_STATUS.ATTACK_EQUALS_HEALTH)])
Esempio n. 16
0
    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()),
        ])
Esempio n. 17
0
 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)
Esempio n. 18
0
 def __init__(self):
     super().__init__("Argent Protector", 2, CHARACTER_CLASS.PALADIN, CARD_RARITY.COMMON,
                      battlecry=Battlecry(Give(SetTrue(CHARACTER_STATUS.DIVINE_SHIELD)), MinionSelector()))
Esempio n. 19
0
 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()))
Esempio n. 20
0
 def create_minion(self, player):
     return Minion(6, 3, effects=[Effect(MinionSummoned(IsType(MINION_TYPE.MECH)),
                                         ActionTag(SetTrue(CHARACTER_STATUS.DIVINE_SHIELD),
                                         SelfSelector()))])
Esempio n. 21
0
    def use(self, player, game):
        super().use(player, game)

        self.target.add_buff(SetTrue(CHARACTER_STATUS.WINDFURY))
Esempio n. 22
0
 def use(self, player, game):
     super().use(player, game)
     self.target.add_buff(
         SetTrue(CHARACTER_STATUS.STEALTH, until=TurnStarted()))