예제 #1
0
 def _patient_joins(self, camp: gears.GearHeadCampaign):
     patient = self.elements["PATIENT"]
     patient_r = camp.get_relationship(patient)
     patient_r.tags.add(gears.relationships.RT_LANCEMATE)
     patient_r.history.append(
         gears.relationships.Memory(
             "you cured me of {DISEASE}".format(**self.elements),
             "I cured you of {DISEASE}".format(**self.elements), 25,
             (gears.relationships.MEM_AidedByPC, )))
     patient_r.attitude = gears.relationships.A_THANKFUL
     camp.egg.dramatis_personae.add(patient)
     self.got_reward = True
예제 #2
0
def start_conversation(camp: gears.GearHeadCampaign,pc,npc,cue=None):
    # If this NPC has no relationship with the PC, create that now.
    realnpc = npc.get_pilot()
    if realnpc and not realnpc.relationship:
        realnpc.relationship = camp.get_relationship(realnpc)
    if not cue:
        npcteam = camp.scene.local_teams.get(npc)
        if npcteam and camp.scene.player_team.is_enemy(npcteam):
            cue = ATTACK_STARTER
        elif camp.is_favorable_to_pc(realnpc):
            cue = HELLO_STARTER
        elif npc not in camp.party and camp.is_unfavorable_to_pc(realnpc):
            cue = UNFAVORABLE_STARTER
        else:
            cue = HELLO_STARTER
    cviz = ghdview.ConvoVisualizer(npc,camp,pc=pc)
    cviz.rollout()
    convo = pbge.dialogue.DynaConversation(camp,realnpc,pc,cue,visualizer=cviz)
    convo.converse()
    if realnpc:
        realnpc.relationship.met_before = True
예제 #3
0
 def _nurse_joins(self, camp: gears.GearHeadCampaign):
     nurse = self.elements["NURSE"]
     nurse_r = camp.get_relationship(nurse)
     nurse_r.tags.add(gears.relationships.RT_LANCEMATE)
     nurse_r.reaction_mod += 15
     self.got_reward = True