4 Commits
0.16 ... 0.18

Author SHA1 Message Date
Olli Graf
a986d14fbc fehlende Itembeschreibungen ergänzt. 2022-06-18 10:06:42 +02:00
Olli Graf
2cb7358eca Zuul. 2022-06-15 18:48:13 +02:00
Olli Graf
0240e5f441 Der Diamant wird nach der Maueröffnung aus dem Inventar genommen. 2022-06-14 07:19:21 +02:00
Olli Graf
8bd0897af1 Endgame 2022-06-13 17:56:35 +02:00
9 changed files with 180 additions and 19 deletions

View File

@@ -108,6 +108,9 @@ class ActionModul(ActionBasics):
item.zustand = item.OFFEN item.zustand = item.OFFEN
self.macheItemSichtbar(karte) self.macheItemSichtbar(karte)
self.vanishItem(item) self.vanishItem(item)
elif item.id == self.world.ITEM_KUEHLSCHRANK:
logging.debug('öffne Kühlschrank')
self.world.printText('zuul')
@@ -123,11 +126,11 @@ class ActionModul(ActionBasics):
if item.id ==self.world.ITEM_JACKE: if item.id ==self.world.ITEM_JACKE:
self.setFehler('Also du die Jacke anziehst, findest du einen kleine Schlüssel in der Tasche.') self.setFehler('Also du die Jacke anziehst, findest du einen kleine Schlüssel in der Tasche.')
self.findeTruhenschluessel() self.findeTruhenschluessel()
elif item.id == self.world.ITEM_LEITER: elif self.isItem(item,self.world.ITEM_LEITER):
if(self.world.aktuellerRaum.id == self.world.RAUM_ESSZIMMER): if(self.world.aktuellerRaum.id == self.world.RAUM_ESSZIMMER):
logging.debug(f'aktuellerRaum ist {self.world.aktuellerRaum.id}') logging.debug(f'aktuellerRaum ist {self.world.aktuellerRaum.id}')
self.rauf() self.rauf()
elif item.id == self.world.ITEM_PLANKE: elif self.isItem(item,self.world.ITEM_PLANKE):
if self.isAktuellerRaum(self.world.RAUM_BACH): if self.isAktuellerRaum(self.world.RAUM_BACH):
self.baueBruecke() self.baueBruecke()
self.setFehler('Du legst die Planke über den Bach und es ensteht eine Brücke.') self.setFehler('Du legst die Planke über den Bach und es ensteht eine Brücke.')
@@ -136,6 +139,13 @@ class ActionModul(ActionBasics):
elif self.isItem(item, self.world.ITEM_SCHWIMMWESTE): elif self.isItem(item, self.world.ITEM_SCHWIMMWESTE):
item.zustand = item.ANGEZOGEN item.zustand = item.ANGEZOGEN
self.setFehler('Du ziehst die Schwimmweste an.') self.setFehler('Du ziehst die Schwimmweste an.')
elif self.isItem(item,self.world.ITEM_DIAMANT):
if self.isAktuellerRaum(self.world.RAUM_MAUER):
self.world.printText('graböffnung')
self.world.aktuellerRaum.ausgaenge[self.world.SUED] = self.world.RAUM_GRAB
self.ausDemInventar(item)
else:
self.setFehler('Nichts passiert.')

View File

@@ -375,7 +375,14 @@ class TestModule:
# Insel # Insel
self.ac.rauf() self.ac.rauf()
self.schrittzaehler += 1 self.schrittzaehler += 1
# return
# Palme
self.ac.rauf()
self.schrittzaehler += 1
# Insel
self.ac.runter()
self.schrittzaehler += 1
#Beiboot #Beiboot
self.ac.ost() self.ac.ost()
@@ -433,4 +440,16 @@ class TestModule:
def testMauer(self): def testMauer(self):
self.testStatue() self.testStatue()
# Mauer
self.ac.ost()
pcmd = self.parseInput('untersuche Mauer')
self.ac.untersuche(pcmd)
pcmd = self.parseInput('benutze Diamant')
self.ac.benutze(pcmd)
#Grab
self.ac.sued()

View File

