def is_valid(self): src = self.source card = self.associated_card.associated_cards[0] if card.is_card(AttackCard) and src.tags['attack_num'] < 1: if not AttackCardHandler.is_freeattack(src): return False if card.usage != 'launch': return False victim = self.target tgts = self.target_list[1:] lc = LaunchCard(victim, tgts, card) return lc.can_fire()
def handle(self, evt_type, arg): if evt_type == 'character_debut': old, new = arg if not new.has_skill(AssaultKOF): return arg g = Game.getgame() op = g.get_opponent(new) lc = LaunchCard(new, [op], AssaultAttack(new)) if not lc.can_fire(): return arg if user_input([new], ChooseOptionInputlet(self, (False, True))): g.process_action(lc) return arg