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
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
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
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
def do_announce(self): self.effects = robustApply(self.effect_generator, **self.trigger_keys) return self.get_targets()
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
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