11 Commits
0.14 ... 0.17

Author SHA1 Message Date
Olli Graf
8bd0897af1 Endgame 2022-06-13 17:56:35 +02:00
Olli Graf
ebdf22f6a6 Diamant und Sockel werden sichtbar. 2022-06-13 14:59:55 +02:00
Olli Graf
7bd3ecaba0 Bis Statuenkopf.
Diamant wird sichtbar.
2022-06-12 16:04:41 +02:00
Olli Graf
0ff17aac13 uto: bis zur Klippe. 2022-06-11 14:08:42 +02:00
Olli Graf
3b848ffb80 Schwimmweste anziehen. 2022-06-10 10:26:41 +02:00
Olli Graf
53579c466b Die Jacke ist nicht mehr verfügbar, wenn der Zwerg sie hat. 2022-06-10 09:51:59 +02:00
Olli Graf
6fb8fc6ecd Schtel und Krug lösen sich auf. 2022-06-10 00:48:03 +02:00
Olli Graf
f10378162d Rückweg von Insel ins Beiboot ins Boot. 2022-06-10 00:29:24 +02:00
Olli Graf
6905936fc3 Loch erreichbar.
Beschreibung abhängig vom Zustand der Fackel
2022-06-09 19:02:15 +02:00
Olli Graf
5efd052927 flexibler Ausgang aus dem Beiboot. 2022-06-06 20:07:21 +02:00
Olli Graf
278cb17675 Die Kabine bewegt sich mit dem Boot mit.
Raum Boot2 ist erreichbar.
2022-06-06 16:53:53 +02:00
11 changed files with 424 additions and 49 deletions

View File

@@ -5,6 +5,7 @@ class ActionBasics:
def __init__(self,world):
self.world = world
self.alleBootRaeume = [world.RAUM_BOOT, world.RAUM_BOOT2, world.RAUM_BOOT3]
def debug(self, method, text):
logging.debug(f'ActionBasics: {text}')
@@ -24,7 +25,40 @@ class ActionBasics:
def clearFehler(self):
self.world.fehler = ''
def wechsleBoot(self,raum):
kabine = self.world.findItemById(self.world.ITEM_KABINE)
raumkabine = self.world.findRaumById(self.world.RAUM_KABINE)
beiboot = self.world.findItemById(self.world.ITEM_BEIBOOT)
if raum.id in self.alleBootRaeume:
raumkabine.ausgaenge[self.world.RAUF] = raum.id
self.moveItemVonRaumNachRaum(kabine,raum)
self.moveItemVonRaumNachRaum(beiboot,raum)
def wechsleRaum(self,raum):
logging.debug(f'wechsle in RaumId: {raum.id}')
if raum.id in self.alleBootRaeume:
logging.debug('wechsle nach anderen Bootraum')
self.wechsleBoot(raum)
elif raum.id == self.world.RAUM_BEIBOOT:
beiboot = self.world.findRaumById(self.world.RAUM_BEIBOOT)
logging.debug(f'Pfad: {self.world.weg}')
bootraum = self.world.findRaumById(self.world.weg[-1])
logging.debug(f'wechsle ins Beiboot bootraum.id= {bootraum.id}')
if(bootraum.id in self.alleBootRaeume):
beiboot.ausgaenge[self.world.RAUF] = bootraum.id
else:
if bootraum.id == self.world.RAUM_INSEL:
beiboot.ausgaenge[self.world.RAUF] = self.world.RAUM_BOOT3
else:
beiboot.ausgaenge[self.world.RAUF] = '-1'
logging.debug(f'Ausgang RAUF im Beiboot ist {beiboot.ausgaenge[self.world.RAUF]}')
beiboot.ausgaenge[self.world.OST] = '-1'
if self.world.weg[-1] == self.world.RAUM_BOOT2:
beiboot.ausgaenge[self.world.OST] = self.world.RAUM_INSEL
self.world.weg.append(raum.id)
self.world.aktuellerRaum = raum
raum.entdeckt = True
@@ -42,6 +76,15 @@ class ActionBasics:
logging.debug(f'ins Inventar {item.name}')
self.insInventar(item)
def moveItemVonRaumNachRaum(self,item, raum):
if item.id in self.world.aktuellerRaum.items:
logging.debug(f'entferne {item.name} aus Raum {self.world.aktuellerRaum.id}')
del self.world.aktuellerRaum.items[item.id]
logging.debug(f'bewege {item.name} nach {raum.id}')
item.raumid = raum.id
raum.items[item.id] = item
def moveItemVonInventarNachRaum(self,item, nachRaumId):
del self.world.inventar[item.id]
logging.debug(f' Item {item.name} nach RaumId {nachRaumId}')

