def METROSCENE_ENTER(self,camp: gears.GearHeadCampaign): if not self.started_convo: npc: gears.base.Character = self.elements["NPC"] pbge.alert("As you enter {METROSCENE}, {NPC} pulls you aside for a private talk.".format(**self.elements)) if npc.get_reaction_score(camp.pc, camp) > 20: ghcutscene.SimpleMonologueDisplay( "When we started, I was suspicious of you. I didn't know what kind of person you were. But now, after all we've been through, I do know. I want you to know that I believe in you and I'm glad to be your lancemate.", npc )(camp) npc.relationship.role = relationships.R_COLLEAGUE npc.relationship.attitude = relationships.A_FRIENDLY camp.dole_xp(200) self.proper_end_plot(camp) else: ghcutscene.SimpleMonologueDisplay( "When we started, I was suspicious of you. I didn't know what kind of person you were. But now, I do know, and I no longer want anything to do with you. If we ever meet again, it will be on opposite sides of the battlefield.", npc )(camp) npc.relationship.role = relationships.R_ADVERSARY npc.relationship.attitude = relationships.A_RESENT if relationships.RT_LANCEMATE in npc.relationship.tags: npc.relationship.tags.remove(relationships.RT_LANCEMATE) plotutility.AutoLeaver(npc)(camp) camp.freeze(npc) npc.relationship.history.append(gears.relationships.Memory( "I quit your lance", "you quit my lance", -10, (gears.relationships.MEM_Ideological,) )) self.proper_end_plot(camp) self.started_convo = True
def __call__(self, camp:gears.GearHeadCampaign): #print('Homing {} {}'.format(self.character,self.original_container)) if not self.done: if self.character.is_not_destroyed() or not self.allow_death: #print("Checking...") self.character.restore_all() if self.character.scene is self.dest or not self.character.scene: if hasattr(self.character, "container") and self.character.container: self.character.container.remove(self.character) #print("Removing") if self.original_scene is not None: self.original_scene.deploy_actor(self.character) elif self.original_container is not None: self.original_container.append(self.character) #print("Appending") else: camp.freeze(self.character) if self.is_lancemate and camp.can_add_lancemate() and self.character.scene is camp.scene: AutoJoiner(self.character)(camp) self.done = True
def freeze_now(self, camp: gears.GearHeadCampaign): camp.freeze(self.elements["NPC"]) self.frozen = True self.vacation_end = camp.day + self.elements.get("DAYS", 5) self.activate(camp)
def _win_challenge(self, camp: gears.GearHeadCampaign): camp.check_trigger("WIN", self) camp.dole_xp(100) camp.freeze(self.elements["CULPRIT"]) camp.credits += gears.selector.calc_mission_reward(self.rank, 150) self.end_plot(camp)