Пример #1
0
    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
Пример #2
0
 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
Пример #3
0
 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)
Пример #4
0
 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)