View File

@@ -42,7 +42,6 @@ class ActionModul(ActionBasics):
else:
self.setFehler('Das sehe ich hier nicht.')
def vanishItem(self, item):
if item == None:
@@ -108,6 +107,7 @@ class ActionModul(ActionBasics):
logging.debug('Schachtel öffnen')
item.zustand = item.OFFEN
self.macheItemSichtbar(karte)
self.vanishItem(item)
@@ -123,16 +123,26 @@ class ActionModul(ActionBasics):
if item.id ==self.world.ITEM_JACKE:
self.setFehler('Also du die Jacke anziehst, findest du einen kleine Schlüssel in der Tasche.')
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):
logging.debug(f'aktuellerRaum ist {self.world.aktuellerRaum.id}')
self.rauf()
elif item.id == self.world.ITEM_PLANKE:
elif self.isItem(item,self.world.ITEM_PLANKE):
if self.isAktuellerRaum(self.world.RAUM_BACH):
self.baueBruecke()
self.setFehler('Du legst die Planke über den Bach und es ensteht eine Brücke.')
else:
self.setFehler('Das macht hier keinen Sinn.')
elif self.isItem(item, self.world.ITEM_SCHWIMMWESTE):
item.zustand = item.ANGEZOGEN
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
else:
self.setFehler('Nichts passiert.')
def baueBruecke(self):
@@ -180,6 +190,11 @@ class ActionModul(ActionBasics):
if self.isAktuellerRaum(self.world.RAUM_TUNNEL):
self.world.printText(f'raum-{self.world.RAUM_TUNNEL}')
self.world.aktuellerRaum.ausgaenge[self.world.OST] = self.world.RAUM_HAFEN
elif self.isAktuellerRaum(self.world.RAUM_KOPF):
diamant = self.world.findItemById(self.world.ITEM_DIAMANT)
self.macheItemSichtbar(diamant)
def untersuchePerson(self,person):
@@ -205,11 +220,16 @@ class ActionModul(ActionBasics):
def leere(self, parsedCommand):
item = self.world.findItemImInventar(parsedCommand.gegenstand)
if item == None:
self.setFehler('Das trägst du nicht bei dir.')
return
if item.id == self.world.ITEM_KRUG:
if self.isAktuellerRaum(self.world.RAUM_BRACHLAND):
if item.zustand == item.VOLL:
ranke = self.world.findItemById(self.world.ITEM_BOHNENRANKE)
fisch = self.world.findItemImInventarById(self.world.ITEM_FISCH)
krug = self.world.findItemImInventarById(self.world.ITEM_KRUG)
logging.debug(f'Fisch ist {fisch}')
@@ -228,7 +248,8 @@ class ActionModul(ActionBasics):
self.setFehler(meldung)
if ranke.zustand == ranke.GROSS:
self.world.aktuellerRaum.ausgaenge[self.world.RAUF] = self.world.RAUM_BOHNENRANKE
self.setFehler('Die Bohnenranke reicht jetzt bis in die Wolken hinein.')
self.setFehler('Die Bohnenranke reicht jetzt bis in die Wolken hinein.Der Krug löst sich auf')
self.vanishItem(krug)
else:
self.setFehler('Der Krug ist leer')
else:
@@ -254,7 +275,6 @@ class ActionModul(ActionBasics):
logging.debug(f'untersuche() suche nach Gegenstand: {parsedCommand.gegenstand}')
if parsedCommand.gegenstand == None:
self.untersucheAktuellenRaum(parsedCommand)
return
item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand)
@@ -263,6 +283,7 @@ class ActionModul(ActionBasics):
return
if item != None:
logging.debug(f'item.id = {item.id}')
if item.id == self.world.ITEM_PFLANZE:
krug = self.world.findRaumItemById(self.world.ITEM_KRUG)
logging.debug(f'mache Gegenstand {krug.name} sichtbar')
@@ -294,6 +315,16 @@ class ActionModul(ActionBasics):
self.ausDemInventar(item)
elif self.isItem(item,self.world.ITEM_KARTE):
self.world.printKarte()
elif self.isItem(item, self.world.ITEM_KOPF):
self.zeigeItemBeschreibung(item)
diamant = self.world.findItemById(self.world.ITEM_DIAMANT)
self.macheItemSichtbar(diamant)
elif self.isItem(item, self.world.ITEM_MAUER):
self.setFehler('In der Mauer wird ein Sockel sichtbar.')
sockel = self.world.findItemById(self.world.ITEM_SOCKEL)
self.macheItemSichtbar(sockel)
else:
self.zeigeItemBeschreibung(item)
@@ -405,9 +436,10 @@ class ActionModul(ActionBasics):
def nimm(self,parsedCommand):
logging.debug(f'start nimm() {parsedCommand.gegenstand}')
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
logging.debug(f'nimm(): item == {item}')
logging.debug(f'nimm(): item == {item.name}')
if item != None:
if item.imobil:
text = self.world.msg[item.pickupmsg]
@@ -448,6 +480,19 @@ class ActionModul(ActionBasics):
def spring(self,parsedCommand):
if self.isAktuellerRaum(self.world.RAUM_KLIPPE):
weste = self.world.findItemImInventarById(self.world.ITEM_SCHWIMMWESTE)
logging.debug(f'weste={weste.zustand}')
if weste != None and weste.zustand == weste.ANGEZOGEN:
imwasser = self.world.findRaumById(self.world.RAUM_WASSER)
self.wechsleRaum(imwasser)
else:
self.setFehler('Das Wasser ist viel zu tief, du würdest ertrinken.')
def sprich(self,parsedCommand):
person = self.world.findPersonImAktuellenRaum(parsedCommand.gegenstand)
@@ -468,11 +513,24 @@ class ActionModul(ActionBasics):
if item == None:
self.setFehler('Das gibts hier nicht.')
return
logging.debug(f'ItemId: {item.id}')
if self.isItemAndAktRaum(item, self.world.ITEM_LEITER, self.world.RAUM_ESSZIMMER):
self.rauf()
elif self.isItemAndAktRaum(item, self.world.ITEM_BOOT, self.world.RAUM_HAFEN):
boot = self.world.sucheRaum(self.world.RAUM_BOOT)
self.wechsleRaum(boot)
elif self.isItemAndAktRaum(item, self.world.ITEM_LOCH, self.world.RAUM_INSEL):
self.runter()
elif self.isItem(item,self.world.ITEM_KABINE):
logging.debug(f'gehe in Kabine')
raumid = self.world.aktuellerRaum.id
kabine = self.world.sucheRaum(self.world.RAUM_KABINE)
kabine.ausgaenge[self.world.RAUF] = raumid
self.wechsleRaum(kabine)
elif self.isItem(item, self.world.ITEM_BEIBOOT):
beiboot = self.world.findRaumById(self.world.RAUM_BEIBOOT)
self.wechsleRaum(beiboot)
else:
self.setFehler('Das gibt\'s hier nicht.')
@@ -510,6 +568,46 @@ class ActionModul(ActionBasics):
self.setFehler('Der Zwerg zieht sich die Jacke an, lächelt dankbar und verschwindet.')
del self.world.aktuellerRaum.personen[zwerg.id]
self.macheItemSichtbar(schachtel)
self.vanishItem(item)
def toggleFackel(self,item):
weste = self.world.findItemById(self.world.ITEM_SCHWIMMWESTE)
if item.zustand == item.GELOESCHT:
item.zustand = item.ENTZUENDED
weste.sichtbar = True
self.setFehler('Die Fackel brennt jetzt.')
else:
item.zustand = item.GELOESCHT
if self.world.findItemImInventarById(self.world.ITEM_SCHWIMMWESTE) != None:
weste.sichtbar = False
self.setFehler('Du löscht die Fackel.')
def entzuende(self,parsedCommand):
logging.debug(f'entzünde {parsedCommand.gegenstand}')
item = self.world.findItemImInventar(parsedCommand.gegenstand)
if item == None:
self.setFehler('Das besitzt du nicht.')
return
logging.debug(f'item={item}')
if self.isItem(item, self.world.ITEM_FACKEL):
self.toggleFackel(item)
def loesche(self,parsedCommand):
item = self.world.findItemImInventar(parsedCommand.gegenstand)
if item == None:
self.setFehler('Das besitzt du nicht.')
if self.isItem(item, self.world.ITEM_FACKEL):
self.toggleFackel(item)
def geheNach(self,richtung):

