Ejemplo n.º 1
0
 def can_do_action(self, msg_fn=None):
     super_result = super().can_do_action(msg_fn)
     if super_result == self.Inactive:
         return super_result
     if any(Race.Demon in e.race for e in ext.collect_all(self, oop=False)):
         return self.Active
     else:
         if msg_fn:
             msg_fn('No valid target, I can\'t use it!')
         return self.Inactive
Ejemplo n.º 2
0
 def can_do_action(self, msg_fn=None):
     super_result = super().can_do_action(msg_fn)
     if super_result == self.Inactive:
         return super_result
     if any(Race.Demon in e.race for e in ext.collect_all(self, oop=False)):
         return self.Active
     else:
         if msg_fn:
             msg_fn('No valid target, I can\'t use it!')
         return self.Inactive
Ejemplo n.º 3
0
 def run_battlecry(self, target, **kwargs):
     return [
         std_events.DistributedDamage(
             self.game,
             self,
             3,
             collect_fn=lambda: ext.collect_all(self,
                                                player_id=1 - self.
                                                player_id,
                                                ignore_dead=True,
                                                except_list=(self, )),
         )
     ]
Ejemplo n.º 4
0
 def process(self, event: respond[0]):
     if event.card is not self.owner:
         return []
     targets = ext.collect_all(self, except_self=False, oop=True)
     return [std_events.AreaDamage(self.game, self.owner, targets, [2 for _ in targets])]
Ejemplo n.º 5
0
 def run_battlecry(self, target, **kwargs):
     targets = ext.collect_all(self, oop=True, except_list=(self,))
     return [std_events.AreaDamage(self.game, self, targets, [1 for _ in targets])]
Ejemplo n.º 6
0
 def run(self, target, **kwargs):
     targets = ext.collect_all(self, oop=True)
     return [std_events.AreaDamage(self.game, self, targets, [self.dh_values[0] for _ in targets])]
Ejemplo n.º 7
0
 def run_battlecry(self, target, **kwargs):
     targets = ext.collect_all(self, oop=True, except_list=(self, ))
     return [
         std_events.AreaDamage(self.game, self, targets,
                               [1 for _ in targets])
     ]
Ejemplo n.º 8
0
 def run(self, target, **kwargs):
     targets = ext.collect_all(self, oop=True)
     return [
         std_events.AreaDamage(self.game, self, targets,
                               [self.dh_values[0] for _ in targets])
     ]
Ejemplo n.º 9
0
 def process(self, event: respond[0]):
     if event.card is not self.owner:
         return []
     targets = ext.collect_all(self, oop=True)
     return [std_events.AreaDamage(self.game, self.owner, targets, [2 for _ in targets])]