@@ -99,7 +99,9 @@ class World:
def fortschritt(self): def fortschritt(self):
anz_raeume, anz_entdeckt = self.zaehleRaeume() anz_raeume, anz_entdeckt = self.zaehleRaeume()
return round((anz_entdeckt/anz_raeume) *100,2) progress = round((anz_entdeckt/anz_raeume) *100,2)
logging.debug(f'anz_raeume={anz_raeume}, entdeckt={anz_entdeckt}, progress={progress}')
return progress
def printRaum(self): def printRaum(self):
raum = self.aktuellerRaum raum = self.aktuellerRaum
@@ -385,18 +387,17 @@ class World:
self.ITEM_NACHTSCHRANK = '8' self.ITEM_NACHTSCHRANK = '8'
self.ITEM_KLEINER_SCHLUESSEL = '9' self.ITEM_KLEINER_SCHLUESSEL = '9'
self.ITEM_JACKE = '10' self.ITEM_JACKE = '10'
self.ITEM_SCHWERT = '11'
self.ITEM_SEIL = '12' self.ITEM_SEIL = '12'
self.ITEM_HAUSTUERSCHLUESSEL = '13' self.ITEM_HAUSTUERSCHLUESSEL = '13'
self.ITEM_RANKGITTER = '14' self.ITEM_RANKGITTER = '14'
self.ITEM_PLANKE = '15' self.ITEM_PLANKE = '15'
self.ITEM_TEICH = '16' self.ITEM_TEICH = '16'
self.ITEM_FISCH = '17' self.ITEM_FISCH = '17'
self.ITEM_SCHWERT = '18'
self.ITEM_BOXSACK = '19' self.ITEM_BOXSACK = '19'
self.ITEM_MAUS = '20' self.ITEM_MAUS = '20'
self.ITEM_BOHNENRANKE = '21' self.ITEM_BOHNENRANKE = '21'
self.ITEM_ELEFANT = '22' self.ITEM_ELEFANT = '22'
self.ITEM_HAFEN = '23'
self.ITEM_GATTER = '25' self.ITEM_GATTER = '25'
self.ITEM_SCHACHTEL = '26' self.ITEM_SCHACHTEL = '26'
self.ITEM_KARTE = '27' self.ITEM_KARTE = '27'
@@ -406,12 +407,13 @@ class World:
self.ITEM_KABINE = '31' self.ITEM_KABINE = '31'
self.ITEM_BEIBOOT = '32' self.ITEM_BEIBOOT = '32'
self.ITEM_DIAMANT = '38' self.ITEM_DIAMANT = '38'
self.ITEM_SOCKEL = '34'
self.ITEM_PALME = '40' self.ITEM_PALME = '40'
self.ITEM_SOCKEL = '41' self.ITEM_SOCKEL = '41'
self.ITEM_KOPF = '42' self.ITEM_KOPF = '42'
self.ITEM_MAUER = '43' self.ITEM_MAUER = '43'
self.ITEM_LOCH = '44' self.ITEM_LOCH = '44'
self.ITEM_PLAKETTE = '45'
self.ITEM_KUEHLSCHRANK = '46'
# Räume # Räume
@@ -453,7 +455,7 @@ class World:
self.RAUM_WALD = '36' self.RAUM_WALD = '36'
self.RAUM_STATUE = '37' self.RAUM_STATUE = '37'
self.RAUM_KOPF = '38' self.RAUM_KOPF = '38'
self.RAUM_MAUER = '41' self.RAUM_MAUER = '39'
self.RAUM_GRAB = '40' self.RAUM_GRAB = '40'

View File

@@ -2,6 +2,7 @@ import xml.etree.ElementTree as ET
from data.Raum import Raum, Befehl, Adjektiv,Gegenstand,Person,TextNode from data.Raum import Raum, Befehl, Adjektiv,Gegenstand,Person,TextNode
import io import io
import logging import logging
from ConfigError import ConfigError
class WorldParser(): class WorldParser():
@@ -17,6 +18,19 @@ class WorldParser():
self.world = world self.world = world
self.textCount = 0 self.textCount = 0
def check(self):
for itemid in self.world.gegenstaende:
item = self.world.gegenstaende[itemid]
textid = 'item-'+ itemid
if textid in self.world.texte:
pass
else:
logging.error(f'keine Beschreibung für Item {itemid} - {item.name}')
raise ValueError('Text ' +textid + ' fehlt')
def parseWorld(self,filename): def parseWorld(self,filename):
tree = ET.parse(filename) tree = ET.parse(filename)
@@ -147,6 +161,8 @@ class WorldParser():
textnode = TextNode(id,item.text) textnode = TextNode(id,item.text)
self.world.texte[id] = textnode self.world.texte[id] = textnode
self.check()