View File

@@ -44,7 +44,6 @@ class TestModule:
self.ac.untersuche(pcmd)
self.schrittzaehler += 1
self.debug(f'Ausgänge: {self.world.aktuellerRaum.ausgaenge}')
# In den Keller
self.ac.runter()
self.schrittzaehler += 1
@@ -101,6 +100,8 @@ class TestModule:
self.schrittzaehler += 1
pcmd = self.parseInput('nimm Krug')
logging.debug(f'Inventar nach nimm Krug {self.world.inventar}')
self.ac.nimm(pcmd)
self.schrittzaehler += 1
pcmd = self.parseInput('öffne Haustür')
@@ -145,8 +146,6 @@ class TestModule:
self.testTeich()
logging.debug('===== Beginn Testmodul Stier =====')
pcmd = self.parseInput('nimm Fisch')
self.ac.nimm(pcmd)
# zum Bach
self.ac.west()
@@ -322,20 +321,135 @@ class TestModule:
self.ac.ost()
self.schrittzaehler += 1
def testInsel(self):
self.testHafen()
#Boot
pcmd = self.parseInput('gehe Boot')
self.ac.gehe(pcmd)
self.schrittzaehler += 1
#Kabine
pcmd = self.parseInput('gehe Kabine')
self.ac.gehe(pcmd)
self.schrittzaehler += 1
pcmd = self.parseInput('nimm Fackel')
self.ac.nimm(pcmd)
self.schrittzaehler += 1
#Boot
self.ac.rauf()
self.schrittzaehler += 1
# vor Insel
self.ac.sued()
self.schrittzaehler += 1
#Beiboot
pcmd = self.parseInput('gehe Beiboot')
self.ac.gehe(pcmd)
self.schrittzaehler += 1
# Insel
self.ac.ost()
self.schrittzaehler += 1
def testKlippe(self):
self.testInsel()
logging.debug('===== Beginn Testmodul Klippe =====')
pcmd = self.parseInput('entzünde Fackel')
self.ac.entzuende(pcmd)
self.schrittzaehler += 1
#Loch
self.ac.runter()
self.schrittzaehler += 1
pcmd = self.parseInput('nimm Schwimmweste')
self.ac.nimm(pcmd)
self.schrittzaehler += 1
# Insel
self.ac.rauf()
self.schrittzaehler += 1
# Palme
self.ac.rauf()
self.schrittzaehler += 1
# Insel
self.ac.runter()
self.schrittzaehler += 1
#Beiboot
self.ac.ost()
self.schrittzaehler += 1
#Boot
self.ac.rauf()
self.schrittzaehler += 1
#klippe
self.ac.nord()
self.schrittzaehler += 1
pcmd = self.parseInput('benutze Schwimmweste')
self.ac.benutze(pcmd)
self.schrittzaehler += 1
#Wasser
pcmd = self.parseInput('spring')
self.ac.spring(pcmd)
self.schrittzaehler += 1
def testStatue(self):
self.testKlippe()
#Strand
self.ac.sued()
self.schrittzaehler += 1
#Wald
self.ac.ost()
self.schrittzaehler += 1
#Statue
self.ac.nord()
self.schrittzaehler += 1
#Kopf
self.ac.rauf()
self.schrittzaehler += 1
pcmd = self.parseInput('untersuche Kopf')
self.ac.untersuche(pcmd)
self.schrittzaehler += 1
pcmd = self.parseInput('nimm Diamant')
self.ac.nimm(pcmd)
self.schrittzaehler += 1
#Statue
self.ac.runter()
self.schrittzaehler += 1
def testMauer(self):
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,17 +99,30 @@ class World:
def fortschritt(self):
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):
raum = self.aktuellerRaum
beschreibung = self.aktuellerRaum.beschreibung
if self.aktuellerRaum.id == self.RAUM_LOCH:
fackel = self.findItemImInventarById(self.ITEM_FACKEL)
logging.debug(f'fackel={fackel}')
if fackel != None:
textid=f'raum-{self.RAUM_LOCH}-{fackel.zustand}'
beschreibung = self.texte[textid].name
self.clearScreen()
if self.fehler != None and self.fehler != '':
self.stdscr.addstr(self.fehler,curses.color_pair(1))
self.stdscr.addstr(3,0,'aktueller Raum: ' + raum.name,curses.color_pair(3))
self.stdscr.addstr(4,0,raum.beschreibung)
self.stdscr.addstr(4,0,beschreibung)
self.stdscr.addstr(7,0,'Gegenstände: ' + str(raum.labelsGegenstaende()),curses.color_pair(2))
self.stdscr.addstr(8,0,'Inventar: '+ str(self.labelsInventar()), curses.color_pair(2))
self.stdscr.addstr(9,0,'Personen: ' + str(raum.labelsPersonen()),curses.color_pair(2))
@@ -158,6 +171,7 @@ class World:
return raum
return None
def sucheRaumName(self,name):
if name == None:
return self.aktuellerRaum
@@ -203,6 +217,7 @@ class World:
logging.debug(f'item.raumid={item.raumid}')
logging.debug(f'findItemInAktuellerRaum() {itemname} - {item.name}')
if item.raumid == raum.id and item.name.lower() == itemname.lower():
logging.debug(f'return {item.name}')
return item
logging.debug(f'Item {itemname} nicht im aktuellen Raum gefunden')
@@ -321,6 +336,8 @@ class World:
return count, entdeckt
def findPrevRaumId(self):
return self.weg[-1]
def debug_Items(self):
logging.debug('liste Items')
@@ -348,6 +365,8 @@ class World:
self.objekte = {}
self.sortouts = []
self.texte = {}
self.weg = []
self.vorraum = '-1'
self.aktuellerRaum = None
self.parsedCommand = None
self.NOEXIT = '-1'
@@ -388,6 +407,13 @@ class World:
self.ITEM_SCHWIMMWESTE = '30'
self.ITEM_KABINE = '31'
self.ITEM_BEIBOOT = '32'
self.ITEM_DIAMANT = '38'
self.ITEM_SOCKEL = '34'
self.ITEM_PALME = '40'
self.ITEM_SOCKEL = '41'
self.ITEM_KOPF = '42'
self.ITEM_MAUER = '43'
self.ITEM_LOCH = '44'
# Räume
@@ -429,6 +455,10 @@ class World:
self.RAUM_WALD = '36'
self.RAUM_STATUE = '37'
self.RAUM_KOPF = '38'
self.RAUM_MAUER = '39'
self.RAUM_GRAB = '40'

