예제 #1
0
 def process(self, event: respond[0]):
     minion = event.minion
     if minion == self.owner:
         return []
     if minion.zone == Zone.Play and minion.player_id == self.owner.player_id and Race.Beast in minion.race:
         return [std_events.DrawCard(self.game, self.owner, self.owner.player_id)]
     return []
예제 #2
0
 def process(self, event: respond[0]):
     if event.target.type != Type.Minion:
         return []
     return [
         std_events.DrawCard(self.game, self.owner,
                             self.owner.player_id)
     ]
예제 #3
0
 def run(self, target, **kwargs):
     return [
         std_events.Damage(self.game,
                           self,
                           target=self.game.get_hero(self.player_id),
                           value=self.dh_values[0]),
         std_events.DrawCard(self.game, self, self.player_id)
     ]
예제 #4
0
 def __init__(self, game, player_id):
     super().__init__(game, player_id)
     self.dr_trigger = std_triggers.DrTrigger.create(
         self.game,
         owner=self,
         dr_fn=lambda trigger, event:
         [std_events.DrawCard(self.game, self, self.player_id)],
         reg_fn=None,
         data=None)
예제 #5
0
 def run(self, target, **kwargs):
     targets = ext.collect_1p_minions(self,
                                      oop=True,
                                      player_id=1 - self.player_id)
     return [
         std_events.AreaDamage(self.game, self, targets,
                               [self.dh_values[0] for _ in targets]),
         std_events.DrawCard(self.game, self, self.player_id)
     ]
예제 #6
0
    def run(self, target, **kwargs):
        # [NOTE]: The default parameter (event self) of condition is ignored.
        def condition(_):
            return not target.alive

        return [
            std_events.Damage(self.game, self, target, self.dh_values[0]),
            std_events.condition_wrap(std_events.DrawCard(self.game, self),
                                      condition),
        ]
예제 #7
0
 def run(self, target, **kwargs):
     return [
         std_events.GainArmor(self.game, self,
                              self.game.get_hero(self.player_id), 5),
         std_events.DrawCard(self.game, self, self.player_id)
     ]
예제 #8
0
 def run(self, target, **kwargs):
     Enc_真言术_盾.from_card(self, self.game, target)
     return [std_events.DrawCard(self.game, self, self.player_id)]