# --- JACL INCLUDE FILE: verbs.library # Release 15, Copyright (C) Stuart Allen 1990-2002. filter eine filter ein filter der filter die filter das filter den filter dem variable COUNTER variable INDEX variable TEMP variable RETURN_VALUE variable OB1 variable OB2 variable OB3 variable OB4 variable OXYGEN_LEFT variable WAY variable DIRECTION variable DESTINATION constant NORTH 0 constant SOUTH 1 constant EAST 2 constant WEST 3 constant NORTHEAST 4 constant NORTHWEST 5 constant SOUTHEAST 6 constant SOUTHWEST 7 constant UP 8 constant DOWN 9 constant IN 10 constant OUT 11 synonym im in synonym mit with synonym mann man synonym eins 1 synonym zwei 2 synonym drei 3 synonym vier 4 synonym fünf 5 synonym sechs 6 synonym sieben 7 synonym acht 8 synonym neun 9 synonym zehn 10 {+number_upper if arg[0] = 0 write "Null" break endif if arg[0] = 1 write "Eins" break endif if arg[0] = 2 write "Zwei" break endif if arg[0] = 3 write "Drei" break endif if arg[0] = 4 write "Vier" break endif if arg[0] = 5 write "Fünf" break endif if arg[0] = 6 write "Sechs" break endif if arg[0] = 7 write "Sieben" break endif if arg[0] = 8 write "Acht" break endif if arg[0] = 9 write "Neun" break endif if arg[0] = 10 write "Zehn" break endif write arg[0] } {+number_lower if arg[0] = 0 write "null" break endif if arg[0] = 1 write "eins" break endif if arg[0] = 2 write "zwei" break endif if arg[0] = 3 write "drei" break endif if arg[0] = 4 write "vier" break endif if arg[0] = 5 write "fünf" break endif if arg[0] = 6 write "sechs" break endif if arg[0] = 7 write "sieben" break endif if arg[0] = 8 write "acht" break endif if arg[0] = 9 write "neun" break endif if arg[0] = 10 write "zehn" break endif write arg[0] } synonym taek take synonym speak talk synonym depress press synonym w west synonym o east synonym s south synonym so southeast synonym sw southwest synonym n north synonym no northeast synonym nw northwest synonym u up synonym r down synonym l look synonym beneath under {+push_object if player(parent) = noun4(parent) if here hasnt DARK write noun4{The} execute +to_direction else write "Du hörst schritte in der Nähe.^" endif set noun4(parent) = DESTINATION if player(parent) = noun4(parent) if here hasnt DARK write noun4{The} execute +from_direction else write "Du hörst schritte in der Nähe.^" endif endif } {+to_direction if DIRECTION = NORTH write " führt nach Norden.^" break endif if DIRECTION = NORTHEAST write " führt nach Nordosten.^" break endif if DIRECTION = EAST write " führt nach Osten.^" break endif if DIRECTION = SOUTHEAST write " führt nach Südosten.^" break endif if DIRECTION = SOUTH write " führt nach Süden.^" break endif if DIRECTION = SOUTHWEST write " führt nach Südwesten.^" break endif if DIRECTION = WEST write " führt nach Westen.^" break endif if DIRECTION = NORTHWEST write " führt nach Nordwesten.^" break endif if DIRECTION = UP write " führt nach oben.^" break endif if DIRECTION = DOWN write " führt nach unten.^" } {+from_direction if DIRECTION = NORTH write " ist südlich von hier.^" break endif if DIRECTION = NORTHEAST write " ist südwestlich von hier.^" break endif if DIRECTION = EAST write " ist westlich von hier.^" break endif if DIRECTION = SOUTHEAST write " ist nordwestlich von hier.^" break endif if DIRECTION = SOUTH write " ist nördlich von hier.^" break endif if DIRECTION = SOUTHWEST write " ist nordöstlich von hier.^" break endif if DIRECTION = WEST write " ist östlich von hier.^" break endif if DIRECTION = NORTHWEST write " ist südöstlich von hier.^" break endif if DIRECTION = UP write " ist unter Dir.^" break endif if DIRECTION = DOWN write " ist über Dir.^" } object previous_exits : previous exits variable EXITS_AVAILABLE {+exits set COUNTER = 0 repeat set previous_exits(COUNTER) = 0 set COUNTER + 1 until COUNTER = 12 set COUNTER = 0 set INDEX = 0 set EXITS_AVAILABLE = 0 repeat if here(COUNTER) != nowhere execute "+in_list" here(COUNTER) if RETURN_VALUE = false set previous_exits(COUNTER) = here(COUNTER) set INDEX + 1 endif endif set COUNTER + 1 until COUNTER = 12 set COUNTER = 0 repeat set previous_exits(COUNTER) = 0 set COUNTER + 1 until COUNTER = 12 write "Von hier kann man " if INDEX = 0 write "keinen weiteren Ort erreichen." break else set EXITS_AVAILABLE = 1 endif set COUNTER = 0 repeat if here(COUNTER) != nowhere execute "+in_list" here(COUNTER) if RETURN_VALUE = false set noun4 = here(COUNTER) set previous_exits(COUNTER) = noun4 execute "+show_link" set INDEX - 1 execute +or_structure endif endif set COUNTER + 1 until COUNTER = 12 if EXITS_AVAILABLE = 1 write " erreichen" endif write . } {+in_list set TEMP = 0 repeat if previous_exits(TEMP) = arg[0] set RETURN_VALUE = true break endif set TEMP + 1 until TEMP = 12 set RETURN_VALUE = false } {+show_link if COUNTER = 0 hyperlink noun4{the} "gehe+nord" break endif if COUNTER = 1 hyperlink noun4{the} "gehe+süd" break endif if COUNTER = 2 hyperlink noun4{the} "gehe+ost" break endif if COUNTER = 3 hyperlink noun4{the} "gehe+west" break endif if COUNTER = 4 hyperlink noun4{the} "gehe+nordost" break endif if COUNTER = 5 hyperlink noun4{the} "gehe+nordwest" break endif if COUNTER = 6 hyperlink noun4{the} "gehe+südost" break endif if COUNTER = 7 hyperlink noun4{the} "gehe+südwest" break endif if COUNTER = 8 hyperlink noun4{the} "gehe+rauf" break endif if COUNTER = 9 hyperlink noun4{the} "gehe+runter" break endif if COUNTER = 10 hyperlink noun4{the} "gehe+in" break endif if COUNTER = 11 hyperlink noun4{the} "gehe+aus" break endif } {+list_here write "" set INDEX = 0 loop if noun3 is *here set INDEX + 1 endif endloop if INDEX = 0 write "Nichts besonderes." else loop if noun3 is *here option noun3 endif endloop endif write "" } {+list_held write "" set INDEX = 0 loop if noun3(parent) = player if noun3(mass) != scenery set INDEX + 1 endif endif endloop if INDEX = 0 write "Rein gar nichts." else loop if noun3(parent) = player if noun3(mass) != scenery option noun3 endif endif endloop endif write "" } {+darkness if here has DARKNESS execute "+no_light" break endif break false } {+can_talk if here has UNDER_WATER write "Es ist nicht leicht, unter Wasser zu reden.^" set TIME = false break endif if noun4 hasnt ANIMATE write "Ich glaube, es nutzt nichts, mit " noun4{the} " zu reden.^" set TIME = false break endif if noun4 has DEAD write noun4{The} " " noun4{is} " ist etwas zu tot, um noch zu antworten.^" set TIME = false break endif if noun4 = player write "ähm, könnte dies ein erstes Anzeichen von Wahnsinn sein?^" break endif break false } {+reach if noun4 has OUT_OF_REACH write noun4{The} " " noun4{is} " nicht zu erreichen.^" set TIME = false break endif break false } {+worn if noun4 has WORN write "" noun4{the} " sollte zuerst entfernt werden.^" set TIME = false break endif break false } location limbo : limbo object north_wall: north north wall short the "north wall" object south_wall: south southern wall short the "south wall" object east_wall: east eastern wall short the "east wall" object west_wall: west western wall short the "west wall" object ground: ground floor has SURFACE short the "ground" grammar shake *held >shake grammar wave *held >shake {+shake write "Kein Thema.^" } variable XYZZY false grammar sage xyzzy >xyzzy grammar xyzzy >xyzzy {+xyzzy if XYZZY = true write "~Schau, dass Du Land gewinnst.~^" break endif write "~Das ist das Passwort um die geheime Tür zu öffnen!!" write "~Bist Du sicher?! Die Stimme klingt mir aber fremd.~^^" write "~Das liegt sicherlich an der Türe. Die dämmt den Schall.~^^" write "Eine bisher unsichtbare Türe schwingt auf. Durch sie kannst Du " write "etwas sehen, dass man nur noch als ~Gottes Heimwerkerkeller~ bezeichnen kann...^^" write "print ~Scheisse! Ich hab' Dir ja gleich gesagt, das ist nicht *ER*!!~;^" write "set bouncer_1(panic) + 5;^" write "print ~Schnell! Schliesst die Tür.~;^" write "set poo(parent) = bouncer_2s_trousers;^" write "ensure magic_door has CLOSED;^" write "^Die Türe schlisst sich und verschwindet wieder. Du hast das Geühl es könnte " write "~einer von diesen Tagen~ werden.^" set XYZZY = true } grammar ausführlich >verbose {+verbose if DISPLAY_MODE = 1 write "Anzeigemodus bereits auf 'ausführlich' gesetzt.^" break endif write "Anzeigemodus auf 'ausführlich' gesetzt.^" set DISPLAY_MODE = 1 look } grammar einfach >brief {+brief if DISPLAY_MODE = 0 write "Anzeigemodus bereists auf 'einfach' gesetzt.^" break endif write "Anzeigemodus auf 'einfach' gesetzt.^" set DISPLAY_MODE = 0 } grammar help *present >help_other {+help_other write "Und inwiefern möchtest Du " noun1{the} "helfen?^" } grammar hint *present >hint {+hint write "Führ " noun1{the} " gibt es keine Hilfe.^" set TIME = false } grammar hilfe >first_hint grammar hilfe eins >first_hint {+first_hint write "Es gibt zu diesem Raum keine spezielle Hilfe.^" set TIME = false } grammar hilfe zwei >second_hint {+second_hint write "Es gibt keine weitere Hilfe zu diesen Raum.^" set TIME = false } grammar hilfe drei >third_hint {+third_hint write "Auch eine dritte Hilfe gibt es nicht.^" set TIME = false } grammar hilfe vier >fourth_hint {+fourth_hint write "Es gibt ein Maximum an Hilfemöglichkeiten. Dieses Maximum beträgt drei.^" set TIME = false } grammar hilfe spiel >help_games {+help_games write "`SPIEL' BEZIEHT SICH AUF SIMULATIONEN UND SPIELE WELCHE TAKTISCHE UND " write "STRATEGISCHE APPLIKATIONEN BEINHALTEN.^" } grammar knuddel *present >hug grammar drücke *present >hug {+hug break +darkness break +reach noun1 override if noun1 hasnt ANIMATE write "Komisch.^" break endif write "Ich bin sicher, " noun1{the} " fühlt " noun1{s} " jetzt viel besser.^" } grammar küsse *present >kiss {+kiss break +darkness break +reach noun1 override write "Hmmmmmm...^" } grammar hacke *present with *held >pick_with {+pick_with break +darkness break +reach noun1 override write "Du kannst " noun1{the} " nicht mit " noun2{the} " bearbeiten.^" } grammar reibe *present >rub grammar klopfe *present >rub {+rub break +darkness break +reach noun1 override write "Ich bin sicher " noun1{the} " fühlt " noun1{is} " jetzt viel besser.^" } grammar reibe *held an *present >rub_on {+rub_on break +darkness override proxy "reibe " noun2 " mit " noun1 } grammar reibe *present mit *held >rub_with {+rub_with break +darkness break +reach noun1 override write "Es entsteht ein bischen Reibungswärne.^" } grammar lecke *present >lick grammar schmecke *present >lick {+lick break +darkness break +reach noun1 override write "Würg!^" } grammar ziehe *present >pull {+pull break +darkness break +reach noun1 override write "Du kannst " noun1{the} " nicht ziehen.^" } grammar schneide *present >cut grammar schnipple *present >cut {+cut write "Womit willst Du " noun1{the} " schneiden?^" set TIME = false } grammar steche *present >steche {+steche write "Womit willst Du " noun1{the} " stechen?^" set TIME = false } grammar schneide *present mit *held >cut_with grammar schnipple *present mit *held >cut_with {+cut_with break +darkness break +reach noun1 override if noun1 has ANIMATE proxy "attackiere " noun1 " mit " noun2 break endif write "Vandale!^" set TIME = false } grammar steche *present mit *held >steche_mit {+steche_mit break +darkness break +reach noun1 override if noun1 has ANIMATE proxy "attackiere " noun1 " mit " noun2 break endif write "Vandale!^" set TIME = false } grammar breche *present >break grammar trete *present >break grammar schlage *present >break grammar zertrümmer *present >break grammar zerstöre *present >break grammar zerbreche *present >break grammar zerreisse*present >break {+break break +darkness break +reach noun1 override write "Sei doch nicht so destruktiv.^" set TIME = false } grammar säubere *present >clean grammar putze *present >clean grammar wische *present >clean grammar schrubbe *present >clean grammar poliere *present >clean {+clean break +darkness break +reach noun1 override if noun1 has LIQUID write "Wie willst Du eine Flüssigkeit säubern?^" set TIME = false break endif override write "Das ist sehr nett von Dir.^" } grammar säubere *present mit *held >clean_with grammar wische *present mit *held >clean_with grammar schrubbe *present mit *held >clean_with grammar bürste *present mit *held >clean_with {+clean_with break +darkness break +reach noun1 override if noun1 has LIQUID write "Wie willst Du eine Flüssigkeit säubern?^" set TIME = false break endif override write "Du kannst " noun1{the} " nicht mit " noun2{the} "sän;ubern.^" set TIME = false } grammar schreie *present an >yell_at grammar brülle *present an >yell_at {+yell_at write "Ooohh, gefährlich...^" } grammar bezahle *present >pay {+pay write "Du kannst " noun1{the} " nicht bezahlen.^" } grammar bestelle *carried >order grammar kaufe *carried >order grammar bestelle *anywhere >order grammar kaufe *anywhere >order {+order write "Deine Bestellung scheint auf taube Ohren zu stossen.^" } grammar klopfe auf *present >knock_on grammar klopfe an *present >knock_on {+knock_on break +darkness break +reach noun1 override if noun1 has LIQUID write "Eine feuchte Hand ist das einzige, was Du davon hast.^" break endif write "Unglaublich produktiv...^" } grammar rauche *present >smoke {+smoke break +darkness break +reach noun1 override write "Du kannst " noun1{the} " nicht rauchen.^" set TIME = false } grammar spiele *present >play grammar spiel *present >play {+play break +darkness break +reach noun1 override write "Du kannst " noun1{the} " nicht spielen.^" set TIME = false } grammar pumpe *present >pump {+pump break +darkness break +reach noun1 override write "Du kannst " noun1{the} " nicht pumpen.^" set TIME = false } grammar entnehme *here mit *held >take_with grammar entnimm *here mit *help >take_with grammar nehme *here mit *held >take_with grammar nimm *here mit *held >take_with grammar entferne *present mit *held >take_with grammar leere *present mit *held >take_with {+take_with proxy "fülle " noun2 " mit " noun1 } grammar fülle *held von *present >fill_from grammar fülle *held vom *present >fill_from grammar fülle *held an *present >fill_from {+fill_from break +darkness execute +liquid noun2 if INDEX = false write noun2{The} " " noun2{doesnt} " genug Flüssigkeit, um " noun1{the} write " zu füllen.^" set TIME = false break endif proxy "fülle " noun1 " mit " noun3 } grammar fülle *held mit *present >fill_with {+fill_with break +darkness break +reach noun2 if noun1 hasnt CONTAINER write noun1{The} " " noun1{isnt} " für solche Zwecke konzipiert und kann somit " write "nicht gefüllt werden.^" break endif if noun1 has CLOSED write "Du kannst " noun1{the} " nicht füllen solange " if noun1 has PLURAL write "sie geschlossen sind." set TIME = false break else write "er/sie/es" write " geschlossen ist.^" set TIME = false break endif endif if noun2 hasnt LIQUID write "Du kannst " noun1{the} " nur mit Flüssigkeit füllen.^" break endif execute +liquidwrite noun1 if INDEX = true write noun1{The} " ist bereits mit " noun3{the} " gefüllt. Würdest Du " write "nun " noun2{the} " hinzufügen würden sie sich vermischen.^" set TIME = false break endif if noun1(quantity) < noun2(mass) write noun1{The} " " noun1{isnt} " ist nicht gross genug um " write noun2{the} " aufzunehmen.^" set TIME = false break endif override write "Du füllst " noun1{the} " mit " noun2{the} ".^" move noun2 to noun1 } {+liquid? set INDEX = false loop if noun3(parent) = noun4 if noun3 has LIQUID set INDEX = true break endif endif endloop } grammar fülle *present >fill {+fill break +darkness override write "Womit willst Du " noun1{the} " füllen?^" set TIME = false } grammar stehe >stand grammar stehe auf >stand grammar aufstehen >stand {+stand if player has SITTING write "Du stösst Dich mit Deinen Armen ab und stehst.^" ensure player hasnt SITTING break endif write "Du stehst bereits.^" } grammar schlafe >sleep grammar penne >sleep {+sleep write "Dazu hast Du später noch genug Zeit...^" set TIME = false } grammar liege auf *present >lie_on grammar hinlegen auf *present >lie_on grammar schlafe auf *present >lie_on grammar schlafe in *present >lie_on grammar schlafe im *present >lie_on {+lie_on break +darkness break +reach noun1 override write noun1{The} " " noun1{doesnt} " sieht nicht gerade wie ein gemütliches Plätzchen zum " write "schlafen aus.^" } grammar sitz >sit grammar sitze >sit grammar hinsetzen >sit grammar setzen >sit {+sit set TIME = false if player has SITTING write "Du sitzt bereits.^" break endif if here has UNDER_WATER write "Während du unterwasser bist?!?^" break endif if here has ON_WATER write "Während Du im Wasser bist?^" break endif write "Du setzt Dich für einen kurzen Moment nieder.^" ensure player has SITTING } grammar sitz auf *here >sit_on grammar sitze auf *here >sit_on grammar sitz in *here >sit_on grammar sitze in *here >sit_on grammar sitz im *here >sit_on grammar sitze im *here >sit_on {+sit_on break +darkness break +reach noun1 override write noun1{The} " " noun1{doesnt} " gerade einen gemütlichen Eindruck.^" } grammar lege alles >drop_all grammar lege alles hin >drop_all grammar lege alles ab >drop_all grammar verliere alles >drop_all grammar verliere alle gegenstände >drop_all {+drop_all set TIME = false if here has MID_WATER : here has ON_WATER write "Alles, was Du mit Dir trägst ins Wasser zu werfen scheint" write "mir keine gute Idee zu sein.^" break endif set INDEX = 0 loop if noun3(parent) = player if noun3 hasnt WORN if noun3(mass) < heavy if TIME = true set TOTAL_MOVES + 1 endif write "Du legst " noun3{the} " hin.^" move noun3 to here set TIME = true set INDEX + 1 endif else write "Du musst erst " noun3{the} " ablegen.^" set TIME = false set INDEX + 1 endif endif endloop if INDEX = 0 write "Du trägst keine Gegenstände mit Dir.^" break } grammar wirf *held >throw grammar werfe *held >throw grammar schleuder *held >throw grammar schmeiss *held >throw grammar schmeisse *held >throw {+throw if noun1 has WEARABLE if noun1 has WORN write "Du musst erst " noun1{the} " ablegen.^" set TIME = false break endif endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif override if here has MID_WATER : here has ON_WATER write noun1{the} " versinkt rapide im Wasser." write " Und ist damit fü immer verschwunden.^" move noun1 to limbo break endif write "Du wirfst " noun1{the} .^ move noun1 to here } grammar verliere *held >drop grammar lege *held >drop grammar lege *held ab >drop {+drop if noun1 has WEARABLE if noun1 has WORN write "Du musst erst " noun1{the} " ablegen.^" set TIME = false break endif endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif override if here has MID_WATER : here has ON_WATER write noun1{the} " versinkt rapide im Wasser." write " Und ist somit für immer verschwunden.^" move noun1 to limbo break endif write "Du legst " noun1{the} " ab.^" move noun1 to here } grammar nimm alles aus *present >take_all_from grammar nehme alles aus *present >take_all_from grammar nimm alles von *present >take_all_from grammar nehme alles von *present >take_all_from grammar nimm alles auf *present >take_all_from grammar nehme alles auf *present >take_all_from grammar nimm alles in *present >take_all_from grammar nehme alles in *present >take_all_from grammar nimm alles im *present >take_all_from grammar nehme alles im *present >take_all_from {+take_all_from set TIME = false break +darkness break +reach noun1 override if noun1 has ANIMATE write "Du solltest zuerst " noun1{the} write "fragen.^" break endif if noun1 hasnt CONTAINER if noun1 hasnt SURFACE write "" noun1{The} " gibt nicht mehr her.^" break endif endif if noun1 has CLOSED write "Das dürft etwas schwierig sein," write " solange " noun1{the} " " noun1{is} " geschlossen ist.^" break endif set INDEX = 0 loop if noun3(parent) = noun1 if noun3(mass) < heavy if noun3 hasnt LIQUID if noun3(mass) <= player(quantity) if TIME = true set TOTAL_MOVES + 1 endif execute +take_routine set INDEX + 1 else write "Du trägst bereits zu viele Gegenstände mit Dir herum. " write noun3{the} " wäre nun wirklich zu viel.^" set INDEX + 1 endif else write "" noun3{The} " fliesst durch Deine Finger.^" set INDEX + 1 endif endif endif endloop if INDEX = 0 write "Ich verstehe nicht, was Du meinst.^" } grammar nimm alles >take_all grammar nehme alles >take_all grammar nimm alles auf >take_all grammar nehme alles auf >take_all {+take_all break +darkness set TIME = false set INDEX = 0 loop if noun3(parent) = here if noun3(mass) < heavy if noun3 hasnt LIQUID if TIME = true set TOTAL_MOVES + 1 endif execute +take_routine set INDEX + 1 else write "" noun3{The} " fliesst durch Deine Finger.^" set INDEX + 1 endif endif endif endloop if INDEX = 0 write "Ich verstehe nicht, was Du meinst.^" } {+take_routine break +reach noun3 if noun3(mass) > player(quantity) write "Du trägst bereits zu viele Gegenstände mit Dir herum.^" write noun3{the} " wäre nun wirklich zu viel.^" set TIME = false break endif break noun3.take override write "Du nimmst " noun3{the} ".^" set TIME = true move noun3 to player ensure noun3 has TOUCHED } grammar nimm *here >take grammar nehme *here >take grammar nimm *here auf >take grammar nehme *here auf >take {+take break +darkness break +reach noun1 if player has SITTING write "Du solltest zunächst mal aufstehen.^" set TIME = false break endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif if noun1(mass) > player(quantity) write "Du trägst bereits zu viele Gegenstände mit Dir herum.^" write noun3{the} " wäre nun wirklich zu viel.^" set TIME = false break endif if noun1 has LIQUID write "" noun3{The} " fliesst durch Deine Finger.^" break endif override write "Du nimmst " noun1{the} ".^" move noun1 to player ensure noun1 has TOUCHED } {+move_scenery set TIME = false if noun1 has LOCATION write "Das würde von beeindruckender Kraft zeugen.^" break endif set noun3 = noun1(parent) set INDEX = noun3 if noun3 has LOCATION write noun1{The} " ist ein Gegenstand, den man nicht aufnehmen kann.^" break endif write noun1{The} " " noun1{is} " mit " noun3{the} " fest verbunden.^" } grammar *held auf *present legen >insert_on grammar lege *held auf *present >insert_on {+insert_on break +darkness break +reach noun2 if noun2 = noun1 write "" noun1{The} " auf " if noun1 has PLURAL write "sich selber legen?" else write "sich selber legen?" endif write " Ich glaube kaum.^" set TIME = false break endif if noun2(parent) = noun1 write "Ich fürchte, das ist nicht möglich.^" set TIME = false break endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif break +worn noun1 if noun2 hasnt SURFACE write "" noun2{the} " besitzt keine geeignete Fläche dafür.^" set TIME = false break endif if noun2(quantity) < noun1(mass) write "" noun2{the} " hat nicht genug Platz für " noun1{the} ".^" set TIME = false break endif override write "Du legst " noun1{the} " auf " noun2{the} ".^" move noun1 to noun2 } grammar füge *held in *present ein >insert_in grammar lege *held in *present >insert_in {+insert_in break +darkness break +reach noun2 if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif if noun2 = noun1 write "Du willst" noun1{the} " in " if noun1 has PLURAL write "sich selber packen?" else write "sich selber packen?" endif write "Ich glaube nicht.^" set TIME = false break endif if noun2(parent) = noun1 write "'Ich befürchte, das wird nicht möglich sein.^" set TIME = false break endif break +worn noun1 if noun2 = player write "Mich würde interessieren, wie Du das bewerkstelligen willst, aber etwas" write "sagt mir, das ich das besser nicht fragen sollte.^" set TIME = false break endif if noun2 hasnt CONTAINER write noun2{The} " " noun2{isnt} " ist nicht in der Lage " noun1{the} " aufzunehmen.^" set TIME = false break endif if noun2 has CLOSED write noun2{The} " " noun2{is} " geschlossen.^" set TIME = false break endif if noun2(quantity) < noun1(mass) write noun2{the} "hat nicht genug Platz um " noun1{the} " aufzunehmen.^" set TIME = false break endif override write "Du packst" noun1{the} " in " noun2{the} ".^" move noun1 to noun2 } grammar füge alles in *present ein >insert_all_in grammar lege alles in *present >insert_all_in {+insert_all_in break +darkness if noun1 hasnt CONTAINER write noun1{The} " " noun1{isnt} " dazu beschaffen.^" set TIME = false break endif break +reach noun1 if noun1 has CLOSED write noun1{The} " " noun1{is} " geschlossen.^" set TIME = false break endif set INDEX = 0 loop if noun3(parent) <> player : noun3(mass) >= heavy : noun3 = noun1 endloop execute +encumbered break endif if noun1 has WORN write "Du musst erst " noun3{the} " ablegen.^" set INDEX + 1 endloop break endif set OB1 = noun1 set OB2 = noun3 proxy "lege" noun3 " in " noun1 set noun1 = OB1 set noun3 = OB2 set INDEX + 1 endloop } grammar packe alles auf *present >insert_all_on grammar lege alles auf *present >insert_all_on grammar lege alles aufs *present >insert_all_on {+insert_all_on break +darkness if noun1 hasnt SURFACE write "" noun1{The} " bietet dafür keine geeignete Fläche.^" set TIME = false break endif break +reach noun1 set INDEX = 0 loop if noun3(parent) <> player : noun3(mass) >= heavy : noun3 = noun1 endloop execute +encumbered break endif if noun1 has WORN write "Du musst zuerst " noun3{the} " ablegen.^" set INDEX + 1 endloop break endif set OB1 = noun1 set OB2 = noun3 proxy "lege" noun3 " auf " noun1 set noun1 = OB1 set noun3 = OB2 set INDEX + 1 endloop } {+encumbered if INDEX = 0 write "Du trägst nichts mit Dir.^" } grammar frage *present nach *carried >ask_for grammar bete *present mir *carried zu geben >ask_for grammar bitte *present mir *carried zu geben >ask_for {+ask_for break +can_talk noun1 if noun1 !grandof noun2 write noun1{The} " " noun1{doesnt} " seem to have " noun2{the} .^ set TIME = false break endif if noun2(mass) > player(quantity) write "With your current load you would be unable to accept" write noun2{the} .^ set TIME = false break endif override if noun1 has POSSESSIVE write noun1{The} " refuses to give you " noun2{the} .^ break endif move noun2 to player if noun2 has WORN write noun1{The} " remove" noun1{s} " " noun2{the} " then hand" noun1{s} if noun2 has PLURAL write " them" else write " it" endif write " to you.^" ensure noun2 hasnt WORN break endif write noun1{The} " hands you " noun2{the} .^ } grammar tell *present about *carried >tell_about grammar talk to *present about *carried >tell_about grammar talk with *present about *carried >tell_about grammar tell *present about *anywhere >tell_about grammar talk to *present about *anywhere >tell_about grammar talk with *present about *anywhere >tell_about {+tell_about break +can_talk noun1 override write noun1{The} " seem" noun1{s} " fascinated by your story about " write noun2{the} .^ } grammar ask *present about *carried >ask_about grammar ask *present about *anywhere >ask_about {+ask_about break +can_talk noun1 override if noun2 = noun1 write noun1(The} if noun1 has PLURAL write " are too shy to say much.^" else write " is too shy to say much.^" endif break endif write noun1{The} " reluctantly admit" noun1{s} " to knowing little about " write noun2{the} .^ } grammar offer *held to *present >give_to grammar give *held to *present >give_to {+give_to if noun2 hasnt ANIMATE write "You can't give " noun1{the} " to " noun2 .^ set TIME = false break endif if noun2 = player write "I think it might be time to take a break and get a cup of tea.^" break endif break +reach noun2 if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif break +worn noun1 override move noun1 to noun2 write "You give " noun1{the} " to " noun2{the} .^ } grammar move *present >move grammar push *present >move {+move break +darkness break +reach noun1 if player has SITTING write "You will have to stand up first.^" set TIME = false break endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif if noun1 has LIQUID write noun1{The} " run" noun1{s} " through your fingers.^" break endif break +worn noun1 if noun1(parent) = player override write "You juggle " noun1{the} " in your hands.^" break endif override write "You move " noun1{the} " a short distance to one side.^" ensure noun1 has TOUCHED } grammar read *present >read {+read break +darkness write "There is nothing on " noun1{the} " to read.^" } grammar look down >look_down {+look_down break +darkness if here has TIGHT_ROPE : here has MID_AIR write "You see the ground far below.^" break endif if here has ON_WATER write "You can't see beyond the surface of the water.^" break endif write "You take a moment to admire your investigating feet.^" } grammar look up *anywhere in *present >look_up_in grammar look for *anywhere in *present >look_up_in {+look_up_in break +darkness write "You don't find any reference to " noun1{the} " in " noun2{the} .^ } grammar consult *present about *anywhere >consult grammar consult *present re *anywhere >consult grammar consult *present on *anywhere >consult {+consult break +darkness proxy "look up " noun2 " in " noun1 } grammar feel *present >feel grammar touch *present >feel {+feel break +reach noun1 if noun1 has ANIMATE write "I'm not so sure that would be polite.^" break endif write "Feels just like " noun1{list} .^ } grammar smell >smell grammar sniff >smell {+smell write "Nothing strikes you as out of the ordinary.^" } grammar smell *present >sniff grammar sniff *present >sniff {+sniff if noun1 has ANIMATE write "I'm not so sure that would be polite.^" break endif write "Smells an awful lot like " noun1{list} .^ } grammar taste *present >taste grammar lick *present >taste {+taste break +reach noun1 if noun1 has ANIMATE write "You are one sick puppy.^" break endif write "Tastes just like you would expect " noun1{list} " to taste.^" } grammar look in *present >look_in {+look_in break +darkness if noun1 hasnt CONTAINER write "There is nothing in " noun1{the} .^ break endif if noun1 has CLOSED write noun1{The} " " noun1{is} " currently closed.^" break endif set INDEX = 0 loop if noun3(parent) = noun1 set INDEX + 1 endif endloop if INDEX = 0 write "There is nothing in " noun1{the} .^ break endif execute +details write "^" } grammar betrachte *present >examine grammar schaue *present an >examine grammar schaue auf *present >examine grammar untersuche *present >examine grammar x *present >examine grammar durchsuche *present >examine grammar beobachte *present >examine {+examine break +darkness override if noun1 hasnt CLOSABLE if noun1 hasnt CONTAINER if noun1 hasnt SURFACE write "There is nothing special about " noun1{the} .^ break endall if noun1 has CLOSABLE execute +details write "^" break endif set INDEX = 0 loop if noun3(parent) = noun1 if noun3(mass) != scenery set INDEX + 1 endif endif endloop if INDEX = 0 write "There is nothing special about " noun1{the} .^ break endif execute +details write "^" } {+details if noun1 has CLOSABLE if noun1 hasnt CLOSED write noun1{The} " " noun1{is} " offen" else write noun1{The} " " noun1{is} " geschlossen." break endif endif if noun1 has CONTAINER : noun1 has SURFACE execute +contents break endif write . } {+contents set INDEX = 0 loop if noun3(parent) = noun1 if noun3(mass) != scenery set INDEX + 1 endif endif endloop if INDEX = 0 if noun1 has CLOSABLE if noun1 has CONTAINER write .^ break endall if INDEX = 0 : noun1 has CONCEALING break endif if noun1 has ANIMATE write noun1{The} " " noun1{is} " carrying " endif if noun1 has SURFACE write "On " noun1{the} " is " endif if noun1 has CONTAINER if noun1 has CLOSABLE write " and contains " else write noun1{The} " contains " endif endif loop if noun3(parent) = noun1 if noun3(mass) != scenery set INDEX - 1 write noun3{list} execute +object_info execute +list_structure if INDEX = 0 write . break endif endif endif endloop } {+first_child set INDEX = false loop if noun3(parent) = noun4 set INDEX = true break endall endloop } {+children? set INDEX = false loop if noun3(parent) = noun4 set INDEX = true break endif endloop } grammar inv >list_inventory grammar list >list_inventory {+list_inventory set INDEX = 0 loop if noun3(parent) = player if noun3(mass) != scenery set INDEX + 1 endif endif endloop if INDEX = 0 write "You are empty-handed.^" break endif write "You are carrying:^" loop if noun3(parent) = player if noun3(mass) != scenery write " " noun3{list} execute +object_info write "^" if noun3 has CONTAINER if noun3 hasnt CLOSED execute +object_children noun3 endif endif endif endif endloop write "" } {+object_children loop if noun3(parent) = noun4 write " -- " noun3{list} execute +object_info write "^" endif endloop set noun3 = noun4 } grammar inventory >inventory grammar i >inventory {+inventory set INDEX = 0 loop if noun3(parent) = player if noun3(mass) != scenery set INDEX + 1 endif endif endloop if INDEX = 0 write "You are empty handed.^" break endif write "You are carrying " loop if noun3(parent) = player if noun3(mass) != scenery set INDEX - 1 write noun3{list} execute +object_info execute +list_structure if INDEX = 0 write .^ break endif endif endif endloop } {+or_structure if INDEX > 1 write ", " endif if INDEX = 1 write " oder " } {+list_structure if INDEX > 1 write ", " endif if INDEX = 1 write " und " } {+object_info if noun3 has WORN write " (being worn)" endif if noun3 has LUMINOUS write " (providing light)" endif if noun3 has ON write " (on)" endif if noun3 has CLOSABLE if noun3 hasnt CLOSED write " (open)" } grammar sorry >sorry {+sorry write "That's quite all right.^" } grammar thanks >thankyou grammar thank you >thankyou {+thankyou write "You're welcome.^" } grammar score >score_command grammar points >score_command {+score_command write "" execute "+score" } {+score set TIME = false if TOTAL_MOVES = 1 write "Punktzahl: " SCORE "% in einem Spielzug.^" else write "Punktzahl: " SCORE "% in " TOTAL_MOVES " Spielzügen.^" } grammar open *present >open {+open break +darkness break +reach noun1 if noun1 has LOCKED write noun1{The} " " noun1{is} " verschlossen.^" set TIME = false break endif if noun1 hasnt CLOSABLE write "" noun1{the} "kannst Du nicht öffnen.^" set TIME = false break endif if noun1 hasnt CLOSED write noun1{The} " " noun1{is} " bereits offen.^" set TIME = false break endif override ensure noun1 hasnt CLOSED if noun1 has CONTAINER execute +revealing break endif write "Du öffnest " noun1{the} ".^" } {+revealing set INDEX = 0 loop if noun3(parent) = noun1 set INDEX + 1 endif endloop write "You open " noun1{the} if INDEX = 0 write ", which" noun1{is} " empty.^" break endif write " revealing " loop if noun3(parent) = noun1 set INDEX - 1 write noun3{list} execute +object_info execute +list_structure if INDEX = 0 write .^ break endif endif endloop } grammar close *present >close grammar shut *present >close {+close break +darkness break +reach noun1 if noun1 hasnt CLOSABLE write "You can't close " noun1{the} .^ set TIME = false break endif break +reach noun1 if noun1 has CLOSED write noun1{The} " " noun1{is} " already closed.^" set TIME = false break endif override write "You close " noun1{the} .^ ensure noun1 has CLOSED } grammar lock *present >lock {+lock break +darkness break +reach noun1 if noun1 has LOCKABLE if noun1 has LOCKED write noun1{The} " " noun1{is} " already locked.^" break endif endif if noun1 has CLOSABLE if noun1 hasnt CLOSED write "You can't lock " noun1{the} " while " if noun1 has PLURAL write "they are" else write "it is" endif write " open.^" set TIME = false break endif endif if noun1 hasnt LOCKABLE write "You can't lock " noun1{the} .^ break endif override write "What did you want to lock " noun1{the} " with?^" } grammar lock *present with *held >lock_with {+lock_with break +darkness if noun1 hasnt LOCKABLE write "You can't lock " noun1{the} .^ set TIME = false break endif break +reach noun1 if noun1 has LOCKED write noun1{The} " " noun1{is} " already locked.^" break endif if noun1 has CLOSABLE if noun1 hasnt CLOSED write "You can't lock " noun1{the} " while " if noun1 has PLURAL write "they are" else write "it is" endif write " open.^" set TIME = false break endif override write "You can't lock " noun1{the} " with " noun2{the} .^ set TIME = false } grammar unlock *present >unlock {+unlock break +darkness if noun1 hasnt LOCKABLE write "You can't unlock " noun1{the} .^ set TIME = false break endif break +reach noun1 if noun1 hasnt LOCKED write noun1{The} " " noun1{is} " already unlocked.^" set TIME = false break endif override write "What did you want to unlock " noun1{the} " with?^" } grammar unlock *present with *held >unlock_with grammar open *present with *held >unlock_with {+unlock_with if noun1 hasnt LOCKABLE write "You can't unlock " noun1{the} .^ set TIME = false break endif break +reach noun1 if noun1 hasnt LOCKED write noun1{The} " " noun1{is} " already unlocked.^" break endif override write "You can't unlock " noun1{the} " with " noun2{the} .^ set TIME = false } grammar show *held to *present >show_to {+show_to break +darkness if noun1 = noun2 write "You can't show " noun1{the} " to " if noun1 has PLURAL write "themselves." else write "itself.^" endif set TIME = false break endif override write noun2{The} " " noun2{doesnt} " seem overly impressed by " noun1{the} .^ } grammar untie *present >untie grammar free *present >untie grammar undo *present >untie {+untie break +darkness write noun1{The} " " noun1{is} " not tied to anything.^" set TIME = false } grammar tie *held >tie grammar attach *held >tie {+tie break +darkness write "What do you want to tie " noun1{the} " to?^" set TIME to false } grammar tie *held to *present >tie_to grammar fix *held to *present >tie_to grammar attach *held to *present >tie_to {+tie_to break +darkness break +reach noun2 override write "You can't tie " noun1{the} " to " noun2{the} .^ set TIME = false } grammar attack *present >attack grammar hit *present >attack grammar fight *present >attack grammar kill *present >attack grammar murder *present >attack grammar punch *present >attack {+attack break +darkness break +reach noun1 if noun1 has ANIMATE if noun1 has DEAD write noun1{The} " " noun1{is} " already dead.^" set TIME = false break endif endif override write "Attacking " noun1{the} " with your hands would have little effect.^" set TIME = false } grammar attack *present with *held >attack_with grammar hit *present with *held >attack_with grammar fight *present with *held >attack_with grammar kill *present with *held >attack_with grammar murder *present with *held >attack_with grammar punch *present with *held >attack_with grammar stab *present with *held >attack_with grammar poke *present with *held >attack_with {+attack_with break +darkness break +reach noun1 if noun2 has LIQUID write noun2{The} " run" noun2{s} " through your fingers.^" break endif break +worn noun1 if noun1 has ANIMATE if noun1 has DEAD write noun1{The} " " noun1{is} " already dead.^" set TIME = false break endif endif override write "Attacking " noun1{the} " with " noun2{the} " would have little " write "effect.^" set TIME = false } grammar wave >wave {+wave write "You wave your arms around a bit.^" } grammar wave to *present >wave_to {+wave_to break +darkness if noun1 hasnt ANIMATE write "Not surpisingly, you get no response.^" break endif write noun1{The} " barely raises an eye brow.^" } grammar jump on to *here >jump_on grammar jump on *here >jump_on grammar hop on *here >jump_on grammar stand on *here >jump_on {+jump_on break +darkness set TIME = false if noun1 hasnt SURFACE write "You can't jump on " noun1{the} .^ break endif write "This would achieve little.^" } grammar jump over *here >jump_over {+jump_over break +darkness write "You can't jump over " noun1{the} .^ set TIME = false } grammar jump >jump {+jump if here has MID_AIR write "Not likely." break endif if here has TIGHT_ROPE write "Something tells me that might be a bit too dangerous, not to " write "mention totally unnecessary.^" break endif if here has UNDER_WATER : here has ON_WATER write "While underwater?^" break endif if player has SITTING write "You would have to get up first.^" break endif write "Consider it done.^" } grammar yes >yes grammar okay >yes grammar yeah >yes {+yes write "That was a rhetorical question.^" set TIME = false } grammar no >no {+no write "That was a rhetorical question.^" set TIME = false } grammar why >why grammar why? >why {+why write "Because.^" set TIME = false } grammar blow *held at *here >blow_at grammar blow *held to *here >blow_at {+blow_at break +darkness write "You can't blow " noun1{the} " at " noun2{the} .^ set TIME = false } grammar throw *held in *here >throw_at grammar hurl *held in *here >throw_at grammar pitch *held in *here >throw_at grammar cast *held in *here >throw_at grammar throw *held on *here >throw_at grammar hurl *held on *here >throw_at grammar pitch *held on *here >throw_at grammar cast *held on *here >throw_at grammar throw *held at *here >throw_at grammar throw *held to *here >throw_at grammar cast *held to *here >throw_at grammar cast *held at *here >throw_at grammar pitch *held to *here >throw_at grammar pitch *held at *here >throw_at grammar lob *held to *here >throw_at grammar lob *held at *here >throw_at grammar hurl *held to *here >throw_at grammar hurl *held at *here >throw_at {+throw_at break +darkness if noun2 has ANIMATE write "I don't think " noun2{the} " would really appreciate you throwing " write noun1{the} " at " if noun2 has FEMALE write "her.^" else write "him.^" endif set TIME = false break endif break +worn noun1 if noun2(parent) hasnt LOCATION write "You can't throw " noun1{the} " at " noun2{the} " while " if noun2 has PLURAL write "they are" else write "it is" endif write " in something else.^" set TIME = false break endif if noun1(mass) >= heavy : noun1 has LOCATION execute +move_scenery break endif override if noun1(mass) => 20 write noun1{The} if noun1 has PLURAL write " are " else write " is " endif write "a bit too heavy to go throwing around.^" set TIME = false break endif if here has UNDER_WATER write "Throwing things underwater is never as easy as you might think.^" set TIME = false break endif if here has ON_WATER write "You throw " noun1{the} " at " noun2{the} " which " if noun1 has PLURAL write "they bounce" else write "it bounces" endif write " off, landing in the water where " if noun1 has PLURAL write "they" else write "it" endif write " rapidly sink" noun1{s} ", disappearing from sight.^" move noun1 to limbo break endif write noun1{The} " bounce" noun1{s} " off " noun2{the} " and land" noun1{s} write " on the ground.^" move noun1 to here } grammar remove *present from *present >remove_from grammar take *present from *present >remove_from grammar get *present from *present >remove_from grammar take *present out of *present >remove_from grammar get *present out of *present >remove_from grammar take *present on *present >remove_from grammar get *present on *present >remove_from {+remove_from break +darkness if noun1(parent) <> noun2 write noun1{The} " " noun1{is} " not in " noun2{the} .^ set TIME = false break endif proxy "take" noun1 } grammar remove *present >remove grammar take off *present >remove grammar doff *present >remove {+remove if noun1 hasnt WORN if noun1(parent) = player write "You are not wearing " noun1{the} .^ set TIME = false break endif endif if noun1 hasnt WORN proxy "take" noun1 break endif if noun1(mass) > player(quantity) write "You are carrying too much to remove " noun1{the} .^ set TIME = false break endif override set player(quantity) - noun1(mass) ensure noun1 hasnt WORN write "You remove " noun1{the} .^ } grammar wear *held >wear grammar put on *held >wear grammar put *held on >wear grammar don *held >wear {+wear if noun1 hasnt WEARABLE write "You can't wear " noun1{the} .^ set TIME = false break endif if noun1 has WORN write "You are already wearing " noun1{the} .^ set TIME = false break endif override set player(quantity) + noun1(mass) ensure noun1 has WORN write "You put " noun1{the} " on.^" } grammar talk to *present >talk_to grammar talk with *present >talk_to {+talk_to break +can_talk noun1 override write noun1{The} " " noun1{doesnt} " appear very interested in a " write "conversation.^" } grammar eat *present >eat {+eat break +darkness write "You can't eat " noun1{the} .^ set TIME = false } grammar drink from *present >drink_from grammar sip from *present >drink_from {+drink_from break +darkness execute +liquidwrite noun1 if INDEX = true proxy "drink " noun3 set TIME = false break endif write "There is nothing to drink in " noun1{the} .^ set TIME = false } grammar drink *present >drink grammar sip *present >drink {+drink break +darkness break +reach noun1 if noun1 hasnt LIQUID write "You can't drink " noun1{the} .^ set TIME = false break endif override write "You drink " noun1{the} .^ move noun1 to limbo } grammar flick *present >flick {+flick break +darkness break +reach noun1 if noun1 has LIQUID write "A wet hand is your only reward.^" break endif override write "Flicking " noun1{the} " achieves nothing more than causing a sharp " write "pain in your index finger.^" } grammar press *present >press grammar poke *present >press {+press break +darkness break +reach noun1 if noun1 has LIQUID write "A wet hand is your only reward.^" break endif override write "Pressing " noun1{the} " has no discernible effect.^" } grammar light *present with *held >light_with grammar burn *present with *held >light_with grammar ignite *present with *held >light_with grammar set fire to *present with *held >light_with {+light_with if here has UNDER_WATER write "I don't think you are going to be lighting anything under water.^" set TIME = false break endif break +reach noun1 if noun1 hasnt FLAMMABLE write noun1{The} " " noun1{is} " not at all flammable.^" set TIME = false break endif if noun2 hasnt IGNITABLE write "I don't see how you can light " noun1{the} " using " noun2 .^ set TIME = false break endif if noun1(quantity) = 0 write noun1{The} " has run out.^" break endif if noun1 has BURNING write noun1{The} " " noun1{is} " already lit.^" set TIME = false break endif override write "You light " noun1{the} " using " noun2 .^ ensure noun1 has BURNING ensure noun1 has LUMINOUS } grammar burn *present >light grammar light *present >light grammar ignite *present >light grammar set fire to *present >light {+light if here has UNDER_WATER write "I don't think you are going to be lighting anything under water.^" set TIME = false break endif break +reach noun1 if noun1 has IGNITABLE override write "You produce a brief flame.^" break endif if noun1 hasnt FLAMMABLE write noun1{The} " " noun1{is} " not at all flammable.^" set TIME = false break endif if noun1 has BURNING write noun1{The} " " noun1{is} " already alight.^" set TIME = false break endif write "What did you intent to light " noun1{the} " with?^" set TIME = false } grammar extinguish *present >extinguish grammar put out *present >extinguish grammar put *present out >extinguish {+extinguish if noun1 hasnt BURNING write noun1{The} " " noun1{is} " not lit.^" set TIME = false break endif break +reach noun1 override write "You put out " noun1{the} .^ ensure noun1 hasnt BURNING ensure noun1 hasnt LUMINOUS } grammar schwimme westen >swim_west grammar schwimme west >swim_west {+swim_west if here has UNDER_WATER set WAY = WEST travel west break endif if here has ON_WATER set WAY = WEST travel west break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar westen >west grammar gehe nach westen >west grammar gehe west >west {+west set WAY = WEST travel west } grammar schwimme osten >swim_east grammar schwimme ost >swim_east {+swim_east if here has UNDER_WATER set WAY = EAST travel east break endif if here has ON_WATER set WAY = EAST travel east break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar osten >east grammar gehe nach osten >east grammar gehe ost >east {+east set WAY = EAST travel east } grammar schwimme nach süden >swim_south grammar schwimme süd >swim_south {+swim_south if here has UNDER_WATER set WAY = SOUTH travel south break endif if here has ON_WATER set WAY = SOUTH travel south break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar süden >south grammar gehe nach süden >south grammar gehe süd >south {+south set WAY = SOUTH travel south } grammar swim southeast >swim_southeast {+swim_southeast if here has UNDER_WATER set WAY = SOUTHEAST travel southeast break endif if here has ON_WATER set WAY = SOUTHEAST travel southeast break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar südosten >southeast grammar gehe nach südosten >southeast grammar gehe südosten >southeast {+southeast set WAY = SOUTHEAST travel southeast } grammar swim southwest >swim_southwest {+swim_southwest if here has UNDER_WATER set WAY = SOUTHWEST travel southwest break endif if here has ON_WATER set WAY = SOUTHWEST travel southwest break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar südwest >southwest grammar gehe nach südwesten >southwest grammar gehe südwesten >southwest {+southwest set WAY = SOUTHWEST travel southwest } grammar schwimme norden >swim_north grammar schwimme nord >swim_north {+swim_north if here has UNDER_WATER set WAY = NORTH travel north break endif if here has ON_WATER set WAY = NORTH travel north break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar norden >north grammar gehe nach norden >north grammar gehe nord >north {+north set WAY = NORTH travel north } grammar schwimme nach nordosten >swim_northeast grammar schwimme nordost >swim_northeast {+swim_northeast if here has UNDER_WATER set WAY = NORTHEAST travel northeast break endif if here has ON_WATER set WAY = NORTHEAST travel northeast break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar nordosten >northeast grammar gehe nach nordosten >northeast grammar gehe nordost >northeast {+northeast set WAY = NORTHEAST travel northeast } grammar schwimme nach nordwesten >swim_northwest grammar schwimme nordwest >swim_northwest {+swim_northwest if here has UNDER_WATER set WAY = NORTHWEST travel northwest break endif if here has ON_WATER set WAY = NORTHWEST travel northwest break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar nordwesten >northwest grammar gehe nach nordwesten >northwest grammar gehe nordwest >northwest {+northwest set WAY = NORTHWEST travel northwest } grammar climb up *here >climb_up grammar walk up *here >climb_up grammar go up *here >climb_up {+climb_up write "" noun1{the} " kannst Du nicht hinaufklettern.^" set TIME = false } grammar climb down *here >climb_down grammar walk down *here >climb_down grammar go down *here >climb_down {+climb_down write "" noun1{the} " kannst Du nicht herabklettern.^" set TIME = false } grammar enter *here >enter grammar go *here >enter grammar go through *here >enter grammar go in *here >enter grammar climb on *here >enter grammar climb in *here >enter grammar get in *here >enter grammar get on *here >enter grammar jump in *here >enter {+enter break +reach noun1 write "" noun1{the} " kannst Du nicht betreten.^" set TIME = false } grammar enter *anywhere >enter_location grammar go *anywhere >enter_location grammar go through *anywhere >enter_location grammar go to *anywhere >enter_location grammar go in *anywhere >enter_location grammar climb on *anywhere >enter_location grammar climb in *anywhere >enter_location grammar get in *anywhere >enter_location grammar jump in *anywhere >enter_location grammar get on *anywhere >enter_location {+enter_location break +reach noun1 set INDEX = 0 repeat if here(INDEX) = noun1 execute "+go_direction" INDEX break endif set INDEX + 1 until INDEX = 12 write "" noun1{the} " ist von hier nicht erreichbar.^" set TIME = false } {+go_direction if arg[0] = NORTH proxy "go north" break endif if arg[0] = NORTHEAST proxy "go northeast" break endif if arg[0] = EAST proxy "go east" break endif if arg[0] = SOUTHEAST proxy "go southeast" break endif if arg[0] = SOUTH proxy "go south" break endif if arg[0] = SOUTHWEST proxy "go southwest" break endif if arg[0] = WEST proxy "go west" break endif if arg[0] = NORTHWEST proxy "go northwest" break endif if arg[0] = UP proxy "go up" break endif if arg[0] = DOWN proxy "go down" } grammar climb *here >climb grammar scale *here >climb {+climb write "You can not climb up " noun1{the} .^ set TIME = false } grammar swim in >swim_in {+swim_in if here has UNDER_WATER set WAY = IN travel in break endif if here has ON_WATER set WAY = IN travel in break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar get in >in grammar climb in >in grammar in >in grammar enter >in grammar walk in >in {+in set WAY = IN travel in } grammar swim out >swim_out {+swim_out if here has UNDER_WATER set WAY = OUT travel out break endif if here has ON_WATER set WAY = OUT travel out break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar get out >out grammar out >out grammar exit >out grammar leave >out grammar climb out >out grammar walk out >out grammar go out >out {+out set WAY = OUT travel out } grammar surface >swim_up grammar swim up >swim_up {+swim_up if here has UNDER_WATER set WAY = UP travel up break endif if here has ON_WATER set WAY = UP travel up break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar up >up grammar climb >up grammar climb up >up grammar jump up >up grammar go up >up grammar walk up >up {+up set WAY = UP travel up } grammar swim down >swim_down grammar dive down >swim_down grammar dive >swim_down {+swim_down if here has UNDER_WATER set WAY = DOWN travel down break endif if here has ON_WATER set WAY = DOWN travel down break endif write "Wie willst Du schwimmen, wenn Du nicht im Wasser bist?^" set TIME = false } grammar down >down grammar climb down >down grammar jump down >down grammar go down >down grammar walk down >down {+down set WAY = DOWN travel down } grammar look >look_around grammar watch >look_around {+look_around break +darkness look } grammar schaue unter *present >look_under {+look_under break +darkness if noun1(mass) >= heavy : noun1 has LOCATION write "You can't see under " noun1{the} .^ set TIME = false break endif write "There is nothing unusual under " noun1{the} .^ } grammar look behind *present >look_behind {+look_behind break +darkness if noun1(mass) >= heavy : noun1 has LOCATION write "You can't see behind " noun1{the} .^ set TIME = false break endif write "There is nothing unusual behind " noun1{the} .^ } grammar look through *present >look_through grammar look out *present >look_through {+look_through break +darkness write "You can't look through " noun1{the} .^ set TIME = false } grammar look through *held at *present >look_through_at {+look_through_at break +darkness proxy "look at " noun2 " through " noun1 } grammar look at *present through *held >look_at_through grammar look at *present with *held >look_at_through {+look_at_through break +darkness if noun1 = noun2 write "You can't look at " noun1{the} " through " if noun1 has PLURAL write "themselves.^" else write "itself.^" set TIME = false break endif override write "You can't look at " noun1{the} " through " noun2{the} .^ set TIME = false } grammar wait >wait grammar z >wait {+wait write "Time passes...^" } grammar listen >listen {+listen write "You don't hear anything out of the ordinary.^" } grammar listen to *present >listen_to grammar listen at *present >listen_to {+listen_to write "You don't hear anything out of the ordinary.^" } grammar use *present >use grammar work *present >use grammar operate *present >use {+use break +darkness if noun1 has ANIMATE write "I acknoweledge that I probably don't want to know the answer to " write "this question, but in what way did you want to use " noun1{the} .^ set TIME = false break endif write "I'm afraid you are going to have to be a bit more specific.^" } grammar rotate *present >turn grammar turn *present >turn grammar twist *present >turn grammar spin *present >turn {+turn break +darkness break +reach noun1 write "You can't turn " noun1{the} .^ set TIME = false } grammar schalte *present an >turn_on grammar turn *present on >turn_on grammar switch on *present >turn_on grammar switch *present on >turn_on {+turn_on if noun1 hasnt SWITCHABLE write "You can't turn " noun1{the} " on.^" set TIME = false break endif break +reach noun1 if noun1 has ON write noun1{The} " " noun1{is} " already on.^" set TIME = false break endif override write "You switch on " noun1{the} .^ ensure noun1 has ON } grammar schalte *present ab >turn_off grammar turn *present off >turn_off grammar switch off *present >turn_off grammar switch *present off >turn_off {+turn_off if noun1 hasnt SWITCHABLE write "You can't turn " noun1{the} " off.^" set TIME = false break endif break +reach noun1 if noun1 hasnt ON write noun1{The} " " noun1{is} " already off.^" set TIME = false break endif override write "You switch off " noun1{the} .^ ensure noun1 hasnt ON } grammar pour *present >pour {+pour break +darkness if noun1 hasnt LIQUID write "You can't pour " noun1{the} .^ set TIME = false break endif set noun3 = noun1(parent) if noun3 = false : noun3(parent) <> player write "You don't have " noun1{the} .^ set TIME = false break endif if noun3 has CLOSED write "I don't see " noun1{the} " here.^" set TIME = false break endif break +reach noun1 override write "You pour " noun1{the} " all over the ground.^" move noun1 to limbo } grammar list objects >list_objs {+list_objs select noun3(mass) > 0 write noun3{The} next } grammar diag *anywhere >diag {+diag set INDEX = noun1 write noun1{The} ":^" write "MASS: " noun1(mass) ^ write "NUMBER: " INDEX ^ write "QUANTITY: " noun1(quantity) ^ set noun4 = noun1(parent) write "PARENT: " noun4{The} ^ write "HAS DARK?: " if noun1 has DARK write YES^ else write NO^ endif write "HAS DARKNESS?: " if noun1 has DARKNESS write YES^ else write NO^ endif } grammar tip *present on *present >pour_on grammar tip *present down *present >pour_on grammar tip *present in *present >pour_on grammar tip *present over *present >pour_on grammar pour *present down *present >pour_on grammar pour *present on *present >pour_on grammar pour *present in *present >pour_on grammar pour *present over *present >pour_on {+pour_on break +darkness if noun1 hasnt LIQUID write "You can't pour " noun1{the} .^ set TIME = false break endif break +reach noun1 set noun3 = noun1(parent) if noun3 = false : noun3(parent) <> player write "You do not have " noun1{the} .^ set TIME = false break endif if noun3 has CLOSED write "I can't see " noun1{the} " here.^" set TIME = false break endif break +reach noun2 override execute +liquidwrite noun2 if INDEX = true write noun2{The} " already contain" noun2{s} " " noun3{the} ". If you " write "were to also add " noun1{the} " they would mix together.^" set TIME = false break endif if noun2 has CONTAINER if noun2 hasnt CLOSED override write "You pour " noun1{the} " into " noun2{the} .^ move noun1 to noun2 break endif endif if noun2(parent) > max_objects set noun3 = noun2(parent) if noun3 has CONTAINER if noun3 hasnt CLOSED write noun1{the} " run" noun1{s} " off " noun2{the} " and goes into " write noun3 .^ move noun1 to noun3 break endif endif endif write noun1{The} " runs off " noun2{the} " and goes all over the ground.^" move noun1 to limbo } grammar blankjacl >blankjacl {+blankjacl write "A fiendishly clever move.^" } grammar instructions >instructions grammar help >instructions {+instructions write "Interactive fiction involves the reader in a way that static stories " write "do not. Rather than reading sequentially from beginning to end, you " write "control the actions of the main character by typing commands in the " write "form of simple English sentences. Before setting out on your adventure " write "there are a few concepts that must be explained in order for you to " write "interact successfully with the virtual world created by the author." write "The physical space that you will be exploring is divided up into " write "discrete units called locations. Locations may be travelled between " write "using the "You can go:" hyperlinks or the following commands...^" write "" write "CommandTo travelCommandTo travel write "" write "NNorthSSouth" write "" write "EEastWWest" write "" write "NENortheastNWNorthwest" write "" write "SESoutheastSWSouthwest" write "" write "UUpDDown" write "" write "INInOUTOut" write "" write "The description of each location will tell you which way you can " write "travel from it. Be aware however that some exits may only be " write "available under certain circumstances such as while a door is open " write "or a bridge lowered.^" write "Within these locations you will find many objects that you may " write "manipulate. These objects may be referred to by as few " write "or as many of their names as is required to uniquely identify it." write "For example, if the story informs you that ~There is a silver key " write "resting here.~ Then it may be referred to as either ~silver~, ~key~ or " write "~silver key~. If your reference is ambiguous, such as using ~key~ " write "when there is both a silver and a gold key in the current location " write "then you will be prompted to be more specific.^" write " write "The next major concept of interactive fiction to understand is the " write "way in which you interact with these objects within " write "the locations. The main aspect of the command interface " write "to come to grips with is the scale, in other words, how much can be " write "achieved with a single command. As you have seen earlier, moving from " write "one location to another requires a single command. Commands such as " write "~find dave~ or ~go to the library~ are not valid. You must manually " write "move around the available world to achieve these tasks yourself. For " write "this reason, making a map as you go is highly recommended.^" write "The basic sentence structures understood by the game are...^" write "" write "actioneg. scream" write "" write "action objecteg. take book" write "" write "action object preposition objecteg. unlock door with key" write "" write "" write "An action does not necessarily have to be a single word. For instance, " write "~examine rock through magnifying glass~, an example of the last " write "syntax, may also be expressed as ~look at rock through magnifying " write "glass~.^" write "To further illustrate how much can be achieved in a single turn, " write "consider the following list (being just some of the valid actions)...^" write "" write "turnreadpullpusheatcut" write "" write "lockunlockrubattacktastedrink" write "" write "breaksmelllistenpourmovelight" write "" write "attackblowthrowwearopenclose" write "" write "takedropinsertremove" write "" write "The words ~it,~ ~them,~ ~him~ and ~her~ may be used to indicate the " write "last appropriate object referred to in one of your commands. " write "The words ~itself,~ ~themselves,~ ~himself~ and ~herself~ may be used " write "to refer to the subject of the current command such as, ~ask dan about " write "himself~.^" write "The word ~all~ or ~everything~ may be used in place of an object " write "when using one of the verbs in the bottom row of the table above.^" write "" write "However, a task such as defusing a bomb would generally not be achieved by " write "typing ~defuse bomb~. The following is a sample transcript to give " write "you a better idea of how this task such as this might be achieved.^" write ">examine bomb" write "The bomb is about a foot square and has a small panel in its upper " write "surface. The panel is currently closed.^" write ">listen to bomb" write "The bomb is making an ominous ticking sound.^" write ">open panel" write "You open the panel to reveal a red wire, a green wire, a blue wire, " write "a clock and some dynamite.^" write ">i" write "You are carrying a bomb manual, an insurance policy and some wire " write "cutters.^" write ">read manual" write "Leafing through the book you come to the page on diffusing. Seems " write "straight forward enough, just cut the blue wire then the red one.^" write ">cut blue wire with cutters" write "Reaching carefully in to the bomb's casing you cut the blue wire. So " write "far so good.^" write ">cut red wire with cutters" write "Holding you breath you snip the red wire." ^ write ">listen to bomb" write "The bomb, thankfully, is now silent." ^ write "As you can see, each task you wish to achieve must be broken down " write "into its component actions.^" write "" write "During the course of the story you may encounter other computer " write "controlled characters. These characters may be interacted with using " write "the following commands...^" write "TALK TO <character>" write "GIVE <object> TO <character>" write "SHOW <object> TO <character>" write "ASK <character> FOR <object>" write "ASK <character> ABOUT <object>" write "TELL <character> ABOUT <object>" ^ write "There are also some special commands for interacting with the " write "program rather than the world it simulates...^" write " write "CommandAction" write "" write "VERBOSEalways describe locations" write "" write "BRIEFonly describe new locations" write "" write "RESTARTstart from the beginning" write "" write "SCOREdisplay your score and rank" write "" write "LOOKdescribe the current location" write "" write "SAVEsave the current position" write "" write "RESTORErestore a saved position" write "" write "Ihorizontal list of possessions" write "" write "INVvertical list of possessions" write "" write "UNDOtake back last command" write "" write "AGAINrepeat the last command" write "" write "INFOdisplay version information" write "" write "ABOUTdisplay game information" write "" write "NOTE: If you are looking for a clue relevant to a specific location, " write "type ~hint~, ~first hint~ or ~hint one~ in that location. The first " write "hint will be a subtle clue with ~hint two~ being more blatant and " write "~hint three~ being exact commands to type.^" write "" write "You are now ready to embark on your first adventure into the " write "world of interactive fiction." write " Remember to make a map as you go and read each " write "part carefully as vital clues may be hidden in the descriptions of the " write "locations and objects you come across. Examining every object you can " write "refer to is a good idea, as is saving your position often. Well, good " write "luck, and above all have fun!^" set TIME = false } ; SPEAKING TO OTHER OBJECTS ; ---------------------------------------------------------------------------- ; Grammar statements beginning with an object must be defined last in the game ; to avoid confusion with verbs that may also be objects such as "drink drink" grammar *here press *present >tell_to_press grammar *here push *present >tell_to_press {+tell_to_press break +can_talk noun1 write "~You press it,~ " noun1{the} " replies.^" } grammar *present give myself *carried >ask_for grammar *present give *carried to myself >ask_for grammar *present give *carried to me >ask_for grammar *present give myself *anywhere >ask_for grammar *present give *anywhere to myself >ask_for grammar *present give *anywhere to me >ask_for grammar *present tell myself about *carried >ask_about grammar *present tell myself all about *carried >ask_about grammar *present what do you know about *carried >ask_about grammar *present tell myself about *anywhere >ask_about grammar *present tell myself all about *anywhere >ask_about grammar *present what do you know about *anwhere >ask_about grammar *present who are you >who? grammar *present what is your name >who? grammar *present what is your name? >who? {+who? proxy "ask " noun1 " about " noun1 } grammar *present sorry >apologise grammar *present im sorry >apologise grammar *present i am sorry >apologise grammar apologise to *present >apologise {+apologise if noun1 hasnt ANIMATE write "Kooky.^" break endall write noun1{the} " assure" noun1{s} " you that no apology is necessary.^" } grammar *present thanks >thank grammar *present thank you >thank grammar thank *present >thank {+thank if noun1 hasnt ANIMATE write "Kooky.^" break endall write "~Don't mention it,~ " noun1{the} " replies.^" } grammar hi *present >greet grammar hello *present >greet grammar greet *present >greet grammar *present hello >greet grammar *present hi there >greet grammar *present dr >greet grammar *present doctor >greet grammar *present hi >greet {+greet if here has UNDER_WATER write "Talking under water isn't very easy.^" set TIME = false break endall if noun1 hasnt ANIMATE write "I don't think talking to " noun1{the} " is going to help somehow.^" set TIME = false break endall if noun1 has DEAD write noun1{The} " " noun1{is} " a bit too dead to respond.^" set TIME = false break endall if noun1 = player write "It's the first sign of madness you know...^" break endall override write noun1{The} if noun1 has PLURAL write " nod.^" else write " nods.^" } grammar *present yes >say_yes grammar *present okay >say_yes grammar *present yeah >say_yes {+say_yes write noun1{The} " appear" noun1{s} " to pay no attention.^" } grammar *present no >say_no {+say_no write noun1{The} " appears to pay no attention.^" } grammar *present *carried >say_object grammar *present *anywhere >say_object {+say_object proxy "say " noun2 " to " noun1 } grammar *anywhere >noun_only {+noun_only if noun1 isnt *present write "You don't see any such thing.^" set TIME = false break endif write "There is no verb in that sentence.^" set TIME = false }