View File

@@ -123,6 +123,9 @@ class WorldParser():
gegenstand.pickupmsg = msgid
# logging.debug('Item ' + gegenstand.name + ' - Pickup: ' + gegenstand.pickupmsg)
if id in self.world.gegenstaende:
raise ValueError(f'dopplete Item-Id {id}')
self.world.gegenstaende[id] = gegenstand
# Personen

View File

@@ -16,6 +16,7 @@ class Raum(SuperNode):
self.beschreibung=beschreibung
self.pickupmsg = ''
self.entdeckt = False
self.vorraum = '-1'
self.ausgaenge = {
'0': '-1', # Nord
'1': '-1', # West
@@ -80,6 +81,10 @@ class Gegenstand(SuperNode):
self.LEER = 0
self.VOLL = 1
self.HAENGEND = 0
self.GELOESCHT = 0
self.ENTZUENDED = 1
self.ANGEZOGEN = 1
self.zustand = self.GESCHLOSSEN
class Adjektiv(SuperNode):

Binary file not shown.

View File

@@ -43,8 +43,8 @@
^ ^ \ ^ ^
| | Kabine | |
Boot2 | | |
| | / | |
V V / V V
| | / \ | |
V V / \ V V
Baum <--> Baumhaus Klippe<-->Strand<--> Wald Grabkammer
| |
| Boot3

32
tomb.py
View File

@@ -70,6 +70,12 @@ def verarbeiteBefehl(parsedCommand):
actionmodul.wirf(parsedCommand)
elif id == '29':
actionmodul.gib(parsedCommand)
elif id == '30':
actionmodul.entzuende(parsedCommand)
elif id == '31':
actionmodul.loesche(parsedCommand)
elif id == '32':
actionmodul.spring(parsedCommand)
elif id == '-1':
world.fehler = 'Ich verstehe diesen Befehl nicht'
else:
@@ -120,6 +126,10 @@ def inputLoop(stdscr):
elif debugcommand[1] == 'karte':
world.printKarte()
commandid = '0'
elif debugcommand[1] == 'weg':
logging.debug(f'gelaufener Weg: {world.weg}')
elif debugcommand[1] == 'unvisited':
debug_NonVisited()
elif command.startswith('auto:'):
command = command.rstrip()
@@ -144,6 +154,15 @@ def inputLoop(stdscr):
elif debugcommand[1] == 'hafen':
testmodul.testHafen()
elif debugcommand[1] == 'insel':
testmodul.testInsel()
elif debugcommand[1] == 'klippe':
testmodul.testKlippe()
elif debugcommand[1] == 'statue':
testmodul.testStatue()
elif debugcommand[1] == 'mauer':
testmodul.testMauer()
world.fehler = ''
@@ -155,6 +174,15 @@ def inputLoop(stdscr):
verarbeiteBefehl(parsedCommand)
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():
logging.debug('Personen im aktuellen Raum')
@@ -164,14 +192,14 @@ def debug_Personen():
logging.debug(f'Id: {person.id} - Name: {person.name}')
def debug_Items():
logging.debug('liste Items')
logging.debug('liste Items im aktuellen Raum')
logging.debug(world.aktuellerRaum.items)
count = 0
for itemid in world.aktuellerRaum.items:
item = world.aktuellerRaum.items[itemid]
logging.debug(f'count= {count}')
# logging.debug(f'Itemtyp: {type(item)}')
logging.debug(f'Item-IdId:{item.id} - Item-Name:{item.name}')
logging.debug(f'Item-IdId:{item.id} - Item-Name:{item.name} - sichtbar= {item.sichtbar}')
count = count +1
def debug_Inventar():

View File

@@ -165,55 +165,58 @@
</beschreibung>
</raum>
<raum id='25' name='Boot'>
<ausgang dir='Süd' nachRaum= '26' />
<ausgang dir='Sued' nachRaum= '27' />
<ausgang dir='runter' nachRaum='26' />
<beschreibung>
Du stehst an Deck des Segelboots
</beschreibung>
</raum>
<raum id='26' name='Kabine'>
<ausgang dir='Süd' nachRaum= '26' />
<ausgang dir='Rauf' nachRaum= '25' />
<beschreibung>
In der Kabine ist die Luft etwas abgestanden. Zum Glück steht die Luke offen, um frische Luft hineinzulassen.
</beschreibung>
</raum>
<raum id='27' name='Boot'>
<ausgang dir='d' nachRaum= '26' />
<ausgang dir='Nord' nachRaum= '33' />
<beschreibung>
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
</beschreibung>
</raum>
<raum id='28' name='Beiboot'>
<ausgang dir='Ost' nachRaum= '30' />
<beschreibung>
Im Beiboot
Das Beiboot ist geeignet, in seichterem Wasser weiterzufahren. Links und rechts ist jeweils ein Ruder angebracht.
</beschreibung>
</raum>
<raum id='30' name='Insel'>
<ausgang dir='Süd' nachRaum= '26' />
<ausgang dir='Ost' nachRaum= '28' />
<ausgang dir='Runter' nachRaum= '31' />
<ausgang dir='Rauf' nachRaum= '41' />
<beschreibung>
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
Auf der Insel wächst eine einzelne Palme. In Sand hat jemand ein großes Loch gegraben.
</beschreibung>
</raum>
<raum id='31' name='Loch'>
<ausgang dir='Süd' nachRaum= '26' />
<ausgang dir='Rauf' nachRaum= '30' />
<beschreibung>
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
Im Loch.
</beschreibung>
</raum>
<raum id='32' name='Boot'>
<ausgang dir='d' nachRaum= '26' />
<ausgang dir='Nord' nachRaum= '33' />
<beschreibung>
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
</beschreibung>
</raum>
<raum id='33' name='Klippe'>
<ausgang dir='Süd' nachRaum= '26' />
<ausgang dir='Sued' nachRaum= '32' />
<beschreibung>
Das Boot liegt vor einer Klippe. Neben dieser ist ein Kiesstrand zu erkennen.
</beschreibung>
</raum>
<raum id='34' name='Im Wasser'>
<ausgang dir='Süd' nachRaum= '26' />
<ausgang dir='Sued' nachRaum= '35' />
<beschreibung>
Du treibst im Wasser. Glücklicherweise hast du deine Rettungsweste an.
</beschreibung>
@@ -226,33 +229,45 @@
</raum>
<raum id='36' name='Wald'>
<ausgang dir='West' nachRaum= '35' />
<ausgang dir='Nord' nachRaum= '37' />
<beschreibung>
Ein alter, dichter Laubwald.
</beschreibung>
</raum>
<raum id='37' name='Statue'>
<ausgang dir='Rauf' nachRaum= '37' />
<ausgang dir='Ost' nachRaum= '38' />
<ausgang dir='Rauf' nachRaum= '38' />
<ausgang dir='Ost' nachRaum= '39' />
<ausgang dir='Sued' nachRaum= '36' />
<beschreibung>
Du stehst vor einer etwa 10m hohen Statue
</beschreibung>
</raum>
<raum id='37' name='Auf dem Kopf der Statue'>
<raum id='38' name='Auf dem Kopf der Statue'>
<ausgang dir='Runter' nachRaum= '37' />
<beschreibung>
Nach einer kleinen Kletterpartie stehst du stehst auf dem Kopf der Statue.
Nach einer kleinen Kletterpartie stehst du auf dem Kopf der Statue.
</beschreibung>
</raum>
<raum id='38' name='Mauer'>
<raum id='39' name='Mauer'>
<ausgang dir='Ost' nachRaum= '37' />
<beschreibung>
Du stehst vor einer Mauer.
</beschreibung>
</raum>
<raum id='39' name='Grabkammer'>
<ausgang dir='Nord' nachRaum= '38' />
<raum id='40' name='Grabkammer'>
<ausgang dir='Nord' nachRaum= '39' />
<beschreibung>
Das Grab des Azteken. Du bist am Ziel.
</beschreibung>
</raum>
<raum id='41' name='Palme'>
<ausgang dir='Runter' nachRaum= '30' />
<beschreibung>
Du stehst in der Krone der Palme. Du hast einen weiten, aber völlig uninformativen Ausblick.
Aber, du fühlst dich wie der König der Welt.
</beschreibung>
</raum>
</ebene>
<commandset>
@@ -296,6 +311,9 @@
<command name='fülle' id='37' key='27' />
<command name='wirf' id='38' key='28' />
<command name='gib' id='39' key='29' />
<command name='entzünde' id='40' key='30' />
<command name='lösche' id='41' key='31' />
<command name='spring' id='42' key='32' />
</commandset>
@@ -349,9 +367,17 @@
<item name='Karte' id='27' display='' raum='24' imobil='false' adjektiv = '0' msgid='11' visible='false' />
<item name='Boot' id='28' display='' raum='23' imobil='true' adjektiv = '0' msgid='12' visible='true' />
<item name='Fackel' id='29' display='' raum='26' imobil='false' adjektiv = '0' msgid='11' visible='true' />
<item name='Schwimmweste' id='30' display='' raum='26' imobil='false' adjektiv = '0' msgid='11' visible='true' />
<item name='Kabine' id='31' display='' raum='25' imobil='false' adjektiv = '0' msgid='11' visible='false' />
<item name='Beiboot' id='32' display='' raum='25' imobil='false' adjektiv = '0' msgid='12' visible='false' />
<item name='Schwimmweste' id='30' display='' raum='31' imobil='false' adjektiv = '0' msgid='13' visible='false' />
<item name='Kabine' id='31' display='' raum='25' imobil='true' adjektiv = '0' msgid='11' 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='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='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='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' />
</items>
<personen>
@@ -372,6 +398,7 @@
<pickup text='Der scheint wütend zu werden, wenn man ihm am Rüssel zieht.' id='9' />
<pickup text='Das kannst du nicht tragen.' id='10' />
<pickup text='Boote gehören ins Wasser.' id='12' />
<pickup text='Die Kabine zu demontieren würde das Boot zerstören.' id='13' />
</messages>
<bewegungen>
<bewegung id='0' value='' />
@@ -381,6 +408,9 @@
<text id='2'>
In einer Schreibtischschublade findest du einen Schlüssel.
</text>
<text id='item-4'>
Audrey II
</text>
<text id='item-13'>
Der Schlüssel schimmert etwas bläulich.
</text>
@@ -424,9 +454,29 @@
Das Segelboot besitzt einen weißen Rumpf und ein schwarzes Dreieckssegel. Am Heck steht keine Name geschrieben, dafür ist eine schwarze Perle
aufgemalt.
</text>
<text id='item-33'>
---------
| No |
| Homers |
| Club |
----------
</text>
<text id='item-41'>
Die Mauer wurde scheinbar vor ewigen Zeiten aus getrockneten Lehmziegel errichtet und die Fugen
anschlißend mit Lehm verputzt.
</text>
<text id='item-42'>
Der Kopf repräsentiert einen dir unbekannten Mann, der würdevoll über seine linke Schulter schaut.
</text>
<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.
</text>
<text id='raum-31-0'>
In das Loch dringt kein Sonnenlicht, du siehst gar nichts.
</text>
<text id='raum-31-1'>
Im Licht der Fackel erkennst du, dass das Loch sorgfältig gegraben und mit Schiffsplanken abgestützt wurde.
</text>
<text id='npc-6'>
Der Zwerg klappert vor Kälte mit den Zähnen und kann nicht sprechen.
</text>
@@ -459,5 +509,9 @@
<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.
</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>
</welt>