Binary file not shown.

10
map.txt
View File

@@ -3,7 +3,7 @@
^ ^
| |
V V
Schlafzimmer<-->Flur Schlafzimmer<-->Flur<--> Küche
^ ^
| |
V V
@@ -11,10 +11,10 @@
^ ^
| |
V V
Bach<-->Teich Stall Bach<-->Teich
^ ^ ^
| | |
V V V
Wiese<------->Feld Wiese<------->Feld
^ ^ ^ ^
| | | |

13
tomb.py
View File

@@ -128,6 +128,8 @@ def inputLoop(stdscr):
commandid = '0' commandid = '0'
elif debugcommand[1] == 'weg': elif debugcommand[1] == 'weg':
logging.debug(f'gelaufener Weg: {world.weg}') logging.debug(f'gelaufener Weg: {world.weg}')
elif debugcommand[1] == 'unvisited':
debug_NonVisited()
elif command.startswith('auto:'): elif command.startswith('auto:'):
command = command.rstrip() command = command.rstrip()
@@ -158,6 +160,8 @@ def inputLoop(stdscr):
testmodul.testKlippe() testmodul.testKlippe()
elif debugcommand[1] == 'statue': elif debugcommand[1] == 'statue':
testmodul.testStatue() testmodul.testStatue()
elif debugcommand[1] == 'mauer':
testmodul.testMauer()
world.fehler = '' world.fehler = ''
@@ -170,6 +174,15 @@ def inputLoop(stdscr):
verarbeiteBefehl(parsedCommand) verarbeiteBefehl(parsedCommand)
actionmodul.raumaction() actionmodul.raumaction()
def debug_NonVisited():
logging.debug('nicht entdeckte Räume:')
for raumid in world.raumliste:
raum = world.raumliste[raumid]
if not raum.entdeckt:
logging.debug(f'{raum.id} - {raum.name}')
def debug_Personen(): def debug_Personen():
logging.debug('Personen im aktuellen Raum') logging.debug('Personen im aktuellen Raum')

113
world.xml
View File

