def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype) \ and data[0].name == "Punch": self.total_discount += 1
def trigger(self, ttype, data, player, active, immediate): if trigger.test(immediate,\ trigger.ATTACKING, \ self.trigger, \ player,ttype): player.triggers.remove(self.trigger) return effects.attack(data[0], data[1], by_player=player, avoid_twise=True)
def triggerAA(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.AVOIDED_ATTACK, \ self.triggerAA, \ player,ttype,active): if globe.DEBUG: print("active", self.name, flush=True) player.draw_card(from_card=False)
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.DESTROY, \ self.trigger, \ player,ttype,active): if globe.DEBUG: print("active", self.name, flush=True) self.player.gain_a_weakness()
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.END_TURN, \ self.trigger, \ player,ttype): if globe.DEBUG: print("active", self.name, flush=True) player.persona.active = True
def trigger(self, ttype, data, player, active, immediate): if trigger.test(immediate,\ trigger.GAIN_CARD, \ self.trigger, \ player,ttype,active) \ and data[1].owner_type == owners.LINEUP \ and data[0] == False \ and effects.ok_or_no(f"Would you like to put {data[1].name} on the bottom of your deck?",player,data[1],ai_hint.ALWAYS): player.deck.contents.insert(0, data[1]) return True
def trigger(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test",self.name,flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype,active) \ and data[0].ctype_eq(cardtype.EQUIPMENT): if globe.DEBUG: print("active",self.name,flush=True) player.played.plus_power(1)
def triggerDE(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.triggerDE, \ player,ttype,active) \ and data[0].defence: if globe.DEBUG: print("active", self.name, flush=True) player.played.plus_power(1)
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.DISCARD, \ self.trigger, \ player,ttype) \ and data[0].name == "Punch": if globe.DEBUG: print("active", self.name, flush=True) player.played.plus_power(1)
def triggerSV(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(immediate,\ trigger.PRICE, \ self.triggerSV, \ player,ttype) \ and data[1].owner_type == owners.VILLAINDECK: if globe.DEBUG: print("active", self.name, flush=True) return data[0] - self.total_discount
def trigger(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test",self.name,flush=True) if trigger.test(immediate,\ trigger.DRAW, \ self.trigger, \ player,ttype,active): if globe.DEBUG: print("active",self.name,flush=True) revealed = player.reveal_card(public = True) if revealed != None and effects.ok_or_no(f"Would you like to discard the {revealed.name}?",player,revealed,ai_hint.IFBAD): player.discard_a_card(revealed)
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype) \ and data[0].ctype_eq(cardtype.STARTER): if globe.DEBUG: print("active", self.name, flush=True) self.played_starter = True player.triggers.remove(self.trigger)
def trigger(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test",self.name,flush=True) if trigger.test(not immediate,\ trigger.DRAW, \ self.trigger, \ player,ttype) \ and data[1] == True: if globe.DEBUG: print("active",self.name,flush=True) if active: player.draw_card(from_card = False) player.triggers.remove(self.trigger)
def trigger(self, ttype, data, player, active, immediate): if trigger.test(not immediate,\ trigger.DRAW, \ self.trigger, \ player,ttype) \ and data[1]: player.triggers.remove(self.trigger) instruction_text = "Would you like to put one drawn cards under your Super Hero?" result = effects.may_choose_one_of(instruction_text, player, data[2]) if result != None: result.pop_self() player.under_superhero.contents.append(result)
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype) \ and data[0].name == "Punch": if globe.DEBUG: print("active", self.name, flush=True) player.triggers.remove(self.trigger) player.draw_card() return True
def triggerSP(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test - SP",self.name,flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.triggerSP, \ player,ttype) \ and data[0].ctype_eq(cardtype.SUPERPOWER): if globe.DEBUG: print("active - SP",self.name,flush=True) if active: player.played.plus_power(1) player.triggers.remove(self.triggerSP)
def triggerEQ(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test - EQ",self.name,flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.triggerEQ, \ player,ttype) \ and data[0].ctype_eq(cardtype.EQUIPMENT): if globe.DEBUG: print("active - EQ",self.name,flush=True) if active: player.draw_card(from_card = False) player.triggers.remove(self.triggerEQ)
def trigger(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test",self.name,flush=True) if trigger.test(immediate,\ trigger.GAIN_CARD, \ self.trigger, \ player,ttype,active) \ and data[0] == False \ and data[1].cost <= 5 \ and effects.ok_or_no(f"Would you like to put {data[1].name} on top of your deck?",player,data[1],ai_hint.ALWAYS): if globe.DEBUG: print("active",self.name,flush=True) player.deck.contents.append(data[1]) return True
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype) \ and data[0].ctype_eq(cardtype.VILLAIN): if globe.DEBUG: print("active", self.name, flush=True) self.action = actions.special_action("The Joker", self.special_action_click) player.played.special_options.append(self.action) player.triggers.remove(self.trigger)
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(immediate,\ trigger.AVOIDED_ATTACK, \ self.trigger, \ player,ttype,active): if globe.DEBUG: print("active", self.name, flush=True) instruction_text = f"Would you like to that {data[2].name} on top of your deck?" if effects.ok_or_no(instruction_text,player,data[2],ai_hint.ALWAYS) \ and data[2].owner == player: data[2].pop_self() player.under_superhero.contents.append(data[2])
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype,active) \ and player.played.played_this_turn.index(data[0]) == 0 \ and data[0].cost >= 1: if globe.DEBUG: print("active", self.name, flush=True) self.action = actions.special_action("Bane", self.special_action_click) player.played.special_options.append(self.action) player.triggers.remove(self.trigger)
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(immediate,\ trigger.GAIN_CARD, \ self.trigger, \ player,ttype,active) \ and data[1].owner_type == owners.LINEUP \ and data[1].ctype_eq(cardtype.VILLAIN) \ and data[0] == False \ and effects.ok_or_no(f"Would you like to put {data[1].name} under your Super Hero?",player,data[1],ai_hint.ALWAYS): if globe.DEBUG: print("active", self.name, flush=True) player.under_superhero.contents.append(data[1]) return True
def trigger(self, ttype, data, player, active, immediate): if trigger.test(not immediate,\ trigger.GAIN_CARD, \ self.trigger, \ player,ttype) \ and data[1].ctype_eq(cardtype.VILLAIN): assemble = [] assemble.extend(player.discard.contents) assemble.extend(player.hand.contents) if len(assemble) > 0: result = effects.may_choose_one_of( "You may destory a card in your hand or disscard pile.", player, assemble, ai_hint.IFBAD) if result != None: result.destroy(player)
def trigger(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test",self.name,flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype,active) \ and data[0].ctype_eq(cardtype.SUPERPOWER): already_played = False for c in self.player.played.played_this_turn: if c != data[0] and data[0].name == c.name: already_played = True if not already_played: top_card = player.reveal_card(public = True) if top_card != None and top_card.cost == 0: player.draw_card()
def trigger(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test",self.name,flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype,active): if globe.DEBUG: print("active",self.name,flush=True) names = set() for c in player.played.played_this_turn: if c.cost >= 1: names.add(c.name) if len(names) >= 3: player.played.plus_power(3) player.triggers.remove(self.trigger)
def trigger(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test",self.name,flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype,active) \ and data[0].ctype_eq(cardtype.SUPERPOWER): if globe.DEBUG: print("active",self.name,flush=True) already_played = False for c in player.played.played_this_turn: if c != data[0] and data[0].name == c.name: already_played = True if not already_played: player.played.plus_power(1)
def trigger(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test",self.name,flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype,active) \ and data[0].ctype_eq(cardtype.SUPERPOWER): already_played = False for c in self.player.played.played_this_turn: if c != data[0] and data[0].name == c.name: already_played = True if not already_played: for c in player.discard.contents: if c.name == "Punch": c.pop_self() player.hand.contents.append(c)
def triggerHE(self,ttype,data,player,active,immediate): if globe.DEBUG: print("test - HE",self.name,flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.triggerHE, \ player,ttype,active) \ and data[0].ctype_eq(cardtype.HERO): if globe.DEBUG: print("active - HE",self.name,flush=True) villain_count = 0 for c in player.played.played_this_turn: if c.ctype_eq(cardtype.HERO): villain_count += 1 if villain_count >= 2: player.played.plus_power(3) player.triggers.remove(self.triggerHE)
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype,active) \ and data[0].ctype_eq(cardtype.SUPERPOWER): if globe.DEBUG: print("active", self.name, flush=True) instruction_text = "Would you like to destory it? If you do, draw a card and gain 1 VP." if effects.ok_or_no(instruction_text, player, data[0], ai_hint.IFBAD): data[0].destroy(player) player.draw_card(from_card=False) player.gain_vp(1) player.triggers.remove(self.trigger)
def trigger(self, ttype, data, player, active, immediate): if globe.DEBUG: print("test", self.name, flush=True) if trigger.test(not immediate,\ trigger.PLAY, \ self.trigger, \ player,ttype,active) \ and data[0].ctype_eq(cardtype.EQUIPMENT): if globe.DEBUG: print("active", self.name, flush=True) number_played = 0 for c in self.player.played.played_this_turn: if c.ctype_eq(cardtype.EQUIPMENT): number_played += 1 if number_played == 1: player.played.plus_power(1) elif number_played == 2: player.draw_card(from_card=False) player.triggers.remove(self.trigger)