Ejemplo n.º 1
0
 def on_friendly_removal_after(self, other_minion: Minion, friendly_board: PlayerBoard, enemy_board: PlayerBoard):
     """After a friendly Demon dies, deal 3 damage to a random enemy minion.
     """
     triggers = 2 if self.golden else 1
     if MinionType.Demon in other_minion.types:
         for _ in range(triggers):
             target = enemy_board.random_minion()
             if target:
                 target.receive_damage(3, enemy_board)
Ejemplo n.º 2
0
 def trigger(self,
             minion: Minion,
             own_board: PlayerBoard,
             opposing_board: PlayerBoard,
             macaw_trigger: Optional[bool] = False):
     for _ in range(2 if minion.golden else 1):
         other_minion = own_board.random_minion()
         if other_minion:
             other_minion.add_stats(0, minion.max_health)
Ejemplo n.º 3
0
 def trigger(self,
             minion: Minion,
             own_board: PlayerBoard,
             opposing_board: PlayerBoard,
             macaw_trigger: Optional[bool] = False):
     number_bombs = 2 if minion.golden else 1
     for _ in range(number_bombs):
         opposing_minion = opposing_board.random_minion()
         if opposing_minion:
             opposing_minion.receive_damage(amount=4,
                                            own_board=opposing_board)
Ejemplo n.º 4
0
 def trigger(self, minion: Minion, own_board: PlayerBoard,
             opposing_board: PlayerBoard):
     target_minion = own_board.random_minion()
     if target_minion:
         target_minion.add_attack(minion.last_attack)
         logging.debug(
             f"Fiendish Servant deathrattle triggers onto {target_minion.minion_string()}"
         )
     else:
         logging.debug(
             "Fiendish Servant deathrattle triggers but there are no targets left"
         )
Ejemplo n.º 5
0
 def trigger(self, minion: Minion, own_board: PlayerBoard,
             opposing_board: PlayerBoard):
     if minion.golden:
         logging.debug(
             "Kaboom Bot (golden) deathrattle triggered, dealing 4 damage twice"
         )
     else:
         logging.debug("Kaboom Bot deathrattle triggered, dealing 4 damage")
     number_bombs = 2 if minion.golden else 1
     for bomb in range(number_bombs):
         # TODO: Should kill the unit before throwing a second bomb
         opposing_minion = opposing_board.random_minion()
         opposing_minion.receive_damage(amount=4, poisonous=False)