Beispiel #1
0
 def filter(self, sender, card):
     keys = {"sender": sender, "source": self.source, "card":card}
     if (self.zone == str(sender) and
         self.check_player(card) and
         robustApply(self.condition, **keys) and
         self.check_expiry()):
         robustApply(self.trigger_function, **keys)
         self.count += 1
Beispiel #2
0
 def filter(self, sender, from_zone, oldcard, newcard):
     keys = {"source": self.source, "card": oldcard, "newcard": newcard}
     if ((str(sender) == self.to_zone and str(from_zone) == self.zone) and
          self.check_player(oldcard) and
          robustApply(self.condition, **keys) and
          self.check_expiry()):
         robustApply(self.trigger_function, **keys)
         self.count += 1
Beispiel #3
0
 def modal_effects(**keys):
     controller = keys['controller']
     source = keys['source']
     selected = controller.make_selection([(mode.__doc__,mode) for mode in modes], choose, prompt='Select %d mode(s):'%choose)
     if choose > 1: chosen = tuple((robustApply(mode, **keys) for mode in selected))
     else: chosen = (robustApply(selected, **keys), )
     # get the targets
     targets, unflatten = flatten(mode.next() for mode in chosen)
     targets = yield targets
     if not isinstance(targets, tuple): targets = (targets,)
     for t, mode in zip(unflatten(targets), chosen):
         yield mode.send(t)
         for res in mode: yield res
Beispiel #4
0
 def modal_effects(**keys):
     controller = keys['controller']
     source = keys['source']
     selected = controller.make_selection(
         [(mode.__doc__, mode) for mode in modes],
         choose,
         prompt='Select %d mode(s):' % choose)
     if choose > 1:
         chosen = tuple((robustApply(mode, **keys) for mode in selected))
     else:
         chosen = (robustApply(selected, **keys), )
     # get the targets
     targets, unflatten = flatten(mode.next() for mode in chosen)
     targets = yield targets
     if not isinstance(targets, tuple): targets = (targets, )
     for t, mode in zip(unflatten(targets), chosen):
         yield mode.send(t)
         for res in mode:
             yield res
Beispiel #5
0
 def do_announce(self):
     self.effects = robustApply(self.effect_generator, **self.trigger_keys)
     return self.get_targets()
Beispiel #6
0
 def do_announce(self):
     self.effects = robustApply(self.effect_generator, **self.trigger_keys)
     return self.get_targets()
Beispiel #7
0
 def filter(self, sender, player):
     keys = {'player': player, 'source': self.source}
     if self.check_expiry() and robustApply(self.condition, **keys):
         robustApply(self.trigger_function, **keys)
         self.count += 1
Beispiel #8
0
 def filter(self, sender, **keys):
     keys["source"] = self.source
     keys["sender"] = sender
     if self.check_expiry() and robustApply(self.condition, **keys):
         robustApply(self.trigger_function, **keys)
         self.count += 1