From 4a0bfb901d7cb3e06eb607fd0fc28447ded1da60 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Tue, 21 Jun 2022 13:40:29 +0200 Subject: [PATCH] Victorytext --- ActionBasics.py | 5 ++++- ActionModul.py | 5 +++++ TestModule.py | 2 +- World.py | 10 ++++++++++ world.xml | 6 ++++++ 5 files changed, 26 insertions(+), 2 deletions(-) diff --git a/ActionBasics.py b/ActionBasics.py index 3fcf145..2fd265f 100644 --- a/ActionBasics.py +++ b/ActionBasics.py @@ -120,10 +120,13 @@ class ActionBasics: return None def personVonRaumNachRaum(self, person, vonRaumId, nachRaumId): + logging.debug(f'person Von Raum {vonRaumId} nach {nachRaumId}') vonRaum = self.world.findRaumById(vonRaumId) nachRaum = self.world.findRaumById(nachRaumId) - del vonRaum.personen[person.id] + if person.id in vonRaum.personen: + del vonRaum.personen[person.id] + nachRaum.personen[person.id] = person person.raumid = nachRaumId diff --git a/ActionModul.py b/ActionModul.py index 6f4d0aa..3a49a4f 100644 --- a/ActionModul.py +++ b/ActionModul.py @@ -144,8 +144,12 @@ class ActionModul(ActionBasics): self.setFehler('Du ziehst die Schwimmweste an.') elif self.isItem(item,self.world.ITEM_DIAMANT): if self.isAktuellerRaum(self.world.RAUM_MAUER): + geist = self.world.findPersonById(self.world.PERSON_GEIST) self.world.printText('graböffnung') self.world.aktuellerRaum.ausgaenge[self.world.SUED] = self.world.RAUM_GRAB + self.personVonRaumNachRaum(geist, geist.raum.id, self.world.RAUM_GRAB) + self.world.printText('victory') +# self.world.aktuellerRaum.personen[self.world.PERSON_GEIST] = geist self.ausDemInventar(item) elif self.isItem(item,self.world.ITEM_BOXSACK): self.schlage(parsedCommand) @@ -630,6 +634,7 @@ class ActionModul(ActionBasics): logging.debug(f'gefundener Ausgang: {ausgang}') if ausgang != None: raum = self.world.sucheRaum(ausgang) + else: logging.warn('Keine AusgandId gefunde') self.setFehler("In diese Richtung gibt's keine Ausgang!") diff --git a/TestModule.py b/TestModule.py index 79a538a..2993e4b 100644 --- a/TestModule.py +++ b/TestModule.py @@ -19,11 +19,11 @@ class TestModule: def testOeffneTruhe(self): logging.debug('===== Beginn Testmodul Truhe =====') - pcmd = self.parseInput('nimm Truhe') #Auf den Dachboden self.ac.rauf() self.schrittzaehler += 1 + pcmd = self.parseInput('nimm Truhe') self.ac.nimm(pcmd) self.schrittzaehler += 1 diff --git a/World.py b/World.py index 1fac69b..52870b5 100644 --- a/World.py +++ b/World.py @@ -258,6 +258,16 @@ class World: return person return None + def findPersonById(self,persid): + + for id in self.personen: + person = self.personen[id] + + if person.id == persid: + return person + + return None + def findPersonImAktuellenRaumById(self, personid): raum = self.aktuellerRaum diff --git a/world.xml b/world.xml index 613009d..3b5267f 100644 --- a/world.xml +++ b/world.xml @@ -611,5 +611,11 @@ Du stehst in der Küche. In der Ecke steht ein Kühlschrank. Also du den Diamant in den Sockel setzt, schiebt sich ein Teil der Mauer knirschend nach hinten und gibt einen Durchgang frei. Staubige Luft quillt dir entgegen. + + Henry erscheint und sagt: + "Es war sehr beeindruckend, deine Suche zu verfolgen. Du hast meine Aufgabe erfolgreich zu Ende geführt." + "Endlich kann ich meine Frieden finden." + +