Example #1
0
    def fatetell_action(self, ft):
        act = self.atkact
        if ft.succeeded:
            act.__class__ = classmix(InevitableAttack, act.__class__)
        else:
            mark(act, 'freaking_power')

        return True
Example #2
0
    def handle(self, evt_type, act):
        if evt_type == 'action_before' and isinstance(act, DropCards):
            src, tgt = act.source, act.target

            if not tgt.has_skill(DollBlast):
                return act

            if not src or src is tgt or not (src.cards or src.showncards or src.equips):
                return act

            if not any(c.resides_in.type == 'equips' for c in act.cards):
                return act

            mark(act, 'doll_blast')

        elif evt_type == 'action_after' and isinstance(act, DropCards) and marked(act, 'doll_blast'):
            self.fire(act.target, act.source, act.cards)

        return act
Example #3
0
    def handle(self, evt_type, act):
        if evt_type == 'action_before' and isinstance(act, DropCards):
            src, tgt = act.source, act.target

            if not tgt.has_skill(DollBlast):
                return act

            if not src or src is tgt or not (src.cards or src.showncards or src.equips):
                return act

            if not any(c.resides_in.type == 'equips' for c in act.cards):
                return act

            mark(act, 'doll_blast')

        elif evt_type == 'action_after' and isinstance(act, DropCards) and marked(act, 'doll_blast'):
            self.fire(act.target, act.source, act.cards)

        return act