@@ -16,6 +16,7 @@
<raum id='3' name='Flur'> <raum id='3' name='Flur'>
<ausgang dir='Nord' nachRaum='1' /> <ausgang dir='Nord' nachRaum='1' />
<ausgang dir='West' nachRaum='4' /> <ausgang dir='West' nachRaum='4' />
<ausgang dir='Ost' nachRaum='43' />
<beschreibung> <beschreibung>
Du stehst in Flur vor der Eingangstür, die nach Süden ins Freie führt. Du stehst in Flur vor der Eingangstür, die nach Süden ins Freie führt.
Rechts von der Tür hängt ein abstraktes Bild, links steht eine Pflanze in einer Nische. Rechts von der Tür hängt ein abstraktes Bild, links steht eine Pflanze in einer Nische.
@@ -84,6 +85,7 @@
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='13' name='Wiese'> <raum id='13' name='Wiese'>
<ausgang dir='Nord' nachRaum= '42' />
<ausgang dir='Ost' nachRaum= '11' /> <ausgang dir='Ost' nachRaum= '11' />
<beschreibung> <beschreibung>
@@ -249,12 +251,13 @@
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='39' name='Mauer'> <raum id='39' name='Mauer'>
<ausgang dir='Ost' nachRaum= '37' />
<beschreibung> <beschreibung>
Du stehst vor einer Mauer. Du stehst vor einer Mauer.
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='40' name='Grabkammer'> <raum id='40' name='Grabkammer'>
<ausgang dir='Nord' nachRaum= '38' /> <ausgang dir='Nord' nachRaum= '39' />
<beschreibung> <beschreibung>
Das Grab des Azteken. Du bist am Ziel. Das Grab des Azteken. Du bist am Ziel.
</beschreibung> </beschreibung>
@@ -267,6 +270,20 @@
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='42' name='Stall'>
<ausgang dir='Sued' nachRaum= '13' />
<beschreibung>
Du stehst in einem leeren Pferdestall. Der Boden besteht aus festgestampfter Erde.
Am Tor ist eine Namenplakette angebracht.
</beschreibung>
</raum>
<raum id='43' name='Küche'>
<ausgang dir='West' nachRaum= '3' />
<beschreibung>
Du stehst in der Küche. In der Ecke steht ein Kühlschrank.
</beschreibung>
</raum>
</ebene> </ebene>
<commandset> <commandset>
@@ -355,12 +372,10 @@
<item name='Planke' display='' id='15' raum='7' imobil='false' adjektiv = '0' msgid='3' visible='true' /> <item name='Planke' display='' id='15' raum='7' imobil='false' adjektiv = '0' msgid='3' visible='true' />
<item name='Teich' display='' id='16' raum='10' imobil='true' adjektiv = '0' msgid='2' visible='true' /> <item name='Teich' display='' id='16' raum='10' imobil='true' adjektiv = '0' msgid='2' visible='true' />
<item name='Fisch' display='' id='17' raum='10' imobil='false' adjektiv = '0' msgid='0' visible='false' /> <item name='Fisch' display='' id='17' raum='10' imobil='false' adjektiv = '0' msgid='0' visible='false' />
<item name='Schwert' display='' id='18' raum='-1' imobil='false' adjektiv = '0' msgid='1' visible='false' />
<item name='Boxsack' display='' id='19' raum='1' imobil='true' adjektiv = '0' msgid='1' visible='true' /> <item name='Boxsack' display='' id='19' raum='1' imobil='true' adjektiv = '0' msgid='1' visible='true' />
<item name='Maus' display='tote Maus' id='20' raum='12' imobil='false' adjektiv = '0' msgid='1' visible='true' /> <item name='Maus' display='tote Maus' id='20' raum='12' imobil='false' adjektiv = '0' msgid='1' visible='true' />
<item name='Bohnenranke' id='21' display='' raum='14' imobil='true' adjektiv = '0' msgid='8' visible='true' /> <item name='Bohnenranke' id='21' display='' raum='14' imobil='true' adjektiv = '0' msgid='8' visible='true' />
<item name='Elefant' id='22' display='' raum='15' imobil='true' adjektiv = '0' msgid='9' visible='true' /> <item name='Elefant' id='22' display='' raum='15' imobil='true' adjektiv = '0' msgid='9' visible='true' />
<item name='Hafen' id='23' display='' raum='21' imobil='true' adjektiv = '0' msgid='10' visible='true' />
<item name='Gatter' id='25' display='' raum='13' imobil='true' adjektiv = '0' msgid='11' visible='true' /> <item name='Gatter' id='25' display='' raum='13' imobil='true' adjektiv = '0' msgid='11' visible='true' />
<item name='Schachtel' id='26' display='' raum='24' imobil='false' adjektiv = '0' msgid='11' visible='false' /> <item name='Schachtel' id='26' display='' raum='24' imobil='false' adjektiv = '0' msgid='11' visible='false' />
<item name='Karte' id='27' display='' raum='24' imobil='false' adjektiv = '0' msgid='11' visible='false' /> <item name='Karte' id='27' display='' raum='24' imobil='false' adjektiv = '0' msgid='11' visible='false' />
@@ -371,12 +386,13 @@
<item name='Beiboot' id='32' display='' raum='25' imobil='false' adjektiv = '0' msgid='12' visible='true' /> <item name='Beiboot' id='32' display='' raum='25' imobil='false' adjektiv = '0' msgid='12' visible='true' />
<item name='Plakat' id='33' display='' raum='24' imobil='false' adjektiv='0' msgid='3' visible='true' /> <item name='Plakat' id='33' display='' raum='24' imobil='false' adjektiv='0' msgid='3' visible='true' />
<item name='Diamant' id='38' display='' raum='38' imobil='false' adjektiv='0' msgid='3' visible='false' /> <item name='Diamant' id='38' display='' raum='38' imobil='false' adjektiv='0' msgid='3' visible='false' />
<item name='Sockel' id='39' display='' raum='39' imobil='false' adjektiv='0' msgid='3' visible='false' />
<item name='Palme' id='40' display='' raum='30' imobil='true' adjektiv='0' msgid='8' visible='true' /> <item name='Palme' id='40' display='' raum='30' imobil='true' adjektiv='0' msgid='8' visible='true' />
<item name='Sockel' id='41' display='' raum='39' imobil='true' adjektiv='0' msgid='8' visible='false' /> <item name='Sockel' id='41' display='' raum='39' imobil='true' adjektiv='0' msgid='8' visible='false' />
<item name='Mauer' id='43' display='' raum='39' imobil='true' adjektiv='0' msgid='8' visible='true' /> <item name='Mauer' id='43' display='' raum='39' imobil='true' adjektiv='0' msgid='8' visible='true' />
<item name='Kopf' id='42' display='' raum='38' imobil='true' adjektiv='0' msgid='12' visible='true' /> <item name='Kopf' id='42' display='' raum='38' imobil='true' adjektiv='0' msgid='12' visible='true' />
<item name='Loch' id='44' display='' raum='30' imobil='true' adjektiv='0' msgid='8' visible='true' /> <item name='Loch' id='44' display='' raum='30' imobil='true' adjektiv='0' msgid='8' visible='true' />
<item name='Plakette' id='45' display='' raum='42' imobil='true' adjektiv='0' msgid='2' visible='true' />
<item name='Kühlschrank' id='46' display='' raum='43' imobil='true' adjektiv='0' msgid='2' visible='true' />
</items> </items>
<personen> <personen>
@@ -407,9 +423,42 @@
<text id='2'> <text id='2'>
In einer Schreibtischschublade findest du einen Schlüssel. In einer Schreibtischschublade findest du einen Schlüssel.
</text> </text>
<text id='item-1'>
Der Wohnzimmertisch ist leer.
</text>
<text id='item-2'>
Sie führt nach oben.
</text>
<text id='item-3'>
Eine massive Truhe aus Holz. Sie ist mit Eisenbändern verstärkt und besitzt ein kleines Schloss.
</text>
<text id='item-4'> <text id='item-4'>
Audrey II Audrey II
</text> </text>
<text id='item-5'>
Eine einfache Tür.
</text>
<text id='item-6'>
Der Krug ist aus gebrannten und glasiertem Ton mit einem Henkel an der Seite.
</text>
<text id='item-7'>
Das Bett ist frisch bezogen.
</text>
<text id='item-8'>
Ein Schränkchen mit einer Schublade.
</text>
<text id='item-9'>
Ein ganz normaler Schlüssel. Er schimmert etwas bläulich.
</text>
<text id='item-10'>
Die Jacke ist aus rotem Leinenstoff genäht.
</text>
<text id='item-11'>
Für ein Schwert ist es relativ klein (könnte auch ein Brieföffner sein). Auf der Klinge ist das Wort "Stich" eingraviert.
</text>
<text id='item-12'>
Das Seil ist etwa 5m lang und könnte aus Garnfasern geflochten sein. Es ist stark genug, dein Gewicht zu tragen.
</text>
<text id='item-13'> <text id='item-13'>
Der Schlüssel schimmert etwas bläulich. Der Schlüssel schimmert etwas bläulich.
</text> </text>
@@ -431,6 +480,10 @@
<text id='item-20'> <text id='item-20'>
Die ist mausetot. Die ist mausetot.
</text> </text>
<text id='item-21'>
Ein Bohnengewächs der märchenhaften Gattung vigna hans in beatitudinem.
Sie ist etwas mickrig und braucht Pflege.
</text>
<text id='item-21-0'> <text id='item-21-0'>
Ein Bohnengewächs der märchenhaften Gattung vigna hans in beatitudinem. Ein Bohnengewächs der märchenhaften Gattung vigna hans in beatitudinem.
Sie ist etwas mickrig und braucht Pflege. Sie ist etwas mickrig und braucht Pflege.
@@ -446,13 +499,32 @@
<text id='item-22'> <text id='item-22'>
Der Elefantbulle ist mindestens fünf Meter größer als du und hat zwei beeindruckende Stoßzähne. Er versperrt den Ausgang. Der Elefantbulle ist mindestens fünf Meter größer als du und hat zwei beeindruckende Stoßzähne. Er versperrt den Ausgang.
</text> </text>
<text id='item-25'>
Das Gatter ist im südlichen Teil der Wiesenumzäunung angebracht.
</text>
<text id='item-26'> <text id='item-26'>
Eine einfache Schachtel aus Pappe. Jemand hat "Eigentum von Henry" auf die Oberseite geschrieben. Eine einfache Schachtel aus Pappe. Jemand hat "Eigentum von Henry" auf die Oberseite geschrieben.
</text> </text>
<text id='item-27'>
Dies ist die Karte von der Henry die erzählt hat.
</text>
<text id='item-28'> <text id='item-28'>
Das Segelboot besitzt einen weißen Rumpf und ein schwarzes Dreieckssegel. Am Heck steht keine Name geschrieben, dafür ist eine schwarze Perle Das Segelboot besitzt einen weißen Rumpf und ein schwarzes Dreieckssegel. Am Heck steht keine Name geschrieben, dafür ist eine schwarze Perle
aufgemalt. aufgemalt.
</text> </text>
<text id='item-29'>
Die Fackel hättest du schon eher brauchen können.
</text>
<text id='item-30'>
Eine orangefarbene Rettungsweste, die dir im Wasser genügend Auftrieb verleiht. Solltest du auf einen Eisberg treffen, bist
du in Sicherheit.
</text>
<text id='item-31'>
Die Luft ist abgestanden und durch das ungeputzte Bullauge dringt kaum Licht.
</text>
<text id='item-32'>
Mit dem Beiboot kann man durch flacheres Wasser fahren. Und, falls ein Eisberg...
</text>
<text id='item-33'> <text id='item-33'>
--------- ---------
| No | | No |
@@ -460,13 +532,32 @@
| Club | | Club |
---------- ----------
</text> </text>
<text id='item-38'>
Der Diamant ist oktaederförmig geschliffen und funkelt im Sonnenlicht.
</text>
<text id='item-41'> <text id='item-41'>
Die Mauer wurde scheinbar vor ewigen Zeiten aus getrockneten Lehmziegel errichtet und die Fugen Der Sockel dient seiner Form nach zur Aufnahme eines achtseitigen Gegenstands.
anschlißend mit Lehm verputzt. </text>
<text id='item-40'>
Eine einzelne Palme. Irgendwer hat die Kokosnuss geklaut.
</text> </text>
<text id='item-42'> <text id='item-42'>
Der Kopf repräsentiert einen dir unbekannten Mann, der würdevoll über seine linke Schulter schaut. Der Kopf repräsentiert einen dir unbekannten Mann, der würdevoll über seine linke Schulter schaut.
</text> </text>
<text id='item-43'>
Die Mauer wurde scheinbar vor ewigen Zeiten aus getrockneten Lehmziegel errichtet und die Fugen
anschlißend mit Lehm verputzt.
</text>
<text id='item-44'>
Ein in den Sand gegrabenes Loch.
</text>
<text id='item-45'>
Horst.
Der Pferd heisst Horst.
</text>
<text id='item-46'>
Wie überraschend, er ist weiß.
</text>
<text id='raum-21'> <text id='raum-21'>
Im Tunnel ist es zu dunkel, um etwas zu sehen. Aber du spürst einen leichten Wind, der von Osten durch den Tunnel weht. Im Tunnel ist es zu dunkel, um etwas zu sehen. Aber du spürst einen leichten Wind, der von Osten durch den Tunnel weht.
</text> </text>
@@ -484,6 +575,12 @@
der Oberkörper ist frei. der Oberkörper ist frei.
Er scheint offensichtlich zu frieren. Er scheint offensichtlich zu frieren.
</text> </text>
<text id='zuul'>
*** * * * * *
* * * * * *
* * * * * *
**** ***** ***** *****
</text>
<text id='hilfe'> <text id='hilfe'>
Das Grab des Azteken ist ein klassisches Textadventure. Das Grab des Azteken ist ein klassisches Textadventure.
Es ist eine Adaption des gleichnamigen Adventures auf dem C64. Es ist eine Adaption des gleichnamigen Adventures auf dem C64.
@@ -508,5 +605,9 @@
<text id='jackewurf'> <text id='jackewurf'>
Der Stier ist völlig fasziniert, als du die Jacke hin und herschwenkst. Als du sie nach Osten wirfst, schaubt er einmal auf und rennt hinter her. Der Stier ist völlig fasziniert, als du die Jacke hin und herschwenkst. Als du sie nach Osten wirfst, schaubt er einmal auf und rennt hinter her.
</text> </text>
<text id='graböffnung'>
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.
</text>
</texte> </texte>
</welt> </welt>