Final Revision

master
historicalsource 2019-04-13 22:43:52 -04:00
commit 0dbf6b5df8
71 changed files with 62960 additions and 0 deletions

1
README.md Normal file
View File

@ -0,0 +1 @@
# zork-german

431
actions.zabstr Normal file
View File

@ -0,0 +1,431 @@
<DEFINE-ROUTINE WEST-HOUSE>
<DEFINE-ROUTINE EAST-HOUSE>
<DEFINE-ROUTINE OPEN-CLOSE>
<DEFINE-ROUTINE BOARD-F>
<DEFINE-ROUTINE TEETH-F>
<DEFINE-ROUTINE SONGBIRD-F>
<DEFINE-ROUTINE WHITE-HOUSE-F>
<DEFINE-ROUTINE GO-NEXT>
<DEFINE-ROUTINE FOREST-F>
<DEFINE-ROUTINE MOUNTAIN-RANGE-F>
<DEFINE-ROUTINE WATER-F>
<GLOBAL KITCHEN-WINDOW-FLAG <>>
<DEFINE-ROUTINE KITCHEN-WINDOW-F>
<DEFINE-ROUTINE GHOSTS-F>
<GLOBAL CAGE-TOP T>
<DEFINE-ROUTINE BASKET-F>
<DEFINE-ROUTINE BAT-F>
<DEFINE-ROUTINE FLY-ME>
<DEFINE-ROUTINE FWEEP>
<GLOBAL BAT-DROPS <LTABLE 0 MINE-1 MINE-2 MINE-3 MINE-4 LADDER-TOP
LADDER-BOTTOM SQUEEKY-ROOM MINE-ENTRANCE>>
<DEFINE-ROUTINE BELL-F>
<DEFINE-ROUTINE HOT-BELL-F>
<DEFINE-ROUTINE BOARDED-WINDOW-FCN>
<DEFINE-ROUTINE NAILS-PSEUDO>
<DEFINE-ROUTINE CRACK-FCN>
<DEFINE-ROUTINE KITCHEN-FCN>
<DEFINE-ROUTINE STONE-BARROW-FCN>
<DEFINE-ROUTINE BARROW-DOOR-FCN>
<DEFINE-ROUTINE BARROW-FCN>
<DEFINE-ROUTINE TROPHY-CASE-FCN>
<GLOBAL RUG-MOVED <>>
<DEFINE-ROUTINE LIVING-ROOM-FCN>
<DEFINE-ROUTINE TOUCH-ALL>
<DEFINE-ROUTINE OTVAL-FROB>
<DEFINE-ROUTINE TRAP-DOOR-FCN>
<DEFINE-ROUTINE CELLAR-FCN>
<DEFINE-ROUTINE CHIMNEY-F>
<DEFINE-ROUTINE UP-CHIMNEY-FUNCTION>
<DEFINE-ROUTINE TRAP-DOOR-EXIT>
<DEFINE-ROUTINE RUG-FCN>
<DEFINE-ROUTINE AXE-F>
<DEFINE-ROUTINE STILETTO-FUNCTION>
<DEFINE-ROUTINE WEAPON-FUNCTION>
<DEFINE-ROUTINE TROLL-FCN>
<GLOBAL GRATE-REVEALED <>>
<GLOBAL GRUNLOCK <>>
<DEFINE-ROUTINE LEAVES-APPEAR>
<DEFINE-ROUTINE LEAF-PILE>
<DEFINE-ROUTINE CLEARING-FCN>
<DEFINE-ROUTINE MAZE-11-FCN>
<DEFINE-ROUTINE GRATE-FUNCTION>
<DEFINE-ROUTINE MAZE-DIODES>
<DEFINE-ROUTINE RUSTY-KNIFE-FCN>
<DEFINE-ROUTINE KNIFE-F>
<DEFINE-ROUTINE SKELETON>
<DEFINE-ROUTINE TORCH-OBJECT>
<DEFINE-ROUTINE MIRROR-ROOM>
<GLOBAL MIRROR-MUNG <>>
<GLOBAL LUCKY T>
<DEFINE-ROUTINE MIRROR-MIRROR>
<DEFINE-ROUTINE TORCH-ROOM-FCN>
<DEFINE-ROUTINE DOME-ROOM-FCN>
<DEFINE-ROUTINE LLD-ROOM>
<GLOBAL XB <>>
<GLOBAL XC <>>
<DEFINE-ROUTINE I-XB>
<DEFINE-ROUTINE I-XC>
<DEFINE-ROUTINE I-XBH>
<GLOBAL GATE-FLAG <>>
<GLOBAL GATES-OPEN <>>
<DEFINE-ROUTINE DAM-ROOM-FCN>
<DEFINE-ROUTINE BOLT-F>
<DEFINE-ROUTINE BUBBLE-F>
<DEFINE-ROUTINE INTEGRAL-PART>
<DEFINE-ROUTINE I-RFILL>
<GLOBAL LOUD-RUNS <LTABLE 0 DAMP-CAVE ROUND-ROOM DEEP-CANYON>>
<DEFINE-ROUTINE I-REMPTY>
<GLOBAL DROWNINGS <TABLE (PURE) "bis an deine Kn%ochel." "bis an dein Kinn."
"bis an deine Knie." "bis an deine H%uften." "bis an deine Taille."
"bis an deine Brust." "bis an deinen Hals." "%uber deinen Kopf."
"hoch in deiner Lunge.">>
<GLOBAL WATER-LEVEL 0>
<GDECL (WATER-LEVEL) FIX>
<DEFINE-ROUTINE BUTTON-F>
<DEFINE-ROUTINE TOOL-CHEST-FCN>
<DEFINE-ROUTINE I-MAINT-ROOM>
<DEFINE-ROUTINE LEAK-FUNCTION>
<DEFINE-ROUTINE FIX-MAINT-LEAK>
<DEFINE-ROUTINE PUTTY-FCN>
<DEFINE-ROUTINE TUBE-FUNCTION>
<DEFINE-ROUTINE DAM-FUNCTION>
<DEFINE-ROUTINE WITH-TELL>
<DEFINE-ROUTINE RESERVOIR-SOUTH-FCN>
<DEFINE-ROUTINE RESERVOIR-FCN>
<DEFINE-ROUTINE RESERVOIR-NORTH-FCN>
<DEFINE-ROUTINE BOTTLE-FUNCTION>
<GLOBAL CYCLOWRATH 0>
<DEFINE-ROUTINE CYCLOPS-FCN>
<DEFINE-ROUTINE I-CYCLOPS>
<DEFINE-ROUTINE CYCLOPS-ROOM-FCN>
<GLOBAL CYCLOMAD <TABLE (PURE) "Der Zyklop scheint irgendwie ver%argert."
"Der Zyklop scheint immer %argerlicher zu werden."
"Der Zyklop wandert durch das Zimmer, als ob er nach etwas sucht."
"Der Zyklop hat nach Salz und Pfeffer gesucht. Es besteht kein Zweifel, da%s er sich seine bevorstehende Mahlzeit damit w%urzen will."
"Der Zyklop kommt dir auf eine sehr unangenehme Weise n%aher und n%aher."
"F%ur dich bestehen hier zwei M%oglichkeiten: 1. Abhauen. 2. Zur Mahlzeit werden."
>>
<GLOBAL LOUD-FLAG <>>
<DEFINE-ROUTINE LOUD-ROOM-FCN>
<DEFINE-ROUTINE DEEP-CANYON-F>
<GLOBAL EGG-SOLVE <>>
<GLOBAL THIEF-HERE <>>
<DEFINE-ROUTINE THIEF-VS-ADVENTURER>
<DEFINE-ROUTINE STOLE-LIGHT?>
<DEFINE-ROUTINE HACK-TREASURES>
<DEFINE-ROUTINE DEPOSIT-BOOTY>
<DEFINE-ROUTINE ROB-MAZE>
<GLOBAL THIEF-ENGROSSED <>>
<DEFINE-ROUTINE ROBBER-FUNCTION>
<GLOBAL ROBBER-C-DESC
"Da steht ein verd%achtig au%sehender Kerl, der eine T%ute h%alt, gegen die Wand gelehnt. Er ist mit einem Stilett bewaffnet."
>
<GLOBAL ROBBER-U-DESC
"Da liegt ein verd%achtig au%sehender Kerl bewu%stlos auf der Erde.">
<DEFINE-ROUTINE LARGE-BAG-F>
<DEFINE-ROUTINE MOVE-ALL>
<DEFINE-ROUTINE CHALICE-FCN>
<DEFINE-ROUTINE TREASURE-ROOM-FCN>
<DEFINE-ROUTINE THIEF-IN-TREASURE>
<DEFINE-ROUTINE FRONT-DOOR-FCN>
<DEFINE-ROUTINE BODY-FUNCTION>
<DEFINE-ROUTINE BLACK-BOOK>
<DEFINE-ROUTINE PAINTING-FCN>
<GLOBAL LAMP-TABLE <TABLE (PURE) 100 "The lamp appears a bit dimmer." 70
"The lamp is definitely dimmer now." 15 "The lamp is nearly out." 0>>
<DEFINE-ROUTINE LANTERN>
<DEFINE-ROUTINE MAILBOX-F>
<GLOBAL MATCH-COUNT 6>
<DEFINE-ROUTINE MATCH-FUNCTION>
<DEFINE-ROUTINE I-MATCH>
<DEFINE-ROUTINE I-LANTERN>
<DEFINE-ROUTINE I-CANDLES>
<DEFINE-ROUTINE LIGHT-INT>
<DEFINE-ROUTINE MIN>
<DEFINE-ROUTINE CANDLES-FCN>
<GLOBAL CANDLE-TABLE <TABLE (PURE) 20 "The candles grow shorter." 10
"The candles are becoming quite short." 5 "The candles won't last long now." 0>
>
<DEFINE-ROUTINE CAVE2-ROOM>
<DEFINE-ROUTINE SWORD-FCN>
<DEFINE-ROUTINE BOOM-ROOM>
<DEFINE-ROUTINE BAT-D>
<DEFINE-ROUTINE BATS-ROOM>
<DEFINE-ROUTINE MACHINE-ROOM-FCN>
<DEFINE-ROUTINE MACHINE-F>
<DEFINE-ROUTINE MSWITCH-FUNCTION>
<DEFINE-ROUTINE GUNK-FUNCTION>
<DEFINE-ROUTINE NO-OBJS>
<DEFINE-ROUTINE SOUTH-TEMPLE-FCN>
<GLOBAL LIGHT-SHAFT 13>
<GDECL (LIGHT-SHAFT) FIX>
<DEFINE-ROUTINE WHITE-CLIFFS-FUNCTION>
<DEFINE-ROUTINE SCEPTRE-FUNCTION>
<DEFINE-ROUTINE FALLS-ROOM>
<DEFINE-ROUTINE RAINBOW-FCN>
<DEFINE-ROUTINE DBOAT-FUNCTION>
<DEFINE-ROUTINE FIX-BOAT>
<DEFINE-ROUTINE RIVER-FUNCTION>
<GLOBAL RIVER-SPEEDS <LTABLE (PURE) RIVER-1 4 RIVER-2 4 RIVER-3 3 RIVER-4 2
RIVER-5 1>>
<GLOBAL RIVER-NEXT <LTABLE (PURE) RIVER-1 RIVER-2 RIVER-3 RIVER-4 RIVER-5>>
<GLOBAL RIVER-LAUNCH <LTABLE (PURE) DAM-BASE RIVER-1 WHITE-CLIFFS-NORTH RIVER-3
WHITE-CLIFFS-SOUTH RIVER-4 SHORE RIVER-5 SANDY-BEACH RIVER-4 RESERVOIR-SOUTH
RESERVOIR RESERVOIR-NORTH RESERVOIR STREAM-VIEW IN-STREAM>>
<DEFINE-ROUTINE I-RIVER>
<DEFINE-ROUTINE RBOAT-FUNCTION>
<DEFINE-ROUTINE IBOAT-FUNCTION>
<GLOBAL BUOY-FLAG T>
<DEFINE-ROUTINE RIVR4-ROOM>
<GLOBAL BEACH-DIG -1>
<GDECL (BEACH-DIG) FIX>
<DEFINE-ROUTINE SAND-FUNCTION>
<GLOBAL BDIGS <TABLE (PURE) "Du scheinst hier ein Loch zu graben."
"Das Loch wird immer tiefer, aber sonst nichts."
"Du bist auf allen Seiten von Sand umgeben.">>
<DEFINE-ROUTINE TREE-ROOM>
<DEFINE-ROUTINE EGG-OBJECT>
<DEFINE-ROUTINE BAD-EGG>
<GLOBAL SING-SONG <>>
<DEFINE-ROUTINE CANARY-OBJECT>
<DEFINE-ROUTINE FOREST-ROOM?>
<DEFINE-ROUTINE I-FOREST-ROOM>
<DEFINE-ROUTINE FOREST-ROOM>
<DEFINE-ROUTINE WCLIF-OBJECT>
<DEFINE-ROUTINE CLIFF-OBJECT>
<DEFINE-ROUTINE ROPE-FUNCTION>
<DEFINE-ROUTINE UNTIE-FROM>
<DEFINE-ROUTINE SLIDE-FUNCTION>
<DEFINE-ROUTINE SLIDER>
<DEFINE-ROUTINE SANDWICH-BAG-FCN>
<DEFINE-ROUTINE DEAD-FUNCTION>
<DEFINE-ROUTINE LAKE-PSEUDO>
<DEFINE-ROUTINE STREAM-PSEUDO>
<DEFINE-ROUTINE CHASM-PSEUDO>
<DEFINE-ROUTINE DOME-PSEUDO>
<DEFINE-ROUTINE GATE-PSEUDO>
<DEFINE-ROUTINE DOOR-PSEUDO>
<DEFINE-ROUTINE PAINT-PSEUDO>
<DEFINE-ROUTINE GAS-PSEUDO>
<CONSTANT F-BUSY? 1>
<CONSTANT F-DEAD 2>
<CONSTANT F-UNCONSCIOUS 3>
<CONSTANT F-CONSCIOUS 4>
<CONSTANT F-FIRST? 5>
<CONSTANT MISSED 1>
<CONSTANT UNCONSCIOUS 2>
<CONSTANT KILLED 3>
<CONSTANT LIGHT-WOUND 4>
<CONSTANT SERIOUS-WOUND 5>
<CONSTANT STAGGER 6>
<CONSTANT LOSE-WEAPON 7>
<CONSTANT HESITATE 8>
<CONSTANT SITTING-DUCK 9>
<GLOBAL DEF1 <TABLE (PURE) MISSED MISSED MISSED MISSED STAGGER STAGGER
UNCONSCIOUS UNCONSCIOUS KILLED KILLED KILLED KILLED KILLED>>
<GLOBAL DEF2A <TABLE (PURE) MISSED MISSED MISSED MISSED MISSED STAGGER STAGGER
LIGHT-WOUND LIGHT-WOUND UNCONSCIOUS>>
<GLOBAL DEF2B <TABLE (PURE) MISSED MISSED MISSED STAGGER STAGGER LIGHT-WOUND
LIGHT-WOUND LIGHT-WOUND UNCONSCIOUS KILLED KILLED KILLED>>
<GLOBAL DEF3A <TABLE (PURE) MISSED MISSED MISSED MISSED MISSED STAGGER STAGGER
LIGHT-WOUND LIGHT-WOUND SERIOUS-WOUND SERIOUS-WOUND>>
<GLOBAL DEF3B <TABLE (PURE) MISSED MISSED MISSED STAGGER STAGGER LIGHT-WOUND
LIGHT-WOUND LIGHT-WOUND SERIOUS-WOUND SERIOUS-WOUND SERIOUS-WOUND>>
<GLOBAL DEF3C <TABLE (PURE) MISSED STAGGER STAGGER LIGHT-WOUND LIGHT-WOUND
LIGHT-WOUND LIGHT-WOUND SERIOUS-WOUND SERIOUS-WOUND SERIOUS-WOUND>>
<GLOBAL DEF1-RES <TABLE DEF1 0 0>>
<GLOBAL DEF2-RES <TABLE DEF2A DEF2B 0 0>>
<GLOBAL DEF3-RES <TABLE DEF3A 0 DEF3B 0 DEF3C>>
<CONSTANT STRENGTH-MAX 7>
<CONSTANT STRENGTH-MIN 2>
<CONSTANT CURE-WAIT 30>
<DEFINE-ROUTINE DO-FIGHT>
<DEFINE-ROUTINE REMARK>
<DEFINE-ROUTINE FIGHT-STRENGTH>
<DEFINE-ROUTINE VILLAIN-STRENGTH>
<DEFINE-ROUTINE FIND-WEAPON>
<DEFINE-ROUTINE VILLAIN-BLOW>
<DEFINE-ROUTINE HERO-BLOW>
<DEFINE-ROUTINE WINNER-RESULT>
<DEFINE-ROUTINE VILLAIN-RESULT>
<DEFINE-ROUTINE WINNING?>
<DEFINE-ROUTINE I-CURE>
<CONSTANT WEP-ACC 2>
<CONSTANT WEP-ACC-CAP 3>
<CONSTANT WEP-NOM 4>
<CONSTANT WEP-NOM-CAP 5>
<CONSTANT DER-WEP-ACC 6>
<CONSTANT WEP-DAT 7>
<CONSTANT DEF-NOM 8>
<CONSTANT DEF-NOM-CAP 9>
<CONSTANT DEF-ACC 10>
<CONSTANT DEF-DAT-CAP 11>
<GLOBAL HERO-MELEE <TABLE (PURE) <LTABLE (PURE) <LTABLE (PURE) WEP-NOM-CAP
" verpa%st " DEF-ACC " um 2cm."> <LTABLE (PURE)
"Ein guter Hieb, aber er verpa%st " DEF-ACC " um einen Kilometer."> <LTABLE (
PURE) "Du greifst an, aber " DEF-NOM " springt leichtf%u%sig zur Seite."> <
LTABLE (PURE) "Kling! Klang! Bumm! " DEF-NOM-CAP " pariert den Schlag."> <
LTABLE (PURE) "Ein schneller Schlag, aber " DEF-NOM " ist auf der Hut."> <
LTABLE (PURE) "Ein guter Schlag, aber er ist zu langsam, " DEF-NOM
" weicht aus.">> <LTABLE (PURE) <LTABLE (PURE) WEP-NOM-CAP
" braust nieder, sendet " DEF-ACC " ins Land der Tr%aume."> <LTABLE (PURE)
DEF-NOM-CAP " ist bewu%stlos geschlagen."> <LTABLE (PURE)
"Ein f%urchterlicher Waffenaustausch und " DEF-NOM " ist k.o."> <LTABLE (PURE)
"Das Heft von " WEP-DAT " haut " DEF-ACC " um."> <LTABLE (PURE) DEF-NOM-CAP
" ist k.o. geschlagen.">> <LTABLE (PURE) <LTABLE (PURE) DEF-NOM-CAP
" bei%st ins Gras, als " WEP-NOM " seinen Kopf abschl%agt."> <LTABLE (PURE)
"Der t%odliche Schlag trifft " DEF-ACC " direkt ins Herz. Er stirbt."> <LTABLE
(PURE) DEF-NOM-CAP " erleidet einen t%odlichen Schlag und f%allt tot zur Erde."
>> <LTABLE (PURE) <LTABLE (PURE) DEF-NOM-CAP
" ist am Arm verletzt. Blut beginnt herabzurinseln."> <LTABLE (PURE)
WEP-NOM-CAP " ritzt " DEF-ACC " am Handgelenk, aber es ist nicht ernst."> <
LTABLE (PURE) "Dein Hieb sitzt, aber er war nur mit der flachen Seite von
dem Schwert."> <LTABLE (PURE) "Der Schlag trifft " DEF-ACC
" und hinterl%a%st eine leichte Wunde in seinem Arm.">> <LTABLE (PURE) <LTABLE
(PURE) DEF-NOM-CAP " bekommt eine tiefe Wunde in der Seite."> <LTABLE (PURE)
"Ein grausiger Schlag in den Schenkel! " DEF-NOM-CAP
" ist momentan wie festgenagelt, aber er kann weiterk%ampfen!"> <LTABLE (PURE)
"Schwupp! Dein Schlag f%allt! Dieser hat eine Arterie getroffen, das k%onnte gef%ahrlich sein!"
> <LTABLE (PURE)
"Schwupp! Dein Schlag hat getroffen! Dies k%onnte gef%ahrlich sein.">> <LTABLE
(PURE) <LTABLE (PURE) DEF-DAT-CAP
" hat es den Atem verschlagen, und er f%allt auf die Knie."> <LTABLE (PURE)
DEF-NOM-CAP " ist f%ur einen Moment verwirrt und kann nicht zur%uckschlagen.">
<LTABLE (PURE) "Die Macht deines Hiebes wirft " DEF-ACC
" zur%uck, er ist benommen."> <LTABLE (PURE) DEF-NOM-CAP
" ist verwirrt und kann nicht zur%uckschlagen."> <LTABLE (PURE)
"Die Geschwindigkeit deines Sto%ses schl%agt " DEF-ACC " zur%uck.">> <LTABLE (
PURE) <LTABLE (PURE) DEF-DAT-CAP " wird " WEP-NOM
" aus der Hand geschlagen, damit ist er unbewaffnet."> <LTABLE (PURE)
DEF-NOM-CAP " ist durch ein kluges T%auschungsman%over entwaffnet.">>>>
<GLOBAL CYCLOPS-MELEE <TABLE (PURE) <LTABLE (PURE) <LTABLE (PURE)
"Der Zyklop schafft es nicht, aber die Nachwelle schmei%st dich beinahe um."> <
LTABLE (PURE) "Der Zyklop greift dich an, aber er rennt gegen die Wand.">> <
LTABLE (PURE) <LTABLE (PURE) "Der Zyklop sendet dich bewu%stlos zu Boden.">> <
LTABLE (PURE) <LTABLE (PURE)
"Der Zyklop bricht dir mit einem ungeheuren Hieb das Genick.">> <LTABLE (PURE)
<LTABLE (PURE) "Ein schneller Schlag, aber er hat dich nur gestreift."> <LTABLE
(PURE) "Ein dich streifender Faustschlag von dem Zyklopen.">> <LTABLE (PURE) <
LTABLE (PURE) "Das Ungeheuer trifft dich mit seiner enormen Faust in der Brust und bricht dir einige Rippen."
> <LTABLE (PURE)
"Der Zyklop nimmt dir mit einem schnellen Schlag beinahe den Atem.">> <LTABLE (
PURE) <LTABLE (PURE)
"Der Zyklop landet einen Schlag, der dir den Atem momentan nimmt."> <LTABLE (
PURE) "Deiner Waffen nicht achtend wird der Zyklop dich gegen die Wand des Raumes."
>> <LTABLE (PURE) <LTABLE (PURE)
"Der Zyklop nimmt pl%otzlich deine Waffe, bei%st hinein und schmei%st sie v%ar%achtlich auf die Erde."
> <LTABLE (PURE)
"Das Ungeheuer ergreift dein Handgelenk, quetscht seine Finger darum, und du l%a%st vor Schmerz "
WEP-ACC " fallen.">> <LTABLE (PURE) <LTABLE (PURE)
"Der Zyklop scheint nicht entscheiden zu k%onnen, ob er sein Abendessen kochen oder backen soll."
>> <LTABLE (PURE) <LTABLE (PURE)
"Der Zyklop, der h%ochst unsportlich ist, wird sein bewu%stloses Opfer los.">>>
>
<GLOBAL TROLL-MELEE <TABLE (PURE) <LTABLE (PURE) <LTABLE (PURE)
"Der Troll schwingt die Axt, aber er trifft nicht."> <LTABLE (PURE)
"Die Axt des Trolls geht haarscharf an deinem Ohr vorbei."> <LTABLE (PURE)
"Die Axt fegt vorbei, als du zur Seite springst."> <LTABLE (PURE)
"Die Axt schmettert so hart gegen den Stein, da%s Funken spr%uhen.">> <LTABLE (
PURE) <LTABLE (PURE)
"Die flache Seite der Axt des Trolls trifft dich leicht am Kopf, und du wirst bewu%stlos."
>> <LTABLE (PURE) <LTABLE (PURE) "Der Troll schneidet elegant deinen Kopf ab.">
<LTABLE (PURE) "Die Axt des Trolls teilt dich in zwei gleiche Teile, von oben bis unten."
> <LTABLE (PURE) "Die Axt des Trolls haut dir den Kopf ab.">> <LTABLE (PURE) <
LTABLE (PURE) "Die Axt trifft dich direkt in die Seite. Au!"> <LTABLE (PURE)
"Die Fl%ache der Axt des Trolls entfernt die Haut an deinem Unterarm."> <LTABLE
(PURE) "Die Schw%unge des Trolls hauen dich beinahe um, w%ahrend du sie kaum rechtzeitig parieren kannst."
> <LTABLE (PURE)
"Der Troll schwingt seine Axt, trifft deinen Arm als du ausweichst.">> <LTABLE
(PURE) <LTABLE (PURE)
"Der Troll greift an, und seine Axt verletzt dich an deinem Schwertarm."> <
LTABLE (PURE) "Ein Axthiebt hinterl%a%st eine tiefe Wunde in deinem Bein."> <
LTABLE (PURE) "Die Axt des Trolls schwingt herunter, schl%agt dir die Schulter blutig."
>> <LTABLE (PURE) <LTABLE (PURE)
"Der Troll trifft dich mit einem schnellen Schlag, und du bist momentan au%ser Gefecht gesetzt."
> <LTABLE (PURE)
"Der Troll trifft, aber die Schneide wird von deiner R%ustung abgelenkt, trifft dich aber direkt in den Kopf."
> <LTABLE (PURE) "Du stolperst unter einem Hagel von Axtstreichen zur%uck."> <
LTABLE (PURE) "Der m%achtige Schlag des Trolls bringt dich auf die Kniee.">> <
LTABLE (PURE) <LTABLE (PURE) "Die Axt trifft dein Schwert, und haut dich um.">
<LTABLE (PURE) "Der Troll schwingt, du parierst, aber die Gewalt seines Streiches schl%agt dir "
DER-WEP-ACC " aus der Hand."> <LTABLE (PURE)
"Die Axt schl%agt dir die Waffe aus der Hand. Sie f%allt zu Boden.">> <LTABLE (
PURE) <LTABLE (PURE) "Der Troll z%ogert, betastet seine Axt."> <LTABLE (PURE)
"Der Troll kratzt sich nachdenklich am Kopf. Ob du wohl magische Kr%afte hast, wundert er sich?"
>> <LTABLE (PURE) <LTABLE (PURE)
"Der Troll meistert seine Furcht und t%otet dich.">>>>
<GLOBAL THIEF-MELEE <TABLE (PURE) <LTABLE (PURE) <LTABLE (PURE)
"Der Dieb sticht elegant mit dem Stilett und trifft nicht."> <LTABLE (PURE)
"Du vermeidest das Stilett, als der Dieb tief sticht."> <LTABLE (PURE)
"Du parierst einen blitzartigen Sto%s, und der Dieb bedient dich mit einem grimmigen Kopfnicken."
> <LTABLE (PURE)
"Der Dieb versucht, deine Abwehrstellung heimt%uckisch zu durchbrechen, aber du windest dich aus seiner Richtung."
>> <LTABLE (PURE) <LTABLE (PURE)
"Indem er die Richtung seines Sto%ses %andert, trifft dich der Dieb mit dem Heft des Stiletts, du wirst bewu%stlos."
> <LTABLE (PURE) "Der Dieb haut dich k.o.">> <LTABLE (PURE) <LTABLE (PURE)
"Dein Leben endet, als der Dieb die Schneide in dein Herz senkt."> <LTABLE (
PURE) "Der Dieb kommt von der Seite, macht ein T%auschungsman%over und setzt die Schneide zwischen deine Rippen."
> <LTABLE (PURE)
"Der Dieb verbeugt sich formell, hebt das Stilett und mit einem h%a%slichen Grinsen beendet er den Kampf und dein Leben."
>> <LTABLE (PURE) <LTABLE (PURE)
"Ein schneller Hieb streift deinen linken Arm, und Blut rinnt deinen Arm herunter."
> <LTABLE (PURE)
"Blut beginnt zu flie%sen, als der Dieb sein Stilett %uber deinen Arm recht.">
<LTABLE (PURE) "Das Stilett zuckt schneller, als Du denken kannst, und Blut flie%st von deinem Bein."
> <LTABLE (PURE)
"Der Dieb kommt langsam n%aher, schl%agt zu wie eine Schlange und l%a%st dich verwundet liegen."
>> <LTABLE (PURE) <LTABLE (PURE)
"Der Dieb schl%agt zu wie eine Schlange! Die empfangene Wunde ist ernst!"> <
LTABLE (PURE) "Der Dieb versetzt dir einen tiefen Stich in den Oberarm."> <
LTABLE (PURE) "Das Stilett ber%uhrt deine Stirn, und das herabrinnende Blut macht dich blind."
> <LTABLE (PURE)
"Der Dieb trifft dich am Handgelenk und pl%otzlich wird dein Schwertgriff schl%upfrig von dem Blut."
>> <LTABLE (PURE) <LTABLE (PURE)
"Der Griff von seinem Stilett kracht auf deinen Sch%adel, und du wankst zur%uck."
> <LTABLE (PURE)
"Der Dieb rammt das Heft seines Messers in deinen Bauch und du verlierst den Atem."
> <LTABLE (PURE) "Der Dieb greift dich an, und du f%allst verzweifelt zur%uck."
>> <LTABLE (PURE) <LTABLE (PURE)
"Ein langer theatralischer Stich. Du parierst ihn auf " WEP-DAT
", aber der Dieb dreht sein Messer, und " WEP-NOM " fliegt dir aus der Hand.">
<LTABLE (PURE) "Der Dieb dreht dir " DER-WEP-ACC
" elegant aus der Hand, und es f%allt auf die Erde."> <LTABLE (PURE)
"Du parierst einen Tiefschlag und " WEP-NOM " schl%upft dir aus der Hand.">> <
LTABLE (PURE) <LTABLE (PURE)
"Der Dieb, ein Mann aus guter Gesellschaft, stoppt f%ur eine Minute, um zu %uberlegen, ob es in Ordnung ist, dein Leben zu beenden."
> <LTABLE (PURE) "Es am%usiert den Dieb, deine Taschen zu durchsuchen."> <
LTABLE (PURE) "Der Dieb besch%aftigt sich damit, deinen Rucksack zu durchw%uhlen."
>> <LTABLE (PURE) <LTABLE (PURE)
"F%ur einen Moment vergi%st der Dieb seine gute Kinderstube, er schneidet dir den Hals ab."
> <LTABLE (PURE)
"Der Dieb, ein Pragmatiker, sieht in dir eine Bedrohung seines Lebens.">>>>
<CONSTANT V-VILLAIN 0>
<CONSTANT V-BEST 1>
<CONSTANT V-BEST-ADV 2>
<CONSTANT V-PROB 3>
<CONSTANT V-MSGS 4>
<GLOBAL VILLAINS <LTABLE <TABLE TROLL SWORD 1 0 TROLL-MELEE> <TABLE THIEF KNIFE
1 0 THIEF-MELEE> <TABLE CYCLOPS <> 0 0 CYCLOPS-MELEE>>>
<DEFINE-ROUTINE I-FIGHT>
<DEFINE-ROUTINE AWAKEN>
<DEFINE-ROUTINE I-SWORD>
<DEFINE-ROUTINE INFESTED?>
<DEFINE-ROUTINE I-THIEF>
<DEFINE-ROUTINE DROP-JUNK>
<DEFINE-ROUTINE RECOVER-STILETTO>
<DEFINE-ROUTINE STEAL-JUNK>
<DEFINE-ROUTINE ROB>
<DEFINE-ROUTINE V-DIAGNOSE>
<DEFINE-ROUTINE V-SCORE>
<DEFINE-ROUTINE JIGS-UP>
<DEFINE-ROUTINE RANDOMIZE-OBJECTS>
<DEFINE-ROUTINE KILL-INTERRUPTS>
<DEFINE-ROUTINE BAG-OF-COINS-F>
<DEFINE-ROUTINE TRUNK-F>
<DEFINE-ROUTINE STUPID-CONTAINER>
<DEFINE-ROUTINE DUMB-CONTAINER>
<DEFINE-ROUTINE GARLIC-F>
<DEFINE-ROUTINE CHAIN-PSEUDO>
<DEFINE-ROUTINE TROLL-ROOM-F>

4013
actions.zap Normal file

File diff suppressed because it is too large Load Diff

4260
actions.zil Normal file

File diff suppressed because it is too large Load Diff

59
chunk.script Normal file
View File

@ -0,0 +1,59 @@
Notes:
1) Under each paragraph of so of text, type out your translation.
(So I know to what the translation corresponds.)
2) Don't bother translating the input now, such as >OPEN THE MAILBOX,
etc. All the inputs will be translated as all together.
3) You do NOT need to translate sentences with a German article in them.
These sentences are usually simple, functional sentences that are
used repeatedly. The object following the German article indicates
that it is "plugged into" the sentence and could be, usually, just
about any object in the game. (These sentences all have the default
Feminine gender because the object names to be plugged in haven't
been translated yet.) The sentences with the German article will be
translated apart from the game transcript below.
4) If you run across a chunk of text that you've already translated, of
course there's no need to do it again. Hopefully there won't be alot
of these. But there will be some "repeat" chunks of text.
5) If you can put quotes around each paragraph of text, it would be
helpful. But if you forget, don't worry about it.
6) Some text may be seem bizarre or puzzling. You might as well not waste
your time trying to figure out exactly what they mean. I'll try
to explain them (or find someone who can).
7) Good luck.
West of House
You are standing in an open field west of a white house, with a boarded front
door.
There is eine small mailbox here. (Renata: E.g., don't bother translating
this sentence)
>EXAMINE THE WHITE HOUSE
The house is a beautiful colonial house which is painted white.
It is clear that the owners must have been extremely wealthy.
>OPEN THE MAILBOX
Opening die small mailbox reveals eine leaflet.
>TAKE LEAFLET
Taken.
>READ LEAFLET
"WELCOME TO ZORK!
ZORK is a game of adventure, danger, and low cunning. In it you will explore
some of the most amazing territory ever seen by mortals. No computer should be
without one!"
>GO NORTH
North of House
You are facing the north side of a white house. There is no door here, and all
the windows are boarded up. To the north a narrow path winds through the trees.

13
clock.zabstr Normal file
View File

@ -0,0 +1,13 @@
<CONSTANT C-TABLELEN 180>
<GLOBAL C-TABLE <ITABLE NONE 180>>
<GLOBAL C-DEMONS 180>
<GLOBAL C-INTS 180>
<CONSTANT C-INTLEN 6>
<CONSTANT C-ENABLED? 0>
<CONSTANT C-TICK 1>
<CONSTANT C-RTN 2>
<DEFINE-ROUTINE QUEUE>
<DEFINE-ROUTINE INT>
<GLOBAL CLOCK-WAIT <>>
<DEFINE-ROUTINE CLOCKER>

53
clock.zap Normal file
View File

@ -0,0 +1,53 @@
.FUNCT QUEUE:ANY:2:2,RTN:ATOM,TICK:FIX,CINT
CALL2 INT,RTN >CINT
PUT CINT,C-TICK,TICK
RETURN CINT
.FUNCT INT:ANY:1:5,RTN:ATOM,DEMON:ATOM,E,C,INT
ADD C-TABLE,C-TABLELEN >E
ADD C-TABLE,C-INTS >C
?PRG1: EQUAL? C,E \?CCL5
SUB C-INTS,C-INTLEN >C-INTS
ZERO? DEMON /?PEN6
SUB C-DEMONS,C-INTLEN >C-DEMONS
?PEN6: ADD C-TABLE,C-INTS >INT
PUT INT,C-RTN,RTN
RETURN INT
?CCL5: GET C,C-RTN
EQUAL? STACK,RTN \?CND3
RETURN C
?CND3: ADD C,C-INTLEN >C
JUMP ?PRG1
.FUNCT CLOCKER:ANY:0:0,C,E,TICK:FIX,FLG:ATOM
ZERO? CLOCK-WAIT /?CND1
SET 'CLOCK-WAIT,FALSE-VALUE
RFALSE
?CND1: ZERO? P-WON /?CCL5
PUSH C-INTS
JUMP ?CND3
?CCL5: PUSH C-DEMONS
?CND3: ADD C-TABLE,STACK >C
ADD C-TABLE,C-TABLELEN >E
?PRG6: EQUAL? C,E \?CCL10
INC 'MOVES
RETURN FLG
?CCL10: GET C,C-ENABLED?
ZERO? STACK /?CND8
GET C,C-TICK >TICK
ZERO? TICK /?CND8
SUB TICK,1
PUT C,C-TICK,STACK
GRTR? TICK,1 /?CND8
GET C,C-RTN
CALL STACK
ZERO? STACK /?CND8
SET 'FLG,TRUE-VALUE
?CND8: ADD C,C-INTLEN >C
JUMP ?PRG6
.ENDI

62
clock.zil Normal file
View File

@ -0,0 +1,62 @@
"GCLOCK for
The Zork Trilogy
(c) Copyright 1983 Infocom, Inc. All Rights Reserved"
<CONSTANT C-TABLELEN 180>
<GLOBAL C-TABLE <ITABLE NONE 180>>
<GLOBAL C-DEMONS 180>
<GLOBAL C-INTS 180>
<CONSTANT C-INTLEN 6>
<CONSTANT C-ENABLED? 0>
<CONSTANT C-TICK 1>
<CONSTANT C-RTN 2>
<ROUTINE QUEUE (RTN TICK "AUX" CINT)
#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
;"added per RAGER"
;<PUT .CINT ,C-ENABLED? 1>
.CINT>
<ROUTINE INT (RTN "OPTIONAL" (DEMON <>) E C INT)
#DECL ((RTN) ATOM (DEMON) <OR ATOM FALSE> (E C INT) <PRIMTYPE
VECTOR>)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<==? .C .E>
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
<AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,C-INTLEN>>>
<SET INT <REST ,C-TABLE ,C-INTS>>
<PUT .INT ,C-RTN .RTN>
<RETURN .INT>)
(<EQUAL? <GET .C ,C-RTN> .RTN> <RETURN .C>)>
<SET C <REST .C ,C-INTLEN>>>>
<GLOBAL CLOCK-WAIT <>>
<ROUTINE CLOCKER ("AUX" C E TICK (FLG <>))
#DECL ((C E) <PRIMTYPE VECTOR> (TICK) FIX (FLG) <OR FALSE ATOM>)
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
<SET C <REST ,C-TABLE <COND (,P-WON ,C-INTS) (T ,C-DEMONS)>>>
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<REPEAT ()
<COND (<==? .C .E>
<SETG MOVES <+ ,MOVES 1>>
<RETURN .FLG>)
(<NOT <0? <GET .C ,C-ENABLED?>>>
<SET TICK <GET .C ,C-TICK>>
<COND (<0? .TICK>)
(T
<PUT .C ,C-TICK <- .TICK 1>>
<COND (<AND <NOT <G? .TICK 1>>
<APPLY <GET .C ,C-RTN>>>
<SET FLG T>)>)>)>
<SET C <REST .C ,C-INTLEN>>>>

108
combat.log Normal file
View File

@ -0,0 +1,108 @@
25-Oct-87 15:59:52 XZILCH started. Load is 0.15.
PS:<INTERLOGIC>XZILCH.EXE ZORK1 /NI
Compiling SS:<GERMAN>ZORK1.ZIL.13
[XZIP instructions]
Renovated ZORK I: The Great Underground Empire
Loading SS:<GERMAN>TELLS.ZIL.45 and compiling it.
Abstracting SS:<GERMAN>TELLS.
Loading SS:<GERMAN>SYNTAX.ZIL.23 and compiling it.
Loading SS:<GERMAN>DUNGEON.ZIL.31 and compiling it.
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (EAST The door is boarded and you can't remove the boards.)
OBJECT WEST-OF-HOUSE
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (SOUTH The windows are all boarded.) OBJECT NORTH-OF-HOUSE
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (NORTH The windows are all boarded.) OBJECT SOUTH-OF-HOUSE
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP There is no tree here suitable for climbing.) OBJECT
FOREST-1
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP There is no tree here suitable for climbing.) OBJECT
FOREST-2
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP The mountains are impassable.) OBJECT MOUNTAINS
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP There is no tree here suitable for climbing.) OBJECT
FOREST-3
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP You cannot climb any higher.) OBJECT UP-A-TREE
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (NORTH The forest becomes impenetrable to the north.)
OBJECT GRATING-CLEARING
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP There is no tree here suitable for climbing.) OBJECT
CLEARING
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (WEST
You try to ascend the ramp, but it is impossible, and you slide back down.)
OBJECT CELLAR
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (DOWN
The chasm probably leads straight to the infernal regions.) OBJECT EAST-OF-CHASM
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (DOWN The dam blocks your way.) OBJECT RESERVOIR GIN--
GOUT TIME=8.4430003
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (WEST
The stream emerges from a spot too small for you to enter.) OBJECT STREAM-VIEW
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP The channel is too narrow.) OBJECT IN-STREAM
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (SOUTH It is too narrow for most insects.) OBJECT DAMP-CAVE
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (DOWN Are you out of your mind?) OBJECT CHASM-ROOM
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP You cannot reach the rope.) OBJECT TORCH-ROOM
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT
RIVER-1
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT
RIVER-2
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT
RIVER-3
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT
RIVER-4
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT
RIVER-5
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (DOWN It's a long way...) OBJECT ARAGAIN-FALLS
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (SOUTH Storm-tossed trees block your way.) OBJECT
CANYON-VIEW
*** Compilation error: PROPERTY-DOESNT-MATCH-SPEC
Relevant values: (DOWN You wouldn't fit and would die if you could.) OBJECT
SHAFT-ROOM
Abstracting SS:<GERMAN>DUNGEON.
Loading SS:<GERMAN>GLOBALS.ZIL.45 and compiling it.
Abstracting SS:<GERMAN>GLOBALS.
Loading SS:<GERMAN>CLOCK.ZIL.5 and compiling it.
Abstracting SS:<GERMAN>CLOCK.
Loading SS:<GERMAN>LOOP.ZIL.29 and compiling it.Command received from user JEFF.
Killing plan WASTE-MIMC.PLAN.2.
Abstracting SS:<GERMAN>LOOP.
Loading SS:<GERMAN>PARSER.ZIL.57 and compiling it.Command received from user JEFF.
Killing plan WASTE-MIMC.PLAN.1.
Compiler killed.
Compiler died.
Used 1:43.7 in 00:02:24.

1027
dungeon.zabstr Normal file

File diff suppressed because it is too large Load Diff

78
dungeon.zap Normal file
View File

@ -0,0 +1,78 @@
.FUNCT GRATING-EXIT:ANY:0:0
ZERO? GRATE-REVEALED /?CCL3
FSET? GRATE,OPENBIT \?CCL6
RETURN GRATING-ROOM
?CCL6: PRINTI "Das Gitter ist geschlossen."
CRLF
ICALL2 THIS-IS-IT,GRATE
RFALSE
?CCL3: PRINTI "In die Richtung kannst du nicht gehen."
CRLF
RFALSE
.FUNCT TREASURE-INSIDE:ANY:0:0
EQUAL? PRSA,V?OPEN \FALSE
ICALL2 SCORE-OBJ,EMERALD
RFALSE
.FUNCT IN-MAZE?:ANY:1:1,PLACE
EQUAL? PLACE,MAZE-1,MAZE-2,MAZE-3 /TRUE
EQUAL? PLACE,MAZE-4,MAZE-5,MAZE-6 /TRUE
EQUAL? PLACE,MAZE-7,MAZE-8,MAZE-9 /TRUE
EQUAL? PLACE,MAZE-10,MAZE-11,MAZE-12 /TRUE
EQUAL? PLACE,MAZE-13,MAZE-14,MAZE-15 /TRUE
EQUAL? PLACE,DEAD-END-1,DEAD-END-2,DEAD-END-3 /TRUE
EQUAL? PLACE,DEAD-END-4 /TRUE
RFALSE
.FUNCT CANYON-VIEW-F:ANY:1:1,RARG
EQUAL? RARG,M-BEG \FALSE
EQUAL? PRSA,V?LEAP \FALSE
ZERO? PRSO \FALSE
ICALL2 JIGS-UP,STR?181
RTRUE
.FUNCT GO:ANY:0:0
?FCN: CALL QUEUE,I-FIGHT,-1
PUT STACK,0,1
ICALL QUEUE,I-SWORD,-1
CALL QUEUE,I-THIEF,-1
PUT STACK,0,1
ICALL QUEUE,I-CANDLES,40
ICALL QUEUE,I-LANTERN,200
PUTP INFLATED-BOAT,P?VTYPE,NONLANDBIT
ADD DEF1,2
PUT DEF1-RES,1,STACK
ADD DEF1,4
PUT DEF1-RES,2,STACK
ADD DEF2B,2
PUT DEF2-RES,2,STACK
ADD DEF2B,4
PUT DEF2-RES,3,STACK
ADD DEF3A,2
PUT DEF3-RES,1,STACK
ADD DEF3B,2
PUT DEF3-RES,3,STACK
SET 'HERE,WEST-OF-HOUSE
ICALL2 THIS-IS-IT,MAILBOX
CLEAR -1
ICALL1 INIT-STATUS-LINE
CRLF
FSET? HERE,TOUCHBIT /?CND1
ICALL1 V-VERSION
CRLF
?CND1: SET 'LIT,TRUE-VALUE
SET 'WINNER,ADVENTURER
SET 'PLAYER,WINNER
MOVE WINNER,HERE
ICALL1 V-LOOK
ICALL1 MAIN-LOOP
JUMP ?FCN
.ENDI

2720
dungeon.zil Normal file

File diff suppressed because it is too large Load Diff

1
file.zil Normal file
View File

@ -0,0 +1 @@
"W. W. W. U. SW. E. S. SE."

1
flush.cmd Normal file
View File

@ -0,0 +1 @@
fdele /all:_*.*,*.temp/keep:2/spec:mud,msubr/delfn:*.*

BIN
g.actions Normal file

Binary file not shown.

322
g.deaths Normal file
View File

@ -0,0 +1,322 @@
*** BELOW ARE THE SEVERAL WAYS TO DIE IN ZORK I ***
>BRUSH TEETH WITH GUNK
"Well, you seem to have been brushing your teeth with some sort of glue. As a result, your mouth gets glued together (with your nose) and you die of respiratory failure."
>BURN LEAVES
"The leaves burn, and so do you."
>KILL THIEF WITH KNIFE
"As the knife approaches its victim, your mind is submerged by an
overmastering will. Slowly, your hand turns, until the rusty blade
is an inch from your neck. The knife seems to sing as it savagely
slits your throat."strange phrase in English????
>JUMP OF CLIFF
"It's a shame the leap you just attempted has done you in."
(NOTE: IN THE BOAT)
"You are lifted up by the rising river! You try to swim, but the
currents are too strong. You come closer, closer to the awesome
structure of Flood Control Dam #3. The dam beckons to you.
The roar of the water nearly deafens you, but you remain conscious
as you tumble over the dam toward your certain doom among the rocks at its base."
"Unfortuneately, you have drowned yourself."
"The rising water carries the boat over the dam, down the river, and over the falls. Tsk, tsk."
>LOOK AT CYCLOPS
"The cyclops, tired of all of your games and trickery, grabs you firmly.
As he licks his chops, he says \"Mmm. Just like Mom used to make 'em.\"
\"
It's nice to be appreciated."
>BURN THE BODIES (IN HADES)
"The voice of the guardian of the dungeon booms out from the darkness, \"Your disrespect costs you your life!\" and places your head on a sharp pole."
>BURN THE BLACK BOOK
"A booming voice says \"Wrong, cretin!\" and you notice that you have
turned into a pile of dust. How, I can't imagine."
>WALK NORTH (INTO THE GAS ROOM)
** BOOOOOOOOOOOM **
(NOTE: THE RAINBOW GIVES WAY)
"The structural integrity of the rainbow is severely compromised, leaving you hanging in midair, supported only by water vapor. Bye."
>PUT MYSELF IN RIVER
"You splash around for a while, fighting the current, then you drown."
...
"Unfortunately, the magic boat doesn't provide protection from
the rocks and boulders one meets at the bottom of waterfalls.
Including this one."
THE BOAT DEFLATES...
"Another pathetic sputter, this time from you, heralds your drowning."
THE BOAT DEFLATES...
"In other words, fighting the fierce currents of the Frigid River. You
manage to hold your own for a bit, but then you are carried over a
waterfall and into some nasty rocks. Ouch!"
(NOTE: IF YOU DIG TOO DEEP)
"The hole collapses, smothering you."
DITTO
"That was just a bit too far down."
FIGHTING A VILLAIN...
"It appears that that last blow was too much for you. I'm afraid you
are dead."
DITTO
"Well, you really did it that time. Is suicide painless?"
>THROW THING AT ME
"The THING hits you squarely in the head. Normally, this wouldn't do much damage, but by incredible mischance, you fall over backwards trying to duck, and break your neck, justice being swift and merciful in the Great Underground Empire." copy from text.
>WALK NORTH
"Oh, no! You have walked into a den of hungry grues and it's dinner time!" copy
DITTO
"Oh, no! You have walked into the slavering fangs of a lurking grue!"copy
>ATTACK MYSELF
"If you insist.... Poof, you're dead!"
*** BELOW ARE SOME MORE MISCELLANEOUS TEXT STRINGS ***
>TAKE THE SWORD AND THE LAMP
"Those things aren't here!"
>LOOK AT THE THING
"You can't see that here!" (RENATA: does the word 'that' depend on gender?) no
>PERSON, TAKE THE SWORD
"The PERSON seems confused. ""I don't see that here!""
"Der PERSON scheint verwirrt""Ich sehe das hier nicht!""
>CLIMB STAIRS
"You should say whether you want to go up or down."
>SAILOR, GO AWAY
"You can't talk to the sailor that way."
>LOOK AT SAILOR
"There is no sailor to be seen."
>HELLO, SAILOR
"You seem to be repeating yourself."
>HELLO, SAILOR
"I think that phrase is getting a bit worn out."
>HELLO, SAILOR
"Nothing happens here."
>DIG IN GROUND
"The ground is too hard for digging here."
>LOOK AT GRUE
"There is no grue here, but I'm sure there is at least one lurking in the darkness nearby. It would be wise keep an eye on your light source!"
>LISTEN TO GRUE
"It makes no sound but is always lurking in the darkness nearby."
>TALK TO MYSELF
"Talking to yourself is said to be a sign of impending mental collapse."copy
>WAKE MYSELF UP
"You're already wide awake!"
>EAT MYSELF
"Auto-cannibalism is not the answer."
>KILL MYSELF
"Suicide is not the answer."
>THROW MYSELF AT THE TROLL
"Why don't you just walk like normal people?"
>TAKE ME
"How romantic!"
>LOOK AT MYSELF
"Your image in the mirror looks tired."
>LOOK AT MYSELF
"That's difficult unless your eyes are prehensile."
>WHAT IS A ZORKMID
"The zorkmid is the unit of currency of the Great Underground Empire."
>FIND ZORKMID
"The best way to find zorkmids is to go out and look for them."
*** BELOW ARE RESPONSES GIVEN WHEN YOU INPUT IS UNCLEAR ***
(GENERAL NOTES: IN THE GAME, IF YOU MISSPELL A WORD, THE GAME WILL TELL YOU
IT'S DOESN'T KNOW THE WORD. BUT THEN YOU MAY TYPE >OOPS "WORD", SPELLING IT CORRECTLY, SO YOU WON'T HAVE TO RETYPE THE WHOLE INPUT.)
(NOTE: IF YOU TYPE NOTHING, AND JUST HIT RETURN)
"I beg your pardon?"
(NOTE: IF YOU TYPE A PERIOD AND THEN A RETURN WITH NO WORDS)
"I can't help your clumsiness."
(NOTE: IF YOU TYPE >OOPS SOMETHING AND THE SOMETHING WAS IN A QUOTE)
"Sorry, you can't correct mistakes in quoted text."
(NOTE: IF YOU TYPE ">OOPS WORD1 WORD2")
"Warning: only the first word after OOPS is used."
(NOTE: IF YOU TYPE "OOPS" AFTER YOU DIDN'T MISSPELL SOMETHING)
"There was no word to replace!"
(NOTE: IF YOU TYPE "OOPS" AFTER AN INCOMPLETE INPUT GAME)
"It's difficult to repeat fragments."
(NOTE: IF YOU TYPE "AGAIN" AFTER A BAD SENTENCE INPUT)
"That would just repeat a mistake."
"Das wuerde den Fehler nur wiederholen."
"That sentence was not understood."
"There were too many nouns in that sentence."
"Please consult your manual for the correct way to talk to other people or creatures."
The word is not in the story's vocabulary of understanding."
>LOOK AT THE DIG (NOTE: DIG IS RECOGNIZED ONLY AS A VERB)
"You used the word "dig" in a way that I don't understand."
"Du hast das Wort "graben" so gebraucht, dass ich es nicht verstehen kann."
>DOG THE TROLL
"There was no verb in that sentence!"
"That sentence isn't recognized by the story."
>WHO IS TROLL
"That question can't be answered."
>TROLL, LOOK AT THE BUTTON
"I don't understand! What are you referring to?"
>LOOK AT THE RED
"There seems to be a noun missing in that sentence!"
"It's too dark to see!"
>DROP SWORD
"You don't have that!"
"You don't have the SWORD."
>READ THE LEAFLET
(taking the leaflet first)
The leaflet says... ect.
"Auf dem Blatt steht.......etc. " We might have to talk about the syntax here??? Jeff.
>LOOK AT THE RED
It's not clear what you're referring to."
>LOOK AT THE SWORD AND LAMP
You can't use multiple direct objects with "look."
"Man kann mehrere Akkusative nicht mit "ansehen
I need more feedback on that, R. Yes, Hildegunde also!
>HIT THE TROLL WITH SWORD AND KNIFE
You can't use multiple indirect objects with "hit."
need mor feedback.
>LOOK
"It's too dark to see."
>TAKE THE SWORD AND LAMP
Sword: Taken.
The other object that you mentioned is not here.
"Schwert: genommen."
"Das andere Ding, von dem du sprichst, ist nicht hier."
>TAKE ALL
"There's nothing here you can take."

BIN
g.fight Normal file

Binary file not shown.

3117
g.full Normal file

File diff suppressed because it is too large Load Diff

487
g.things Normal file
View File

@ -0,0 +1,487 @@
<OBJECT BOARD
(SYNONYM BOARD BOARDS)
(DESC "board")
<OBJECT TEETH
(SYNONYM OVERBOARD TEETH)
(DESC "set of teeth")
<OBJECT WALL
(SYNONYM WALL WALLS)
(ADJECTIVE SURROUNDING)
(DESC "surrounding wall")>
<OBJECT GRANITE-WALL
(SYNONYM WALL)
(ADJECTIVE GRANITE)
(DESC "granite wall")
<OBJECT MOUNTAIN-RANGE
(DESC "mountain range")
(SYNONYM MOUNTAIN RANGE)
(ADJECTIVE IMPASSABLE FLATHEAD)>
<OBJECT GLOBAL-WATER
(SYNONYM WATER QUANTITY)
(DESC "water")
<OBJECT WATER
(SYNONYM WATER QUANTITY LIQUID H2O)
(DESC "quantity of water")
<OBJECT CHIMNEY
(SYNONYM CHIMNEY)
(ADJECTIVE DARK NARROW)
(DESC "chimney")
<OBJECT GHOSTS
(SYNONYM GHOSTS SPIRITS FIENDS FORCE)
(ADJECTIVE INVISIBLE EVIL)
(DESC "number of ghosts")
<OBJECT SKULL
(SYNONYM KRISTA HIRNSCHALE KOPF)
(ADJECTIVE KRISTAL CRYSTA)
(DESC "Hirnschale")
<OBJECT LOWERED-BASKET
(SYNONYM CAGE DUMBWAITER BASKET)
(ADJECTIVE LOWERED)
(DESC "basket")
<OBJECT RAISED-BASKET
(SYNONYM CAGE DUMBWAITER BASKET)
(DESC "basket")
<OBJECT LUNCH
(SYNONYM FOOD SANDWICH LUNCH DINNER)
(ADJECTIVE HOT PEPPER)
(DESC "lunch")
<OBJECT BAT
(SYNONYM BAT VAMPIRE)
(ADJECTIVE VAMPIRE DERANGED)
(DESC "bat")
(DESCFCN BAT-D)
<OBJECT BELL
(SYNONYM BELL)
(ADJECTIVE SMALL BRASS)
(DESC "brass bell")
<OBJECT HOT-BELL
(SYNONYM BELL)
(ADJECTIVE BRASS HOT RED SMALL)
(DESC "red hot brass bell")
<OBJECT AXE
(SYNONYM AXE AX)
(ADJECTIVE BLOODY)
(DESC "bloody axe")
<OBJECT BOLT
(SYNONYM BOLT NUT)
(ADJECTIVE METAL LARGE)
(DESC "bolt")
<OBJECT BUBBLE
(SYNONYM BUBBLE)
(ADJECTIVE SMALL GREEN PLASTIC)
(DESC "green bubble")
<OBJECT ALTAR
(SYNONYM ALTAR)
(DESC "altar")
<OBJECT BOOK
(SYNONYM BOOK PRAYER PAGE BOOKS)
(ADJECTIVE LARGE BLACK)
(DESC "black book")
<OBJECT BROKEN-LAMP
(SYNONYM LAMP LANTERN)
(ADJECTIVE BROKEN)
(DESC "broken lantern")
<OBJECT SCEPTRE
(SYNONYM SCEPTRE SCEPTER TREASURE)
(ADJECTIVE SHARP EGYPTIAN ANCIENT ENAMELED)
(DESC "sceptre")
<OBJECT TIMBERS
(SYNONYM TIMBERS PILE TIMBER)
(ADJECTIVE WOODEN BROKEN)
(DESC "broken timber")
<OBJECT SLIDE
(SYNONYM CHUTE RAMP SLIDE)
(ADJECTIVE STEEP METAL TWISTING)
(DESC "chute")
<OBJECT ATTIC-TABLE
(SYNONYM TABLE)
(DESC "table")
<OBJECT SANDWICH-BAG
(SYNONYM BAG SACK)
(ADJECTIVE BROWN ELONGATED SMELLY)
(DESC "Sack")
<OBJECT TOOL-CHEST
(SYNONYM CHEST CHESTS GROUP TOOLCHESTS)
(ADJECTIVE TOOL)
(DESC "group of tool chests")
<OBJECT YELLOW-BUTTON
(SYNONYM BUTTON SWITCH)
(ADJECTIVE YELLOW)
(DESC "yellow button")
<OBJECT BROWN-BUTTON
(SYNONYM BUTTON SWITCH)
(ADJECTIVE BROWN)
(DESC "brown button")
<OBJECT RED-BUTTON
(SYNONYM BUTTON SWITCH)
(ADJECTIVE RED)
(DESC "red button")
<OBJECT BLUE-BUTTON
(SYNONYM BUTTON SWITCH)
(ADJECTIVE BLUE)
(DESC "blue button")
<OBJECT TROPHY-CASE
(SYNONYM CASE)
(ADJECTIVE TROPHY)
(DESC "trophy case")
<OBJECT RUG
(SYNONYM RUG CARPET)
(ADJECTIVE LARGE ORIENTAL)
(DESC "carpet")
<OBJECT CHALICE
(SYNONYM CHALICE CUP SILVER TREASURE)
(ADJECTIVE SILVER ENGRAVINGS)
(DESC "chalice")
<OBJECT GARLIC
(SYNONYM GARLIC CLOVE)
(DESC "clove of garlic")
<OBJECT TRIDENT
(SYNONYM TRIDENT FORK TREASURE)
(ADJECTIVE POSEIDON OWN CRYSTA)
(DESC "crystal trident")
<OBJECT CYCLOPS
(SYNONYM CYCLOPS MONSTER EYE)
(ADJECTIVE HUNGRY GIANT)
(DESC "cyclops")
<OBJECT DAM
(SYNONYM DAM GATE GATES FCD\#3)
(DESC "dam")
<OBJECT TRAP-DOOR
(SYNONYM DOOR TRAPDOOR TRAP-DOOR COVER)
(ADJECTIVE TRAP DUSTY)
(DESC "trap door")
<OBJECT BOARDED-WINDOW
(SYNONYM FENSTER) ;"nuet"
(ADJECTIVE BOARDED)
(DESC "Fenster")
<OBJECT BARROW-DOOR
(SYNONYM DOOR)
(ADJECTIVE HUGE STONE)
(DESC "stone door")
<OBJECT BARROW
(SYNONYM BARROW TOMB)
(ADJECTIVE MASSIVE STONE)
(DESC "stone barrow")
<OBJECT BOTTLE
(SYNONYM BOTTLE CONTAINER)
(ADJECTIVE CLEAR GLASS)
(DESC "Flasche")
<OBJECT CRACK
(SYNONYM CRACK)
(ADJECTIVE NARROW)
(DESC "crack")
<OBJECT COFFIN
(SYNONYM COFFIN CASKET TREASURE)
(ADJECTIVE SOLID GOLD)
(DESC "gold coffin")
<OBJECT GRATE
(SYNONYM GITTER)
(DESC "Gitter")
<OBJECT PUMP
(SYNONYM PUMP AIR-PUMP TOOL TOOLS)
(ADJECTIVE SMALL HAND-HELD)
(DESC "hand-held air pump")
<OBJECT DIAMOND
(SYNONYM DIAMOND TREASURE)
(ADJECTIVE HUGE ENORMOUS)
(DESC "huge diamond")
<OBJECT JADE
(SYNONYM FIGURINE TREASURE)
(ADJECTIVE EXQUISITE JADE)
(DESC "jade figurine")
<OBJECT KNIFE
(SYNONYM KNIVES KNIFE BLADE)
(ADJECTIVE NASTY UNRUSTY)
(DESC "nasty knife")
<OBJECT BONES
(SYNONYM BONES SKELETON BODY)
(DESC "skeleton")
<OBJECT BURNED-OUT-LANTERN
(SYNONYM LANTERN LAMP)
(ADJECTIVE RUSTY BURNED DEAD USELESS)
(DESC "Lanterna")
<OBJECT BAG-OF-COINS
(SYNONYM BAG COINS TREASURE)
(ADJECTIVE OLD LEATHER)
(DESC "leather bag of coins")
<OBJECT LAMP
(SYNONYM LAMP LANTERN LIGHT)
(ADJECTIVE BRASS)
(DESC "Messingleuchte")
<OBJECT EMERALD
(SYNONYM EMERALD TREASURE)
(ADJECTIVE LARGE)
(DESC "large emerald")
<OBJECT ADVERTISEMENT
(SYNONYM ADVERTISEMENT LEAFLET BOOKLET MAIL)
(ADJECTIVE SMALL)
(DESC "Zettel")
<OBJECT LEAK
(SYNONYM LEAK DRIP PIPE)
(DESC "leak")
<OBJECT MACHINE
(SYNONYM MACHINE PDP10 DRYER LID)
(DESC "machine")
<OBJECT INFLATED-BOAT
(SYNONYM BOAT RAFT)
(ADJECTIVE INFLAT MAGIC PLASTIC SEAWORTHY)
(DESC "magic boat")
<OBJECT MAILBOX
(SYNONYM MAILBOX BOX)
(ADJECTIVE SMALL)
(DESC "small mailbox")
<OBJECT MATCH
(SYNONYM MATCH MATCHES MATCHBOOK)
(ADJECTIVE MATCH)
(DESC "matchbook")
<OBJECT MIRROR-2
(SYNONYM REFLECTION MIRROR ENORMOUS)
(DESC "mirror")
<OBJECT MIRROR-1
(SYNONYM REFLECTION MIRROR ENORMOUS)
(DESC "mirror")
<OBJECT PAINTING
(SYNONYM PAINTING ART CANVAS TREASURE)
(ADJECTIVE BEAUTI)
(DESC "Gem%alde")
<OBJECT CANDLES
(SYNONYM CANDLES PAIR)
(ADJECTIVE BURNING)
(DESC "pair of candles")
<OBJECT GUNK
(SYNONYM GUNK PIECE SLAG)
(ADJECTIVE SMALL VITREOUS)
(DESC "small piece of vitreous slag")
<OBJECT BODIES
(SYNONYM BODIES BODY REMAINS PILE)
(ADJECTIVE MANGLED)
(DESC "pile of bodies")
<OBJECT LEAVES
(SYNONYM BLAETTERHAUFEN BLAETTER BLATT HAUFEN)
(DESC "Blaetterhaufen")
<OBJECT PUNCTURED-BOAT
(SYNONYM BOAT PILE PLASTIC)
(ADJECTIVE PLASTIC PUNCTURE LARGE)
(DESC "punctured boat")
<OBJECT INFLATABLE-BOAT
(SYNONYM BOAT PILE PLASTIC VALVE)
(ADJECTIVE PLASTIC INFLAT)
(DESC "pile of plastic")
<OBJECT BAR
(SYNONYM BAR PLATINUM TREASURE)
(ADJECTIVE PLATINUM LARGE)
(DESC "platinum bar")
<OBJECT POT-OF-GOLD
(SYNONYM POT GOLD TREASURE)
(ADJECTIVE GOLD)
(DESC "pot of gold")
<OBJECT PRAYER
(SYNONYM PRAYER INSCRIPTION)
(ADJECTIVE ANCIENT OLD)
(DESC "prayer")
<OBJECT RAILING
(SYNONYM RAILING RAIL)
(ADJECTIVE WOODEN)
(DESC "wooden railing")
<OBJECT RAINBOW
(SYNONYM REGENBOGEN) ;"masc"
(DESC "Regenbogen")
<OBJECT RIVER
(DESC "river")
(SYNONYM FLUSS FLUSSGLETSCH)
;(ADJECTIVE FRIGID)
<OBJECT BUOY
(SYNONYM BUOY)
(ADJECTIVE RED)
(DESC "Markierungsboje")
<OBJECT ROPE
(SYNONYM ROPE HEMP COIL)
(ADJECTIVE LARGE)
(DESC "Seil")
<OBJECT RUSTY-KNIFE
(SYNONYM KNIVES KNIFE)
(ADJECTIVE RUSTY)
(DESC "Messer")
<OBJECT SAND
(SYNONYM SAND)
(DESC "sand")
<OBJECT BRACELET
(SYNONYM BRACELET JEWEL SAPPHIRE TREASURE)
(ADJECTIVE SAPPHIRE)
(DESC "sapphire-encrusted bracelet")
<OBJECT SCREWDRIVER
(SYNONYM SCREWDRIVER TOOL TOOLS DRIVER)
(ADJECTIVE SCREW)
(DESC "screwdriver")
<OBJECT KEYS
(SYNONYM KEY)
(ADJECTIVE SKELETON)
(DESC "skeleton key")
<OBJECT SHOVEL
(SYNONYM SHOVEL TOOL TOOLS)
(DESC "shovel")
<OBJECT COAL
(SYNONYM COAL PILE HEAP)
(ADJECTIVE SMALL)
(DESC "small pile of coal")
<OBJECT LADDER
(SYNONYM LADDER)
(ADJECTIVE WOODEN RICKETY NARROW)
(DESC "wooden ladder")
<OBJECT SCARAB
(SYNONYM SCARAB BUG BEETLE TREASURE)
(ADJECTIVE BEAUTI CARVED JEWELED)
(DESC "beautiful jeweled scarab")
<OBJECT LARGE-BAG
(SYNONYM BAG)
(ADJECTIVE LARGE THIEFS)
(DESC "large bag")
<OBJECT STILETTO
(SYNONYM STILETTO)
(ADJECTIVE VICIOUS)
(DESC "stiletto")
<OBJECT MACHINE-SWITCH
(SYNONYM SWITCH)
(DESC "switch")
<OBJECT WOODEN-DOOR
(SYNONYM DOOR LETTERING WRITING)
(ADJECTIVE WOODEN GOTHIC STRANGE WEST)
(DESC "wooden door")
<OBJECT SWORD
(SYNONYM SWORD ORCRIST GLAMDRING BLADE)
(ADJECTIVE ELVISH OLD ANTIQUE)
(DESC "Elfenschwert")
<OBJECT MAP
(SYNONYM PARCHMENT MAP)
(ADJECTIVE ANTIQUE OLD ANCIENT)
(DESC "ancient map")
<OBJECT BOAT-LABEL
(SYNONYM LABEL FINEPRINT PRINT)
(ADJECTIVE TAN FINE)
(DESC "tan label")
<OBJECT THIEF
(SYNONYM THIEF ROBBER MAN PERSON)
(ADJECTIVE SHADY SUSPICIOUS SEEDY)
(DESC "thief")
<OBJECT PEDESTAL
(SYNONYM PEDESTAL)
(ADJECTIVE WHITE MARBLE)
(DESC "pedestal")
<OBJECT TORCH
(SYNONYM TORCH IVORY TREASURE)
(ADJECTIVE FLAMING IVORY)
(DESC "Fackel")
<OBJECT GUIDE
(SYNONYM GUIDE BOOK BOOKS GUIDEBOOKS)
(ADJECTIVE TOUR GUIDE)
(DESC "Prospekte")
<OBJECT TROLL
(SYNONYM TROLL)
(ADJECTIVE NASTY)
(DESC "troll")
<OBJECT TRUNK
(SYNONYM TRUNK CHEST JEWELS TREASURE)
(ADJECTIVE OLD)
(DESC "Koffer")
<OBJECT TUBE
(SYNONYM TUBE TOOTH PASTE)
(DESC "tube")
<OBJECT PUTTY
(SYNONYM MATERIAL GUNK)
(ADJECTIVE VISCOUS)
(DESC "viscous material")
<OBJECT ENGRAVINGS
(SYNONYM WALL ENGRAVINGS INSCRIPTION)
(ADJECTIVE OLD ANCIENT)
(DESC "wall with engravings")
<OBJECT OWNERS-MANUAL
(SYNONYM MANUAL PIECE PAPER)
(ADJECTIVE ZORK OWNERS SMALL)
(DESC "ZORK owner's manual")
<OBJECT CLIMBABLE-CLIFF
(SYNONYM WALL CLIFF WALLS LEDGE)
(ADJECTIVE ROCKY SHEER)
(DESC "cliff")
<OBJECT WHITE-CLIFF
(SYNONYM FELS FELSEN KLIPPEN KLIPPE) ;"masc"
(ADJECTIVE WEISSE WEISSEN)
(ADJDESC "weiss")
(DESC "Fels") ;"Felsen is plural"
<OBJECT WRENCH
(SYNONYM WRENCH TOOL TOOLS)
(DESC "wrench")
<OBJECT CONTROL-PANEL
(SYNONYM PANEL)
(ADJECTIVE CONTROL)
(DESC "control panel")
<OBJECT NEST
(SYNONYM VOGELNEST NEST)
(ADJECTIVE KLEINE KLEINEN)
(DESC "Vogelnest")
<OBJECT EGG
(SYNONYM EGG TREASURE)
(ADJECTIVE EI GROSSE GROSSEN BIRDS ENCRUSTED JEWELED)
(DESC "jewel-encrusted egg")
<OBJECT BROKEN-EGG
(SYNONYM EGG TREASURE)
(ADJECTIVE BROKEN BIRDS ENCRUSTED JEWEL)
(DESC "broken jewel-encrusted egg")
<OBJECT BAUBLE
(SYNONYM BAUBLE TREASURE)
(ADJECTIVE BRASS BEAUTI)
(DESC "beautiful brass bauble")
<OBJECT CANARY
(SYNONYM CANARY TREASURE)
(ADJECTIVE CLOCKWORK GOLD GOLDEN)
(DESC "golden clockwork canary")
<OBJECT BROKEN-CANARY
(SYNONYM CANARY TREASURE)
(ADJECTIVE BROKEN CLOCKWORK GOLD GOLDEN)
(DESC "broken clockwork canary")
<OBJECT NAILS
(SYNONYM NAIL NAILS)
(DESC "nail")
<OBJECT CHASM
(SYNONYM CHASM)
(DESC "chasm")
<OBJECT DOOR-P
(SYNONYM DOOR)
(DESC "door")
<OBJECT PAINT
(SYNONYM PAINT)
(DESC "paint")
<OBJECT LAKE
(SYNONYM LAKE)
(DESC "lake")
<OBJECT STREAM
(SYNONYM STREAM)
(DESC "stream")
<OBJECT GATE
(SYNONYM GATE GATES)
(DESC "gate")
<OBJECT DOME
(SYNONYM DOME)
(DESC "dome")
<OBJECT CHAIN
(SYNONYM CHAIN)
(DESC "chain")
<OBJECT GAS
(SYNONYM GAS ODOR)
(DESC "gas")

176
gender.script Normal file
View File

@ -0,0 +1,176 @@
SS:<GERMAN>GENDER.SCRIPTHier beginnt eine gedruckte Kopie von:
ZORK I: Das Grosse Unterweltreich
Infocom dialogfaehig Prose - eine Phantasiegeschichte
Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986 Infocom, Inc.
Alle Rechte vorbehalten. ZORK ist ein eingetragenes Markenzeichen
der Infocom, Inc.
BETA RELEASE # 1
Veroeffentlichung 6 / Seriennummer 880114 / Interpreter 1 Version C
>TESTIT
Dass ich zu spaet komme.
Oeffne den Uebermensch. Aepfel sind schoen.
Er sagt, >>Und ueber den Mann.<<
Der Wald ist gut.
Das Wasser ist gut.
Das Paar Haende ist gut.
Der Nagel ist gut.
Die Schalttafel ist gut.
Die Jade-Figur ist gut.
Die Fackel ist gut.
Das Pepperoni-Brot ist gut.
Die Streichholzschachtel ist gut.
Der Abenteurer ist gut.
Der Kristalldreizack ist gut.
Die uralte Landkarte ist gut.
Das Kerzenpaar ist gut.
Das Gitter ist gut.
Der Altar ist gut.
Die blutige Axt ist gut.
Der Weg ist gut.
No Gender: ZORK owner's manual
Der Schornstein ist gut.
Der Abenteuer ist gut.
No Gender: F
Das Leck ist gut.
Das Tor ist gut.
Die sie ist gut.
Der Teppich ist gut.
Der Singvogel ist gut.
Das hoelzerne Gelaender ist gut.
Die Ketter ist gut.
Das Seil ist gut.
Der Regenbogen ist gut.
Die kleine Kohlenhalde ist gut.
Der es ist gut.
Der gelbe Knopf ist gut.
Das weisse Haus ist gut.
Das es ist gut.
No Gender: punctured boat
Die Fledermaus ist gut.
Das Gebet ist gut.
Der Durchgang ist gut.
Der Zettel ist gut.
Das Brett ist gut.
Das Marmorpodest ist gut.
Der goldene Kanarienvogel ist gut.
Die Messingglocke ist gut.
No Gender: Einmeisselung
Der Holzleiter ist gut.
Die nutzlose Laterne ist gut.
Das shoene Gemaelde ist gut.
Der grosse Sack ist gut.
Der Schluessel ist gut.
Der Ledersack voll Muenzen ist gut.
Der Fels ist gut.
Der braune Sack ist gut.
Die Holztuer ist gut.
Der Schalter ist gut.
Der kleine Fluss ist gut.
Der weisse Fels ist gut.
Das juwelenbesetzte Ei ist gut.
Die Spalte ist gut.
Der Baum ist gut.
Der Korb ist gut.
Die Fahrradpumpe ist gut.
Das steinerne Huegelgrab ist gut.
Der Schraubenzieher ist gut.
No Gender: broken jewel-encrusted egg
Das Zorkknete ist gut.
Der Berg ist gut.
Der grosse Smaragd ist gut.
Die Haustuer ist gut.
Der Seemann ist gut.
No Gender: beautiful jeweled scaraben Skarabaeus
Das Sand ist gut.
Die Schaufel ist gut.
Die schoene Flitterkugel ist gut.
Das Vogelnest ist gut.
No Gender: viscous material
Die Flasche ist gut.
Der Kristalschaedel ist gut.
Die Kuppel ist gut.
Der er ist gut.
Die Schlacke ist gut.
Das Haufen von Koerpern ist gut.
Die batteriengespeiste Messingleuchte ist gut.
No Gender: broken clockwork canary
Der Troll ist gut.
Der braune Knopf ist gut.
Der Topf voll Gold ist gut.
Das Blaetterhaufen ist gut.
Die Luft ist gut.
Die Farbe ist gut.
Die kaputte Leuchte ist gut.
Das Dieb ist gut.
Das aussenhende Messer ist gut.
Die rotgluehende Glocke ist gut.
Der KuechenTisch ist gut.
Das lauernde Greuel ist gut.
Die Treppe ist gut.
Der reingoldene Sarg ist gut.
Das beige Schildchen ist gut.
Das Gebaelk ist gut.
Der riesige Spiegel ist gut.
Die rote Markierungsboje ist gut.
Die Wassermenge ist gut.
Der Grund ist gut.
Die Steintuer ist gut.
Der riesige Diamanten ist gut.
Das Ding ist gut.
No Gender: tube
Das schwarze Buch ist gut.
Der Trophaeenschrank ist gut.
Die Nummer ist gut.
Der Zyklop ist gut.
Die gruene Plastikblase ist gut.
Die Platinbarren ist gut.
Der Korb ist gut.
Das Zepter ist gut.
Das Skelett ist gut.
Die Maschine ist gut.
Das Zauberboot ist gut.
Die Metallschraube ist gut.
Die Geisterzahl ist gut.
Der rote Knopf ist gut.
Das Fenster ist gut.
Die Tuer ist gut.
No Gender: sapphire-encrusted bracelet
Der Prospekt ist gut.
Die Knoblauchzehe ist gut.
Die Haufen Plastik ist gut.
Die Ritze ist gut.
Der Damm ist gut.
Der blaue Knopf ist gut.
Der Fluss Gletsch ist gut.
Das Elfenschwert ist gut.
Der Juwelenkoffer ist gut.
Der kleine Briefkasten ist gut.
Die Rampe ist gut.
Das rostige Messer ist gut.
Das Gebiss ist gut.
Der riesige Spiegel ist gut.
Der Schraubenschuessel ist gut.
Die Reihe von Werkzeugkaesten ist gut.
Der Wand ist gut.
Die Falltuer ist gut.
Der Silberkelch ist gut.
Das Gas ist gut.
Das Fenster ist gut.
Das Stilett ist gut.
No Gender: lake
Der Tisch ist gut.
Das nach ist gut.
End of test.
>UNSCRIPT
Hier endet eine gedruckte Kopie von:
ZORK I: Das Grosse Unterweltreich
Infocom dialogfaehig Prose - eine Phantasiegeschichte
Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986 Infocom, Inc.
Alle Rechte vorbehalten. ZORK ist ein eingetragenes Markenzeichen
der Infocom, Inc.
BETA RELEASE # 1
Veroeffentlichung 6 / Seriennummer 880114 / Interpreter 1 Version C

BIN
german.chars Normal file

Binary file not shown.

10
german.hex Normal file
View File

@ -0,0 +1,10 @@
HEXDUMP Version 1.0
-------------------
Dumping "GERMAN.CHAR" in radix 16.
00000/ 00 24 07 00 20 08 08 00 00 00 00 00 00 00 00 00
00010/ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00020/ 00 78 44 42 7C 42 44 78 40 24 00 00 42 42 42 3E
00030/ 00 24 00 00 3C 42 42 3C 00 24 00 00 3C 42 42 3D
00040/ 00 24 00 42 42 42 42 3E 00 24 00 3C 42 42 42 3C
00050/ 00 24 00 3C 42 7E 42 42 00 00 00 00 00 00 00 00

82
globals.zabstr Normal file
View File

@ -0,0 +1,82 @@
<OBJECT GLOBAL-OBJECTS (SYNONYM ZZMGCK) (DESC "es") (FLAGS ACTORBIT DOORBIT
LIGHTBIT RMUNGBIT TOOLBIT WEAPONBIT BURNBIT DRINKBIT NDESCBIT SACREDBIT
TOUCHBIT WEARBIT CLIMBBIT FIGHTBIT NONLANDBIT SEARCHBIT TRANSBIT READBIT
CONTBIT FLAMEBIT ONBIT STAGGERED TRYTAKEBIT DASBIT FOODBIT OPENBIT SURFACEBIT
TURNBIT DIEBIT DERBIT INVISIBLE RLANDBIT TAKEBIT VEHBIT KLUDGEBIT)>
<OBJECT LOCAL-GLOBALS (LOC GLOBAL-OBJECTS) (SYNONYM ZZMGCK) (DESCFCN
PATH-OBJECT) (GLOBAL GLOBAL-OBJECTS) (ADVFCN 0) (DESC "F") (FDESC "F") (LDESC
"F") (CONTFCN 0) (VTYPE 1) (SIZE 0) (CAPACITY 0)>
<OBJECT ROOMS (HINEIN TO ROOMS)>
<OBJECT INTNUM (LOC GLOBAL-OBJECTS) (SYNONYM INTNUM) (FLAGS TOOLBIT DIEBIT) (
DESC "Nummer")>
<OBJECT INTDIR (LOC GLOBAL-OBJECTS) (SYNONYM WEG) (ADJECTIVE NORD NORDEN OST
OSTEN WEST WESTEN SUED SUEDEN NORDOSTEN NO NORDWESTEN NW SUEDOSTEN SO
SUEDWESTEN SW) (FLAGS TOOLBIT DERBIT) (DESC "Weg")>
<OBJECT IT (LOC GLOBAL-OBJECTS) (SYNONYM ES IHM) (DESC "es") (FLAGS NDESCBIT
TOUCHBIT DASBIT)>
<OBJECT HIM (LOC GLOBAL-OBJECTS) (SYNONYM ER IHN IHM) (DESC "er") (FLAGS
NDESCBIT TOUCHBIT DERBIT)>
<OBJECT HER (LOC GLOBAL-OBJECTS) (SYNONYM SIE IHR) (DESC "sie") (FLAGS NDESCBIT
TOUCHBIT DIEBIT)>
<OBJECT NOT-HERE-OBJECT (DESC "Ding") (FLAGS DASBIT) (ACTION NOT-HERE-OBJECT-F)
>
<DEFINE-ROUTINE NOT-HERE-OBJECT-F>
<DEFINE-ROUTINE NULL-F>
<GLOBAL LOAD-MAX 100>
<GLOBAL LOAD-ALLOWED 100>
<OBJECT STAIRS (LOC LOCAL-GLOBALS) (SYNONYM TREPPENHAUS TREPPENSTUFE TREPPE
TREPP) (ADJECTIVE STEINE STEINEN DUNKELE DUNKELEN FORBIDDING STEEP) (DESC
"Treppe") (FLAGS NDESCBIT CLIMBBIT DIEBIT) (ACTION STAIRS-F)>
<DEFINE-ROUTINE STAIRS-F>
<OBJECT SAILOR (LOC GLOBAL-OBJECTS) (SYNONYM SEEMANN) (DESC "Seemann") (FLAGS
NDESCBIT DERBIT) (ACTION SAILOR-FCN)>
<DEFINE-ROUTINE SAILOR-FCN>
<OBJECT GROUND (LOC GLOBAL-OBJECTS) (SYNONYM GRUND BODEN MEERESBODEN SAND
FUSSBODEN FU\%SBODEN) (DESC "Grund") (FLAGS DERBIT) (ACTION GROUND-FUNCTION)>
<DEFINE-ROUTINE GROUND-FUNCTION>
<OBJECT GRUE (LOC GLOBAL-OBJECTS) (SYNONYM GREUEL) (ADJECTIVE BOESARTIGE
B\%OSARTIGE) (DESC "Greuel") (ADJDESC "lauernd") (FLAGS DASBIT) (ACTION
GRUE-FUNCTION)>
<DEFINE-ROUTINE GRUE-FUNCTION>
<OBJECT LUNGS (LOC GLOBAL-OBJECTS) (SYNONYM LUNGEN LUFT MUND) (DESC "Luft") (
FLAGS NDESCBIT DIEBIT)>
<OBJECT ME (LOC GLOBAL-OBJECTS) (SYNONYM MICH ICH SELBE ABENTEURER) (DESC
"Abenteurer") (FLAGS ACTORBIT DERBIT) (ACTION CRETIN-FCN)>
<DEFINE-ROUTINE CRETIN-FCN>
<OBJECT ADVENTURER (SYNONYM ABENTEUER) (DESC "Abenteurer") (FLAGS NDESCBIT
INVISIBLE SACREDBIT ACTORBIT DERBIT) (STRENGTH 0) (ACTION 0)>
<OBJECT PATHOBJ (LOC GLOBAL-OBJECTS) (SYNONYM PFAD WALDPFAD) (ADJECTIVE ENGE
ENGEN WINDENDER DURCHGANG) (DESC "Durchgang") (FLAGS NDESCBIT DERBIT) (ACTION
PATH-OBJECT)>
<DEFINE-ROUTINE PATH-OBJECT>
<OBJECT ZORKMID (LOC GLOBAL-OBJECTS) (SYNONYM ZORKKNETE ZORKKNET) (DESC
"Zorkknete") (FLAGS DIEBIT) (ACTION ZORKMID-FUNCTION)>
<DEFINE-ROUTINE ZORKMID-FUNCTION>
<OBJECT HANDS (LOC GLOBAL-OBJECTS) (SYNONYM HAND HAENDE H\%ANDE) (ADJECTIVE
PAAR) (DESC "Paar H%ande") (FLAGS NDESCBIT TOOLBIT DASBIT)>
<CONSTANT S-TEXT 0>
<CONSTANT S-WINDOW 1>
<CONSTANT H-NORMAL 0>
<CONSTANT H-INVERSE 1>
<CONSTANT H-BOLD 2>
<CONSTANT H-ITALIC 4>
<CONSTANT D-SCREEN-ON 1>
<CONSTANT D-SCREEN-OFF -1>
<CONSTANT D-PRINTER-ON 2>
<CONSTANT D-PRINTER-OFF -2>
<CONSTANT D-TABLE-ON 3>
<CONSTANT D-TABLE-OFF -3>
<CONSTANT D-RECORD-ON 4>
<CONSTANT D-RECORD-OFF -4>
<GLOBAL HOST:NUMBER 0>
<GLOBAL WIDTH:NUMBER 0>
<GLOBAL CWIDTH:NUMBER 0>
<GLOBAL CHEIGHT:NUMBER 0>
<DEFINE-ROUTINE INIT-STATUS-LINE>
<CONSTANT SL-TABLE:TABLE <ITABLE NONE 80>>
<GLOBAL OHERE:OBJECT <>>
<GLOBAL OLD-LEN:NUMBER 0>
<DEFINE-ROUTINE UPDATE-STATUS-LINE>
<DEFINE-ROUTINE PRINT-SPACES>
<DEFINE-ROUTINE SAY-HERE>

200
globals.zap Normal file
View File

@ -0,0 +1,200 @@
.FUNCT NOT-HERE-OBJECT-F:ANY:0:0,TBL,PRSO?,OBJ
SET 'PRSO?,TRUE-VALUE
EQUAL? PRSO,NOT-HERE-OBJECT \?CCL3
EQUAL? PRSI,NOT-HERE-OBJECT \?CCL3
PRINTR "Diese Dinge sind nicht hier!"
?CCL3: EQUAL? PRSO,NOT-HERE-OBJECT \?CCL7
SET 'TBL,P-PRSO
JUMP ?CND1
?CCL7: SET 'TBL,P-PRSI
SET 'PRSO?,FALSE-VALUE
?CND1: SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
EQUAL? WINNER,PLAYER \?CCL10
PRINTR "Du kannst das hier nicht sehen!"
?CCL10: ICALL2 DER-NOM-CAP-PRINT,WINNER
PRINTR " scheint verwirrt. %>Ich sehe das hier nicht!%<"
.FUNCT NULL-F:ANY:0:2,A1,A2
RFALSE
.FUNCT STAIRS-F:ANY:0:0
EQUAL? PRSA,V?THROUGH \FALSE
PRINTR "Du mu%st sagen, ob du nach oben oder unten gehen willst."
.FUNCT SAILOR-FCN:ANY:0:0
EQUAL? PRSA,V?TELL \?CCL3
SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
PRINTR "So kannst du mit dem Seemann nicht sprechen."
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5
PRINTR "Hier ist kein Seemann zu sehen."
?CCL5: EQUAL? PRSA,V?HELLO \FALSE
INC 'HS
MOD HS,20
ZERO? STACK \?CCL10
PRINTR "Du wiederholst dich."
?CCL10: MOD HS,10
ZERO? STACK \?CCL12
PRINTR "Dieser Satz wird langsam langweilig."
?CCL12: PRINTR "Hier passiert garnichts."
.FUNCT GROUND-FUNCTION:ANY:0:0
EQUAL? PRSA,V?PUT-ON,V?PUT \?CCL3
EQUAL? PRSI,GROUND \?CCL3
ICALL PERFORM,V?DROP,PRSO
RTRUE
?CCL3: EQUAL? HERE,SANDY-CAVE \?CCL7
CALL1 SAND-FUNCTION
RSTACK
?CCL7: EQUAL? PRSA,V?DIG \FALSE
PRINTR "Hier ist der Boden zu hart zum Graben."
.FUNCT GRUE-FUNCTION:ANY:0:0
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTR "Das Greuel ist ein b%osartiges lauerndes Wesen in den dunklen Orten dieser Welt. Sein Lieblingsfressen besteht aus Abenteurern, aber sein uners%attlicher Appetit ist von seiner Furcht vor Licht gem%a%sigt Kein Greuel ist je bei Tageslicht gesehen worden, und nur wenige haben seine f%urchterlichen Krallen %uberlebt, um von dem grauenhaften Wesen zu erz%ahlen."
?CCL3: EQUAL? PRSA,V?FIND \?CCL5
PRINTR "Hier ist kein Greuel, aber ich bin sicher, das mindestens eines hier in der N%ahe im Dunkeln auf der Lauer liegt. Es w%are schon klug, auf die Lichtquelle zu achten."
?CCL5: EQUAL? PRSA,V?LISTEN \FALSE
PRINTR "Es gibt keinen Ton von sich, aber es liegt immer in der N%ahe im Dunkeln."
.FUNCT CRETIN-FCN:ANY:0:0,?TMP1
EQUAL? PRSA,V?TELL \?CCL3
SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
PRINTR "Selbstgespr%ache deuten auf einen bevorstehenden Nervenzusammenbruch hin."
?CCL3: EQUAL? PRSA,V?GIVE \?CCL5
EQUAL? PRSI,ME \?CCL5
ICALL PERFORM,V?TAKE,PRSO
RTRUE
?CCL5: EQUAL? PRSA,V?ALARM \?CCL9
PRINTR "Du bist schon hellwach!"
?CCL9: EQUAL? PRSA,V?EAT \?CCL11
PRINTR "Selbst-Kanibalismus ist nicht die L%osung."
?CCL11: EQUAL? PRSA,V?MUNG,V?ATTACK \?CCL13
ZERO? PRSI /?CCL16
FSET? PRSI,WEAPONBIT \?CCL16
CALL2 JIGS-UP,STR?197
RSTACK
?CCL16: PRINTR "Selbstmord ist nicht die L%osung."
?CCL13: EQUAL? PRSA,V?THROW \?CCL20
EQUAL? PRSO,ME \FALSE
PRINTR "Warum l%aufst du nicht wie normale Menschen?"
?CCL20: EQUAL? PRSA,V?TAKE \?CCL25
PRINTR "Ach, wie romantisch!"
?CCL25: EQUAL? PRSA,V?EXAMINE \FALSE
LOC MIRROR-1 >?TMP1
LOC MIRROR-2
EQUAL? HERE,?TMP1,STACK \?CCL30
PRINTR "Dein Spiegelbild sieht m%ude aus."
?CCL30: PRINTR "Das ist schwierig, au%ser wenn deine Augen rausnehmbar sind."
.FUNCT PATH-OBJECT:ANY:0:0
EQUAL? PRSA,V?FOLLOW,V?TAKE,V?FIND \?CCL3
PRINTR "Du mu%st eine Richtung angeben."
?CCL3: EQUAL? PRSA,V?DIG \FALSE
ICALL PERFORM,V?DIG,GROUND
RTRUE
.FUNCT ZORKMID-FUNCTION:ANY:0:0
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTR "Zorkknete ist die W%ahrung des Gro%sen Unterweltreiches."
?CCL3: EQUAL? PRSA,V?FIND \FALSE
PRINTR "Man findet Zorkknete am besten, indem man rausgeht, und sie sucht."
.FUNCT INIT-STATUS-LINE:ANY:0:0
GETB 0,30 >HOST
GETB 0,38 >CWIDTH
GET 0,17
DIV STACK,CWIDTH >WIDTH
LESS? WIDTH,38 \?CND1
PRINTI "[Screen too narrow.]"
CRLF
QUIT
?CND1: GETB 0,39 >CHEIGHT
SET 'OHERE,FALSE-VALUE
SET 'OLD-LEN,0
SPLIT 1
SCREEN S-WINDOW
HLIGHT H-INVERSE
ICALL DO-CURSET,1,1
ICALL2 PRINT-SPACES,WIDTH
GRTR? WIDTH,75 \?CND3
ICALL DO-CURSET,1,48
PRINTI "Spielstand:"
ICALL DO-CURSET,1,66
PRINTI "Z%ugen:"
?CND3: HLIGHT H-NORMAL
SCREEN S-TEXT
RTRUE
.FUNCT UPDATE-STATUS-LINE:ANY:0:0
SCREEN S-WINDOW
HLIGHT H-NORMAL
HLIGHT H-INVERSE
EQUAL? HERE,OHERE /?CND1
SET 'OHERE,HERE
DIROUT D-TABLE-ON,SL-TABLE
ICALL1 SAY-HERE
DIROUT D-TABLE-OFF
ICALL DO-CURSET,1,2
ICALL2 PRINT-SPACES,OLD-LEN
GET SL-TABLE,0 >OLD-LEN
ICALL DO-CURSET,1,2
ICALL1 SAY-HERE
?CND1: GRTR? WIDTH,78 \?CCL5
ICALL DO-CURSET,1,60
PRINTN SCORE
PRINTC 32
ICALL DO-CURSET,1,73
PRINTN MOVES
JUMP ?CND3
?CCL5: DIROUT D-TABLE-ON,SL-TABLE
PRINTN SCORE
PRINTC 47
PRINTN MOVES
DIROUT D-TABLE-OFF
GET SL-TABLE,0
ADD STACK,2
SUB WIDTH,STACK
ICALL DO-CURSET,1,STACK
PRINTC 32
PRINTN SCORE
PRINTC 47
PRINTN MOVES
?CND3: HLIGHT H-NORMAL
SCREEN S-TEXT
RTRUE
.FUNCT PRINT-SPACES:ANY:1:1,N
?PRG1: DLESS? 'N,0 /TRUE
PRINTC 32
JUMP ?PRG1
.FUNCT SAY-HERE:ANY:0:0
ZERO? LIT? \?CCL3
PRINTI "Dunkelheit"
RTRUE
?CCL3: ICALL DPRINT,HERE,FALSE-VALUE
GRTR? WIDTH,75 \TRUE
IN? ADVENTURER,HERE /TRUE
PRINTI ", in "
LOC ADVENTURER
ICALL2 DER-DAT-PRINT,STACK
RTRUE
.ENDI

454
globals.zil Normal file
View File

@ -0,0 +1,454 @@
"Generic GLOBALS file for
The ZORK Trilogy
started on 7/28/83 by MARC
-- GERMAN EDITION "
"SUBTITLE GLOBAL OBJECTS"
<OBJECT GLOBAL-OBJECTS
(SYNONYM ZZMGCK)
(DESC "es")
(FLAGS
ACTORBIT DOORBIT LIGHTBIT RMUNGBIT TOOLBIT WEAPONBIT
BURNBIT DRINKBIT NDESCBIT SACREDBIT TOUCHBIT WEARBIT
CLIMBBIT FIGHTBIT NONLANDBIT SEARCHBIT TRANSBIT READBIT
CONTBIT FLAMEBIT ONBIT STAGGERED TRYTAKEBIT
DASBIT FOODBIT OPENBIT SURFACEBIT TURNBIT DIEBIT
DERBIT INVISIBLE RLANDBIT TAKEBIT VEHBIT KLUDGEBIT)>
<OBJECT LOCAL-GLOBALS
(LOC GLOBAL-OBJECTS)
(SYNONYM ZZMGCK)
(DESCFCN PATH-OBJECT)
(GLOBAL GLOBAL-OBJECTS)
(ADVFCN 0)
(DESC "F")
(FDESC "F")
(LDESC "F")
;(PSEUDO "FOOBAR" V-WALK)
(CONTFCN 0)
(VTYPE 1)
(SIZE 0)
(CAPACITY 0)>
;"Yes, this synonym for LOCAL-GLOBALS needs to exist... sigh"
<OBJECT ROOMS
(HINEIN TO ROOMS)>
<OBJECT INTNUM
(LOC GLOBAL-OBJECTS)
(SYNONYM INTNUM)
(FLAGS TOOLBIT DIEBIT)
(DESC "Nummer")>
;"adjs. make ps?direction work for 'walk to east'"
<OBJECT INTDIR
(LOC GLOBAL-OBJECTS)
(SYNONYM WEG ;DIRECTION)
(ADJECTIVE NORD NORDEN OST OSTEN WEST WESTEN SUED SUEDEN
NORDOSTEN NO NORDWESTEN NW SUEDOSTEN SO SUEDWESTEN SW)
(FLAGS TOOLBIT DERBIT)
(DESC "Weg")>
;<OBJECT PSEUDO-OBJECT
(LOC LOCAL-GLOBALS)
(DESC "pseudo")
(ACTION CRETIN-FCN)>
<OBJECT IT
(LOC GLOBAL-OBJECTS)
(SYNONYM ES IHM)
(DESC "es")
(FLAGS NDESCBIT TOUCHBIT DASBIT)>
<OBJECT HIM
(LOC GLOBAL-OBJECTS)
(SYNONYM ER IHN IHM)
(DESC "er")
(FLAGS NDESCBIT TOUCHBIT DERBIT)>
<OBJECT HER
(LOC GLOBAL-OBJECTS)
(SYNONYM SIE IHR)
(DESC "sie")
(FLAGS NDESCBIT TOUCHBIT DIEBIT)>
<OBJECT NOT-HERE-OBJECT
(DESC "Ding" ;"[not here]")
(FLAGS DASBIT)
(ACTION NOT-HERE-OBJECT-F)>
<ROUTINE NOT-HERE-OBJECT-F ("AUX" TBL (PRSO? T) OBJ)
;"This COND is game independent (except the TELL)"
<COND (<AND <EQUAL? ,PRSO ,NOT-HERE-OBJECT>
<EQUAL? ,PRSI ,NOT-HERE-OBJECT>>
<TELL "Diese Dinge sind nicht hier!" CR>
<RTRUE>)
(<EQUAL? ,PRSO ,NOT-HERE-OBJECT>
<SET TBL ,P-PRSO>)
(T
<SET TBL ,P-PRSI>
<SET PRSO? <>>)>
;"Here is the default 'cant see any' printer"
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<COND (<EQUAL? ,WINNER ,PLAYER>
<TELL
"Du kannst das hier nicht sehen!" CR>
;<TELL "You can't see ">
;<NOT-HERE-PRINT .PRSO?>
;<TELL "that here!" CR>)
(T
;<TELL
DER-NOM-CAP ,WINNER " seems confused. \"I don't see any ">
<TELL DER-NOM-CAP ,WINNER " scheint verwirrt. %>Ich sehe das hier nicht!%<" CR>
;<NOT-HERE-PRINT .PRSO?>
;<TELL " here!\"" CR>)>
<RTRUE>>
;<ROUTINE NOT-HERE-PRINT (PRSO?)
<COND (,P-OFLAG
<COND (,P-XADJ <PRINTB ,P-XADJ ;N>)>
<COND (,P-XNAM <PRINTB ,P-XNAM>)>)
(.PRSO?
<BUFFER-PRINT <GET ,P-ITBL ,P-NC1> <GET ,P-ITBL ,P-NC1L> <>>)
(T
<BUFFER-PRINT <GET ,P-ITBL ,P-NC2> <GET ,P-ITBL ,P-NC2L> <>>)>>
<ROUTINE NULL-F ("OPTIONAL" A1 A2)
<RFALSE>>
"Objects shared by all three Zorks go here"
<GLOBAL LOAD-MAX 100>
<GLOBAL LOAD-ALLOWED 100>
;<OBJECT BLESSINGS
(LOC GLOBAL-OBJECTS)
(SYNONYM BLESSINGS GRACES)
(DESC "blessings")
(FLAGS NDESCBIT)>
<OBJECT STAIRS
(LOC LOCAL-GLOBALS)
(SYNONYM TREPPENHAUS TREPPENSTUFE TREPPE TREPP)
(ADJECTIVE STEINE STEINEN DUNKELE DUNKELEN FORBIDDING STEEP)
(DESC "Treppe")
(FLAGS NDESCBIT CLIMBBIT DIEBIT)
(ACTION STAIRS-F)>
<ROUTINE STAIRS-F ()
<COND (<VERB? THROUGH>
<TELL
"Du mu%st sagen, ob du nach oben oder unten gehen willst." CR>)>>
<OBJECT SAILOR
(LOC GLOBAL-OBJECTS)
(SYNONYM SEEMANN)
(DESC "Seemann")
(FLAGS NDESCBIT DERBIT)
(ACTION SAILOR-FCN)>
<ROUTINE SAILOR-FCN ()
<COND (<VERB? TELL>
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<TELL "So kannst du mit dem Seemann nicht sprechen." CR>)
(<VERB? EXAMINE>
%<COND (<==? ,ZORK-NUMBER 3>
'<COND (<NOT <FSET? ,VIKING-SHIP ,INVISIBLE>>
<TELL
"He looks like a sailor." CR>
<RTRUE>)>)
(ELSE T)>
<TELL
"Hier ist kein Seemann zu sehen." CR>)
(<VERB? HELLO>
<SETG HS <+ ,HS 1>>
%<COND (<==? ,ZORK-NUMBER 3>
'<COND (<NOT <FSET? ,VIKING-SHIP ,INVISIBLE>>
<TELL
"The seaman looks up and maneuvers the boat toward shore. He cries out %>I
have waited three ages for someone to say those words and save me from
sailing this endless ocean. Please accept this gift. You may find it
useful!\" He throws something which falls near you in the sand, then sails
off toward the west, singing a lively, but somewhat uncouth, sailor song." CR>
<FSET ,VIKING-SHIP ,INVISIBLE>
<MOVE ,VIAL ,HERE>)
(<==? ,HERE ,FLATHEAD-OCEAN>
<COND (,SHIP-GONE
<TELL "Nothing happens anymore." CR>)
(T
<TELL "Nothing happens yet." CR>)>)
(T <TELL "Hier passiert garnichts." CR>)>)
(T
'<COND (<0? <MOD ,HS 20>>
<TELL
"Du wiederholst dich." CR>)
(<0? <MOD ,HS 10>>
<TELL
"Dieser Satz wird langsam langweilig." CR>)
(T
<TELL "Hier passiert garnichts." CR>)>)>)>>
<OBJECT GROUND
(LOC GLOBAL-OBJECTS)
(SYNONYM GRUND BODEN MEERESBODEN SAND FUSSBODEN FU\%SBODEN)
(DESC "Grund")
(FLAGS DERBIT)
(ACTION GROUND-FUNCTION)>
<ROUTINE GROUND-FUNCTION ()
<COND (<AND <VERB? PUT PUT-ON>
<EQUAL? ,PRSI ,GROUND>>
<PERFORM ,V?DROP ,PRSO>
<RTRUE>)
%<COND (<==? ,ZORK-NUMBER 1>
'(<EQUAL? ,HERE ,SANDY-CAVE>
<SAND-FUNCTION>))
(T
'(<NULL-F>
<RFALSE>))>
(<VERB? DIG>
<TELL "Hier ist der Boden zu hart zum Graben." CR>)>>
<OBJECT GRUE
(LOC GLOBAL-OBJECTS)
(SYNONYM GREUEL)
(ADJECTIVE BOESARTIGE B\%OSARTIGE)
(DESC "Greuel")
(ADJDESC "lauernd")
(FLAGS DASBIT)
(ACTION GRUE-FUNCTION)>
<ROUTINE GRUE-FUNCTION ()
<COND (<VERB? EXAMINE>
<TELL
"Das Greuel ist ein b%osartiges lauerndes Wesen in den dunklen Orten dieser Welt. Sein Lieblingsfressen besteht aus Abenteurern, aber sein uners%attlicher Appetit ist von seiner Furcht vor Licht gem%a%sigt Kein Greuel ist je bei Tageslicht gesehen worden, und nur wenige haben seine f%urchterlichen Krallen %uberlebt, um von dem grauenhaften Wesen zu erz%ahlen." CR>)
(<VERB? FIND>
<TELL
"Hier ist kein Greuel, aber ich bin sicher, das mindestens eines hier in der N%ahe im Dunkeln auf der Lauer liegt. Es w%are schon klug, auf die Lichtquelle zu achten." CR>)
(<VERB? LISTEN>
<TELL
"Es gibt keinen Ton von sich, aber es liegt immer in der N%ahe im Dunkeln."
CR>)>>
<OBJECT LUNGS
(LOC GLOBAL-OBJECTS)
(SYNONYM LUNGEN LUFT MUND)
(DESC "Luft")
(FLAGS NDESCBIT DIEBIT)>
<OBJECT ME
(LOC GLOBAL-OBJECTS)
(SYNONYM ;MYSELF MICH ICH SELBE ABENTEURER)
(DESC "Abenteurer")
(FLAGS ACTORBIT DERBIT)
(ACTION CRETIN-FCN)>
<ROUTINE CRETIN-FCN ()
<COND (<VERB? TELL>
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<TELL
"Selbstgespr%ache deuten auf einen bevorstehenden Nervenzusammenbruch hin."
CR>)
(<AND <VERB? GIVE>
<EQUAL? ,PRSI ,ME>>
<PERFORM ,V?TAKE ,PRSO>
<RTRUE>)
(<VERB? ALARM>
<TELL "Du bist schon hellwach!" CR>)
(<VERB? EAT>
<TELL "Selbst-Kanibalismus ist nicht die L%osung." CR>)
(<VERB? ATTACK MUNG>
<COND (<AND ,PRSI <FSET? ,PRSI ,WEAPONBIT>>
<JIGS-UP
"Wenn du darauf bestehst.........Bum! Du bist tot.">)
(T
<TELL "Selbstmord ist nicht die L%osung." CR>)>)
(<VERB? THROW>
<COND (<==? ,PRSO ,ME>
<TELL
"Warum l%aufst du nicht wie normale Menschen?" CR>)>)
(<VERB? TAKE>
<TELL "Ach, wie romantisch!" CR>)
(<VERB? EXAMINE>
<COND %<COND (<==? ,ZORK-NUMBER 1>
'(<EQUAL? ,HERE <LOC ,MIRROR-1> <LOC ,MIRROR-2>>
<TELL
"Dein Spiegelbild sieht m%ude aus." CR>))
(<==? ,ZORK-NUMBER 3>
'(,INVIS
<TELL
"A good trick, as you are currently invisible." CR>))
(T
'(<NULL-F> <RTRUE>))>
(T
%<COND (<==? ,ZORK-NUMBER 3>
'<TELL
"What you can see looks pretty much as usual, sorry to say." CR>)
(ELSE
'<TELL
"Das ist schwierig, au%ser wenn deine Augen rausnehmbar sind." CR>)>)>)>>
<OBJECT ADVENTURER
(SYNONYM ABENTEUER)
(DESC "Abenteurer")
(FLAGS NDESCBIT INVISIBLE SACREDBIT ACTORBIT DERBIT)
(STRENGTH 0)
(ACTION 0)>
<OBJECT PATHOBJ
(LOC GLOBAL-OBJECTS)
(SYNONYM PFAD WALDPFAD)
(ADJECTIVE ENGE ENGEN WINDENDER DURCHGANG)
(DESC "Durchgang")
(FLAGS NDESCBIT DERBIT)
(ACTION PATH-OBJECT)>
<ROUTINE PATH-OBJECT ()
<COND (<VERB? FIND TAKE FOLLOW>
<TELL "Du mu%st eine Richtung angeben." CR>)
(<VERB? DIG>
<PERFORM ,V?DIG ,GROUND>
<RTRUE>)>>
<OBJECT ZORKMID
(LOC GLOBAL-OBJECTS)
(SYNONYM ZORKKNETE ZORKKNET)
(DESC "Zorkknete")
(FLAGS DIEBIT)
(ACTION ZORKMID-FUNCTION)>
<ROUTINE ZORKMID-FUNCTION ()
<COND (<VERB? EXAMINE>
<TELL
"Zorkknete ist die W%ahrung des Gro%sen Unterweltreiches." CR>)
(<VERB? FIND>
<TELL
"Man findet Zorkknete am besten, indem man rausgeht, und sie sucht." CR>)>>
<OBJECT HANDS
(LOC GLOBAL-OBJECTS)
(SYNONYM HAND HAENDE H\%ANDE)
(ADJECTIVE PAAR)
(DESC "Paar H%ande")
(FLAGS NDESCBIT TOOLBIT DASBIT)>
;"status line stuff"
<CONSTANT S-TEXT 0>
<CONSTANT S-WINDOW 1>
<CONSTANT H-NORMAL 0>
<CONSTANT H-INVERSE 1>
<CONSTANT H-BOLD 2>
<CONSTANT H-ITALIC 4>
<CONSTANT D-SCREEN-ON 1>
<CONSTANT D-SCREEN-OFF -1>
<CONSTANT D-PRINTER-ON 2>
<CONSTANT D-PRINTER-OFF -2>
<CONSTANT D-TABLE-ON 3>
<CONSTANT D-TABLE-OFF -3>
<CONSTANT D-RECORD-ON 4>
<CONSTANT D-RECORD-OFF -4>
<GLOBAL HOST:NUMBER 0> "Host machine."
<GLOBAL WIDTH:NUMBER 0> "Width of screen in chars."
;<GLOBAL MIDSCREEN:NUMBER 0> "Center of screen."
<GLOBAL CWIDTH:NUMBER 0> "Pixel width of characters."
<GLOBAL CHEIGHT:NUMBER 0> "Pixel height of characters."
<ROUTINE INIT-STATUS-LINE ()
<SETG HOST <LOWCORE INTID>>
<SETG CWIDTH <LOWCORE (FWRD 0)>>
<SETG WIDTH </ <LOWCORE HWRD> ,CWIDTH>>
<COND (<L? ,WIDTH 38>
<TELL "[Screen too narrow.]" CR>
<QUIT>)>
;<SETG MIDSCREEN <+ </ ,WIDTH 2> 1>>
<SETG CHEIGHT <LOWCORE (FWRD 1)>>
<SETG OHERE <>>
<SETG OLD-LEN 0>
;<SETG DO-WINDOW <>>
<SPLIT 1>
<SCREEN ,S-WINDOW>
;<BUFOUT <>>
<HLIGHT ,H-INVERSE>
<DO-CURSET 1 1>
;<ERASE 1> ;"This semi by Jeff"
;<PRINT-SPACES <LOWCORE SCRH>>
<PRINT-SPACES ,WIDTH>
<COND (<G? ,WIDTH 75>
<DO-CURSET 1 48 ;53>
<TELL "Spielstand:">
<DO-CURSET 1 66>
<TELL "Z%ugen:">)> ;"ren: JEFF - if Zuegen printed then needs"
;<BUFOUT T> ;"to start one char to left, 65"
<HLIGHT ,H-NORMAL>
<SCREEN ,S-TEXT>
<RTRUE>>
<CONSTANT SL-TABLE:TABLE <ITABLE NONE 80>> "status line constructed here"
<GLOBAL OHERE:OBJECT <>>
<GLOBAL OLD-LEN:NUMBER 0>
;<GLOBAL MIDSCREEN:NUMBER 0>
<ROUTINE UPDATE-STATUS-LINE ()
<SCREEN ,S-WINDOW>
;<BUFOUT <>>
<HLIGHT ,H-NORMAL>
<HLIGHT ,H-INVERSE>
<COND (<NOT <EQUAL? ,HERE ,OHERE>>
<SETG OHERE ,HERE>
; <DIROUT ,D-SCREEN-OFF> ; "Screen off."
<DIROUT ,D-TABLE-ON ,SL-TABLE> ; "Table on."
<SAY-HERE>
<DIROUT ,D-TABLE-OFF> ; "Table off."
; <DIROUT ,D-SCREEN-ON> ; "Screen on."
<DO-CURSET 1 2>
<PRINT-SPACES ,OLD-LEN> ; "Erase old HERE desc"
<SETG OLD-LEN <GET ,SL-TABLE 0>> ; "Print new HERE desc."
<DO-CURSET 1 2>
<SAY-HERE>)>
<COND (<G? ,WIDTH 78>
;"in case score g%os down, move 1 col. to left and print space"
<DO-CURSET 1 ;59 60>
<TELL N ,SCORE " ">
<DO-CURSET 1 73>
<TELL N ,MOVES>)
(T
<DIROUT ,D-TABLE-ON ,SL-TABLE>
<TELL N ,SCORE "/" N ,MOVES>
<DIROUT ,D-TABLE-OFF>
;"in case score g%os down, one col. to left and print space"
<DO-CURSET 1 <- ,WIDTH <+ <GET ,SL-TABLE 0> 2 ;1>>>
<TELL " " N ,SCORE "/" N ,MOVES>)>
<HLIGHT ,H-NORMAL>
<SCREEN ,S-TEXT> ;"Back to main screen."
<RTRUE>>
<ROUTINE PRINT-SPACES (N)
<REPEAT ()
<COND (<L? <SET N <- .N 1>> 0>
<RTRUE>)
(T
<TELL !\ >)>>
<RTRUE>>
<ROUTINE SAY-HERE ()
<COND (<ZERO? ,LIT?>
<TELL "Dunkelheit">)
(T
<TELL D ,HERE>
<COND (<AND <G? ,WIDTH 75>
<NOT <IN? ,ADVENTURER ,HERE>>>
<TELL ", in " DER-DAT <LOC ,ADVENTURER>>)>)>
<RTRUE>>

304
hints.zabstr Normal file
View File

@ -0,0 +1,304 @@
<FILE-FLAGS CLEAN-STACK?>
<GLOBAL HINT-WARNING <>>
<GLOBAL HINTS-OFF <>>
<DEFINE-ROUTINE V-HINT>
<DEFINE-ROUTINE PICK-QUESTION>
<GLOBAL LINE-TABLE <PTABLE 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 5 6 7
8 9 10 11 12 13 14 15 16 17 18 19 20 21>>
<GLOBAL COLUMN-TABLE <PTABLE 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 24 24 24 24 24
24 24 24 24 24 24 24 24 24 24 24 24>>
<GLOBAL CUR-POS 0>
<GLOBAL QUEST-NUM 1>
<GLOBAL CHAPT-NUM 1>
<DEFINE-ROUTINE ERASE-CURSOR>
<DEFINE-ROUTINE NEW-CURSOR>
<DEFINE-ROUTINE INVERSE-LINE>
<DEFINE-ROUTINE DISPLAY-HINT>
<DEFINE-ROUTINE PUT-UP-QUESTIONS>
<DEFINE-ROUTINE PUT-UP-CHAPTERS>
<GLOBAL HINTS <PLTABLE <PLTABLE "Ueber der Erde" <LTABLE 3
"Wo finde ich ein Buschmesser?"
"...Es gibt keines. Dieses Spiel muss doch IRGENDWO seine Grenzen haben.Du kannst doch nicht ploetzlich erwarten, dass du zum naechsten Flugplatz gehst, um von dort nach London zu fliegen, um das Britische Museum zu besuchen."
> <LTABLE 3 "Wie ueberquere ich die Berge?" "Spiele ZORK II."> <LTABLE 3
"Wie bringe ich den Singvogel um?"
"Was fuer eine Schnapsidee? Du brauchst einen Psychater."> <LTABLE 3
"Wofuer ist das Nest sonst gut?"
"In China koennte man Vogelnestersuppe daraus machen."
"Wir sind nicht in China." "In anderen Worten: Nein."> <LTABLE 3
"Wie mache ich das Ei heil auf?" "You don't."
"Hast du versucht zu sagen: EI %OFFNE."
"Es gehoert grosse Fingerferigkeit dazu und die richtigen Werkzeuge."
"Ein anderer Spieler kann es vielleicht."
"Nur der Dieb kann das Ei oeffnen. Gibt es ihm,oder lass es unteriridisch sein, wo er es finden kann."
> <LTABLE 3 "Kanarienvogel braucht Hilfe?" "Er ist nicht mehr reparierbar."
"Keiner kann ihn reparieren. Sicher!"> <LTABLE 3 "Wozu sind Blaetter denn gut?"
"Die sind gut, um Gitter zu verbergen."
"Man kann sie nehmen, zaehlen, oder verbrennen."> <LTABLE 3
"Ich habe mich im Wald verlaufen."
"Es gibt nur vier verschiedene Orte, die \"Wald\" heissen. Aber die Verbindungen sind gewoehnlich nicht gerade Wege. Um die Konfusion zu vergroesseren, gibt es zwei Oertlichkeiten, die \"Lichtung\" heissen.
Von dem \"Waldpfad\" kann man nach Sueden zu dem \"Norden des Hauses\" gehen.">
<LTABLE 3 "Wie oeffne ich das Gitter?" "Du musst es aufschliessen."
"Du brauchst den Schluessel beim Skelett."
"Es kann nur von unten aufgeschlossen werden."
"Das Gitter und der Schluessel koennen im Irrgarten gefunden werden."> <LTABLE
3 "Wie komme ich von dem Hausdach?" "Wie bist du denn raufgekommen."
"Einer von Infocom wuerde gerne wissen, wie du das geschafft hast."
"Das ist wirklich eine Falle. Verwende weder das Nichtvorhandensein oder das Vorhandenseins eines Themas als Indikator fuer das,was wichtig ist."
> <LTABLE 3 "Wozu ist der Kanarienvogel gut?"
"Er muss natuerlich unversehrt sein."
"Irgendwer ist von seinem Singen bezaubert." "Es ist auch ein Wertstueck."
"Versuche ihn im Wald aufzuziehen."> <LTABLE 3 "Wo ist das Flitterzeug? "
"Du musst erst mal das Ei oeffnen." "Schau die vorige Frage an."> <LTABLE 3
"Wie oeffne ich die Haustuer?" "Man kann sie nicht eintreten"
"Man kann sie nicht nicht zerstoeren." "Man kann sie nicht oeffnen."> <LTABLE 3
"Wie komme ich ins Haus?" "Hast du alle Seiten ausgechecked?"
"Da ist eine Fenster hinten, das ein bisschen offen steht."
"Mach's auf und klettere hinein."> <LTABLE 3 "Kann ich das Brot essen?"
"Versuch's." "Versuch auch das Wasser."
"In ZORK I darfst du vor nichts Angst haben (aber es ist sinnvoll, deinen Spielstand erst zu SICHERN)."
> <LTABLE 3 "Wie komme ich in den Kerker?" "Der Eingang ist im Haus."
"Falltueren koennen versteckt sein." "Zieh den Teppich weg."> <LTABLE 3
"Was ist ein Greul?" "Tippe, WAS IST EIN GREUL">> <PLTABLE "Der Keller" <
LTABLE 3 "Geht die Falltuer von unten auf?"
"Nein. Der einzige Weg, den es gibt die Falltuer daran zu hindern hinter dir zuzufallen, ist einen anderen Ausweg zu finden (nicht den Kamin, der sehr limitiert ist)."
> <LTABLE 3 "Geht es die Kellerrampe rauf?"
"Die Rampe ist zu schluepfrig zum Klettern."
"Kann man was gegen die Schluepfrigkeit tun?"
"Nein, die Rampe kommst du nie rauf."> <LTABLE 3
"Wie verhandle ich mit dem Troll?"
"Trolle unterhalten sich gewoehnlich nicht gern. Man muss sie meist mit direkten Methoden angehen."
"So lange er bei Bewusstsein ist, kannst du nicht an ihm vorbei."
"Bring ihn mit dem Schwert um."> <LTABLE 3 "Was mache ich mit der Axt?"
"Man kann es als Waffe benutzen, aber es ist eigentlich zu nichts gut."
"Dieser Platz ist absichtlich leer."> <LTABLE 3 "Warum sind hier Farbkleckse?"
"Der Kuenstler war ein Ferkel.">> <PLTABLE "Der Irrgarten" <LTABLE 3
"Wie geht's durch den Irrgarten?"
"Es ist notwendig eine Karte von dem Irrgarten zu zeichnen."
"Alle zehn Richtungen werden benutzt: N, S, O, W, NO, NW, SO, SW, RAUF, RUNTER."
"Einige Durchgaenge fuehren zu demselben Zimmer zurueck."
"Zimmer koennen dadurch markiert werden, dass man Dinge fallen laesst. (Der Dieb aber kann ein Problem sein)."
"Es gibt 22 Zimmer westlich von dem Trollzimmer."> <LTABLE 3
"Wie durch den Irrgarten?" "Von dem Trollzimmer zu dem Gitterzimmer:"
"W. W. W. RAUF. SW. RAUF. RUNTER. NO"
"Von dem Gitterzimmer zu dem Trollzimmer:"
"SW. RUNTER. O. N. RUNTER. N. N. N. O"
"Von dem Trollzimmer zu dem Zyklopenzimmer:" "W. W. W. U. SW. E. S. SE."
"Von dem Zyklopenzimmer zu dem Trollzimmer:" "NW. S. W. RUNTER. N. N. N. O"
"Von dem Gitterzimmer zu dem Zyklopenzimmer:" "SW. RUNTER. O. N. O. S. SO"
"Von dem Zyklopenzimmer zu dem Gitterzimmer:" "NW. S. W. RAUF. RUNTER. NO"> <
LTABLE 3 "Wozu ist das rostige Messer?"
"Wenn du dein Schwert gehabt haettest, als du es genommen hast, haette das flackernde blendende Licht als Warnung gedient."
"Versuche das Messer zu werfen oder jemanden damit anzugreifen."> <LTABLE 3
"Wozu ist ein Skelett gut?" "Lasse den Toten ihren Frieden."
"Dieser Platz ist absichtlich frei gelassen worden."> <LTABLE 3
"Brauch ich die kaputte Leuchte?"
"Wenn du denkst, dass sie nuetzlich ist, da gibt es die Bruecke, die dich vielleicht interessiert."
> <LTABLE 3 "Wie komm ich am Zyklop vorbei?"
"Kaempfen ist nicht immer die Antwort." "Es gibt zwei Loesungen."
"Erst die erste Loesung:"
"Was passiert, wenn du herumhaengst oder dem Zyklop etwas gibst?"
"Er ist hungrig, nicht wahr?" "Gib ihm das Brot und das Wasser.">> <PLTABLE
"Die Rundzimmergegend" <LTABLE 3 "Wie bekomme ich das Platin?"
"Da gibt es eigentlich zwei Loesungen." "Was macht das laute Tosen?"
"Gibt es eine Moeglichkeit den Fluss des Wassers zu kontrollieren?"
"Loese das Raetsel des Dammes."
"Hat das Oeffnen oder Schliessen der Schleusentore irgendwelchen Einfluss auf den Unterlauf des Flusses."
"Oeffne die Schleusentore."
"Warte bis das Reservoir leer ist, dann schliesse die Tore."
"Benutze die Ruhe im lauten Zimmer, waehrend sich das Reservoir anfuellt."
"Hier ist die zweite Loesung."
"Die Loesung, die das laute Zimmer betrifft, benoetigt keine Objekte aus dem Spiel oder auch irgendwelche Auskunft ueber das uebrige Spiel."
"Die Loesung hat etwas mit der Akustik in diesem Raum zu tun."
"Was passiert, wenn du etwas... etwas...etwas tippst?" "Tippe ECHO."> <LTABLE 3
"Wie bring ich den Rock um?" "Wie dumm!"
"Der Ausdruck \"lebender Rock\" ist metaphorisch und sollte nicht woertlich genommen werden."
> <LTABLE 3 "Was Besonderes am Spiegel?"
"Ihn zerschlagen ist nicht die beste Idee." "Hineingucken kann Spass machen."
"Hast du jemals versucht ihn zu beruehren oder ihn zu reiben?"
"Es gibt zwei Spiegelzimmer."
"Wenn man einen davon in einem Zimmer anruehrt, wird man automatisch ins andere Zimmer versetzt."
> <LTABLE 3 "Wie komme ich in den Hades?"
"Du musst die boesen Geister austreiben."
"Hier ein Tip: schlage die Seite im schwarzen Buch um."
"Man benoetigt die Glocke, das Buch und Kerzen."
"Laeute die Glocke, stecke die Kerzen an und lies das schwarze Buch."
"Die Reihenfolge in dieser feierlichen Handlung ist sehr wichtig."
"Auch musst du die Kerzen in der Hand halten, wenn du sie ansteckst."
"Geschwindigkeit ist in diesem Fall auch wichtig,--verschwende auch nicht mehr Zeit, als unbedingt zwischen den Handlungen notwendig ist."
> <LTABLE 3 "Geht es runter vom Domzimmer?" "Ja."
"Du musst frueher mal das notwendige Hilfsmittel gesehen haben."
"Man findet es im Speicher." "Binde das Seil ans Gelaender."> <LTABLE 3
"Geht es rauf vom Fackelzimmer?" "Nein."> <LTABLE 3
"Wie geht's weg vom Tempel?" "Du wirst das Seil nie erreichen."
"Du kannst vom Altarende aus nach unten gehen, aber du brauchst Gottes Hilfe um den Sarg durch das Loch nach unten zu bekommen."
"Der Altar hat magische Kraefte." "Was tut man gewoehnlich vor einem Altar?"
"Versuch's doch mal mit Beten.">> <PLTABLE "Die Dammgegend" <LTABLE 3
"Wie sprenge ich den Damm?" "Was fuer eine Idee!"
"Hier ist absichtlich Platz frei gelassen."> <LTABLE 3
"Wie funktioniert die Kontrolltafel?" "Du kannst die Schraube drehen."
"Du brauchst einen Schraubenschluessel."
"Du musst die Schalttafel aktivieren. (Gruene Blase leuchtet auf.)"> <LTABLE 3
"Fuer was ist die gruene Blase?"
"Sie zeigt an, dass die Schalttafel aktiviert ist."
"Benutze die Knoepfe in dem Wartungsraum ."> <LTABLE 3
"Was tue ich mit der Tube?" "Lies die Tube."
"Die Zaehne damit putzen macht wirklich keinen Sinn."
"Zum Oelen der Schraube ist es auch nicht gedacht."
"Schwarze Schmiere wie diese, ist gut zum Reparieren von Lecks in Wasserroehren und Booten."
> <LTABLE 3 "Wozu ist der Schraubenzieher?"
"Wenn es an der Zeit ist, wirst du es wissen."> <LTABLE 3
"Wozu Wartungsraumknoepfe?"
"Probier sie alle doch mal. Das sollte dir helfen das rauszufinden."
"Der blaue Knopf kann eine Wasserroehre platzen lassen."
"Der rote Knopf schaltet die Lichter ein und aus."
"Der gelbe Knopf aktiviert die Kontrolltafel am Damm(die gruene Blase leuchtet jetzt auf.)"
"Die braune Blase legt die Kontrolltafel lahm."> <LTABLE 3
"Kann ich das Leck dichten?" "Ja, aber nicht mit deinem Finger."
"Gibt es nicht irendwelche Schmiere, die man benutzen kann?"
"Benutze die Schmiere in der Tube."> <LTABLE 3 "Wozu ist der Haufen Plastik?"
"Wofuer ist das Ventil?" "Hast du mal versucht hineinzublasen?"
"Du brauchst die Luftpumpe, die noerdlich vom Reservoir ist."
"Loese das verDAMMte Problem, oder werd endlich aus dem Spiegel schlau.">> <
PLTABLE "Der Fluss" <LTABLE 3 "Kann man ueber den Fluss?" "Nicht ohne Boot."> <
LTABLE 3 "Was besaenftigt den Flussgott?"
"Was hast du versucht, in den Fluss zu werfen?"
"Es gibt keinen Flussgott. Was jemals reingeworfen wird, ist fuer immer verloren."
> <LTABLE 3 "Kann ich zurueck ueber den Fluss?"
"Wenn du vom sandigen Strand abstoesst, kannst du den Fluss westlich von den Weissen Klippen Sued ueberqueren."
"Es ist auch moeglich den Regenbogen zu ueberqueren."> <LTABLE 3
"Wie funktioniert das Boot?" "Lese die Anweisungen."
"Du kannst sagen: STEIG INS, STEIG AUS, STOSSEN AB, und LANDEN (oder eine Richtung gegen einen Landeplatz angeben.). Du kannst dich auch von der Stroemung tragen lassen."
> <LTABLE 3 "Ich habe eine Bootpanne!"
"Spitze Gegenstaende koennen ein Plastikboot kaputt machen. Man sollte sie nicht an Bord nehmen. Man sollte sie in das Boot tun, bevor man einsteigt, oder man solllte sie vorher in einem Behaelter haben, wie zum Beispiel dem braunen Sack."
> <LTABLE 3 "Wie komme ich ueber die Faelle?" "Bleib im Boot und warte."
"Na ja, was hast du erwartet?" "Ich sehe hier keinerlei Intelligenz."> <LTABLE
3 "Hat der Regenbogen Bedeutung?"
"Du kannst ihn ueberqueren und den goldenen Topf bekommen."
"Du schlaegst nicht dreimal die Hacken zusammen, waehrend du ausrufst:\"Heimat, suesse Heimat.\""
"Die Beschreibung von einem der Schaetze, und das Resultat der richtigen Benutzung davon, sollten versteckte Tips sein."
"Erhebe das Zepter oder winke damit, waehrend du am Ende des Regenbogen stehst."
> <LTABLE 3 "Kann ich durch die Grottenritze?"
"\"Die ist zu eng fuer die meisten Insekten.\"" "Das geht nicht."> <LTABLE 3
"Wie werde ich ein Insekt?" "Spinne einen Kokon." "Eine laecherliche Aufgabe.">
> <PLTABLE "Die Kohlengrube Gegend." <LTABLE 3 "Was ist mit der Fledermaus?"
"Es ist eine Vampirfledermaus." "Hast du je einen Greuelfilm gesehen?"
"Benutze den Knoblauch."> <LTABLE 3 "Wie am Stinkzimmer vorbei?"
"Wenn die Batterie von deiner Leuchte kaputt ist, vergiss es."> <LTABLE 3
"Die beste Kohlengrubenroute?" "Vom Gaszimmer zur Spitze der Leiter:"
"O. NO. SO. SW. RUNTER" "Von der Spitze der Leiter zum Gaszimmer:"
"RUNTER. N. O. S. N"> <LTABLE 3 "Ist der Korb nuetzlich?"
"Alles in Zork ist nuetzlich."> <LTABLE 3 "Wie durch den engen Durchgang?"
"\"Du passt nicht durch diesen Durchgang mit der Last.\""
"Hast du versucht,alles fallen zu lassen?"> <LTABLE 3
"Eine Lichtquelle fuers zugige Zimmer?" "Streichhoelzer."
"Na ja, keiner hat gesagt, dass die in einem Zug angehen. Du kannst keine Lichtquelle reintragen. Es gibt eine andere Moeglichkeit."
"Hast du dir mal ueberlegt wohin der Schacht mit dem Korb gefuehrt hat?"
"Dinge, wie z.B. Lichtquellen kann man in den Korb tun. Der Korb kann erhoeht und gesenkt werden."
> <LTABLE 3 "Wozu ist das Bauholz?"
"Es macht den Raum interessanter und verwirrt den Abenteurer."> <LTABLE 3
"Wie funktioniert die Maschine?"
"Die Schalterbeschreibung sollte dich an etwas erinnern."
"Versuch mal was reinzutun und die Maschine mit dem Schraubenzieher anzustellen. Hast du einen Duden zur Hand?"
"Aus Kohle kann man einen Diamanten machen."> <LTABLE 3
"Wozu ist die Kohle gut?" "Es ist eine Quelle fuer Kohlenstoff."
"Einer der wertvollsten Steine ist aus Kohlenstoff gemacht."
"Diamanten sind aus reinem Kohlenstoff in einer Kristallform. Sie werden durch enorme Hitze und durch Druck erzeugt."
> <LTABLE 3 "Wozu ist das Gas gut?"
"Es hat eine tolle Wirkung, wenn man bornierteAbenteurer, die mit offenen Flammen in Kohlengruben rumlatschen, in die Luft blasen will."
>> <PLTABLE "Das Land hinter der Spalte." <LTABLE 3
"Wie ueberquere ich die Spalte?" "Es gibt keine Bruecke."> <LTABLE 3
"Wie baue ich eine Bruecke?" "Eine interessante Idee..."
"Das Bauholz koennte nuetzlich sein." "Aber, vielleicht auch nicht?."
"Ein akzeptabler Versuch, aber vielleicht bringt er dir nichts.">> <PLTABLE
"Freie Fragen." <LTABLE 3 "Warum leuchtet das Schwert auf?"
"Elfenschwerter haben Zauberkraft und leuchten blau auf, wenn in der Naehe Gefahren drohen (besonders gefaehrliche Personen)."
> <LTABLE 3 "Was mach ich mit dem Dieb?"
"Einschaetzung ist der bessere Teil von Heldenmut."
"Du kannst fast immer einer Gegenueberstellung ausweichen, indem du in die andere Richtung gehst. Obwohl du beraubt werden koenntest
wirst du wenigstens nicht umgebracht."> <LTABLE 3
"Wieviele Gesamtpunkte gibt's?"
"350 jedesmal, wenn du AUFH%OREN, NEUBEGINN ODER PUNKTZAHL sagst, das ist angegeben."
> <LTABLE 3 "Wie komm ich aus der Hoehle?" "Es gibt da sechs Ausgaenge."
"Der Kamin erlaubt dir ausser deiner Lampe, jedesmal ein Objekt zu transportieren."
"Wahrscheinlich ist der einfachste Ausgang(rein von der Anlage her) durch das Gitter. Du triffst wahrscheinlich auf die anderen drei Ausgaenge, waehrend du einige der schwierigeren Probleme loest, aber es ist nicht notwendig, mehr als einen zu finden, um das Spiel zu beenden."
> <LTABLE 3 "Was bedeuten die Gravierungen?"
"Der superweise Kritiker I.Q. Rundkopf hat eine zehnbaendige Studie ueber die Gravierungen der Ur-Zorker geschrieben. Doch machen wir eine lange Geschichte kurz, er erfasste klar, dass die Zorkers sehr eigentuemliche Kaeuze waren."
> <LTABLE 3 "Wie bring ich den Dieb um?"
"Der Dieb ist gerissen und gefaehrlich als Gegner, beschlagen in den Kampfarten. Anfaenger Zorker tun sich am Besten, indem sie in vermeiden."
"Es besteht die Moeglichkeit ihn fuer einen Zug lang abzulenken, indem man ihm etwas Wertvolles gibt."
"Das gefaehrliche Messer ist eine unter Umstaenden wirksamere Waffe, die man gegen ihn benutzen koennte."
> <LTABLE 3 "Wie kann ich meine Leuchte aufladen?" "Wie kommst du darauf?"
"Es ist immer am besten, seine Mittel zu schonen."
"Du kannst ihre Lebensdauer verlaengern, indem du sie ausschaltest, wenn immer du kannst und andere Lichtquellen benutzen."
> <LTABLE 3 "Was passiert, wenn du stirbst?"
"Du koenntest im Wald erscheinen von all deinem Besitz umgeben (Wervolles unterirdisch, Wertloses ueberirdisch.)"
"Du koenntest als Geist umhergeistern, bis du eine Form deiner Auferstehung gefunden hast."
"ZORK I hat die gleichen Regeln wie Schlagball. Drei Versuche, dann bist du aus dem Spiel."
"Du wirst zu einem Geist, wenn du an einem gewissen Ort angekommen bist, der vor dem eigentlichen Tod steht."
"Dieser Ort ist der Altar in dem Suedtempel." "Versuche am Altar zu beten."> <
LTABLE 3 "Wer ist \"der andere Bewohner\"?" "\"Der von der grossen Tuete.\""
"Der Dieb, natuerlich."> <LTABLE 3 "Wozu ist TAG, SEEMAN gut?"
"Willst du das wirklich wissen?" "Bist du ganz sicher?"
"Um von dem schwarzen Buch zu zitieren: \"Oh Ihr, die Ihr zueinander sagt: %>Tag, Seeman%<. Seid Ihr Euch der Gr%o%se Eurer S%unden vor den G%ottern bewu%st? ... Wahrhaftig Ihr sollt b%ussen f%ur eure Schlauheit.\""
"Nirgends. (Man hat dich gewarnt.)">> <PLTABLE "Freie Fragen" <LTABLE 3
"Dinge scheinen hier oder nicht hier." "Der Dieb ist dauernd irgendwo anders."
"Es ist sehr moeglich, dass er Wertvolles nimmt(ausser dem goldenen Sarg), den du gesehen hast. Es ist wesentlich weniger moeglich, das er etwas Nichtwertvolles nimmt (natuerlich nur, wenn du es gesehen hast), manchmal laesst er es auch spaeter fallen."
> <LTABLE 3 "Wo sind die gestohlenen Schaetze?"
"Waehrend der Dieb herumwandert, stielt er Dinge, die er in seinen Sack stopft. Wenn er in seinem Schatzzimmer ankommt, deponiert er die Werte, die er angesammelt hat."
"Das Schatzzimmer wird von dem Zyklop bewacht."> <LTABLE 3
"Was mach ich mit dem Stilett?"
"Gratuliere! Das Stilett zu bekommen passiert selten. Wenn du es vor dem Dieb verbergen kannst, dann wird er dich nicht angreifen."
"Es ist ja nur eine Waffe, sonst nichts."> <LTABLE 3
"Wer ist der duerre,hungrige Typ?" "Der Dieb."> <LTABLE 3
"Wo brauche ich die Schaufel?" "Sie graebt nur in loser Erde."
"Probier sie im Sand." "Der Sand in der sandigen Hoehle ist vielversprechend.">
<LTABLE 3 "Der beste Selbstbildniswiedergeber?"
"Von was sprichst du eigentlich?"
"Dieser Platz ist absichtlich offen gelassen."> <LTABLE 3
"In den eigentuemlichen Durchgang?"
"Das ist nicht notwendig, um das Spiel zu beenden."
"Schau die andere Zyklopantwort an."> <LTABLE 3 "Wie in das Steingrab?"
"Wenn die Zeit reif ist, weisst du es."
"Wenn du alle 350 Punkte erreicht hast, dann kannst du ins Steingrab eintreten."
> <LTABLE 3 "Wie man Punkte macht. (Bitte nur benutzen, wenn alles verloren scheint.)"
"Du bekommst 10 Punkte, wenn du ins Haus gelangst, 25 fuer den Keller, 5 als Bonus, wenn du am Troll vorbei kommst, 13 fuer den Eintritt in das zugige Zimmer,25 fuer das Erreichen des Schatzzimmers."
"Diese Punkete zusammen mit all den Schatzpunkten kommen auf 350. Wenn du all diese 350 Punkte hast, wird der zwanzigste Schatz im Trophaenschrank erscheinen-- eine Karte, die (indirekt) zu 400 weiteren Punkten (ZORK II) fuehrt."
> <LTABLE 3 "Schaetze: Ihre Werte, wo sie sind."
"(Nur benutzen, wenn alles verloren scheint.)"
"(Der Schatz wird aufgefuehrt, gefolgt von den Punkten, die man bekommt, wenn man ihn nimmt, die Punkte dafuer, dass man ihn in den Trophaeenkasten tut, dann der Platz, wo er gefunden wird.)"
"Juwelenbedecktes Ei - 5 - 5 - im Nest im Baum"
"Aufziebarer Kanarienvogel 6 - 4 - im Ei"
"Schoenes Gemaelde - 4 - 6 - Kunstgalerie"
"Platinbarren - 10 - 5 - im lauten Zimmer"
"Elfenbeinfackel - 14 - 6 - Fackelzimmer"
"Goldener Sarg - 10 - 15 - Aegyptisches Zimmer"
"Egyptian sceptre - 4 - 6 - in the coffin"
"Koffer mit Juwelen - 15 - 5 - Reservoir"
"Kristaldreizack - 4 - 11 - Atlantiszimmer"
"Jadefigure - 5 - 5 - Fledermauszimmer" "Saphirarmbanch - 5 - 5 - Gaszimmer"
"Riesendiamant - 10 - 10 - du machst ihn"
"Sack mit Muenzen - 10 - 5 - im Irrgarten."
"Kristallschaedel - 10 - 10 - im Land der lebendigen Toten."
"juwelenbesetzer Skarabaeus - 5 - 5 - in der sandigen Hoehle vergraben"
"grosser Smaragd - 5 - 10 - in der Boje" "Silberkelch - 10 - 5 - Schatzzimmer"
"Goldener Topf - 10 - 10 - am Ende des Regenbogens"
"Messingflitterkugel - 1 - 1 - der Singvogel hat sie"> <LTABLE 3 "Zum Spass"
"(Lies nur, nachdem du das Spiel beendet hast.)" "Hast du je:"
"...das Gitter geoeffnet, waehrend die Blaetter noch drauf lagen?"
"...ZORK I so richtig verflucht?"
"...mit dem Zepter gewinkt, als du auf dem Regenbogen gestanden hast?"
"...etwas Boeses mit den Leichen im Hades ausprobiert?"
"...das schwarze Buch verbrannt?" "...das Gemaelde kaputt gemacht?"
"...die Kerzen mit der Fackel angezuendet?"
"...das Streichholzschaechtelchen gelesen?"
"...versucht dich selber(oder den Dieb, den Troll oder den Zyklop)zu verulken?"
"...versucht Dinge mit dem Messer oder dem Schwert zu zerschneiden?"
"...Wasser auf etwas Brennendes geschuettet?"
"...gesagt WARTE oder SPIELSTAND, als du tot warst (als ein Geist)?">>>>
<DEFINE-ROUTINE INIT-HINT-SCREEN>
<DEFINE-ROUTINE CENTER-LINE>
<DEFINE-ROUTINE LEFT-LINE>
<DEFINE-ROUTINE RIGHT-LINE>
<GLOBAL DIROUT-TBL <TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>>

267
hints.zap Normal file
View File

@ -0,0 +1,267 @@
.FUNCT V-HINT:ANY:0:0,CHR,MAXC,C,Q,WHO
?FCN: PRINTR "Hints are not in this version."
?PRG9: INPUT 1 >CHR
EQUAL? CHR,81,113 \?CCL13
SET 'Q,TRUE-VALUE
JUMP ?REP10
?CCL13: EQUAL? CHR,78,110 \?CCL15
EQUAL? CHAPT-NUM,MAXC /?PRG9
ICALL1 ERASE-CURSOR
INC 'CUR-POS
INC 'CHAPT-NUM
ICALL1 NEW-CURSOR
SET 'QUEST-NUM,1
JUMP ?PRG9
?CCL15: EQUAL? CHR,80,112 \?CCL19
EQUAL? CHAPT-NUM,1 /?PRG9
ICALL1 ERASE-CURSOR
DEC 'CUR-POS
DEC 'CHAPT-NUM
ICALL1 NEW-CURSOR
SET 'QUEST-NUM,1
JUMP ?PRG9
?CCL19: EQUAL? CHR,13,10 \?PRG9
ICALL1 PICK-QUESTION
?REP10: ZERO? Q /?FCN
SPLIT 0
CLEAR -1
ICALL1 INIT-STATUS-LINE
RETURN 2
.FUNCT PICK-QUESTION:ANY:0:0,CHR,MAXQ,Q
?FCN: ICALL2 INIT-HINT-SCREEN,FALSE-VALUE
ICALL LEFT-LINE,3,STR?407,18
ICALL RIGHT-LINE,3,STR?408,13
GET HINTS,CHAPT-NUM
GET STACK,0
SUB STACK,1 >MAXQ
CURSET 5,1
ICALL1 PUT-UP-QUESTIONS
SUB QUEST-NUM,1 >CUR-POS
ICALL1 NEW-CURSOR
?PRG1: INPUT 1 >CHR
EQUAL? CHR,81,113 \?CCL5
SET 'Q,TRUE-VALUE
JUMP ?REP2
?CCL5: EQUAL? CHR,78,110 \?CCL7
EQUAL? QUEST-NUM,MAXQ /?PRG1
ICALL1 ERASE-CURSOR
INC 'CUR-POS
INC 'QUEST-NUM
ICALL1 NEW-CURSOR
JUMP ?PRG1
?CCL7: EQUAL? CHR,80,112 \?CCL11
EQUAL? QUEST-NUM,1 /?PRG1
ICALL1 ERASE-CURSOR
DEC 'CUR-POS
DEC 'QUEST-NUM
ICALL1 NEW-CURSOR
JUMP ?PRG1
?CCL11: EQUAL? CHR,13,10 \?PRG1
ICALL1 DISPLAY-HINT
?REP2: ZERO? Q /?FCN
RFALSE
.FUNCT ERASE-CURSOR:ANY:0:0,?TMP1
GET LINE-TABLE,CUR-POS >?TMP1
GET COLUMN-TABLE,CUR-POS
SUB STACK,2
CURSET ?TMP1,STACK
PRINTC 32
RTRUE
.FUNCT NEW-CURSOR:ANY:0:0,?TMP1
GET LINE-TABLE,CUR-POS >?TMP1
GET COLUMN-TABLE,CUR-POS
SUB STACK,2
CURSET ?TMP1,STACK
PRINTC 62
RTRUE
.FUNCT INVERSE-LINE:ANY:0:0,CENTER-HALF
HLIGHT H-INVERSE
GETB 0,33
ICALL2 PRINT-SPACES,STACK
HLIGHT H-NORMAL
RTRUE
.FUNCT DISPLAY-HINT:ANY:0:0,H,MX,CNT,CHR,FLG,N,?TMP1
SET 'CNT,2
SET 'FLG,TRUE-VALUE
SPLIT 0
CLEAR -1
SPLIT 3
SCREEN S-WINDOW
CURSET 1,1
ICALL1 INVERSE-LINE
ICALL CENTER-LINE,1,STR?409,16
CURSET 3,1
ICALL1 INVERSE-LINE
ICALL LEFT-LINE,3,STR?410
ICALL RIGHT-LINE,3,STR?411,17
HLIGHT H-BOLD
GET HINTS,CHAPT-NUM >?TMP1
ADD QUEST-NUM,1
GET ?TMP1,STACK >H
GET H,1
ICALL CENTER-LINE,2,STACK
HLIGHT H-NORMAL
GET H,0 >MX
SCREEN S-TEXT
CRLF
?PRG1: ZERO? FLG /?CND3
SUB MX,CNT
ADD STACK,1 >N
PRINTC 91
PRINTN N
PRINTI " hint"
EQUAL? N,1 /?CND5
PRINTC 115
?CND5: PRINTI " left.]"
CRLF
CRLF
PRINTI " -> "
SET 'FLG,FALSE-VALUE
?CND3: INPUT 1 >CHR
EQUAL? CHR,81,113 /TRUE
EQUAL? CHR,13,10 \?PRG1
GRTR? CNT,MX /?PRG1
SET 'FLG,TRUE-VALUE
GET H,CNT
PRINT STACK
CRLF
CRLF
IGRTR? 'CNT,MX \?PRG1
SET 'FLG,FALSE-VALUE
PRINTI "[Final hint]"
CRLF
JUMP ?PRG1
.FUNCT PUT-UP-QUESTIONS:ANY:0:0,ST,MXQ,MXL,?TMP1
SET 'ST,1
GET HINTS,CHAPT-NUM
GET STACK,0
SUB STACK,1 >MXQ
GETB 0,32
SUB STACK,1 >MXL
?PRG1: GRTR? ST,MXQ /TRUE
SUB ST,1
GET LINE-TABLE,STACK >?TMP1
SUB ST,1
GET COLUMN-TABLE,STACK
SUB STACK,1
CURSET ?TMP1,STACK
PRINTC 32
GET HINTS,CHAPT-NUM >?TMP1
ADD ST,1
GET ?TMP1,STACK
GET STACK,1
PRINT STACK
INC 'ST
JUMP ?PRG1
.FUNCT PUT-UP-CHAPTERS:ANY:0:0,ST,MXC,MXL,?TMP1
SET 'ST,1
GET HINTS,0 >MXC
GETB 0,32
SUB STACK,1 >MXL
?PRG1: GRTR? ST,MXC /TRUE
SUB ST,1
GET LINE-TABLE,STACK >?TMP1
SUB ST,1
GET COLUMN-TABLE,STACK
SUB STACK,1
CURSET ?TMP1,STACK
PRINTC 32
GET HINTS,ST
GET STACK,1
PRINT STACK
INC 'ST
JUMP ?PRG1
.FUNCT INIT-HINT-SCREEN:ANY:0:1,THIRD,WID,LEN
ASSIGNED? 'THIRD /?CND1
SET 'THIRD,TRUE-VALUE
?CND1: GETB 0,33 >WID
SPLIT 0
CLEAR -1
GETB 0,32
SUB STACK,1
SPLIT STACK
SCREEN S-WINDOW
CURSET 1,1
ICALL1 INVERSE-LINE
CURSET 2,1
ICALL1 INVERSE-LINE
CURSET 3,1
ICALL1 INVERSE-LINE
ICALL CENTER-LINE,1,STR?409,16
ICALL LEFT-LINE,2,STR?774
ICALL RIGHT-LINE,2,STR?775,12
ZERO? THIRD /FALSE
ICALL LEFT-LINE,3,STR?776
CALL RIGHT-LINE,3,STR?777,16
RSTACK
.FUNCT CENTER-LINE:ANY:2:4,LN,STR,LEN,INV
ASSIGNED? 'INV /?CND1
SET 'INV,TRUE-VALUE
?CND1: ZERO? LEN \?CND3
DIROUT D-TABLE-ON,DIROUT-TBL
PRINT STR
DIROUT D-TABLE-OFF
GET DIROUT-TBL,0 >LEN
?CND3: GETB 0,33
SUB STACK,LEN
DIV STACK,2
CURSET LN,STACK
ZERO? INV /?CND5
HLIGHT H-INVERSE
?CND5: PRINT STR
ZERO? INV /FALSE
HLIGHT H-NORMAL
RTRUE
.FUNCT LEFT-LINE:ANY:2:3,LN,STR,INV
ASSIGNED? 'INV /?CND1
SET 'INV,TRUE-VALUE
?CND1: CURSET LN,1
ZERO? INV /?CND3
HLIGHT H-INVERSE
?CND3: PRINT STR
ZERO? INV /FALSE
HLIGHT H-NORMAL
RTRUE
.FUNCT RIGHT-LINE:ANY:2:4,LN,STR,LEN,INV
ASSIGNED? 'INV /?CND1
SET 'INV,TRUE-VALUE
?CND1: ZERO? LEN \?CND3
DIROUT 3,DIROUT-TBL
PRINT STR
DIROUT -3
GET DIROUT-TBL,0 >LEN
?CND3: GETB 0,33
SUB STACK,LEN
CURSET LN,STACK
ZERO? INV /?CND5
HLIGHT H-INVERSE
?CND5: PRINT STR
ZERO? INV /FALSE
HLIGHT H-NORMAL
RTRUE
.ENDI

685
hints.zil Normal file
View File

@ -0,0 +1,685 @@
"HINTS for GERMAN ZORK - (VIA SHERLOCK)
(c) Copyright 1987 Infocom, Inc. All Rights Reserved."
<FILE-FLAGS CLEAN-STACK?>
<GLOBAL HINT-WARNING <>>
<GLOBAL HINTS-OFF <>>
<ROUTINE V-HINT ("AUX" CHR MAXC (C <>) Q WHO)
<TELL "Hints are not in this version." CR>
<RTRUE>
<COND (,HINTS-OFF
<TELL "Hints have been disabled for this session." CR>
<RFATAL>)
(<NOT ,HINT-WARNING>
<SETG HINT-WARNING T>
<TELL
"[Warning: It is recognized that the temptation for help may at times be so
exceedingly strong that you might fetch hints prematurely. Therefore, you may
at any time during the story type HINTS OFF, and this will disallow the
seeking out of help for the present session of the story. If you still want a
hint now, indicate HINT.]" CR>
<RFATAL>)>
<SET MAXC <GET ,HINTS 0>>
<INIT-HINT-SCREEN>
<CURSET 5 1>
<PUT-UP-CHAPTERS>
<SETG CUR-POS <- ,CHAPT-NUM 1>>
;<SETG CHAPT-NUM 1>
;<CURSET 5 2>
<NEW-CURSOR>
;<PRINTI ">">
<REPEAT ()
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR %<ASCII !\Q> %<ASCII !\q>>
<SET Q T>
<RETURN>)
(<EQUAL? .CHR %<ASCII !\N> %<ASCII !\n>>
<COND (<NOT <EQUAL? ,CHAPT-NUM .MAXC>>
<ERASE-CURSOR>
<SETG CUR-POS <+ ,CUR-POS 1>>
<SETG CHAPT-NUM <+ ,CHAPT-NUM 1>>
<NEW-CURSOR>
<SETG QUEST-NUM 1>)>)
(<EQUAL? .CHR %<ASCII !\P> %<ASCII !\p>>
<COND (<NOT <EQUAL? ,CHAPT-NUM 1>>
<ERASE-CURSOR>
<SETG CUR-POS <- ,CUR-POS 1>>
<SETG CHAPT-NUM <- ,CHAPT-NUM 1>>
<NEW-CURSOR>
<SETG QUEST-NUM 1>)>)
(<EQUAL? .CHR 13 10>
;<PUTP ,SCENE ,P?SCENE-CUR ,CUR-POS>
<PICK-QUESTION>
<RETURN>)>>
<COND (<NOT .Q>
<AGAIN> ;"AGAIN does whole routine?")>
;<SETG CUR-POS 0>
;<SETG CHAPT-NUM 1>
;<PUTP ,SCENE ,P?SCENE-CUR ,CUR-POS>
<SPLIT 0>
<CLEAR -1>
<INIT-STATUS-LINE>
<RFATAL>>
<ROUTINE PICK-QUESTION ("AUX" CHR MAXQ (Q <>))
<INIT-HINT-SCREEN <>>
<LEFT-LINE 3 " RETURN = see hint" %<LENGTH " RETURN = see hint">>
<RIGHT-LINE 3 "Q = main menu" %<LENGTH "Q = main menu">>
<SET MAXQ <- <GET <GET ,HINTS ,CHAPT-NUM> 0> 1>>
<CURSET 5 1>
<PUT-UP-QUESTIONS>
<SETG CUR-POS <- ,QUEST-NUM 1>>
;<SETG QUEST-NUM 1>
;<CURSET 5 2>
<NEW-CURSOR>
;<PRINTI ">">
<REPEAT ()
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR %<ASCII !\Q> %<ASCII !\q>>
<SET Q T>
<RETURN>)
(<EQUAL? .CHR %<ASCII !\N> %<ASCII !\n>>
<COND (<NOT <EQUAL? ,QUEST-NUM .MAXQ>>
<ERASE-CURSOR>
<SETG CUR-POS <+ ,CUR-POS 1>>
<SETG QUEST-NUM <+ ,QUEST-NUM 1>>
<NEW-CURSOR>)>)
(<EQUAL? .CHR %<ASCII !\P> %<ASCII !\p>>
<COND (<NOT <EQUAL? ,QUEST-NUM 1>>
<ERASE-CURSOR>
<SETG CUR-POS <- ,CUR-POS 1>>
<SETG QUEST-NUM <- ,QUEST-NUM 1>>
<NEW-CURSOR>)>)
(<EQUAL? .CHR 13 10>
<DISPLAY-HINT>
<RETURN>)>>
<COND (<NOT .Q>
<AGAIN>)>>
;"zeroth (first) element is 5"
<GLOBAL LINE-TABLE
<PTABLE
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21>>
;"zeroth (first) element is 4"
<GLOBAL COLUMN-TABLE
<PTABLE
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24>>
;"four and nineteen are where the text of questions start"
<GLOBAL CUR-POS 0> ;"determines where to place the highlight cursor
Can go up to 34, that is 17 slots in each row"
<GLOBAL QUEST-NUM 1> ;"shows in HINT-TBL ltable which QUESTION it's on"
<GLOBAL CHAPT-NUM 1> ;"shows in HINT-TBL ltable which CHAPTER it's on"
<ROUTINE ERASE-CURSOR ()
<CURSET <GET ,LINE-TABLE ,CUR-POS>
<- <GET ,COLUMN-TABLE ,CUR-POS> 2 ;1>>
<TELL " "> ;"erase previous highlight cursor">
;"go back 2 spaces from question text, print cursor and flash is between
the cursor and text"
<ROUTINE NEW-CURSOR ()
<CURSET <GET ,LINE-TABLE ,CUR-POS>
<- <GET ,COLUMN-TABLE ,CUR-POS> 2 ;1>>
<TELL ">"> ;"print the new cursor">
<ROUTINE INVERSE-LINE ("AUX" (CENTER-HALF <>))
<HLIGHT ,H-INVERSE>
<PRINT-SPACES <LOWCORE SCRH>>
<HLIGHT ,H-NORMAL>>
<ROUTINE DISPLAY-HINT ("AUX" H MX (CNT 2 ;,HINT-HINTS) CHR (FLG T) N)
<SPLIT 0>
<CLEAR -1>
<SPLIT 3>
<SCREEN ,S-WINDOW>
<CURSET 1 1>
<INVERSE-LINE>
<CENTER-LINE 1 "INVISICLUES (tm)" %<LENGTH "INVISICLUES (tm)">>
<CURSET 3 1>
<INVERSE-LINE>
;<COND (,WIDE
<TELL " ">)>
<LEFT-LINE 3 "RETURN = see new hint">
<RIGHT-LINE 3 "Q = see hint menu" %<LENGTH "Q = see hint menu">>
<HLIGHT ,H-BOLD>
<SET H <GET <GET ,HINTS ,CHAPT-NUM> <+ ,QUEST-NUM 1>>>
<CENTER-LINE 2 <GET .H 1 ;,HINT-QUESTION>>
<HLIGHT ,H-NORMAL>
<SET MX <GET .H 0>>
;<CURSET 5 2> ;"instead of CRLF"
<SCREEN ,S-TEXT>
<CRLF>
<REPEAT ()
<COND (.FLG
<SET N <+ <- .MX .CNT> 1>> ;"added +1 - Jeff"
<TELL "[" N .N " hint">
<COND (<NOT <EQUAL? .N 1>>
<TELL "s">)>
<TELL " left.]" CR CR " -> ">
<SET FLG <>>)>
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR %<ASCII !\Q> %<ASCII !\q>>
;<PUT .H ,HINT-SEEN .CNT>
;<SETG CUR-POS <GET ,SCENE ,P?SCENE-CUR>>
<RETURN>)
(<EQUAL? .CHR 13 10>
<COND (<NOT <G? .CNT .MX>>
<SET FLG T> ;".cnt starts as 2"
<TELL <GET .H .CNT>>
<CRLF>
<CRLF>
<SET CNT <+ .CNT 1>>
;<CURSET <+ <* .CNT 2> 1> 2>
;"3rd = line 7, 4th = line 9, ect"
<COND (<G? .CNT .MX>
<SET FLG <>>
<TELL "[Final hint]" CR>
;<CURSET <* .CNT 2> 1>)>)>)>>>
<ROUTINE PUT-UP-QUESTIONS ("AUX" (ST 1) MXQ MXL)
<SET MXQ <- <GET <GET ,HINTS ,CHAPT-NUM> 0> 1>>
<SET MXL <- <LOWCORE SCRV> 1>>
<REPEAT ()
<COND (<G? .ST .MXQ>
;<TELL CR "[Last question]" CR>
<RETURN>)
(T ;"zeroth"
<CURSET <GET ,LINE-TABLE <- .ST 1>>
<- <GET ,COLUMN-TABLE <- .ST 1>> 1>>)
;(<G? .LN .MXL>
<TELL CR "[More questions follow]" CR>
<RETURN <- .ST 1>>)>
<TELL " " <GET <GET <GET ,HINTS ,CHAPT-NUM> <+ .ST 1>> 1>>
;<CRLF> ;"above curset will do the trick?"
<SET ST <+ .ST 1>>>>
<ROUTINE PUT-UP-CHAPTERS ("AUX" (ST 1) MXC MXL)
<SET MXC <GET ,HINTS 0>>
<SET MXL <- <LOWCORE SCRV> 1>>
<REPEAT ()
<COND (<G? .ST .MXC>
;<TELL CR "[Last chapter]" CR>
<RETURN>)
(T ;"zeroth"
<CURSET <GET ,LINE-TABLE <- .ST 1>>
<- <GET ,COLUMN-TABLE <- .ST 1>> 1>>)
;(<G? .LN .MXL>
<TELL CR "[More chapters follow]" CR>
<RETURN <- .ST 1>>)>
<TELL " " <GET <GET ,HINTS .ST> 1 ;,HINT-QUEST>>
;<CRLF> ;"above curset will do the trick?"
<SET ST <+ .ST 1>>>>
<GLOBAL HINTS
<PLTABLE
<PLTABLE "Ueber der Erde"
<LTABLE 3 "Wo finde ich ein Buschmesser?"
"...Es gibt keines. Dieses Spiel muss doch IRGENDWO seine Grenzen haben.Du kannst doch nicht ploetzlich erwarten, dass du zum naechsten Flugplatz gehst, um von dort nach London zu fliegen, um das Britische Museum zu besuchen.">
<LTABLE 3 "Wie ueberquere ich die Berge?"
"Spiele ZORK II.">
<LTABLE 3 "Wie bringe ich den Singvogel um?"
"Was fuer eine Schnapsidee? Du brauchst einen Psychater.">
<LTABLE 3 "Wofuer ist das Nest sonst gut?"
"In China koennte man Vogelnestersuppe daraus machen."
"Wir sind nicht in China."
"In anderen Worten: Nein.">
<LTABLE 3 "Wie mache ich das Ei heil auf?"
;"ren:"
"You don't."
"Hast du versucht zu sagen: EI %OFFNE."
"Es gehoert grosse Fingerferigkeit dazu und die richtigen Werkzeuge."
"Ein anderer Spieler kann es vielleicht."
"Nur der Dieb kann das Ei oeffnen. Gibt es ihm,oder lass es unteriridisch sein, wo er es finden kann.">
<LTABLE 3 "Kanarienvogel braucht Hilfe?"
"Er ist nicht mehr reparierbar."
"Keiner kann ihn reparieren. Sicher!">
<LTABLE 3 "Wozu sind Blaetter denn gut?"
"Die sind gut, um Gitter zu verbergen."
"Man kann sie nehmen, zaehlen, oder verbrennen.">
<LTABLE 3 "Ich habe mich im Wald verlaufen."
"Es gibt nur vier verschiedene Orte, die \"Wald\" heissen. Aber die Verbindungen sind gewoehnlich nicht gerade Wege. Um die Konfusion zu vergroesseren, gibt es zwei Oertlichkeiten, die \"Lichtung\" heissen.
Von dem \"Waldpfad\" kann man nach Sueden zu dem \"Norden des Hauses\" gehen.">
<LTABLE 3 "Wie oeffne ich das Gitter?"
"Du musst es aufschliessen."
"Du brauchst den Schluessel beim Skelett."
"Es kann nur von unten aufgeschlossen werden."
"Das Gitter und der Schluessel koennen im Irrgarten gefunden werden.">
<LTABLE 3 "Wie komme ich von dem Hausdach?"
"Wie bist du denn raufgekommen."
"Einer von Infocom wuerde gerne wissen, wie du das geschafft hast."
"Das ist wirklich eine Falle. Verwende weder das Nichtvorhandensein oder das Vorhandenseins eines Themas als Indikator fuer das,was wichtig ist.">
<LTABLE 3 "Wozu ist der Kanarienvogel gut?"
"Er muss natuerlich unversehrt sein."
"Irgendwer ist von seinem Singen bezaubert."
"Es ist auch ein Wertstueck."
"Versuche ihn im Wald aufzuziehen.">
<LTABLE 3 "Wo ist das Flitterzeug? "
"Du musst erst mal das Ei oeffnen."
"Schau die vorige Frage an.">
<LTABLE 3 "Wie oeffne ich die Haustuer?"
"Man kann sie nicht eintreten"
"Man kann sie nicht nicht zerstoeren."
"Man kann sie nicht oeffnen.">
<LTABLE 3 "Wie komme ich ins Haus?"
"Hast du alle Seiten ausgechecked?"
"Da ist eine Fenster hinten, das ein bisschen offen steht."
"Mach's auf und klettere hinein.">
<LTABLE 3 "Kann ich das Brot essen?"
"Versuch's."
"Versuch auch das Wasser."
"In ZORK I darfst du vor nichts Angst haben (aber es ist sinnvoll, deinen Spielstand erst zu SICHERN).">
<LTABLE 3 "Wie komme ich in den Kerker?"
"Der Eingang ist im Haus."
"Falltueren koennen versteckt sein."
"Zieh den Teppich weg.">
<LTABLE 3
"Was ist ein Greul?"
"Tippe, WAS IST EIN GREUL">>
<PLTABLE "Der Keller"
<LTABLE 3 "Geht die Falltuer von unten auf?"
"Nein. Der einzige Weg, den es gibt die Falltuer daran zu hindern hinter dir zuzufallen, ist einen anderen Ausweg zu finden (nicht den Kamin, der sehr limitiert ist).">
<LTABLE 3 "Geht es die Kellerrampe rauf?"
"Die Rampe ist zu schluepfrig zum Klettern."
"Kann man was gegen die Schluepfrigkeit tun?"
"Nein, die Rampe kommst du nie rauf.">
<LTABLE 3 "Wie verhandle ich mit dem Troll?"
"Trolle unterhalten sich gewoehnlich nicht gern. Man muss sie meist mit direkten Methoden angehen."
"So lange er bei Bewusstsein ist, kannst du nicht an ihm vorbei."
"Bring ihn mit dem Schwert um.">
<LTABLE 3 "Was mache ich mit der Axt?"
"Man kann es als Waffe benutzen, aber es ist eigentlich zu nichts gut."
"Dieser Platz ist absichtlich leer.">
<LTABLE 3
"Warum sind hier Farbkleckse?"
"Der Kuenstler war ein Ferkel.">>
<PLTABLE "Der Irrgarten"
<LTABLE 3 "Wie geht's durch den Irrgarten?"
"Es ist notwendig eine Karte von dem Irrgarten zu zeichnen."
"Alle zehn Richtungen werden benutzt: N, S, O, W, NO, NW, SO, SW, RAUF, RUNTER."
"Einige Durchgaenge fuehren zu demselben Zimmer zurueck."
"Zimmer koennen dadurch markiert werden, dass man Dinge fallen laesst. (Der Dieb aber kann ein Problem sein)."
"Es gibt 22 Zimmer westlich von dem Trollzimmer.">
<LTABLE 3 "Wie durch den Irrgarten?"
"Von dem Trollzimmer zu dem Gitterzimmer:"
"W. W. W. RAUF. SW. RAUF. RUNTER. NO"
"Von dem Gitterzimmer zu dem Trollzimmer:"
"SW. RUNTER. O. N. RUNTER. N. N. N. O"
"Von dem Trollzimmer zu dem Zyklopenzimmer:"
"W. W. W. U. SW. E. S. SE."
"Von dem Zyklopenzimmer zu dem Trollzimmer:"
"NW. S. W. RUNTER. N. N. N. O"
"Von dem Gitterzimmer zu dem Zyklopenzimmer:"
"SW. RUNTER. O. N. O. S. SO"
"Von dem Zyklopenzimmer zu dem Gitterzimmer:"
"NW. S. W. RAUF. RUNTER. NO">
<LTABLE 3 "Wozu ist das rostige Messer?"
"Wenn du dein Schwert gehabt haettest, als du es genommen hast, haette das flackernde blendende Licht als Warnung gedient."
"Versuche das Messer zu werfen oder jemanden damit anzugreifen.">
<LTABLE 3 "Wozu ist ein Skelett gut?"
"Lasse den Toten ihren Frieden."
"Dieser Platz ist absichtlich frei gelassen worden.">
<LTABLE 3 "Brauch ich die kaputte Leuchte?"
"Wenn du denkst, dass sie nuetzlich ist, da gibt es die Bruecke, die dich vielleicht interessiert.">
<LTABLE 3 "Wie komm ich am Zyklop vorbei?"
"Kaempfen ist nicht immer die Antwort."
"Es gibt zwei Loesungen."
"Erst die erste Loesung:"
"Was passiert, wenn du herumhaengst oder dem Zyklop etwas gibst?"
"Er ist hungrig, nicht wahr?"
"Gib ihm das Brot und das Wasser.">>
<PLTABLE "Die Rundzimmergegend"
<LTABLE 3 "Wie bekomme ich das Platin?"
"Da gibt es eigentlich zwei Loesungen."
"Was macht das laute Tosen?"
"Gibt es eine Moeglichkeit den Fluss des Wassers zu kontrollieren?"
"Loese das Raetsel des Dammes."
"Hat das Oeffnen oder Schliessen der Schleusentore irgendwelchen Einfluss auf den Unterlauf des Flusses."
"Oeffne die Schleusentore."
"Warte bis das Reservoir leer ist, dann schliesse die Tore."
"Benutze die Ruhe im lauten Zimmer, waehrend sich das Reservoir anfuellt."
"Hier ist die zweite Loesung."
"Die Loesung, die das laute Zimmer betrifft, benoetigt keine Objekte aus dem Spiel oder auch irgendwelche Auskunft ueber das uebrige Spiel."
"Die Loesung hat etwas mit der Akustik in diesem Raum zu tun."
"Was passiert, wenn du etwas... etwas...etwas tippst?"
"Tippe ECHO.">
<LTABLE 3 "Wie bring ich den Rock um?"
"Wie dumm!"
"Der Ausdruck \"lebender Rock\" ist metaphorisch und sollte nicht woertlich genommen werden.">
<LTABLE 3 "Was Besonderes am Spiegel?"
"Ihn zerschlagen ist nicht die beste Idee."
"Hineingucken kann Spass machen."
"Hast du jemals versucht ihn zu beruehren oder ihn zu reiben?"
"Es gibt zwei Spiegelzimmer."
"Wenn man einen davon in einem Zimmer anruehrt, wird man automatisch ins andere Zimmer versetzt.">
<LTABLE 3 "Wie komme ich in den Hades?"
"Du musst die boesen Geister austreiben."
"Hier ein Tip: schlage die Seite im schwarzen Buch um."
"Man benoetigt die Glocke, das Buch und Kerzen."
"Laeute die Glocke, stecke die Kerzen an und lies das schwarze Buch."
"Die Reihenfolge in dieser feierlichen Handlung ist sehr wichtig."
"Auch musst du die Kerzen in der Hand halten, wenn du sie ansteckst."
"Geschwindigkeit ist in diesem Fall auch wichtig,--verschwende auch nicht mehr Zeit, als unbedingt zwischen den Handlungen notwendig ist.">
<LTABLE 3 "Geht es runter vom Domzimmer?"
"Ja."
"Du musst frueher mal das notwendige Hilfsmittel gesehen haben."
"Man findet es im Speicher."
"Binde das Seil ans Gelaender.">
<LTABLE 3 "Geht es rauf vom Fackelzimmer?"
"Nein.">
<LTABLE 3 "Wie geht's weg vom Tempel?"
"Du wirst das Seil nie erreichen."
"Du kannst vom Altarende aus nach unten gehen, aber du brauchst \Gottes Hilfe\ um den Sarg durch das Loch nach unten zu bekommen."
"Der Altar hat magische Kraefte."
"Was tut man gewoehnlich vor einem Altar?"
"Versuch's doch mal mit Beten.">>
<PLTABLE "Die Dammgegend"
<LTABLE 3
"Wie sprenge ich den Damm?"
"Was fuer eine Idee!"
"Hier ist absichtlich Platz frei gelassen.">
<LTABLE 3 "Wie funktioniert die Kontrolltafel?"
"Du kannst die Schraube drehen."
"Du brauchst einen Schraubenschluessel."
"Du musst die Schalttafel aktivieren. (Gruene Blase leuchtet auf.)">
<LTABLE 3 "Fuer was ist die gruene Blase?"
"Sie zeigt an, dass die Schalttafel aktiviert ist."
"Benutze die Knoepfe in dem Wartungsraum .">
<LTABLE 3 "Was tue ich mit der Tube?"
"Lies die Tube."
"Die Zaehne damit putzen macht wirklich keinen Sinn."
"Zum Oelen der Schraube ist es auch nicht gedacht."
"Schwarze Schmiere wie diese, ist gut zum Reparieren von Lecks in Wasserroehren und Booten.">
<LTABLE 3 "Wozu ist der Schraubenzieher?"
"Wenn es an der Zeit ist, wirst du es wissen.">
<LTABLE 3 "Wozu Wartungsraumknoepfe?"
"Probier sie alle doch mal. Das sollte dir helfen das rauszufinden."
"Der blaue Knopf kann eine Wasserroehre platzen lassen."
"Der rote Knopf schaltet die Lichter ein und aus."
"Der gelbe Knopf aktiviert die Kontrolltafel am Damm(die gruene Blase leuchtet jetzt auf.)"
"Die braune Blase legt die Kontrolltafel lahm.">
<LTABLE 3 "Kann ich das Leck dichten?"
"Ja, aber nicht mit deinem Finger."
"Gibt es nicht irendwelche Schmiere, die man benutzen kann?"
"Benutze die Schmiere in der Tube.">
<LTABLE 3 "Wozu ist der Haufen Plastik?"
"Wofuer ist das Ventil?"
"Hast du mal versucht hineinzublasen?"
"Du brauchst die Luftpumpe, die noerdlich vom Reservoir ist."
"Loese das verDAMMte Problem, oder werd endlich aus dem Spiegel schlau.">>
<PLTABLE "Der Fluss"
<LTABLE 3 "Kann man ueber den Fluss?"
"Nicht ohne Boot.">
<LTABLE 3 "Was besaenftigt den Flussgott?"
"Was hast du versucht, in den Fluss zu werfen?"
"Es gibt keinen Flussgott. Was jemals reingeworfen wird, ist fuer immer verloren.">
<LTABLE 3 "Kann ich zurueck ueber den Fluss?"
"Wenn du vom sandigen Strand abstoesst, kannst du den Fluss westlich von den Weissen Klippen Sued ueberqueren."
"Es ist auch moeglich den Regenbogen zu ueberqueren.">
<LTABLE 3 "Wie funktioniert das Boot?"
"Lese die Anweisungen."
"Du kannst sagen: STEIG INS, STEIG AUS, STOSSEN AB, und LANDEN (oder eine Richtung gegen einen Landeplatz angeben.). Du kannst dich auch von der Stroemung tragen lassen.">
<LTABLE 3 "Ich habe eine Bootpanne!"
"Spitze Gegenstaende koennen ein Plastikboot kaputt machen. Man sollte sie nicht an Bord nehmen. Man sollte sie in das Boot tun, bevor man einsteigt, oder man solllte sie vorher in einem Behaelter haben, wie zum Beispiel dem braunen Sack.">
<LTABLE 3 "Wie komme ich ueber die Faelle?"
"Bleib im Boot und warte."
"Na ja, was hast du erwartet?"
"Ich sehe hier keinerlei Intelligenz.">
<LTABLE 3 "Hat der Regenbogen Bedeutung?"
"Du kannst ihn ueberqueren und den goldenen Topf bekommen."
"Du schlaegst nicht dreimal die Hacken zusammen, waehrend du ausrufst:\"Heimat, suesse Heimat.\""
"Die Beschreibung von einem der Schaetze, und das Resultat der richtigen Benutzung davon, sollten versteckte Tips sein."
"Erhebe das Zepter oder winke damit, waehrend du am Ende des Regenbogen stehst.">
<LTABLE 3 "Kann ich durch die Grottenritze?"
"\"Die ist zu eng fuer die meisten Insekten.\""
"Das geht nicht.">
<LTABLE 3 "Wie werde ich ein Insekt?"
"Spinne einen Kokon."
"Eine laecherliche Aufgabe.">>
<PLTABLE "Die Kohlengrube Gegend."
<LTABLE 3 "Was ist mit der Fledermaus?"
"Es ist eine Vampirfledermaus."
"Hast du je einen Greuelfilm gesehen?"
"Benutze den Knoblauch.">
<LTABLE 3 "Wie am Stinkzimmer vorbei?"
"Wenn die Batterie von deiner Leuchte kaputt ist, vergiss es.">
<LTABLE 3 "Die beste Kohlengrubenroute?"
"Vom Gaszimmer zur Spitze der Leiter:"
"O. NO. SO. SW. RUNTER"
"Von der Spitze der Leiter zum Gaszimmer:"
"RUNTER. N. O. S. N">
<LTABLE 3 "Ist der Korb nuetzlich?"
"Alles in Zork ist nuetzlich.">
<LTABLE 3 "Wie durch den engen Durchgang?"
"\"Du passt nicht durch diesen Durchgang mit der Last.\""
"Hast du versucht,alles fallen zu lassen?">
<LTABLE 3 "Eine Lichtquelle fuers zugige Zimmer?"
"Streichhoelzer."
"Na ja, keiner hat gesagt, dass die in einem Zug angehen. Du kannst keine Lichtquelle reintragen. Es gibt eine andere Moeglichkeit."
"Hast du dir mal ueberlegt wohin der Schacht mit dem Korb gefuehrt hat?"
"Dinge, wie z.B. Lichtquellen kann man in den Korb tun. Der Korb kann erhoeht und gesenkt werden.">
<LTABLE 3 "Wozu ist das Bauholz?"
"Es macht den Raum interessanter und verwirrt den Abenteurer.">
<LTABLE 3 "Wie funktioniert die Maschine?"
"Die Schalterbeschreibung sollte dich an etwas erinnern."
"Versuch mal was reinzutun und die Maschine mit dem Schraubenzieher anzustellen. Hast du einen Duden zur Hand?"
"Aus Kohle kann man einen Diamanten machen.">
<LTABLE 3 "Wozu ist die Kohle gut?"
"Es ist eine Quelle fuer Kohlenstoff."
"Einer der wertvollsten Steine ist aus Kohlenstoff gemacht."
"Diamanten sind aus reinem Kohlenstoff in einer Kristallform. Sie werden durch enorme Hitze und durch Druck erzeugt.">
<LTABLE 3 "Wozu ist das Gas gut?"
"Es hat eine tolle Wirkung, wenn man bornierteAbenteurer, die mit offenen Flammen in Kohlengruben rumlatschen, in die Luft blasen will.">>
<PLTABLE "Das Land hinter der Spalte."
<LTABLE 3 "Wie ueberquere ich die Spalte?"
"Es gibt keine Bruecke.">
<LTABLE 3 "Wie baue ich eine Bruecke?"
"Eine interessante Idee..."
"Das Bauholz koennte nuetzlich sein."
"Aber, vielleicht auch nicht?."
"Ein akzeptabler Versuch, aber vielleicht bringt er dir nichts.">>
<PLTABLE "Freie Fragen."
<LTABLE 3 "Warum leuchtet das Schwert auf?"
"Elfenschwerter haben Zauberkraft und leuchten blau auf, wenn in der Naehe Gefahren drohen (besonders gefaehrliche Personen).">
<LTABLE 3 "Was mach ich mit dem Dieb?"
"Einschaetzung ist der bessere Teil von Heldenmut."
"Du kannst fast immer einer Gegenueberstellung ausweichen, indem du in die andere Richtung gehst. Obwohl du beraubt werden koenntest
wirst du wenigstens nicht umgebracht.">
<LTABLE 3 "Wieviele Gesamtpunkte gibt's?"
"350 jedesmal, wenn du AUFH%OREN, NEUBEGINN ODER PUNKTZAHL sagst, das ist angegeben.">
<LTABLE 3 "Wie komm ich aus der Hoehle?"
"Es gibt da sechs Ausgaenge."
"Der Kamin erlaubt dir ausser deiner Lampe, jedesmal ein Objekt zu transportieren."
"Wahrscheinlich ist der einfachste Ausgang(rein von der Anlage her) durch das Gitter. Du triffst wahrscheinlich auf die anderen drei Ausgaenge, waehrend du einige der schwierigeren Probleme loest, aber es ist nicht notwendig, mehr als einen zu finden, um das Spiel zu beenden.">
<LTABLE 3 "Was bedeuten die Gravierungen?"
"Der superweise Kritiker I.Q. Rundkopf hat eine zehnbaendige Studie ueber die Gravierungen der Ur-Zorker geschrieben. Doch machen wir eine lange Geschichte kurz, er erfasste klar, dass die Zorkers sehr eigentuemliche Kaeuze waren.">
<LTABLE 3 "Wie bring ich den Dieb um?"
"Der Dieb ist gerissen und gefaehrlich als Gegner, beschlagen in den Kampfarten. Anfaenger Zorker tun sich am Besten, indem sie in vermeiden."
"Es besteht die Moeglichkeit ihn fuer einen Zug lang abzulenken, indem man ihm etwas Wertvolles gibt."
"Das gefaehrliche Messer ist eine unter Umstaenden wirksamere Waffe, die man gegen ihn benutzen koennte.">
<LTABLE 3 "Wie kann ich meine Leuchte aufladen?"
"Wie kommst du darauf?"
"Es ist immer am besten, seine Mittel zu schonen."
"Du kannst ihre Lebensdauer verlaengern, indem du sie ausschaltest, wenn immer du kannst und andere Lichtquellen benutzen.">
<LTABLE 3 "Was passiert, wenn du stirbst?"
"Du koenntest im Wald erscheinen von all deinem Besitz umgeben (Wervolles unterirdisch, Wertloses ueberirdisch.)"
"Du koenntest als Geist umhergeistern, bis du eine Form deiner Auferstehung gefunden hast."
"ZORK I hat die gleichen Regeln wie Schlagball. Drei Versuche, dann bist du aus dem Spiel."
"Du wirst zu einem Geist, wenn du an einem gewissen Ort angekommen bist, der vor dem eigentlichen Tod steht."
"Dieser Ort ist der Altar in dem Suedtempel."
"Versuche am Altar zu beten.">
<LTABLE 3 "Wer ist \"der andere Bewohner\"?"
"\"Der von der grossen Tuete.\""
"Der Dieb, natuerlich.">
<LTABLE 3 "Wozu ist TAG, SEEMAN gut?"
"Willst du das wirklich wissen?"
"Bist du ganz sicher?"
"Um von dem schwarzen Buch zu zitieren: \"Oh Ihr, die Ihr zueinander sagt: %>Tag, Seeman%<. Seid Ihr Euch der Gr%o%se Eurer S%unden vor den G%ottern bewu%st? ... Wahrhaftig Ihr sollt b%ussen f%ur eure Schlauheit.\""
"Nirgends. (Man hat dich gewarnt.)">>
<PLTABLE "Freie Fragen"
<LTABLE 3 "Dinge scheinen hier oder nicht hier."
"Der Dieb ist dauernd irgendwo anders."
"Es ist sehr moeglich, dass er Wertvolles nimmt(ausser dem goldenen Sarg), den du gesehen hast. Es ist wesentlich weniger moeglich, das er etwas Nichtwertvolles nimmt (natuerlich nur, wenn du es gesehen hast), manchmal laesst er es auch spaeter fallen.">
<LTABLE 3 "Wo sind die gestohlenen Schaetze?"
"Waehrend der Dieb herumwandert, stielt er Dinge, die er in seinen Sack stopft. Wenn er in seinem Schatzzimmer ankommt, deponiert er die Werte, die er angesammelt hat."
"Das Schatzzimmer wird von dem Zyklop bewacht.">
<LTABLE 3 "Was mach ich mit dem Stilett?"
"Gratuliere! Das Stilett zu bekommen passiert selten. Wenn du es vor dem Dieb verbergen kannst, dann wird er dich nicht angreifen."
"Es ist ja nur eine Waffe, sonst nichts.">
<LTABLE 3 "Wer ist der duerre,hungrige Typ?"
"Der Dieb.">
<LTABLE 3 "Wo brauche ich die Schaufel?"
"Sie graebt nur in loser Erde."
"Probier sie im Sand."
"Der Sand in der sandigen Hoehle ist vielversprechend.">
<LTABLE 3 "Der beste Selbstbildniswiedergeber?"
"Von was sprichst du eigentlich?"
"Dieser Platz ist absichtlich offen gelassen.">
<LTABLE 3 "In den eigentuemlichen Durchgang?"
"Das ist nicht notwendig, um das Spiel zu beenden."
"Schau die andere Zyklopantwort an.">
<LTABLE 3 "Wie in das Steingrab?"
"Wenn die Zeit reif ist, weisst du es."
"Wenn du alle 350 Punkte erreicht hast, dann kannst du ins Steingrab eintreten.">
<LTABLE 3 "Wie man Punkte macht. (Bitte nur benutzen, wenn alles verloren scheint.)"
"Du bekommst 10 Punkte, wenn du ins Haus gelangst, 25 fuer den Keller, 5 als Bonus, wenn du am Troll vorbei kommst, 13 fuer den Eintritt in das zugige Zimmer,25 fuer das Erreichen des Schatzzimmers."
"Diese Punkete zusammen mit all den Schatzpunkten kommen auf 350. Wenn du all diese 350 Punkte hast, wird der zwanzigste Schatz im Trophaenschrank erscheinen-- eine Karte, die (indirekt) zu 400 weiteren Punkten (ZORK II) fuehrt.">
<LTABLE 3 "Schaetze: Ihre Werte, wo sie sind."
"(Nur benutzen, wenn alles verloren scheint.)"
"(Der Schatz wird aufgefuehrt, gefolgt von den Punkten, die man bekommt, wenn man ihn nimmt, die Punkte dafuer, dass man ihn in den Trophaeenkasten tut, dann der Platz, wo er gefunden wird.)"
"Juwelenbedecktes Ei - 5 - 5 - im Nest im Baum"
"Aufziebarer Kanarienvogel 6 - 4 - im Ei"
"Schoenes Gemaelde - 4 - 6 - Kunstgalerie"
"Platinbarren - 10 - 5 - im lauten Zimmer"
"Elfenbeinfackel - 14 - 6 - Fackelzimmer"
"Goldener Sarg - 10 - 15 - Aegyptisches Zimmer"
"Egyptian sceptre - 4 - 6 - in the coffin"
"Koffer mit Juwelen - 15 - 5 - Reservoir"
"Kristaldreizack - 4 - 11 - Atlantiszimmer"
"Jadefigure - 5 - 5 - Fledermauszimmer"
"Saphirarmbanch - 5 - 5 - Gaszimmer"
"Riesendiamant - 10 - 10 - du machst ihn"
"Sack mit Muenzen - 10 - 5 - im Irrgarten."
"Kristallschaedel - 10 - 10 - im Land der lebendigen Toten."
"juwelenbesetzer Skarabaeus - 5 - 5 - in der sandigen Hoehle vergraben"
"grosser Smaragd - 5 - 10 - in der Boje"
"Silberkelch - 10 - 5 - Schatzzimmer"
"Goldener Topf - 10 - 10 - am Ende des Regenbogens"
"Messingflitterkugel - 1 - 1 - der Singvogel hat sie">
<LTABLE 3 "Zum Spass"
"(Lies nur, nachdem du das Spiel beendet hast.)"
"Hast du je:"
"...das Gitter geoeffnet, waehrend die Blaetter noch drauf lagen?"
"...ZORK I so richtig verflucht?"
"...mit dem Zepter gewinkt, als du auf dem Regenbogen gestanden hast?"
"...etwas Boeses mit den Leichen im Hades ausprobiert?"
"...das schwarze Buch verbrannt?"
"...das Gemaelde kaputt gemacht?"
"...die Kerzen mit der Fackel angezuendet?"
"...das Streichholzschaechtelchen gelesen?"
"...versucht dich selber(oder den Dieb, den Troll oder den Zyklop)zu verulken?"
"...versucht Dinge mit dem Messer oder dem Schwert zu zerschneiden?"
"...Wasser auf etwas Brennendes geschuettet?"
"...gesagt WARTE oder SPIELSTAND, als du tot warst (als ein Geist)?">>>>
;<"Loesung mit Goldsngalten gib's auf"
"Warum ist der Raum wohl zugig?"
"Hast du dir mal ueberlegt, runterrunter drohen"
"Vorsicht ist die Mutter der Porzellankiste."
"Sobald du einen Ausgang findest, der nicht der Kamin ist, dann wird sich die Falltuere nicht hinter dir schliessen. allen h"
"Waehrend du Punkte sammelst, wird du zu einem besseren Gegner." "mit nn hauszuhalten., ist so fairn ,besuchs hastInsassemitMehr f unterwegs. wahrscheinlich wahrscheinlichsund"
"Du kannst den Inhalt des Sackes bekommen, indem du ihn in einem Gefecht besiegst."
"irgstzu wirklichendu feststeckst. du feststeckst.wurde"
"Aegyptisches Zepter -4-6 - im Sarg"
"Topf mit Goldversucht zu en? beschaedigt hereinzulegen?">
<ROUTINE INIT-HINT-SCREEN ("OPTIONAL" (THIRD T) "AUX" WID LEN)
<SET WID <GETB 0 33>>
<SPLIT 0>
<CLEAR -1>
<SPLIT <- <GETB 0 32> 1>>
<SCREEN ,S-WINDOW>
<CURSET 1 1>
<INVERSE-LINE>
<CURSET 2 1>
<INVERSE-LINE>
<CURSET 3 1>
<INVERSE-LINE>
<CENTER-LINE 1 "INVISICLUES (tm)" 16>
<LEFT-LINE 2 " N = next">
<RIGHT-LINE 2 "P = previous" %<LENGTH "P = previous">>
<COND (<T? .THIRD>
<LEFT-LINE 3 " RETURN = See hint">
<RIGHT-LINE 3 "Q = Resume story" %<LENGTH "Q = Resume story">>)>>
;<CONSTANT HINT-COUNT 0>
;<CONSTANT HINT-QUESTION 1>
;<CONSTANT HINT-SEEN 2>
;<CONSTANT HINT-OFF 3>
;<CONSTANT HINT-HINTS 4>
;<DEFINE NEW-HINT (NAME Q "ARGS" HINTS)
<SETG .NAME 1>
<COND (<G? <LENGTH .Q> 39>
<ERROR QUESTION-TOO-LONG!-ERRORS NEW-HINT .Q>)>
<LTABLE .Q
4
.NAME
!.HINTS>>
;<GLOBAL HINT-FLAG-TBL
<TABLE 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1>>
<ROUTINE CENTER-LINE (LN STR "OPTIONAL" (LEN 0) (INV T))
<COND (<ZERO? .LEN>
<DIROUT ,D-TABLE-ON ,DIROUT-TBL ;,SLINE>
<TELL .STR>
<DIROUT ,D-TABLE-OFF>
<SET LEN <GET ,DIROUT-TBL ;,SLINE 0>>)>
<CURSET .LN </ <- <LOWCORE SCRH> .LEN> 2>>
<COND (.INV
<HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV
<HLIGHT ,H-NORMAL>)>>
<ROUTINE LEFT-LINE (LN STR "OPTIONAL" (INV T))
<CURSET .LN 1>
<COND (.INV
<HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV
<HLIGHT ,H-NORMAL>)>>
<ROUTINE RIGHT-LINE (LN STR "OPTIONAL" (LEN 0) (INV T))
<COND (<ZERO? .LEN>
<DIROUT 3 ,DIROUT-TBL ;,SLINE>
<TELL .STR>
<DIROUT -3>
<SET LEN <GET ,DIROUT-TBL ;,SLINE 0>>)>
<CURSET .LN <- <LOWCORE SCRH> .LEN>>
<COND (.INV
<HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV
<HLIGHT ,H-NORMAL>)>>
<GLOBAL DIROUT-TBL
<TABLE
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>>

19
loop.zabstr Normal file
View File

@ -0,0 +1,19 @@
<CONSTANT SERIAL 0>
<GLOBAL PLAYER <>>
<GLOBAL P-WON <>>
<CONSTANT M-FATAL 2>
<CONSTANT M-HANDLED 1>
<CONSTANT M-NOT-HANDLED <>>
<CONSTANT M-OBJECT <>>
<CONSTANT M-BEG 1>
<CONSTANT M-END 6>
<CONSTANT M-ENTER 2>
<CONSTANT M-LOOK 3>
<CONSTANT M-FLASH 4>
<CONSTANT M-OBJDESC 5>
<DEFINE-ROUTINE MAIN-LOOP>
<DEFINE-ROUTINE MAIN-LOOP-1>
<GLOBAL P-MULT <>>
<GLOBAL P-NOT-HERE 0>
<DEFINE-ROUTINE PERFORM>

286
loop.zap Normal file
View File

@ -0,0 +1,286 @@
.FUNCT MAIN-LOOP:ANY:0:0,TRASH
?PRG1: CALL1 MAIN-LOOP-1 >TRASH
JUMP ?PRG1
.FUNCT MAIN-LOOP-1:ANY:0:0,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,O,I
SET 'CNT,0
SET 'OBJ,FALSE-VALUE
SET 'PTBL,TRUE-VALUE
CALL1 PARSER >P-WON
ZERO? P-WON /?CCL3
GET P-PRSI,P-MATCHLEN >ICNT
GET P-PRSO,P-MATCHLEN >OCNT
ZERO? P-IT-OBJECT /?PRD7
CALL2 ACCESSIBLE?,P-IT-OBJECT
ZERO? STACK \?CCL5
?PRD7: ZERO? P-HIM-OBJECT /?PRD10
CALL2 ACCESSIBLE?,P-HIM-OBJECT
ZERO? STACK \?CCL5
?PRD10: ZERO? P-HER-OBJECT /?CND4
CALL2 ACCESSIBLE?,P-HER-OBJECT
ZERO? STACK /?CND4
?CCL5: SET 'TMP,FALSE-VALUE
?PRG15: IGRTR? 'CNT,ICNT /?REP16
GET P-PRSI,CNT
EQUAL? STACK,IT \?CCL22
ZERO? P-IT-OBJECT /?CCL22
PUT P-PRSI,CNT,P-IT-OBJECT
SET 'TMP,TRUE-VALUE
JUMP ?REP16
?CCL22: GET P-PRSI,CNT
EQUAL? STACK,HIM \?CCL26
ZERO? P-HIM-OBJECT /?CCL26
PUT P-PRSI,CNT,P-HIM-OBJECT
SET 'TMP,TRUE-VALUE
JUMP ?REP16
?CCL26: GET P-PRSI,CNT
EQUAL? STACK,HER \?PRG15
ZERO? P-HER-OBJECT /?PRG15
PUT P-PRSI,CNT,P-HER-OBJECT
SET 'TMP,TRUE-VALUE
?REP16: ZERO? TMP \?CND32
SET 'CNT,0
?PRG34: IGRTR? 'CNT,OCNT /?CND32
GET P-PRSI,CNT
EQUAL? STACK,IT \?CCL41
ZERO? P-IT-OBJECT /?CCL41
PUT P-PRSI,CNT,P-IT-OBJECT
JUMP ?CND32
?CCL41: GET P-PRSI,CNT
EQUAL? STACK,HIM \?CCL45
ZERO? P-HIM-OBJECT /?CCL45
PUT P-PRSI,CNT,P-HIM-OBJECT
JUMP ?CND32
?CCL45: GET P-PRSI,CNT
EQUAL? STACK,HER \?PRG34
ZERO? P-HER-OBJECT /?PRG34
PUT P-PRSI,CNT,P-HER-OBJECT
?CND32: SET 'CNT,0
?CND4: ZERO? OCNT \?CCL53
SET 'NUM,OCNT
JUMP ?CND51
?CCL53: GRTR? OCNT,1 \?CCL55
SET 'TBL,P-PRSO
ZERO? ICNT \?CCL58
SET 'OBJ,FALSE-VALUE
JUMP ?CND56
?CCL58: GET P-PRSI,1 >OBJ
?CND56: SET 'NUM,OCNT
JUMP ?CND51
?CCL55: GRTR? ICNT,1 \?CCL60
SET 'PTBL,FALSE-VALUE
SET 'TBL,P-PRSI
GET P-PRSO,1 >OBJ
SET 'NUM,ICNT
JUMP ?CND51
?CCL60: SET 'NUM,1
?CND51: ZERO? OBJ \?CND61
EQUAL? ICNT,1 \?CND61
GET P-PRSI,1 >OBJ
?CND61: EQUAL? PRSA,V?WALK \?CCL67
ZERO? P-WALK-DIR /?CCL67
CALL PERFORM,PRSA,PRSO >V
JUMP ?CND65
?CCL67: ZERO? NUM \?CCL71
GETB P-SYNTAX,P-SBITS
BAND STACK,P-SONUMS
ZERO? STACK \?CCL74
CALL2 PERFORM,PRSA >V
SET 'PRSO,FALSE-VALUE
JUMP ?CND65
?CCL74: ZERO? LIT \?CCL76
PRINTI "Es ist zu dunkel, um etwas zu sehen."
CRLF
JUMP ?CND65
?CCL76: ICALL1 REFERRING
SET 'V,FALSE-VALUE
JUMP ?CND65
?CCL71: SET 'P-NOT-HERE,0
SET 'P-MULT,FALSE-VALUE
GRTR? NUM,1 \?CND77
SET 'P-MULT,TRUE-VALUE
?CND77: SET 'TMP,FALSE-VALUE
?PRG79: IGRTR? 'CNT,NUM \?CCL83
GRTR? P-NOT-HERE,0 \?CCL86
PRINTI "The "
EQUAL? P-NOT-HERE,1 \?CCL89
PRINTI "Das"
JUMP ?CND87
?CCL89: PRINTI "Die"
?CND87: EQUAL? P-NOT-HERE,NUM /?CND90
PRINTI " andere "
?CND90: PRINTI "Ding"
EQUAL? P-NOT-HERE,1 /?CND92
PRINTC 101
?CND92: PRINTI " von dem du sprichst, "
EQUAL? P-NOT-HERE,1 /?CCL96
PRINTI "sind"
JUMP ?CND94
?CCL96: PRINTI "ist"
?CND94: PRINTI " nicht hier."
CRLF
JUMP ?CND65
?CCL86: ZERO? TMP \?CND65
PRINTI "Es gibt hier nichts, das man wegnehmen kann."
CRLF
JUMP ?CND65
?CCL83: ZERO? PTBL /?CCL100
GET P-PRSO,CNT >OBJ1
JUMP ?CND98
?CCL100: GET P-PRSI,CNT >OBJ1
?CND98: ZERO? PTBL /?CCL103
SET 'O,OBJ1
JUMP ?CND101
?CCL103: SET 'O,OBJ
?CND101: ZERO? PTBL /?CCL106
SET 'I,OBJ
JUMP ?CND104
?CCL106: SET 'I,OBJ1
?CND104: GRTR? NUM,1 /?CCL108
GET P-ITBL,P-NC1
GET STACK,0
EQUAL? STACK,W?ALLES \?CND107
?CCL108: LOC WINNER >V
EQUAL? O,NOT-HERE-OBJECT \?CCL113
INC 'P-NOT-HERE
JUMP ?PRG79
?CCL113: EQUAL? PRSA,V?TAKE \?CCL115
ZERO? I /?CCL115
GET P-ITBL,P-NC1
GET STACK,0
EQUAL? STACK,W?ALLES \?CCL115
IN? O,I \?PRG79
?CCL115: EQUAL? P-GETFLAGS,P-ALL \?CCL121
EQUAL? PRSA,V?TAKE \?CCL121
LOC O
EQUAL? STACK,WINNER,HERE,V /?PRD126
LOC O
EQUAL? STACK,I /?PRD126
LOC O
FSET? STACK,SURFACEBIT \?PRG79
?PRD126: FSET? O,TAKEBIT /?CCL121
FSET? O,TRYTAKEBIT \?PRG79
?CCL121: EQUAL? OBJ1,IT \?CCL134
ICALL DPRINT,P-IT-OBJECT,FALSE-VALUE
JUMP ?CND132
?CCL134: EQUAL? OBJ1,HIM \?CCL136
ICALL DPRINT,P-HIM-OBJECT,FALSE-VALUE
JUMP ?CND132
?CCL136: EQUAL? OBJ1,HER \?CCL138
ICALL DPRINT,P-HER-OBJECT,FALSE-VALUE
JUMP ?CND132
?CCL138: ICALL DPRINT,OBJ1,FALSE-VALUE
?CND132: PRINTI ": "
?CND107: SET 'PRSO,O
SET 'PRSI,I
SET 'TMP,TRUE-VALUE
CALL PERFORM,PRSA,PRSO,PRSI >V
EQUAL? V,M-FATAL \?PRG79
?CND65: EQUAL? V,M-FATAL /?CND141
LOC WINNER
GETP STACK,P?ACTION
CALL STACK,M-END >V
?CND141: EQUAL? V,M-FATAL \?CND1
SET 'P-CONT,FALSE-VALUE
JUMP ?CND1
?CCL3: SET 'P-CONT,FALSE-VALUE
?CND1: ICALL1 NULL-F
ZERO? P-WON /FALSE
EQUAL? PRSA,V?SUPER-BRIEF,V?BRIEF,V?TELL /TRUE
EQUAL? PRSA,V?HINT,V?SAVE,V?VERBOSE /TRUE
EQUAL? PRSA,V?QUIT,V?VERSION,V?HINTS-OFF /TRUE
EQUAL? PRSA,V?SCRIPT,V?SCORE,V?RESTART /TRUE
EQUAL? PRSA,V?RESTORE,V?UNSCRIPT /TRUE
CALL1 CLOCKER >V
RETURN V
.FUNCT PERFORM:ANY:1:3,A,O,I,V,OA,OO,OI
SET 'OA,PRSA
SET 'OO,PRSO
SET 'OI,PRSI
ZERO? P-WALK-DIR \?CND1
EQUAL? IT,I,O \?CND1
ZERO? P-IT-OBJECT /?CTR6
CALL2 ACCESSIBLE?,P-IT-OBJECT
ZERO? STACK \?CCL7
?CTR6: ICALL1 REFERRING
RETURN 2
?CCL7: EQUAL? IT,O \?CCL13
SET 'O,P-IT-OBJECT
JUMP ?CND1
?CCL13: EQUAL? IT,I \?CND1
SET 'I,P-IT-OBJECT
?CND1: ZERO? P-WALK-DIR \?CND15
EQUAL? HIM,I,O \?CND15
ZERO? P-HIM-OBJECT /?CTR20
CALL2 ACCESSIBLE?,P-HIM-OBJECT
ZERO? STACK \?CCL21
?CTR20: ICALL1 REFERRING
RETURN 2
?CCL21: EQUAL? HIM,O \?CCL27
SET 'O,P-HIM-OBJECT
JUMP ?CND15
?CCL27: EQUAL? HIM,I \?CND15
SET 'I,P-HIM-OBJECT
?CND15: ZERO? P-WALK-DIR \?CND29
EQUAL? HER,I,O \?CND29
ZERO? P-HER-OBJECT /?CTR34
CALL2 ACCESSIBLE?,P-HER-OBJECT
ZERO? STACK \?CCL35
?CTR34: ICALL1 REFERRING
RETURN 2
?CCL35: EQUAL? HER,O \?CCL41
SET 'O,P-HER-OBJECT
JUMP ?CND29
?CCL41: EQUAL? HER,I \?CND29
SET 'I,P-HER-OBJECT
?CND29: SET 'PRSA,A
SET 'PRSI,I
SET 'PRSO,O
EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CCL45
CALL1 NOT-HERE-OBJECT-F >V
ZERO? V \?CND43
?CCL45: SET 'O,PRSO
SET 'I,PRSI
ICALL2 THIS-IS-IT,PRSO
ICALL2 THIS-IS-IT,PRSI
GETP WINNER,P?ACTION
CALL STACK >V
ZERO? V \?CND43
LOC WINNER
GETP STACK,P?ACTION
CALL STACK,M-BEG >V
ZERO? V \?CND43
GET PREACTIONS,A
CALL STACK >V
ZERO? V \?CND43
ZERO? I /?CCL56
GETP I,P?ACTION
CALL STACK >V
ZERO? V \?CND43
?CCL56: ZERO? O /?CCL60
EQUAL? A,V?WALK /?CCL60
LOC O
ZERO? STACK /?CCL60
LOC O
GETP STACK,P?CONTFCN
CALL STACK >V
ZERO? V \?CND43
?CCL60: ZERO? O /?CCL66
EQUAL? A,V?WALK /?CCL66
GETP O,P?ACTION
CALL STACK >V
ZERO? V \?CND43
?CCL66: GET ACTIONS,A
CALL STACK >V
ZERO? V /?CND43
?CND43: SET 'PRSA,OA
SET 'PRSO,OO
SET 'PRSI,OI
RETURN V
.ENDI

403
loop.zil Normal file
View File

@ -0,0 +1,403 @@
"Generic MAIN file for
The ZORK Trilogy
started on 7/28/83 by MARC
-- GERMAN EDITION"
<CONSTANT SERIAL 0>
<GLOBAL PLAYER <>>
<GLOBAL P-WON <>>
<CONSTANT M-FATAL 2>
<CONSTANT M-HANDLED 1>
<CONSTANT M-NOT-HANDLED <>>
<CONSTANT M-OBJECT <>>
<CONSTANT M-BEG 1>
<CONSTANT M-END 6>
<CONSTANT M-ENTER 2>
<CONSTANT M-LOOK 3>
<CONSTANT M-FLASH 4>
<CONSTANT M-OBJDESC 5>
;"GO now lives in SPECIAL.ZIL"
<ROUTINE MAIN-LOOP ("AUX" TRASH)
<REPEAT ()
<SET TRASH <MAIN-LOOP-1>>>>
<ROUTINE MAIN-LOOP-1 ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP O I)
<SET CNT 0>
<SET OBJ <>>
<SET PTBL T>
<COND (<SETG P-WON <PARSER>>
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
<SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>
<COND (<OR <AND ,P-IT-OBJECT <ACCESSIBLE? ,P-IT-OBJECT>>
<AND ,P-HIM-OBJECT <ACCESSIBLE? ,P-HIM-OBJECT>>
<AND ,P-HER-OBJECT <ACCESSIBLE? ,P-HER-OBJECT>>>
<SET TMP <>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .ICNT>
<RETURN>)
(T
<COND (<AND <EQUAL? <GET ,P-PRSI .CNT> ,IT>
,P-IT-OBJECT>
<PUT ,P-PRSI .CNT ,P-IT-OBJECT>
<SET TMP T>
<RETURN>)
(<AND <EQUAL? <GET ,P-PRSI .CNT> ,HIM>
,P-HIM-OBJECT>
<PUT ,P-PRSI .CNT ,P-HIM-OBJECT>
<SET TMP T>
<RETURN>)
(<AND <EQUAL? <GET ,P-PRSI .CNT> ,HER>
,P-HER-OBJECT>
<PUT ,P-PRSI .CNT ,P-HER-OBJECT>
<SET TMP T>
<RETURN>)>)>>
<COND (<NOT .TMP>
<SET CNT 0>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .OCNT>
<RETURN>)
(T
<COND (<AND <EQUAL? <GET ,P-PRSI .CNT> ,IT>
,P-IT-OBJECT>
<PUT ,P-PRSI .CNT ,P-IT-OBJECT>
<RETURN>)
(<AND <EQUAL? <GET ,P-PRSI .CNT> ,HIM>
,P-HIM-OBJECT>
<PUT ,P-PRSI .CNT ,P-HIM-OBJECT>
<RETURN>)
(<AND <EQUAL? <GET ,P-PRSI .CNT> ,HER>
,P-HER-OBJECT>
<PUT ,P-PRSI .CNT ,P-HER-OBJECT>
<RETURN>)>)>>)>
<SET CNT 0>)>
<SET NUM
<COND (<0? .OCNT> .OCNT)
(<G? .OCNT 1>
<SET TBL ,P-PRSO>
<COND (<0? .ICNT> <SET OBJ <>>)
(T <SET OBJ <GET ,P-PRSI 1>>)>
.OCNT)
(<G? .ICNT 1>
<SET PTBL <>>
<SET TBL ,P-PRSI>
<SET OBJ <GET ,P-PRSO 1>>
.ICNT)
(T 1)>>
<COND (<AND <NOT .OBJ> <1? .ICNT>> <SET OBJ <GET ,P-PRSI 1>>)>
<COND (<AND <==? ,PRSA ,V?WALK>
<NOT <ZERO? ,P-WALK-DIR>>>
<SET V <PERFORM ,PRSA ,PRSO>>)
(<0? .NUM>
<COND (<0? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
<SET V <PERFORM ,PRSA>>
<SETG PRSO <>>)
(<NOT ,LIT>
<TELL "Es ist zu dunkel, um etwas zu sehen." CR>)
(T
<REFERRING>
<SET V <>>)>)
(T
<SETG P-NOT-HERE 0>
<SETG P-MULT <>>
<COND (<G? .NUM 1> <SETG P-MULT T>)>
<SET TMP <>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .NUM>
<COND (<G? ,P-NOT-HERE 0>
<TELL "The ">
;"Das andere Ding, von dem du sprichst, ist nicht hier."
<COND (<EQUAL? ,P-NOT-HERE 1>
<TELL "Das">)
(T
<TELL "Die">)>
<COND (<NOT <EQUAL? ,P-NOT-HERE .NUM>>
<TELL " andere ">)>
<TELL "Ding">
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
<TELL "e">)>
<TELL " von dem du sprichst, ">
<COND (<NOT <EQUAL? ,P-NOT-HERE 1>>
<TELL "sind">)
(T <TELL "ist">)>
<TELL " nicht hier." CR>)
(<NOT .TMP>
<TELL
"Es gibt hier nichts, das man wegnehmen kann." CR>)>
<RETURN>)
(T
<COND (.PTBL <SET OBJ1 <GET ,P-PRSO .CNT>>)
(T <SET OBJ1 <GET ,P-PRSI .CNT>>)>
<SET O <COND (.PTBL .OBJ1) (T .OBJ)>>
<SET I <COND (.PTBL .OBJ) (T .OBJ1)>>
;"multiple exceptions"
<COND (<OR <G? .NUM 1>
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALLES>>
<SET V <LOC ,WINNER>>
<COND (<EQUAL? .O ,NOT-HERE-OBJECT>
<SETG P-NOT-HERE <+ ,P-NOT-HERE 1>>
<AGAIN>)
(<AND <VERB? TAKE>
.I
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALLES>
<NOT <IN? .O .I>>>
<AGAIN>)
(<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
<VERB? TAKE>
<OR <AND <NOT <EQUAL? <LOC .O> ,WINNER ,HERE .V>>
<NOT <EQUAL? <LOC .O> .I>>
<NOT <FSET? <LOC .O> ,SURFACEBIT>>>
<NOT <OR <FSET? .O ,TAKEBIT>
<FSET? .O ,TRYTAKEBIT>>>>>
<AGAIN>)
(ELSE
<COND (<EQUAL? .OBJ1 ,IT>
<TELL D ,P-IT-OBJECT>)
(<EQUAL? .OBJ1 ,HIM>
<TELL D ,P-HIM-OBJECT>)
(<EQUAL? .OBJ1 ,HER>
<TELL D ,P-HER-OBJECT>)
(T
<TELL D .OBJ1>)>
<TELL ": ">)>)>
;"end multiple exceptions"
<SETG PRSO .O>
<SETG PRSI .I>
<SET TMP T>
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
<COND (<==? .V ,M-FATAL> <RETURN>)>)>>)>
<COND (<NOT <==? .V ,M-FATAL>>
;<COND (<==? <LOC ,WINNER> ,PRSO>
<SETG PRSO <>>)>
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
;<COND (<VERB? ;AGAIN ;"WALK -- why was this here?"
SAVE RESTORE ;SCORE ;VERSION ;WAIT> T)
(T
<SETG L-PRSA ,PRSA>
<SETG L-PRSO ,PRSO>
<SETG L-PRSI ,PRSI>)>
<COND (<==? .V ,M-FATAL> <SETG P-CONT <>>)>)
(T
<SETG P-CONT <>>)>
%<COND (<==? ,ZORK-NUMBER 3>
'<COND (<NOT ,CLEFT-QUEUED?>
<ENABLE <QUEUE I-CLEFT <+ 70 <RANDOM 70>>>>
<SETG CLEFT-QUEUED? T>)>)
(ELSE '<NULL-F>)>
<COND (,P-WON
<COND (<VERB? TELL BRIEF SUPER-BRIEF VERBOSE SAVE HINT HINTS-OFF
VERSION
QUIT RESTART SCORE SCRIPT UNSCRIPT RESTORE> T)
(T <SET V <CLOCKER>>)>)>>
<GLOBAL P-MULT <>>
<GLOBAL P-NOT-HERE 0>
%<COND (<GASSIGNED? PREDGEN>
'<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
;<COND (,DEBUG
<TELL "[Perform: ">
%<COND (<GASSIGNED? PREDGEN> '<TELL N .A>)
(T '<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>)>
<COND (<AND .O <NOT <==? .A ,V?WALK>>>
<TELL "/" D .O>)>
<COND (.I <TELL "/" D .I>)>
<TELL "]" CR>)>
<SET OA ,PRSA>
<SET OO ,PRSO>
<SET OI ,PRSI>
<COND (<AND <NOT ,P-WALK-DIR>
<EQUAL? ,IT .I .O>>
<COND (<OR <NOT ,P-IT-OBJECT>
<NOT <ACCESSIBLE? ,P-IT-OBJECT>>>
<REFERRING>
<RFATAL>)
(<EQUAL? ,IT .O>
<SET O ,P-IT-OBJECT>)
(<EQUAL? ,IT .I>
<SET I ,P-IT-OBJECT>)>)>
<COND (<AND <NOT ,P-WALK-DIR>
<EQUAL? ,HIM .I .O>>
<COND (<OR <NOT ,P-HIM-OBJECT>
<NOT <ACCESSIBLE? ,P-HIM-OBJECT>>>
<REFERRING>
<RFATAL>)
(<EQUAL? ,HIM .O>
<SET O ,P-HIM-OBJECT>)
(<EQUAL? ,HIM .I>
<SET I ,P-HIM-OBJECT>)>)>
<COND (<AND <NOT ,P-WALK-DIR>
<EQUAL? ,HER .I .O>>
<COND (<OR <NOT ,P-HER-OBJECT>
<NOT <ACCESSIBLE? ,P-HER-OBJECT>>>
<REFERRING>
<RFATAL>)
(<EQUAL? ,HER .O>
<SET O ,P-HER-OBJECT>)
(<EQUAL? ,HER .I>
<SET I ,P-HER-OBJECT>)>)>
;<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
;<COND (<==? .I ,IT> <SET I ,P-IT-OBJECT>)>
;<COND (<AND ,PRSO
<NOT <EQUAL? ,PRSI ,IT ,HIM ,HER>>
<NOT <VERB? WALK>>>
<THIS-IS-IT ,PRSO>)>
<SETG PRSA .A>
<SETG PRSI .I>
<SETG PRSO .O>
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
<SET V <NOT-HERE-OBJECT-F>>> .V)
(T
<SET O ,PRSO>
<SET I ,PRSI>
<THIS-IS-IT ,PRSO> ;"ala Stationfall"
<THIS-IS-IT ,PRSI>
<COND
(<SET V <APPLY <GETP ,WINNER ,P?ACTION>>> .V)
(<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION> ,M-BEG>> .V)
(<SET V <APPLY <GET ,PREACTIONS .A>>> .V)
(<AND .I <SET V <APPLY <GETP .I ,P?ACTION>>>> .V)
(<AND .O
<NOT <==? .A ,V?WALK>>
<LOC .O>
<SET V <APPLY <GETP <LOC .O> ,P?CONTFCN>>>>
.V)
(<AND .O
<NOT <==? .A ,V?WALK>>
<SET V <APPLY <GETP .O ,P?ACTION>>>>
.V)
(<SET V <APPLY <GET ,ACTIONS .A>>> .V)>)>
<SETG PRSA .OA>
<SETG PRSO .OO>
<SETG PRSI .OI>
.V>)
(T
'<PROG ()
<SETG DEBUG <>>
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
#DECL ((A) FIX (O) <OR FALSE OBJECT FIX> (I) <OR FALSE OBJECT> (V) ANY)
<COND (,DEBUG
<TELL "** PERFORM: PRSA = ">
<PRINC <NTH ,ACTIONS <+ <* .A 2> 1>>>
<COND (<AND .O <NOT <==? .A ,V?WALK>>>
<TELL " | PRSO = " D .O>)>
<COND (.I <TELL " | PRSI = " D .I>)>)>
<SET OA ,PRSA>
<SET OO ,PRSO>
<SET OI ,PRSI>
<COND (<AND <NOT ,P-WALK-DIR>
<EQUAL? ,IT .I .O>>
<COND (<OR <NOT ,P-IT-OBJECT>
<NOT <ACCESSIBLE? ,P-IT-OBJECT>>>
<REFERRING>
<RFATAL>)
(<EQUAL? ,IT .O>
<SET O ,P-IT-OBJECT>)
(<EQUAL? ,IT .I>
<SET I ,P-IT-OBJECT>)>)>
<COND (<AND <NOT ,P-WALK-DIR>
<EQUAL? ,HIM .I .O>>
<COND (<OR <NOT ,P-HIM-OBJECT>
<NOT <ACCESSIBLE? ,P-HIM-OBJECT>>>
<REFERRING>
<RFATAL>)
(<EQUAL? ,HIM .O>
<SET O ,P-HIM-OBJECT>)
(<EQUAL? ,HIM .I>
<SET I ,P-HIM-OBJECT>)>)>
<COND (<AND <NOT ,P-WALK-DIR>
<EQUAL? ,HER .I .O>>
<COND (<OR <NOT ,P-HER-OBJECT>
<NOT <ACCESSIBLE? ,P-HER-OBJECT>>>
<REFERRING>
<RFATAL>)
(<EQUAL? ,HER .O>
<SET O ,P-HER-OBJECT>)
(<EQUAL? ,HER .I>
<SET I ,P-HER-OBJECT>)>)>
;<COND (<==? .O ,IT> <SET O ,P-IT-OBJECT>)>
;<COND (<==? .I ,IT> <SET I ,P-IT-OBJECT>)>
;<COND (<AND ,PRSO <NOT <VERB? WALK>>>
<SETG P-IT-OBJECT ,PRSO>)>
<SETG PRSA .A>
<SETG PRSO .O>
<SETG PRSI .I>
<COND (<AND <EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>> .V)
(T
<SET O ,PRSO>
<SET I ,PRSI>
<THIS-IS-IT ,PRSO> ;"ala Staionfall"
<THIS-IS-IT ,PRSI>
<COND (<SET V <DD-APPLY "Actor" ,WINNER
<GETP ,WINNER ,P?ACTION>>> .V)
(<SET V <D-APPLY "Room (M-BEG)"
<GETP <LOC ,WINNER> ,P?ACTION>
,M-BEG>> .V)
(<SET V <D-APPLY "Preaction"
<GET ,PREACTIONS .A>>> .V)
(<AND .I <SET V <D-APPLY "PRSI"
<GETP .I ,P?ACTION>>>> .V)
(<AND .O
<NOT <==? .A ,V?WALK>>
<LOC .O>
<GETP <LOC .O> ,P?CONTFCN>
<SET V <DD-APPLY "Container" <LOC .O>
<GETP <LOC .O> ,P?CONTFCN>>>>
.V)
(<AND .O
<NOT <==? .A ,V?WALK>>
<SET V <D-APPLY "PRSO"
<GETP .O ,P?ACTION>>>>
.V)
(<SET V <D-APPLY <>
<GET ,ACTIONS .A>>> .V)>)>
<SETG PRSA .OA>
<SETG PRSO .OO>
<SETG PRSI .OI>
.V>
<DEFINE D-APPLY (STR FCN "OPTIONAL" FOO "AUX" RES)
<COND (<NOT .FCN> <>)
(T
<COND (,DEBUG
<COND (<NOT .STR>
<TELL CR " Default ->" CR>)
(T <TELL CR " " .STR " -> ">)>)>
<SET RES
<COND (<ASSIGNED? FOO>
<APPLY .FCN .FOO>)
(T <APPLY .FCN>)>>
<COND (<AND ,DEBUG .STR>
<COND (<==? .RES 2>
<TELL "Fatal" CR>)
(<NOT .RES>
<TELL "Not handled">)
(T <TELL "Handled" CR>)>)>
.RES)>>
<ROUTINE DD-APPLY (STR OBJ FCN "OPTIONAL" (FOO <>))
<COND (,DEBUG <TELL "[" D .OBJ "=]">)>
<D-APPLY .STR .FCN .FOO>>
>)>

334
old-hints.zil Normal file
View File

@ -0,0 +1,334 @@
"HINTS for GERMAN ZORK - (VIA SHERLOCK)
(c) Copyright 1987 Infocom, Inc. All Rights Reserved."
<FILE-FLAGS CLEAN-STACK?>
<GLOBAL HINT-WARNING <>>
<GLOBAL HINTS-OFF <>>
<ROUTINE V-HINT ("AUX" CHR MAXC (C <>) Q WHO)
<COND (,HINTS-OFF
<TELL "Hints have been disabled for this session." CR>
<RFATAL>)
(<NOT ,HINT-WARNING>
<SETG HINT-WARNING T>
<TELL
"[Warning: It is recognized that the temptation for help may at times be so
exceedingly strong that you might fetch hints prematurely. Therefore, you may
at any time during the story type HINTS OFF, and this will disallow the
seeking out of help for the present session of the story. If you still want a
hint now, indicate HINT.]" CR>
<RFATAL>)>
<SET MAXC <GET ,HINTS 0>>
<INIT-HINT-SCREEN>
<CURSET 5 1>
<PUT-UP-CHAPTERS>
<SETG CUR-POS <- ,CHAPT-NUM 1>>
;<SETG CHAPT-NUM 1>
;<CURSET 5 2>
<NEW-CURSOR>
;<PRINTI ">">
<REPEAT ()
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR %<ASCII !\Q> %<ASCII !\q>>
<SET Q T>
<RETURN>)
(<EQUAL? .CHR %<ASCII !\N> %<ASCII !\n>>
<COND (<NOT <EQUAL? ,CHAPT-NUM .MAXC>>
<ERASE-CURSOR>
<SETG CUR-POS <+ ,CUR-POS 1>>
<SETG CHAPT-NUM <+ ,CHAPT-NUM 1>>
<NEW-CURSOR>
<SETG QUEST-NUM 1>)>)
(<EQUAL? .CHR %<ASCII !\P> %<ASCII !\p>>
<COND (<NOT <EQUAL? ,CHAPT-NUM 1>>
<ERASE-CURSOR>
<SETG CUR-POS <- ,CUR-POS 1>>
<SETG CHAPT-NUM <- ,CHAPT-NUM 1>>
<NEW-CURSOR>
<SETG QUEST-NUM 1>)>)
(<EQUAL? .CHR 13 10>
;<PUTP ,SCENE ,P?SCENE-CUR ,CUR-POS>
<PICK-QUESTION>
<RETURN>)>>
<COND (<NOT .Q>
<AGAIN> ;"AGAIN does whole routine?")>
;<SETG CUR-POS 0>
;<SETG CHAPT-NUM 1>
;<PUTP ,SCENE ,P?SCENE-CUR ,CUR-POS>
<SPLIT 0>
<CLEAR -1>
<INIT-STATUS-LINE>
<RFATAL>>
<ROUTINE PICK-QUESTION ("AUX" CHR MAXQ (Q <>))
<INIT-HINT-SCREEN <>>
<LEFT-LINE 3 " RETURN = see hint" %<LENGTH " RETURN = see hint">>
<RIGHT-LINE 3 "Q = main menu" %<LENGTH "Q = main menu">>
<SET MAXQ <- <GET <GET ,HINTS ,CHAPT-NUM> 0> 1>>
<CURSET 5 1>
<PUT-UP-QUESTIONS>
<SETG CUR-POS <- ,QUEST-NUM 1>>
;<SETG QUEST-NUM 1>
;<CURSET 5 2>
<NEW-CURSOR>
;<PRINTI ">">
<REPEAT ()
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR %<ASCII !\Q> %<ASCII !\q>>
<SET Q T>
<RETURN>)
(<EQUAL? .CHR %<ASCII !\N> %<ASCII !\n>>
<COND (<NOT <EQUAL? ,QUEST-NUM .MAXQ>>
<ERASE-CURSOR>
<SETG CUR-POS <+ ,CUR-POS 1>>
<SETG QUEST-NUM <+ ,QUEST-NUM 1>>
<NEW-CURSOR>)>)
(<EQUAL? .CHR %<ASCII !\P> %<ASCII !\p>>
<COND (<NOT <EQUAL? ,QUEST-NUM 1>>
<ERASE-CURSOR>
<SETG CUR-POS <- ,CUR-POS 1>>
<SETG QUEST-NUM <- ,QUEST-NUM 1>>
<NEW-CURSOR>)>)
(<EQUAL? .CHR 13 10>
<DISPLAY-HINT>
<RETURN>)>>
<COND (<NOT .Q>
<AGAIN>)>>
;"zeroth (first) element is 5"
<GLOBAL LINE-TABLE
<PTABLE
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21>>
;"zeroth (first) element is 4"
<GLOBAL COLUMN-TABLE
<PTABLE
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24>>
;"four and nineteen are where the text of questions start"
<GLOBAL CUR-POS 0> ;"determines where to place the highlight cursor
Can go up to 34, that is 17 slots in each row"
<GLOBAL QUEST-NUM 1> ;"shows in HINT-TBL ltable which QUESTION it's on"
<GLOBAL CHAPT-NUM 1> ;"shows in HINT-TBL ltable which CHAPTER it's on"
<ROUTINE ERASE-CURSOR ()
<CURSET <GET ,LINE-TABLE ,CUR-POS>
<- <GET ,COLUMN-TABLE ,CUR-POS> 2 ;1>>
<TELL " "> ;"erase previous highlight cursor">
;"go back 2 spaces from question text, print cursor and flash is between
the cursor and text"
<ROUTINE NEW-CURSOR ()
<CURSET <GET ,LINE-TABLE ,CUR-POS>
<- <GET ,COLUMN-TABLE ,CUR-POS> 2 ;1>>
<TELL ">"> ;"print the new cursor">
<ROUTINE INVERSE-LINE ("AUX" (CENTER-HALF <>))
<HLIGHT ,H-INVERSE>
<PRINT-SPACES <LOWCORE SCRH>>
<HLIGHT ,H-NORMAL>>
<ROUTINE DISPLAY-HINT ("AUX" H MX (CNT 2 ;,HINT-HINTS) CHR (FLG T) N)
<SPLIT 0>
<CLEAR -1>
<SPLIT 3>
<SCREEN ,S-WINDOW>
<CURSET 1 1>
<INVERSE-LINE>
<CENTER-LINE 1 "INVISICLUES (tm)" %<LENGTH "INVISICLUES (tm)">>
<CURSET 3 1>
<INVERSE-LINE>
;<COND (,WIDE
<TELL " ">)>
<LEFT-LINE 3 "RETURN = see new hint">
<RIGHT-LINE 3 "Q = see hint menu" %<LENGTH "Q = see hint menu">>
<HLIGHT ,H-BOLD>
<SET H <GET <GET ,HINTS ,CHAPT-NUM> <+ ,QUEST-NUM 1>>>
<CENTER-LINE 2 <GET .H 1 ;,HINT-QUESTION>>
<HLIGHT ,H-NORMAL>
<SET MX <GET .H 0>>
;<CURSET 5 2> ;"instead of CRLF"
<SCREEN ,S-TEXT>
<CRLF>
<REPEAT ()
<COND (.FLG
<SET N <+ <- .MX .CNT> 1>> ;"added +1 - Jeff"
<TELL "[" N .N " hint">
<COND (<NOT <EQUAL? .N 1>>
<TELL "s">)>
<TELL " left.]" CR CR " -> ">
<SET FLG <>>)>
<SET CHR <INPUT 1>>
<COND (<EQUAL? .CHR %<ASCII !\Q> %<ASCII !\q>>
;<PUT .H ,HINT-SEEN .CNT>
;<SETG CUR-POS <GET ,SCENE ,P?SCENE-CUR>>
<RETURN>)
(<EQUAL? .CHR 13 10>
<COND (<NOT <G? .CNT .MX>>
<SET FLG T> ;".cnt starts as 2"
<TELL <GET .H .CNT>>
<CRLF>
<CRLF>
<SET CNT <+ .CNT 1>>
;<CURSET <+ <* .CNT 2> 1> 2>
;"3rd = line 7, 4th = line 9, ect"
<COND (<G? .CNT .MX>
<SET FLG <>>
<TELL "[Final hint]" CR>
;<CURSET <* .CNT 2> 1>)>)>)>>>
<ROUTINE PUT-UP-QUESTIONS ("AUX" (ST 1) MXQ MXL)
<SET MXQ <- <GET <GET ,HINTS ,CHAPT-NUM> 0> 1>>
<SET MXL <- <LOWCORE SCRV> 1>>
<REPEAT ()
<COND (<G? .ST .MXQ>
;<TELL CR "[Last question]" CR>
<RETURN>)
(T ;"zeroth"
<CURSET <GET ,LINE-TABLE <- .ST 1>>
<- <GET ,COLUMN-TABLE <- .ST 1>> 1>>)
;(<G? .LN .MXL>
<TELL CR "[More questions follow]" CR>
<RETURN <- .ST 1>>)>
<TELL " " <GET <GET <GET ,HINTS ,CHAPT-NUM> <+ .ST 1>> 1>>
;<CRLF> ;"above curset will do the trick?"
<SET ST <+ .ST 1>>>>
<ROUTINE PUT-UP-CHAPTERS ("AUX" (ST 1) MXC MXL)
<SET MXC <GET ,HINTS 0>>
<SET MXL <- <LOWCORE SCRV> 1>>
<REPEAT ()
<COND (<G? .ST .MXC>
;<TELL CR "[Last chapter]" CR>
<RETURN>)
(T ;"zeroth"
<CURSET <GET ,LINE-TABLE <- .ST 1>>
<- <GET ,COLUMN-TABLE <- .ST 1>> 1>>)
;(<G? .LN .MXL>
<TELL CR "[More chapters follow]" CR>
<RETURN <- .ST 1>>)>
<TELL " " <GET <GET ,HINTS .ST> 1 ;,HINT-QUEST>>
;<CRLF> ;"above curset will do the trick?"
<SET ST <+ .ST 1>>>>
;"longest hint topic can be 17 chars"
<GLOBAL HINTS
<PLTABLE
<PLTABLE
"The Lair"
<PLTABLE
"How can I stop Moriarty's henchman 1 ?"
"Knock him out first."
"Perhaps you could smuggle something in."
"Have you noticed the henchman's religion, and that this answer should still wrap around, eh, eh??"
"He probably won't disturb your hat."
"Perhaps the etherium ampoule....">
<PLTABLE
"How can I stop Moriarty's henchman 2 ?"
"Knock him out first."
"Perhaps you could smuggle something in."
"Have you noticed the henchman's religion, and that this answer should still wrap around, eh, eh??"
"He probably won't disturb your hat."
"Perhaps the etherium ampoule....">>
<PLTABLE
"Brian M..."
<PLTABLE
"How do I keep Moriarty from winning when I wake up?"
"If he is free to move around, he will always win."
"Tie him up."
"Don't forget to tie up the henchman, too.">>
<PLTABLE
"Miscellaneus"
<PLTABLE
"What is the square root of 64?"
"Eight.">>
<PLTABLE
"Another Fine Mess"
<PLTABLE
"This is anther mess, etc. and so weiter."
"This is anther mess, etc. and so weiter.">>>>
<ROUTINE INIT-HINT-SCREEN ("OPTIONAL" (THIRD T) "AUX" WID LEN)
<SET WID <GETB 0 33>>
<SPLIT 0>
<CLEAR -1>
<SPLIT <- <GETB 0 32> 1>>
<SCREEN ,S-WINDOW>
<CURSET 1 1>
<INVERSE-LINE>
<CURSET 2 1>
<INVERSE-LINE>
<CURSET 3 1>
<INVERSE-LINE>
<CENTER-LINE 1 "INVISICLUES (tm)" 16>
<LEFT-LINE 2 " N = next">
<RIGHT-LINE 2 "P = previous" %<LENGTH "P = previous">>
<COND (<T? .THIRD>
<LEFT-LINE 3 " RETURN = See hint">
<RIGHT-LINE 3 "Q = Resume story" %<LENGTH "Q = Resume story">>)>>
;<CONSTANT HINT-COUNT 0>
;<CONSTANT HINT-QUESTION 1>
;<CONSTANT HINT-SEEN 2>
;<CONSTANT HINT-OFF 3>
;<CONSTANT HINT-HINTS 4>
;<DEFINE NEW-HINT (NAME Q "ARGS" HINTS)
<SETG .NAME 1>
<COND (<G? <LENGTH .Q> 39>
<ERROR QUESTION-TOO-LONG!-ERRORS NEW-HINT .Q>)>
<LTABLE .Q
4
.NAME
!.HINTS>>
;<GLOBAL HINT-FLAG-TBL
<TABLE 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1>>
<ROUTINE CENTER-LINE (LN STR "OPTIONAL" (LEN 0) (INV T))
<COND (<ZERO? .LEN>
<DIROUT ,D-TABLE-ON ,DIROUT-TBL ;,SLINE>
<TELL .STR>
<DIROUT ,D-TABLE-OFF>
<SET LEN <GET ,DIROUT-TBL ;,SLINE 0>>)>
<CURSET .LN </ <- <LOWCORE SCRH> .LEN> 2>>
<COND (.INV
<HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV
<HLIGHT ,H-NORMAL>)>>
<ROUTINE LEFT-LINE (LN STR "OPTIONAL" (INV T))
<CURSET .LN 1>
<COND (.INV
<HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV
<HLIGHT ,H-NORMAL>)>>
<ROUTINE RIGHT-LINE (LN STR "OPTIONAL" (LEN 0) (INV T))
<COND (<ZERO? .LEN>
<DIROUT 3 ,DIROUT-TBL ;,SLINE>
<TELL .STR>
<DIROUT -3>
<SET LEN <GET ,DIROUT-TBL ;,SLINE 0>>)>
<CURSET .LN <- <LOWCORE SCRH> .LEN>>
<COND (.INV
<HLIGHT ,H-INVERSE>)>
<TELL .STR>
<COND (.INV
<HLIGHT ,H-NORMAL>)>>
<GLOBAL DIROUT-TBL
<TABLE
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>>

2111
parser.cmp Normal file

File diff suppressed because it is too large Load Diff

152
parser.zabstr Normal file
View File

@ -0,0 +1,152 @@
<SETG SIBREAKS ".,\"%<%>">
<GLOBAL PRSA <>>
<GLOBAL PRSI <>>
<GLOBAL PRSO <>>
<GLOBAL P-TABLE 0>
<GLOBAL P-ONEOBJ 0>
<GLOBAL P-SYNTAX 0>
<GLOBAL P-CCTBL <TABLE 0 0 0 0>>
<CONSTANT CC-SBPTR 0>
<CONSTANT CC-SEPTR 1>
<CONSTANT CC-DBPTR 2>
<CONSTANT CC-DEPTR 3>
<CONSTANT LAST-OBJECT 0>
<GLOBAL P-LEN 0>
<GLOBAL P-DIR 0>
<GLOBAL HERE:OBJECT WEST-OF-HOUSE>
<GLOBAL WINNER 0>
<GLOBAL P-LEXV <ITABLE 59 (LEXV) 0 #BYTE *00000000000* #BYTE *00000000000*>>
<GLOBAL AGAIN-LEXV <ITABLE 59 (LEXV) 0 #BYTE *00000000000* #BYTE *00000000000*>
>
<GLOBAL RESERVE-LEXV <ITABLE 59 (LEXV) 0 #BYTE *00000000000* #BYTE
*00000000000*>>
<GLOBAL RESERVE-PTR <>>
<GLOBAL P-INBUF <ITABLE 120 (BYTE LENGTH) 0>>
<GLOBAL OOPS-INBUF <ITABLE 120 (BYTE LENGTH) 0>>
<GLOBAL OOPS-TABLE <TABLE <> <> <> <>>>
<CONSTANT O-PTR 0>
<CONSTANT O-START 1>
<CONSTANT O-LENGTH 2>
<CONSTANT O-END 3>
<GLOBAL P-CONT <>>
<GLOBAL P-OFLAG <>>
<GLOBAL P-MERGED <>>
<GLOBAL P-ACLAUSE <>>
<GLOBAL P-ANAM <>>
<GLOBAL P-AADJ <>>
<CONSTANT P-LEXWORDS 1>
<CONSTANT P-LEXSTART 1>
<CONSTANT P-LEXELEN 2>
<CONSTANT P-WORDLEN 4>
<CONSTANT P-PSOFF 6>
<CONSTANT P-P1OFF 7>
<CONSTANT P-P1BITS 3>
<CONSTANT P-ITBLLEN 9>
<GLOBAL P-ITBL <TABLE 0 0 0 0 0 0 0 0 0 0>>
<GLOBAL P-OTBL <TABLE 0 0 0 0 0 0 0 0 0 0>>
<GLOBAL P-VTBL <TABLE 0 0 0 0>>
<GLOBAL P-OVTBL <TABLE 0 #BYTE *00000000000* #BYTE *00000000000*>>
<GLOBAL P-NCN 0>
<CONSTANT P-VERB 0>
<CONSTANT P-VERBN 1>
<CONSTANT P-PREP1 2>
<CONSTANT P-PREP1N 3>
<CONSTANT P-PREP2 4>
<CONSTANT P-PREP2N 5>
<CONSTANT P-NC1 6>
<CONSTANT P-NC1L 7>
<CONSTANT P-NC2 8>
<CONSTANT P-NC2L 9>
<GLOBAL QUOTE-FLAG <>>
<GLOBAL P-END-ON-PREP <>>
<DEFINE-ROUTINE PARSER>
<GLOBAL P-ACT <>>
<GLOBAL P-WALK-DIR <>>
<GLOBAL AGAIN-DIR <>>
<DEFINE-ROUTINE STUFF>
<DEFINE-ROUTINE INBUF-STUFF>
<DEFINE-ROUTINE INBUF-ADD>
<DEFINE-ROUTINE WT?>
<DEFINE-ROUTINE CLAUSE>
<DEFINE-ROUTINE NUMBER?>
<GLOBAL P-NUMBER 0>
<GLOBAL P-DIRECTION <>>
<DEFINE-ROUTINE ORPHAN-MERGE>
<DEFINE-ROUTINE ACLAUSE-WIN>
<DEFINE-ROUTINE NCLAUSE-WIN>
<DEFINE-ROUTINE WORD-PRINT>
<DEFINE-ROUTINE UNKNOWN-WORD>
<DEFINE-ROUTINE CANT-USE>
<GLOBAL P-SLOCBITS 0>
<CONSTANT P-SYNLEN 8>
<CONSTANT P-SBITS 0>
<CONSTANT P-SPREP1 1>
<CONSTANT P-SPREP2 2>
<CONSTANT P-SFWIM1 3>
<CONSTANT P-SFWIM2 4>
<CONSTANT P-SLOC1 5>
<CONSTANT P-SLOC2 6>
<CONSTANT P-SACTION 7>
<CONSTANT P-SONUMS 3>
<DEFINE-ROUTINE SYNTAX-CHECK>
<DEFINE-ROUTINE NON-SEP?>
<DEFINE-ROUTINE CANT-ORPHAN>
<DEFINE-ROUTINE ORPHAN>
<DEFINE-ROUTINE THING-PRINT>
<DEFINE-ROUTINE BUFFER-PRINT>
<DEFINE-ROUTINE PREP-PRINT>
<DEFINE-ROUTINE CAPITALIZE>
<DEFINE-ROUTINE CLAUSE-COPY>
<DEFINE-ROUTINE CLAUSE-ADD>
<DEFINE-ROUTINE PREP-FIND>
<DEFINE-ROUTINE SYNTAX-FOUND>
<GLOBAL P-GWIMBIT 0>
<GLOBAL GWIM-PRSO? <>>
<DEFINE-ROUTINE SET-GWIM-PRSO?>
<DEFINE-ROUTINE GWIM>
<DEFINE-ROUTINE SNARF-OBJECTS>
<DEFINE-ROUTINE BUT-MERGE>
<GLOBAL P-NAM <>>
<GLOBAL P-ADJ <>>
<GLOBAL P-ADVERB <>>
<GLOBAL P-PRSO <ITABLE NONE 50>>
<GLOBAL P-PRSI <ITABLE NONE 50>>
<GLOBAL P-BUTS <ITABLE NONE 50>>
<GLOBAL P-MERGE <ITABLE NONE 50>>
<GLOBAL P-OCLAUSE <ITABLE NONE 100>>
<GLOBAL P-MATCHLEN 0>
<GLOBAL P-GETFLAGS 0>
<CONSTANT P-ALL 1>
<CONSTANT P-ONE 2>
<CONSTANT P-INHIBIT 4>
<GLOBAL P-AND <>>
<DEFINE-ROUTINE SNARFEM>
<CONSTANT SH 128>
<CONSTANT SC 64>
<CONSTANT SIR 32>
<CONSTANT SOG 16>
<CONSTANT STAKE 8>
<CONSTANT SMANY 4>
<CONSTANT SHAVE 2>
<DEFINE-ROUTINE GET-OBJECT>
<GLOBAL P-XNAM <>>
<GLOBAL P-XADJ <>>
<DEFINE-ROUTINE WHICH-PRINT>
<DEFINE-ROUTINE GLOBAL-CHECK>
<DEFINE-ROUTINE DO-SL>
<CONSTANT P-SRCBOT 2>
<CONSTANT P-SRCTOP 0>
<CONSTANT P-SRCALL 1>
<DEFINE-ROUTINE SEARCH-LIST>
<DEFINE-ROUTINE OBJ-FOUND>
<DEFINE-ROUTINE TAKE-CHECK>
<DEFINE-ROUTINE ITAKE-CHECK>
<DEFINE-ROUTINE REFERRING>
<DEFINE-ROUTINE MANY-CHECK>
<DEFINE-ROUTINE ZMEMQ>
<GLOBAL ALWAYS-LIT <>>
<DEFINE-ROUTINE LIT?>
<DEFINE-ROUTINE THIS-IT?>
<DEFINE-ROUTINE ACCESSIBLE?>
<DEFINE-ROUTINE META-LOC>

1745
parser.zap Normal file

File diff suppressed because it is too large Load Diff

1623
parser.zil Normal file

File diff suppressed because it is too large Load Diff

2618
pre-umlaut-dungeon.zil Normal file

File diff suppressed because it is too large Load Diff

770
pre-umlaut-syntax.zil Normal file
View File

@ -0,0 +1,770 @@
"Generic SYNTAX file for
The ZORK Trilogy
started on 7/21/83 by SEM
-- GERMAN EDITION"
<BUZZ WIEDER ACH>
;"ren"
<BUZZ OF IST UND DES DANN ALLES ONE BUT EXCEPT \. \, \" HIER
DER DIE DAS DEN DEM EIN EINE EINEN EINEM EINER>
;<SYNONYM WITH USING THROUGH THRU>
;"DURCH - BY MEANS OF"
<SYNONYM IN IM INS ;INSIDE ;INTO>
;"'IN' ALWAYS WITH ACCUSATIVE"
;<SYNONYM ON ONTO>
<SYNONYM AN AM ;AUF>
;"'AUF' WITH ACC."
<SYNONYM FUER F\%UR>
<SYNONYM UEBER \%UBER>
;<SYNONYM UNDER UNDERNEATH BENEATH BELOW>
;"'UNTER' WITH ACC MOTION, WITH DATIVE NO MOTION"
<SYNONYM NORD NORDEN N>
<SYNONYM SUED S\%UD S\%UDEN SUEDEN S>
<SYNONYM OST OSTEN O>
<SYNONYM WEST WESTEN W>
<SYNONYM RUNTER R RU> ;"DOWN"
<SYNONYM RAUF RA> ;"UP"
<SYNONYM NW NORDWEST NORDWESTEN>
<SYNONYM NO NORDOST NORDOSTEN>
<SYNONYM SW SUEDWEST S\%UDWEST SUEDWESTEN S\%UDWESTEN>
<SYNONYM SO SUEDOST S\%UDOST SUEDOSTEN S\%UDOSTEN>
<SYNTAX AUSFUEHRLICH = V-VERBOSE>
<SYNONYM AUSFUEHRLICH AUSF\%UHRLICH>
<SYNTAX KURZ = V-BRIEF>
<SYNTAX SUPER = V-SUPER-BRIEF>
<SYNONYM SUPER SUPERKURZ>
<SYNTAX DIAGNOSE = V-DIAGNOSE> ;"same word"
<SYNTAX INVENTAR = V-INVENTORY>
<SYNONYM INVENTAR INVENTUR I>
<SYNTAX AUFHOEREN = V-QUIT>
<SYNONYM AUFHOEREN>
<SYNTAX NEUBEGINN = V-RESTART>
;"*FANG WIEDER AN"
<SYNTAX WIEDERHERSTELLUNG = V-RESTORE>
;"*SPEICHERE UM"
<SYNTAX SAVE = V-SAVE>
;"*DATEN SICHER"
<SYNTAX PUNKTESTAND = V-SCORE>
<SYNTAX SCRIPT = V-SCRIPT>
;"SCHREIB TEXT"
<SYNTAX UNSCRIPT = V-UNSCRIPT>
;"IMPROVISIERE"
<SYNTAX VERSION = V-VERSION>
;"VERSION"
<SYNTAX $VERIFY = V-VERIFY>
;"KLARSTELLEN"
<SYNTAX \#RANDOM OBJEKT = V-RANDOM>
;"IRGENDEIN OBJEKT"
<SYNTAX \#COMMAND = V-COMMAND-FILE>
;"BEFEHLAKTE"
<SYNTAX \#RECORD = V-RECORD>
;"*LISTE"
<SYNTAX \#UNRECORD = V-UNRECORD>
;<SYNTAX DEBUG = V-DEBUG>
;"Real Verbs"
<SYNTAX AKTIVIER OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
<SYNONYM AKTIVIER AKTIVIERE>
<SYNTAX ANTWORT = V-ANSWER>
<SYNTAX ANTWORT OBJECT = V-REPLY>
<SYNONYM ANTWORT ANTWORTE>
<SYNTAX BENUTZ OBJECT FUER OBJECT = V-PUT PRE-PUT>
<SYNONYM BENUTZ BENUTZE>
<SYNTAX GREIF AN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
;MIT ;OBJECT ;(FIND WEAPONBIT) ;(HELD CARRIED HAVE) = V-ATTACK>
<SYNTAX GREIF OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT ;AN (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNTAX ;SCHLAGE GREIF NIEDER OBJECT (FIND ACTORBIT)
(ON-GROUND IN-ROOM) = V-ATTACK>
;"AN is sep prefix at end"
<SYNONYM GREIF GREIFE KAEMPF KAEMPFE VERLETZ VERLETZE SCHLAG SCHLAGE>
;"ren: greif is attack and take? ANGREIFEN TO ATTACK , GREIF TO SIEZE"
<SYNTAX ZURUECK = V-BACK>
<SYNONYM ZURUECK ZUR\%UCK>
;<SYNTAX BLAST = V-BLAST>
<SYNTAX EXPLODIERE = V-BLAST>
;<SYNTAX BLOW OUT OBJECT = V-LAMP-OFF>
<SYNTAX BLAS AUS OBJECT = V-LAMP-OFF>
<SYNONYM BLAS BLASE>
<SYNTAX BLAS AUF OBJECT = V-INFLATE>
<SYNTAX BLAS OBJECT MIT
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED) = V-INFLATE>
;"AUF is sep prefix at end"
<SYNTAX BLAS AUF OBJECT = V-BLAST>
;<SYNTAX ATM OBJECT ;EIN = V-BREATHE>
;<SYNONYM ATM ATME>
<SYNTAX STEIG IN OBJECT ;EIN (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-BOARD PRE-BOARD>
<SYNONYM STEIG STEIGE>
<SYNTAX PUTZ OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-BRUSH>
<SYNTAX PUTZ OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT = V-BRUSH>
<SYNONYM PUTZ PUTZE BUERST B\%URST BUERSTE B\%URSTE SAEUBER SAEUBERE
REINIG REINIGE>
;<SYNTAX BUG = V-BUG>
<SYNTAX VERBRENN OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNTAX VERBRENN NIEDER OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNTAX VERBRENN ;STECKE AN OBJECT (FIND BURNBIT)
(HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNONYM VERBRENN VERBRENNE BRENN BRENNE STECK STECKE ZUEND Z\%UND Z\%UNDE
ZUENDE ;AN>
;"AN is sep prefix at end of stecke"
<SYNTAX KOZ OBJECT = V-CHOMP>
<SYNTAX KOZ DICH OBJECT (FIND KLUDGEBIT) = V-CHOMP>
<SYNONYM KOZ KOZE UEBERGIB \%UBERGIB CHOMP>
;<SYNTAX CLIMB UP OBJECT (FIND KLUDGEBIT) = V-CLIMB-UP>
;<SYNTAX CLIMB UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX KLETTER HINAUF OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
;<SYNTAX CLIMB DOWN OBJECT (FIND KLUDGEBIT) = V-CLIMB-DOWN>
<SYNTAX CLIMB DOWN OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX KLETTER HINUNTER OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) =
V-CLIMB-DOWN>
<SYNTAX KLETTER HERUNTER OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) =
V-CLIMB-DOWN>
<SYNTAX KLETTER RUNTER OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) =
V-CLIMB-DOWN>
<SYNONYM KLETTER KLETTERE>
;<SYNTAX CLIMB OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
<SYNTAX BESTEIG OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
<SYNONYM BESTEIG BESTEIGE>
;<SYNTAX CLIMB IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX STEIG IN OBJECT ;EIN (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-BOARD PRE-BOARD>
<SYNONYM STEIG STEIGE>
;<SYNTAX CLIMB ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX STEIG AUF OBJECT ;EIN (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
;<SYNTAX CLIMB WITH OBJECT = V-THROUGH>
<SYNTAX STEIG DURCH OBJECT = V-THROUGH>
<SYNTAX MACH ZU OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE>
<SYNONYM MACH MACHE>
<SYNTAX BEFIEHL OBJECT (FIND ACTORBIT) = V-COMMAND>
<SYNTAX ZAEHL OBJECT = V-COUNT>
<SYNONYM ZAEHL ZAEHLE>
<SYNTAX UEBERQUER OBJECT = V-CROSS>
<SYNONYM UEBERQUER \%UBERQUER>
<SYNTAX SCHNEID OBJECT MIT OBJECT (FIND WEAPONBIT) (CARRIED HELD) = V-CUT>
<SYNTAX SCHNEID DURCH OBJECT = V-CUT>
<SYNONYM SCHNEID SCHNEIDE ZERSCHNEID ZERSCHNEID STICH STICHE DURCHLOECHERE
LOECHERE>
<SYNTAX FLUCH = V-CURSES>
<SYNTAX ;VERFLUCHE FLUCH OBJECT (FIND ACTORBIT) = V-CURSES>
<SYNONYM FLUCH FLUCHE VERFLUCHE VERFLUCH VERDAMMT VERSCHISSEN SCHEISSE MIST>
<SYNTAX LASS OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX LASS FALLEN OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX LASS OBJECT (HELD MANY HAVE) AUF OBJECT ;FALLEN = V-PUT-ON PRE-PUT>
<SYNTAX LASS LOS OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX LASS RAUS OBJECT ;RAUS = V-DEFLATE>
<SYNTAX LASS OBJECT ;"LUFT" AUS OBJECT ;RAUS = V-DEFLATE>
<SYNTAX LASS OBJECT ;"LUFT" AUS OBJECT ;AB = V-DEFLATE>
<SYNONYM LASS LASSE>
<SYNTAX ZERSTOER OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-MUNG PRE-MUNG>
<SYNTAX ZERSTOER OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
MIT OBJECT (HELD CARRIED TAKE) = V-MUNG PRE-MUNG>
<SYNTAX DESTROY IN OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-OPEN>
<SYNTAX BRICH IN OBJECT ;EIN = V-MUNG PRE-MUNG> ;"ie, BREAK IN THE HOUSE"
<SYNONYM ZERSTOER ZERSTOERE ;VERLETZE-USED-ABOVE ZERBRECHE BLOCKIERE
ZERSCHMETTERE DEMOLIERE>
<SYNTAX GRAB IN OBJECT (ON-GROUND IN-ROOM) = V-DIG>
<SYNTAX GRAB UM OBJECT (ON-GROUND IN-ROOM) = V-DIG>
<SYNTAX GRAB AUS OBJECT (ON-GROUND IN-ROOM) = V-DIG>
<SYNTAX GRAB MIT OBJECT (FIND TOOLBIT) = V-DIG-WITH>
<SYNTAX GRAB IN OBJECT (ON-GROUND IN-ROOM)
MIT OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
<SYNTAX GRAB OBJECT (ON-GROUND IN-ROOM)
MIT OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
<SYNONYM GRAB GRABE>
;<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-DISEMBARK>
<SYNTAX STEIG AUS OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-DISEMBARK> ;"'steig in' is climb in etc."
<SYNTAX ERNUECHTER OBJECT = V-DISENCHANT>
<SYNONYM ERNUECHTER ERN\%UCHTER>
<SYNTAX TRINK OBJECT (FIND DRINKBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-DRINK>
<SYNTAX TRINK AUS OBJECT (HELD CARRIED) = V-DRINK-FROM>
<SYNONYM TRINK TRINKE SCHLUERFE SCHL\%URFE SCHLUERF SCHL\%URF SCHLUCKE SCHLUCK>
<SYNTAX DROP OBJECT (HELD MANY HAVE) DOWN OBJECT = V-PUT PRE-PUT>
;"LASS OBJ-ACC OBJ-ACC HERUNTERFALLEN = drop obj. down object."
<SYNTAX DROP OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP HERUNTER OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
;<SYNTAX DROP OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
;<SYNONYM DROP RELEASE>
<SYNTAX ISS OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-EAT>
<SYNTAX ISS HINEIN OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-EAT>
<SYNONYM ISS ISSE VERZEHR VERZEHRE SCHMECK SCHMECKE BEISS BEISSE ;OBJ ;HINEIN>
<SYNTAX ECHO = V-ECHO>
;<SYNTAX ENCHANT OBJECT (ON-GROUND IN-ROOM) = V-ENCHANT>
<SYNTAX BEZAUBER OBJECT (ON-GROUND IN-ROOM) = V-ENCHANT>
<SYNONYM BEZAUBER BEZAUBERE ENTZUECKE ENTZ\%UCKE ENTZUECK ENTZ\%UCK>
<SYNTAX BETRET = V-ENTER>
<SYNONYM BETRET BETRETE>
<SYNTAX TRITT IN OBJECT = V-ENTER>
<SYNONYM TRITT TRITTE>
<SYNTAX BETRET DURCH OBJECT = V-THROUGH>
<SYNTAX VERLASS OBJECT = V-EXIT>
<SYNONYM VERLASS VERLASSE>
<SYNTAX UNTERSUCH OBJECT (MANY) = V-EXAMINE>
<SYNTAX UNTERSUCH IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNTAX UNTERSUCH AUF OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNTAX UNTERSUCH OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT = V-READ PRE-READ>
<SYNONYM UNTERSUCH BETRACHT BETRACHTE BESCHREIB WAS>
;"was ist object"
;<SYNTAX EXORCISE OUT OBJECT (FIND ACTORBIT) = V-EXORCISE>
<SYNTAX TREIB AUS OBJECT = V-EXORCISE>
<SYNTAX TREIB WEG OBJECT (FIND ACTORBIT) = V-EXORCISE>
<SYNONYM TREIB TREIBE VERTREIBE VERBANNE ;MAERZE EXORZIERE>
<SYNTAX MACH AUS OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNONYM MACH MACHE>
<SYNTAX LOESCH OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNONYM LOESCH LOESCHE>
<SYNTAX FUELL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT = V-FILL PRE-FILL>
<SYNTAX FUELL OBJECT (FIND CONTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-FILL PRE-FILL>
<SYNONYM FUELL FUELLE F\%ULL F\%ULLE>
<SYNTAX FIND OBJECT = V-FIND>
<SYNONYM FIND FINDE ;SUCH WO>
<SYNTAX FOLG = V-FOLLOW>
<SYNTAX FOLG OBJECT = V-FOLLOW>
<SYNONYM FOLG FOLGE VERFOLG VERFOLGE JAG JAGE KOMM KOMME>
<SYNTAX FROBOZ = V-FROBOZZ>
<SYNTAX GIB OBJECT (MANY HELD HAVE)
ZU OBJECT (FIND ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE>
<SYNTAX GIB OBJECT (FIND ACTORBIT) (ON-GROUND)
OBJECT (MANY HELD HAVE) = V-SGIVE PRE-SGIVE>
<SYNONYM GIB GIBE ;SCHENKE-IN-DROP-SYNTAX OFFERIER OFFERIERE FUETTERE
F\%UTTERE>
<SYNTAX BRUET OBJECT = V-HATCH>
<SYNONYM BRUET BR\%UT BRUETE BR\%UTE>
<SYNTAX HALLO = V-HELLO>
<SYNTAX HALLO OBJECT = V-HELLO>
<SYNONYM HALLO TAG>
<SYNTAX GRUESS DICH OBJECT (FIND KLUDGEBIT) = V-HELLO>
<SYNONYM GRUESS GR\%USS>
<SYNTAX TIP = V-HINT>
;<SYNTAX KEINE TIPS MEHR (FIND KLUDGEBIT) = V-HINTS-OFF>
<SYNTAX TIP NICHT = V-HINTS-OFF>
<VERB-SYNONYM TIP TIPE TIPS HILFE WINK WINKE>
<SYNTAX ZAUBER = V-INCANT>
<SYNONYM ZAUBER ZAUBERE ZAUBERGESANG>
<SYNTAX ;INFLATE BLAS OBJECT MIT
OBJECT ;AUF (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED)
= V-INFLATE>
;<SYNTAX IS OBJECT IN OBJECT = V-IS-IN>
;<SYNTAX IS OBJECT ON OBJECT = V-IS-IN>
<SYNTAX SPRING = V-LEAP>
<SYNTAX SPRING UEBER ;OVER OBJECT = V-LEAP>
<SYNTAX SPRING QUER ;UEBER OBJECT = V-LEAP> ;"JUMP ACROSS"
<SYNTAX SPRING IN OBJECT = V-LEAP>
<SYNTAX SPRING VON OBJECT = V-LEAP>
<SYNTAX QWESDU HERAB OBJECT = V-LEAP> ;"DUMMY SYNTAX SO HERAB IS A PREP"
<SYNTAX SPRING VON OBJECT ;HERAB = V-LEAP>
<SYNONYM SPRING SPRINGE HUEPF H\%UPF HUEPFE H\%UPFE TAUCH TAUCHE>
<SYNTAX TRITT OBJECT = V-KICK>
;<SYNONYM KICK TAUNT>
;<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNTAX TOET OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNONYM TOET TOETE ERMORD ERMORDE BESEITIGE BESEITIGE>
<SYNTAX ERSTECH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-STAB>
<SYNTAX ERSTECH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNONYM ERSTECH ERSTECHE>
<SYNTAX KUESS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KISS>
<SYNONYM KUESS K\%USS KUESSE K\%USSE>
<SYNTAX KLOPF AN OBJECT = V-KNOCK>
<SYNTAX KLOPF AUF OBJECT = V-KNOCK>
<SYNONYM KLOPF KLOPFE>
<SYNTAX STOSS AB OBJECT ;AB (FIND VEHBIT) = V-LAUNCH>
;<SYNTAX LEAN ON OBJECT (HELD HAVE) = V-LEAN-ON>
<SYNTAX LEHN DICH ;AN ;AUF OBJECT (HELD HAVE) = V-LEAN-ON>
;<SYNTAX LEAVE = V-LEAVE>
<SYNTAX LASS LIEGEN OBJECT (FIND KLUDGEBIT) = V-LEAVE>
;<SYNTAX LEAVE OBJECT = V-DROP PRE-DROP>
;<SYNTAX LIGHT OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-ON>
<SYNTAX MACH AN OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-ON>
<SYNTAX ;LIGHT LUENDE AN OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED TAKE HAVE) = V-BURN PRE-BURN>
<SYNTAX ;LIGHT LUENDE OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM)
AN ;MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED TAKE HAVE)
= V-BURN PRE-BURN>
<SYNONYM LUENDE L\%UNDE LUEND L\%UND>
;<SYNTAX LISTEN TO OBJECT = V-LISTEN>
<SYNTAX HOER ZU OBJECT = V-LISTEN>
<SYNTAX HOER NACH OBJECT = V-LISTEN>
<SYNTAX HOER AN OBJECT = V-LISTEN>
;<SYNTAX LISTEN FOR OBJECT = V-LISTEN>
<SYNTAX HOER OBJECT = V-LISTEN>
<SYNONYM HOER HOERE LAUSCH LAUSCHE HORCH HORCHE>
<SYNTAX SCHAU = V-LOOK>
<SYNTAX SIEH DICH ;UM OBJECT (FIND KLUDGEBIT) = V-LOOK>
<SYNTAX LOOK UP OBJECT (FIND KLUDGEBIT) = V-LOOK>
<SYNTAX LOOK DOWN OBJECT (FIND KLUDGEBIT) = V-LOOK>
;<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EXAMINE>
<SYNTAX SCHAU AN OBJECT = V-EXAMINE>
<SYNTAX SCHAU AUF OBJECT = V-LOOK-ON>
<SYNTAX SCHAU DURCH OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY)
= V-LOOK-INSIDE>
<SYNTAX SCHAU UNTER OBJECT = V-LOOK-UNDER>
<SYNTAX SCHAU HINTER OBJECT = V-LOOK-BEHIND>
<SYNTAX SCHAU IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-LOOK-INSIDE>
<SYNTAX SCHAU OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT = V-READ PRE-READ>
;<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT = V-READ PRE-READ>
;<SYNTAX LOOK FOR OBJECT = V-FIND>
<SYNONYM SCHAU SCHAUE STARRE BLICKE SEH>
<SYNTAX LASS HINUNTER OBJECT = V-LOWER>
<SYNTAX SCHMIER OBJECT MIT OBJECT (HELD CARRIED) = V-OIL>
<SYNONYM SCHMIER SCMEIRE OELE FETT FETTE>
<SYNTAX MACH OBJECT = V-MAKE>
<SYNTAX SCHMELZ OBJECT
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-MELT>
<SYNONYM SCHMELZ SCHMELZE VERFLUESSIGE VERFL\%USSIGE>
<SYNTAX BEWEG OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
;<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO>
<SYNTAX BEWEG OBJECT (ON-GROUND IN-ROOM) NACH OBJECT = V-PUSH-TO>
<SYNONYM BEWEG BEWEGE>
;<SYNTAX MOVE OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
;<SYNTAX MOVE OBJECT WITH OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
<SYNTAX ROLL AUF OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNONYM ROLL ROLLE>
<SYNTAX MURMLE = V-MUMBLE>
<SYNONYM MURMLE SEUFZE NUSCHELE>
<SYNTAX NEIN = V-NO>
<SYNTAX ODYSSEUS = V-ODYSSEUS>
<SYNONYM ODYSSEUS ULYSSES>
<SYNTAX OEFFN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-OPEN>
<SYNTAX MACH AUF OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-OPEN>
<SYNTAX OEFFN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) MIT
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-OPEN>
<SYNONYM OEFFN OEFFNE>
;<SYNTAX WAEHL OBJECT = V-PICK> ;"ren: as in pick a lock?"
<SYNTAX KNACK OBJECT = V-PICK>
<SYNTAX KNACK OBJECT MIT OBJECT = V-PICK>
<SYNONYM KNACK KNACKE>
<SYNTAX ;PICK-UP HEB AUF OBJECT (FIND TAKEBIT) (ON-GROUND MANY)
= V-TAKE PRE-TAKE>
<SYNTAX SPIELE OBJECT = V-PLAY>
<SYNTAX KLEB OBJECT MIT OBJECT ;ZU = V-PLUG>
<SYNONYM ;STOPFE KLEB KLEBE ;ZU FLICK FLICKE REPARIERE>
;<SYNONYM PLUG GLUE PATCH REPAIR FIX>
<SYNTAX PLUGH = V-ADVENT>
<SYNONYM PLUGH XYZZY>
;<SYNTAX POKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
<SYNTAX STOSS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
<SYNONYM STOSS STOSSE>
;<SYNTAX DURCHLOECHERE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
;<SYNTAX POUR OBJECT (HELD CARRIED) = V-DROP PRE-DROP>
<SYNTAX SCHUETT AUS OBJECT (HELD CARRIED) = V-DROP PRE-DROP>
<SYNTAX SCHUETT OBJECT (HELD CARRIED) IN OBJECT = V-DROP PRE-DROP>
<SYNTAX SCHUETT OBJECT (HELD CARRIED) AUF OBJECT = V-POUR-ON>
<SYNTAX GIESS OBJECT (HELD CARRIED) VON OBJECT = V-DROP PRE-DROP>
<SYNONYM GIESS GIESSE>
<SYNONYM SCHUETT SCH\%UTT SCHUETTE SCH\%UTTE VERSCHUETTE VERSCH\%UTTE>
<SYNTAX SCHENK OBJECT ;EIN (HELD CARRIED) = V-DROP PRE-DROP>
<SYNTAX SCHENK OBJECT (FIND ACTORBIT) (ON-GROUND)
OBJECT (MANY HELD HAVE) = V-SCHENKE ;V-SGIVE ;PRE-SGIVE>
<SYNONYM SCHENK SCHENKE>
;"next syntax handled by above"
;<SYNTAX SCHENKE ;DEN OBJECT(HELD CARRIED) ;DEM OBJECT ;EIN = V-DROP PRE-DROP>
<SYNTAX BET = V-PRAY>
<SYNONYM BET BETE>
<SYNTAX ZIEH OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX ZIEH AN OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX ZIEH HOCH OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNONYM ZIEH ZIEHE ZERR ZERRE REISS REISSE>
<SYNTAX PUMP AUF OBJECT = V-PUMP>
<SYNTAX PUMP OBJECT MIT OBJECT ;AUF = V-PUMP>
<SYNONYM PUMP PUMPE>
<SYNTAX STOSS OBJECT (IN-ROOM ON-GROUND) NACH OBJECT = V-PUSH-TO>
<SYNTAX STOSS OBJECT (IN-ROOM ON-GROUND) ZU OBJECT = V-PUSH-TO>
<SYNTAX STOSS OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX STOSS AN OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX STOSS OBJECT MIT OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
<SYNTAX STOSS OBJECT UNTER OBJECT = V-PUT-UNDER>
<SYNONYM STOSS STOSS SCHUBS SCHUBSE ;STICH-USED-ABOVE SCHIEB SCHIEBE DRUCK
DRUECKE DR\%UCKE DRUECK DR\%UCK>
<SYNTAX LEG OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX LEG OBJECT (HELD MANY HAVE) AUF OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX LEG OBJECT (HELD HAVE) UNTER OBJECT = V-PUT-UNDER>
<SYNTAX ZIEH AN OBJECT (IN-ROOM ON-GROUND CARRIED MANY) = V-WEAR>
<SYNTAX LEG OBJECT (HELD MANY HAVE) HINTER OBJECT = V-PUT-BEHIND>
<SYNTAX LEG ;STOPFE OBJECT MIT OBJECT = V-PLUG>
<SYNTAX ;SETZ LEG DICH ;AN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-CLIMB-ON>
<SYNTAX ;SETZE LEG INSTAND OBJECT MIT OBJECT = V-PLUG> ;"ie, to repair"
<SYNONYM LEG LEGE SETZ SETZE STELL STELLE STOPF STOPFE VERSTECK VERSTECKE>
;<SYNTAX RAISE OBJECT = V-RAISE>
;"ren: HEB AUF OBJECT is pick-up and raise -- depends on context?"
<SYNTAX HEB HOCH OBJECT = V-RAISE>
;<SYNTAX ZIEH HOCH OBJECT = V-RAISE>
<SYNONYM HEB HEBE ERHOEHE>
;<SYNTAX VERGELWALTIGE OBJECT (FIND ACTORBIT) = V-RAPE>
;<SYNONYM VERGELWALTIGE BELAESTIGE>
<SYNTAX LIES OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-READ PRE-READ>
<SYNTAX LIES AUF OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-READ PRE-READ>
;<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
WITH OBJECT = V-READ PRE-READ>
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
OBJECT = V-READ-PAGE>
<SYNONYM LIES LIESE BLAETTER BLAETTERE>
<SYNTAX BEREUE = V-REPENT>
<SYNTAX LAEUT OBJECT (TAKE) = V-RING>
<SYNTAX LAEUT MIT OBJECT (TAKE) = V-RING>
<SYNONYM LAEUT LAEUTE KLINGEL KLINGELN>
<SYNTAX REIB OBJECT = V-RUB>
<SYNTAX REIB OBJECT MIT OBJECT = V-RUB>
<SYNONYM REIB REIBE FUEHL F\%UHL FUEHLE F\%UHLE STREICHLE LIEBKOS LIEBKOSE>
<SYNTAX SAG OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
<SYNTAX SAG = V-SAY>
<SYNONYM SAG SAGE>
<SYNTAX SUCH OBJECT = V-SEARCH>
<SYNTAX SUCH IN OBJECT = V-SEARCH>
<SYNTAX SUCH NACH OBJECT = V-FIND>
<SYNONYM SUCH SUCHE>
;<SYNTAX SEARCH FOR OBJECT = V-FIND>
<SYNTAX SEND NACH ;DEM OBJECT = V-SEND>
<SYNONYM SEND SENDE>
<SYNTAX SCHUETTLE OBJECT (HAVE) = V-SHAKE>
<SYNONYM SCHUETTLE SCH\%UTTLE>
;<SYNTAX SKIP = V-SKIP>
;<SYNONYM SKIP HOP>
<SYNTAX RIECH OBJECT = V-SMELL>
<SYNONYM RIECH RIECHE SCHNUEFFLE SCHN\%UFFLE>
<SYNTAX WIRBLE HERUM OBJECT = V-SPIN>
<SYNTAX SPRUEH OBJECT AUF OBJECT = V-SPRAY>
<SYNTAX SPRUEH OBJECT MIT OBJECT = V-SSPRAY>
<SYNONYM SPRUEH SPR\%UH SPRUEHE SPR\%UHE>
<SYNTAX PRESS OBJECT = V-SQUEEZE>
<SYNTAX PRESS OBJECT AUF OBJECT = V-PUT PRE-PUT>
<SYNONYM PRESS PRESSE>
<SYNTAX STEH = V-STAND>
<SYNONYM STEH STEHE>
<SYNTAX STEH AUF OBJECT (FIND KLUDGEBIT) = V-STAND>
<SYNTAX BLEIB = V-STAY>
<SYNONYM BLEIB BLEIBE>
;<SYNTAX SCHLAG OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND WEAPONBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE) = V-ATTACK>
;<SYNTAX SCHLAG OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-STRIKE>
<SYNTAX SCHWIMM = V-SWIM>
<SYNTAX SCHWIMM IN OBJECT = V-SWIM>
<SYNTAX SCHWIMM UEBER OBJECT = V-SWIM>
<SYNONYM SCHWIMM SCHWIMME BAD BADE WAT WATE>
;"v-swing also v-wave. same ger. word"
<SYNTAX SCHWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-SWING>
<SYNTAX SCHWING ;FUCHTELE MIT OBJECT ;HERUM (FIND WEAPONBIT)
(HELD CARRIED HAVE) = V-SWING>
<SYNTAX SCHWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
NACH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-SWING>
<SYNONYM SCHWING FUCHTELE>
<SYNONYM SCHWING SCHWINGE ;STOSS>
<SYNTAX NIMM OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY) = V-TAKE PRE-TAKE>
;<SYNTAX TAKE IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
;<SYNTAX TAKE OUT OBJECT (FIND KLUDGEBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
;<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
;<SYNTAX TAKE UP OBJECT (FIND KLUDGEBIT) = V-STAND>
<SYNTAX NIMM OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
AUS OBJECT ;HERAUS = V-TAKE PRE-TAKE>
<SYNTAX NIMM OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
VON OBJECT = V-TAKE PRE-TAKE>
;<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
FROM OBJECT = V-TAKE PRE-TAKE>
<SYNONYM NIMM NIMME HOL HOLE HALT HALTE ENTFENRNE FANG FANGE>
;"ren: greif is attack and take? ANGREIFEN TO ATTACK , GREIF TO SIEZE"
<SYNTAX TRAG OBJECT = V-TRAGE> ;"Note: trage can mean take or wear"
<SYNONYM TRAG TRAGE>
<SYNTAX SAG OBJECT (FIND ACTORBIT) (IN-ROOM) UEBER OBJECT = V-TELL>
<SYNTAX SAG MIT OBJECT (FIND ACTORBIT) (IN-ROOM) UEBER OBJECT = V-TELL>
<SYNONYM SAG ERZAEHLE>
<SYNTAX FRAG OBJECT (FIND ACTORBIT) = V-TELL>
<SYNTAX FRAG OBJECT (FIND ACTORBIT) UEBER OBJECT = V-TELL>
<SYNONYM FRAG FRAGE>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) = V-THROW>
<SYNTAX WERF HOCH OBJECT (HELD CARRIED HAVE) = V-THROW>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE)
AUF OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-THROW>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE)
MIT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-THROW>
<SYNTAX WERF OBJECT UEBER OBJECT = V-OVERBOARD>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) AUF OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) VON OBJECT = V-THROW-OFF>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) UEBER OBJECT = V-THROW-OFF>
<SYNONYM WERF WERFE SCHLEUDERE SCHMEISSE WIRF WIRFE ;HOCH>
<SYNTAX BIND ZU OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX BIND AN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX BIND OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT ;ZU
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX BIND OBJECT AN ;TO OBJECT = V-TIE>
<SYNONYM BIND BINDE FESSEL FESSELE ;(FESTMACHE ZUMACHE ANBINDE)>
<SYNTAX MACH FEST OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX MACH ZU OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX MACH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT ;FEST
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX SCHATZ = V-TREASURE>
<SYNONYM SCHATZ TEMPEL>
<SYNTAX DREH OBJECT (FIND TURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND KLUDGEBIT) = V-TURN PRE-TURN>
;<SYNTAX TURN ON OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
<SYNTAX MACH OBJECT MIT OBJECT ;AN (HAVE) = V-LAMP-ON>
;<SYNTAX TURN OFF OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNTAX DREH OBJECT (FIND TURNBIT) ZU OBJECT = V-TURN PRE-TURN>
<SYNTAX DREH OBJECT (FIND TURNBIT) FUER OBJECT = V-TURN PRE-TURN>
<SYNTAX DREH UM OBJECT ;(FIND TURNBIT) = V-TURN PRE-TURN> ;"on its side"
<SYNONYM DREH DREHE>
<SYNTAX SCHLIESS OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE>
<SYNTAX VERSCHLIESS OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE-OR-LOCK>
<SYNTAX VERSCHLIESS OBJECT (ON-GROUND IN-ROOM) MIT
OBJECT (FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-LOCK>
<SYNTAX SCHLIESS AUF OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE-OR-UNLOCK>
<SYNTAX SCHLIESS AUF OBJECT (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-UNLOCK>
<SYNTAX SCHLIESS OBJECT (ON-GROUND IN-ROOM) MIT OBJECT ;AUF
(FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-UNLOCK>
<SYNONYM SCHLIESS SCHLIESSE>
<SYNTAX KNOEPF OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
<SYNTAX KNOEPF AUF OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
<SYNTAX LOESE OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
VON OBJECT = V-UNTIE>
<SYNONYM KNOEPF KNOEPFE KNOT KNOTE BEFREI BEFREIE ENTFERN ENTFERNE ENTHAKE>
<SYNTAX WART = V-WAIT>
<SYNONYM WART WARTE Z>
<SYNTAX WECK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
<SYNTAX WECK AUF OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
;<SYNTAX SEI UEBERRASCHT OBJECT (FIND KLUDGEBIT) = V-ALARM>
;<SYNTAX SEI ERSTAUNT OBJECT (FIND KLUDGEBIT) = V-ALARM>
<SYNONYM WECK WECKE WACH WACHE ERSCHRICK>
<SYNTAX GEH = V-WALK-AROUND>
<SYNTAX GEH RAUS OBJECT (FIND KLUDGEBIT) = V-EXIT>
<SYNTAX GEH MIT OBJECT = V-WALK>
<SYNTAX GEH VON ;WEG ;AWAY OBJECT = V-WALK>
<SYNTAX GEH DURCH OBJECT = V-THROUGH>
<SYNTAX GEH IN OBJECT = V-THROUGH>
<SYNTAX GEH AUF OBJECT = V-THROUGH>
<SYNTAX GEH AUS OBJECT ;RAUS = V-EXIT>
<SYNTAX GEH UEBER OBJECT = V-LEAP>
<SYNTAX GEH ZU OBJECT = V-WALK-TO>
<SYNTAX GEH NACH OBJECT = V-WALK-TO>
<SYNTAX GEH UM OBJECT ;HERUM = V-WALK-AROUND>
<SYNTAX GEH HINAUF OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX GEH HINUNTER OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNONYM GEH GEHE LAUF LAUFE REN RENE>
;"see syntax schwinge"
;<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) = V-WAVE>
;<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) AT OBJECT = V-WAVE>
;<SYNTAX WAVE AT OBJECT = V-WAVE>
;<SYNONYM WAVE BRANDISH>
<SYNTAX TIP ;DEM OBJECT = V-WAVE ;WAVE-TO-SOMEONE>
;<SYNONYM TIP WINK WINKE> ;"TIP MEANS HINT ALSO"
<SYNTAX WEAR OBJECT = V-WEAR>
<SYNTAX GEWINN = V-WIN>
<SYNONYM GEWINN GEWINNE SIEG>
<SYNTAX WIND OBJECT = V-WIND>
<SYNTAX WIND UP OBJECT = V-WIND>
<SYNONYM WIND WINDE>
<SYNTAX WISH = V-WISH>
<SYNTAX YELL = V-YELL>
<SYNONYM YELL SCREAM SHOUT>
<SYNTAX JA = V-YES>
<SYNONYM JA J>
<SYNTAX ZORK = V-ZORK>

BIN
rmode.init Normal file

Binary file not shown.

1706
script.actions Normal file

File diff suppressed because it is too large Load Diff

339
script.deaths Normal file
View File

@ -0,0 +1,339 @@
*** BELOW ARE THE SEVERAL WAYS TO DIE IN ZORK I ***
>BRUSH TEETH WITH GUNK
"Well, you seem to have been brushing your teeth with some sort of glue. As a result, your mouth gets glued together (with your nose) and you die of respiratory failure."
"Na ja, du scheinst deine Zaehne mit irgendwelchem Klebstoff geputzt zu haben. Die natuerliche Folge davon ist ein zusammengeklebter Mund(mit der Nase), und du stirbst an Atemversagen."
>BURN LEAVES
"The leaves burn, and so do you."
"Die Blaetter stehen in Flammen, und du mit."
>KILL THIEF WITH KNIFE
"As the knife approaches its victim, your mind is submerged by an
overmastering will. Slowly, your hand turns, until the rusty blade
is an inch from your neck. The knife seems to sing as it savagely
slits your throat."strange phrase in English????
"Als das Messer sich seinem Opfer naehert, wird dein Gehirn von einem Willen ueberwaeltigt, den du nicht meisterst. Langsam dreht sich deine Hand bis die rostige Schneide 2 cm von deinem Hals entfernt ist. Das Messer scheint zu singen, als es auf brutalste Weise deinen Hals durchschneidet."
>JUMP OF CLIFF
"It's a shame the leap you just attempted has done you in."
"Wie tragisch! Der Sprung, den du gerade gewagt hast, bringt dich um."
(NOTE: IN THE BOAT)
"You are lifted up by the rising river! You try to swim, but the
currents are too strong. You come closer, closer to the awesome
structure of Flood Control Dam #3. The dam beckons to you.
The roar of the water nearly deafens you, but you remain conscious
as you tumble over the dam toward your certain doom among the rocks at its base."
"Du wirst von dem steigenden Fluss in die Hoehe gehoben! Du versuchst, zu schwimmen, aber die Stroemung ist zu stark. Du geraetst naeher und naeher an die ueberwaeltigende Masse des Hochwasserschutzdammes #3. Der Damm winkt dir zu. Das Getoese des Wassers macht dich fast taub, aber du bleibst bei Bewusstsein, als du ueber den Damm stuerzt und deinem sicheren Tode zwischen den Steinen auf seinem Grund entgegen siehst.
"Unfortuneately, you have drowned yourself."
"Leider hast du dich ertraenkt."
"The rising water carries the boat over the dam, down the river, and over the falls. Tsk, tsk."
"Das steigende Wasser traegt das Boot ueber den Damm, flussabwaerts und ueber die Faelle. Sowas Dummes."
>LOOK AT CYCLOPS
"The cyclops, tired of all of your games and trickery, grabs you firmly.
As he licks his chops, he says \"Mmm. Just like Mom used to make 'em.\"
"Der Zyklop, der deiner listigen Spielchen ueberdruessig ist, zerquetscht dich zwischen seinen Fingern. Waehrend ihm das Wasser im Mund zusammenlaeuft, sagt er:\"Das schmeckt wie bei Muttern. Mmmh."\"
It's nice to be appreciated."
"Es ist angenehm, geschaetzt zu werden."
>BURN THE BODIES (IN HADES)
"The voice of the guardian of the dungeon booms out from the darkness, \"Your disrespect costs you your life!\" and places your head on a sharp pole."
"Die Stimme des Kerkermeisters droehnt aus dem Dunkel\"Deine Nichtachtung wird dir dein Leben kosten\", und er steckt deinen Kopf auf einen spitzen Stock."
>BURN THE BLACK BOOK
"A booming voice says \"Wrong, cretin!\" and you notice that you have
turned into a pile of dust. How, I can't imagine."
"Eine donnernde Stimme sagt:\"Falsch gedacht, Schwachkopf!"\ und du bemerkst, dass du dich in eine Staubmasse verwandelt hast. Wie, kann ich mir einfach nicht vorstellen."
>WALK NORTH (INTO THE GAS ROOM)
** BOOOOOOOOOOOM **
(NOTE: THE RAINBOW GIVES WAY)
"The structural integrity of the rainbow is severely compromised, leaving you hanging in midair, supported only by water vapor. Bye."
"Die Tragfaehigkeit des Regenbogens laesst sehr zu wuenschen uebrig, was dich schwebend in der Luft haengen laesst. Du bist nur von Wasserdampf gestuetzt. Auf Wiedersehen."
>PUT MYSELF IN RIVER
"You splash around for a while, fighting the current, then you drown."
"Du planschst fuer eine Weile wild im Wasser rum, um dich gegen die Stroemung zu halten, dann ertrinkst du."
...
"Unfortunately, the magic boat doesn't provide protection from
the rocks and boulders one meets at the bottom of waterfalls.
Including this one."
"Leider gewaehrt das Zauberboot keinen Schutz gegen Steine und Felsbloecke, die man unten am Wasserfall trifft. Auch gegen diesen nicht."
THE BOAT DEFLATES...
"Another pathetic sputter, this time from you, heralds your drowning."
"Ein weiteres armseliges Ausblasen, diesmal kommt es aus dir
bestaetigt dein Ertrinken."
THE BOAT DEFLATES...
"In other words, fighting the fierce currents of the Frigid River. You
manage to hold your own for a bit, but then you are carried over a
waterfall and into some nasty rocks. Ouch!"
"Mit anderen Worten, gegen die toedlichen Stroemungen des Gletsch kaempfen. Du haelst dich eine Weile ueber Wasser, aber dann wirst du ueber einen Wasserfall in gefaehrliche Felsen gezogen. Auuuuu!"
(NOTE: IF YOU DIG TOO DEEP)
"The hole collapses, smothering you."
"Das Loch bricht zusammen, du erstickst."
DITTO
"That was just a bit too far down."
"Das war wohl ein wenig zu weit unten."
FIGHTING A VILLAIN...
"It appears that that last blow was too much for you. I'm afraid you
are dead."
"Es scheint, als ob der letzte Hieb dir den Rest gegeben hat. Es tut mir leid, aber du bist tot."
DITTO
"Well, you really did it that time. Is suicide painless?"
"Na ja, diesmal hast du es endlich geschafft. Ist Selbstmord schmerzlos?"
>THROW THING AT ME
"The THING hits you squarely in the head. Normally, this wouldn't do much damage, but by incredible mischance, you fall over backwards trying to duck, and break your neck, justice being swift and merciful in the Great Underground Empire." copy from text.
>WALK NORTH
"Oh, no! You have walked into a den of hungry grues and it's dinner time!" copy
DITTO
"Oh, no! You have walked into the slavering fangs of a lurking grue!"copy
>ATTACK MYSELF
"If you insist.... Poof, you're dead!"
"Wenn du darauf bestehst.........Bum! Du bist tot."
*** BELOW ARE SOME MORE MISCELLANEOUS TEXT STRINGS ***
>TAKE THE SWORD AND THE LAMP
"Those things aren't here!"
"Diese Dinge sind nicht hier!"
>LOOK AT THE THING
"You can't see that here!" (RENATA: does the word 'that' depend on gender?) no
"Das kannst du hier nicht sehen!"
>PERSON, TAKE THE SWORD
"The PERSON seems confused. ""I don't see that here!""
"Der PERSON scheint verwirrt""Ich sehe das hier nicht!""
>CLIMB STAIRS
"You should say whether you want to go up or down."
"Du musst sagen, ob du nach oben oder unten gehen willst."
>SAILOR, GO AWAY
"You can't talk to the sailor that way."
"So kannst du mit dem Seemann nicht sprechen."
>LOOK AT SAILOR
"There is no sailor to be seen."
"Hier ist kein Seemann zu sehen."
>HELLO, SAILOR
"You seem to be repeating yourself."
"Du wiederholst dich."
>HELLO, SAILOR
"I think that phrase is getting a bit worn out."
"Dieser Satz wird langsam langweilig."
>HELLO, SAILOR
"Nothing happens here."
"Hier passiert garnichts."
>DIG IN GROUND
"The ground is too hard for digging here."
"Hier ist der Boden zu hart zum Graben."
>LOOK AT GRUE
"There is no grue here, but I'm sure there is at least one lurking in the darkness nearby. It would be wise keep an eye on your light source!"
"Hier ist kein Greuel, aber ich bin sicher, das mindestens eines hier in der Naehe im Dunkeln auf der Lauer liegt. Es waere schon klug,
auf die Lichtquelle zu achten."
>LISTEN TO GRUE
"It makes no sound but is always lurking in the darkness nearby."
"Es gibt keinen Ton von sich, aber es liegt immer in der Naehe im Dunkeln."
>TALK TO MYSELF
"Talking to yourself is said to be a sign of impending mental collapse."copy
>WAKE MYSELF UP
"You're already wide awake!"
"Du bist schon hellwach!"
>EAT MYSELF
"Auto-cannibalism is not the answer."
"Selbst-Kanibalismus ist nicht die Loesung."
>KILL MYSELF
"Suicide is not the answer."
"Selbstmord ist nicht die Loesung."
>THROW MYSELF AT THE TROLL
"Why don't you just walk like normal people?"
"Warum laeufst du nicht wie normale Menschen?"
>TAKE ME
"How romantic!"
"Ach, wie romantisch!"
>LOOK AT MYSELF
"Your image in the mirror looks tired."
"Dein Spiegelbild sieht muede aus."
>LOOK AT MYSELF
"That's difficult unless your eyes are prehensile."
"Das ist schwierig, ausser wenn deine Augen rausnehmbar sind."
>WHAT IS A ZORKMID
"The zorkmid is the unit of currency of the Great Underground Empire."
"Zorkknete ist die Waehrung des Grossen Unterweltreiches."
>FIND ZORKMID
"The best way to find zorkmids is to go out and look for them."
"Man findet Zorkknete am besten, indem man rausgeht, und sie sucht."
*** BELOW ARE RESPONSES GIVEN WHEN YOU INPUT IS UNCLEAR ***
(GENERAL NOTES: IN THE GAME, IF YOU MISSPELL A WORD, THE GAME WILL TELL YOU
IT'S DOESN'T KNOW THE WORD. BUT THEN YOU MAY TYPE >OOPS "WORD", SPELLING IT CORRECTLY, SO YOU WON'T HAVE TO RETYPE THE WHOLE INPUT.)
(NOTE: IF YOU TYPE NOTHING, AND JUST HIT RETURN)
"I beg your pardon?"
"Bitte ?"
(NOTE: IF YOU TYPE A PERIOD AND THEN A RETURN WITH NO WORDS)
"I can't help your clumsiness."
"Das war tolpatschig."
(NOTE: IF YOU TYPE >OOPS SOMETHING AND THE SOMETHING WAS IN A QUOTE)
"Sorry, you can't correct mistakes in quoted text."
"Es tut mir leid, aber Fehler im vorgegebenen Text lassen sich nicht korrigieren."
(NOTE: IF YOU TYPE ">OOPS WORD1 WORD2")
"Warning: only the first word after OOPS is used."
"Warnung: nur das erste Wort nach HOPPLA kann gelten."
(NOTE: IF YOU TYPE "OOPS" AFTER YOU DIDN'T MISSPELL SOMETHING)
"There was no word to replace!"
"Hier gab es kein Wort zu ersetzen!"
(NOTE: IF YOU TYPE "OOPS" AFTER AN INCOMPLETE INPUT GAME)
"It's difficult to repeat fragments."
"Gespraechsfetzen wiederholen ist schwierig."
(NOTE: IF YOU TYPE "AGAIN" AFTER A BAD SENTENCE INPUT)
"That would just repeat a mistake."
"Das wuerde den Fehler nur wiederholen."
"That sentence was not understood."
"Dieser Satz ist nicht verstanden worden."
"There were too many nouns in that sentence."
"Der Satz hatte zu viele Substantive ."
"Please consult your manual for the correct way to talk to other people or creatures."
"Bitte lies die Anleitung zum Spiel, um die richtige Anrede zu finden, die man fuer andere Leute oder Biester benutzt.
>LOOK AT THING
"The word is not in the story's vocabulary of understanding."
"Dieses Wort kann nicht von dem Spielvokabular verstanden werden."
>LOOK AT THE DIG (NOTE: DIG IS RECOGNIZED ONLY AS A VERB)
"You used the word "dig" in a way that I don't understand."
"Du hast das Wort "graben" so gebraucht, dass ich es nicht verstehen kann."
>DOG THE TROLL
"There was no verb in that sentence!"
"In diesem Satz fehlt das Verb!"
"That sentence isn't recognized by the story."
"Das Spiel erkennt diesen Satz nicht."
>WHO IS TROLL
"That question can't be answered."
"Diese Frage kann nicht beantwortet werden."
>TROLL, LOOK AT THE BUTTON
"I don't understand! What are you referring to?"
"Ich verstehe das nicht! Worauf beziehst du dich?"
>LOOK AT THE RED
"There seems to be a noun missing in that sentence!"
"In diesem Satz scheint ein Substantiv zu fehlen!"
"It's too dark to see!"
"Es ist zu dunkel, um das zu sehen."
>DROP SWORD
"You don't have that!"
"Das hast du nicht!"
"You don't have the SWORD."
"Du hast den SCHWERT nicht."
>READ THE LEAFLET
(taking the leaflet first)
(Das Blatt erst nehmen)
The leaflet says... ect.
"Auf dem Blatt steht.......etc. " We might have to talk about the syntax here??? Jeff.
>LOOK AT THE RED
It's not clear what you're referring to."
"Es ist nicht klar, worauf du dich beziehst."
>LOOK AT THE SWORD AND LAMP
You can't use multiple direct objects with "look."
"Man kann mehrere Akkusative nicht mit "ansehen" gebrauchen."
I need more feedback on that, R. Yes, Hildegunde also!
>HIT THE TROLL WITH SWORD AND KNIFE
You can't use multiple indirect objects with "hit."
need mor feedback.
>LOOK
"It's too dark to see."
"Es ist zu dunkel, um etwas zu sehen."
>TAKE THE SWORD AND LAMP
Sword: Taken.
The other object that you mentioned is not here.
"Schwert: genommen."
Das andere Ding, von dem du sprichst, ist nicht hier."
>TAKE ALL
"There's nothing here you can take."
"Es gibt hier nichts, das man wegnehmen kann."
:>?*****************************( uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT0**************>M',x}[_^c11 }}}}}w@ J,-aby$^_l<=TYLq{wsssssoosssssssssskqr=ZUj    > _ `
@
)
:  K{{{{{{{{{{ws{{{{{ww{{w K  2 [ \ x

+
,
A:fgi 
 >D{wwwwsswwwwswwwwwwwwoDqrN;<@=R\]r9v(o2^%{wwwswwwww{wwwwwwwwww{%&Bh=efg}BM/06p:;<ON{{{{{{{{{{{{{w{{{w{{{sNOP\,-3}~ 4hij!"?[z{^{{{w{{w{{{{{{{{{{{{{w{{P 
LBqr#EFUz!Ryz{{{{{{{{{{{{{{{{{{{{{{{z !<=Lw !/>Ffgw9cdt+{{{{{{{{{ww{{{{w{{w{{{{+,8^  6 Z [ v $ S T ] m!!!!=!a!b!r!&{{{{{{{{{{{{{{{{{{{{{{{!&!e!f!y"@"{"|"
"J###L#$$$$P$e$o$p$-$M$e{{{w{{{{{{{ws{{{{{{{{{$e$f%+%_%2%3%[&&E&F&&%&J&K''-'['\''7'`'a'b{w{w{{{{{{{{{{{{{{{s{{'b((1(2(3(a( (
( (b)Z)i)')j)k*%*a*-*.*=*c++{{{{{w{{ss{{{{{{s{{{{{+++5+\+]+k++;+<+W,,;,<,M,,5,6,N,s,t---,--{{{{{{{{{{{{{{w{{{{{{{{---I-f-g-y--,---F....0.Z.. .
.&.Y//N/O/P{{{{{{{{w{{{{{{{{{ss{{/P/t/(/;/</B/Z0000)0Z0o0&0'010V1{{{{{{{{{{{{{{{{{^01j
iw!J'1,0@@@ 1 cq KD%Nz+!&$e'b+--/P1defghijklmnopqr
ef

928
script.defaults Normal file
View File

@ -0,0 +1,928 @@
>wake up the troll-object (Note: after it's unconscious)
The troll-object is rudely awakened.
>wake up the troll-object
The troll-object is already awake, or haven't you noticed.
>wake up the mailbox-object
The mailbox-object isn't sleeping!
>reply
Nobody seems to be awaiting your answer.
>attack the mailbox-object
Only a deranged individual would attack an mailbox-object.
>attack the troll-object with my hands
Trying to attack a troll-object with your bare hands is suicidal.
>attack the troll-object with the knife
You arn't even holding the knife-object.
>attack the troll-object with sandwich
Trying to attack a troll-object with a sandwich is suicidal.
"Einen Troll mit einem belegten Brot anzugreifen ist Selbstmord."
>get in the boat-object
The boat-object must be on the ground to be boarded.
"Der Boot muss da sein, wenn man einsteigen will."
>get in the boat-object
You are alread in the boat-object.
"Du bist schon in dem Boot"
>get in the mailbox-object
You have a theory on how to board a mailbox-object, perhaps?
"Du hast also eine Idee, wie man in einen Briefkasten einsteigt?"
>get in the boat-object
You are now in the boat-object.
"Du bist jetzt in dem Boot."
>brush the chalice
If you wish, but only heaven knows why.
"Wenn du willst, aber um Himmels Willen, warum?"
>burn the log-object
You didn't say with what!
"Du hast nicht gesagt mit was!"
>burn the object with the fork-object
With the fork-object?!?
"Mit dem Gabel etwa?!?"
>burn the boat-object
The boat-object catches fire. Unfortunately, you were in it at the time.
[You have died.]
"Der Boot faengt Feuer. Dummerweise warst du gerade darin. (Du bist darin umgekommen.)"
>burn the log-object
The boat-object catches fire. Unfortunately, your were holding it at the time.
"Der Boot faengt Feuer. Dummerweise hast du ihn gerade festgehalten."
>burn the leaflet-object
The leaflet object catches fire and is consumed.
"Der Zettel faengt Feuer und verbrennt ."
>burn the fork-object
You can't burn the fork-object.
"Du kannst der Gabel nicht verbrennen."
>climb onto the mailbox-object
You can't climb onto the mailbox-object.
"Du kannst nicht auf den Briefkasten steigen."
>climb up the mailbox-object
The mailbox-object doesn't lead upward.
"Der Briefkasten fuehrt nicht nach oben."
>climb down the mailbox-object
The mailbox-object doesn't lead downward.
"Der Briefkasten fuehrt nicht nach unten."
>climb up the stairs
The stairs don't lead upward.
"Die Treppe fuehrt nicht nach oben."
>climb down the stairs
The stairs don't lead downward.
"Die Treppe fuehrt nicht nach unten.
>climb
You can't go that way.
"In diese Richtung kannst du nicht gehen."
>climb the walls
Climbing the walls is to no avial.
"Die Waende raufzuklettern ist sinnlos."
>close the leaflet-object
It's utterly impossible to close a leaflet-object.
"Es ist ist einfach unmoeglich einen Zettel zu schliessen."
>close the mailbox-object
Closed.
"Geschlossen."
>close the door-object
The door-object is now closed.
"Der Tuer ist jetzt geschlossen."
>close the door-object
the door object is already closed.
"DerTuer ist schon geschlossen."
>close the log-object (der Stamm in German)
You cannot close that.
"Du kannst das da nicht schliessen.":
>command the troll-object
The troll-object pays no attention.
DER-NOM-CAP reagiert nicht."
>command the mailbox-object
You cannont talk to that!
"Damit kannst man nicht sprechen.
>count my blessings [Renata: The player is blessed if he prays at the alter.] >"danke meinem Schoepfer.
Well, for one, you are playing Zork...
"Vergiss nicht, du spielst Zork."
>count the mailbox-object
You have lost your mind.
"Du bist verrueckt."
>cut the boat-object with the knife
Not a bright idea, since you're in it. Your skillfull boatsmanship slices
boat into inumerable slivers which blow away.
"Nicht die kluegste Idee, denn du bist drin. Deine raffinierte Navigation zermalmt den Boot in unzaehlbare Splitter, die wegfliegen."
>cut the log with the chalice-object
The "cutting edge" of the chalice is hardly adequate.
"* must find computer lingo term:attempt by Renata and Hildegunde:
"Die scharfen Kanten des Kelches haben keinen Schneid."
>cut the mailbox-object
Strange concept, cutting the mailbox-object
"Eine eigenartige Idee, den Briefkasten zu zerschneiden."
>deflate the mailbox-object
Come on, now!
"So ein Quatsch!"
>dig in the ground with the shovel
There's no reason to be diggin here
"Hier gibt es wahrlich keinen Grund zum Graben."
>dig in ground with the knife-object
Digging with the knife-object is slow and tedious.
"Mit dem Messer zu graben ist langsam und muehsam."
>dig in ground with sandwich-object
Digging with the sandwich-object is silly.
"Mit dem belegten Brot zu graben ist bloedsinnig."
>get out of the mailbox-object
You're not in that!
"Da bist du doch gar nicht drin!"
>get out of the boat-object
You are on your own feet again.
"Du stehst wieder auf eigenen Fuessen."
>get out of the boat-object [Renata: Eg, when it's on the river]
You realize that getting ou here would be fatal.
Du begreifst, dass es deinen Tod bedeuten wuerde, wenn du hier ausstiegest."
>drink from mailbox-object
How peculiar!
"Wie eigenartig!"
>drop the knife-object
Dropped.
"Fallen gelassen."
>eat the sandwich-object
You're not holding that.
"Das hast du doch gar nicht in der Hand."
>drink the sandwich-object
How can you drink that?
"Wie in aller Welt willst du den denn trinken?"
>drink the water-object
You don't have any to drink. anything?
"Du hast doch garnichts zu trinken."
>drink the water-object
You have to be holding the bottle-object first.
"Erst musst du doch den Flasche in der Hand halten."
>drink the water-object
You have to open the bottle-object first.
"Erst musst du doch den Flasche oeffnen."
[Note: if the theif steals your lighted lamp.]
You are left in the dark.
"Du tappst im Dunkeln."
>look at boat-object
There's nothing speacial about the boat-object.
"Da ist nichts Besonderes an dem Boot."
>exorcise the mailbox-object
What a bizarre concept!
"Was fuer eine Schnappsidee!"
>fill the chalice-object
There's nothing to fill it with. [Note: ie, no water]
"Da ist nichts, mit dem man ihn fuellen koennte."
>find me
You're around here somewhere...
>find air-object
You can find that yourself.
>find the knife-object
You have it.
>find the mailbox
It's right here.
"Er ist hier."
>find the ax-object
The troll-object has it.
DER-NOM-CAP hat ihn."
>find the sandwich-object
It's on the table-object.
"Er ist auf dem Tisch."
>find the thief
Beats me.
"Da bist du bei mir an der falschen Adresse."
>follow the mailbox
You're nuts!
"Du bist narrisch!"
>FROBOZZ
The FROBOZZ Corporation created, owns, and operates this dungeon.
??????????????????????
Die FROBOZZ FIRMA gruendete, besitzt und leitet diesen Kerker."
>give the sandwich-object to the troll-object
That's easy for you to say since you don't even have the sandwich object.
"Das kannst du leicht sagen, denn du besitzt ja nicht einmal den belegten Brot."
>give the leaflet-object to the mailbox-object
You can't give a leaflet-object to a mailbox-object!
"Du kannst einem Briefkasten doch keinen Zettel geben!"
>give the stone-object to the troll-object
The troll-object politely refuses the stone object.
>troll-object, hello
The troll-object bows his head to you in greeting.
>hello, mailbox
It's a well known fact that only schizophrenics say "Hello" to a
mailbox-object.
>inflate the mailbox-object
How can you inflate that?
>kiss troll-object
You'd sooner kiss a pig.
>knock on the door
Nobody's home.
>knock on the mailbox-object
Why knock on a mailbox-object
>turn off the lamp-object
The lamp-object is already off.
>turn off the lamp-object
Okay, the lamp-object is now off.
"O.k. der Lampe ist jetzt aus."
It is now pitch black.
>turn off mailbox-object
You can't turn that off.
>turn on lamp-object
It is already on.
>light the leaflet-object [Note: leaflet-object is burnable object]
If you wish to burn the leaflet-object, you should say so.
>turn on the mailbox-object
You can't turn that on.
>launch the boat
You can't launch that by saying "launch.
>launch the mailbox
That's pretty weird.
>lean on the tree-object
Getting tired?
>jump over the troll-object
The troll-object is too big to jump over.
>jump over the mailbox
That would be a good trick.
>jump down [Note: off the cliff]
That was not a very safe place to try jumping.
>jump down [Note: you are up the tree]
In a feat of unaccustomed daring, you manage to land on your feet without killing yourself.
[Note: these are printed right before you jump and die from the fall]
"You should have looked before you leaped."
"In the movies, your life would be passing before your eyes."
"Geronimo..." ????????
>listen to the mailbox-object
At the moment, the mailbox-object makes no sound.
>lock the mailbox-object
It doesn't seem to work.
>look behind the mailbox-object
There is nothing behind the mailbox-object.
>look inside the door-object
"The door-object is open, but you can't tell what's
beyond it.
>look inside the door-object
The door-object is closed.
>look inside the troll
There is nothing special to be seen.
>look on the table-object
There is nothing on the table-object.
>look inside the mailbox-object
The mailbox object is empty.
>look inside the mailbox-object
The mailbox object is closed.
>look inside the log-object
You can look inside a log-object.
>look on the sandwich-object
Look on a sandwich-object???
>look under the mailbox-object
There is nothing but dust there.
>make a coin-object
You can't do that.
>melt the gold-object
It's not clear that gold-object can be melted.
>move the sandwich-object [Note: you are holding the object]
You aren't an accomplished enough juggler.
>move the leaflet-object
Moving leaflet-object reveals nothing.
>move the mailbox-object
You can't move the mailbox-object.
>break the mailbox-object
Trying to destroy the mailbox-object with your bare hands is futile.
>break the mailbox-object with the knife-object
Trying to destroy the mailbox-object with the knife-object hands is futile.
>break the mailbox-object
Nice try.
>odysseus [Note: getting rid of the cyclops]
The cyclops, hearing the name of his father's deadly nemesis, flees the roomby knocking down the wall on the east of the room
>oddysseus [Note: if the cyclops isn't here]
Wasn't he a sailor?
>oil the mailbox-object
You probably put spinach in your gas tank, too.
>open the mailbox-object
It is already open.
>open the mailbox-object
Opened.
>open the mailbox-object
The mailbox-object opens.
>open the chalice-object
You cannot seem to open the chalice-object.
>pick the mailbox-object (Note: You CAN try to 'pick a lock' in the game.)
You can't pick that.
>play the troll-object
You become so engrossed in the role of the troll-object that you kill yourself, just as he might have done!
>play the mailbox-object
That's silly.
>plug the mailbox-object (Note: You can try to PLUG A LEAK in the game.)
This has no effect.
>pour water on the torch-object
The torch-object is extinquished.
>pour water on the rock-object
The water pours over the rock-object, to the floor, and evaporates.
>pour the rainbow-object on the torch.
You can't pour that.
>pray (Note: If you pray at the alter, you're let out of the dungeon.)
If you pray enough, your prayers may be answered.
>push the rock to the machine-object.
You can't push things to that.
>put the rock-object in the ground.
You can't do that.
>put the leaflet in the mailbox-object
The mailbox-object isn't open.
>put the leaflet-object into the leaflet-object
How can you do that?
>put the leaflet-object into the mailbox-object
The leaflet-object is already in the mailbox-object.
>put the leaflet-object into the mailbox-object
There's no room. [Note: In other words, the mailbox is already full.]
>put the leaflet-object into the mailbox-object
You don't have the leaflet-object.
>put the leaflet-object into the mailbox-object
Done.
>put the chalice-object behind the table
That hiding place is too obvious.
>put the chalice on the rock-object
There's no good surface on the rock-object.
>put the chalice under the rock
You can't do that.
>read the leaflet
It is impossible to read in the dark.
>read the leaflet through the chalice-object
How does one look through a chalice-object.
>read the rock-object
How does one read the rock-object?
>repent (Note: Usually input in Hades.)
It could very well be too late!
>reply
It is hardly likely that troll-object is interested.
>ring the chalice-object (Note: you CAN ring the bell.)
How, exactly, can you ring that?
>say "hello" [Note: If a person is in the room.]
To speak to characters, type:
PERSON, HELLO or
PERSON, DROP THE AX (etc.)
>say "hello"
Talking to yourself is a sign of impending mental collapse.
>search the room
You find nothing unusual.
>send for the troll-object
Why would you send for the troll-object?
>send for the chalice
That doesn't make sense.
>shake the troll-object
This seems to have no effect.
>shake the mailbox
You can't take it; thus, you can't shake it.
>shake the bag-object
The content of the bag-object spill out and disappears.
>shake the bag-object
The content of the bag-object spill to the ground.
"Der Inhalt des Tuete faellt
>shake the leaflet
Shaken.
>shake the box-object (Note: the box is closed)
It sounds like there's something inside the box-object.
>shake the box-object (Note: it's empty)
The box-object sounds empty.
"Der Schachtel hoert sich leer an."
>jump up
"Very good. Now you can go to the second grade." (Note: 4 possible responses)
"Are you enjoying yourself?"
"Wheeeeeeeeee!!!!!"
"Do you expect me to applaud?"
>smell the mailbox-object
It smells just like a mailbox-object.
>spin the mailbox-object
You can't spin that!
>squeeze the troll-object
The troll-object does not understand this.
>squeeze the mailbox-object
How singularly useless.
>stab the troll-object (Note: without a knife)
No doubt you propose to stab the troll-object with your pinky?
>stand up
You are already standing, I think.
>stay
You don't move a muscle.
>strike the troll-object
Since you aren't versed in hand-to-hand combat, you'd better attack the troll-object with a weapon.
>swim
Swimming isn't usually allowed in the dungeon.
>Swimm (Note: with no water around.)
Go jump in a lake!
>swing the sword-object
Whoosh!
>take the shirt-object
You are already wearing the shirt-object.
>take the leaflet
You already have that!
>take the leaflet (Note: it's in the close mailbox)
You can't reach something that's inside a closed container.
>take the leaflet from the mailbox
The leaflet-object isn't in the mailbox-object.
>take the shirt
You are now wearing the shirt-object.
>take the leaflet-object.
Taken.
"Genommen."
>talk to troll
The troll-object pauses for a moment, perhaps thinking that you should reread the manual.
>talk to mailbox
You can't talk to the mailbox-object.
>get into the mailbox
You hit your head against the mailbox-object as you attempt this feat.
>get into the table-object
You can't do that!
>get into the chalice-object (Note: you are holding it.)
That would involve quite a contortion.
>throw the knife-object at me
A terrific throw! The knife-object hits you squarely in the head. Normally, this wouldn't do much damage, but by incredible mischance, you fall over backwards trying to duck, and break your neck, justice being swift and merciful in the Great Underground Empire.
"Ein toller Wurf! Den Messer trifft dich genau in den Kopf. Normalerweise wuerde daraus nicht viel Schaden entstehen, aber du hast das unsagbare Pech, hintenueberzufallen, als du dich ducken willst und brichst dir das Genick. Die Gerechtigkeit kommt schnell und gnadenreich im Grossen Land der Unterwelt." ????
>throw the knife-object at the troll-object
The troll-object ducks as knife-object flies by and crashes to the ground.
>throw the knife-object.
Thrown.
>throw the knife-object off the table (Note: rather that off the cliff, ect)
You can't throw anything off of that!
"Von dort kann man nichts runterwerfen!"
>tie the rope to myself
You can't tie anything to yourself.
"Du kannst nichts an dir selber festbinden."
>tie the rope-object to the rock
You can't tie the rope-object to that.
"Daran kannst du das Seil nicht festbinden."
>tie up the troll-object with the rubber-boat
You could certainly never tie the troll with that!
"Den Troll kannst du damit bestimmt nicht fesseln!"
>turn the screw
Your bare hands don't appear to be enough.
"Mit nackten Haenden kommst du hier nicht weiter."
>turn the mailbox-object
You can't turn that!
"Den kannst du nicht umdrehen!"
>turn the leaflet
This has no effect.
"Erfolglos."
>tie the boat-object
The boat-object cannot be tied, so it cannot be untied!
"Den Boot kann nicht festgebunden werden, also kann er auch nicht losgebunden werden!"
>wait
Time passes...
"Zeit vergeht..."
>go south
You can't go that way.
"In die Richtung kannst du nicht gehen."
>go north
The door-object is closed.
"Der Tuer ist geschlossen."
>walk north (Note: it's dark)
Oh, no! You have walked into a den of hungry grues and it's dinner time!
"O nein! Du bist in eine Hoehle von hungrigen Greulen geraten und es ist Essenszeit!"
>walk north (ditto)
Oh, no! You have walked into the slavering fangs of a lurking grue!
"O nein! Du bist in die lechzenden Faenge eines lauernden Greuls geraten!"
>walk around
Use compass directions for movement.
"Benutze einen Kompass fuer die Richtung."
>walk to the mailbox-object
The mailbox-object is here!
"Der Briefkasten ist hier!"
>walk to the dog
You should supply a direction!
"Du musst eine Richtung angeben!"
>wear the knife-object
You can't wear the knife-object
"Du kannst den Messer nicht tragen."
>win
Naturally!
"Logo! Klar!"
>wind the mailbox-object (Note: you can wind a clock)
You cannot wind up the mailbox-object
"Du kannst den Briefkasten nicht aufziehen."
>wish
With luck, your wish will come true.
"Mit viel Glueck, wird dein Wunsch sich erfuellen."
>yell
Aaaarrrrgggghhhh!
AAAUUUUUU!"
>zork
At your service!
"Zu deinen Diensten!"
>look
It is pitch black.
You are likely to be eaten by a grue.
"Es ist stockdunkel.
"Die Wahrscheinlichkeit, dass du von einem Greul gefressen wirst, ist ziemlich gross."
>look
Only bats can see in the dark. And you're not one.
"Nur Fledermaeuse koennen im Dunkeln sehen. Und du bist keine."
>look
There is a mailbox-object here.
There is a torch here.
"Hier ist eine Fackel."
>inventory
You are carrying:
"Du traegst:
A shirt (being worn).
"Ein Hemd auf dem Leib."
>look
Your collection of treasures consists of:
"Deine Schatzsammlung besteht aus:
[Etc., etc.]
>look
Sitting on the table-object is:
"Auf dem Tisch sind:"
[Etc., etc.]
>look
It appears the troll-object is holding:
"DER-NOM-CAP scheint das Folgende zu halten:"
[Etc., etc.]
>look
It appears the box-object contains:
"Der Schachtel scheint das Folgende zu enthalten:"
[Etc., etc.]
>look at treasures [Note: after you have collected all the treasures.]
An almost inaudible voice whispers in your ear, "Look to your treasures
for the final secret.
"Eine fast unvernehmbare Stimme fluestert dir zu: "Suche unter den Schaetzen nach dem letzten Geheimnis."
>take the chalice [Note: you are a disembodied spirit, ie dead.]
Your hand passes through its object.
"Deine Hand greift durch das Objekt hindurch."
>take the chalice
Your load is too heavy.
"Deine Last ist zu schwer."
>take the chalice
Your load is too heavy, especially in light of your condition.
"Deine Last ist zu schwer, aber du nimmst es leicht."
>take the chalice
You're holding too many things already!
"Du hast deine Haende schon zu voll!"
>drop the leaflet-object
You're not carrying the leaflet-object.
"Du traegst den Zettel nicht."
>drop the leaflet [Note: it's in a closed box]
The box-object is closed.
"Der Schachtel ist geschlossen."
>wave the chalice-object
The chalice-object isn't here!
"Der Kelch ist nicht hier!"
[Note: this sentence is for variety. One string from A and B are chosen
randomly to form the sentence. "Fiddling with" is when you 'rub' something.
"Playing in this way..." is when you 'lower' something.]
A) "Kicking " / "Playing in this way with" / "Pushing " /
"Fiddling with " / "Waving "
"A) "mit dem Fuss treten" /..........runterlassen"./."Schieben"./."mit .........reiben."/."mit ..........wedeln."
B) "the OBJECT"
"B) "der OBJEKT"
B) " doesn't seem to work." / " isn't notably helpful." / " has no effect."
B)" scheint nicht zu funktionieren." /."ist nicht hilfreich."./."erfolglos."
>go north
You can't go there in the boat-object.
"Mit dem Boot kannst du da nicht hin."
>go south
You can't go there without a vehicle. (Note: eg, a boat)
>hello (Note: If no one is around.)
"Good day."
"Nice weather we've been having lately."
"Goodbye".
."
[Note: these are responses to really silly inputs.]
"A valiant attempt."
"Ein beachtlicher Versuch."
"You can't be serious."
"Das kann doch nicht dein Ernst sein."
"An interesting idea..."
"Eine interessante Idee...."
"What a concept!"
"Geniale Idee!"
[Note: if you, eg, type 'get out of boat' when your not in it.]
"Look around."
"Too late for that."
"Have your eyes checked."
"Schau dich um."
"Dazu ist es zu spaet."
"Lass dir mal die Augen checken."

93
script.fight Normal file
View File

@ -0,0 +1,93 @@
<LTABLE (PURE) "Der Zyklope schafft es nicht, aber die Nachwelle schmeisst dich beinahe um.">
<LTABLE (PURE) "Der Zyklope greift dich an, aber er rennt gegen die Wand.">
<LTABLE (PURE) "Der Zyklope sendet dich bewusstlos zu Boden.">>
<LTABLE (PURE) "Der Zyklope bricht dir mit einem ungeheuren Hieb das Genick.">
<LTABLE (PURE) "Ein schneller Schlag, aber er hat dich nur gestreift.">
<LTABLE (PURE) "Ein dich streifender Faustschlag von dem Zyklopen.">
<LTABLE (PURE) "Das Ungeheuer trifft dich mit seiner enormen Faust in der Brust und bricht dir einige Rippen.">
<LTABLE (PURE) "The Cyclops almost knocks the wind out of you with a quick punch.">
<LTABLE (PURE) "Der Zyklope nimmt dir mit einem schnellen Schlag beinahe den Atem.">
<LTABLE (PURE) "Der Zyklope landet einen Schlag, der dir den Atem momentan nimmt.">
<LTABLE (PURE) "Deiner Waffen nicht achtend wird der Zyklope dich gegen die Steinwand des Raumes.">
<LTABLE (PURE) "Der Zyklope ermaechtigt sich REN CHANGE TO WEAPON AND PRONOUNS deines Schwertes, beisst hinein und schmeisst es vaeraechtlich auf die Erde.">
<LTABLE (PURE) "Das Ungeheuer ergreift dein Handgelenk, presst seine Finger darum, und du laesst vor Schmerz REN CHANGE TO WEAPON das Schwert fallen.">
<LTABLE (PURE) "Der Zyklope scheint nicht entscheiden zu koennen, ob er sein Abendessen kochen oder backen soll.">
<LTABLE (PURE) "Der Zyklope, der hoechst unsportlich ist, wird sein bewusstloses Opfer los.">
<LTABLE (PURE) "Der Troll schwingt die Axt, aber er trifft nicht.">
<LTABLE (PURE) "Die Axt des Trolls geht haarscharf an deinem Ohr vorbei.">
<LTABLE (PURE) "Die Axt fegt vorbei, als du zur Seite springst.">>
<LTABLE (PURE) "Die Axt schmettert so hart gegen den Stein, dass Funken spruehen.">
<LTABLE (PURE) "Die flache Seite der Axt trifft dich leicht am Kopf, und du wirst bewusstlos.">
<LTABLE (PURE) "Der Troll schneidet elegant deinen Kopf ab.">
<LTABLE (PURE) "Die Axt des Trolls teilt dich in zwei gleiche Teile, von oben bis unten.">
<LTABLE (PURE) "Die Axt des Trolls haut dir den Kopf ab.">
<LTABLE (PURE) "Die Axt trifft dich direkt in die Seite. Au!">
<LTABLE (PURE) "Die Flaeche der Axt des Trolls entfernt die Haut an deinem Unterarm.">
<LTABLE (PURE) "Die Schwuenge des Trolls hauen dich beinahe um, waehrend du sie kaum rechtzeitig parieren kannst.">
<LTABLE (PURE) "Der Troll schwingt seine Axt, trifft deinen Arm als du ausweichst.">
<LTABLE (PURE) "Der Troll greift an, und seine Axt verletzt dich an deinem Schwertarm.">
<LTABLE (PURE) "Ein Axthiebt hinterlaesst eine tiefe Wunde in deinem Bein.">
<LTABLE (PURE) "Die Axt des Trolls schwingt herunter, schlaegt dir die Schulter blutig.">
<LTABLE (PURE) "Der Troll trifft dich mit einem schnellen Schlag und du bist momentan ausser Gefecht gesetzt.">
<LTABLE (PURE) "Der Troll trifft, aber die Schneide wird von deiner Ruestung abgelenkt, trifft dich aber direkt in den Kopf.">
<LTABLE (PURE) "Du stolperst unter einem Hagel von Axtstreichen zurueck.">
<LTABLE (PURE) "Der maechtige Schlag des Trolls bringt dich auf die Kniee.">
<LTABLE (PURE) "Die Axt trifft dein Schwert, und haut dich um.">
<LTABLE (PURE) "Der Troll schwingt, du parierst, aber die Gewalt seines Streiches schlaegt dir " DER-WEP-ACC " aus der Hand.">
<LTABLE (PURE) "Die Axt schlaegt dir REN WEAPON AND PRONOUN TO WEAPON das Schwert aus der Hand. Es faellt zu Boden.">
<LTABLE (PURE) "Der Troll zoegert, betastet seine Axt.">
<LTABLE (PURE) "Der Troll kratzt sich nachdenklich am Kopf. Ob du wohl magische Kraefte hast, wundert er sich?">
<LTABLE (PURE) "Der Troll meistert seine Furcht und toetet dich.">
<LTABLE (PURE) "Der Dieb sticht elegant mit dem Stilett und trifft nicht.">
<LTABLE (PURE) "Du vermeidest das Stilett, als der Dieb tief sticht."
<LTABLE (PURE) "Du parierst einen blitzartigen Stoss, und der Dieb bedient dich mit einem grimmigen Kopfnicken.">>
<LTABLE (PURE) "Der Dieb versucht, deine Abwehrstellung heimtueckisch zu durchbrechen, aber du windest dich aus seiner Richtung."
<LTABLE (PURE) "Indem er die Richtung seines Stosses aendert, trifft dich der Dieb mit dem Heft des Stiletts, du wirst bewusstlos.">
<LTABLE (PURE) "Der Dieb haut dich k.o.">
<LTABLE (PURE) "Dein Leben endet, als der Dieb die Schneide in dein Herz senkt.">
<LTABLE (PURE) "Der Dieb kommt von der Seite, macht ein Taeuschungsmanoever und setzt die Schneide zwischen deine Rippen.">
<LTABLE (PURE) "Der Dieb verbeugt sich formell, hebt das Stilett und mit einem haesslichen grinsen beendet er den Kampf und dein Leben.">
<LTABLE (PURE) "Ein schneller Hieb streift deinen linken Arm und Blut rinnt deinen Arm herunter.">
<LTABLE (PURE) "Blut beginnt zu fliessen, als der Dieb sein Stilett ueber deinen Arm recht.">
<LTABLE (PURE) "Das Stilett zuckt schneller, als Du denken kannst, und Blut fliesst von deinem Bein.">
<LTABLE (PURE) "Der Dieb kommt langsam naeher, schlaegt zu wie eine Schlange und laesst dich verwundet liegen.">
<LTABLE (PURE) "Der Dieb schlaegt zu wie eine Schlange! Die empfangene Wunde ist ernst!">
<LTABLE (PURE) "Der Dieb versetzt dir einen tiefen Stich in den Oberarm.">
<LTABLE (PURE) "Das Stilett beruehrt deine Stirm, und das herabrinnende Blut macht dich blind.">
<LTABLE (PURE) "Der Dieb trifft dich am Handgelenk und ploetzlich wird dein Schwertgriff schluepfrig von dem Blut.">
<LTABLE (PURE) "Der Griff von seinem Stilett kracht auf deinen Schaedel, und du wankst zurueck.">
<LTABLE (PURE) "Der Dieb rammt das Heft seines Messers in deinen Bauch und du verlierst den Atem.">
<LTABLE (PURE) "Der Dieb greift dich an, und du faellst verzweifelt zurueck.">
<LTABLE (PURE) "Ein langer theatralischer Sticht. Du parierst ihn auf " WEP-DAT " aber der Dieb dreht sein Messer, und " WEP-NOM " fliegt dir aus der Hand.">
<LTABLE (PURE) "Der Dieb dreht dir " DER-WEP-ACC " elegant aus der hand, und es faellt auf die Erde.">>
<LTABLE (PURE) "Du parierst einen Tiefschlag und " WEP-NOM " schluepft dir aus der Hand.">
<LTABLE (PURE) "Der Dieb, ein Mann aus guter Gesellschaft, stoppt fuer eine Minute, um zu ueberlegen, ob es in Ordnung ist, dein Leben zu beenden.">
<LTABLE (PURE) "Es amuesiert den Dieb, deine Taschen zu durchsuchen.">
<LTABLE (PURE) "Der Dieb beschaeftigt sich damit, deinen Rucksack zu durchwuehlen.">
<LTABLE (PURE) "Fuer einen Moment vergisst der Dieb seine gute Kinderstube, er schneidet dir den Hals ab.">
<LTABLE (PURE) "Der Dieb, ein Pragmatiker, sieht in dir eine Bedrohung seines Lebens.">

3223
script.full Normal file

File diff suppressed because it is too large Load Diff

65
script.globals Normal file
View File

@ -0,0 +1,65 @@
>TAKE THE SWORD AND THE LAMP
"Those things aren't here!"
>LOOK AT THE THING
"You can't see that here!" (RENATA: does the word 'that' depend on gender?)
>PERSON, TAKE THE SWORD
"The PERSON seems confused. ""I don't see that here!""
>CLIMB STAIRS
"You should say whether you want to go up or down."
>SAILOR, GO AWAY
"You can't talk to the sailor that way."
>LOOK AT SAILOR
"There is no sailor to be seen."
>HELLO, SAILOR
"You seem to be repeating yourself."
>HELLO, SAILOR
"I think that phrase is getting a bit worn out."
>HELLO, SAILOR
"Nothing happens here."
>DIG IN GROUND
"The ground is too hard for digging here."
>LOOK AT GRUE
"There is no grue here, but I'm sure there is at least one lurking in the darkness nearby. It would be wise keep an eye on your light source!"
>LISTEN TO GRUE
"It makes no sound but is always lurking in the darkness nearby."
>TALK TO MYSELF
"Talking to yourself is said to be a sign of impending mental collapse."
>WAKE MYSELF UP
"You're already wide awake!"
>EAT MYSELF
"Auto-cannibalism is not the answer."
>KILL MYSELF
"Suicide is not the answer."
>THROW MYSELF AT THE TROLL
"Why don't you just walk like normal people?"
>TAKE ME
"How romantic!"
>LOOK AT MYSELF
"Your image in the mirror looks tired."
>LOOK AT MYSELF
"That's difficult unless your eyes are prehensile."
>WHAT IS A ZORKMID
"The zorkmid is the unit of currency of the Great Underground Empire."
>FIND ZORKMID
"The best way to find zorkmids is to go out and look for them."

832
script.input Normal file
View File

@ -0,0 +1,832 @@
"Generic SYNTAX file for
The ZORK Trilogy
started on 7/21/83 by SEM
-- GERMAN EDITION"
<SYNTAX ACTIVATE OBJEKT
= V-LAMP-ON>
<SYNTAX ANSWER = V-ANSWER>
"ANTWORTE"
<SYNTAX ANSWER OBJEKT = V-REPLY>
"ANTWORTE WITH DATIVE "
<SYNONYM ANSWER REPLY>
"ERWIDERN"
<SYNTAX APPLY OBJEKT TO OBJEKT = V-PUT PRE-PUT>
"BENUTZE OBJEKT FUER OBJEKT"
<SYNTAX ATTACK OBJEKT
"GREIF AN"
WITH OBJEKT = V-ATTACK>
"GREIF DEN OBJEKT MIT DEM OBJEKT AN"
<SYNONYM ATTACK FIGHT HURT INJURE HIT>
"GREIF AN, KAEMPFE, VERLETZE, SCHLAG"
<SYNTAX BACK = V-BACK>
'ZURUECK"
<SYNTAX BLAST = V-BLAST>
"EXPLODIERE"
<SYNTAX BLOW OUT OBJEKT = V-LAMP-OFF>
"BLAS AUS" BLAS DEN OBJEKT AUS "
<SYNTAX BLOW UP OBJEKT WITH
"BLAS AUF" BLAS DEN OBJEKT MIT DEM OBJEKT AUF"
OBJEKT = V-INFLATE>
<SYNTAX BLOW UP OBJEKT = V-BLAST>
"BLAS DEN OBJEKT AUF"
<SYNTAX BLOW IN OBJEKT = V-BREATHE>
"ATME EIN" ATME DEN OBJEKT EIN"
<SYNTAX BOARD OBJEKT = V-BOARD PRE-BOARD>
"STEIG EIN" STEIG IN OBJEKT EIN"
<SYNTAX BRUSH OBJEKT = V-BRUSH>
"PUTZ DIE OBJEKT"
<SYNTAX BRUSH OBJEKT
"PUTZ MIT OBJEKT
WITH OBJEKT = V-BRUSH>
<SYNONYM BRUSH CLEAN>
"PUTZ "
<SYNTAX BUG = V-BUG>
<SYNTAX BURN OBJEKT
"VERBRENNE DAS OBJEKT MIT DEM OBJEKT"
WITH OBJEKT
= V-BURN PRE-BURN>
<SYNTAX BURN DOWN OBJEKT
"BRENNE DAS OBJEKT NIEDER"
WITH OBJEKT
"BRENNE DAS HAUS MIT DEM OBJEKT NIEDER"
= V-BURN PRE-BURN>
<SYNONYM BURN INCINERATE IGNITE>
"BRENNE, VERBRENNE, ANSTECKE.SEP"
<SYNTAX CHOMP = V-CHOMP>
<SYNONYM CHOMP LOSE BARF>
"KOTZE"
<SYNTAX CLIMB UP OBJEKT = V-CLIMB-UP>
"KLETTER DEN OBJEKT HINAUF"
<SYNTAX CLIMB UP OBJEKT = V-CLIMB-UP>
<SYNTAX CLIMB DOWN OBJEKT = V-CLIMB-DOWN>
"KLETTER DEN OBJEKT HINUNTER"
<SYNTAX CLIMB DOWN OBJEKT = V-CLIMB-DOWN>
<SYNTAX CLIMB OBJEKT = V-CLIMB-FOO>
"BESTEIGE" OBJEKT"
<SYNTAX CLIMB IN OBJEKT = V-BOARD PRE-BOARD>
"STEIG IN OBJEKT EIN"
<SYNTAX CLIMB ON OBJEKT = V-CLIMB-ON>
"STEIG AUF OBJEKT"
<SYNTAX CLIMB WITH OBJEKT = V-THROUGH>
"STEIG DURCH OBJEKT"
<SYNONYM CLIMB SIT>
"SITZ"
"SETZ DICH AN OBJEKT(TISCH)"
<SYNTAX CLOSE OBJEKT = V-CLOSE>
"MACH ZU" MACH OBJEKT ZU"
<SYNTAX COMMAND OBJEKT = V-COMMAND>
"BEFIEHL OBJEKT"
<SYNTAX COUNT OBJEKT = V-COUNT>
"ZAEHL OBJEKT"
<SYNTAX CROSS OBJEKT = V-CROSS>
"UEBERQUERE DEN OBJEKT"
<SYNONYM CROSS FORD>
<SYNTAX CUT OBJEKT WITH OBJEKT = V-CUT>
"SCHNEIDE DAS OJEKT MIT DEM OBJEKT"
<SYNONYM CUT SLICE PIERCE>
"SCHNEIDE, ZERSCHNEIDE, STICH DAS OBJEKT DURCH"
<SYNTAX CURSE = V-CURSES>
"FLUCHE"
<SYNTAX CURSE OBJEKT = V-CURSES>
"VERFLUCHE DEN PERSON"
<SYNONYM CURSE SHIT FUCK DAMN>
"VERFLUCHT, SCHEISSE, VERDAMMT, VERSCHISSEN"
<SYNTAX DEFLATE OBJEKT = V-DEFLATE>
"LASS DIE LUFT RAUS" LASS DIE LUFT AUS DEM OBJEKT AB."
<SYNTAX DESTROY OBJEKT
WITH OBJEKT = V-MUNG PRE-MUNG>
"ZERSTOERE DEN
MIT DEM
<SYNTAX DESTROY DOWN OBJEKT
WITH OBJEKT = V-MUNG PRE-MUNG>
"ZERSTOERE UNTEREN OBJEKT
MIT DEM
<SYNTAX DESTROY IN OBJEKT = V-OPEN>
"ZERSTOERE IM OBJEKT
<SYNONYM DESTROY DAMAGE BREAK BLOCK SMASH>
"ZERSTOERE, VERLETZTE, ZERBRECHE, BLOCKIERE, ZERSCHMETTERE"
<SYNTAX DIG IN OBJEKT = V-DIG>
<SYNTAX DIG IN OBJEKT
WITH OBJEKT = V-DIG>
"GRABE IM OBJEKT"
"GRABE MIT DEM OBJEKT"
<SYNTAX DIG OBJEKT
"GRABE DEN OBJEKT"
WITH OBJEKT = V-DIG>
MIT DEM OBJEKT"
<SYNTAX DISEMBARK OBJEKT
= V-DISEMBARK>
"STEIGE AUS DEM OBJEKT AUS
STEIGE AUS"
<SYNTAX DISENCHANT OBJEKT = V-DIS
"ERNUECHTERE DEN OBJEKT">
<SYNTAX TESTIT = V-TEST-IT>
"TESTE IHN"
<SYNTAX TRINK OBJEKT
= V-DRINK>
"TRINK DEN OBJEKT
TRINK"
<SYNTAX TRINK FROM OBJEKT = V-DRINK-FROM>
"TRINKE AUS DEM OBJEKT"
<SYNONYM TRINK DRINK IMBIBE SWALLOW>
"TRINKE, SCHLUERFE, SCHLUCKE"
<SYNTAX DROP OBJEKT = V-DROP PRE-DROP>
<SYNTAX DROP OBJEKT DOWN OBJEKT = V-PUT PRE-PUT>
<SYNTAX DROP OBJEKT IN OBJEKT = V-PUT PRE-PUT>
<SYNTAX DROP OBJEKT ON OBJEKT = V-PUT-ON PRE-PUT>
;<SYNONYM DROP RELEASE>
"LASS DEN OBJEKT FALLEN
"LASS DEN OBJEKT RUNTERFALLEN
"LASS DEN OBJEKT REINFALLEN
"LASS DEN OBJEKT AUF DEN OBJEKT FALLEN
"LASS FALLEN, LASS LOS"
<SYNTAX EAT OBJEKT
= V-EAT>
<SYNONYM EAT CONSUME TASTE BITE>
"ISS DEN OBJEKT
ISS
ISS, VERZEHRE, SCHMECKE, BEISSE "
<SYNTAX ECHO = V-ECHO>
"ECHO"
<SYNTAX ENCHANT OBJEKT = V-ENCHANT>
"BEZAUBERE DEN OBJEKT"
<SYNTAX ENTER = V-ENTER>
"BETRETE "
<SYNTAX ENTER OBJEKT = V-THROUGH>
"BETRETE DEN OBJEKT DURCH"
<SYNTAX EXIT = V-EXIT>
"GEH RAUS"
<SYNTAX EXIT OBJEKT = V-EXIT>
"GEH AUS DEM OBJEKT RAUS"
<SYNTAX EXAMINE OBJEKT = V-EXAMINE>
"UNTERSUCHE DEN OBJEKT"
<SYNTAX EXAMINE IN OBJEKT
= V-LOOK-INSIDE>
"Sieh in den OBJEKT"
<SYNTAX EXAMINE ON OBJEKT
= V-LOOK-INSIDE> ??? is this right, Renata??
"Sieh auf den Objekt"
<SYNONYM EXAMINE DESCRIBE WHAT WHATS>
"Betrachte, Beschreibe, UNTERSUCHE "
<SYNTAX EXORCISE OBJEKT = V-EXORCISE>
"TREIBE DEN OBJEKT AUS"
<SYNTAX EXORCISE OUT OBJEKT = V-EXORCISE>
"TREIBE DEN OBJEKT AUS DEM OBJEKT AUS"
<SYNTAX EXORCISE AWAY OBJEKT = V-EXORCISE>
"TREIBE DEN OBJEKT WEG"
<SYNONYM EXORCISE BANISH CAST DRIVE BEGONE>
"TREIBE AUS, VERTREIBE, VERBANNE, WERFE, TREIBE, MAERZE AUS"
<SYNTAX EXTINGUISH OBJEKT
TAKE = V-LAMP-OFF>
Z"MACHE DEN OBJEKT AUS"
<SYNONYM EXTINGUISH DOUSE>
"LOESCHE DEN OBJEKT"
<SYNTAX FILL OBJEKT
WITH OBJEKT = V-FILL PRE-FILL>
<SYNTAX FILL OBJEKT
= V-FILL PRE-FILL>
"FUELLE DEN OBJEKT
FUELLE DEN OBJEKT
FUELLE DEN OBJEKT MIT DEM OBJEKT "
<SYNTAX FINDE OBJEKT = V-FIND>
"FINDE DEN OBJEKT"
<SYNONYM FINDE WHERE SEEK SEE>
"FINDE, WO , SUCHE, SIEH"
<SYNTAX FOLLOW = V-FOLLOW>
<SYNTAX FOLLOW OBJEKT = V-FOLLOW>
<SYNONYM FOLLOW PURSUE CHASE COME>
"FOLGE
FOLGE DEM OBJEKT
FOLGE, VERFOLGE JAGE KOMM"
<SYNTAX FROBOZZ = V-FROBOZZ>
????????
<SYNTAX GIVE OBJEKT
TO OBJEKT = V-GIVE PRE-GIVE>
"GIB
GIB DEN OBJEKT"
"GIB DEM OBJEKT DEN OBJEKT" VERBS THAT TAKE DATIVE:GEBEN,
<SYNTAX GIVE OBJEKT ANTWORTEN, HELFEN, SAGEN,
OBJEKT = V-SGIVE PRE-SGIVE> /ERZAEHLEN =RECIPIENT IN
IN DATIVE, OBJECT IN ACC.
"GIB DEN OBJEKT
<SYNONYM GIVE DONATE OFFER FEED>
"GIB, SCHENKE, OFFERIERE, FUETTERE"
<COND <N==? ,ZORK-NUMBER 3>
<SYNONYM GIVE HAND>>
"GIB DEM OBJEKT DIE HAND
<SYNTAX HATCH OBJEKT = V-HATCH>
"BRUETE DEN OBJEKT"
<SYNTAX HELLO = V-HELLO>
<SYNTAX HELLO OBJEKT = V-HELLO>
<SYNONYM HELLO HI>
"HALLO
HALLO, FRITZ
HALLO, GRUESS DICH"
<SYNTAX HINT = V-HINT>
<SYNTAX HINT OFF OBJEKT = V-HINTS-OFF>
<VERB-SYNONYM HINT HINTS CLUE>
"TIP
TIP GEBEN UEBER DEN OBJEKT
TIP, WINK, TIPS, HILFE"
<SYNTAX INCANT = V-INCANT>
<SYNONYM INCANT CHANT>
"ZAUBER
ZAUBERGESANG"
<SYNTAX INFLATR OBJEKT WITH
OBJEKT = V-INFLATE>
"BLAS DEN OBJEKT AUF MIT DEM OBJEKT AUF"
<SYNTAX SPRING = V-LEAP>
<SYNTAX SPRING OVER OBJEKT = V-LEAP>
<SYNTAX SPRING ACROSS OBJEKT = V-LEAP>
"SPRING
SPRING UEBER DEN OBJEKT
SPRING QUER UEBER DEN OBJEKT"
<SYNTAX SPRING IN OBJEKT = V-LEAP>
"SPRING IN DEN OBJEKT"
<SYNTAX SPRING FROM OBJEKT = V-LEAP>
"SPRING VON DEM OBJEKT"
<SYNTAX SPRING OFF OBJEKT = V-LEAP>
"SPRING AB VON DEM OBJEKT"
<SYNONYM SPRING LEAP DIVE>
"SPRING, HUEPFE,"
<SYNTAX KICK OBJEKT = V-KICK>
<SYNONYM KICK TAUNT>
"TRITT DEN OBJEKT"
TRITT, TRITT MIT DEM FUSS"
<SYNTAX KILL OBJEKT
WITH OBJEKT = V-ATTACK>
<SYNONYM KILL MURDER SLAY DISPATCH>
"TOETE DEN OBJEKT
MIT DEM OBJEKT
TOETE, ERMORDE, BRINGE UM, BESEITIGE"
<SYNTAX STAB OBJEKT = V-STAB>
<SYNTAX STAB OBJEKT
WITH OBJEKT = V-ATTACK>
"ERSTECHE DEN OBJEKT
MIT DEM OBJEKT"
<SYNTAX KISS OBJEKT = V-KISS>
"KUESSE DEN OBJEKT"
<SYNTAX KNOCK AT OBJEKT = V-KNOCK>
<SYNTAX KNOCK ON OBJEKT = V-KNOCK>
<SYNTAX KNOCK DOWN OBJEKT = V-ATTACK>
<SYNONYM KNOCK RAP>
"KLOPFE AN DEM OBJEKT
KLOPFE AUF DEM OBJEKT
SCHLAGE DEN OBJEKT NIEDER
"KLOPFE AN"
<SYNTAX LAUNCH OBJEKT = V-LAUNCH>
"DEN OBJEKT VON STAPEL LAUFEN LASSEN"
<SYNTAX LEAN ON OBJEKT = V-LEAN-ON>
"LEHN DICH AUF DEN OBJEKT"
<SYNTAX LEAVE = V-LEAVE>
<SYNTAX LEAVE OBJEKT = V-DROP PRE-DROP>
"LASS LIEGEN
LASS DEN OBJEKT LIEGEN"
<SYNTAX LIGHT OBJEKT
TAKE = V-LAMP-ON>
"MACH DIE LAMPE AN
NIMM DEN OBJEKT"
<SYNTAX LIGHT OBJEKT
WITH OBJEKT TAKE = V-BURN PRE-BURN>
"ZUENDE DEN OBJEKT AN
MIT DEM OBJEKT"
<SYNTAX LISTEN TO OBJEKT = V-LISTEN>
<SYNTAX LISTEN FOR OBJEKT = V-LISTEN>
"HOERE DEM OBJEKT ZU
LAUSCHE DEM OBJEKT"
<SYNTAX LOCK OBJEKT
WITH
OBJEKT = V-LOCK>
"VERSCHLIESSE DEN OBJEKT
MIT DEM OBJEKT
<SYNTAX LOOK = V-LOOK>
"SCHAU"
<SYNTAX LOOK AROUND OBJEKT = V-LOOK>
"SCHAU DICH IM OBJEKT UM"
<SYNTAX LOOK UP OBJEKT = V-LOOK>
"SCHAU AM OBJEKT HINAUF
<SYNTAX LOOK DOWN OBJEKT = V-LOOK>
"SCHAU AM OBJEKT HINUNTER"
<SYNTAX LOOK AT OBJEKT = V-EXAMINE>
"UNTERSUCHE DEN OBJEKT"
<SYNTAX LOOK ON OBJEKT = V-LOOK-ON>
"SCHAU AUF DEN OBJEKT"
<SYNTAX LOOK WITH OBJEKT = V-LOOK-INSIDE>
"SCHAU MIT DEM OBJEKT IN DEN OBJEKT "
<SYNTAX LOOK UNDER OBJEKT = V-LOOK-UNDER>
"SCHAU UNTER DEN OBJEKT"
<SYNTAX LOOK BEHIND OBJEKT = V-LOOK-BEHIND>
"SCHAU HINTER DEN OBJEKT"
<SYNTAX LOOK IN OBJEKT = V-LOOK-INSIDE>
"SCHAU IN DEN OBJEKT
<SYNTAX LOOK AT OBJEKT
WITH OBJEKT = V-READ PRE-READ>
"UNTERSUCHE DEN OBJEKT
MIT DEM OBJEKT"
<SYNTAX LOOK FOR OBJEKT = V-FIND>
"FINDE DEN OBJEKT"
<SYNONYM LOOK L STARE GAZE>
"SCHAU, STARRE, BLICKE"
<SYNTAX LOWER OBJEKT = V-LOWER>
"LASS DEN OBJEKT HINUNTER"
<SYNTAX LUBRICATE OBJEKT WITH OBJEKT = V-OIL>
<SYNONYM LUBRICATE OIL GREASE>
"SCHMIERE DEN OBJEKT MIT DEM OBJEKT
SCHMIEREN, OELEN, FETTEN"
<SYNTAX MAKE OBJEKT = V-MAKE>
"MACHE DEN OBJEKT"
<SYNTAX MELT OBJEKT
WITH OBJEKT = V-MELT>
<SYNONYM MELT LIQUIFY> LIQUEFY
"SCHMELZE DEN OBJEKT
MIT DEM OBJEKT
SCHMELZE, VERFLUESSIGE
<SYNTAX MOVE OBJEKT = V-MOVE PRE-MOVE>
"BEWEGE DEN OBJEKT"
<SYNTAX MOVE OBJEKT OBJEKT = V-PUSH-TO>
"SCHIEBE DEN OBJEKT NACH DEM OBJEKT"
<SYNTAX MOVE OBJEKT TO OBJEKT = V-PUSH-TO>
<SYNTAX MOVE OBJEKT IN OBJEKT = V-PUT PRE-PUT>
<SYNTAX MOVE OBJEKT WITH OBJEKT = V-TURN PRE-TURN>
<SYNTAX ROLL UP OBJEKT = V-MOVE PRE-MOVE>
"ROLLE DEN OBJEKT AUF "
<SYNTAX ROLL OBJEKT = V-MOVE PRE-MOVE>
"MACH EINE ROLLE AUS DEM OBJEKT"
<SYNTAX MUMBLE = V-MUMBLE>
<SYNONYM MUMBLE SIGH>
"MURMLE
MURMLE, SEUFZE"
<SYNTAX NO = V-NO>
"NR."
<SYNTAX ODYSSEUS = V-ODYSSEUS>
<SYNONYM ODYSSEUS ULYSSES>
"ODYSSEUS
ODYSSEUS, ULYSSES"
<SYNTAX OPEN OBJEKT = V-OPEN>
"OEFFNE DEN OBJEKT"
<SYNTAX OPEN UP OBJEKT
= V-OPEN>
"MACH DEN OBJEKT AUF
MACH AUF"
<SYNTAX OPEN OBJEKT WITH
OBJEKT = V-OPEN>
"OEFFNE DEN OBJEKT MIT DEM OBJEKT
DEN OBJEKT"
<SYNTAX PICK OBJEKT = V-PICK>
<SYNTAX PICK OBJEKT WITH OBJEKT = V-PICK>
"WAEHLE DEN OBJEKT
WAEHLE DEN OBJEKT MIT DEM OBJEKT"
<SYNTAX PICK UP OBJEKT = V-TAKE PRE-TAKE>
"HEB DEN OBJEKT AUF"
<SYNTAX PLAY OBJEKT = V-PLAY>
"SPIELE DEN OBJEKT"
<SYNTAX PLUG OBJEKT WITH OBJEKT = V-PLUG>
"STOPFE DEN OBJEKT MIT DEM OBJEKT ZU"
<SYNONYM PLUG GLUE PATCH REPAIR FIX>
"STOPFE ZU , KLEBE ZU, FLICKEN, REPARIEREN, IN STAND SETZEN"
<SYNTAX PLUGH = V-ADVENT> ??????
<SYNONYM PLUGH XYZZY>
<SYNTAX POKE OBJEKT
WITH OBJEKT = V-MUNG PRE-MUNG>
"STOSSE DEN OBJEKT MIT DEM OBJEKT"
<SYNTAX PUNCTURE OBJEKT
WITH OBJEKT = V-MUNG PRE-MUNG>
"DURCHLOECHERE
DURCHLOECHERE DEN OBJEKT MIT DEM OBJEKT"
<SYNTAX POUR OBJEKT = V-DROP PRE-DROP>
<SYNTAX POUR OBJEKT IN OBJEKT = V-DROP PRE-DROP>
<SYNTAX POUR OBJEKT ON OBJEKT = V-POUR-ON>
<SYNTAX POUR OBJEKT FROM OBJEKT = V-DROP PRE-DROP>
"SCHUETTE DEN OBJEKT AUS
SCHUETTE DEN OBJEKT IN DEN OBJEKT
SCHUETTE DEN OBJEKT AUF DEN OBJEKT
GIESSE DEN OBJEKT VON DEM OBJEKT"
<SYNONYM POUR SPILL>
"VERSCHUETTE "
<SYNTAX PRAY = V-PRAY>
"BETE"
<SYNTAX PULL OBJEKT = V-MOVE PRE-MOVE>
<SYNTAX PULL ON OBJEKT = V-MOVE PRE-MOVE>
<SYNTAX PULL UP OBJEKT = V-MOVE PRE-MOVE>
<SYNONYM PULL TUG YANK>
"ZIEH DEN OBJEKT
ZIEH AN DEM OBJEKT
ZIEH DEN OBJEKT HOCH
ZIEHEN, ZERREN, REISSEN"
<SYNTAX PUMP UP OBJEKT = V-PUMP>
<SYNTAX PUMP UP OBJEKT WITH OBJEKT = V-PUMP>
"PUMPE DEN OBJEKT AUF
PUMPE DEN OBJEKT MIT DEM OBJEKT AUF"
<SYNTAX PUSH OBJEKT OBJEKT = V-PUSH-TO>
<SYNTAX PUSH OBJEKT TO OBJEKT = V-PUSH-TO>
<SYNTAX PUSH OBJEKT = V-PUSH>
<SYNTAX PUSH ON OBJEKT = V-PUSH>
<SYNTAX PUSH OBJEKT WITH OBJEKT = V-TURN PRE-TURN>
<SYNTAX PUSH OBJEKT UNDER OBJEKT = V-PUT-UNDER>
<SYNONYM PUSH PRESS>
"STOSSE DEN OBJEKT NACH OBJEKT
STOSSE DEN OBJEKT ZU DEM OBJEKT
STOSSE DEN OBJEKT
SCHIEBE AN DEM OBJEKT
SCHIEBE DEN OBJEKT UNTER DEN OBJEKT
STOSSE, SCHIEBE, DRUECKE" DRUECKE DEN BUTTON
<SYNTAX PUT OBJEKT IN OBJEKT = V-PUT PRE-PUT>
"LEGE DEN OBJEKT IN DEN OBJEKT" ANY ITEM THAT DOES NOT STAND UP
"STELLEN DEN OBJEKT IN DEN OBJEKT" ITEMS THAT STAND UP
<SYNTAX PUT OBJEKT ON OBJEKT = V-PUT-ON PRE-PUT>
"LEGE DEN OBJEKT AUF DEN OBJEKT" LAY ON
"STELLE DEN OBJEKT AUF DEN OBJEKT" STAND UP
<SYNTAX PUT DOWN OBJEKT = V-DROP PRE-DROP>
"LASS DEN OBJEKT FALLEN "
<SYNTAX PUT OBJEKT UNDER OBJEKT = V-PUT-UNDER>
"LEGE DEN OBJEKT UNTER DEN OBJEKT" LAY
"STELLE DEN OBJEKT UNTER DEN OBJEKT" STAND UP
<SYNTAX PUT OUT OBJEKT
TAKE = V-LAMP-OFF>
"MACHE DEN OBJEKT AUS"
NIMM"
<SYNTAX PUT ON OBJEKT = V-WEAR>
"ZIEH DEN OBJEKT AN"
<SYNTAX PUT OBJEKT BEHIND OBJEKT = V-PUT-BEHIND>
"LEGE DEN OBJEKT HINTER DEN OBJEKT" LAY
"STELLE DEN OBJEKT HINTER DEN OBJEKT"
<SYNONYM PUT STUFF INSERT PLACE HIDE>
"SETZE, STELLE, LEGE, STOPFE, LEGE EIN, VERSTECKE"
<SYNTAX RAISE OBJEKT = V-RAISE>
"HEBE DEN OBJEKT HOCH"
<SYNTAX RAISE UP OBJEKT = V-RAISE>
"HEBE DEN OBJEKT AUF"
<SYNONYM RAISE LIFT>
"HEBE AUF, HEBE HOCH"
<SYNTAX RAPE OBJEKT = V-RAPE>
"VERGELWALTIGE DEN OBJEKT"
<SYNONYM RAPE MOLEST>
"VERGEWALTIGE, BELAESTIGE"
<SYNTAX READ OBJEKT
= V-READ PRE-READ>
"LIES DEN OBJEKT"
"LIES"
<SYNTAX READ FROM OBJEKT
"LIES AUS DEM BUCH"
= V-READ PRE-READ>
<SYNTAX READ OBJEKT
WITH OBJEKT = V-READ PRE-READ>
"LIES IN DEM OBJEKT"
<SYNTAX READ OBJEKT
OBJEKT = V-READ-PAGE>
"LIES DEN OBJEKT"
<SYNONYM READ SKIM>
"BLAETTERE"
<SYNTAX REPENT = V-REPENT>
"BEREUE"
<SYNTAX RING OBJEKT = V-RING>
<SYNTAX RING OBJEKT WITH OBJEKT = V-RING>
<SYNONYM RING PEAL>
"LAEUTE DEN OBJEKT"
"LAEUTE MIT DER GLOCKE"
"LAEUTEN, KLINGELN"
<SYNTAX RUB OBJEKT = V-RUB>
<SYNTAX RUB OBJEKT WITH OBJEKT = V-RUB>
<SYNONYM RUB TOUCH FEEL PAT PET>
"REIBE DEN OBJEKT"
"REIBE DEN OBJEKT MIT DEM OBJEKT"
"REIBE, FUEHLE, STREICHLE, LIEBKOSE"
<SYNTAX TALK TO OBJEKT = V-TELL>
"SAGE DEM OBJEKT"
<SYNTAX SAY = V-SAY>
"SAGE"
<SYNTAX SEARCH OBJEKT = V-SEARCH>
<SYNTAX SEARCH IN OBJEKT = V-SEARCH>
<SYNTAX SEARCH FOR OBJEKT = V-FIND>
"SUCHE DEN OBJEKT"
"SUCHE IN DEM OBJEKT"
"FINDE DEN OBJEKT"
<SYNTAX SEND FOR OBJEKT = V-SEND>
"SENDE NACH DEM OBJEKT"
<SYNTAX SHAKE OBJEKT = V-SHAKE>
"SCHUETTLE DEN OBJEKT"
<SYNTAX SKIP = V-SKIP>
<SYNONYM SKIP HOP>
"SPRINGEN
SPRINGEN, HUEPFEN"
;<SYNTAX SLIDE OBJEKT = V-PUSH>
<SYNTAX SLIDE OBJEKT UNDER OBJEKT = V-PUT-UNDER>
<SYNTAX SLIDE OBJEKT OBJEKT = V-PUSH-TO>
<SYNTAX SLIDE OBJEKT TO OBJEKT = V-PUSH-TO>
"SCHUBSE DEN OBJEKT
SCHUBSE DEN OBJEKT UNTER DEN OBJEKT
SCHUBSE DEN OBJEKT NACH DEM OBJEKT
SCHUBSE DEN OBJEKT ZU DEM OBJEKT"
<SYNTAX SMELL OBJEKT = V-SMELL>
<SYNONYM SMELL SNIFF>
"RIECHE DEN OBJEKT
RIECHE, SCHNUEFFLE"
<SYNTAX SPIN OBJEKT = V-SPIN>
"WIRBLE DEN OBJEKT HERUM"
<SYNTAX SPRAY OBJEKT ON OBJEKT = V-SPRAY>
<SYNTAX SPRAY OBJEKT WITH OBJEKT = V-SSPRAY>
"SPRUEHE DEN OBJEKT AUF DEN OBJEKT
"SPRUEHE DEN OBJEKT MIT DEM OBJEKT"
<SYNTAX SQUEEZE OBJEKT = V-SQUEEZE>
<SYNTAX SQUEEZE OBJEKT ON OBJEKT = V-PUT PRE-PUT>
"PRESSE DEN OBJEKT
PRESSE DEN OBJEKT AUF DEN OBJEKT"
<SYNTAX STAND = V-STAND>
<SYNTAX STAND UP OBJEKT = V-STAND>
"STEHE"
"STELL DEN OBJEKT AUF"
<SYNTAX STAY = V-STAY>
"BLEIBE"
<SYNTAX STRIKE OBJEKT WITH OBJEKT
= V-ATTACK>
<SYNTAX STRIKE OBJEKT = V-STRIKE>
"SCHLAGE DEN OBJEKT MIT DEM OBJEKT
"SCHLAGE DEN OBJEKT "
<SYNTAX SWIM = V-SWIM>
<SYNTAX SWIM IN OBJEKT = V-SWIM>
<SYNTAX SWIM ACROSS OBJEKT = V-SWIM>
<SYNONYM SWIM BATHE WADE>
"SCHWIMME"
"SCHWIMME IN DEM OBJEKT"
"SCHWIMME UEBER DEN OBJEKT"
"SCHWIMMEN, BADEN, WATEN"
<SYNTAX SWING OBJEKT = V-SWING>
<SYNTAX SWING OBJEKT
AT OBJEKT = V-SWING>
<SYNONYM SWING THRUST>
"SCHWINGE DEN OBJEKT"
"SCHWINGE DEN OBJEKT NACH DEM OBJEKT"
"SCHWINGE, STOSSE"
<SYNTAX TAKE OBJEKT = V-TAKE PRE-TAKE>
"NIMM DEN OBJEKT"
<SYNTAX TAKE IN OBJEKT = V-BOARD PRE-BOARD>
"NIMM DEN OBJEKT AUF"
<SYNTAX TAKE OUT OBJEKT = V-DISEMBARK>
"NIMM DEN OBJEKT HERAUS"
<SYNTAX TAKE ON OBJEKT = V-CLIMB-ON>
???????
<SYNTAX TAKE UP OBJEKT = V-STAND>
"STELL DEN OBJEKT AUF"
<SYNTAX TAKE OBJEKT
OUT OBJEKT = V-TAKE PRE-TAKE>
"NIMM DEN OBJEKT"
AUS DEM OBJEKT HERAUS"
<SYNTAX TAKE OBJEKT
OFF OBJEKT = V-TAKE PRE-TAKE>
"LEG DEN OBJEKT AB" LIKE TAKE OFF HAT
OR"NIMM DEN OBJEKT VON DEM OBJEKT WEG LIKE FROM TABLE
<SYNTAX TAKE OBJEKT
FROM OBJEKT = V-TAKE PRE-TAKE>
<SYNONYM TAKE GET HOLD CARRY REMOVE GRAB CATCH>
"NIMM DEN OBJEKT
NIMM DEN OBJEKT VON DEM OBJEKT
"NIMM, HOLE, HALTE, TRAGE, ENTFERNE, GREIFE, FANGE"
<SYNTAX SAG DEM OBJEKT = V-TELL> ERZAEHLE DEM OBJEKT
<SYNTAX SAG OBJEKT ABOUT OBJEKT = V-TELL>
"ERZAEHLE DEM OBJEKT UEBER DEN OBJEKT VON DEM OBJEKT
<SYNONYM SAG TELL ASK>
"SAGE, ERZAEHLE, FRAGE(DEN OBJEKT)
<SYNTAX THROW OBJEKT
AT OBJEKT = V-THROW>
<SYNTAX THROW OBJEKT
WITH OBJEKT = V-THROW>
"WERFE DEN OBJEKT
AUF DEN OBJEKT
WERFE DEN OBJEKT
MIT DEM OBJEKT"
<SYNTAX THROW OBJEKT OBJEKT = V-OVERBOARD>
"WERFE DEN OBJEKT UEBER DEN OBJEKT"
<SYNTAX THROW OBJEKT IN OBJEKT = V-PUT PRE-PUT>
<SYNTAX THROW OBJEKT ON OBJEKT = V-PUT-ON PRE-PUT>
"WERFE DEN OBJEKT IN DEN OBJEKT
WERFE DEN OBJEKT AUF DEN OBJEKT"
<SYNTAX THROW OBJEKT OFF OBJEKT = V-THROW-OFF>
"WERFE DEN OBJEKT VON DEM OBJEKT"
<SYNTAX THROW OBJEKT OVER OBJEKT = V-THROW-OFF>
"WERFE DEN OBJEKT UEBER DEN OBJEKT"
<SYNONYM THROW HURL CHUCK TOSS>
"WERFE, SCHLEUDERE, SCHMEISSE, WIRF HOCH"
W
<SYNTAX TIE OBJEKT TO OBJEKT = V-TIE>
"BINDE DEN OBJEKT AN DEN OBJEKT"
<SYNTAX TIE UP OBJEKT WITH OBJEKT
= V-TIE-UP>
<SYNONYM TIE FASTEN SECURE ATTACH>
"BINDE DEN OBJEKT MIT DEM OBJEKT ZU
BINDE ZU
"BINDEN, FESTMACHEN, ZUMACHEN, ANBINDEN"
<SYNTAX TREASURE = V-TREASURE>
<SYNONYM TREASURE TEMPLE>
"SCHATZ
"SCHATZTEMPEL"
<SYNTAX TURN OBJEKT
WITH OBJEKT = V-TURN PRE-TURN>
"DREHE DEN OBJEKT DREHE DEN OBJEKT UM (ON ITS SIDE)"
<SYNTAX TURN ON OBJEKT
= V-LAMP-ON>
"MACH DEN OBJEKT AN"
<SYNTAX TURN ON OBJEKT WITH OBJEKT = V-LAMP-ON>
"MACH DEN OBJEKT MIT DEM OBJEKT AN"
<SYNTAX TURN OFF OBJEKT
TAKE = V-LAMP-OFF>
"MACH DEN OBJEKT AUS
NIMM DEN OBJEKT WEG"
<SYNTAX TURN OBJEKT TO OBJEKT = V-TURN PRE-TURN>
<SYNTAX TURN OBJEKT FOR OBJEKT = V-TURN PRE-TURN>
;<SYNTAX TURN OBJEKT = V-TURN PRE-TURN>
<SYNONYM TURN SET FLIP SHUT>
"DREHE DEN OBJEKT ZU DEM OBJEKT
"DREHE DEN OBJEKT FUER DEN OBJEKT
"DREHE DEN OBJEKT UM"
"DREHE, DREHE AN, DREHE UM, MACHE AUS, MACHE AN"
<SYNTAX UNLOCK OBJEKT WITH OBJEKT
= V-UNLOCK>
"SCHLIESSE DEN OBJEKT MIT DEM OBJEKT AUF"
<SYNTAX UNTIE OBJEKT = V-UNTIE>
<SYNTAX UNTIE OBJEKT
FROM OBJEKT = V-UNTIE>
<SYNONYM UNTIE FREE RELEASE UNFASTEN UNATTACH UNHOOK>
"MACHE DEN OBJEKT AUF'
MACHE AUF, BEFREIE, KNOEPFE AUF, ENTFERNE, ENTHAKE"
<SYNTAX WAIT = V-WAIT>
<SYNONYM WAIT Z>
"WARTE"
<SYNTAX WAKE OBJEKT = V-ALARM>
<SYNTAX WAKE UP OBJEKT = V-ALARM>
<SYNONYM WAKE AWAKE SURPRISE STARTLE>
"WECKE DEN OBJEKT"
"WECKE DEN OBJEKT AUF"
"WECKE, WACHE AUF, SEI UEBERRASCHT, SEI ERSTAUNT"
<SYNTAX WALK = V-WALK-AROUND>
"GEH HERUM"
<SYNTAX WALK OBJEKT = V-WALK>
"GEH MIT DEM OBJEKT"
<SYNTAX WALK AWAY OBJEKT = V-WALK>
"GEH VON DEM OBJEKT WEG"
<SYNTAX WALK IN OBJEKT = V-THROUGH>
"GEH DURCH DEN OBJEKT"
<SYNTAX WALK WITH OBJEKT = V-THROUGH>
"GEH MIT DEM OBJEKT DURCH DEN OBJEKT"
<SYNTAX WALK ON OBJEKT = V-THROUGH>
"GEH AUF DEM OBJEKT DURCH DEN OBJEKT"
<SYNTAX WALK OVER OBJEKT = V-LEAP>
"SPRING UEBER DEN OBJEKT"
<SYNTAX WALK TO OBJEKT = V-WALK-TO>
"GEH ZU DEM OBJEKT"
<SYNTAX WALK AROUND OBJEKT = V-WALK-AROUND>
"GEH UM DEN OBJEKT HERUM"
<SYNTAX WALK UP OBJEKT = V-CLIMB-UP>
"GEH DEN OBJEKT HINAUF"
<SYNTAX WALK DOWN OBJEKT = V-CLIMB-DOWN>
"GEH DEN OBJEKT HINUNTER"
<SYNONYM WALK GO RUN PROCEED STEP>
"GEH, LAUFE, RENNE, DRINGE VOR, TRETE"
<SYNTAX WAVE OBJEKT TAKE = V-WAVE>
<SYNTAX WAVE OBJEKT TAKE AT OBJEKT = V-WAVE>
<SYNTAX WAVE AT OBJEKT = V-WAVE>
<SYNONYM WAVE BRANDISH>
""SCHWINGE DEN OBJEKT"
"SCHWINGE GEGEN DEN OBJEKT"
"GREIFE DEN OBJEKT AN"
"FUCHTELE MIT DEM OBJEKT"
"SCHWINGEN, FUCHTELN"
<SYNTAX WEAR OBJEKT = V-WEAR>
"TRAGE DEN OBJEKT"
<SYNTAX WIN = V-WIN>
<SYNONYM WIN WINNAGE> VICTORY
"GEWINNE"
"GEWINN, SIEG"
<SYNTAX WIND OBJEKT = V-WIND>
<SYNTAX WIND UP OBJEKT = V-WIND>
"ZIEH DEN OBJEKT AUF"
"ZIEH DEN OBJEKT AUF"
<SYNTAX WISH = V-WISH>
"WUENSCHE"
<SYNTAX YELL = V-YELL>
<SYNONYM YELL SCREAM SHOUT>
"SCHREIE,
"SCHREIE, RUFE LAUT, SCHREIE LAUT"
<SYNTAX YES = V-YES>
<SYNONYM YES Y>
"JA"
<SYNTAX ZORK = V-ZORK>
"WINGE NACH OBJEKT"
"SCHWINGE, STOS"

74
script.parser Normal file
View File

@ -0,0 +1,74 @@
(NOTE: IF YOU TYPE NOTHING, AND JUST HIT RETURN)
"I beg your pardon?"
(NOTE: IF YOU TYPE A PERIOD AND THEN A RETURN WITH NO WORDS)
"I can't help your clumsiness."
(NOTE: IF YOU TYPE >OOPS SOMETHING AND THE SOMETHING WAS IN A QUOTE)
"Sorry, you can't correct mistakes in quoted text."
(NOTE: IF YOU TYPE ">OOPS WORD1 WORD2")
"Warning: only the first word after OOPS is used."
(NOTE: IF YOU TYPE "OOPS" AFTER YOU DIDN'T MISSPELL SOMETHING)
"There was no word to replace!"
(NOTE: IF YOU TYPE "OOPS" AFTER AN INCOMPLETE INPUT GAME)
"It's difficult to repeat fragments."
(NOTE: IF YOU TYPE "AGAIN" AFTER A BAD SENTENCE INPUT)
"That would just repeat a mistake."
"That sentence was not understood."
"There were too many nouns in that sentence."
"Please consult your manual for the correct way to talk to other people or creatures."
>LOOK AT THING
"The word is not in the story's vocabulary of understanding."
>LOOK AT THE DIG (NOTE: DIG IS RECOGNIZED ONLY AS A VERB)
"You used the word "dig" in a way that I don't understand."
>DOG THE TROLL
"There was no verb in that sentence!"
"That sentence isn't recognized by the story."
>WHO IS TROLL
"That question can't be answered."
>TROLL, LOOK AT THE BUTTON
"""I don't understand! What are you referring to?"""
>LOOK AT THE RED
"There seems to be a noun missing in that sentence!"
"It's too dark to see!"
>DROP SWORD
"You don't have that!"
"You don't have the SWORD."
>READ THE LEAFLET
(taking the leaflet first)
The leaflet says... ect.
>LOOK AT THE RED
It's not clear what you're referring to."
>LOOK AT THE SWORD AND LAMP
You can't use multiple direct objects with "look."
>HIT THE TROLL WITH SWORD AND KNIFE
You can't use multiple indirect objects with "hit."

507
script.things Normal file
View File

@ -0,0 +1,507 @@
<OBJECT BOARD
(SYNONYM BOARDS BOARD)
(DESC "board")
<OBJECT TEETH
(SYNONYM OVERBOARD TEETH)
(DESC "set of teeth")
<OBJECT WALL
(SYNONYM WALL WALLS)
(ADJECTIVE SURROUNDING)
(DESC "surrounding wall")>
<OBJECT GRANITE-WALL
(SYNONYM WALL)
(ADJECTIVE GRANITE)
(DESC "granite wall")
<OBJECT SONGBIRD
(SYNONYM BIRD SONGBIRD)
(ADJECTIVE SONG)
(DESC "songbird")
<OBJECT WHITE-HOUSE
(SYNONYM HOUSE)
(ADJECTIVE WHITE BEAUTIFUL COLONIAL)
(DESC "Haus")
<OBJECT FOREST
(SYNONYM FOREST TREES PINES HEMLOCKS)
(ADJECTIVE SCHON)
(DESC "Wald")
<OBJECT TREE
(SYNONYM TREE BRANCH)
(ADJECTIVE LARGE STORM ;"-TOSSED")
(DESC "tree")
<OBJECT MOUNTAIN-RANGE
(DESC "mountain range")
(SYNONYM MOUNTAIN RANGE)
(ADJECTIVE IMPASSABLE FLATHEAD)
<OBJECT GLOBAL-WATER
(SYNONYM WATER QUANTITY)
(DESC "water")
<OBJECT WATER
(SYNONYM WATER QUANTITY LIQUID H2O)
(DESC "quantity of water")
<OBJECT KITCHEN-WINDOW
(SYNONYM WINDOW)
(ADJECTIVE KITCHEN SMALL)
(DESC "kitchen window")
<OBJECT CHIMNEY
(SYNONYM CHIMNEY)
(ADJECTIVE DARK NARROW)
(DESC "chimney")
<OBJECT GHOSTS
(SYNONYM GHOSTS SPIRITS FIENDS FORCE)
(ADJECTIVE INVISIBLE EVIL)
(DESC "number of ghosts")
<OBJECT SKULL
(SYNONYM KRISTA HIRNSCHALE KOPF)
(ADJECTIVE KRISTAL CRYSTA)
(DESC "Hirnschale")
<OBJECT LOWERED-BASKET
(SYNONYM CAGE DUMBWAITER BASKET)
(ADJECTIVE LOWERED)
(DESC "basket")
<OBJECT RAISED-BASKET
(SYNONYM CAGE DUMBWAITER BASKET)
(DESC "basket")
<OBJECT LUNCH
(SYNONYM FOOD SANDWICH LUNCH DINNER)
(ADJECTIVE HOT PEPPER)
(DESC "lunch")
<OBJECT BAT
(SYNONYM BAT VAMPIRE)
(ADJECTIVE VAMPIRE DERANGED)
(DESC "bat")
(DESCFCN BAT-D)
<OBJECT BELL
(SYNONYM BELL)
(ADJECTIVE SMALL BRASS)
(DESC "brass bell")
<OBJECT HOT-BELL
(SYNONYM BELL)
(ADJECTIVE BRASS HOT RED SMALL)
(DESC "red hot brass bell")
<OBJECT AXE
(SYNONYM AXE AX)
(ADJECTIVE BLOODY)
(DESC "bloody axe")
<OBJECT BOLT
(SYNONYM BOLT NUT)
(ADJECTIVE METAL LARGE)
(DESC "bolt")
<OBJECT BUBBLE
(SYNONYM BUBBLE)
(ADJECTIVE SMALL GREEN PLASTIC)
(DESC "green bubble")
<OBJECT ALTAR
(SYNONYM ALTAR)
(DESC "altar")
<OBJECT BOOK
(SYNONYM BOOK PRAYER PAGE BOOKS)
(ADJECTIVE LARGE BLACK)
(DESC "black book")
<OBJECT BROKEN-LAMP
(SYNONYM LAMP LANTERN)
(ADJECTIVE BROKEN)
(DESC "broken lantern")
<OBJECT SCEPTRE
(SYNONYM SCEPTRE SCEPTER TREASURE)
(ADJECTIVE SHARP EGYPTIAN ANCIENT ENAMELED)
(DESC "sceptre")
<OBJECT TIMBERS
(SYNONYM TIMBERS PILE TIMBER)
(ADJECTIVE WOODEN BROKEN)
(DESC "broken timber")
<OBJECT SLIDE
(SYNONYM CHUTE RAMP SLIDE)
(ADJECTIVE STEEP METAL TWISTING)
(DESC "chute")
<OBJECT KITCHEN-TABLE
(SYNONYM TABLE)
(ADJECTIVE KITCHEN)
(DESC "kitchen table")
<OBJECT ATTIC-TABLE
(SYNONYM TABLE)
(DESC "table")
<OBJECT SANDWICH-BAG
(SYNONYM BAG SACK)
(ADJECTIVE BROWN ELONGATED SMELLY)
(DESC "Sack")
<OBJECT TOOL-CHEST
(SYNONYM CHEST CHESTS GROUP TOOLCHESTS)
(ADJECTIVE TOOL)
(DESC "group of tool chests")
<OBJECT YELLOW-BUTTON
(SYNONYM BUTTON SWITCH)
(ADJECTIVE YELLOW)
(DESC "yellow button")
<OBJECT BROWN-BUTTON
(SYNONYM BUTTON SWITCH)
(ADJECTIVE BROWN)
(DESC "brown button")
<OBJECT RED-BUTTON
(SYNONYM BUTTON SWITCH)
(ADJECTIVE RED)
(DESC "red button")
<OBJECT BLUE-BUTTON
(SYNONYM BUTTON SWITCH)
(ADJECTIVE BLUE)
(DESC "blue button")
<OBJECT TROPHY-CASE
(SYNONYM CASE)
(ADJECTIVE TROPHY)
(DESC "trophy case")
<OBJECT RUG
(SYNONYM RUG CARPET)
(ADJECTIVE LARGE ORIENTAL)
(DESC "carpet")
<OBJECT CHALICE
(SYNONYM CHALICE CUP SILVER TREASURE)
(ADJECTIVE SILVER ENGRAVINGS)
(DESC "chalice")
<OBJECT GARLIC
(SYNONYM GARLIC CLOVE)
(DESC "clove of garlic")
<OBJECT TRIDENT
(SYNONYM TRIDENT FORK TREASURE)
(ADJECTIVE POSEIDON OWN CRYSTA)
(DESC "crystal trident")
<OBJECT CYCLOPS
(SYNONYM CYCLOPS MONSTER EYE)
(ADJECTIVE HUNGRY GIANT)
(DESC "cyclops")
<OBJECT DAM
(SYNONYM DAM GATE GATES FCD\#3)
(DESC "dam")
<OBJECT TRAP-DOOR
(SYNONYM DOOR TRAPDOOR TRAP-DOOR COVER)
(ADJECTIVE TRAP DUSTY)
(DESC "trap door")
<OBJECT BOARDED-WINDOW
(SYNONYM WINDOW)
(ADJECTIVE BOARDED)
(DESC "boarded window")
<OBJECT FRONT-DOOR
(SYNONYM DOOR)
(ADJECTIVE FRONT BOARDED)
(DESC "door")
<OBJECT BARROW-DOOR
(SYNONYM DOOR)
(ADJECTIVE HUGE STONE)
(DESC "stone door")
<OBJECT BARROW
(SYNONYM BARROW TOMB)
(ADJECTIVE MASSIVE STONE)
(DESC "stone barrow")
<OBJECT BOTTLE
(SYNONYM BOTTLE CONTAINER)
(ADJECTIVE CLEAR GLASS)
(DESC "Flasche")
<OBJECT CRACK
(SYNONYM CRACK)
(ADJECTIVE NARROW)
(DESC "crack")
<OBJECT COFFIN
(SYNONYM COFFIN CASKET TREASURE)
(ADJECTIVE SOLID GOLD)
(DESC "gold coffin")
<OBJECT GRATE
(SYNONYM GRATE GRATING)
(DESC "grating")
<OBJECT PUMP
(SYNONYM PUMP AIR-PUMP TOOL TOOLS)
(ADJECTIVE SMALL HAND-HELD)
(DESC "hand-held air pump")
<OBJECT DIAMOND
(SYNONYM DIAMOND TREASURE)
(ADJECTIVE HUGE ENORMOUS)
(DESC "huge diamond")
<OBJECT JADE
(SYNONYM FIGURINE TREASURE)
(ADJECTIVE EXQUISITE JADE)
(DESC "jade figurine")
<OBJECT KNIFE
(SYNONYM KNIVES KNIFE BLADE)
(ADJECTIVE NASTY UNRUSTY)
(DESC "nasty knife")
<OBJECT BONES
(SYNONYM BONES SKELETON BODY)
(DESC "skeleton")
<OBJECT BURNED-OUT-LANTERN
(SYNONYM LANTERN LAMP)
(ADJECTIVE RUSTY BURNED DEAD USELESS)
(DESC "Lanterna")
<OBJECT BAG-OF-COINS
(SYNONYM BAG COINS TREASURE)
(ADJECTIVE OLD LEATHER)
(DESC "leather bag of coins")
<OBJECT LAMP
(SYNONYM LAMP LANTERN LIGHT)
(ADJECTIVE BRASS)
(DESC "Messingleuchte")
<OBJECT EMERALD
(SYNONYM EMERALD TREASURE)
(ADJECTIVE LARGE)
(DESC "large emerald")
<OBJECT ADVERTISEMENT
(SYNONYM ADVERTISEMENT LEAFLET BOOKLET MAIL)
(ADJECTIVE SMALL)
(DESC "leaflet")
<OBJECT LEAK
(SYNONYM LEAK DRIP PIPE)
(DESC "leak")
<OBJECT MACHINE
(SYNONYM MACHINE PDP10 DRYER LID)
(DESC "machine")
<OBJECT INFLATED-BOAT
(SYNONYM BOAT RAFT)
(ADJECTIVE INFLAT MAGIC PLASTIC SEAWORTHY)
(DESC "magic boat")
<OBJECT MAILBOX
(SYNONYM MAILBOX BOX)
(ADJECTIVE SMALL)
(DESC "small mailbox")
<OBJECT MATCH
(SYNONYM MATCH MATCHES MATCHBOOK)
(ADJECTIVE MATCH)
(DESC "matchbook")
<OBJECT MIRROR-2
(SYNONYM REFLECTION MIRROR ENORMOUS)
(DESC "mirror")
<OBJECT MIRROR-1
(SYNONYM REFLECTION MIRROR ENORMOUS)
(DESC "mirror")
<OBJECT PAINTING
(SYNONYM PAINTING ART CANVAS TREASURE)
(ADJECTIVE BEAUTI)
(DESC "Gem%alde")
<OBJECT CANDLES
(SYNONYM CANDLES PAIR)
(ADJECTIVE BURNING)
(DESC "pair of candles")
<OBJECT GUNK
(SYNONYM GUNK PIECE SLAG)
(ADJECTIVE SMALL VITREOUS)
(DESC "small piece of vitreous slag")
<OBJECT BODIES
(SYNONYM BODIES BODY REMAINS PILE)
(ADJECTIVE MANGLED)
(DESC "pile of bodies")
<OBJECT LEAVES
(SYNONYM LEAVES LEAF PILE)
(DESC "pile of leaves")
<OBJECT PUNCTURED-BOAT
(SYNONYM BOAT PILE PLASTIC)
(ADJECTIVE PLASTIC PUNCTURE LARGE)
(DESC "punctured boat")
<OBJECT INFLATABLE-BOAT
(SYNONYM BOAT PILE PLASTIC VALVE)
(ADJECTIVE PLASTIC INFLAT)
(DESC "pile of plastic")
<OBJECT BAR
(SYNONYM BAR PLATINUM TREASURE)
(ADJECTIVE PLATINUM LARGE)
(DESC "platinum bar")
<OBJECT POT-OF-GOLD
(SYNONYM POT GOLD TREASURE)
(ADJECTIVE GOLD)
(DESC "pot of gold")
<OBJECT PRAYER
(SYNONYM PRAYER INSCRIPTION)
(ADJECTIVE ANCIENT OLD)
(DESC "prayer")
<OBJECT RAILING
(SYNONYM RAILING RAIL)
(ADJECTIVE WOODEN)
(DESC "wooden railing")
<OBJECT RAINBOW
(SYNONYM RAINBOW)
(DESC "rainbow")
<OBJECT RIVER
(DESC "river")
(SYNONYM RIVER)
(ADJECTIVE FRIGID)
<OBJECT BUOY
(SYNONYM BUOY)
(ADJECTIVE RED)
(DESC "Markierungsboje")
<OBJECT ROPE
(SYNONYM ROPE HEMP COIL)
(ADJECTIVE LARGE)
(DESC "Seil")
<OBJECT RUSTY-KNIFE
(SYNONYM KNIVES KNIFE)
(ADJECTIVE RUSTY)
(DESC "Messer")
<OBJECT SAND
(SYNONYM SAND)
(DESC "sand")
<OBJECT BRACELET
(SYNONYM BRACELET JEWEL SAPPHIRE TREASURE)
(ADJECTIVE SAPPHIRE)
(DESC "sapphire-encrusted bracelet")
<OBJECT SCREWDRIVER
(SYNONYM SCREWDRIVER TOOL TOOLS DRIVER)
(ADJECTIVE SCREW)
(DESC "screwdriver")
<OBJECT KEYS
(SYNONYM KEY)
(ADJECTIVE SKELETON)
(DESC "skeleton key")
<OBJECT SHOVEL
(SYNONYM SHOVEL TOOL TOOLS)
(DESC "shovel")
<OBJECT COAL
(SYNONYM COAL PILE HEAP)
(ADJECTIVE SMALL)
(DESC "small pile of coal")
<OBJECT LADDER
(SYNONYM LADDER)
(ADJECTIVE WOODEN RICKETY NARROW)
(DESC "wooden ladder")
<OBJECT SCARAB
(SYNONYM SCARAB BUG BEETLE TREASURE)
(ADJECTIVE BEAUTI CARVED JEWELED)
(DESC "beautiful jeweled scarab")
<OBJECT LARGE-BAG
(SYNONYM BAG)
(ADJECTIVE LARGE THIEFS)
(DESC "large bag")
<OBJECT STILETTO
(SYNONYM STILETTO)
(ADJECTIVE VICIOUS)
(DESC "stiletto")
<OBJECT MACHINE-SWITCH
(SYNONYM SWITCH)
(DESC "switch")
<OBJECT WOODEN-DOOR
(SYNONYM DOOR LETTERING WRITING)
(ADJECTIVE WOODEN GOTHIC STRANGE WEST)
(DESC "wooden door")
<OBJECT SWORD
(SYNONYM SWORD ORCRIST GLAMDRING BLADE)
(ADJECTIVE ELVISH OLD ANTIQUE)
(DESC "Elfenschwert")
<OBJECT MAP
(SYNONYM PARCHMENT MAP)
(ADJECTIVE ANTIQUE OLD ANCIENT)
(DESC "ancient map")
<OBJECT BOAT-LABEL
(SYNONYM LABEL FINEPRINT PRINT)
(ADJECTIVE TAN FINE)
(DESC "tan label")
<OBJECT THIEF
(SYNONYM THIEF ROBBER MAN PERSON)
(ADJECTIVE SHADY SUSPICIOUS SEEDY)
(DESC "thief")
<OBJECT PEDESTAL
(SYNONYM PEDESTAL)
(ADJECTIVE WHITE MARBLE)
(DESC "pedestal")
<OBJECT TORCH
(SYNONYM TORCH IVORY TREASURE)
(ADJECTIVE FLAMING IVORY)
(DESC "Fackel")
<OBJECT GUIDE
(SYNONYM GUIDE BOOK BOOKS GUIDEBOOKS)
(ADJECTIVE TOUR GUIDE)
(DESC "Prospekte")
<OBJECT TROLL
(SYNONYM TROLL)
(ADJECTIVE NASTY)
(DESC "troll")
<OBJECT TRUNK
(SYNONYM TRUNK CHEST JEWELS TREASURE)
(ADJECTIVE OLD)
(DESC "Koffer")
<OBJECT TUBE
(SYNONYM TUBE TOOTH PASTE)
(DESC "tube")
<OBJECT PUTTY
(SYNONYM MATERIAL GUNK)
(ADJECTIVE VISCOUS)
(DESC "viscous material")
<OBJECT ENGRAVINGS
(SYNONYM WALL ENGRAVINGS INSCRIPTION)
(ADJECTIVE OLD ANCIENT)
(DESC "wall with engravings")
<OBJECT OWNERS-MANUAL
(SYNONYM MANUAL PIECE PAPER)
(ADJECTIVE ZORK OWNERS SMALL)
(DESC "ZORK owner's manual")
<OBJECT CLIMBABLE-CLIFF
(SYNONYM WALL CLIFF WALLS LEDGE)
(ADJECTIVE ROCKY SHEER)
(DESC "cliff")
<OBJECT WHITE-CLIFF
(SYNONYM CLIFF CLIFFS)
(ADJECTIVE WHITE)
(DESC "white cliffs")
<OBJECT WRENCH
(SYNONYM WRENCH TOOL TOOLS)
(DESC "wrench")
<OBJECT CONTROL-PANEL
(SYNONYM PANEL)
(ADJECTIVE CONTROL)
(DESC "control panel")
<OBJECT NEST
(SYNONYM NEST)
(ADJECTIVE BIRDS)
(DESC "bird's nest")
<OBJECT EGG
(SYNONYM EGG TREASURE)
(ADJECTIVE BIRDS ENCRUSTED JEWELED)
(DESC "jewel-encrusted egg")
<OBJECT BROKEN-EGG
(SYNONYM EGG TREASURE)
(ADJECTIVE BROKEN BIRDS ENCRUSTED JEWEL)
(DESC "broken jewel-encrusted egg")
<OBJECT BAUBLE
(SYNONYM BAUBLE TREASURE)
(ADJECTIVE BRASS BEAUTI)
(DESC "beautiful brass bauble")
<OBJECT CANARY
(SYNONYM CANARY TREASURE)
(ADJECTIVE CLOCKWORK GOLD GOLDEN)
(DESC "golden clockwork canary")
<OBJECT BROKEN-CANARY
(SYNONYM CANARY TREASURE)
(ADJECTIVE BROKEN CLOCKWORK GOLD GOLDEN)
(DESC "broken clockwork canary")
<OBJECT NAILS
(SYNONYM NAIL NAILS)
(DESC "nail")
<OBJECT CHASM
(SYNONYM CHASM)
(DESC "chasm")
<OBJECT DOOR-P
(SYNONYM DOOR)
(DESC "door")
<OBJECT PAINT
(SYNONYM PAINT)
(DESC "paint")
<OBJECT LAKE
(SYNONYM LAKE)
(DESC "lake")
<OBJECT STREAM
(SYNONYM STREAM)
(DESC "stream")
<OBJECT GATE
(SYNONYM GATE GATES)
(DESC "gate")
<OBJECT DOME
(SYNONYM DOME)
(DESC "dome")
<OBJECT CHAIN
(SYNONYM CHAIN)
(DESC "chain")
<OBJECT GAS
(SYNONYM GAS ODOR)
(DESC "gas")

793
syntax.zil Normal file
View File

@ -0,0 +1,793 @@
"Generic SYNTAX file for
The ZORK Trilogy
started on 7/21/83 by SEM
-- GERMAN EDITION"
<BUZZ WIEDER ACH>
<BUZZ ;OF ;VON-IS-PREP VOLL IST UND DES DANN ALLES ONE ABER AUSSER AU\%SER
\%\< \%\> \. \, \" HIER DER DIE DAS DEN DEM EIN EINE EINEN EINEM EINER>
;<SYNONYM WITH USING THROUGH THRU>
;"DURCH - BY MEANS OF"
<SYNONYM IN IM INS ;INSIDE ;INTO>
;"'IN' ALWAYS WITH ACCUSATIVE"
<SYNONYM AN AM ANS>
<SYNONYM AUF AUFS>
<SYNONYM FUER F\%UR>
<SYNONYM UEBER \%UBER>
;<SYNONYM UNDER UNDERNEATH BENEATH BELOW>
;"'UNTER' WITH ACC MOTION, WITH DATIVE NO MOTION"
<SYNONYM NORD NORDEN N>
<SYNONYM SUED S\%UD S\%UDEN SUEDEN S>
<SYNONYM OST OSTEN O>
<SYNONYM WEST WESTEN W>
<SYNONYM RUNTER R RU> ;"DOWN"
<SYNONYM RAUF RA> ;"UP"
<SYNONYM NW NORDWEST NORDWESTEN>
<SYNONYM NO NORDOST NORDOSTEN>
<SYNONYM SW SUEDWEST S\%UDWEST SUEDWESTEN S\%UDWESTEN>
<SYNONYM SO SUEDOST S\%UDOST SUEDOSTEN S\%UDOSTEN>
<SYNTAX AUSFUEHRLICH = V-VERBOSE>
<SYNONYM AUSFUEHRLICH AUSF\%UHRLICH>
<SYNTAX KURZ = V-BRIEF>
<SYNTAX SUPER = V-SUPER-BRIEF>
<SYNONYM SUPER SUPERKURZ>
<SYNTAX DIAGNOSE = V-DIAGNOSE> ;"same word"
<SYNONYM DIAGNOSE DIAGNOS>
<SYNTAX INVENTAR = V-INVENTORY>
<SYNONYM INVENTAR INVENTARE INVENTUR I>
<SYNTAX AUFHOEREN = V-QUIT>
<SYNONYM AUFHOEREN AUFH\%OREN BEENDEN>
<SYNTAX NEUBEGINN = V-RESTART>
;"*FANG WIEDER AN"
<SYNTAX WIEDERHERSTELLUNG = V-RESTORE>
;"*SPEICHERE UM"
<SYNTAX SAVE = V-SAVE>
;"*DATEN SICHER"
<SYNTAX PUNKTESTAND = V-SCORE>
<SYNTAX SCRIPT = V-SCRIPT>
;"SCHREIB TEXT"
<SYNTAX UNSCRIPT = V-UNSCRIPT>
;"IMPROVISIERE"
<SYNTAX VERSION = V-VERSION>
;"VERSION"
<SYNTAX $VERIFY = V-VERIFY>
;"KLARSTELLEN"
<SYNTAX \#RANDOM OBJEKT = V-RANDOM>
;"IRGENDEIN OBJEKT"
<SYNTAX \#COMMAND = V-COMMAND-FILE>
;"BEFEHLAKTE"
<SYNTAX \#RECORD = V-RECORD>
;"*LISTE"
<SYNTAX \#UNRECORD = V-UNRECORD>
;<SYNTAX DEBUG = V-DEBUG>
;"Real Verbs"
<SYNTAX AKTIVIER OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
<SYNONYM AKTIVIER AKTIVIERE>
<SYNTAX ANTWORT = V-ANSWER>
<SYNTAX ANTWORT OBJECT = V-REPLY>
<SYNONYM ANTWORT ANTWORTE>
<SYNTAX BENUTZ OBJECT = V-USE>
<SYNTAX BENUTZ OBJECT FUER OBJECT = V-PUT PRE-PUT>
<SYNONYM BENUTZ BENUTZE>
<SYNTAX GREIF AN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
;MIT ;OBJECT ;(FIND WEAPONBIT) ;(HELD CARRIED HAVE) = V-ATTACK>
<SYNTAX GREIF OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT ;AN (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNTAX ;SCHLAGE GREIF NIEDER OBJECT (FIND ACTORBIT)
(ON-GROUND IN-ROOM) = V-ATTACK>
;"AN is sep prefix at end"
<SYNONYM GREIF GREIFE KAEMPF K\%APF KAEMPFE K\%APFE VERLETZ VERLETZE
SCHLAG SCHLAGE>
;"ren: greif is attack and take? ANGREIFEN TO ATTACK , GREIF TO SIEZE"
<SYNTAX TOET OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNONYM TOET TOETE T\%OT T\%OTE>
<SYNTAX ZURUECK = V-BACK>
<SYNONYM ZURUECK ZUR\%UCK>
;<SYNTAX BLAST = V-BLAST>
<SYNTAX EXPLODIERE = V-BLAST>
;<SYNTAX BLOW OUT OBJECT = V-LAMP-OFF>
<SYNTAX BLAS AUS OBJECT = V-LAMP-OFF>
<SYNONYM BLAS BLASE>
<SYNTAX BLAS AUF OBJECT = V-INFLATE>
<SYNTAX BLAS OBJECT MIT
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED) = V-INFLATE>
;"AUF is sep prefix at end"
<SYNTAX BLAS AUF OBJECT = V-BLAST>
;<SYNTAX ATM OBJECT ;EIN = V-BREATHE>
;<SYNONYM ATM ATME>
<SYNTAX STEIG IN OBJECT ;EIN (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-BOARD PRE-BOARD>
<SYNONYM STEIG STEIGE>
<SYNTAX PUTZ OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-BRUSH>
<SYNTAX PUTZ OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT = V-BRUSH>
<SYNONYM PUTZ PUTZE BUERST B\%URST BUERSTE B\%URSTE SAEUBER S\%AUBER
SAEUBERE S\%AUBERE REINIG REINIGE>
;<SYNTAX BUG = V-BUG>
<SYNTAX VERBRENN OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNTAX VERBRENN NIEDER OBJECT (FIND BURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNTAX VERBRENN ;STECKE AN OBJECT (FIND BURNBIT)
(HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE)
= V-BURN PRE-BURN>
<SYNONYM VERBRENN VERBRENNE BRENN BRENNE STECK STECKE ZUEND Z\%UND Z\%UNDE
ZUENDE ;AN>
;"AN is sep prefix at end of stecke"
<SYNTAX KOZ OBJECT = V-CHOMP>
<SYNTAX KOZ DICH OBJECT (FIND KLUDGEBIT) = V-CHOMP>
<SYNONYM KOZ KOZE UEBERGIB \%UBERGIB CHOMP>
;<SYNTAX CLIMB UP OBJECT (FIND KLUDGEBIT) = V-CLIMB-UP>
;<SYNTAX CLIMB UP OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX KLETTER HINAUF OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
;<SYNTAX CLIMB DOWN OBJECT (FIND KLUDGEBIT) = V-CLIMB-DOWN>
;<SYNTAX CLIMB DOWN OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX KLETTER HINUNTER OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) =
V-CLIMB-DOWN>
<SYNTAX KLETTER HERUNTER OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) =
V-CLIMB-DOWN>
<SYNTAX KLETTER RUNTER OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) =
V-CLIMB-DOWN>
<SYNONYM KLETTER KLETTERE>
;<SYNTAX CLIMB OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
<SYNTAX BESTEIG OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-FOO>
<SYNONYM BESTEIG BESTEIGE>
;<SYNTAX CLIMB IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<SYNTAX STEIG IN OBJECT ;EIN (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-BOARD PRE-BOARD>
<SYNONYM STEIG STEIGE>
;<SYNTAX CLIMB ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX STEIG AUF OBJECT ;EIN (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
;<SYNTAX CLIMB WITH OBJECT = V-THROUGH>
<SYNTAX STEIG DURCH OBJECT = V-THROUGH>
<SYNTAX MACH ZU OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE>
<SYNONYM MACH MACHE>
<SYNTAX BEFIEHL OBJECT (FIND ACTORBIT) = V-COMMAND>
<SYNTAX ZAEHL OBJECT = V-COUNT>
<SYNONYM ZAEHL ZAEHLE Z\%AHL Z\%AHLE>
<SYNTAX UEBERQUER OBJECT = V-CROSS>
<SYNONYM UEBERQUER \%UBERQUER>
<SYNTAX SCHNEID OBJECT MIT OBJECT (FIND WEAPONBIT) (CARRIED HELD) = V-CUT>
<SYNTAX SCHNEID DURCH OBJECT = V-CUT>
<SYNONYM SCHNEID SCHNEIDE ZERSCHNEID ZERSCHNEID STICH STICHE DURCHLOECHERE
DURCHL\%OCHERE LOECHERE L\%OCHERE>
<SYNTAX FLUCH = V-CURSES>
<SYNTAX ;VERFLUCHE FLUCH OBJECT (FIND ACTORBIT) = V-CURSES>
<SYNONYM FLUCH FLUCHE VERFLUCHE VERFLUCH VERDAMMT VERSCHISSEN SCHEISSE MIST>
<SYNTAX LASS OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX LASS FALLEN OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX LASS OBJECT (HELD MANY HAVE) AUF OBJECT ;FALLEN = V-PUT-ON PRE-PUT>
<SYNTAX LASS LOS OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
<SYNTAX LASS RAUS OBJECT ;RAUS = V-DEFLATE>
<SYNTAX LASS OBJECT ;"LUFT" AUS OBJECT ;RAUS = V-DEFLATE>
<SYNTAX LASS OBJECT ;"LUFT" AUS OBJECT ;AB = V-DEFLATE>
<SYNONYM LASS LA\%S LASSE LA\%SE>
<SYNTAX ZERSTOER OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-MUNG PRE-MUNG>
<SYNTAX ZERSTOER OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
MIT OBJECT (HELD CARRIED TAKE) = V-MUNG PRE-MUNG>
;<SYNTAX DESTROY IN OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-OPEN>
<SYNTAX BRICH IN OBJECT ;EIN = V-MUNG PRE-MUNG> ;"ie, BREAK IN THE HOUSE"
<SYNONYM ZERSTOER ZERSTOERE ZERST\%ORE ZERST\%OR ;VERLETZE-USED-ABOVE
ZERBRECHE BLOCKIERE ZERSCHMETTERE DEMOLIERE>
<SYNTAX GRAB IN OBJECT (ON-GROUND IN-ROOM) = V-DIG>
<SYNTAX GRAB UM OBJECT (ON-GROUND IN-ROOM) = V-DIG>
<SYNTAX GRAB AUS OBJECT (ON-GROUND IN-ROOM) = V-DIG>
<SYNTAX GRAB MIT OBJECT (FIND TOOLBIT) = V-DIG-WITH>
<SYNTAX GRAB IN OBJECT (ON-GROUND IN-ROOM)
MIT OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
<SYNTAX GRAB OBJECT (ON-GROUND IN-ROOM)
MIT OBJECT (FIND TOOLBIT) (HELD CARRIED HAVE) = V-DIG>
<SYNONYM GRAB GRABE>
;<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-DISEMBARK>
<SYNTAX STEIG AUS OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-DISEMBARK> ;"'steig in' is climb in etc."
<SYNTAX ERNUECHTER OBJECT = V-DISENCHANT>
<SYNONYM ERNUECHTER ERN\%UCHTER>
<SYNTAX TRINK OBJECT (FIND DRINKBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-DRINK>
<SYNTAX TRINK AUS OBJECT (HELD CARRIED) = V-DRINK-FROM>
<SYNONYM TRINK TRINKE SCHLUERFE SCHL\%URFE SCHLUERF SCHL\%URF SCHLUCKE SCHLUCK>
;"LASS OBJ-ACC OBJ-ACC HERUNTERFALLEN = drop obj. down object."
<SYNTAX LASS OBJECT (HELD MANY HAVE) OBJECT HERUNTERFALLEN = V-PUT PRE-PUT>
<SYNTAX LASS OBJECT (HELD MANY HAVE) OBJECT HERUNTER = V-PUT PRE-PUT>
;<SYNTAX DROP OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX LASS HERUNTER OBJECT (HELD MANY HAVE) = V-DROP PRE-DROP>
;<SYNTAX DROP OBJECT (HELD MANY HAVE) ON OBJECT = V-PUT-ON PRE-PUT>
;<SYNONYM DROP RELEASE>
<SYNTAX ISS OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-EAT>
<SYNTAX ISS HINEIN OBJECT (FIND FOODBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-EAT>
<SYNONYM ISS ISSE I\%SE I\%S VERZEHR VERZEHRE SCHMECK SCHMECKE BEISS BEISSE
;OBJ ;HINEIN BEI\%S BEI\%SE>
<SYNTAX ECHO = V-ECHO>
;<SYNTAX ENCHANT OBJECT (ON-GROUND IN-ROOM) = V-ENCHANT>
<SYNTAX BEZAUBER OBJECT (ON-GROUND IN-ROOM) = V-ENCHANT>
<SYNONYM BEZAUBER BEZAUBERE ENTZUECKE ENTZ\%UCKE ENTZUECK ENTZ\%UCK>
<SYNTAX BETRET = V-ENTER>
<SYNONYM BETRET BETRETE>
<SYNTAX TRITT IN OBJECT = V-ENTER>
<SYNONYM TRITT TRITTE>
<SYNTAX BETRET DURCH OBJECT = V-THROUGH>
<SYNTAX VERLASS OBJECT = V-EXIT>
<SYNONYM VERLASS VERLASSE VERLA\%S VERLA\%SE>
<SYNTAX UNTERSUCH OBJECT (MANY) = V-EXAMINE>
<SYNTAX UNTERSUCH IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNTAX UNTERSUCH AUF OBJECT (HELD CARRIED IN-ROOM ON-GROUND MANY)
= V-LOOK-INSIDE>
<SYNTAX UNTERSUCH OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT = V-READ PRE-READ>
<SYNONYM UNTERSUCH BETRACHT BETRACHTE BESCHREIB WAS>
;"was ist object"
;<SYNTAX EXORCISE OUT OBJECT (FIND ACTORBIT) = V-EXORCISE>
<SYNTAX TREIB AUS OBJECT = V-EXORCISE>
<SYNTAX TREIB WEG OBJECT (FIND ACTORBIT) = V-EXORCISE>
<SYNONYM TREIB TREIBE VERTREIBE VERBANNE ;MAERZE EXORZIERE>
<SYNTAX MACH AUS OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNONYM MACH MACHE>
<SYNTAX LOESCH OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNONYM LOESCH LOESCHE L\%OSCHE L\%OSCH>
<SYNTAX FUELL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT = V-FILL PRE-FILL>
<SYNTAX FUELL OBJECT (FIND CONTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-FILL PRE-FILL>
<SYNONYM FUELL FUELLE F\%ULL F\%ULLE>
<SYNTAX FIND OBJECT = V-FIND>
<SYNONYM FIND FINDE ;SUCH WO>
<SYNTAX FOLG = V-FOLLOW>
<SYNTAX FOLG OBJECT = V-FOLLOW>
<SYNONYM FOLG FOLGE VERFOLG VERFOLGE JAG JAGE KOMM KOMME>
<SYNTAX FROBOZ = V-FROBOZZ>
<SYNONYM FROBOZ FROBOZZ>
<SYNTAX GIB OBJECT (MANY HELD HAVE)
ZU OBJECT (FIND ACTORBIT) (ON-GROUND) = V-GIVE PRE-GIVE>
<SYNTAX GIB OBJECT (FIND ACTORBIT) (ON-GROUND)
OBJECT (MANY HELD HAVE) = V-SGIVE PRE-SGIVE>
<SYNONYM GIB GIBE ;SCHENKE-IN-DROP-SYNTAX OFFERIER OFFERIERE FUETTERE
F\%UTTERE>
<SYNTAX BRUET OBJECT = V-HATCH>
<SYNONYM BRUET BR\%UT BRUETE BR\%UTE>
<SYNTAX HALLO = V-HELLO>
<SYNTAX HALLO OBJECT = V-HELLO>
<SYNONYM HALLO TAG>
<SYNTAX GRUESS DICH OBJECT (FIND KLUDGEBIT) = V-HELLO>
<SYNONYM GRUESS GR\%USS GRUE\%S GR\%U\%S>
<SYNTAX TIP = V-HINT>
;<SYNTAX KEINE TIPS MEHR (FIND KLUDGEBIT) = V-HINTS-OFF>
<SYNTAX TIP NICHT = V-HINTS-OFF>
<VERB-SYNONYM TIP TIPE TIPS HILFE HILF WINK WINKE>
<SYNTAX ZAUBER = V-INCANT>
<SYNONYM ZAUBER ZAUBERE ZAUBERGESANG>
<SYNTAX ;INFLATE BLAS OBJECT MIT
OBJECT ;AUF (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED)
= V-INFLATE>
;<SYNTAX IS OBJECT IN OBJECT = V-IS-IN>
;<SYNTAX IS OBJECT ON OBJECT = V-IS-IN>
<SYNTAX SPRING = V-LEAP>
<SYNTAX SPRING UEBER ;OVER OBJECT = V-LEAP>
<SYNTAX SPRING QUER ;UEBER OBJECT = V-LEAP> ;"JUMP ACROSS"
<SYNTAX SPRING IN OBJECT = V-LEAP>
<SYNTAX SPRING VON OBJECT = V-LEAP>
<SYNTAX QWESDU HERAB OBJECT = V-LEAP> ;"DUMMY SYNTAX SO HERAB IS A PREP"
<SYNTAX SPRING VON OBJECT ;HERAB = V-LEAP>
<SYNONYM SPRING SPRINGE HUEPF H\%UPF HUEPFE H\%UPFE TAUCH TAUCHE>
<SYNTAX TRITT OBJECT = V-KICK>
;<SYNONYM KICK TAUNT>
;<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNTAX TOET OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNONYM TOET T\%OT TOETE T\%OTE ERMORD ERMORDE BESEITIGE BESEITIGE>
<SYNTAX ERSTECH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-STAB>
<SYNTAX ERSTECH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-ATTACK>
<SYNONYM ERSTECH ERSTECHE>
<SYNTAX KUESS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KISS>
<SYNONYM KUESS K\%USS KUESSE K\%USSE KUE\%S K\%U\%S>
<SYNTAX KLOPF AN OBJECT = V-KNOCK>
<SYNTAX KLOPF AUF OBJECT = V-KNOCK>
<SYNONYM KLOPF KLOPFE>
<SYNTAX STOSS AB OBJECT ;AB (FIND VEHBIT) = V-LAUNCH>
<SYNONYM STOSS STO\%S>
;<SYNTAX LEAN ON OBJECT (HELD HAVE) = V-LEAN-ON>
<SYNTAX LEHN DICH ;AN ;AUF OBJECT (HELD HAVE) = V-LEAN-ON>
;<SYNTAX LEAVE = V-LEAVE>
<SYNTAX LASS LIEGEN OBJECT (FIND KLUDGEBIT) = V-LEAVE>
;<SYNTAX LEAVE OBJECT = V-DROP PRE-DROP>
<SYNTAX MACH AN OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-ON>
<SYNTAX ;LIGHT LUENDE AN OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED TAKE HAVE) = V-BURN PRE-BURN>
<SYNTAX ;LIGHT LUENDE OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM)
AN ;MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED TAKE HAVE)
= V-BURN PRE-BURN>
<SYNONYM LUENDE L\%UNDE LUEND L\%UND>
<SYNTAX ;LIGHT LEUCHTE OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-ON>
<SYNTAX ;LIGHT LEUCHTE OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM)
AN ;MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED TAKE HAVE)
= V-BURN PRE-BURN>
<SYNTAX ;LIGHT LEUCHTE AN OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED TAKE HAVE) = V-BURN PRE-BURN>
<SYNONYM LEUCHTE LEUCHT>
;<SYNTAX LISTEN TO OBJECT = V-LISTEN>
<SYNTAX HOER ZU OBJECT = V-LISTEN>
<SYNTAX HOER NACH OBJECT = V-LISTEN>
<SYNTAX HOER AN OBJECT = V-LISTEN>
;<SYNTAX LISTEN FOR OBJECT = V-LISTEN>
<SYNTAX HOER OBJECT = V-LISTEN>
<SYNONYM HOER HOERE H\%OR H\%ORE LAUSCH LAUSCHE HORCH HORCHE>
<SYNTAX SCHAU = V-LOOK>
<SYNTAX SIEH DICH ;UM OBJECT (FIND KLUDGEBIT) = V-LOOK>
;<SYNTAX LOOK UP OBJECT (FIND KLUDGEBIT) = V-LOOK>
;<SYNTAX LOOK DOWN OBJECT (FIND KLUDGEBIT) = V-LOOK>
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-EXAMINE>
<SYNTAX SCHAU AN OBJECT = V-EXAMINE>
<SYNTAX SCHAU AUF OBJECT = V-LOOK-ON>
<SYNTAX SCHAU DURCH OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY)
= V-LOOK-INSIDE>
<SYNTAX SCHAU UNTER OBJECT = V-LOOK-UNDER>
<SYNTAX SCHAU HINTER OBJECT = V-LOOK-BEHIND>
<SYNTAX SCHAU IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM MANY) = V-LOOK-INSIDE>
<SYNTAX SCHAU OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT = V-READ PRE-READ>
;<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT = V-READ PRE-READ>
;<SYNTAX LOOK FOR OBJECT = V-FIND>
<SYNONYM SCHAU SCHAUE STARRE BLICKE SEH>
<SYNTAX LASS HINUNTER OBJECT = V-LOWER>
<SYNTAX SCHMIER OBJECT MIT OBJECT (HELD CARRIED) = V-OIL>
<SYNONYM SCHMIER SCMEIRE OELE \%OLE FETT FETTE>
<SYNTAX MACH OBJECT = V-MAKE>
<SYNTAX SCHMELZ OBJECT
MIT OBJECT (FIND FLAMEBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-MELT>
<SYNONYM SCHMELZ SCHMELZE VERFLUESSIGE VERFL\%USSIGE VERFL\%U\%SIGE
VERFLUE\%SIGE>
<SYNTAX BEWEG OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
;<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO>
<SYNTAX BEWEG OBJECT (ON-GROUND IN-ROOM) NACH OBJECT = V-PUSH-TO>
<SYNONYM BEWEG BEWEGE>
;<SYNTAX MOVE OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
;<SYNTAX MOVE OBJECT WITH OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
<SYNTAX ROLL AUF OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNONYM ROLL ROLLE>
<SYNTAX MURMLE = V-MUMBLE>
<SYNONYM MURMLE SEUFZE NUSCHELE>
<SYNTAX NEIN = V-NO>
<SYNTAX ODYSSEUS = V-ODYSSEUS>
<SYNONYM ODYSSEUS ULYSSES>
<SYNTAX OEFFN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) = V-OPEN>
<SYNTAX MACH AUF OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-OPEN>
<SYNTAX OEFFN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM) MIT
OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-OPEN>
<SYNONYM OEFFN OEFFNE \%OFFNE \%OFFN>
;<SYNTAX WAEHL OBJECT = V-PICK> ;"ren: as in pick a lock?"
<SYNTAX KNACK OBJECT = V-PICK>
<SYNTAX KNACK OBJECT MIT OBJECT = V-PICK>
<SYNONYM KNACK KNACKE>
<SYNTAX ;PICK-UP HEB AUF OBJECT (FIND TAKEBIT) (ON-GROUND MANY)
= V-TAKE PRE-TAKE>
<SYNTAX SPIELE OBJECT = V-PLAY>
<SYNTAX KLEB OBJECT MIT OBJECT ;ZU = V-PLUG>
<SYNONYM ;STOPFE KLEB KLEBE ;ZU FLICK FLICKE REPARIERE>
;<SYNONYM PLUG GLUE PATCH REPAIR FIX>
<SYNTAX PLUGH = V-ADVENT>
<SYNONYM PLUGH XYZZY>
;<SYNTAX POKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
<SYNTAX STOSS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
<SYNONYM STOSS STOSSE STO\%SE STO\%S>
;<SYNTAX DURCHLOECHERE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
MIT OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-MUNG PRE-MUNG>
;<SYNTAX POUR OBJECT (HELD CARRIED) = V-DROP PRE-DROP>
<SYNTAX SCHUETT AUS OBJECT (HELD CARRIED) = V-DROP PRE-DROP>
<SYNTAX SCHUETT OBJECT (HELD CARRIED) IN OBJECT = V-DROP PRE-DROP>
<SYNTAX SCHUETT OBJECT (HELD CARRIED) AUF OBJECT = V-POUR-ON>
<SYNTAX GIESS OBJECT (HELD CARRIED) VON OBJECT = V-DROP PRE-DROP>
<SYNONYM GIESS GIESSE GIE\%S GIE\%SE>
<SYNONYM SCHUETT SCH\%UTT SCHUETTE SCH\%UTTE VERSCHUETTE VERSCH\%UTTE>
<SYNTAX SCHENK OBJECT ;EIN (HELD CARRIED) = V-DROP PRE-DROP>
<SYNTAX SCHENK OBJECT (FIND ACTORBIT) (ON-GROUND)
OBJECT (MANY HELD HAVE) = V-SCHENKE ;V-SGIVE ;PRE-SGIVE>
<SYNONYM SCHENK SCHENKE>
;"next syntax handled by above"
;<SYNTAX SCHENKE ;DEN OBJECT(HELD CARRIED) ;DEM OBJECT ;EIN = V-DROP PRE-DROP>
<SYNTAX BET = V-PRAY>
<SYNONYM BET BETE>
<SYNTAX ZIEH OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX ZIEH AN OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNTAX ZIEH HOCH OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
<SYNONYM ZIEH ZIEHE ZERR ZERRE REISS REISSE REI\%S REI\%SE>
<SYNTAX PUMP AUF OBJECT = V-PUMP>
<SYNTAX PUMP OBJECT MIT OBJECT ;AUF = V-PUMP>
<SYNONYM PUMP PUMPE>
<SYNTAX STOSS OBJECT (IN-ROOM ON-GROUND) NACH OBJECT = V-PUSH-TO>
<SYNTAX STOSS OBJECT (IN-ROOM ON-GROUND) ZU OBJECT = V-PUSH-TO>
<SYNTAX STOSS OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX STOSS AN OBJECT (IN-ROOM ON-GROUND MANY) = V-PUSH>
<SYNTAX STOSS OBJECT MIT OBJECT (FIND TOOLBIT) = V-TURN PRE-TURN>
<SYNTAX STOSS OBJECT UNTER OBJECT = V-PUT-UNDER>
<SYNONYM STOSS STOSS STO\%S STO\%SE SCHUBS SCHUBSE ;STICH-USED-ABOVE
SCHIEB SCHIEBE DRUCK
DRUECKE DR\%UCKE DRUECK DR\%UCK>
<SYNTAX LEG OBJECT (HELD MANY HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX LEG OBJECT (HELD MANY HAVE) AUF OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX LEG OBJECT (HELD HAVE) UNTER OBJECT = V-PUT-UNDER>
<SYNTAX ZIEH AN OBJECT (IN-ROOM ON-GROUND CARRIED MANY) = V-WEAR>
<SYNTAX LEG OBJECT (HELD MANY HAVE) HINTER OBJECT = V-PUT-BEHIND>
<SYNTAX LEG ;STOPFE OBJECT MIT OBJECT = V-PLUG>
<SYNTAX ;SETZ LEG DICH ;AN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM)
= V-CLIMB-ON>
<SYNTAX ;SETZE LEG INSTAND OBJECT MIT OBJECT = V-PLUG> ;"ie, to repair"
<SYNONYM LEG LEGE SETZ SETZE STELL STELLE STOPF STOPFE VERSTECK VERSTECKE>
;<SYNTAX RAISE OBJECT = V-RAISE>
;"ren: HEB AUF OBJECT is pick-up and raise -- depends on context?"
<SYNTAX HEB HOCH OBJECT = V-RAISE>
;<SYNTAX ZIEH HOCH OBJECT = V-RAISE>
<SYNONYM HEB HEBE ERHOEHE ERH\%OHE ERH\%OH>
;<SYNTAX VERGELWALTIGE OBJECT (FIND ACTORBIT) = V-RAPE>
;<SYNONYM VERGELWALTIGE BELAESTIGE>
<SYNTAX LIES OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-READ PRE-READ>
<SYNTAX LIES AUF OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-READ PRE-READ>
;<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
WITH OBJECT = V-READ PRE-READ>
<SYNTAX LIES OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
OBJECT = V-READ-PAGE>
<SYNONYM LIES LIESE BLAETTER BL\%ATTER BLAETTERE BL\%ATTERE>
<SYNTAX BEREUE = V-REPENT>
<SYNTAX LAEUT OBJECT (TAKE) = V-RING>
<SYNTAX LAEUT MIT OBJECT (TAKE) = V-RING>
<SYNONYM LAEUT LAEUTE L\%AUT L\%AUTE KLINGEL KLINGELN>
<SYNTAX REIB OBJECT = V-RUB>
<SYNTAX REIB OBJECT MIT OBJECT = V-RUB>
<SYNONYM REIB REIBE FUEHL F\%UHL FUEHLE F\%UHLE STREICHLE LIEBKOS LIEBKOSE>
<SYNTAX SAG OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
<SYNTAX SAG = V-SAY>
<SYNONYM SAG SAGE>
<SYNTAX SUCH OBJECT = V-SEARCH>
<SYNTAX SUCH IN OBJECT = V-SEARCH>
<SYNTAX SUCH NACH OBJECT = V-FIND>
<SYNONYM SUCH SUCHE>
;<SYNTAX SEARCH FOR OBJECT = V-FIND>
<SYNTAX SEND NACH ;DEM OBJECT = V-SEND>
<SYNONYM SEND SENDE>
<SYNTAX SCHUETTLE OBJECT (HAVE) = V-SHAKE>
<SYNONYM SCHUETTLE SCH\%UTTLE>
;<SYNTAX SKIP = V-SKIP>
;<SYNONYM SKIP HOP>
<SYNTAX RIECH OBJECT = V-SMELL>
<SYNONYM RIECH RIECHE SCHNUEFFLE SCHN\%UFFLE>
<SYNTAX WIRBLE HERUM OBJECT = V-SPIN>
<SYNTAX SPRUEH OBJECT AUF OBJECT = V-SPRAY>
<SYNTAX SPRUEH OBJECT MIT OBJECT = V-SSPRAY>
<SYNONYM SPRUEH SPR\%UH SPRUEHE SPR\%UHE>
<SYNTAX PRESS OBJECT = V-SQUEEZE>
<SYNTAX PRESS OBJECT AUF OBJECT = V-PUT PRE-PUT>
<SYNONYM PRESS PRESSE PRE\%S PRE\%SE>
<SYNTAX STEH = V-STAND>
<SYNONYM STEH STEHE>
<SYNTAX STEH AUF OBJECT (FIND KLUDGEBIT) = V-STAND>
<SYNTAX BLEIB = V-STAY>
<SYNONYM BLEIB BLEIBE>
;<SYNTAX SCHLAG OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND WEAPONBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE) = V-ATTACK>
;<SYNTAX SCHLAG OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-STRIKE>
<SYNTAX SCHWIMM = V-SWIM>
<SYNTAX SCHWIMM IN OBJECT = V-SWIM>
<SYNTAX SCHWIMM UEBER OBJECT = V-SWIM>
<SYNONYM SCHWIMM SCHWIMME BAD BADE WAT WATE>
;"v-swing also v-wave. same ger. word"
<SYNTAX SCHWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE) = V-SWING>
<SYNTAX SCHWING ;FUCHTELE MIT OBJECT ;HERUM (FIND WEAPONBIT)
(HELD CARRIED HAVE) = V-SWING>
<SYNTAX SCHWING OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE)
NACH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-SWING>
<SYNONYM SCHWING FUCHTELE>
<SYNONYM SCHWING SCHWINGE ;STOSS>
<SYNTAX NIMM OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY) = V-TAKE PRE-TAKE>
;<SYNTAX TAKE IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
;<SYNTAX TAKE OUT OBJECT (FIND KLUDGEBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
;<SYNTAX TAKE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
;<SYNTAX TAKE UP OBJECT (FIND KLUDGEBIT) = V-STAND>
<SYNTAX NIMM OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
AUS OBJECT ;HERAUS = V-TAKE PRE-TAKE>
<SYNTAX NIMM OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
VON OBJECT = V-TAKE PRE-TAKE>
;<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
FROM OBJECT = V-TAKE PRE-TAKE>
<SYNONYM NIMM NIMME HOL HOLE HALT HALTE ENTFENRNE FANG FANGE>
;"ren: greif is attack and take? ANGREIFEN TO ATTACK , GREIF TO SIEZE"
<SYNTAX TRAG OBJECT = V-TRAGE> ;"Note: trage can mean take or wear"
<SYNONYM TRAG TRAGE>
<SYNTAX SAG OBJECT (FIND ACTORBIT) (IN-ROOM) UEBER OBJECT = V-TELL>
<SYNTAX SAG MIT OBJECT (FIND ACTORBIT) (IN-ROOM) UEBER OBJECT = V-TELL>
<SYNONYM SAG ERZAEHLE ERZ\%AHLE SPRICH>
<SYNTAX FRAG OBJECT (FIND ACTORBIT) = V-TELL>
<SYNTAX FRAG OBJECT (FIND ACTORBIT) UEBER OBJECT = V-TELL>
<SYNONYM FRAG FRAGE>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) = V-THROW>
<SYNTAX WERF HOCH OBJECT (HELD CARRIED HAVE) = V-THROW>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE)
AUF OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-THROW>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE)
MIT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-THROW>
<SYNTAX WERF OBJECT UEBER OBJECT = V-OVERBOARD>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) AUF OBJECT = V-PUT-ON PRE-PUT>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) VON OBJECT = V-THROW-OFF>
<SYNTAX WERF OBJECT (HELD CARRIED HAVE) UEBER OBJECT = V-THROW-OFF>
<SYNONYM WERF WERFE SCHLEUDERE SCHMEISSE SCHMEI\%SE SCHMEI\%S WIRF WIRFE ;HOCH>
<SYNTAX BIND ZU OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX BIND AN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX BIND OBJECT AN ;TO OBJECT = V-TIE>
<SYNTAX BIND OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT ;ZU
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNONYM BIND BINDE FESSEL FESSELE ;(FESTMACHE ZUMACHE ANBINDE)>
<SYNTAX MACH FEST OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX MACH ZU OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX MACH OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) MIT OBJECT ;FEST
(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<SYNTAX SCHATZ = V-TREASURE>
<SYNONYM SCHATZ TEMPEL>
<SYNTAX DREH OBJECT (FIND TURNBIT) (HELD CARRIED ON-GROUND IN-ROOM)
MIT OBJECT (FIND KLUDGEBIT) = V-TURN PRE-TURN>
;<SYNTAX TURN ON OBJECT (FIND LIGHTBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
<SYNTAX MACH OBJECT MIT OBJECT ;AN (HAVE) = V-LAMP-ON>
;<SYNTAX TURN OFF OBJECT (FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE) = V-LAMP-OFF>
<SYNTAX DREH OBJECT (FIND TURNBIT) ZU OBJECT = V-TURN PRE-TURN>
<SYNTAX DREH OBJECT (FIND TURNBIT) FUER OBJECT = V-TURN PRE-TURN>
<SYNTAX DREH UM OBJECT ;(FIND TURNBIT) = V-TURN PRE-TURN> ;"on its side"
<SYNONYM DREH DREHE>
<SYNTAX SCHLIESS OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE>
<SYNTAX VERSCHLIESS OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE-OR-LOCK>
<SYNTAX VERSCHLIESS OBJECT (ON-GROUND IN-ROOM) MIT
OBJECT (FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-LOCK>
<SYNTAX SCHLIESS AUF OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE-OR-UNLOCK>
<SYNTAX SCHLIESS AUF OBJECT (ON-GROUND IN-ROOM) MIT OBJECT
(FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
= V-UNLOCK>
<SYNTAX SCHLIESS OBJECT (ON-GROUND IN-ROOM) MIT OBJECT ;AUF
(FIND TOOLBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE) = V-UNLOCK>
<SYNONYM SCHLIESS SCHLIESSE SCHLEI\%S SCHLEI\%SE>
<SYNTAX KNOEPF OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
<SYNTAX KNOEPF AUF OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
<SYNTAX LOESE OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
VON OBJECT = V-UNTIE>
<SYNONYM KNOEPF KN\%OPF KNOEPFE KN\%OPFE KNOT KNOTE BEFREI BEFREIE
ENTFERN ENTFERNE ENTHAKE>
<SYNTAX WART = V-WAIT>
<SYNONYM WART WARTE Z>
<SYNTAX WECK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
<SYNTAX WECK AUF OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-ALARM>
;<SYNTAX SEI UEBERRASCHT OBJECT (FIND KLUDGEBIT) = V-ALARM>
;<SYNTAX SEI ERSTAUNT OBJECT (FIND KLUDGEBIT) = V-ALARM>
<SYNONYM WECK WECKE WACH WACHE ERSCHRICK>
<SYNTAX GEH = V-WALK-AROUND>
<SYNTAX GEH RAUS OBJECT (FIND KLUDGEBIT) = V-EXIT>
<SYNTAX GEH MIT OBJECT = V-WALK>
<SYNTAX GEH VON ;WEG ;AWAY OBJECT = V-WALK>
<SYNTAX GEH DURCH OBJECT = V-THROUGH>
<SYNTAX GEH IN OBJECT = V-THROUGH>
<SYNTAX GEH AUF OBJECT = V-THROUGH>
<SYNTAX GEH AUS OBJECT ;RAUS = V-EXIT>
<SYNTAX GEH UEBER OBJECT = V-LEAP>
<SYNTAX GEH ZU OBJECT = V-WALK-TO>
<SYNTAX GEH NACH OBJECT = V-WALK-TO>
<SYNTAX GEH UM OBJECT ;HERUM = V-WALK-AROUND>
<SYNTAX GEH HINAUF OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX GEH HINUNTER OBJECT (FIND CLIMBBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNONYM GEH GEHE LAUF LAUFE REN RENE>
;"see syntax schwinge"
;<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) = V-WAVE>
;<SYNTAX WAVE OBJECT (HELD CARRIED TAKE HAVE) AT OBJECT = V-WAVE>
;<SYNTAX WAVE AT OBJECT = V-WAVE>
;<SYNONYM WAVE BRANDISH>
<SYNTAX TIP ;DEM OBJECT = V-WAVE ;WAVE-TO-SOMEONE>
;<SYNONYM TIP WINK WINKE> ;"TIP MEANS HINT ALSO"
;<SYNTAX WEAR OBJECT = V-WEAR>
<SYNTAX GEWINN = V-WIN>
<SYNONYM GEWINN GEWINNE SIEG>
<SYNTAX WIND OBJECT = V-WIND>
<SYNTAX WIND UP OBJECT = V-WIND>
<SYNONYM WIND WINDE>
<SYNTAX WISH = V-WISH>
<SYNTAX YELL = V-YELL>
<SYNONYM YELL SCREAM SHOUT>
<SYNTAX JA = V-YES>
<SYNONYM JA J>
<SYNTAX ZORK = V-ZORK>
<SYNTAX TESTIT = V-TEST-IT>

60
tells.zabstr Normal file
View File

@ -0,0 +1,60 @@
<SETG C-ENABLED? 0>
<SETG C-ENABLED 1>
<SETG C-DISABLED 0>
<TELL-TOKENS (CRLF CR) <CRLF> D * <DPRINT .X <>> N * <PRINTN .X> C * <PRINTC .X
> DER-NOM * <DER-NOM-PRINT .X> DER-NOM-CAP * <DER-NOM-CAP-PRINT .X> DER-ACC * <
DER-ACC-PRINT .X> DER-ACC-CAP * <DER-ACC-CAP-PRINT .X> DER-DAT * <DER-DAT-PRINT
.X> EIN-NOM * <EIN-NOM-PRINT .X> EIN-NOM-CAP * <EIN-NOM-CAP-PRINT .X> EIN-ACC *
<EIN-ACC-PRINT .X> EIN-ACC-CAP * <EIN-ACC-CAP-PRINT .X> EIN-DAT * <
EIN-DAT-PRINT .X> PRONOUN-NOM * <PRONOUN-NOM-PRINT .X> PRONOUN-NOM-CAP * <
PRONOUN-NOM-CAP-PRINT .X> PRONOUN-ACC * <PRONOUN-ACC-PRINT .X>>
<DEFINE-ROUTINE DO-CURSET>
<DEFINE-ROUTINE DPRINT>
<DEFINE-ROUTINE DER-NOM-PRINT>
<DEFINE-ROUTINE DER-NOM-CAP-PRINT>
<DEFINE-ROUTINE DER-ACC-PRINT>
<DEFINE-ROUTINE DER-ACC-CAP-PRINT>
<DEFINE-ROUTINE DER-DAT-PRINT>
<DEFINE-ROUTINE EIN-NOM-PRINT>
<DEFINE-ROUTINE EIN-NOM-CAP-PRINT>
<DEFINE-ROUTINE EIN-ACC-PRINT>
<DEFINE-ROUTINE EIN-ACC-CAP-PRINT>
<DEFINE-ROUTINE EIN-DAT-PRINT>
<DEFINE-ROUTINE PRONOUN-NOM-PRINT>
<DEFINE-ROUTINE PRONOUN-NOM-CAP-PRINT>
<DEFINE-ROUTINE PRONOUN-ACC-PRINT>
<DEFMAC VERB? ("ARGS" ATMS) <MULTIFROB PRSA .ATMS>>
<DEFMAC PRSO? ("ARGS" ATMS) <MULTIFROB PRSO .ATMS>>
<DEFMAC PRSI? ("ARGS" ATMS) <MULTIFROB PRSI .ATMS>>
<DEFMAC ROOM? ("ARGS" ATMS) <MULTIFROB HERE .ATMS>>
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM) <REPEAT () <COND
(<EMPTY? .ATMS> <RETURN <COND (<LENGTH? .OO 1> <ERROR .X>) (<LENGTH? .OO 2> <
NTH .OO 2>) (ELSE <CHTYPE .OO FORM>)>>)> <REPEAT () <COND (<EMPTY? .ATMS> <
RETURN>)> <SET ATM <NTH .ATMS 1>> <SET L (<COND (<TYPE? .ATM ATOM> <FORM GVAL <
COND (<==? .X PRSA> <PARSE <STRING "V?" <SPNAME .ATM>>>) (ELSE .ATM)>>) (ELSE .
ATM)> !.L)> <SET ATMS <REST .ATMS>> <COND (<==? <LENGTH .L> 3> <RETURN>)>> <SET
O <REST <PUTREST .O (<FORM EQUAL? <FORM GVAL .X> !.L>)>>> <SET L ()>>>
<DEFMAC BSET ('OBJ "ARGS" BITS) <MULTIBITS FSET .OBJ .BITS>>
<DEFMAC BCLEAR ('OBJ "ARGS" BITS) <MULTIBITS FCLEAR .OBJ .BITS>>
<DEFMAC BSET? ('OBJ "ARGS" BITS) <MULTIBITS FSET? .OBJ .BITS>>
<DEFINE MULTIBITS (X OBJ ATMS "AUX" (O ()) ATM) <REPEAT () <COND (<EMPTY? .ATMS
> <RETURN <COND (<LENGTH? .O 1> <NTH .O 1>) (<==? .X FSET?> <FORM OR !.O>) (
ELSE <FORM PROG () !.O>)>>)> <SET ATM <NTH .ATMS 1>> <SET ATMS <REST .ATMS>> <
SET O (<FORM .X .OBJ <COND (<TYPE? .ATM FORM> .ATM) (ELSE <FORM GVAL .ATM>)>>
!.O)>>>
<DEFMAC RFATAL () '<PROG () <PUSH 2> <RSTACK>>>
<DEFMAC PROB ('BASE? "OPTIONAL" 'LOSER?) <COND (<ASSIGNED? LOSER?> <FORM ZPROB
.BASE?>) (ELSE <FORM G? .BASE? '<RANDOM 100>>)>>
<DEFINE-ROUTINE ZPROB>
<DEFINE-ROUTINE RANDOM-ELEMENT>
<DEFINE-ROUTINE PICK-ONE>
<DEFMAC ENABLE ('INT) <FORM PUT .INT ,C-ENABLED? 1>>
<DEFMAC DISABLE ('INT) <FORM PUT .INT ,C-ENABLED? 0>>
<DEFMAC FLAMING? ('OBJ) <FORM AND <FORM FSET? .OBJ ',FLAMEBIT> <FORM FSET? .OBJ
',ONBIT>>>
<DEFMAC OPENABLE? ('OBJ) <FORM OR <FORM FSET? .OBJ ',DOORBIT> <FORM FSET? .OBJ
',CONTBIT>>>
<DEFMAC ABS ('NUM) <FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>) (T .NUM)>>
<DEFMAC RMGL-SIZE ('TBL) <COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> <FORM -
<FORM / <FORM PTSIZE .TBL> 2> 1>) (T <FORM - <FORM PTSIZE .TBL> 1>)>>

237
tells.zap Normal file
View File

@ -0,0 +1,237 @@
.FUNCT DO-CURSET:ANY:2:2,Y,X
EQUAL? 1,CWIDTH,CHEIGHT \?CCL3
CURSET Y,X
RFALSE
?CCL3: MUL X,CWIDTH >X
MUL Y,CHEIGHT
CURSET STACK,X
RFALSE
.FUNCT DPRINT:ANY:2:2,OBJ,CASE
GETP OBJ,P?ADJDESC
ZERO? STACK /?CND1
GETP OBJ,P?ADJDESC
PRINT STACK
EQUAL? CASE,W?DER,W?DEN,W?DEM \?CCL5
EQUAL? CASE,W?DER /?CTR7
EQUAL? CASE,W?DEN \?CCL8
FSET? OBJ,DERBIT /?CCL8
?CTR7: PRINTC 101
JUMP ?CND3
?CCL8: PRINTI "en"
JUMP ?CND3
?CCL5: FSET? OBJ,DERBIT \?CCL14
PRINTI "er"
JUMP ?CND3
?CCL14: FSET? OBJ,DASBIT \?CCL16
EQUAL? CASE,W?EINEM /?CCL16
PRINTI "es"
JUMP ?CND3
?CCL16: FSET? OBJ,DIEBIT \?CCL20
EQUAL? CASE,W?EINEM \?CCL20
PRINTC 101
JUMP ?CND3
?CCL20: PRINTI "en"
?CND3: PRINTC 32
?CND1: PRINTD OBJ
RTRUE
.FUNCT DER-NOM-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT \?CCL3
PRINTI "der "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CCL5
PRINTI "die "
JUMP ?CND1
?CCL5: FSET? OBJ,DASBIT \?CND1
PRINTI "das "
?CND1: CALL DPRINT,OBJ,W?DER
RSTACK
.FUNCT DER-NOM-CAP-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT \?CCL3
PRINTI "Der "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CCL5
PRINTI "Die "
JUMP ?CND1
?CCL5: FSET? OBJ,DASBIT \?CND1
PRINTI "Das "
?CND1: CALL DPRINT,OBJ,W?DER
RSTACK
.FUNCT DER-ACC-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT \?CCL3
PRINTI "den "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CCL5
PRINTI "die "
JUMP ?CND1
?CCL5: FSET? OBJ,DASBIT \?CND1
PRINTI "das "
?CND1: CALL DPRINT,OBJ,W?DEN
RSTACK
.FUNCT DER-ACC-CAP-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT \?CCL3
PRINTI "Den "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CCL5
PRINTI "Die "
JUMP ?CND1
?CCL5: FSET? OBJ,DASBIT \?CND1
PRINTI "Das "
?CND1: CALL DPRINT,OBJ,W?DEN
RSTACK
.FUNCT DER-DAT-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT /?CTR2
FSET? OBJ,DASBIT \?CCL3
?CTR2: PRINTI "dem "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CND1
PRINTI "der "
?CND1: CALL DPRINT,OBJ,W?DEM
RSTACK
.FUNCT EIN-NOM-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT /?CTR2
FSET? OBJ,DASBIT \?CCL3
?CTR2: PRINTI "ein "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CND1
PRINTI "eine "
?CND1: CALL DPRINT,OBJ,W?EIN
RSTACK
.FUNCT EIN-NOM-CAP-PRINT:ANY:1:1,OBJ
FSET? OBJ,DASBIT /?CTR2
FSET? OBJ,DERBIT \?CCL3
?CTR2: PRINTI "Ein "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CND1
PRINTI "Eine "
?CND1: CALL DPRINT,OBJ,W?EIN
RSTACK
.FUNCT EIN-ACC-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT \?CCL3
PRINTI "einen "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CCL5
PRINTI "eine "
JUMP ?CND1
?CCL5: FSET? OBJ,DASBIT \?CND1
PRINTI "ein "
?CND1: CALL DPRINT,OBJ,W?EINEN
RSTACK
.FUNCT EIN-ACC-CAP-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT \?CCL3
PRINTI "Einen "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CCL5
PRINTI "Eine "
JUMP ?CND1
?CCL5: FSET? OBJ,DASBIT \?CND1
PRINTI "Ein "
?CND1: CALL DPRINT,OBJ,W?EINEN
RSTACK
.FUNCT EIN-DAT-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT /?CTR2
FSET? OBJ,DASBIT \?CCL3
?CTR2: PRINTI "einem "
JUMP ?CND1
?CCL3: FSET? OBJ,DIEBIT \?CND1
PRINTI "einer "
?CND1: CALL DPRINT,OBJ,W?EINEM
RSTACK
.FUNCT PRONOUN-NOM-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT \?CCL3
PRINTI "er"
RTRUE
?CCL3: FSET? OBJ,DASBIT \?CCL5
PRINTI "es"
RTRUE
?CCL5: FSET? OBJ,DIEBIT \?CCL7
PRINTI "sie"
RTRUE
?CCL7: PRINTI "es"
RTRUE
.FUNCT PRONOUN-NOM-CAP-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT \?CCL3
PRINTI "Er"
RTRUE
?CCL3: FSET? OBJ,DIEBIT \?CCL5
PRINTI "Sie"
RTRUE
?CCL5: PRINTI "Es"
RTRUE
.FUNCT PRONOUN-ACC-PRINT:ANY:1:1,OBJ
FSET? OBJ,DERBIT \?CCL3
PRINTI "ihn"
RTRUE
?CCL3: FSET? OBJ,DIEBIT \?CCL5
PRINTI "sie"
RTRUE
?CCL5: PRINTI "es"
RTRUE
.FUNCT ZPROB:ANY:1:1,BASE
ZERO? LUCKY /?CCL3
RANDOM 100
GRTR? BASE,STACK /TRUE
RFALSE
?CCL3: RANDOM 300
GRTR? BASE,STACK /TRUE
RFALSE
.FUNCT RANDOM-ELEMENT:ANY:1:1,FROB
GET FROB,0
RANDOM STACK
GET FROB,STACK
RSTACK
.FUNCT PICK-ONE:ANY:1:1,FROB,L,CNT,RND,MSG,RFROB
GET FROB,0 >L
GET FROB,1 >CNT
DEC 'L
ADD FROB,2 >FROB
MUL CNT,2
ADD FROB,STACK >RFROB
SUB L,CNT
RANDOM STACK >RND
GET RFROB,RND >MSG
GET RFROB,1
PUT RFROB,RND,STACK
PUT RFROB,1,MSG
INC 'CNT
EQUAL? CNT,L \?CND1
SET 'CNT,0
?CND1: PUT FROB,0,CNT
RETURN MSG
.ENDI

332
tells.zil Normal file
View File

@ -0,0 +1,332 @@
"TELLS (formerly GMACROS) for
The Zork Trilogy
(c) Copyright 1983 Infocom, Inc. All Rights Reserved
-- GERMAN EDITION"
<SETG C-ENABLED? 0>
<SETG C-ENABLED 1>
<SETG C-DISABLED 0>
<TELL-TOKENS (CRLF CR) <CRLF>
D * <DPRINT .X <>>
N * <PRINTN .X>
C * <PRINTC .X>
DER-NOM * <DER-NOM-PRINT .X>
DER-NOM-CAP * <DER-NOM-CAP-PRINT .X>
DER-ACC * <DER-ACC-PRINT .X>
DER-ACC-CAP * <DER-ACC-CAP-PRINT .X>
DER-DAT * <DER-DAT-PRINT .X>
EIN-NOM * <EIN-NOM-PRINT .X>
EIN-NOM-CAP * <EIN-NOM-CAP-PRINT .X>
EIN-ACC * <EIN-ACC-PRINT .X>
EIN-ACC-CAP * <EIN-ACC-CAP-PRINT .X>
EIN-DAT * <EIN-DAT-PRINT .X>
PRONOUN-NOM * <PRONOUN-NOM-PRINT .X>
PRONOUN-NOM-CAP * <PRONOUN-NOM-CAP-PRINT .X>
PRONOUN-ACC * <PRONOUN-ACC-PRINT .X>>
;"German character names. For non-C64 machines, the font is switched to
font-3 then these chars. below are printed, then, the font is switched
back to font-1, the default font."
;"I could have special umlaut-descs and no pure strings in the game -- but
still there would have to be this switching of fonts WITHIN a word. Which
must be done in some funny TELL routine."
;"Or I could be REALLY REALLY disgusting and have 3 descs for an object --
the first half of the word, the flavor of umlaut, then the last half
of the word."
<ROUTINE DO-CURSET (Y X)
<COND (<EQUAL? 1 ,CWIDTH ,CHEIGHT>
<CURSET .Y .X>
<RFALSE>)
(T
<SET X <* .X ,CWIDTH>>
<CURSET <* .Y ,CHEIGHT> .X>
<RFALSE>)>>
;"CASE : DER = NOM / DEN = ACC / DEM = DAT
EIN = NOM / EINEN = ACC / EINEM = DAT"
<ROUTINE DPRINT (OBJ CASE)
<COND (<GETP .OBJ ,P?ADJDESC>
<TELL <GETP .OBJ ,P?ADJDESC>>
<COND ;"is a Der-word"
(<EQUAL? .CASE ,W?DER ,W?DEN ,W?DEM>
<COND (<OR <EQUAL? .CASE ,W?DER>
<AND <EQUAL? .CASE ,W?DEN>
;<EQUAL? <GETP .OBJ ,P?GENDER> ,W?DER>
<NOT <FSET? .OBJ ,DERBIT>>>>
<PRINTI "e">)
(T
<PRINTI "en">)>)
;"is an Ein-word"
(;<EQUAL? <GETP .OBJ ,P?GENDER> ,W?DER>
<FSET? .OBJ ,DERBIT>
<PRINTI "er">)
(<AND ;<EQUAL? <GETP .OBJ ,P?GENDER> ,W?DAS>
<FSET? .OBJ ,DASBIT>
<NOT <EQUAL? .CASE ,W?EINEM>>>
<PRINTI "es">)
(<AND ;<EQUAL? <GETP .OBJ ,P?GENDER> ,W?DIE>
<FSET? .OBJ ,DIEBIT>
<EQUAL? .CASE ,W?EINEM>>
<PRINTI "e">)
(T
<PRINTI "en">)>
<TELL " ">)>
<PRINTD .OBJ>>
;<ROUTINE IS-FEM? (OBJ)
<COND (<AND <NOT <FSET? .OBJ ,DERBIT>>
<NOT <FSET? .OBJ ,DASBIT>>>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE DER-NOM-PRINT (OBJ)
<COND (<FSET? .OBJ ,DERBIT>
<TELL "der ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "die ">)
(<FSET? .OBJ ,DASBIT>
<TELL "das ">)>
<DPRINT .OBJ ,W?DER>>
<ROUTINE DER-NOM-CAP-PRINT (OBJ)
<COND (<FSET? .OBJ ,DERBIT>
<TELL "Der ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "Die ">)
(<FSET? .OBJ ,DASBIT>
<TELL "Das ">)>
<DPRINT .OBJ ,W?DER>>
<ROUTINE DER-ACC-PRINT (OBJ)
<COND (<FSET? .OBJ ,DERBIT>
<TELL "den ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "die ">)
(<FSET? .OBJ ,DASBIT>
<TELL "das ">)>
<DPRINT .OBJ ,W?DEN>>
<ROUTINE DER-ACC-CAP-PRINT (OBJ)
<COND (<FSET? .OBJ ,DERBIT>
<TELL "Den ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "Die ">)
(<FSET? .OBJ ,DASBIT>
<TELL "Das ">)>
<DPRINT .OBJ ,W?DEN>>
<ROUTINE DER-DAT-PRINT (OBJ)
<COND (<OR <FSET? .OBJ ,DERBIT>
<FSET? .OBJ ,DASBIT>>
<TELL "dem ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "der ">)>
<DPRINT .OBJ ,W?DEM>>
<ROUTINE EIN-NOM-PRINT (OBJ)
<COND (<OR <FSET? .OBJ ,DERBIT>
<FSET? .OBJ ,DASBIT>>
<TELL "ein ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "eine ">)>
<DPRINT .OBJ ,W?EIN>>
<ROUTINE EIN-NOM-CAP-PRINT (OBJ)
<COND (<OR <FSET? .OBJ ,DASBIT>
<FSET? .OBJ ,DERBIT>>
<TELL "Ein ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "Eine ">)>
<DPRINT .OBJ ,W?EIN>>
<ROUTINE EIN-ACC-PRINT (OBJ)
<COND (<FSET? .OBJ ,DERBIT>
<TELL "einen ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "eine ">)
(<FSET? .OBJ ,DASBIT>
<TELL "ein ">)>
<DPRINT .OBJ ,W?EINEN>>
<ROUTINE EIN-ACC-CAP-PRINT (OBJ)
<COND (<FSET? .OBJ ,DERBIT>
<TELL "Einen ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "Eine ">)
(<FSET? .OBJ ,DASBIT>
<TELL "Ein ">)>
<DPRINT .OBJ ,W?EINEN>>
<ROUTINE EIN-DAT-PRINT (OBJ)
<COND (<OR <FSET? .OBJ ,DERBIT>
<FSET? .OBJ ,DASBIT>>
<TELL "einem ">)
(<FSET? .OBJ ,DIEBIT>
<TELL "einer ">)>
<DPRINT .OBJ ,W?EINEM>>
<ROUTINE PRONOUN-NOM-PRINT (OBJ)
<COND (<FSET? .OBJ ,DERBIT>
<TELL "er">)
(<FSET? .OBJ ,DASBIT>
<TELL "es">)
(<FSET? .OBJ ,DIEBIT>
<TELL "sie">)
(T
<TELL "es">)>>
<ROUTINE PRONOUN-NOM-CAP-PRINT (OBJ)
<COND (<FSET? .OBJ ,DERBIT>
<TELL "Er">)
(<FSET? .OBJ ,DIEBIT>
<TELL "Sie">)
(T
<TELL "Es">)>>
<ROUTINE PRONOUN-ACC-PRINT (OBJ)
<COND (<FSET? .OBJ ,DERBIT>
<TELL "ihn">)
(<FSET? .OBJ ,DIEBIT>
<TELL "sie">)
(T
<TELL "es">)>>
<DEFMAC VERB? ("ARGS" ATMS)
<MULTIFROB PRSA .ATMS>>
<DEFMAC PRSO? ("ARGS" ATMS)
<MULTIFROB PRSO .ATMS>>
<DEFMAC PRSI? ("ARGS" ATMS)
<MULTIFROB PRSI .ATMS>>
<DEFMAC ROOM? ("ARGS" ATMS)
<MULTIFROB HERE .ATMS>>
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .OO 1> <ERROR .X>)
(<LENGTH? .OO 2> <NTH .OO 2>)
(ELSE <CHTYPE .OO FORM>)>>)>
<REPEAT ()
<COND (<EMPTY? .ATMS> <RETURN!->)>
<SET ATM <NTH .ATMS 1>>
<SET L
(<COND (<TYPE? .ATM ATOM>
<FORM GVAL
<COND (<==? .X PRSA>
<PARSE
<STRING "V?"
<SPNAME .ATM>>>)
(ELSE .ATM)>>)
(ELSE .ATM)>
!.L)>
<SET ATMS <REST .ATMS>>
<COND (<==? <LENGTH .L> 3> <RETURN!->)>>
<SET O <REST <PUTREST .O (<FORM EQUAL? <FORM GVAL .X> !.L>)>>>
<SET L ()>>>
<DEFMAC BSET ('OBJ "ARGS" BITS)
<MULTIBITS FSET .OBJ .BITS>>
<DEFMAC BCLEAR ('OBJ "ARGS" BITS)
<MULTIBITS FCLEAR .OBJ .BITS>>
<DEFMAC BSET? ('OBJ "ARGS" BITS)
<MULTIBITS FSET? .OBJ .BITS>>
<DEFINE MULTIBITS (X OBJ ATMS "AUX" (O ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .O 1> <NTH .O 1>)
(<==? .X FSET?> <FORM OR !.O>)
(ELSE <FORM PROG () !.O>)>>)>
<SET ATM <NTH .ATMS 1>>
<SET ATMS <REST .ATMS>>
<SET O
(<FORM .X
.OBJ
<COND (<TYPE? .ATM FORM> .ATM)
(ELSE <FORM GVAL .ATM>)>>
!.O)>>>
<DEFMAC RFATAL ()
'<PROG () <PUSH 2> <RSTACK>>>
<DEFMAC PROB ('BASE? "OPTIONAL" 'LOSER?)
<COND (<ASSIGNED? LOSER?> <FORM ZPROB .BASE?>)
(ELSE <FORM G? .BASE? '<RANDOM 100>>)>>
<ROUTINE ZPROB
(BASE)
<COND (,LUCKY <G? .BASE <RANDOM 100>>)
(ELSE <G? .BASE <RANDOM 300>>)>>
<ROUTINE RANDOM-ELEMENT (FROB)
<GET .FROB <RANDOM <GET .FROB 0>>>>
<ROUTINE PICK-ONE (FROB
"AUX" L ;<GET .FROB 0> CNT ;<GET .FROB 1> RND MSG RFROB)
<SET L <GET .FROB 0>>
<SET CNT <GET .FROB 1>>
<SET L <- .L 1>>
<SET FROB <REST .FROB 2>>
<SET RFROB <REST .FROB <* .CNT 2>>>
<SET RND <RANDOM <- .L .CNT>>>
<SET MSG <GET .RFROB .RND>>
<PUT .RFROB .RND <GET .RFROB 1>>
<PUT .RFROB 1 .MSG>
<SET CNT <+ .CNT 1>>
<COND (<==? .CNT .L> <SET CNT 0>)>
<PUT .FROB 0 .CNT>
.MSG>
<DEFMAC ENABLE ('INT) <FORM PUT .INT ,C-ENABLED? 1>>
<DEFMAC DISABLE ('INT) <FORM PUT .INT ,C-ENABLED? 0>>
<DEFMAC FLAMING? ('OBJ)
<FORM AND <FORM FSET? .OBJ ',FLAMEBIT>
<FORM FSET? .OBJ ',ONBIT>>>
<DEFMAC OPENABLE? ('OBJ)
<FORM OR <FORM FSET? .OBJ ',DOORBIT>
<FORM FSET? .OBJ ',CONTBIT>>>
<DEFMAC ABS ('NUM)
<FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>)
(T .NUM)>>
<DEFMAC RMGL-SIZE ('TBL)
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<FORM - <FORM / <FORM PTSIZE .TBL> 2> 1>)
(T <FORM - <FORM PTSIZE .TBL> 1>)>>
;<DEFMAC GET/B ('TBL 'PTR)
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<FORM GET .TBL .PTR>)
(T <FORM GETB .TBL .PTR>)>>
;<DEFMAC PUT/B ('TBL 'PTR 'OBJ)
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<FORM PUT .TBL .PTR .OBJ>)
(T <FORM PUTB .TBL .PTR .OBJ>)>>
;<DEFMAC ZMEMQ/B ('OBJ 'TBL "OPT" ('SIZ <>))
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<COND (<NOT .SIZ>
<FORM ZMEMQ .OBJ .TBL>)
(T <FORM ZMEMQ .OBJ .TBL .SIZ>)>)
(T
<COND (<NOT .SIZ>
<FORM ZMEMQB .OBJ .TBL>)
(T <FORM ZMEMQB .OBJ .TBL .SIZ>)>)>>

247
verbs.zabstr Normal file
View File

@ -0,0 +1,247 @@
<GLOBAL VERBOSE <>>
<GLOBAL SUPER-BRIEF <>>
<GDECL (VERBOSE SUPER-BRIEF) <OR ATOM FALSE>>
<DEFINE-ROUTINE V-VERBOSE>
<DEFINE-ROUTINE V-BRIEF>
<DEFINE-ROUTINE V-SUPER-BRIEF>
<DEFINE-ROUTINE V-INVENTORY>
<DEFINE-ROUTINE FINISH>
<DEFINE-ROUTINE V-QUIT>
<DEFINE-ROUTINE V-RESTART>
<DEFINE-ROUTINE V-RESTORE>
<DEFINE-ROUTINE V-SAVE>
<DEFINE-ROUTINE V-SCRIPT>
<DEFINE-ROUTINE V-UNSCRIPT>
<DEFINE-ROUTINE V-$ID>
<DEFINE-ROUTINE V-VERSION>
<DEFINE-ROUTINE V-VERIFY>
<DEFINE-ROUTINE V-COMMAND-FILE>
<DEFINE-ROUTINE V-RANDOM>
<DEFINE-ROUTINE V-RECORD>
<DEFINE-ROUTINE V-UNRECORD>
<DEFINE-ROUTINE V-ADVENT>
<DEFINE-ROUTINE V-ALARM>
<DEFINE-ROUTINE V-ANSWER>
<DEFINE-ROUTINE V-ATTACK>
<DEFINE-ROUTINE V-BACK>
<DEFINE-ROUTINE V-BLAST>
<DEFINE-ROUTINE PRE-BOARD>
<DEFINE-ROUTINE V-BOARD>
<DEFINE-ROUTINE V-BRUSH>
<DEFINE-ROUTINE TELL-NO-PRSI>
<DEFINE-ROUTINE PRE-BURN>
<DEFINE-ROUTINE V-BURN>
<DEFINE-ROUTINE V-CHOMP>
<DEFINE-ROUTINE V-CLIMB-DOWN>
<DEFINE-ROUTINE V-CLIMB-FOO>
<DEFINE-ROUTINE V-CLIMB-ON>
<DEFINE-ROUTINE V-CLIMB-UP>
<DEFINE-ROUTINE V-CLOSE-OR-LOCK>
<DEFINE-ROUTINE V-CLOSE-OR-UNLOCK>
<DEFINE-ROUTINE V-CLOSE>
<DEFINE-ROUTINE V-COMMAND>
<DEFINE-ROUTINE V-COUNT>
<DEFINE-ROUTINE V-CROSS>
<DEFINE-ROUTINE V-CURSES>
<DEFINE-ROUTINE V-CUT>
<DEFINE-ROUTINE V-DEFLATE>
<DEFINE-ROUTINE V-DIG>
<DEFINE-ROUTINE V-DIG-WITH>
<DEFINE-ROUTINE V-DISEMBARK>
<DEFINE-ROUTINE V-DISENCHANT>
<DEFINE-ROUTINE V-DRINK>
<DEFINE-ROUTINE V-DRINK-FROM>
<DEFINE-ROUTINE PRE-DROP>
<DEFINE-ROUTINE V-DROP>
<DEFINE-ROUTINE V-EAT>
<DEFINE-ROUTINE HIT-SPOT>
<DEFINE-ROUTINE V-ECHO>
<DEFINE-ROUTINE V-ENCHANT>
<DEFINE-ROUTINE REMOVE-CAREFULLY>
<DEFINE-ROUTINE V-ENTER>
<DEFINE-ROUTINE V-EXAMINE>
<DEFINE-ROUTINE V-EXIT>
<DEFINE-ROUTINE V-EXORCISE>
<DEFINE-ROUTINE PRE-FILL>
<DEFINE-ROUTINE V-FILL>
<DEFINE-ROUTINE V-FIND>
<DEFINE-ROUTINE V-FOLLOW>
<DEFINE-ROUTINE V-FROBOZZ>
<DEFINE-ROUTINE PRE-GIVE>
<DEFINE-ROUTINE V-GIVE>
<DEFINE-ROUTINE V-HATCH>
<GLOBAL HS 0>
<DEFINE-ROUTINE V-HELLO>
<DEFINE-ROUTINE V-HINTS-OFF>
<DEFINE-ROUTINE V-INCANT>
<DEFINE-ROUTINE V-INFLATE>
<DEFINE-ROUTINE V-KICK>
<DEFINE-ROUTINE V-KISS>
<DEFINE-ROUTINE V-KNOCK>
<DEFINE-ROUTINE V-LAMP-OFF>
<DEFINE-ROUTINE V-LAMP-ON>
<DEFINE-ROUTINE V-LAUNCH>
<DEFINE-ROUTINE V-LEAN-ON>
<DEFINE-ROUTINE V-LEAP>
<GLOBAL JUMPLOSS <LTABLE 0
"Du h%attest erst mal gucken sollen, ehe du gesprungen bist."
"Im Film w%urde jetzt dein ganzes Leben schnell noch mal an dir vorbeispielen. Hiiiilfe."
>>
<DEFINE-ROUTINE V-LEAVE>
<DEFINE-ROUTINE V-LISTEN>
<DEFINE-ROUTINE V-LOCK>
<DEFINE-ROUTINE V-LOOK>
<DEFINE-ROUTINE V-LOOK-BEHIND>
<DEFINE-ROUTINE V-LOOK-INSIDE>
<DEFINE-ROUTINE V-LOOK-ON>
<DEFINE-ROUTINE V-LOOK-UNDER>
<DEFINE-ROUTINE V-LOWER>
<DEFINE-ROUTINE V-MAKE>
<DEFINE-ROUTINE V-MELT>
<DEFINE-ROUTINE PRE-MOVE>
<DEFINE-ROUTINE V-MOVE>
<DEFINE-ROUTINE V-MUMBLE>
<DEFINE-ROUTINE PRE-MUNG>
<DEFINE-ROUTINE V-MUNG>
<DEFINE-ROUTINE V-NO>
<DEFINE-ROUTINE V-ODYSSEUS>
<DEFINE-ROUTINE V-OIL>
<DEFINE-ROUTINE V-OPEN>
<DEFINE-ROUTINE V-OVERBOARD>
<DEFINE-ROUTINE V-PICK>
<DEFINE-ROUTINE V-PLAY>
<DEFINE-ROUTINE V-PLUG>
<DEFINE-ROUTINE V-POUR-ON>
<DEFINE-ROUTINE V-PRAY>
<DEFINE-ROUTINE V-PUMP>
<DEFINE-ROUTINE V-PUSH>
<DEFINE-ROUTINE V-PUSH-TO>
<DEFINE-ROUTINE PRE-PUT>
<DEFINE-ROUTINE V-PUT>
<DEFINE-ROUTINE V-PUT-BEHIND>
<DEFINE-ROUTINE V-PUT-ON>
<DEFINE-ROUTINE V-PUT-UNDER>
<DEFINE-ROUTINE V-RAISE>
<DEFINE-ROUTINE PRE-READ>
<DEFINE-ROUTINE V-READ>
<DEFINE-ROUTINE V-READ-PAGE>
<DEFINE-ROUTINE V-REPENT>
<DEFINE-ROUTINE V-REPLY>
<DEFINE-ROUTINE V-RING>
<DEFINE-ROUTINE V-RUB>
<DEFINE-ROUTINE V-SAY>
<DEFINE-ROUTINE V-SEARCH>
<DEFINE-ROUTINE V-SEND>
<DEFINE-ROUTINE V-SCHENKE>
<DEFINE-ROUTINE PRE-SGIVE>
<DEFINE-ROUTINE V-SGIVE>
<DEFINE-ROUTINE V-SHAKE>
<DEFINE-ROUTINE SHAKE-LOOP>
<DEFINE-ROUTINE V-SKIP>
<GLOBAL WHEEEEE <LTABLE 0 "Ausgezeichnet. Du bist in die 4. Klasse versetzt!"
"Macht's dir Spa%s?" "Jaaaaaaaaaa!!!!!" "Soll ich etwa Beifall klatschen?">>
<DEFINE-ROUTINE V-SMELL>
<DEFINE-ROUTINE V-SPIN>
<DEFINE-ROUTINE V-SPRAY>
<DEFINE-ROUTINE V-SQUEEZE>
<DEFINE-ROUTINE V-SSPRAY>
<DEFINE-ROUTINE V-STAB>
<DEFINE-ROUTINE V-STAND>
<DEFINE-ROUTINE V-STAY>
<DEFINE-ROUTINE V-SWIM>
<DEFINE-ROUTINE V-SWING>
<DEFINE-ROUTINE V-TRAGE>
<DEFINE-ROUTINE PRE-TAKE>
<DEFINE-ROUTINE V-TAKE>
<DEFINE-ROUTINE V-TELL>
<DEFINE-ROUTINE V-TEST-IT>
<DEFINE-ROUTINE V-THROUGH>
<DEFINE-ROUTINE V-THROW>
<DEFINE-ROUTINE V-THROW-OFF>
<DEFINE-ROUTINE V-TIE>
<DEFINE-ROUTINE V-TIE-UP>
<DEFINE-ROUTINE V-TREASURE>
<DEFINE-ROUTINE PRE-TURN>
<DEFINE-ROUTINE V-TURN>
<DEFINE-ROUTINE V-UNLOCK>
<DEFINE-ROUTINE V-UNTIE>
<DEFINE-ROUTINE V-USE>
<DEFINE-ROUTINE V-WAIT>
<DEFINE-ROUTINE V-WALK>
<DEFINE-ROUTINE V-WALK-AROUND>
<DEFINE-ROUTINE V-WALK-TO>
<DEFINE-ROUTINE V-WAVE>
<DEFINE-ROUTINE V-WEAR>
<DEFINE-ROUTINE V-WIN>
<DEFINE-ROUTINE V-WIND>
<DEFINE-ROUTINE V-WISH>
<DEFINE-ROUTINE V-YELL>
<DEFINE-ROUTINE V-YES>
<DEFINE-ROUTINE V-ZORK>
<GLOBAL LIT <>>
<GLOBAL SPRAYED? <>>
<DEFINE-ROUTINE V-FIRST-LOOK>
<DEFINE-ROUTINE DESCRIBE-ROOM>
<DEFINE-ROUTINE DESCRIBE-OBJECTS>
<GLOBAL DESC-OBJECT <>>
<DEFINE-ROUTINE DESCRIBE-OBJECT>
<DEFINE-ROUTINE PRINT-CONTENTS>
<DEFINE-ROUTINE PRINT-CONT>
<DEFINE-ROUTINE FIRSTER>
<DEFINE-ROUTINE SEE-INSIDE?>
<GLOBAL MOVES 0>
<GLOBAL SCORE 0>
<GLOBAL BASE-SCORE 0>
<GLOBAL WON-FLAG <>>
<DEFINE-ROUTINE SCORE-UPD>
<DEFINE-ROUTINE SCORE-OBJ>
<CONSTANT YES-INBUF <ITABLE 19 (BYTE LENGTH) 0>>
<CONSTANT YES-LEXV <ITABLE 3 (LEXV) 0 0>>
<DEFINE-ROUTINE YES?>
<GLOBAL DEAD <>>
<GLOBAL DEATHS 0>
<GLOBAL LUCKY 1>
<GLOBAL FUMBLE-NUMBER 7>
<GLOBAL FUMBLE-PROB 8>
<DEFINE-ROUTINE ITAKE>
<DEFINE-ROUTINE IDROP>
<DEFINE-ROUTINE CCOUNT>
<DEFINE-ROUTINE WEIGHT>
<CONSTANT REXIT 0>
<CONSTANT UEXIT 2>
<CONSTANT NEXIT 3>
<CONSTANT FEXIT 4>
<CONSTANT CEXIT 5>
<CONSTANT DEXIT 6>
<CONSTANT NEXITSTR 0>
<CONSTANT FEXITFCN 0>
<CONSTANT CEXITFLAG 4>
<CONSTANT CEXITSTR 1>
<CONSTANT DEXITOBJ 1>
<CONSTANT DEXITSTR 2>
<GLOBAL INDENTS <TABLE (PURE) "" " " " " " " " " " ">>
<DEFINE-ROUTINE NO-GO-TELL>
<DEFINE-ROUTINE GOTO>
<DEFINE-ROUTINE LKP>
<DEFINE-ROUTINE DO-WALK>
<DEFINE-ROUTINE GLOBAL-IN?>
<DEFINE-ROUTINE FIND-IN>
<DEFINE-ROUTINE HELD?>
<DEFINE-ROUTINE OTHER-SIDE>
<DEFINE-ROUTINE MUNG-ROOM>
<GLOBAL P-HIM-OBJECT <>>
<GLOBAL P-IT-OBJECT <>>
<GLOBAL P-HER-OBJECT <>>
<DEFINE-ROUTINE THIS-IS-IT>
<COND (<N==? ,ZORK-NUMBER 3> <GLOBAL SWIMYUKS <LTABLE 0
"Du kannst in dem Kerker nicht schwimmen.">>)>
<GLOBAL HELLOS <LTABLE 0 "Hallo, ist da jemand?" "Hallo, Hallo!" "Guten Tag."
"Sch%ones Wetter haben wir, nicht wahr?" "Auf Wiedersehen.">>
<GLOBAL YUKS <LTABLE 0 "Ein braver Versuch."
"Das kann doch nicht dein Ernst sein."
"Das hie%se das Unm%ogliche m%oglich machen." "Eine hochinteressante Idee..."
"Was f%ur ein Plan!">>
<GLOBAL DUMMY <LTABLE 0 "Pa%s auf." "Dazu ist es zu sp%at."
"La%s dir die Augen checken.">>

2453
verbs.zap Normal file

File diff suppressed because it is too large Load Diff

2552
verbs.zil Normal file

File diff suppressed because it is too large Load Diff

BIN
zap Normal file

Binary file not shown.

22
zork1.chars Normal file
View File

@ -0,0 +1,22 @@
: 6145 e: 5933 n: 3424 i: 3184
s: 2953 t: 2731 r: 2464 a: 1892
h: 1874 d: 1682 u: 1512 c: 1353
l: 1304 .: 932 g: 897 o: 886
m: 885 b: 670 f: 578 D: 535
k: 517 ,: 462 w: 402 z: 391
p: 286 S: 258 157: 248 v: 233
155: 219 E: 190 W: 167 156: 154
G: 135 T: 112 F: 106 A: 104
B: 93 K: 88 Z: 86 N: 82
I: 78 H: 74 R: 74 M: 73
y: 72 !: 64 L: 61 ?: 58
V: 55 O: 44 j: 42 ": 36
P: 35 :: 32 U: 28 013: 21
(: 21 ): 18 ': 14 J: 14
*: 12 Y: 12 x: 12 1: 11
q: 11 9: 9 160: 8 -: 7
3: 7 5: 6 8: 6 ]: 5
6: 4 >: 4 [: 4 159: 4
/: 3 C: 3 0: 2 2: 2
#: 1 4: 1 Q: 1 X: 1
158: 1

145
zork1.chart Normal file
View File

@ -0,0 +1,145 @@
-date- -rel- -size- -pre- -obj- -glo- -voc-
10/16 119 88214 20585 250 154 695
10/16 120 88208 20598 250 154 697
10/16 121 88208 20598 250 154 697
10/16 122 88212 20598 250 154 697
10/16 123 88442 20635 252 156 698
10/16 124 88552 20635 252 156 698
10/16 125 88754 20635 252 156 698
10/16 126 88814 20635 252 156 698
10/16 127 88814 20635 252 156 698
10/16 128 88824 20635 252 156 698
10/16 129 88824 20635 252 156 698
10/16 130 88846 20635 252 156 698
10/17 131 88842 20637 252 157 698
10/18 132 88862 20637 252 157 698
10/18 133 88924 20666 253 158 699
10/18 134 88948 20689 253 158 701
10/22 135 89294 20855 253 161 701
10/22 136 89304 20855 253 161 701
10/22 137 89304 20855 253 161 701
10/22 138 89302 20855 253 161 701
10/22 139 92108 24467 253 161 699
10/22 140 92228 24467 253 161 699
10/22 141 92228 24467 253 161 699
10/22 142 92228 24467 253 161 699
10/22 143 92220 24467 253 161 699
10/23 144 92244 24463 253 159 699
10/23 145 92244 24463 253 159 699
10/23 145 92256 24463 253 159 699
10/23 146 92408 24471 253 163 699
10/23 147 92536 24495 253 163 700
10/23 148 92536 24495 253 163 700
10/23 149 92516 24495 253 163 700
10/23 150 92516 24495 253 163 700
10/23 151 92516 24495 253 163 700
10/23 152 92516 24495 253 163 700
10/23 153 92516 24495 253 163 700
10/23 154 92520 24495 253 163 700
10/23 155 92520 24495 253 163 700
10/24 156 92456 24493 253 162 700
10/24 157 92528 24493 253 162 700
10/24 158 92576 24493 253 162 700
10/24 159 92580 24493 253 162 700
10/24 160 92600 24493 253 162 700
10/24 161 92740 24527 253 162 700
10/25 162 92740 24527 253 162 700
10/25 163 92740 24527 253 162 700
10/25 164 92736 24527 253 162 700
10/25 165 92740 24527 253 162 700
10/25 166 92796 24548 253 162 699
10/25 167 92816 24557 253 162 700
10/25 168 92908 24557 253 162 700
10/25 169 103366 25343 253 171 703
10/25 170 103378 25343 253 171 703
10/25 171 103374 25343 253 171 703
10/25 172 103374 25343 253 171 703
10/26 173 103414 25383 253 171 703
10/26 174 103466 25383 253 171 703
10/26 175 103470 25383 253 171 703
10/26 176 103466 25383 253 171 703
10/27 177 94954 24785 253 171 703
10/27 178 94954 24785 253 171 703
10/27 179 95046 24785 253 171 703
10/27 180 95066 24785 253 171 703
10/27 181 95066 24785 253 171 703
10/27 182 95110 24785 253 171 703
10/27 183 95114 24785 253 171 703
10/29 184 94598 23066 253 171 703
10/29 185 94082 23066 253 171 703
10/29 186 94154 23137 256 171 703
10/29 187 94210 23233 262 171 702
10/29 188 95226 24949 263 171 702
10/29 189 95146 23761 262 171 702
10/31 190 95034 23728 262 171 702
10/31 191 95114 23761 262 171 702
10/31 192 95142 23761 262 171 702
11/03 193 101050 23951 262 171 702
11/05 194 101098 23988 262 171 703
11/06 195 105614 23956 262 171 703
11/06 196 100826 23956 262 171 703
11/09 197 102062 24748 262 171 704
11/12 198 101578 24232 262 171 708
11/12 199 101658 24311 262 171 714
11/16 200 101958 24368 262 171 716
11/16 201 101982 24390 262 171 718
11/16 202 50761 24197 262 171 719
11/16 203 101794 24197 262 171 719
11/16 204 101762 24179 262 171 717
11/16 205 101810 24178 262 171 714
11/18 206 102206 24502 262 171 728
11/18 207 102150 24500 262 171 729
11/19 208 102258 24508 262 171 729
11/23 209 102258 24508 262 171 729
11/30 210 103538 25668 262 171 859
11/30 211 103518 25641 262 171 856
11/30 212 103510 25634 262 171 856
11/30 213 103510 25633 262 171 856
12/07 214 119790 25574 261 171 851
12/07 215 119970 25530 261 171 851
12/07 216 113902 25530 261 171 851
12/07 217 114162 25530 261 171 851
12/07 218 114154 25522 261 171 851
12/08 219 117658 25468 261 170 850
12/08 220 117658 25468 261 170 850
12/09 221 114634 25468 261 170 850
12/09 222 114866 25526 261 170 850
12/09 223 114832 25526 261 170 850
12/09 224 116406 25530 261 170 850
12/10 225 117090 26214 261 170 926
12/23 226 118590 27579 261 170 1047
12/23 227 118932 27579 261 170 1047
12/23 228 119624 27597 261 170 1047
12/23 1 118936 27583 261 170 1048
12/23 2 118936 27583 261 170 1048
12/24 3 118936 27583 261 170 1048
12/24 4 118936 27583 261 170 1048
12/24 5 118936 27583 261 170 1048
12/24 6 118936 27583 261 170 1048
1/06 7 119714 27713 260 170 1043
1/06 1 116092 27617 260 170 1043
1/06 2 125806 28014 260 170 1081
1/07 3 120702 28154 260 170 1083
1/07 1 116292 28028 260 170 1083
1/08 2 120590 28048 260 170 1073
1/08 1 116184 27922 260 170 1073
1/08 2 120618 28048 260 170 1073
1/08 1 116212 27922 260 170 1073
1/08 2 120618 28048 260 170 1073
1/08 1 116212 27922 260 170 1073
1/12 2 120662 28048 260 170 1073
1/12 1 116252 27922 260 170 1073
1/12 2 116276 27935 260 170 1074
1/13 3 116216 27880 260 170 1072
1/14 4 116280 27902 260 170 1074
1/14 5 116280 27902 260 170 1074
1/14 6 116256 27902 260 170 1074
1/15 7 116280 27902 260 170 1074
1/15 8 116938 27848 260 170 1071
1/15 9 116304 27848 260 170 1071
1/18 10 116324 27868 260 170 1072
1/19 11 119850 27910 260 170 1073
1/19 12 116400 27894 260 170 1074
1/25 13 116496 27918 260 170 1073
2/01 14 116928 27918 260 170 1073
6/13 15 130928 28973 260 170 1074

50
zork1.errors Normal file
View File

@ -0,0 +1,50 @@
zap of 6/13/89 15:17.
Release: 15
0 Inserting zork1.zap.
German characters; escape is %.
64 Inserting zork1freq.xzap.
698 Inserting zork1dat.zap.
28973 Inserting zork1pur.zap.
30515 Inserting tells.zap.
31238 Inserting dungeon.zap.
31552 Inserting globals.zap.
33121 Inserting clock.zap.
"clock.zap", line 3: .FUNCT QUEUE:ANY:2:2,RTN:ATOM,TICK:FIX,CINT
-- unknown type "ATOM"
"clock.zap", line 9: .FUNCT INT:ANY:1:5,RTN:ATOM,DEMON:ATOM,E,C,INT
-- unknown type "ATOM"
-- unknown type "ATOM"
"clock.zap", line 26: .FUNCT CLOCKER:ANY:0:0,C,E,TICK:FIX,FLG:ATOM
-- unknown type "ATOM"
33279 Inserting loop.zap.
34400 Inserting parser.zap.
41444 Inserting verbs.zap.
"verbs.zap", line 2191: .FUNCT ITAKE:ANY:0:1,VB:ATOM,CNT:FIX,OBJ:OBJECT,?TMP1
-- unknown type "ATOM"
54356 Inserting actions.zap.
"actions.zap", line 3816: .FUNCT V-SCORE:ANY:0:1,ASK?:ATOM
-- unknown type "ATOM"
91444 Inserting hints.zap.
92335 Inserting zork1str.zap.
Unreferenced global: THIEF-MELEE
Unreferenced string: STR?701
Unreferenced global: HOST
Unreferenced function: UNTIE-FROM
Unreferenced global: DEF3C
Unreferenced global: HINT-WARNING
Unreferenced table: STRBEG
Unreferenced global: DEF2A
Unreferenced global: TROLL-MELEE
Unreferenced function: PUT-UP-CHAPTERS
Unreferenced string: STR?435
Unreferenced global: CYCLOPS-MELEE
No segments defined.
Lexical buffer space allocated: 608152
Max lexical space allocated at any one time: 48012
Object buffer space allocated: 144000
Source bytes read: 561212
Object bytes written: 131072
Preload: 28973; 260 objects; 170 globals; 1074 words.
Used 1:57
Elapsed time 2:30

2
zork1.lowcore Normal file
View File

@ -0,0 +1,2 @@
0

409
zork1.record Normal file
View File

@ -0,0 +1,409 @@
ZILCH of 6/8/89 11:26
Combined ZIL Compiler Ver 2.0 (MIM)
-----------------------------------
Input file: /HOME/DEVELOPMENT/OLD/GERMAN/ZORK1.ZIL
[YZIP instructions]
[Language is GERMAN, string escape is %]
[Character set for GERMAN installed]
Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/TELLS.ZABSTR.
Loading /HOME/DEVELOPMENT/OLD/GERMAN/SYNTAX.ZIL and compiling it.
Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/DUNGEON.ZABSTR.
Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/GLOBALS.ZABSTR.
Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/CLOCK.ZABSTR.
Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/LOOP.ZABSTR.
Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/PARSER.ZABSTR.
Loading /HOME/DEVELOPMENT/OLD/GERMAN/VERBS.ZIL and compiling it.
Compiling routine: V-VERBOSE
Compiling routine: V-BRIEF
Compiling routine: V-SUPER-BRIEF
Compiling routine: V-INVENTORY
Compiling routine: FINISH
Compiling routine: V-QUIT
Compiling routine: V-RESTART
Compiling routine: V-RESTORE
Compiling routine: V-SAVE
Compiling routine: V-SCRIPT
Compiling routine: V-UNSCRIPT
Compiling routine: V-$ID
Compiling routine: V-VERSION
Compiling routine: V-VERIFY
Compiling routine: V-COMMAND-FILE
Compiling routine: V-RANDOM
Compiling routine: V-RECORD
Compiling routine: V-UNRECORD
Compiling routine: V-ADVENT
Compiling routine: V-ALARM
Compiling routine: V-ANSWER
Compiling routine: V-ATTACK
Compiling routine: V-BACK
Compiling routine: V-BLAST
Compiling routine: PRE-BOARD
Compiling routine: V-BOARD
Compiling routine: V-BRUSH
Compiling routine: TELL-NO-PRSI
Compiling routine: PRE-BURN
Compiling routine: V-BURN
Compiling routine: V-CHOMP
Compiling routine: V-CLIMB-DOWN
Compiling routine: V-CLIMB-FOO
Compiling routine: V-CLIMB-ON
Compiling routine: V-CLIMB-UP
Compiling routine: V-CLOSE-OR-LOCK
Compiling routine: V-CLOSE-OR-UNLOCK
Compiling routine: V-CLOSE
Compiling routine: V-COMMAND
Compiling routine: V-COUNT
Compiling routine: V-CROSS
Compiling routine: V-CURSES
Compiling routine: V-CUT
Compiling routine: V-DEFLATE
Compiling routine: V-DIG
Compiling routine: V-DIG-WITH
Compiling routine: V-DISEMBARK
Compiling routine: V-DISENCHANT
Compiling routine: V-DRINK
Compiling routine: V-DRINK-FROM
Compiling routine: PRE-DROP
Compiling routine: V-DROP
Compiling routine: V-EAT
Compiling routine: HIT-SPOT
Compiling routine: V-ECHO
Compiling routine: V-ENCHANT
Compiling routine: REMOVE-CAREFULLY
Compiling routine: V-ENTER
Compiling routine: V-EXAMINE
Compiling routine: V-EXIT
Compiling routine: V-EXORCISE
Compiling routine: PRE-FILL
Compiling routine: V-FILL
Compiling routine: V-FIND
Compiling routine: V-FOLLOW
Compiling routine: V-FROBOZZ
Compiling routine: PRE-GIVE
Compiling routine: V-GIVE
Compiling routine: V-HATCH
Compiling routine: V-HELLO
Compiling routine: V-HINTS-OFF
Compiling routine: V-INCANT
Compiling routine: V-INFLATE
Compiling routine: V-KICK
Compiling routine: V-KISS
Compiling routine: V-KNOCK
Compiling routine: V-LAMP-OFF
Compiling routine: V-LAMP-ON
Compiling routine: V-LAUNCH
Compiling routine: V-LEAN-ON
Compiling routine: V-LEAP
Compiling routine: V-LEAVE
Compiling routine: V-LISTEN
Compiling routine: V-LOCK
Compiling routine: V-LOOK
Compiling routine: V-LOOK-BEHIND
Compiling routine: V-LOOK-INSIDE
Compiling routine: V-LOOK-ON
Compiling routine: V-LOOK-UNDER
Compiling routine: V-LOWER
Compiling routine: V-MAKE
Compiling routine: V-MELT
Compiling routine: PRE-MOVE
Compiling routine: V-MOVE
Compiling routine: V-MUMBLE
Compiling routine: PRE-MUNG
Compiling routine: V-MUNG
Compiling routine: V-NO
Compiling routine: V-ODYSSEUS
Compiling routine: V-OIL
Compiling routine: V-OPEN
Compiling routine: V-OVERBOARD
Compiling routine: V-PICK
Compiling routine: V-PLAY
Compiling routine: V-PLUG
Compiling routine: V-POUR-ON
Compiling routine: V-PRAY
Compiling routine: V-PUMP
Compiling routine: V-PUSH
Compiling routine: V-PUSH-TO
Compiling routine: PRE-PUT
Compiling routine: V-PUT
Compiling routine: V-PUT-BEHIND
Compiling routine: V-PUT-ON
Compiling routine: V-PUT-UNDER
Compiling routine: V-RAISE
Compiling routine: PRE-READ
Compiling routine: V-READ
Compiling routine: V-READ-PAGE
Compiling routine: V-REPENT
Compiling routine: V-REPLY
Compiling routine: V-RING
Compiling routine: V-RUB
Compiling routine: V-SAY
Compiling routine: V-SEARCH
Compiling routine: V-SEND
Compiling routine: V-SCHENKE
Compiling routine: PRE-SGIVE
Compiling routine: V-SGIVE
Compiling routine: V-SHAKE
Compiling routine: SHAKE-LOOP
Compiling routine: V-SKIP
Compiling routine: V-SMELL
Compiling routine: V-SPIN
Compiling routine: V-SPRAY
Compiling routine: V-SQUEEZE
Compiling routine: V-SSPRAY
Compiling routine: V-STAB
Compiling routine: V-STAND
Compiling routine: V-STAY
Compiling routine: V-SWIM
Compiling routine: V-SWING
Compiling routine: V-TRAGE
Compiling routine: PRE-TAKE
Compiling routine: V-TAKE
Compiling routine: V-TELL
Compiling routine: V-TEST-IT
Compiling routine: V-THROUGH
Compiling routine: V-THROW
Compiling routine: V-THROW-OFF
Compiling routine: V-TIE
Compiling routine: V-TIE-UP
Compiling routine: V-TREASURE
Compiling routine: PRE-TURN
Compiling routine: V-TURN
Compiling routine: V-UNLOCK
Compiling routine: V-UNTIE
Compiling routine: V-USE
Compiling routine: V-WAIT
Compiling routine: V-WALK
Compiling routine: V-WALK-AROUND
Compiling routine: V-WALK-TO
Compiling routine: V-WAVE
Compiling routine: V-WEAR
Compiling routine: V-WIN
Compiling routine: V-WIND
Compiling routine: V-WISH
Compiling routine: V-YELL
Compiling routine: V-YES
Compiling routine: V-ZORK
Compiling routine: V-FIRST-LOOK
Compiling routine: DESCRIBE-ROOM
Compiling routine: DESCRIBE-OBJECTS
Compiling routine: DESCRIBE-OBJECT
Compiling routine: PRINT-CONTENTS
Compiling routine: PRINT-CONT
Compiling routine: FIRSTER
Compiling routine: SEE-INSIDE?
Compiling routine: SCORE-UPD
Compiling routine: SCORE-OBJ
Compiling routine: YES?
Compiling routine: ITAKE
Compiling routine: IDROP
Compiling routine: CCOUNT
Compiling routine: WEIGHT
Compiling routine: NO-GO-TELL
Compiling routine: GOTO
Compiling routine: LKP
Compiling routine: DO-WALK
Compiling routine: GLOBAL-IN?
Compiling routine: FIND-IN
Compiling routine: HELD?
Compiling routine: OTHER-SIDE
Compiling routine: MUNG-ROOM
Compiling routine: THIS-IS-IT
Abstracting VERBS to /HOME/DEVELOPMENT/OLD/GERMAN/VERBS.
Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/ACTIONS.ZABSTR.
Loading /HOME/DEVELOPMENT/OLD/GERMAN/HINTS.ZIL and compiling it.
Compiling routine: V-HINT
Compiling routine: PICK-QUESTION
Compiling routine: ERASE-CURSOR
Compiling routine: NEW-CURSOR
Compiling routine: INVERSE-LINE
Compiling routine: DISPLAY-HINT
Compiling routine: PUT-UP-QUESTIONS
Compiling routine: PUT-UP-CHAPTERS
Compiling routine: INIT-HINT-SCREEN
Compiling routine: CENTER-LINE
Compiling routine: LEFT-LINE
Compiling routine: RIGHT-LINE
Abstracting HINTS to /HOME/DEVELOPMENT/OLD/GERMAN/HINTS.
Vocabulary: 1074
Prepositions: 39
AB FEST HINTER NACH UM
AN FUER HINUNTER NICHT UNTER
AT HERAB HOCH NIEDER UP
AUF HERUM IN OBJEKT VON
AUS HERUNTER INSTAND QUER WEG
DICH HERUNTERFALLEN LIEGEN RAUS WITH
DURCH HINAUF LOS RUNTER ZU
FALLEN HINEIN MIT UEBER
Real globals: 166
ABOVE-GROUND HINT-WARNING P-NCN
AGAIN-DIR HINTS P-NOT-HERE
AGAIN-LEXV HINTS-OFF P-NUMBER
ALWAYS-LIT HOST P-OCLAUSE
BASE-SCORE HOUSE-AROUND P-OFLAG
BAT-DROPS HS P-ONEOBJ
BDIGS IN-HOUSE-AROUND P-OTBL
BEACH-DIG INDENTS P-OVTBL
BUOY-FLAG JUMPLOSS P-PRSI
C-DEMONS KITCHEN-WINDOW-FLAG P-PRSO
C-INTS LAMP-TABLE P-SLOCBITS
C-TABLE LIGHT-SHAFT P-SYNTAX
CAGE-TOP LINE-TABLE P-TABLE
CANDLE-TABLE LIT P-VTBL
CHAPT-NUM LLD-FLAG P-WALK-DIR
CHEIGHT LOAD-ALLOWED P-WON
CLOCK-WAIT LOAD-MAX P-XADJ
COFFIN-CURE LOUD-FLAG P-XNAM
COLUMN-TABLE LOUD-RUNS PLAYER
CUR-POS LOW-TIDE PRSA
CWIDTH LUCKY PRSI
CYCLOMAD MAGIC-FLAG PRSO
CYCLOPS-FLAG MATCH-COUNT QUEST-NUM
CYCLOPS-MELEE MIRROR-MUNG QUOTE-FLAG
CYCLOWRATH MOVES RAINBOW-FLAG
DEAD OHERE RESERVE-LEXV
DEATHS OLD-LEN RESERVE-PTR
DEF1 OOPS-INBUF RIVER-LAUNCH
DEF1-RES OOPS-TABLE RIVER-NEXT
DEF2-RES P-AADJ RIVER-SPEEDS
DEF2A P-ACLAUSE ROBBER-C-DESC
DEF2B P-ACT ROBBER-U-DESC
DEF3-RES P-ADJ RUG-MOVED
DEF3A P-ADVERB SCORE
DEF3B P-ANAM SCORE-MAX
DEF3C P-AND SING-SONG
DEFLATE P-BUTS SPRAYED?
DESC-OBJECT P-CCTBL SUPER-BRIEF
DIROUT-TBL P-CONT SWIMYUKS
DOME-FLAG P-DIR THIEF-ENGROSSED
DROWNINGS P-DIRECTION THIEF-HERE
DUMMY P-END-ON-PREP THIEF-MELEE
EGG-SOLVE P-GETFLAGS TROLL-FLAG
EMPTY-HANDED P-GWIMBIT TROLL-MELEE
FALSE-FLAG P-HER-OBJECT VERBOSE
FOREST-AROUND P-HIM-OBJECT VILLAINS
FUMBLE-NUMBER P-INBUF WATER-LEVEL
FUMBLE-PROB P-IT-OBJECT WHEEEEE
GATE-FLAG P-ITBL WIDTH
GATES-OPEN P-LEN WINNER
GRATE-REVEALED P-LEXV WON-FLAG
GRUNLOCK P-MATCHLEN XB
GWIM-PRSO? P-MERGE XC
HELLOS P-MERGED YUKS
HERE P-MULT
HERO-MELEE P-NAM
Objects: 260
ADVENTURER GATE PAINTING
ADVERTISEMENT GHOSTS PATH
ALTAR GLOBAL-OBJECTS PATHOBJ
ARAGAIN-FALLS GLOBAL-WATER PEDESTAL
ATLANTIS-ROOM GRATE POT-OF-GOLD
ATTIC GRATING-CLEARING PRAYER
ATTIC-TABLE GRATING-ROOM PUMP
AXE GROUND PUNCTURED-BOAT
BAG-OF-COINS GRUE PUTTY
BAR GUIDE RAILING
BARROW GUNK RAINBOW
BARROW-DOOR HANDS RAISED-BASKET
BAT HER RED-BUTTON
BAT-ROOM HIM RESERVOIR
BAUBLE HOT-BELL RESERVOIR-NORTH
BELL IN-STREAM RESERVOIR-SOUTH
BLUE-BUTTON INFLATABLE-BOAT RIVER
BOARD INFLATED-BOAT RIVER-1
BOARDED-WINDOW INTDIR RIVER-2
BOAT-LABEL INTNUM RIVER-3
BODIES IT RIVER-4
BOLT JADE RIVER-5
BONES KEYS ROOMS
BOOK KITCHEN ROPE
BOTTLE KITCHEN-TABLE ROUND-ROOM
BRACELET KITCHEN-WINDOW RUG
BROKEN-CANARY KNIFE RUSTY-KNIFE
BROKEN-EGG LADDER SAILOR
BROKEN-LAMP LADDER-BOTTOM SAND
BROWN-BUTTON LADDER-TOP SANDWICH-BAG
BUBBLE LAKE SANDY-BEACH
BUOY LAMP SANDY-CAVE
BURNED-OUT-LANTERN LAND-OF-LIVING-DEAD SCARAB
CANARY LARGE-BAG SCEPTRE
CANDLES LEAK SCREWDRIVER
CANYON-BOTTOM LEAVES SHAFT-ROOM
CANYON-VIEW LIVING-ROOM SHORE
CELLAR LOCAL-GLOBALS SHOVEL
CHAIN LOUD-ROOM SKULL
CHALICE LOWER-SHAFT SLIDE
CHASM LOWERED-BASKET SLIDE-ROOM
CHASM-ROOM LUNCH SMALL-CAVE
CHIMNEY LUNGS SMELLY-ROOM
CLEARING MACHINE SONGBIRD
CLIFF-MIDDLE MACHINE-ROOM SOUTH-OF-HOUSE
CLIMBABLE-CLIFF MACHINE-SWITCH SOUTH-TEMPLE
COAL MAILBOX SQUEEKY-ROOM
COFFIN MAINTENANCE-ROOM STAIRS
COLD-PASSAGE MAP STILETTO
CONTROL-PANEL MATCH STONE-BARROW
CRACK MAZE-1 STRANGE-PASSAGE
CYCLOPS MAZE-10 STREAM
CYCLOPS-ROOM MAZE-11 STREAM-VIEW
DAM MAZE-12 STUDIO
DAM-BASE MAZE-13 SWORD
DAM-LOBBY MAZE-14 TEETH
DAM-ROOM MAZE-15 THIEF
DAMP-CAVE MAZE-2 TIMBER-ROOM
DEAD-END-1 MAZE-3 TIMBERS
DEAD-END-2 MAZE-4 TINY-CAVE
DEAD-END-3 MAZE-5 TOOL-CHEST
DEAD-END-4 MAZE-6 TORCH
DEAD-END-5 MAZE-7 TORCH-ROOM
DEEP-CANYON MAZE-8 TRAP-DOOR
DIAMOND MAZE-9 TREASURE-ROOM
DOME ME TREE
DOME-ROOM MINE-1 TRIDENT
DOOR-P MINE-2 TROLL
EAST-OF-CHASM MINE-3 TROLL-ROOM
EAST-OF-HOUSE MINE-4 TROPHY-CASE
EGG MINE-ENTRANCE TRUNK
EGYPT-ROOM MIRROR-1 TUBE
EMERALD MIRROR-2 TWISTING-PASSAGE
END-OF-RAINBOW MIRROR-ROOM-1 UP-A-TREE
ENGRAVINGS MIRROR-ROOM-2 WALL
ENGRAVINGS-CAVE MOUNTAIN-RANGE WATER
ENTRANCE-TO-HADES MOUNTAINS WEST-OF-HOUSE
EW-PASSAGE NAILS WHITE-CLIFF
FOREST NARROW-PASSAGE WHITE-CLIFFS-NORTH
FOREST-1 NEST WHITE-CLIFFS-SOUTH
FOREST-2 NORTH-OF-HOUSE WHITE-HOUSE
FOREST-3 NORTH-TEMPLE WINDING-PASSAGE
FRONT-DOOR NOT-HERE-OBJECT WOODEN-DOOR
GALLERY NS-PASSAGE WRENCH
GARLIC ON-RAINBOW YELLOW-BUTTON
GAS OWNERS-MANUAL ZORKMID
GAS-ROOM PAINT
Properties: 30
P?ACTION P?CONTFCN P?LANDEN P?OST P?SO P?TEXT
P?ADJDESC P?DESCFCN P?LDESC P?RAUF P?STRENGTH P?TVALUE
P?ADJECTIVE P?FDESC P?NO P?RAUS P?SUED P?VALUE
P?ADVFCN P?GLOBAL P?NORD P?RUNTER P?SW P?VTYPE
P?CAPACITY P?HINEIN P?NW P?SIZE P?SYNONYM P?WEST
Flags: 35
ACTORBIT DIEBIT INVISIBLE OPENBIT STAGGERED TRYTAKEBIT
BURNBIT DOORBIT KLUDGEBIT READBIT SURFACEBIT TURNBIT
CLIMBBIT DRINKBIT LIGHTBIT RLANDBIT TAKEBIT VEHBIT
CONTBIT FIGHTBIT NDESCBIT RMUNGBIT TOOLBIT WEAPONBIT
DASBIT FLAMEBIT NONLANDBIT SACREDBIT TOUCHBIT WEARBIT
DERBIT FOODBIT ONBIT SEARCHBIT TRANSBIT

1
zork1.serial Normal file
View File

@ -0,0 +1 @@
143

BIN
zork1.syms Normal file

Binary file not shown.

56
zork1.zap Normal file
View File

@ -0,0 +1,56 @@
.NEW 6
.LANG 1,37
; CHARACTER SET DEFINITIONS
.CHRSET 0,101,110,105,115,116,114,97,104,100,117,99,108,46,103,111,109,98,102,68,107,44,119,122,112,83,157
.CHRSET 1,118,155,69,87,156,71,84,70,65,66,75,90,78,73,72,82,77,121,33,76,63,86,79,106,34,80
.CHRSET 2,32,32,58,85,40,41,39,74,42,89,120,113,160,45,93,62,91,159,158,161,49,57,51,53,56,54
; Low core locations
%ZVERSION:: .BYTE 6
.BYTE FLAGS
%ZORKID:: ZORKID
%ENDLOD:: ENDLOD
%START:: GO
%VOCAB:: VOCAB
%OBJECT:: OBJECT
%GLOBAL:: GLOBAL
%PURBOT:: IMPURE
%FLAGS:: .WORD 0
%SERIAL:: .WORD 0
%SERI1:: .WORD 0
%SERI2:: .WORD 0
%FWORDS:: WORDS
%PLENTH:: .WORD 0
%PCHKSM:: .WORD 0
%INTWRD:: .WORD 0
%SCRWRD:: .WORD 0
%HWRD:: .WORD 0
%VWRD:: .WORD 0
%FWRD:: .WORD 0
%FOFF:: FOFF
%SOFF:: SOFF
%CLRWRD:: .WORD 0
%TCHAR:: 0
%TWID:: .WORD 0
%CRFUNC:: .WORD 0
%CHRSET:: CHRSET
%EXTAB:: 0
.WORD 0
.WORD 0
.WORD 0
.WORD 0
.INSERT "ZORK1FREQ" ;Frequent word table
.INSERT "ZORK1DAT" ; Data file
.INSERT "ZORK1PUR"
.INSERT "TELLS"
.INSERT "DUNGEON"
.INSERT "GLOBALS"
.INSERT "CLOCK"
.INSERT "LOOP"
.INSERT "PARSER"
.INSERT "VERBS"
.INSERT "ACTIONS"
.INSERT "HINTS"
.INSERT "ZORK1STR"
.END

43
zork1.zil Normal file
View File

@ -0,0 +1,43 @@
"ZORK1 for
Zork I: The Great Underground Empire
(c) Copyright 1983 Infocom, Inc. All Rights Reserved.
-- GERMAN EDITION"
<VERSION YZIP>
<SETG ZORK-NUMBER 1>
<SETG PLUS-MODE T>
<SET REDEFINE T>
<SETG NEW-VOC? T>
<FREQUENT-WORDS?>
<LANGUAGE GERMAN>
<PRINC "Renovated ZORK I: The Great Underground Empire
">
<COND (<GASSIGNED? PREDGEN>
<ID 0>)>
ON!-INITIAL
OFF!-INITIAL ;"makes dubugging possible -pld"
;<DIRECTIONS NORTH EAST WEST SOUTH NE NW SE SW UP DOWN IN OUT LAND>
<DIRECTIONS NORD OST WEST SUED NO NW SO SW RAUF RUNTER
;IN HINEIN ;OUT RAUS LANDEN>
<PROPDEF SIZE 5>
<PROPDEF CAPACITY 0>
<PROPDEF VALUE 0>
<PROPDEF TVALUE 0>
<INSERT-FILE "TELLS" T>
<INSERT-FILE "SYNTAX" T>
<INSERT-FILE "DUNGEON" T>
<INSERT-FILE "GLOBALS" T>
<INSERT-FILE "CLOCK" T>
<INSERT-FILE "LOOP" T>
<INSERT-FILE "PARSER" T>
<INSERT-FILE "VERBS" T>
<INSERT-FILE "ACTIONS" T>
<INSERT-FILE "HINTS" T>

BIN
zork1.zip Normal file

Binary file not shown.

15594
zork1dat.zap Normal file

File diff suppressed because it is too large Load Diff

200
zork1freq.xzap Normal file
View File

@ -0,0 +1,200 @@
.FSTR FSTR?1,"the " ;1572 786
.FSTR FSTR?2,"The " ;1245 415
.FSTR FSTR?3,"You " ;735 245
.FSTR FSTR?4,", " ;529 529
.FSTR FSTR?5,"your " ;474 158
.FSTR FSTR?6,"is " ;466 466
.FSTR FSTR?7,"and " ;456 228
.FSTR FSTR?8,"you " ;412 206
.FSTR FSTR?9,"There " ;395 79
.FSTR FSTR?10,"can't " ;360 72
.FSTR FSTR?11,"of " ;325 325
.FSTR FSTR?12,"to " ;323 323
.FSTR FSTR?13,". " ;299 299
.FSTR FSTR?14,"with " ;294 98
.FSTR FSTR?15,"are " ;272 136
.FSTR FSTR?16,"that " ;258 86
.FSTR FSTR?17,"have " ;231 77
.FSTR FSTR?18,"which " ;224 56
.FSTR FSTR?19,"This " ;216 54
.FSTR FSTR?20,"from " ;204 68
.FSTR FSTR?21,"large " ;204 51
.FSTR FSTR?22,"through " ;180 30
.FSTR FSTR?23,"appears " ;180 30
.FSTR FSTR?24,"in " ;175 175
.FSTR FSTR?25,"here" ;162 81
.FSTR FSTR?26,"water " ;136 34
.FSTR FSTR?27,"room " ;135 45
.FSTR FSTR?28,"Cyclops " ;133 19
.FSTR FSTR?29,"leading " ;132 22
.FSTR FSTR?30,"narrow " ;130 26
.FSTR FSTR?31,"cannot " ;130 26
.FSTR FSTR?32,"small " ;128 32
.FSTR FSTR?33,"into " ;126 42
.FSTR FSTR?34,"cyclops " ;114 19
.FSTR FSTR?35,"his " ;112 56
.FSTR FSTR?36,"thief " ;112 28
.FSTR FSTR?37,"It " ;110 55
.FSTR FSTR?38,"south " ;108 27
.FSTR FSTR?39,"seems " ;108 27
.FSTR FSTR?40,"already " ;108 18
.FSTR FSTR?41,"don't " ;105 21
.FSTR FSTR?42,"be " ;102 102
.FSTR FSTR?43,"but " ;100 50
.FSTR FSTR?44,"would " ;96 24
.FSTR FSTR?45,"Your " ;96 24
.FSTR FSTR?46,"there " ;92 23
.FSTR FSTR?47,"can " ;90 45
.FSTR FSTR?48,"this " ;90 30
.FSTR FSTR?49,"It's " ;90 18
.FSTR FSTR?50,"staircase " ;88 11
.FSTR FSTR?51,"on " ;86 86
.FSTR FSTR?52,"for " ;84 42
.FSTR FSTR?53,"west " ;84 28
.FSTR FSTR?54,"east " ;84 28
.FSTR FSTR?55,"north " ;84 21
.FSTR FSTR?56,"not " ;82 41
.FSTR FSTR?57,"troll " ;80 20
.FSTR FSTR?58,"nothing " ;78 13
.FSTR FSTR?59,"looking " ;78 13
.FSTR FSTR?60,"I " ;72 72
.FSTR FSTR?61,"path " ;72 24
.FSTR FSTR?62,"closed" ;72 18
.FSTR FSTR?63,"candles " ;72 12
.FSTR FSTR?64,"Frigid " ;72 12
.FSTR FSTR?65,"won't " ;70 14
.FSTR FSTR?66,"probably " ;70 10
.FSTR FSTR?67,"here " ;69 23
.FSTR FSTR?68,"Room" ;69 23
.FSTR FSTR?69,"about " ;68 17
.FSTR FSTR?70,"A " ;66 66
.FSTR FSTR?71,"too " ;66 33
.FSTR FSTR?72,"that" ;66 33
.FSTR FSTR?73,"room" ;66 33
.FSTR FSTR?74,"door " ;66 22
.FSTR FSTR?75,"grating " ;66 11
.FSTR FSTR?76,"ground " ;65 13
.FSTR FSTR?77,"out " ;64 32
.FSTR FSTR?78,"other " ;64 16
.FSTR FSTR?79,"wall " ;63 21
.FSTR FSTR?80,"passages " ;63 9
.FSTR FSTR?81,"impossible " ;63 7
.FSTR FSTR?82,"has " ;62 31
.FSTR FSTR?83,"over " ;60 20
.FSTR FSTR?84,"level " ;60 15
.FSTR FSTR?85,"knocks " ;60 12
.FSTR FSTR?86,"before " ;60 12
.FSTR FSTR?87,"passage " ;60 10
.FSTR FSTR?88,"Fortunately" ;60 6
.FSTR FSTR?89,"Unfortunately" ;60 5
.FSTR FSTR?90,"it " ;59 59
.FSTR FSTR?91,"an " ;56 56
.FSTR FSTR?92,"think " ;56 14
.FSTR FSTR?93,"river " ;56 14
.FSTR FSTR?94,"troll's " ;56 8
.FSTR FSTR?95,"doesn't " ;56 8
.FSTR FSTR?96,"You're " ;56 8
;word frequency table of 96 most common words
WORDS:: .TABLE
FSTR?1
FSTR?2
FSTR?3
FSTR?4
FSTR?5
FSTR?6
FSTR?7
FSTR?8
FSTR?9
FSTR?10
FSTR?11
FSTR?12
FSTR?13
FSTR?14
FSTR?15
FSTR?16
FSTR?17
FSTR?18
FSTR?19
FSTR?20
FSTR?21
FSTR?22
FSTR?23
FSTR?24
FSTR?25
FSTR?26
FSTR?27
FSTR?28
FSTR?29
FSTR?30
FSTR?31
FSTR?32
FSTR?33
FSTR?34
FSTR?35
FSTR?36
FSTR?37
FSTR?38
FSTR?39
FSTR?40
FSTR?41
FSTR?42
FSTR?43
FSTR?44
FSTR?45
FSTR?46
FSTR?47
FSTR?48
FSTR?49
FSTR?50
FSTR?51
FSTR?52
FSTR?53
FSTR?54
FSTR?55
FSTR?56
FSTR?57
FSTR?58
FSTR?59
FSTR?60
FSTR?61
FSTR?62
FSTR?63
FSTR?64
FSTR?65
FSTR?66
FSTR?67
FSTR?68
FSTR?69
FSTR?70
FSTR?71
FSTR?72
FSTR?73
FSTR?74
FSTR?75
FSTR?76
FSTR?77
FSTR?78
FSTR?79
FSTR?80
FSTR?81
FSTR?82
FSTR?83
FSTR?84
FSTR?85
FSTR?86
FSTR?87
FSTR?88
FSTR?89
FSTR?90
FSTR?91
FSTR?92
FSTR?93
FSTR?94
FSTR?95
FSTR?96
.ENDT
.ENDI

1303
zork1pur.zap Normal file

File diff suppressed because it is too large Load Diff

832
zork1str.zap Normal file
View File

@ -0,0 +1,832 @@
; STRINGS ARE DEFINED HERE
STRBEG::
.GSTR STR?1,"wei%s"
.GSTR STR?2,"In einer Ecke dieses Raumes ist ein wundervoll gearbeiteter Kristalsch%adel. Er scheint dich, einigermassen unanagenehm anzugrinsen."
.GSTR STR?3,"Von der Kette h%angt ein Korb."
.GSTR STR?4,"Am Ende der Kette ist ein Korb."
.GSTR STR?5,"Ein Pepperoni-Brot liegt hier."
.GSTR STR?6,"rotgl%uhend"
.GSTR STR?7,"Auf der Erde ist eine rotgl%uhende Glocke."
.GSTR STR?8,"blutig"
.GSTR STR?9,"gr%un"
.GSTR STR?10,"schwarz"
.GSTR STR?11,"Auf dem Altar liegt ein gro%ses schwarzes Buch. Es ist bei Seite 569 aufgeschlagen."
.GSTR STR?12,"12592.Gebot
Oh Ihr, die Ihr zueinander sagt: %>Tag, Seeman%<
Seid Ihr Euch der Gr%o%se Eurer S%unden vor den G%ottern bewu%st?
Es steht geschrieben, da%s Ihr zwischen Steinen zermalmt werden sollt.
Sollen die zornigen G%otter Eure %Uberreste in das Kneippbecken werfen?
Wahrhaftig Eure Augen sollten mit einem spitzen Stock geblendet werden!
Bis ans Ende dieser Erde sollt Ihr wandern,
Und in den Hades am Ende Eurer Tage sollt Ihr verbannt werden.
Wahrhaftig Ihr sollt b%ussen f%ur eure Schlauheit."
.GSTR STR?13,"kaputt"
.GSTR STR?14,"Ein reichverziertes Zepter, das zu einer scharfen Spitze ausl%auft, ist hier."
.GSTR STR?15,"Ein Zepter, das wom%oglich direkt aus %Agypten stammt, ist in dem Sarg. Das Zepter ist mit farbigem Emaille verziert und l%auft zu einer scharfen Spitze aus."
.GSTR STR?16,"braun"
.GSTR STR?17,"Auf dem Tisch ist ein l%anglicher brauner Sack. Er riecht nach scharfen Pepperoni."
.GSTR STR?18,"gelb"
.GSTR STR?19,"rot"
.GSTR STR?20,"blau"
.GSTR STR?21,"Es gibt hier einen Silberkelch, der sehr fein graviert ist."
.GSTR STR?22,"Am Ufer liegt Poseidons ureigener Kristalldreizack."
.GSTR STR?23,"steinern"
.GSTR STR?24,"Auf dem Tisch steht eine Flasche."
.GSTR STR?25,"reingolden"
.GSTR STR?26,"Der reingoldene Sarg, den man f%ur das Begr%abnis von Ramses II. benutzt hat, ist hier."
.GSTR STR?27,"riesig"
.GSTR STR?28,"Es gibt hier einen riesigen Diamant (elegant geschliffen)."
.GSTR STR?29,"Es gibt hier eine kostbare Jade-Figur."
.GSTR STR?30,"au%senhend"
.GSTR STR?31,"Auf einem Tisch liegt ein gef%ahrlich au%sehendes Messer."
.GSTR STR?32,"ausgebrannt"
.GSTR STR?33,"Die ausgebrannte Lanterne des toten Abenteurers liegt hier."
.GSTR STR?34,"Ein sch%abiger Ledersack vollgepfropft mit Goldm%unzen ist hier."
.GSTR STR?35,"batteriengespeist"
.GSTR STR?36,"Eine batteriengespeiste Messingleuchte ist auf dem Troph%aenschrank."
.GSTR STR?37,"Hier ist eine batteriengespeiste Messingleuchte."
.GSTR STR?38,"gro%s"
.GSTR STR?39,"Ein kleine Zettel liegt auf der Erde."
.GSTR STR?40,"%>Willkommen in Zork!
Zork ist ein Spiel voller Abenteuer, Gefahren und gemeiner Schlauheit Beim. Spielen wirst du einige der wundersamsten Welten entdecken, die irgend ein Sterblicher gesehen hat. Kein Heimcomputer sollte ohne dieses Spiel sein.%<"
.GSTR STR?41,"klein"
.GSTR STR?42,"Eine Streichholzschachtel mit der Auffschrift: Visit Beautiful FCD#3 liegt hier."
.GSTR STR?43,"
(Schlie%se die Schachtel, bevor du das Streichholz anz%undest.)
Herr Superschlau aus Hack sagt: Bevor ich in diese Vorlesung ging war ich ein mickeriger Bit-Mischer. Jetzt, mit dem, was ich an der Hacker T.U gelernt habe, f%uhle ich mich wichtig und kann mit den Besten interfacen und verr%uckt spielen.
Herr Dr. Leer hatte folgendes zu sagen: %>Vor nur zehn kurzen Tagen hatte ich nur die Aussicht auf eine chancenlose Stelle als Doktor. Jetzt habe ich eine vielversprechende Zukunft und mache wirkliche Zorkknete.%<
Die Technische Uni Hack kann diese fantastischen Resultate nicht jedem versprechen. Aber, einen Doktortitel von der Hack TU malt auch deine Zukunft rosiger aus."
.GSTR STR?44,"sch%on"
.GSTR STR?45,"Gl%ucklicherweise bleibt dir noch eine Chance auch ein Gangster zu werden, denn an der anderen Wand h%angt ein Gem%alde von einmaliger Sch%onheit."
.GSTR STR?46,"Ein Gem%alde von einem unbeachteten Gro%sen ist hier."
.GSTR STR?47,"Auf dem Altar steht ein Kerzenpaar."
.GSTR STR?48,"glasartig"
.GSTR STR?49,"Auf dem Boden liegt ein Bl%atterhaufen."
.GSTR STR?50,"geplatzt"
.GSTR STR?51,"Hier gibt es einen Haufen Plastik, an dem ein kleines Ventil befestigt ist."
.GSTR STR?52,"Auf dem Boden liegt ein Platinbarren."
.GSTR STR?53,"Am Ende des Regenbogens steht ein Topf voll Gold."
.GSTR STR?54,"Das Gebet ist in einer uralten Schrift, die man heute kaum benutzt, eingemeiselt. Es erscheint eingriechisches Dogma gegen kleine Insekten, Vergesslichkeit, und das Aufheben und Fallenlassen von kleinen Dingen zu sein. Der letzte Vers verdammt Uebertreter zum Land der Toten. Alle Nachweise deuten darauf hin, dass die Ideen der alten Zorker eigentuermlich verwirrt waren."
.GSTR STR?55,"h%olzern"
.GSTR STR?56,"Es gibt hier eine rote Markierungsboje (Wahrscheinlich eine Warnung)."
.GSTR STR?57,"Ein dickes aufgerolltes Seil liegt in der Ecke."
.GSTR STR?58,"rostig"
.GSTR STR?59,"Neben dem Knochenger%ust liegt ein rostiges Messer."
.GSTR STR?60,"saphireingelegt"
.GSTR STR?61,"Der Abenteurer war nicht nur gl%ucklos, er war auch verschlossen. Neben dem Skelett liegt ein Schl%ussel."
.GSTR STR?62,"Der volle Wortlaut dieser Inschrift ist: %>Dieser Raum wurde mit Absicht freigelassen%<."
.GSTR STR?63,"%Uber dem Troph%aenschrank h%angt ein Elfenschwert aus dem Altertum."
.GSTR STR?64,"uralt"
.GSTR STR?65,"In dem Troph%aenschrank ist ein uraltes Pergament, das eine Landkarte sein k%onte."
.GSTR STR?66,"Die Karte zeigt einen Wald mit drei Lichtungen. Die gr%osste Lichtung beherbergt ein Haus. Drei Pfade verlassen die grosse Lichtung. Einer der Pfade, der nach SW fuehrt, hat ein Schild %>zum Steingrab%<."
.GSTR STR?67,"beig"
.GSTR STR?68," !!!!FROBOZ ZAUBERBOOTFABRIK!!!!
Tag, Seeman!
Um ins Wasser zu gehen, sage: %>Absto%sen%<.
Um ans Land zur%uckzukehen, sage: %>Landen%< oder gib die Richtung, in der du das Boot steuern m%ochtest, an.
Garantie:
Dieses Boot hat eine Garantie mit einer Laufzeit von einer Tausendstelsekunde, die mit dem Kaufsdatum oder dem Datum der ersten Benutzung beginnt.
Warnung:
Dieses Boot ist aus d%unnem Plastik. Hals und Beinbruch!"
.GSTR STR?69,"Da steht ein verd%achtig aussehender Kerl, der eine T%ute h%alt, gegen die Wand gelehnt. Er ist mit einem t%odlichen Stilett bewaffnet."
.GSTR STR?70,"Auf dem Podest ist eine brennende Fackel aus Elfenbein."
.GSTR STR?71,"Einige Prospekte mit dem Titel: Hochwasserschutzdamm No.3 liegen bei der Rezepzion."
.GSTR STR?72,"%> Hochwasserschutzdamm No.3
Hochwasserschutzdamm No.3 wurde im Jahr 783 des Gro%sen Untergrund Reiches errichtet, um den Gletschflu%s zu b%andigen. Diese Arbeit wurde von einem Zuschu%s im Betrag von 37 Millionen Zorkkneten von eurem allmaechtigen lokalen Tyranen F%urst Kleingeist Flachkopf dem %Au%sersten unterstuetzt. Diese eindrucksvolle Baustelle besteht aus 115.000 Kubikmetern von Zement, ist in der Mitte 86 Meter hoch und 64 Meter Breit an der Spitze. Der See, der hinter dem Damm gemacht wurde, hat ein Volumen von 0,65 Milliarden Kubikmetern, eine Fl%ache von 4 Millionen Quadratmetern und eine K%ustenlinie von 12 Tausend Metern.
Der Bau des Hochwasserschutzdammes No.3 hat 112 Tage vom Anfang der Bauarbeiten bis zu seiner Einweihung gedauert. Gebraucht wurde eine Arbeitsmannschaft von 384 Sklaven, 34 Sklavenhaltern, 12 Ingenieuren, 2 Friedenstauben und einer au%sergew%ohnlichen Weihnachtsgans. Die Arbeit wurde %ubersehen von einer kommandierenden Mannschaft von 2345 B%urokraten, 2347 Sekret%aren und Sekret%arinnen (mindestens zwei davon konnten tippen), 12.256 Leuten, die sich mit Papieren besch%aftigten, 52.469 Stempelexperten, 245.193 Leuten, die sich mit der l%acherlichen B%urokratie auskannten und fast einer Million von toten B%aumen.
Jetzt wollen wir einige der au%sergew%ohnlichen Merkmale des Schutzdammes No.3 vorf%uhren, indem wir eine F%uhrung durch das Projekt machen:
1) Du beginnst die F%uhrung hier in der Vorhalle des Damms. Du wirst auf der rechten Seite feststellen, da%s..."
.GSTR STR?73,"Ein widerlicher Troll, der eine blutige Axt schwingt, blockiert alle Ausg%ange aus dem Zimmer."
.GSTR STR?74,"Halbvergraben im Schlamm ist ein alter Koffer, vollgepfropft mit Juwelen."
.GSTR STR?75,"Es gibt hier einen alten Koffer, der mit allen m%oglichen Juwelen voll gepfropft ist."
.GSTR STR?76,"Es gibt hier ein Ding, das aussieht wie eine Zahnpastatube."
.GSTR STR?77," ---> Frobozz <---
Zauberschmiere Gesellschaft
Eine Allzweckschmiere"
.GSTR STR?78,"Dort gibt es alte Einmei%selungen an den W%anden."
.GSTR STR?79,"Die Gravierungen waren in den lebenden Stein der H%ohlenwand von einer unbekannten Hand eingehauen. Sie stellen in einer symbolischen Form den Glauben der uralten Zorker dar. Kuensterisch eingewoben mit den fundamentalen Gravierungen findet man Auszuege, die die religi%osen Glaubenss%atze der Zeit illustrieren. Leider hat eine sp%atere Zeit diese Markierungen als frevelhaft bezeichnet und hat sie in kluger Form entfernt."
.GSTR STR?80,"Lose an der Wand h%angt ein kleines St%uck Papier."
.GSTR STR?81,"Herzlichen Gl%uckwunsch!
Du bist der priveligierte Besitzer von ZORK I: Das Gro%se Unterirdische Imperium, ein unabh%angiges selbstversorgendes Universum Wenn es gem%a%s den Operationsregeln f%ur kleine Universe benutzt und erhalten wird, dann wird ZORK auch viele Monate problemlos operieren."
.GSTR STR?82,"Neben dir auf dem Ast ist ein kleines Vogelnest."
.GSTR STR?83,"juwelenbesetzt"
.GSTR STR?84,"In dem Vogelnest ist ein gro%ses mit kostbaren Juwelen besetztes Ei, das scheinbar von einem kinderlosen Singvogel geraubt wurde. Das Ei ist von einer feinen Goldschicht %uberzogen und mit Lapislazuli und Perlmutter geschm%uckt. Im Gegensatz zu einem gew%ohnlichen Ei, hat dieses ein Scharnier und ist mit einem eleganten Verschlu%s versehen. Das Ei sieht sehr zerbrechlich aus."
.GSTR STR?85,"zerbrochen"
.GSTR STR?86,"golden"
.GSTR STR?87,"Ein goldener Kanarienvogel zum Aufziehen ist in dem Ei. Er hat rubinrote Augen und einen silbernen Schnabel. Durch das Kristallfenster unter seinem linken Fl%ugel kannst du den komplizierten Mechanismus in seinem K%orper sehen. Er scheint, abgelaufen zu sein. Hier ist auch ein Silberkelch mit feinen Gravierungen."
.GSTR STR?88,"Eingebettet in dem Ei ist ein goldener aufziehbarer Kanarienvogel. Er mu%s vor Kurzem etwas Schreckliches durchgemacht haben. Die H%ohlen f%uer seine jewelen%ahnlichen Augen sind leer und silberner Schnabel ist verbogen. Durch ein gesprungenes Kristallfenster unter seinem linken Fl%uegel kannst du die Reste eines genialen Uhrwerks sehen. Es ist jetzt sonnenklar, da%s das Aufziehen sinnlos w%are, denn die Hauptfeder scheint gesprungen zu sein."
.GSTR STR?89,"Die T%ur ist mit Brettern vernagelt, und du kannst die Bretter nicht entfernen."
.GSTR STR?90,"Du stehst vor einem enormen steinen H%ugelgrab. Auf der Ostseite ist eine riesige Steint%ur, die ge%offnet ist. Du kannst nicht in die Dunkelheit von dem Grab hineingucken."
.GSTR STR?91,"Du stehst vor der Nordseite eines wei%sen Hauses. Es gibt hier keine T%ur, und alle Fenster sind mit Brettern vernagelt. Nach Norden windet sich ein schmaler Pfad durch die B%aume."
.GSTR STR?92,"Die Fenster sind alle vernagelt."
.GSTR STR?93,"Du stehst auf der S%udseite des wei%sen Hauses. Es gibt hier keine T%ur, und alle Fenster sind vernagelt."
.GSTR STR?94,"The windows are all boarded."
.GSTR STR?95,"Dies ist ein Wald. %Uberall sind B%aume. Die Sonne steht scheinbar im Osten."
.GSTR STR?96,"Es gibt hier keinen Baum, den man erklettern kann."
.GSTR STR?97,"Du brauchtest ein Buschmesser, um weiter nach Westen zu gehen."
.GSTR STR?98,"Dies ist ein d%usterer Wald mit gro%sen B%aumen rundherum."
.GSTR STR?99,"Nach Norden wird der Wald undurchdringlich."
.GSTR STR?100,"Der Wald lichtet sich und un%uberwindliche Berge kommen zum Vorschein."
.GSTR STR?101,"Die Berge sind nicht un%uberwindlich."
.GSTR STR?102,"Undurchdringliches Unterholz versperrt den Weg nach Osten."
.GSTR STR?103,"Der Weg ist von umgeblasenen B%aumen blockiert."
.GSTR STR?104,"Dieser Pfad windet sich durch den d%usteren Wald. Er verl%auft von Norden nach S%uden. Ein besonders gro%ser Baum mit einigen niederen %Asten steht am Rande des Pfades."
.GSTR STR?105,"H%oher kannst du nicht."
.GSTR STR?106,"Du stehst auf einer kleinen Lichtung auf einem wohlmarkierten Waldpfad, der sich nach Osten und Westen erstreckt."
.GSTR STR?107,"Nur der Schornsteinfeger krabbelt in Schornsteine."
.GSTR STR?108,"Dies ist der Speicher. Der einzige Ausgang ist ein Treppenhaus nach unten."
.GSTR STR?109,"Die T%ur ist vernagelt."
.GSTR STR?110,"Du versuchst die Rampe hinaufzuklettern, aber das ist unm%oglich. Du rutschst wieder runter."
.GSTR STR?111,"Dies ist ein kleines Zimmer mit Durchg%angen nach Osten und S%uden und einem furchterregenden Loch nach Westen. Blutspuren und tiefe Kratzer (vielleicht von einer Axt) verschandeln die W%ande."
.GSTR STR?112,"Der Troll schreckt dich mit einer drohenden Geste zur%uck."
.GSTR STR?113,"Du bist am %ostlichen Rand einer Spalte, deren Grund nicht zu sehen ist. Ein enger Durchgang geht nach Norden, und der Pfad, auf dem du bist, f%uhrt nach Osten weiter."
.GSTR STR?114,"Die Spalte f%uhrt wahrscheinlich direkt zur H%olle."
.GSTR STR?115,"Dies ist eine Kunstgalerie. Die meisten Gem%alde sind von Gangstern mit au%sergew%ohnlich gutem Geschmack gestohlen worden. Die Gangster sind entweder durch den Nord -oder den Westausgang abgehauen."
.GSTR STR?116,"Dies scheint, ein K%unstleratelier gewesen zu sein. Die W%ande und Fu%sb%oden sind mit Spritzern von 69 verschiedenen Farben bekleckst. Seltsamererweise h%angt hier nichts Wertvolles. Am s%udlichen Ende des Zimmers ist eine offene T%ur (auch mit Farbe bekleckst). Ein dunkler und schmaler Schornstein f%uhrt vom Kamin hinauf. Es w%are wahrscheinlich einfach f%ur dich, dort hinaufzuklettern, aber die Chancen, da%s du wieder runterkommst, sind gering."
.GSTR STR?117,"Dies ein Teil eines Irrgartens. Kleine verwirrende Durchgangsm%oglichkeiten, die sich alle %ahnlich sehen."
.GSTR STR?118,"Du bist an eine Sackgasse in dem Irrgarten gekommen."
.GSTR STR?119,"Dies ist ein Teil eines Irrgartens: kleine, verwirrende G%ange, die sich alle %ahnlich sehen. In einer Ecke liegt ein Skelett. Vermutlich die sterblichen %Uberreste eines gl%ucklosen Abenteurers."
.GSTR STR?120,"Du bist an einer Sackgasse in dem Irrgarten gekommen."
.GSTR STR?121,"Das Gitter ist geschlossen."
.GSTR STR?122,"Die Ostwand ist aus undurchdringlichem Felsen."
.GSTR STR?123,"Der Zyklop macht den Eindruck, als ob er dich nicht durchlassen wollte."
.GSTR STR?124,"Dies ist ein langer Durchgang. Nach Westen ist ein Eingang. Nach Osten gibt es eine h%olzerne T%ur mit einer gro%sen %Offnung darin (ungef%ahr in der Form eines Zyklopen)."
.GSTR STR?125,"Dies ist ein gro%ser Raum, dessen Ostwaand aus Granit ist. Eine Menge weggeworfener T%uten, die bei der kleinsten Ber%uhrung zerfallen, sind auf dem Fu%sboden verstreut."
.GSTR STR?126,"Du w%urdest ertrinken."
.GSTR STR?127,"Der Damm blockiert dein Weg."
.GSTR STR?128,"Du wuerdest ertrinken."
.GSTR STR?129,"Du stehst auf einem Pfad bei einem pl%atschernden Bach. Der Pfad folgt dem Bach, der von Westen nach Osten flie%st."
.GSTR STR?130,"Der kleine Fluss kommt aus einem Ort, der fuer dich zu eng zum Eintreten ist."
.GSTR STR?131,"Du bist auf einem pl%atschernden Flu%s. Der Weg flu%saufw%arts ist zu eng, und die Flu%sabw%artsroute ist nicht %ubersehbar, denn die Felsw%ande stehen im Weg. Es gibt hier einen schmalen Strand zur Landung."
.GSTR STR?132,"Der Flu%skanal ist zu eng."
.GSTR STR?133,"Dies ist eine winzige H%ohle mit Eing%angen im Westen und Osten und eine Treppe nach unten."
.GSTR STR?134,"Dies ist eine winzige H%ohle mit Eing%angen im Westen und Osten und eine angsterregende Treppe nach unten."
.GSTR STR?135,"Dies ist ein kalter und feuchter Flur, wo ein langer Ost-West Durchgang in einen Pfad nach S%udwesten m%undet."
.GSTR STR?136,"Dies ist ein langer und enger Gang, von dem aus sich ein langer Nord-S%uddurchgang mehr und mehr verengt."
.GSTR STR?137,"Dies ist ein sich windender Durchgang. Es scheint, als ob es nur Ausg%ange nach Osten und Norden gibt."
.GSTR STR?138,"Dies ist ein Quergang, der sich windet. Es scheint, als ob es nur Ausg%ange auf der Ost-und Nordseite gibt."
.GSTR STR?139,"Dies ist ein uraltes Zimmer, seit langem unter Wasser. Es gibt einen Ausgang nach S%uden und eine Treppe, die nach oben f%uhrt."
.GSTR STR?140,"Dies ist ein enger Ost-Westdurchgang. Es gibt hier eine enge Treppe, die nach am Ende des Zimmers nach unten f%uhrt."
.GSTR STR?141,"Dies ist ein rundes turmartiges Zimmer mit Durchg%angen in alleRichtungen. Einige sind leider durch Einsturz blockiert."
.GSTR STR?142,"Diese H%ohle hat Ausg%ange nach Westen und Osten und verengt sich nach S%uden zu einer Ritze. Der Boden ist hier besonders feucht."
.GSTR STR?143,"Da w%uerde nicht einmal eine Fliege hindurchkommen."
.GSTR STR?144,"Hier ist ein Nord-S%uddurchgang, der sich nach Nordosten gabelt."
.GSTR STR?145,"Eine Spalte verl%auft von S%udwesten nach Nordosten, und der Pfad folgt ihr. Du bist auf der S%udseite der Spalte, wo eine schmale %Offnung in einen Durchgang f%uhrt."
.GSTR STR?146,"Bist du verr%uckt geworden?"
.GSTR STR?147,"Eine unsichtbare Macht h%alt dich davon ab durch das Tor zu schreiten."
.GSTR STR?148,"Du bist in das Land der lebendigen Toten geraten. Tausende von verlorenen Seelen kann man Weinen und Schluchzen h%oren. In der Ecke sind die %Uberreste von Dutzenden von vormaligen Abenteuerern, die weniger Gl%uck hatten als du, aufgestapelt. Ein Duchgang f%uhrt nach Norden heraus. In einer Ecke dieses Raumes liegt ein wundervoll gearbeiteter Kristalsch%adel. Er scheint dich mit gemeinem Grinsen anzusehen."
.GSTR STR?149,"Du bist in eine H%ohle getreten, die Durchg%ange nach Norwesten und Osten hat."
.GSTR STR?150,"Dieser Raum sieht aus wie ein %agyptisches Grab. Im Westen ist eine Treppe nach oben."
.GSTR STR?151,"Hier kannst du ohne schwere Knochenbr%uche nicht runter."
.GSTR STR?152,"Du kannst das Seil nicht mit der Hand erreichen."
.GSTR STR?153,"Dies ist das Nordende eines gro%sen Tempels. Auf der Ostwand siehst du eine antike Inschrift, die wahrscheinlich ein Gebet in einer l%angst vergessenen Sprache ist. Unter dem Gebet f%uhrt ein Treppenhaus nach unten. Die Westwand ist aus Granit. Der Ausgang im Norden des Raumes f%uhrt durch riesige Marmors%aulen. Es befindet sich hier eine Messingglocke."
.GSTR STR?154,"Dies ist das S%udende eines gro%sen Tempels. Vor dir ist eine Art Altar. In einer Ecke ist ein kleines Loch im Boden, das in absolute Dunkelheit f%uhrt. Es sieht nicht so aus, als ob du da je wieder rausk%amst. Auf beiden Seiten des Altars stehen brennende Kerzen. Auf dem Altar liegt ein gro%ses schwarzes Buch. Es ist bei Seite 569 aufgeschlagen."
.GSTR STR?155,"Den Sarg da hinunter zu bringen %ubersteigt deine menschlichen Kr%afte. Dazu brauchst Du die Hilfe Gottes."
.GSTR STR?156,"Dieser Raum scheint, der Warteraum f%ur Besuchergruppen gewesen zu sein. Es gibt hier offene T%uren, die nach Norden und Osten f%uhren. Sie haben die Aufschrift %>Privat%<, und ein Pfad f%uhrt nach S%uden %uber den oberen Damm."
.GSTR STR?157,"Dies mu%s der Wartungsraum f%ur den Hochwasserschutzdamm No.3 gewesen sein. Scheinbar ist dieser Raum vor Kurzem gepl%undert worden, denn die meisten wertvollen Ger%ate sind weg. An der Wand vor dir h%angen bla%ue, gelbe, braune und rote Kn%opfe. T%uren f%uhren nach Westen und S%uden."
.GSTR STR?158,"Du bist am Fu%s des Hochwasserkontrolldammes No. 3, der %uber dir und nach Norden hin aufragt. Der Flu%s Gletsch flie%st hier vorbei. Den Flu%s entlang t%urmen sich die Wei%sen Felsen, die sich flu%sabw%arts wie eine gigantische Wand von Norden nach S%uden erstrecken."
.GSTR STR?159,"Du bist auf dem Gletsch bei dem Damm. Der Flu%s flie%st ruhig hier. Es gibt einen Landungssteg am Westufer."
.GSTR STR?160,"Du kannst hier nicht flu%saufw%arts, denn die Str%omung ist zu stark."
.GSTR STR?161,"Die Wei%senfelsen verhindern das Anlegen."
.GSTR STR?162,"Der Flu%s flie%st hier um eine Biegung, die es unm%oglich macht, den Damm zu sehen. Die Wei%sen Felsen ragen %uber dem Ostufer auf und gro%se Steine verhindern die Landung am Westufer."
.GSTR STR?163,"Hier kann man nicht sicher anlegen."
.GSTR STR?164,"Gerade noch rechtzeitig steuerst du von den Felsen weg."
.GSTR STR?165,"Der Flu%s flie%st hier in ein Tal hinab. Es gibt einen schmalen Strand an der Westk%uste unter den Felsen. In der Ferne kann man ein schwaches Grollen h%oren."
.GSTR STR?166,"Du bist an einem schmalen Strand, der am Fu%se der Wei%sen Felsen entlangl%auft. Es gibt hier einen schmalen Pfad, der entlang der Felsen nach S%uden l%auft und einen engen Durchgang, der nach West mitten in die Klippen hineinf%uhrt."
.GSTR STR?167,"Der Pfad ist zu eng."
.GSTR STR?168,"Du bist auf einem steinigen, engen Strandstreifen neben den Felsen. Ein enger Pfad f%uhrt am Ufer entland nach Norden."
.GSTR STR?169,"Der Flu%s str%omt hier st%arker, und das Ger%ausch vor dir scheint, das von brausendem Wasser zu sein. An dem Ostufer ist ein Sandstrand. Ein bi%schen Strand lugt auch unter den Felsen an dem Westufer hervor."
.GSTR STR?170,"Du kannst weder nach Osten oder nach Westen hin landen."
.GSTR STR?171,"Das Ger%ausch von brausendem Wasser ist hier fast unertr%aglich. Auf der Ostk%uste gibt es einen gro%sen Anlegeplatz."
.GSTR STR?172,"Du bist an dem Ostufer des Flu%ses. Das Wasser ist hier etwas gef%ahrlich. Ein Pfad f%uhrt von Norden nach S%uden, das S%udende biegt schnell um eine scharfe Kurve."
.GSTR STR?173,"Du bist an einem gro%sen Sandstrand am Ostufer des Flu%ses. Dieser flie%st schnell vorbei. Ein Pfad verl%auft den Flu%s entlang nach S%uden hier und ein Durchgang ist halb im Sand nach Nordosten vergraben."
.GSTR STR?174,"Dies ist eine sandgef%ullte H%ohle, deren Ausgang nach S%udwesten geht."
.GSTR STR?175,"Das ist ein t%odlicher Weg."
.GSTR STR?176,"Du bist auf dem Regenbogen (sicherlich hast du dir nie tr%aumen lassen, da%s du jemals auf einem Regenbogen laufen w%urdest). Du hast einen tollen Blick auf die F%alle. Der Regenbogen verl%auft von Osten nach Westen."
.GSTR STR?177,"Du bist am unteren Gletsch hinter den Wasserf%allen an einem schmalen steinigen Ufer. Das Ufer ist wegen der Wei%sen Felsen schmal. Die Flu%schlucht %offnet sich hier, und Sonnenstrahlen fallen von oben herein. Ein Regenbogen weist %uber die F%alle nach Osten, und ein schmaller Pfad f%uhrt weiter nach S%udwesten."
.GSTR STR?178,"Du bist unter den W%anden der Flu%schlucht, die hier eher zu erklettern sind. Der geringere Teil des Ablaufs der Wiedermal F%alle flie%st unter dir vorbei. Nach Norden f%uhrt ein schmaler Pfad."
.GSTR STR?179,"Du bist auf einem Vorsprung, der ungef%ahr auf halber H%ohe auf der Wand der Flu%schlucht liegt. Du kannst von hier sehen, da%s der gr%o%ste Teil der Wiedermal F%alle sich durch einen Durchgang windet, den du nicht passieren kannst. Unter dir ist der Abgrund %Uber dir gibt es weitereFelsen, die erklimmbar scheinen."
.GSTR STR?180,"Du bist am oberen Rand der Gro%s-Schlucht, auf dem Gipfel der Westwand. Von hier hat man einen wunderbaren Blick auf die Schlucht und flu%saufw%arts auf den Flu%s Gletsch. Gegen%uber der Schlucht schlie%sen die Wei%sen Felsen dem Gipfel der Hohlkopfberge nach Osten hin an. Verfolgt man die Schlucht flu%saufw%arts nach Norden, dann kann man die Wiedermal F%alle, aus denen ein Regenbogen heraufsteigt, sehen. Der m%achtige Flu%s Gletsch flie%st aus einer gro%sen dunklen H%ohle. Nach Westen und S%uden kann man einen enormen Wald sehen, der sich auf Kilometer hinzieht. Ein Pfad f%uhrt nach Nordwesten. Es ist m%oglich, von hier in die Schlucht hinunterzuklettern."
.GSTR STR?181,"Das war nicht der sicherste Platz f%ur den Absprung."
.GSTR STR?182,"Du stehst an einem Eingang. Er sieht aus wie ein ehemaliger Grubeneingang. Der Schacht f%uhrt in die Westwand, und es gibt dort noch einen Ausgang am S%udende des Raumes."
.GSTR STR?183,"Du bist in einem kleinen Zimmer. Eigent%umliche quietschende Ger%ausche k%onnen von dem Durchgang am Nordende geh%ort werden. Du kannst auch nach Osten entfliehen."
.GSTR STR?184,"Dies ist ein gro%ser Raum, in dessen Mitte sich ein kleiner durch den Fu%sboden nach unten in die Dunkelheit verlaufender Schaft ist. Nach Westen und Norden gibt es Ausg%ange von diesem Zimmer. %Uber dem Schacht hat man ein Metalgeh%ause gebaut, an dem eine schwere eiserne Kette befestigt ist. An dem anderen Ende der Kette h%angt ein Korb."
.GSTR STR?185,"Da passt du nicht rein und w%urdest sterben, wenn du k%onntest."
.GSTR STR?186,"Dies ist ein kleines unscheinbares Zimmer. Aber aus der Richtung einer kleinen, nach unten f%uhrenden Treppe str%omt ein %ubler Gestank. Nach S%uden verl%auft ein schmaler Tunnel."
.GSTR STR?187,"Dies ist ein kleiner Raum, der stark nach Kohlendioxyd stinkt. Es gibt dort einen kurzen Treppenaufgang nach oben und einen schmalen Tunnel nach Osten."
.GSTR STR?188,"Dies ist ein sehr kleiner Raum. In der Ecke ist eine wackelige Holzleiter, die nach unten f%uhrt. Sie k%onnte sicher genug sein, um nach unten zu steigen. Es gibt auch noch eine Treppe, die nach oben f%uhrt. "
.GSTR STR?189,"Dies ist ein ziemlich breiter Raum. Auf einer Seite ist das Unterteil einer schmalen Holzleiter."
.GSTR STR?190,"Hier ist ein langer und schmaler Durchgang, der mit zerbrochenem Geb%alk angef%ullt ist. Ein breiter Durchgang kommt vom Osten und f%uhrt am Westende des Raumes in einen sehr engen Durchgang. Von Westen kommt ein starker Durchzug."
.GSTR STR?191,"Mit der Last pa%st du nicht durch diesen Durchgang."
.GSTR STR?192,"Die ist ein kleines zugiges Zimmer, das am unteren Ende eines langen Schachtes liegt. Nach S%uden f%uhrt ein Durchgang und nach Osten ein sehr schmaler Durchgang. In dem Schacht kann man eine schwere Eisenkette sehen. Am Ende der Kette h%angt ein Korb."
.GSTR STR?193,"Dies ist ein unwichtiger Teil einer Kohlengrube."
.GSTR STR?194,"Dies ist eine kleine Kammer, die der Teil einer Kohlengrube gewesen sein mu%s. Auf deren S%udwand sind die Buchstaben: %>Granitwand%< in den Fels eingraviert. Nach Osten gibt es einen langen Durchgang, und dort ist auch eine steile Metalrutsche, die sich nach unten windet. N%ordlich davon gibt es eine kleine %Offnung."
.GSTR STR?195,"F"
.GSTR STR?196,"lauernd"
.GSTR STR?197,"Wenn du darauf bestehst.........Bum! Du bist tot."
.GSTR STR?198,"Du h%attest erst mal gucken sollen, ehe du gesprungen bist."
.GSTR STR?199,"Im Film w%urde jetzt dein ganzes Leben schnell noch mal an dir vorbeispielen. Hiiiilfe."
.GSTR STR?200,""
.GSTR STR?201,"Ausgezeichnet. Du bist in die 4. Klasse versetzt!"
.GSTR STR?202,"Macht's dir Spa%s?"
.GSTR STR?203,"Jaaaaaaaaaa!!!!!"
.GSTR STR?204,"Soll ich etwa Beifall klatschen?"
.GSTR STR?205," trifft dich genau in den Kopf. Normalerweise w%urde daraus nicht viel Schaden entstehen, aber du hast das unsagbare Pech, hinten%uberzufallen, als du dich ducken willst und brichst dir das Genick. Die Gerechtigkeit kommt schnell und gnadenreich im Gro%sen Land der Unterwelt."
.GSTR STR?206,"O nein! Du bist in die lechzenden F%ange eines lauernden Greuels geraten!"
.GSTR STR?207," "
.GSTR STR?208," "
.GSTR STR?209," "
.GSTR STR?210," "
.GSTR STR?211," "
.GSTR STR?212," geschlittert und hat dich verschlungen."
.GSTR STR?213,"Du kannst in dem Kerker nicht schwimmen."
.GSTR STR?214,"Hallo, ist da jemand?"
.GSTR STR?215,"Hallo, Hallo!"
.GSTR STR?216,"Guten Tag."
.GSTR STR?217,"Sch%ones Wetter haben wir, nicht wahr?"
.GSTR STR?218,"Auf Wiedersehen."
.GSTR STR?219,"Ein braver Versuch."
.GSTR STR?220,"Das kann doch nicht dein Ernst sein."
.GSTR STR?221,"Das hie%se das Unm%ogliche m%oglich machen."
.GSTR STR?222,"Eine hochinteressante Idee..."
.GSTR STR?223,"Was f%ur ein Plan!"
.GSTR STR?224,"Pa%s auf."
.GSTR STR?225,"Dazu ist es zu sp%at."
.GSTR STR?226,"La%s dir die Augen checken."
.GSTR STR?227,"Na ja, du scheinst deine Z%ahne mit irgendwelchem Klebstoff geputzt zu haben. Die nat%urliche Folge davon ist ein zusammengeklebter Mund (mit der Nase), und du stirbst an Atemversagen."
.GSTR STR?228,"Mit gro%ser Anstrengung %offnest du das Fenster weit genug, um einzusteigen."
.GSTR STR?229,"The window closes (more easily than it opened)."
.GSTR STR?230,"Die T%ur %offnet sich m%uhsam, und bringt eine bauf%allige Treppe zum Vorschein, die nach unten in die Dunkelheit f%uhrt."
.GSTR STR?231,"The door swings shut and closes."
.GSTR STR?232,"Ein unsinnig vor sich hin murmelnder Troll ist hier."
.GSTR STR?233,"Ein bewu%stloser Troll liegt auf der Erde. All Durchg%ange aus dem Zimmer sind ge%offnet."
.GSTR STR?234,"Ein Troll ist hier."
.GSTR STR?235,"Die Bl%atter stehen in Flammen, und du mit."
.GSTR STR?236,"Das Gitter ist geschlo%sen."
.GSTR STR?237,"Das Gitter ist zu %offnen."
.GSTR STR?238,"Das Gitter %offnet sich und bringt B%aume %uber dir zum Vorschein."
.GSTR STR?239,"Als das Messer sich seinem Opfer n%ahert, wird dein Gehirn von einem Willen %uberw%altigt, den du nicht meisterst. Langsam dreht sich deine Hand bis die rostige Schneide 2 cm von deinem Hals entfernt ist. Das Messer scheint zu singen, als es auf brutalste Weise deinen Hals durchschneidet."
.GSTR STR?240,"Wie tragisch! Der Sprung, den du gerade gewagt hast, hat dich umgebracht."
.GSTR STR?241,"Du wirst von dem steigenden Flu%s in die H%ohe gehoben! Du versuchst, zu schwimmen, aber die Str%omung ist zu stark. Du ger%atst n%aher und n%aher an die %uberw%altigende Masse des Hochwasserschutzdammes #3. Der Damm winkt dir zu. Das Get%ose des Wassers macht dich fast taub, aber du bleibst bei Bewu%stsein, als du %uber den Damm st%urzt und deinem sicheren Tode zwischen den Steinen auf seinem Grund entgegen siehst."
.GSTR STR?242,"bis an deine Kn%ochel."
.GSTR STR?243,"bis an dein Kinn."
.GSTR STR?244,"bis an deine Knie."
.GSTR STR?245,"bis an deine H%uften."
.GSTR STR?246,"bis an deine Taille."
.GSTR STR?247,"bis an deine Brust."
.GSTR STR?248,"bis an deinen Hals."
.GSTR STR?249,"%uber deinen Kopf."
.GSTR STR?250,"hoch in deiner Lunge."
.GSTR STR?251,"Der Raum ist voll Wasser und kann nicht betreten werden."
.GSTR STR?252,"Leider hast du dich ertr%ankt."
.GSTR STR?253,"Das steigende Wasser tr%agt das Boot %uber den Damm, flu%sabw%arts und %uber die F%alle. Sowas Dummes."
.GSTR STR?254,"Der Zyklop, der deiner listigen Spielchen %uberdr%ussig ist, zerquetscht dich zwischen seinen Fingern. W%ahrend ihm das Wasser im Mund zusammenl%auft, sagt er: %>Das schmeckt wie bei Muttern. Mmmh.%<
Es ist angenehm, gesch%atzt zu werden."
.GSTR STR?255,"Der Zyklop scheint irgendwie ver%argert."
.GSTR STR?256,"Der Zyklop scheint immer %argerlicher zu werden."
.GSTR STR?257,"Der Zyklop wandert durch das Zimmer, als ob er nach etwas sucht."
.GSTR STR?258,"Der Zyklop hat nach Salz und Pfeffer gesucht. Es besteht kein Zweifel, da%s er sich seine bevorstehende Mahlzeit damit w%urzen will."
.GSTR STR?259,"Der Zyklop kommt dir auf eine sehr unangenehme Weise n%aher und n%aher."
.GSTR STR?260,"F%ur dich bestehen hier zwei M%oglichkeiten: 1. Abhauen. 2. Zur Mahlzeit werden."
.GSTR STR?261,"Da steht ein verd%achtig au%sehender Kerl, der eine T%ute h%alt, gegen die Wand gelehnt. Er ist mit einem Stilett bewaffnet."
.GSTR STR?262,"Da liegt ein verd%achtig au%sehender Kerl bewu%stlos auf der Erde."
.GSTR STR?263,"Die Stimme des Kerkermeisters dr%ohnt aus dem Dunkel: %>Deine Nichtachtung wird dir dein Leben kosten%<, und er steckt deinen Kopf auf einen spitzen Stock."
.GSTR STR?264,"Eine donnernde Stimme sagt: %>Falsch gedacht, Schwachkopf!%<, und du bemerkst, da%s du dich in eine Staubma%se verwandelt hast. Wie, kann ich mir einfach nicht vorstellen."
.GSTR STR?265,"Heir ist eine wertlose Leinwand."
.GSTR STR?266,"The lamp appears a bit dimmer."
.GSTR STR?267,"The lamp is definitely dimmer now."
.GSTR STR?268,"The lamp is nearly out."
.GSTR STR?269,"The candles grow shorter."
.GSTR STR?270,"The candles are becoming quite short."
.GSTR STR?271,"The candles won't last long now."
.GSTR STR?272,"
** Bum, bum, bum **"
.GSTR STR?273,"Die Tragf%ahigkeit des Regenbogens l%a%st sehr zu w%unschen %ubrig, was dich schwebend in der Luft h%angen l%a%st. Du bist nur von Wasserdampf gest%utzt. Auf Wiedersehen."
.GSTR STR?274,"Du planschst f%ur eine Weile wild im Wasser rum, um dich gegen die Str%omung zu halten, dann ertrinkst du."
.GSTR STR?275,"Leider gew%ahrt das Zauberboot keinen Schutz gegen Steine und Felsbl%ocke, auf die man unten am Wasserfall trifft. Auch gegen diesen nicht."
.GSTR STR?276,"Ein weiteres armseliges Ausblasen, diesmal kommt es aus dir best%atigt dein Ertrinken."
.GSTR STR?277,"Mit anderen Worten, gegen die t%odlichen Str%omungen des Gletsch k%ampfen. Du h%alst dich eine Weile %uber Wasser, aber dann wirst du %uber einen Wasserfall in gef%ahrliche Felsen gezogen. Auuuuu!"
.GSTR STR?278,"Das Loch bricht zusammen, du erstickst."
.GSTR STR?279,"Du scheinst hier ein Loch zu graben."
.GSTR STR?280,"Das Loch wird immer tiefer, aber sonst nichts."
.GSTR STR?281,"Du bist auf allen Seiten von Sand umgeben."
.GSTR STR?282,"Das war wohl ein wenig zu weit unten."
.GSTR STR?283,"Na ja, diesmal hast du es endlich geschafft. Ist Selbstmord schmerzlos?"
.GSTR STR?284,"Es scheint, als ob der letzte Hieb dir den Rest gegeben hat. Es tut mir leid, aber du bist tot."
.GSTR STR?285," verpa%st "
.GSTR STR?286," um 2cm."
.GSTR STR?287,"Ein guter Hieb, aber er verpa%st "
.GSTR STR?288," um einen Kilometer."
.GSTR STR?289,"Du greifst an, aber "
.GSTR STR?290," springt leichtf%u%sig zur Seite."
.GSTR STR?291,"Kling! Klang! Bumm! "
.GSTR STR?292," pariert den Schlag."
.GSTR STR?293,"Ein schneller Schlag, aber "
.GSTR STR?294," ist auf der Hut."
.GSTR STR?295,"Ein guter Schlag, aber er ist zu langsam, "
.GSTR STR?296," weicht aus."
.GSTR STR?297," braust nieder, sendet "
.GSTR STR?298," ins Land der Tr%aume."
.GSTR STR?299," ist bewu%stlos geschlagen."
.GSTR STR?300,"Ein f%urchterlicher Waffenaustausch und "
.GSTR STR?301," ist k.o."
.GSTR STR?302,"Das Heft von "
.GSTR STR?303," haut "
.GSTR STR?304," um."
.GSTR STR?305," ist k.o. geschlagen."
.GSTR STR?306," bei%st ins Gras, als "
.GSTR STR?307," seinen Kopf abschl%agt."
.GSTR STR?308,"Der t%odliche Schlag trifft "
.GSTR STR?309," direkt ins Herz. Er stirbt."
.GSTR STR?310," erleidet einen t%odlichen Schlag und f%allt tot zur Erde."
.GSTR STR?311," ist am Arm verletzt. Blut beginnt herabzurinseln."
.GSTR STR?312," ritzt "
.GSTR STR?313," am Handgelenk, aber es ist nicht ernst."
.GSTR STR?314,"Dein Hieb sitzt, aber er war nur mit der flachen Seite von dem Schwert."
.GSTR STR?315,"Der Schlag trifft "
.GSTR STR?316," und hinterl%a%st eine leichte Wunde in seinem Arm."
.GSTR STR?317," bekommt eine tiefe Wunde in der Seite."
.GSTR STR?318,"Ein grausiger Schlag in den Schenkel! "
.GSTR STR?319," ist momentan wie festgenagelt, aber er kann weiterk%ampfen!"
.GSTR STR?320,"Schwupp! Dein Schlag f%allt! Dieser hat eine Arterie getroffen, das k%onnte gef%ahrlich sein!"
.GSTR STR?321,"Schwupp! Dein Schlag hat getroffen! Dies k%onnte gef%ahrlich sein."
.GSTR STR?322," hat es den Atem verschlagen, und er f%allt auf die Knie."
.GSTR STR?323," ist f%ur einen Moment verwirrt und kann nicht zur%uckschlagen."
.GSTR STR?324,"Die Macht deines Hiebes wirft "
.GSTR STR?325," zur%uck, er ist benommen."
.GSTR STR?326," ist verwirrt und kann nicht zur%uckschlagen."
.GSTR STR?327,"Die Geschwindigkeit deines Sto%ses schl%agt "
.GSTR STR?328," zur%uck."
.GSTR STR?329," wird "
.GSTR STR?330," aus der Hand geschlagen, damit ist er unbewaffnet."
.GSTR STR?331," ist durch ein kluges T%auschungsman%over entwaffnet."
.GSTR STR?332,"Der Zyklop schafft es nicht, aber die Nachwelle schmei%st dich beinahe um."
.GSTR STR?333,"Der Zyklop greift dich an, aber er rennt gegen die Wand."
.GSTR STR?334,"Der Zyklop sendet dich bewu%stlos zu Boden."
.GSTR STR?335,"Der Zyklop bricht dir mit einem ungeheuren Hieb das Genick."
.GSTR STR?336,"Ein schneller Schlag, aber er hat dich nur gestreift."
.GSTR STR?337,"Ein dich streifender Faustschlag von dem Zyklopen."
.GSTR STR?338,"Das Ungeheuer trifft dich mit seiner enormen Faust in der Brust und bricht dir einige Rippen."
.GSTR STR?339,"Der Zyklop nimmt dir mit einem schnellen Schlag beinahe den Atem."
.GSTR STR?340,"Der Zyklop landet einen Schlag, der dir den Atem momentan nimmt."
.GSTR STR?341,"Deiner Waffen nicht achtend wird der Zyklop dich gegen die Wand des Raumes."
.GSTR STR?342,"Der Zyklop nimmt pl%otzlich deine Waffe, bei%st hinein und schmei%st sie v%ar%achtlich auf die Erde."
.GSTR STR?343,"Das Ungeheuer ergreift dein Handgelenk, quetscht seine Finger darum, und du l%a%st vor Schmerz "
.GSTR STR?344," fallen."
.GSTR STR?345,"Der Zyklop scheint nicht entscheiden zu k%onnen, ob er sein Abendessen kochen oder backen soll."
.GSTR STR?346,"Der Zyklop, der h%ochst unsportlich ist, wird sein bewu%stloses Opfer los."
.GSTR STR?347,"Der Troll schwingt die Axt, aber er trifft nicht."
.GSTR STR?348,"Die Axt des Trolls geht haarscharf an deinem Ohr vorbei."
.GSTR STR?349,"Die Axt fegt vorbei, als du zur Seite springst."
.GSTR STR?350,"Die Axt schmettert so hart gegen den Stein, da%s Funken spr%uhen."
.GSTR STR?351,"Die flache Seite der Axt des Trolls trifft dich leicht am Kopf, und du wirst bewu%stlos."
.GSTR STR?352,"Der Troll schneidet elegant deinen Kopf ab."
.GSTR STR?353,"Die Axt des Trolls teilt dich in zwei gleiche Teile, von oben bis unten."
.GSTR STR?354,"Die Axt des Trolls haut dir den Kopf ab."
.GSTR STR?355,"Die Axt trifft dich direkt in die Seite. Au!"
.GSTR STR?356,"Die Fl%ache der Axt des Trolls entfernt die Haut an deinem Unterarm."
.GSTR STR?357,"Die Schw%unge des Trolls hauen dich beinahe um, w%ahrend du sie kaum rechtzeitig parieren kannst."
.GSTR STR?358,"Der Troll schwingt seine Axt, trifft deinen Arm als du ausweichst."
.GSTR STR?359,"Der Troll greift an, und seine Axt verletzt dich an deinem Schwertarm."
.GSTR STR?360,"Ein Axthiebt hinterl%a%st eine tiefe Wunde in deinem Bein."
.GSTR STR?361,"Die Axt des Trolls schwingt herunter, schl%agt dir die Schulter blutig."
.GSTR STR?362,"Der Troll trifft dich mit einem schnellen Schlag, und du bist momentan au%ser Gefecht gesetzt."
.GSTR STR?363,"Der Troll trifft, aber die Schneide wird von deiner R%ustung abgelenkt, trifft dich aber direkt in den Kopf."
.GSTR STR?364,"Du stolperst unter einem Hagel von Axtstreichen zur%uck."
.GSTR STR?365,"Der m%achtige Schlag des Trolls bringt dich auf die Kniee."
.GSTR STR?366,"Die Axt trifft dein Schwert, und haut dich um."
.GSTR STR?367,"Der Troll schwingt, du parierst, aber die Gewalt seines Streiches schl%agt dir "
.GSTR STR?368," aus der Hand."
.GSTR STR?369,"Die Axt schl%agt dir die Waffe aus der Hand. Sie f%allt zu Boden."
.GSTR STR?370,"Der Troll z%ogert, betastet seine Axt."
.GSTR STR?371,"Der Troll kratzt sich nachdenklich am Kopf. Ob du wohl magische Kr%afte hast, wundert er sich?"
.GSTR STR?372,"Der Troll meistert seine Furcht und t%otet dich."
.GSTR STR?373,"Der Dieb sticht elegant mit dem Stilett und trifft nicht."
.GSTR STR?374,"Du vermeidest das Stilett, als der Dieb tief sticht."
.GSTR STR?375,"Du parierst einen blitzartigen Sto%s, und der Dieb bedient dich mit einem grimmigen Kopfnicken."
.GSTR STR?376,"Der Dieb versucht, deine Abwehrstellung heimt%uckisch zu durchbrechen, aber du windest dich aus seiner Richtung."
.GSTR STR?377,"Indem er die Richtung seines Sto%ses %andert, trifft dich der Dieb mit dem Heft des Stiletts, du wirst bewu%stlos."
.GSTR STR?378,"Der Dieb haut dich k.o."
.GSTR STR?379,"Dein Leben endet, als der Dieb die Schneide in dein Herz senkt."
.GSTR STR?380,"Der Dieb kommt von der Seite, macht ein T%auschungsman%over und setzt die Schneide zwischen deine Rippen."
.GSTR STR?381,"Der Dieb verbeugt sich formell, hebt das Stilett und mit einem h%a%slichen Grinsen beendet er den Kampf und dein Leben."
.GSTR STR?382,"Ein schneller Hieb streift deinen linken Arm, und Blut rinnt deinen Arm herunter."
.GSTR STR?383,"Blut beginnt zu flie%sen, als der Dieb sein Stilett %uber deinen Arm recht."
.GSTR STR?384,"Das Stilett zuckt schneller, als Du denken kannst, und Blut flie%st von deinem Bein."
.GSTR STR?385,"Der Dieb kommt langsam n%aher, schl%agt zu wie eine Schlange und l%a%st dich verwundet liegen."
.GSTR STR?386,"Der Dieb schl%agt zu wie eine Schlange! Die empfangene Wunde ist ernst!"
.GSTR STR?387,"Der Dieb versetzt dir einen tiefen Stich in den Oberarm."
.GSTR STR?388,"Das Stilett ber%uhrt deine Stirn, und das herabrinnende Blut macht dich blind."
.GSTR STR?389,"Der Dieb trifft dich am Handgelenk und pl%otzlich wird dein Schwertgriff schl%upfrig von dem Blut."
.GSTR STR?390,"Der Griff von seinem Stilett kracht auf deinen Sch%adel, und du wankst zur%uck."
.GSTR STR?391,"Der Dieb rammt das Heft seines Messers in deinen Bauch und du verlierst den Atem."
.GSTR STR?392,"Der Dieb greift dich an, und du f%allst verzweifelt zur%uck."
.GSTR STR?393,"Ein langer theatralischer Stich. Du parierst ihn auf "
.GSTR STR?394,", aber der Dieb dreht sein Messer, und "
.GSTR STR?395," fliegt dir aus der Hand."
.GSTR STR?396,"Der Dieb dreht dir "
.GSTR STR?397," elegant aus der Hand, und es f%allt auf die Erde."
.GSTR STR?398,"Du parierst einen Tiefschlag und "
.GSTR STR?399," schl%upft dir aus der Hand."
.GSTR STR?400,"Der Dieb, ein Mann aus guter Gesellschaft, stoppt f%ur eine Minute, um zu %uberlegen, ob es in Ordnung ist, dein Leben zu beenden."
.GSTR STR?401,"Es am%usiert den Dieb, deine Taschen zu durchsuchen."
.GSTR STR?402,"Der Dieb besch%aftigt sich damit, deinen Rucksack zu durchw%uhlen."
.GSTR STR?403,"F%ur einen Moment vergi%st der Dieb seine gute Kinderstube, er schneidet dir den Hals ab."
.GSTR STR?404,"Der Dieb, ein Pragmatiker, sieht in dir eine Bedrohung seines Lebens."
.GSTR STR?405,"M%unzen"
.GSTR STR?406,"Juwelen"
.GSTR STR?407," RETURN = see hint"
.GSTR STR?408,"Q = main menu"
.GSTR STR?409,"INVISICLUES (tm)"
.GSTR STR?410,"RETURN = see new hint"
.GSTR STR?411,"Q = see hint menu"
.GSTR STR?412,"Wo finde ich ein Buschmesser?"
.GSTR STR?413,"...Es gibt keines. Dieses Spiel muss doch IRGENDWO seine Grenzen haben.Du kannst doch nicht ploetzlich erwarten, dass du zum naechsten Flugplatz gehst, um von dort nach London zu fliegen, um das Britische Museum zu besuchen."
.GSTR STR?414,"Wie ueberquere ich die Berge?"
.GSTR STR?415,"Spiele ZORK II."
.GSTR STR?416,"Wie bringe ich den Singvogel um?"
.GSTR STR?417,"Was fuer eine Schnapsidee? Du brauchst einen Psychater."
.GSTR STR?418,"Wofuer ist das Nest sonst gut?"
.GSTR STR?419,"In China koennte man Vogelnestersuppe daraus machen."
.GSTR STR?420,"Wir sind nicht in China."
.GSTR STR?421,"In anderen Worten: Nein."
.GSTR STR?422,"Wie mache ich das Ei heil auf?"
.GSTR STR?423,"You don't."
.GSTR STR?424,"Hast du versucht zu sagen: EI %OFFNE."
.GSTR STR?425,"Es gehoert grosse Fingerferigkeit dazu und die richtigen Werkzeuge."
.GSTR STR?426,"Ein anderer Spieler kann es vielleicht."
.GSTR STR?427,"Nur der Dieb kann das Ei oeffnen. Gibt es ihm,oder lass es unteriridisch sein, wo er es finden kann."
.GSTR STR?428,"Kanarienvogel braucht Hilfe?"
.GSTR STR?429,"Er ist nicht mehr reparierbar."
.GSTR STR?430,"Keiner kann ihn reparieren. Sicher!"
.GSTR STR?431,"Wozu sind Blaetter denn gut?"
.GSTR STR?432,"Die sind gut, um Gitter zu verbergen."
.GSTR STR?433,"Man kann sie nehmen, zaehlen, oder verbrennen."
.GSTR STR?434,"Ich habe mich im Wald verlaufen."
.GSTR STR?435,"Es gibt nur vier verschiedene Orte, die ""Wald"" heissen. Aber die Verbindungen sind gewoehnlich nicht gerade Wege. Um die Konfusion zu vergroesseren, gibt es zwei Oertlichkeiten, die ""Lichtung"" heissen. "
.GSTR STR?436,"Wie oeffne ich das Gitter?"
.GSTR STR?437,"Du musst es aufschliessen."
.GSTR STR?438,"Du brauchst den Schluessel beim Skelett."
.GSTR STR?439,"Es kann nur von unten aufgeschlossen werden."
.GSTR STR?440,"Das Gitter und der Schluessel koennen im Irrgarten gefunden werden."
.GSTR STR?441,"Wie komme ich von dem Hausdach?"
.GSTR STR?442,"Wie bist du denn raufgekommen."
.GSTR STR?443,"Einer von Infocom wuerde gerne wissen, wie du das geschafft hast."
.GSTR STR?444,"Das ist wirklich eine Falle. Verwende weder das Nichtvorhandensein oder das Vorhandenseins eines Themas als Indikator fuer das,was wichtig ist."
.GSTR STR?445,"Wozu ist der Kanarienvogel gut?"
.GSTR STR?446,"Er muss natuerlich unversehrt sein."
.GSTR STR?447,"Irgendwer ist von seinem Singen bezaubert."
.GSTR STR?448,"Es ist auch ein Wertstueck."
.GSTR STR?449,"Versuche ihn im Wald aufzuziehen."
.GSTR STR?450,"Wo ist das Flitterzeug? "
.GSTR STR?451,"Du musst erst mal das Ei oeffnen."
.GSTR STR?452,"Schau die vorige Frage an."
.GSTR STR?453,"Wie oeffne ich die Haustuer?"
.GSTR STR?454,"Man kann sie nicht eintreten"
.GSTR STR?455,"Man kann sie nicht nicht zerstoeren."
.GSTR STR?456,"Man kann sie nicht oeffnen."
.GSTR STR?457,"Wie komme ich ins Haus?"
.GSTR STR?458,"Hast du alle Seiten ausgechecked?"
.GSTR STR?459,"Da ist eine Fenster hinten, das ein bisschen offen steht."
.GSTR STR?460,"Mach's auf und klettere hinein."
.GSTR STR?461,"Kann ich das Brot essen?"
.GSTR STR?462,"Versuch's."
.GSTR STR?463,"Versuch auch das Wasser."
.GSTR STR?464,"In ZORK I darfst du vor nichts Angst haben (aber es ist sinnvoll, deinen Spielstand erst zu SICHERN)."
.GSTR STR?465,"Wie komme ich in den Kerker?"
.GSTR STR?466,"Der Eingang ist im Haus."
.GSTR STR?467,"Falltueren koennen versteckt sein."
.GSTR STR?468,"Zieh den Teppich weg."
.GSTR STR?469,"Was ist ein Greul?"
.GSTR STR?470,"Tippe, WAS IST EIN GREUL"
.GSTR STR?471,"Ueber der Erde"
.GSTR STR?472,"Geht die Falltuer von unten auf?"
.GSTR STR?473,"Nein. Der einzige Weg, den es gibt die Falltuer daran zu hindern hinter dir zuzufallen, ist einen anderen Ausweg zu finden (nicht den Kamin, der sehr limitiert ist)."
.GSTR STR?474,"Geht es die Kellerrampe rauf?"
.GSTR STR?475,"Die Rampe ist zu schluepfrig zum Klettern."
.GSTR STR?476,"Kann man was gegen die Schluepfrigkeit tun?"
.GSTR STR?477,"Nein, die Rampe kommst du nie rauf."
.GSTR STR?478,"Wie verhandle ich mit dem Troll?"
.GSTR STR?479,"Trolle unterhalten sich gewoehnlich nicht gern. Man muss sie meist mit direkten Methoden angehen."
.GSTR STR?480,"So lange er bei Bewusstsein ist, kannst du nicht an ihm vorbei."
.GSTR STR?481,"Bring ihn mit dem Schwert um."
.GSTR STR?482,"Was mache ich mit der Axt?"
.GSTR STR?483,"Man kann es als Waffe benutzen, aber es ist eigentlich zu nichts gut."
.GSTR STR?484,"Dieser Platz ist absichtlich leer."
.GSTR STR?485,"Warum sind hier Farbkleckse?"
.GSTR STR?486,"Der Kuenstler war ein Ferkel."
.GSTR STR?487,"Der Keller"
.GSTR STR?488,"Wie geht's durch den Irrgarten?"
.GSTR STR?489,"Es ist notwendig eine Karte von dem Irrgarten zu zeichnen."
.GSTR STR?490,"Alle zehn Richtungen werden benutzt: N, S, O, W, NO, NW, SO, SW, RAUF, RUNTER."
.GSTR STR?491,"Einige Durchgaenge fuehren zu demselben Zimmer zurueck."
.GSTR STR?492,"Zimmer koennen dadurch markiert werden, dass man Dinge fallen laesst. (Der Dieb aber kann ein Problem sein)."
.GSTR STR?493,"Es gibt 22 Zimmer westlich von dem Trollzimmer."
.GSTR STR?494,"Wie durch den Irrgarten?"
.GSTR STR?495,"Von dem Trollzimmer zu dem Gitterzimmer:"
.GSTR STR?496,"W. W. W. RAUF. SW. RAUF. RUNTER. NO"
.GSTR STR?497,"Von dem Gitterzimmer zu dem Trollzimmer:"
.GSTR STR?498,"SW. RUNTER. O. N. RUNTER. N. N. N. O"
.GSTR STR?499,"Von dem Trollzimmer zu dem Zyklopenzimmer:"
.GSTR STR?500,"W. W. W. U. SW. E. S. SE."
.GSTR STR?501,"Von dem Zyklopenzimmer zu dem Trollzimmer:"
.GSTR STR?502,"NW. S. W. RUNTER. N. N. N. O"
.GSTR STR?503,"Von dem Gitterzimmer zu dem Zyklopenzimmer:"
.GSTR STR?504,"SW. RUNTER. O. N. O. S. SO"
.GSTR STR?505,"Von dem Zyklopenzimmer zu dem Gitterzimmer:"
.GSTR STR?506,"NW. S. W. RAUF. RUNTER. NO"
.GSTR STR?507,"Wozu ist das rostige Messer?"
.GSTR STR?508,"Wenn du dein Schwert gehabt haettest, als du es genommen hast, haette das flackernde blendende Licht als Warnung gedient."
.GSTR STR?509,"Versuche das Messer zu werfen oder jemanden damit anzugreifen."
.GSTR STR?510,"Wozu ist ein Skelett gut?"
.GSTR STR?511,"Lasse den Toten ihren Frieden."
.GSTR STR?512,"Dieser Platz ist absichtlich frei gelassen worden."
.GSTR STR?513,"Brauch ich die kaputte Leuchte?"
.GSTR STR?514,"Wenn du denkst, dass sie nuetzlich ist, da gibt es die Bruecke, die dich vielleicht interessiert."
.GSTR STR?515,"Wie komm ich am Zyklop vorbei?"
.GSTR STR?516,"Kaempfen ist nicht immer die Antwort."
.GSTR STR?517,"Es gibt zwei Loesungen."
.GSTR STR?518,"Erst die erste Loesung:"
.GSTR STR?519,"Was passiert, wenn du herumhaengst oder dem Zyklop etwas gibst?"
.GSTR STR?520,"Er ist hungrig, nicht wahr?"
.GSTR STR?521,"Gib ihm das Brot und das Wasser."
.GSTR STR?522,"Der Irrgarten"
.GSTR STR?523,"Wie bekomme ich das Platin?"
.GSTR STR?524,"Da gibt es eigentlich zwei Loesungen."
.GSTR STR?525,"Was macht das laute Tosen?"
.GSTR STR?526,"Gibt es eine Moeglichkeit den Fluss des Wassers zu kontrollieren?"
.GSTR STR?527,"Loese das Raetsel des Dammes."
.GSTR STR?528,"Hat das Oeffnen oder Schliessen der Schleusentore irgendwelchen Einfluss auf den Unterlauf des Flusses."
.GSTR STR?529,"Oeffne die Schleusentore."
.GSTR STR?530,"Warte bis das Reservoir leer ist, dann schliesse die Tore."
.GSTR STR?531,"Benutze die Ruhe im lauten Zimmer, waehrend sich das Reservoir anfuellt."
.GSTR STR?532,"Hier ist die zweite Loesung."
.GSTR STR?533,"Die Loesung, die das laute Zimmer betrifft, benoetigt keine Objekte aus dem Spiel oder auch irgendwelche Auskunft ueber das uebrige Spiel."
.GSTR STR?534,"Die Loesung hat etwas mit der Akustik in diesem Raum zu tun."
.GSTR STR?535,"Was passiert, wenn du etwas... etwas...etwas tippst?"
.GSTR STR?536,"Tippe ECHO."
.GSTR STR?537,"Wie bring ich den Rock um?"
.GSTR STR?538,"Wie dumm!"
.GSTR STR?539,"Der Ausdruck ""lebender Rock"" ist metaphorisch und sollte nicht woertlich genommen werden."
.GSTR STR?540,"Was Besonderes am Spiegel?"
.GSTR STR?541,"Ihn zerschlagen ist nicht die beste Idee."
.GSTR STR?542,"Hineingucken kann Spass machen."
.GSTR STR?543,"Hast du jemals versucht ihn zu beruehren oder ihn zu reiben?"
.GSTR STR?544,"Es gibt zwei Spiegelzimmer."
.GSTR STR?545,"Wenn man einen davon in einem Zimmer anruehrt, wird man automatisch ins andere Zimmer versetzt."
.GSTR STR?546,"Wie komme ich in den Hades?"
.GSTR STR?547,"Du musst die boesen Geister austreiben."
.GSTR STR?548,"Hier ein Tip: schlage die Seite im schwarzen Buch um."
.GSTR STR?549,"Man benoetigt die Glocke, das Buch und Kerzen."
.GSTR STR?550,"Laeute die Glocke, stecke die Kerzen an und lies das schwarze Buch."
.GSTR STR?551,"Die Reihenfolge in dieser feierlichen Handlung ist sehr wichtig."
.GSTR STR?552,"Auch musst du die Kerzen in der Hand halten, wenn du sie ansteckst."
.GSTR STR?553,"Geschwindigkeit ist in diesem Fall auch wichtig,--verschwende auch nicht mehr Zeit, als unbedingt zwischen den Handlungen notwendig ist."
.GSTR STR?554,"Geht es runter vom Domzimmer?"
.GSTR STR?555,"Ja."
.GSTR STR?556,"Du musst frueher mal das notwendige Hilfsmittel gesehen haben."
.GSTR STR?557,"Man findet es im Speicher."
.GSTR STR?558,"Binde das Seil ans Gelaender."
.GSTR STR?559,"Geht es rauf vom Fackelzimmer?"
.GSTR STR?560,"Nein."
.GSTR STR?561,"Wie geht's weg vom Tempel?"
.GSTR STR?562,"Du wirst das Seil nie erreichen."
.GSTR STR?563,"Du kannst vom Altarende aus nach unten gehen, aber du brauchst Gottes Hilfe um den Sarg durch das Loch nach unten zu bekommen."
.GSTR STR?564,"Der Altar hat magische Kraefte."
.GSTR STR?565,"Was tut man gewoehnlich vor einem Altar?"
.GSTR STR?566,"Versuch's doch mal mit Beten."
.GSTR STR?567,"Die Rundzimmergegend"
.GSTR STR?568,"Wie sprenge ich den Damm?"
.GSTR STR?569,"Was fuer eine Idee!"
.GSTR STR?570,"Hier ist absichtlich Platz frei gelassen."
.GSTR STR?571,"Wie funktioniert die Kontrolltafel?"
.GSTR STR?572,"Du kannst die Schraube drehen."
.GSTR STR?573,"Du brauchst einen Schraubenschluessel."
.GSTR STR?574,"Du musst die Schalttafel aktivieren. (Gruene Blase leuchtet auf.)"
.GSTR STR?575,"Fuer was ist die gruene Blase?"
.GSTR STR?576,"Sie zeigt an, dass die Schalttafel aktiviert ist."
.GSTR STR?577,"Benutze die Knoepfe in dem Wartungsraum ."
.GSTR STR?578,"Was tue ich mit der Tube?"
.GSTR STR?579,"Lies die Tube."
.GSTR STR?580,"Die Zaehne damit putzen macht wirklich keinen Sinn."
.GSTR STR?581,"Zum Oelen der Schraube ist es auch nicht gedacht."
.GSTR STR?582,"Schwarze Schmiere wie diese, ist gut zum Reparieren von Lecks in Wasserroehren und Booten."
.GSTR STR?583,"Wozu ist der Schraubenzieher?"
.GSTR STR?584,"Wenn es an der Zeit ist, wirst du es wissen."
.GSTR STR?585,"Wozu Wartungsraumknoepfe?"
.GSTR STR?586,"Probier sie alle doch mal. Das sollte dir helfen das rauszufinden."
.GSTR STR?587,"Der blaue Knopf kann eine Wasserroehre platzen lassen."
.GSTR STR?588,"Der rote Knopf schaltet die Lichter ein und aus."
.GSTR STR?589,"Der gelbe Knopf aktiviert die Kontrolltafel am Damm(die gruene Blase leuchtet jetzt auf.)"
.GSTR STR?590,"Die braune Blase legt die Kontrolltafel lahm."
.GSTR STR?591,"Kann ich das Leck dichten?"
.GSTR STR?592,"Ja, aber nicht mit deinem Finger."
.GSTR STR?593,"Gibt es nicht irendwelche Schmiere, die man benutzen kann?"
.GSTR STR?594,"Benutze die Schmiere in der Tube."
.GSTR STR?595,"Wozu ist der Haufen Plastik?"
.GSTR STR?596,"Wofuer ist das Ventil?"
.GSTR STR?597,"Hast du mal versucht hineinzublasen?"
.GSTR STR?598,"Du brauchst die Luftpumpe, die noerdlich vom Reservoir ist."
.GSTR STR?599,"Loese das verDAMMte Problem, oder werd endlich aus dem Spiegel schlau."
.GSTR STR?600,"Die Dammgegend"
.GSTR STR?601,"Kann man ueber den Fluss?"
.GSTR STR?602,"Nicht ohne Boot."
.GSTR STR?603,"Was besaenftigt den Flussgott?"
.GSTR STR?604,"Was hast du versucht, in den Fluss zu werfen?"
.GSTR STR?605,"Es gibt keinen Flussgott. Was jemals reingeworfen wird, ist fuer immer verloren."
.GSTR STR?606,"Kann ich zurueck ueber den Fluss?"
.GSTR STR?607,"Wenn du vom sandigen Strand abstoesst, kannst du den Fluss westlich von den Weissen Klippen Sued ueberqueren."
.GSTR STR?608,"Es ist auch moeglich den Regenbogen zu ueberqueren."
.GSTR STR?609,"Wie funktioniert das Boot?"
.GSTR STR?610,"Lese die Anweisungen."
.GSTR STR?611,"Du kannst sagen: STEIG INS, STEIG AUS, STOSSEN AB, und LANDEN (oder eine Richtung gegen einen Landeplatz angeben.). Du kannst dich auch von der Stroemung tragen lassen."
.GSTR STR?612,"Ich habe eine Bootpanne!"
.GSTR STR?613,"Spitze Gegenstaende koennen ein Plastikboot kaputt machen. Man sollte sie nicht an Bord nehmen. Man sollte sie in das Boot tun, bevor man einsteigt, oder man solllte sie vorher in einem Behaelter haben, wie zum Beispiel dem braunen Sack."
.GSTR STR?614,"Wie komme ich ueber die Faelle?"
.GSTR STR?615,"Bleib im Boot und warte."
.GSTR STR?616,"Na ja, was hast du erwartet?"
.GSTR STR?617,"Ich sehe hier keinerlei Intelligenz."
.GSTR STR?618,"Hat der Regenbogen Bedeutung?"
.GSTR STR?619,"Du kannst ihn ueberqueren und den goldenen Topf bekommen."
.GSTR STR?620,"Du schlaegst nicht dreimal die Hacken zusammen, waehrend du ausrufst:""Heimat, suesse Heimat."""
.GSTR STR?621,"Die Beschreibung von einem der Schaetze, und das Resultat der richtigen Benutzung davon, sollten versteckte Tips sein."
.GSTR STR?622,"Erhebe das Zepter oder winke damit, waehrend du am Ende des Regenbogen stehst."
.GSTR STR?623,"Kann ich durch die Grottenritze?"
.GSTR STR?624,"""Die ist zu eng fuer die meisten Insekten."""
.GSTR STR?625,"Das geht nicht."
.GSTR STR?626,"Wie werde ich ein Insekt?"
.GSTR STR?627,"Spinne einen Kokon."
.GSTR STR?628,"Eine laecherliche Aufgabe."
.GSTR STR?629,"Der Fluss"
.GSTR STR?630,"Was ist mit der Fledermaus?"
.GSTR STR?631,"Es ist eine Vampirfledermaus."
.GSTR STR?632,"Hast du je einen Greuelfilm gesehen?"
.GSTR STR?633,"Benutze den Knoblauch."
.GSTR STR?634,"Wie am Stinkzimmer vorbei?"
.GSTR STR?635,"Wenn die Batterie von deiner Leuchte kaputt ist, vergiss es."
.GSTR STR?636,"Die beste Kohlengrubenroute?"
.GSTR STR?637,"Vom Gaszimmer zur Spitze der Leiter:"
.GSTR STR?638,"O. NO. SO. SW. RUNTER"
.GSTR STR?639,"Von der Spitze der Leiter zum Gaszimmer:"
.GSTR STR?640,"RUNTER. N. O. S. N"
.GSTR STR?641,"Ist der Korb nuetzlich?"
.GSTR STR?642,"Alles in Zork ist nuetzlich."
.GSTR STR?643,"Wie durch den engen Durchgang?"
.GSTR STR?644,"""Du passt nicht durch diesen Durchgang mit der Last."""
.GSTR STR?645,"Hast du versucht,alles fallen zu lassen?"
.GSTR STR?646,"Eine Lichtquelle fuers zugige Zimmer?"
.GSTR STR?647,"Streichhoelzer."
.GSTR STR?648,"Na ja, keiner hat gesagt, dass die in einem Zug angehen. Du kannst keine Lichtquelle reintragen. Es gibt eine andere Moeglichkeit."
.GSTR STR?649,"Hast du dir mal ueberlegt wohin der Schacht mit dem Korb gefuehrt hat?"
.GSTR STR?650,"Dinge, wie z.B. Lichtquellen kann man in den Korb tun. Der Korb kann erhoeht und gesenkt werden."
.GSTR STR?651,"Wozu ist das Bauholz?"
.GSTR STR?652,"Es macht den Raum interessanter und verwirrt den Abenteurer."
.GSTR STR?653,"Wie funktioniert die Maschine?"
.GSTR STR?654,"Die Schalterbeschreibung sollte dich an etwas erinnern."
.GSTR STR?655,"Versuch mal was reinzutun und die Maschine mit dem Schraubenzieher anzustellen. Hast du einen Duden zur Hand?"
.GSTR STR?656,"Aus Kohle kann man einen Diamanten machen."
.GSTR STR?657,"Wozu ist die Kohle gut?"
.GSTR STR?658,"Es ist eine Quelle fuer Kohlenstoff."
.GSTR STR?659,"Einer der wertvollsten Steine ist aus Kohlenstoff gemacht."
.GSTR STR?660,"Diamanten sind aus reinem Kohlenstoff in einer Kristallform. Sie werden durch enorme Hitze und durch Druck erzeugt."
.GSTR STR?661,"Wozu ist das Gas gut?"
.GSTR STR?662,"Es hat eine tolle Wirkung, wenn man bornierteAbenteurer, die mit offenen Flammen in Kohlengruben rumlatschen, in die Luft blasen will."
.GSTR STR?663,"Die Kohlengrube Gegend."
.GSTR STR?664,"Wie ueberquere ich die Spalte?"
.GSTR STR?665,"Es gibt keine Bruecke."
.GSTR STR?666,"Wie baue ich eine Bruecke?"
.GSTR STR?667,"Eine interessante Idee..."
.GSTR STR?668,"Das Bauholz koennte nuetzlich sein."
.GSTR STR?669,"Aber, vielleicht auch nicht?."
.GSTR STR?670,"Ein akzeptabler Versuch, aber vielleicht bringt er dir nichts."
.GSTR STR?671,"Das Land hinter der Spalte."
.GSTR STR?672,"Warum leuchtet das Schwert auf?"
.GSTR STR?673,"Elfenschwerter haben Zauberkraft und leuchten blau auf, wenn in der Naehe Gefahren drohen (besonders gefaehrliche Personen)."
.GSTR STR?674,"Was mach ich mit dem Dieb?"
.GSTR STR?675,"Einschaetzung ist der bessere Teil von Heldenmut."
.GSTR STR?676,"Du kannst fast immer einer Gegenueberstellung ausweichen, indem du in die andere Richtung gehst. Obwohl du beraubt werden koenntest wirst du wenigstens nicht umgebracht."
.GSTR STR?677,"Wieviele Gesamtpunkte gibt's?"
.GSTR STR?678,"350 jedesmal, wenn du AUFH%OREN, NEUBEGINN ODER PUNKTZAHL sagst, das ist angegeben."
.GSTR STR?679,"Wie komm ich aus der Hoehle?"
.GSTR STR?680,"Es gibt da sechs Ausgaenge."
.GSTR STR?681,"Der Kamin erlaubt dir ausser deiner Lampe, jedesmal ein Objekt zu transportieren."
.GSTR STR?682,"Wahrscheinlich ist der einfachste Ausgang(rein von der Anlage her) durch das Gitter. Du triffst wahrscheinlich auf die anderen drei Ausgaenge, waehrend du einige der schwierigeren Probleme loest, aber es ist nicht notwendig, mehr als einen zu finden, um das Spiel zu beenden."
.GSTR STR?683,"Was bedeuten die Gravierungen?"
.GSTR STR?684,"Der superweise Kritiker I.Q. Rundkopf hat eine zehnbaendige Studie ueber die Gravierungen der Ur-Zorker geschrieben. Doch machen wir eine lange Geschichte kurz, er erfasste klar, dass die Zorkers sehr eigentuemliche Kaeuze waren."
.GSTR STR?685,"Wie bring ich den Dieb um?"
.GSTR STR?686,"Der Dieb ist gerissen und gefaehrlich als Gegner, beschlagen in den Kampfarten. Anfaenger Zorker tun sich am Besten, indem sie in vermeiden."
.GSTR STR?687,"Es besteht die Moeglichkeit ihn fuer einen Zug lang abzulenken, indem man ihm etwas Wertvolles gibt."
.GSTR STR?688,"Das gefaehrliche Messer ist eine unter Umstaenden wirksamere Waffe, die man gegen ihn benutzen koennte."
.GSTR STR?689,"Wie kann ich meine Leuchte aufladen?"
.GSTR STR?690,"Wie kommst du darauf?"
.GSTR STR?691,"Es ist immer am besten, seine Mittel zu schonen."
.GSTR STR?692,"Du kannst ihre Lebensdauer verlaengern, indem du sie ausschaltest, wenn immer du kannst und andere Lichtquellen benutzen."
.GSTR STR?693,"Was passiert, wenn du stirbst?"
.GSTR STR?694,"Du koenntest im Wald erscheinen von all deinem Besitz umgeben (Wervolles unterirdisch, Wertloses ueberirdisch.)"
.GSTR STR?695,"Du koenntest als Geist umhergeistern, bis du eine Form deiner Auferstehung gefunden hast."
.GSTR STR?696,"ZORK I hat die gleichen Regeln wie Schlagball. Drei Versuche, dann bist du aus dem Spiel."
.GSTR STR?697,"Du wirst zu einem Geist, wenn du an einem gewissen Ort angekommen bist, der vor dem eigentlichen Tod steht."
.GSTR STR?698,"Dieser Ort ist der Altar in dem Suedtempel."
.GSTR STR?699,"Versuche am Altar zu beten."
.GSTR STR?700,"Wer ist ""der andere Bewohner""?"
.GSTR STR?701,"/"
.GSTR STR?702,"Der Dieb, natuerlich."
.GSTR STR?703,"Wozu ist TAG, SEEMAN gut?"
.GSTR STR?704,"Willst du das wirklich wissen?"
.GSTR STR?705,"Bist du ganz sicher?"
.GSTR STR?706,"Um von dem schwarzen Buch zu zitieren: ""Oh Ihr, die Ihr zueinander sagt: %>Tag, Seeman%<. Seid Ihr Euch der Gr%o%se Eurer S%unden vor den G%ottern bewu%st? ... Wahrhaftig Ihr sollt b%ussen f%ur eure Schlauheit."""
.GSTR STR?707,"Nirgends. (Man hat dich gewarnt.)"
.GSTR STR?708,"Freie Fragen."
.GSTR STR?709,"Dinge scheinen hier oder nicht hier."
.GSTR STR?710,"Der Dieb ist dauernd irgendwo anders."
.GSTR STR?711,"Es ist sehr moeglich, dass er Wertvolles nimmt(ausser dem goldenen Sarg), den du gesehen hast. Es ist wesentlich weniger moeglich, das er etwas Nichtwertvolles nimmt (natuerlich nur, wenn du es gesehen hast), manchmal laesst er es auch spaeter fallen."
.GSTR STR?712,"Wo sind die gestohlenen Schaetze?"
.GSTR STR?713,"Waehrend der Dieb herumwandert, stielt er Dinge, die er in seinen Sack stopft. Wenn er in seinem Schatzzimmer ankommt, deponiert er die Werte, die er angesammelt hat."
.GSTR STR?714,"Das Schatzzimmer wird von dem Zyklop bewacht."
.GSTR STR?715,"Was mach ich mit dem Stilett?"
.GSTR STR?716,"Gratuliere! Das Stilett zu bekommen passiert selten. Wenn du es vor dem Dieb verbergen kannst, dann wird er dich nicht angreifen."
.GSTR STR?717,"Es ist ja nur eine Waffe, sonst nichts."
.GSTR STR?718,"Wer ist der duerre,hungrige Typ?"
.GSTR STR?719,"Der Dieb."
.GSTR STR?720,"Wo brauche ich die Schaufel?"
.GSTR STR?721,"Sie graebt nur in loser Erde."
.GSTR STR?722,"Probier sie im Sand."
.GSTR STR?723,"Der Sand in der sandigen Hoehle ist vielversprechend."
.GSTR STR?724,"Der beste Selbstbildniswiedergeber?"
.GSTR STR?725,"Von was sprichst du eigentlich?"
.GSTR STR?726,"Dieser Platz ist absichtlich offen gelassen."
.GSTR STR?727,"In den eigentuemlichen Durchgang?"
.GSTR STR?728,"Das ist nicht notwendig, um das Spiel zu beenden."
.GSTR STR?729,"Schau die andere Zyklopantwort an."
.GSTR STR?730,"Wie in das Steingrab?"
.GSTR STR?731,"Wenn die Zeit reif ist, weisst du es."
.GSTR STR?732,"Wenn du alle 350 Punkte erreicht hast, dann kannst du ins Steingrab eintreten."
.GSTR STR?733,"Wie man Punkte macht. (Bitte nur benutzen, wenn alles verloren scheint.)"
.GSTR STR?734,"Du bekommst 10 Punkte, wenn du ins Haus gelangst, 25 fuer den Keller, 5 als Bonus, wenn du am Troll vorbei kommst, 13 fuer den Eintritt in das zugige Zimmer,25 fuer das Erreichen des Schatzzimmers."
.GSTR STR?735,"Diese Punkete zusammen mit all den Schatzpunkten kommen auf 350. Wenn du all diese 350 Punkte hast, wird der zwanzigste Schatz im Trophaenschrank erscheinen-- eine Karte, die (indirekt) zu 400 weiteren Punkten (ZORK II) fuehrt."
.GSTR STR?736,"Schaetze: Ihre Werte, wo sie sind."
.GSTR STR?737,"(Nur benutzen, wenn alles verloren scheint.)"
.GSTR STR?738,"(Der Schatz wird aufgefuehrt, gefolgt von den Punkten, die man bekommt, wenn man ihn nimmt, die Punkte dafuer, dass man ihn in den Trophaeenkasten tut, dann der Platz, wo er gefunden wird.)"
.GSTR STR?739,"Juwelenbedecktes Ei - 5 - 5 - im Nest im Baum"
.GSTR STR?740,"Aufziebarer Kanarienvogel 6 - 4 - im Ei"
.GSTR STR?741,"Schoenes Gemaelde - 4 - 6 - Kunstgalerie"
.GSTR STR?742,"Platinbarren - 10 - 5 - im lauten Zimmer"
.GSTR STR?743,"Elfenbeinfackel - 14 - 6 - Fackelzimmer"
.GSTR STR?744,"Goldener Sarg - 10 - 15 - Aegyptisches Zimmer"
.GSTR STR?745,"Egyptian sceptre - 4 - 6 - in the coffin"
.GSTR STR?746,"Koffer mit Juwelen - 15 - 5 - Reservoir"
.GSTR STR?747,"Kristaldreizack - 4 - 11 - Atlantiszimmer"
.GSTR STR?748,"Jadefigure - 5 - 5 - Fledermauszimmer"
.GSTR STR?749,"Saphirarmbanch - 5 - 5 - Gaszimmer"
.GSTR STR?750,"Riesendiamant - 10 - 10 - du machst ihn"
.GSTR STR?751,"Sack mit Muenzen - 10 - 5 - im Irrgarten."
.GSTR STR?752,"Kristallschaedel - 10 - 10 - im Land der lebendigen Toten."
.GSTR STR?753,"juwelenbesetzer Skarabaeus - 5 - 5 - in der sandigen Hoehle vergraben"
.GSTR STR?754,"grosser Smaragd - 5 - 10 - in der Boje"
.GSTR STR?755,"Silberkelch - 10 - 5 - Schatzzimmer"
.GSTR STR?756,"Goldener Topf - 10 - 10 - am Ende des Regenbogens"
.GSTR STR?757,"Messingflitterkugel - 1 - 1 - der Singvogel hat sie"
.GSTR STR?758,"Zum Spass"
.GSTR STR?759,"(Lies nur, nachdem du das Spiel beendet hast.)"
.GSTR STR?760,"Hast du je:"
.GSTR STR?761,"...das Gitter geoeffnet, waehrend die Blaetter noch drauf lagen?"
.GSTR STR?762,"...ZORK I so richtig verflucht?"
.GSTR STR?763,"...mit dem Zepter gewinkt, als du auf dem Regenbogen gestanden hast?"
.GSTR STR?764,"...etwas Boeses mit den Leichen im Hades ausprobiert?"
.GSTR STR?765,"...das schwarze Buch verbrannt?"
.GSTR STR?766,"...das Gemaelde kaputt gemacht?"
.GSTR STR?767,"...die Kerzen mit der Fackel angezuendet?"
.GSTR STR?768,"...das Streichholzschaechtelchen gelesen?"
.GSTR STR?769,"...versucht dich selber(oder den Dieb, den Troll oder den Zyklop)zu verulken?"
.GSTR STR?770,"...versucht Dinge mit dem Messer oder dem Schwert zu zerschneiden?"
.GSTR STR?771,"...Wasser auf etwas Brennendes geschuettet?"
.GSTR STR?772,"...gesagt WARTE oder SPIELSTAND, als du tot warst (als ein Geist)?"
.GSTR STR?773,"Freie Fragen"
.GSTR STR?774," N = next"
.GSTR STR?775,"P = previous"
.GSTR STR?776," RETURN = See hint"
.GSTR STR?777,"Q = Resume story"
.GSTR STR?778,"Es gibt nur vier verschiedene Orte, die ""Wald"" heissen. Aber die Verbindungen sind gewoehnlich nicht gerade Wege. Um die Konfusion zu vergroesseren, gibt es zwei Oertlichkeiten, die ""Lichtung"" heissen. Von dem ""Waldpfad"" kann man nach Sueden zu dem ""Norden des Hauses"" gehen."
.GSTR STR?779,"""Der von der grossen Tuete."""
.ENDI

870
zstring.c Normal file
View File

@ -0,0 +1,870 @@
/* zstring.c String operations
1988 Zinn Computer Company, for Infocom
Contained in this file:
addfstr Add string to frequent-string table
zstr Translate ASCII to Z-string
zstrlen Return # of words in a Z-string
zword Translate ASCII to Zword-string
*/
#include <stdio.h>
#include <fcntl.h>
#include "zap.h"
/* Local definitions */
/* External routines */
extern char *CALLOC();
extern char *REALLOC();
extern char *MALLOC();
/* External data */
extern BOOL Permshift;
extern int Max_buf_len;
extern int character_count;
extern long character_counts[];
extern int build_freq;
extern char language_char;
extern unsigned char *language_table;
/* Local routines (and forward references) */
/* Local data */
/* Private data */
static int FreqC = 0; /* Number of frequent strings */
static UBYTE *Zstrbuf = NULL;
static int Zstrbuf_size = 0;
static struct freq_node { /* Frequent string table */
int fs_len; /* Length of string */
char *fs_strP; /* Ptr to string */
int fs_num;
struct freq_node *next;
} *Freqstr[256]; /* We assume this is initialized to 0 */
static struct { /* Character set codes */
UBYTE zc_set; /* Set number */
UBYTE zc_char; /* Character value */
} Zctbl[256]; /* Indexed by character */
/*
*//* addfstr( strP )
Add a string to the list of frequent strings
Accepts :
strP Address of the Z-string
Returns :
<value> status code
Notes :
No check is made to ensure that the string to be
added is not already in the frequent string list. We assume
that the compiler knew what it was doing; anyway, doing so would
probably throw the application's assumptions out of sync.
*/
int
addfstr( strP )
AREG1 char *strP; /* Addr of zstring */
{
DREG1 int len; /* Length of string */
AREG2 struct freq_node *new;
if (build_freq) return(SCOK);
if ( FreqC == MAXFREQSTR )
zerror( E_PASS1, "Too many frequent strings at \"%s\"", strP );
else {
new = (struct freq_node *)MALLOC(sizeof(struct freq_node));
new->next = Freqstr[(unsigned char)(*strP)];
Freqstr[(unsigned char)(*strP)] = new;
len = strlen( strP ); /* Number of bytes */
if ( ( new->fs_strP = CALLOC( 1, len+1 ) ) == NULL )
zerror( E_PASS1, "addfstr: can not allocate string space!" );
else {
strcpy( new->fs_strP, strP );
new->fs_len = len;
new->fs_num = FreqC;
++FreqC;
}
}
return( SCOK );
}
/*
*//* zstr( strP, freqF, reqlen )
Translate ASCII to Z-string
Accepts :
strP Address of the ASCII string
freqF Whether to use frequent-words in the translation
reqlen Number of bytes of required string length. If
non-zero, resulting Z string must contain exactly
this many bytes. It will be truncated if too long,
or padded if too short.
Returns :
<value> The address of the translated string
Notes :
The returned value is a pointer to a static reusable buffer.
*/
UBYTE *translate_char(strP, chrp)
UBYTE *strP;
UBYTE *chrp;
{
UBYTE *tbl = language_table;
UBYTE tch, ch;
ch = strP[1];
if (ch != NUL) {
/* Ignore escape at end of string */
strP++;
if (ch != language_char) {
/* %% turns into % */
while (tch = *tbl++) {
if (tch == ch) {
*chrp = *tbl;
break; }
tbl++; } } }
return(strP); }
UBYTE *
zstr( strP, freqF, reqlen )
AREG1 UBYTE *strP; /* Ptr to input string */
int freqF; /* Whether to use frequent words */
int reqlen; /* Required length, if any */
{
UBYTE ch; /* Character */
UBYTE curcset; /* Currently selected cs */
UBYTE ccode; /* Character code */
UBYTE cset; /* Character set */
AREG2 struct freq_node *fnode; /* Frequent string node */
char *fsP; /* Frequent string ptr */
int fsL; /* Frequent string length */
int matchX; /* Match index */
int matchL; /* Match length */
if (Zstrbuf_size < Max_buf_len) {
Zstrbuf_size = Max_buf_len;
Zstrbuf = (UBYTE *)REALLOC(Zstrbuf,Max_buf_len);
}
startzstr( &Zstrbuf[0], reqlen );
if (freqF && build_freq) {
/* If freqF is not set, it's for a vocabulary word, which doesn't
get included in the frequent words stuff. */
fw_string(strP); }
else {
curcset = 0;
for( ; ( ch = *strP ) != NUL; ++strP ) {
/* Check for frequent word encoding */
if (ch == language_char) {
strP = translate_char(strP, &ch); }
if ( freqF ) {
/* Look through the frequent strings */
matchL = 0; /* No match */
for( fnode = Freqstr[(unsigned char)ch]; fnode != NULL;
fnode = fnode->next ) {
fsP = fnode->fs_strP;
if ( ch == *fsP ) {
fsL = fnode->fs_len;
if ( strncmp( strP, fsP, fsL ) == 0 )
if ( fsL > matchL ) { /* Bigger than last match? */
matchL = fsL; /* Remember match length */
matchX = fnode->fs_num; /* Remember match num */
}
}
}
/* If we had a match, use it... */
if ( matchL > 0 ) {
addzchar( ( matchX/32 ) +1 ); /* String set */
addzchar( matchX % 32 ); /* String number in set */
strP += matchL-1; /* Skip the string */
continue; /* Go process next guy */
}
}
if (character_count)
character_counts[ch]++; /* Maintain count of characters encoded */
/* Encode the character into 5-bit charset */
if ( ch == ' ' )
addzchar( '\0' ); /* Space is always zero */
else if ( ( ccode = Zctbl[ch].zc_char ) == 0 ) {
/* Doesn't map -- use full ASCII sequence */
if ( curcset == 1 ) {
addzchar( '\005' ); /* Shift to set 0 */
curcset = 0;
}
if ( curcset == 0 )
addzchar( '\005' ); /* Temp shift to set 2 */
addzchar( '\006' ); /* Shift to ASCII */
addzchar( ( ch >> 5 ) & 0x1f );
addzchar( ch & 0x1f );
}
else {
cset = Zctbl[ch].zc_set;
/* If need to switch character set, make sure we are in set
zero -- it's the only way we can get to the others. */
if ( ( cset != curcset ) && ( curcset != 0 ) ) {
addzchar( '\004' + (2-curcset) );
curcset = 0;
}
/* See if we still need to change sets */
if ( cset != curcset ) {
/* Note that if we get in here, curcset==0 */
/* Start with temporary shift */
addzchar( '\003' + cset );
/* Make a guess as to whether we should make it permanent */
if ( Permshift && ( ( ch = strP[1] ) != NUL ) &&
( Zctbl[ch].zc_char != 0 ) &&
( Zctbl[ch].zc_set == cset ) ) {
addzchar( '\003' + cset );
curcset = cset;
}
}
/* Put out the character (phew) */
addzchar( ccode );
}
}
endzstr(); /* Finish zstring */ }
return( &Zstrbuf[0] );
}
/*
*//* zstrlen( strP )
Count words in a Zstring
Accepts :
strP Pointer to string in Z{word} format
Returns :
<value> Number of words in the string
*/
int
zstrlen( strP )
AREG1 UBYTE *strP; /* Ptr to string */
{
DREG1 int len; /* Length of string */
for( len = 1; ( *strP & 0x80 ) == 0; ++len, strP += 2 )
;
return( len );
}
/*
*//* zcset( csP )
Identify a character set
Accepts :
csP Pointer to the new character set; an array of 78
characters that make up values 6-31 in each of
the 5-bit encoded character subranges.
Returns :
*/
zcset( csP )
AREG1 UBYTE *csP; /* New character set */
{
DREG1 int i; /* Scratch */
DREG2 int ch; /* Char val */
/* Clear out current character set */
for( i = 0; i < 256; ++i )
Zctbl[i].zc_char = 0; /* Clear it */
/* Process the new set */
for( i = 0; i < 78; ++i ) {
ch = *csP++;
if ( ch != 0 ) { /* Zero means not used */
Zctbl[ch].zc_set = i/26; /* Charset # */
Zctbl[ch].zc_char = (i%26) +6; /* Encoding value */
}
}
}
/*
*//* startzstr, addzchar, endzstr - 5bit string stuff
These routine help construct 5-bit-byte strings
*/
static UBYTE *ZstrP; /* String being made */
static UWORD Zword; /* Element of string */
static int ZwordC; /* Byte count */
static int ZwordX; /* Zword index */
static int Zwordrlen; /* Required length, if any */
/* Start making a string */
startzstr( strP, reqlen )
UBYTE *strP; /* Where to put the string */
int reqlen; /* Required length, if any */
{
ZstrP = strP; /* Remember the ptr */
Zwordrlen = reqlen; /* Required length */
Zword = ZwordC = ZwordX = 0;
}
/* Add a 5-bit byte to a string */
addzchar( ch )
UBYTE ch; /* byte value to add */
{
/* Proceed only if within the required length */
if ( ( Zwordrlen == 0 ) || ( ZwordC < Zwordrlen ) ) {
if ( ZwordX == 3 ) { /* Last word full ? */
*ZstrP++ = (Zword>>8) & 0xff;
*ZstrP++ = Zword & 0xff;
Zword = ZwordX = 0;
}
/* Add in new byte */
if (ZwordC * 2 / 3 >= Max_buf_len) {
my_fprintf(stderr,"Error in addzchar from zstring.c: zstring too long.\n");
my_exit(1);
}
Zword = ( Zword << 5 ) | ch;
++ZwordX;
++ZwordC;
}
}
/* End the Z-string */
endzstr()
{
/* Take care of any minimum length requirement first by adding pad bytes */
if ( Zwordrlen != 0 ) {
while( ZwordC < Zwordrlen )
addzchar( '\005' );
}
/* Finish off the last word by adding pad (5) chars. */
while( ZwordX++ != 3 )
Zword = ( Zword << 5 ) | '\005';
/* Set the high bit to mean last word of string */
Zword |= 0x8000;
/* Place the word in the string */
*ZstrP++ = (Zword>>8) & 0xff;
*ZstrP++ = Zword & 0xff;
/* Add a zero byte just for luck. */
*ZstrP = NUL;
}
int zchar_size(ch, cset_ptr)
UBYTE ch;
int *cset_ptr;
{
int val, cset;
if (cset_ptr) *cset_ptr = 2;
if (ch == ' ')
return(1);
else if (!ch) return(0);
else if (Zctbl[ch].zc_char == 0) {
cset = 2;
val = 4; }
else {
cset = Zctbl[ch].zc_set;
if (cset != 0) {
val = 2; }
else
val = 1; }
if (cset_ptr)
*cset_ptr = cset;
return(val); }
typedef struct fw_obj {
struct fw_obj *fw_next; /* Next element in hash bucket */
UBYTE *fw_str;
int fw_strlen; /* Length of fw_str */
int fw_original_zlen; /* Original encoded length */
int fw_zlen; /* Used to compute rating' */
int fw_freq; /* Number of uses */
int fw_original_freq; /* Safety first */
int fw_goodness;
int fw_id;
struct fw_obj *fw_parent; /* If this is 'The ', points to 'The' */
struct fw_obj *fw_child; /* If this is 'The', points to 'The ' */
struct fw_obj *fw_sibling; /* If this is 'The ', points to 'The,' */
} *fw_node;
#define fw_hash_len 997
fw_node fw_hash[fw_hash_len];
fw_get_hash(str, len)
UBYTE *str;
int len;
{
int hash = 0;
int i, woffs = 0, shft = 0;
UBYTE ch;
for (i = 0; i < len; i++) {
ch = str[i];
hash ^= ch << shft;
woffs++;
if (woffs >= sizeof(int)) {
woffs = 0;
shft = 0; }
else
shft += 8; }
hash = hash % fw_hash_len;
if (hash < 0) return(-hash);
else return(hash); }
fw_node fw_lookup(str, len, hash)
UBYTE *str;
int len;
int hash;
{
fw_node buck;
if (buck = fw_hash[hash]) {
while (buck) {
if ((buck->fw_strlen == len) &&
(strncmp(str, buck->fw_str, len) == 0)) {
buck->fw_freq++;
return(buck); }
buck = buck->fw_next; } }
return(0); }
int fw_node_ct = 0;
fw_node fw_add(str, len, zlen, parent, hash)
UBYTE *str;
int len, zlen;
fw_node parent;
int hash;
{
fw_node buck;
UBYTE *nstr;
fw_node_ct++;
buck = (fw_node)MALLOC(sizeof(struct fw_obj));
buck->fw_id = 0;
buck->fw_next = fw_hash[hash];
fw_hash[hash] = buck;
buck->fw_strlen = len;
buck->fw_zlen = zlen;
buck->fw_original_zlen = zlen;
buck->fw_freq = 1;
buck->fw_parent = parent;
buck->fw_child = 0;
if (parent) {
buck->fw_sibling = parent->fw_child;
parent->fw_child = buck; }
else
buck->fw_sibling = 0;
nstr = (UBYTE *)MALLOC(len);
strncpy(nstr, str, len);
buck->fw_str = nstr;
return(buck); }
/* Call this with a string pointer. Update all the frequent-words stuff. */
/* As currently constituted, this includes all prefixes that might be interesting
as well. Thus "theory of" will cause "the", "theo", "theor", "theory", and
"theory " to be added to the database. The process of assigning the actual
frequent words becomes something of a relaxation process: if "the" becomes
a frequent word, then the goodness of "theory" must be adjusted downward.
If "theory" becomes a frequent word anyway, then the goodness of
"the" must be adjusted downward, leading to a corresponding upward adjustment
in the goodness of "theory". This could be fun. */
fw_string(strP)
UBYTE *strP;
{
UBYTE ch; /* Character */
UBYTE curcset; /* Current character set */
UBYTE ccode; /* Character */
int cset;
int cchar_size;
int ccount = 0; /* Number of input characters */
int cstrlen = 0; /* Number of output characters */
UBYTE *strP_save = strP;
fw_node frob, last_frob = 0;
int last_frob_len;
if (!strP) return;
for (; (ch = *strP) != NUL; ++strP) {
if (ch == language_char)
strP = translate_char(strP, &ch);
if (character_count)
character_counts[ch]++;
cchar_size = zchar_size(ch, &cset); /* This puts space into set 2... */
if ((cset == 0) || (cset == 1) || (ch == '.') || (ch == '?') ||
(ch == '!') || (ch == ',')) {
/* Normally character sets 0 and 1 are upper and lower case letters.
If .CHRSETs have happened, they might be something else. */
cstrlen += cchar_size;
ccount++;
last_frob = 0;
last_frob_len = 0;
strP_save = strP; /* Save pointer to first interesting char */
while (1) {
int hash;
ch = *++strP;
cchar_size = zchar_size(ch, &cset);
if (cset != 2) {
/* Still in a word */
cstrlen += cchar_size;
ccount++;
if (cstrlen > 2) {
hash = fw_get_hash(strP_save, ccount);
if (!(frob = fw_lookup(strP_save, ccount, hash)))
frob = fw_add(strP_save, ccount, cstrlen, last_frob, hash);
last_frob_len = ccount;
last_frob = frob; }
continue; }
/* Hit end of word: end of string or non-"alpha" */
if (ch == '\'') {
/* Look for "'s" and friends */
zchar_size(*(strP + 1), &cset); /* Get the next character's set */
if (cset != 2) {
/* it's alpha, so add in the ' and continue */
cstrlen += cchar_size;
ccount++;
continue; } }
if (ch == ' ') {
ccount++;
cstrlen++; }
else if (cset == 2) {
/* We already did this one */
strP--;
cstrlen = 0;
ccount = 0;
break; }
/* strP_save contains pointer to beginning of string with
ccount characters, and encoded size of cstrlen. */
if (cstrlen > 2) {
if (last_frob_len == ccount)
printf("losing\n");
hash = fw_get_hash(strP_save, ccount);
/* Don't bother if the encoding is too short to be helpful */
if (!fw_lookup(strP_save, ccount, hash))
fw_add(strP_save, ccount, cstrlen, last_frob, hash); }
strP--;
cstrlen = 0;
ccount = 0;
break; } } } }
fw_node frequent_words[96];
int fw_worst_allocated = 0x3fffffff;
int fw_worst_index = -1;
prune_parents(thing)
fw_node thing;
{
fw_node parent = thing->fw_parent;
/* For a given node, find out if its parent has no other descendants.
If that's true, then there's no reason to consider it. Wander up
the tree until an interesting parent is found, or until we run out
of them. */
while (parent) {
fw_node new_parent;
if (thing->fw_freq == parent->fw_freq) {
parent->fw_id = -1; /* This will keep the parent from being considered */
parent->fw_child = 0; /* The parent has no child any more */
if (parent->fw_sibling) {
/* If the parent has siblings, then we can stop anyway */
fw_node new_thing = parent->fw_parent;
fw_node kid = new_thing->fw_child;
/* The parent doesn't have a parent either */
parent->fw_parent = 0;
thing->fw_parent = new_thing;
/* Now place thing in its ancestor's tree in place of the parent. */
if (kid == parent) {
thing->fw_sibling = parent->fw_sibling;
new_thing->fw_child = thing;
thing->fw_parent = new_thing;
break; }
while (1) {
if (kid->fw_sibling == parent) {
kid->fw_sibling = thing;
thing->fw_sibling = parent->fw_sibling;
break; }
kid = kid->fw_sibling; }
break; }
/* At this point we know that the parent has no siblings */
new_parent = parent->fw_parent;
parent->fw_parent = 0;
parent = new_parent;
thing->fw_parent = parent;
if (!parent) {
/* No more parents, so stop */
thing->fw_sibling = 0;
break; }
thing->fw_sibling = parent->fw_child;
parent->fw_child = thing; }
else
break; } }
print_name(thing)
fw_node thing;
{
UBYTE *str = thing->fw_str;
int len = thing->fw_strlen, i;
for (i = 0; i < len; i++)
printf("%c", str[i]); }
fw_node any_frequent_words(thing)
fw_node thing;
{
for (; thing; thing = thing->fw_parent)
if (thing->fw_id > 0) return(thing);
return(0); }
dump_frequent_words(game_name)
char *game_name;
{
int i, j;
fw_node buck;
int fw_allocated = 0;
int fw_best = 0;
int goodness;
int changed = 1;
int passes = 0;
printf("%d nodes allocated.\n", fw_node_ct);
for (i = 0; i < fw_hash_len; i++) {
buck = fw_hash[i];
while (buck) {
if (buck->fw_parent)
prune_parents(buck);
buck->fw_goodness = (buck->fw_freq - 1) * (buck->fw_zlen - 2);
/* Subtract one because the string will still occur in the frequent
words table; two because that's the assumed length of the fw
reference. */
buck->fw_original_freq = buck->fw_freq;
buck = buck->fw_next; } }
while (1) {
if (!changed) break;
changed = 0;
passes++;
if (passes > 100) {
printf("Giving up after 100 passes\n");
break; }
for (i = 0; i < fw_hash_len; i++) {
buck = fw_hash[i];
while (buck) {
fw_node parent;
goodness = buck->fw_goodness;
if ((goodness > 0) && (buck->fw_id == 0) &&
((fw_allocated < 96) || (goodness > fw_worst_allocated))) {
changed++;
/* Try this word in the frequent words table */
if (fw_allocated == 96) {
/* Table is full, so have to kill something that was already
there */
fw_insert(buck, fw_worst_index, 1); }
else {
fw_insert(buck, fw_allocated, 0);
fw_allocated++; }
fw_set_worst(fw_allocated); }
else if ((buck->fw_id == 0) && (parent = buck->fw_parent) &&
(parent = any_frequent_words(parent))) {
/* We're looking at the descendant of a word that's already in the
table. Decide whether it would be better to have the descendant
in the table with the ancestor removed. */
int new_goodness, new_parent_goodness;
/* Get the rating for the child with the parent removed. We already
know that the child isn't good enough to be added to the table
with the parent present. */
new_goodness = buck->fw_goodness +
(buck->fw_freq - 1) * (parent->fw_zlen - 2);
if (new_goodness > parent->fw_goodness) {
print_name(buck);
printf(" in for ");
print_name(parent);
printf(".\n");
fw_insert(buck, parent->fw_id - 1, 1);
changed++; } }
buck = buck->fw_next; } }
printf("End of pass %d. %d changes, worst entry is %d.\n",
passes, changed, fw_worst_allocated); }
sort_stuff(fw_allocated);
print_stuff(game_name, fw_allocated); }
sort_stuff(cnt)
int cnt;
{
int i, j;
fw_node temp;
for (i = (cnt - 2); i >= 0; i--) {
for (j = 0; j <= i; j++) {
if (frequent_words[j]->fw_goodness <
frequent_words[j + 1]->fw_goodness) {
temp = frequent_words[j];
frequent_words[j] = frequent_words[j + 1];
frequent_words[j + 1] = temp; } } } }
print_stuff(game_name, cnt)
char *game_name;
int cnt;
{
int i, j;
fw_node temp;
FILE *fw_file;
int tdesc;
char real_name[255];
char new_name[255];
char c;
int original_zbytes = 0, final_zbytes = 0;
strcpy(&real_name[0], game_name);
strcat(&real_name[0], "freq.zap");
tdesc = open(&real_name[0], O_RDONLY, 0);
if (tdesc >= 0) {
strcpy(&new_name[0], &real_name[0]);
strcat(&new_name[0], "~");
close(tdesc);
rename(&real_name[0], &new_name[0]); }
fw_file = fopen(&real_name[0], "w");
for (i = 0; i < cnt; i++) {
temp = frequent_words[i];
original_zbytes += temp->fw_freq * temp->fw_zlen;
final_zbytes += temp->fw_zlen + temp->fw_freq * 2;
fprintf(fw_file, " .FSTR FSTR?%d,\"", i + 1);
for (j = 0; j < temp->fw_strlen; j++) {
c = temp->fw_str[j];
if (c == '\"')
fprintf(fw_file, "\"\"");
else
fprintf(fw_file, "%c", c); }
fprintf(fw_file, "\" ;%d %d %d\n",
temp->fw_goodness, temp->fw_freq, temp->fw_original_freq); }
fprintf(fw_file, "\n\nWORDS:: .TABLE\n");
for (i = 0; i < cnt; i++)
fprintf(fw_file, " FSTR?%d\n", i + 1);
fprintf(fw_file, " .ENDT\n\n .ENDI\n");
printf("%d to %d = %d.\n", original_zbytes, final_zbytes,
original_zbytes - final_zbytes);
fclose(fw_file); }
check_name(thing, str)
fw_node thing;
char *str;
{
char *ostr = (char *)(thing->fw_str);
if (strlen(str) != thing->fw_strlen)
return(0);
if (strncmp(str, ostr, thing->fw_strlen) != 0) return(0);
return(1); }
update_parents(thing, ct)
fw_node thing;
int ct;
{
thing = thing->fw_parent;
while (thing) {
thing->fw_freq += ct;
thing->fw_goodness += ct * (thing->fw_zlen - 2);
/* The parent's goodness decreases only by the lost frequency from
its child */
if (thing->fw_id) {
break; }
thing = thing->fw_parent; } }
update_kids(thing, fudge)
fw_node thing;
int fudge;
{
thing = thing->fw_child;
while (thing) {
/* If the parent is becoming a frequent word, the child's goodness decreases:
its effective length is now only (child_zlen - parent_zlen + 2), because
it can be encoded in that. */
/* Fudge is the encoded length of the parent */
if (fudge > 0)
thing->fw_zlen = thing->fw_original_zlen - fudge + 2;
else
thing->fw_zlen = thing->fw_zlen - fudge -2;
thing->fw_goodness = (thing->fw_freq - 1) * (thing->fw_zlen - 2);
if ((thing->fw_child) && !thing->fw_id)
update_kids(thing, fudge);
thing = thing->fw_sibling; } }
/* Find the lowest-quality frequent word */
fw_set_worst(ct)
int ct;
{
int i;
fw_worst_allocated = 0x3fffffff;
fw_worst_index = -1;
for (i = 0; i < ct; i++) {
if (frequent_words[i]->fw_goodness < fw_worst_allocated) {
fw_worst_allocated = frequent_words[i]->fw_goodness;
fw_worst_index = i; } } }
/* We think that 'thing' wants to be a frequent word. 'at' is either
fw_worst_index (if kill is true) or the next empty slot (if kill is
false; happens when fewer than 96 words have been allocated). */
fw_insert(thing, at, kill)
fw_node thing;
int at;
int kill;
{
fw_node other_thing;
if (kill)
fw_dealloc(at);
thing->fw_id = at + 1;
frequent_words[at] = thing;
if (thing->fw_parent)
update_parents(thing, -thing->fw_freq);
if (thing->fw_child)
update_kids(thing, thing->fw_zlen); }
/* Kill the last entry in the frequent words table. Update goodness of any
of its relatives. */
fw_dealloc(at)
int at;
{
fw_node thing = frequent_words[at], other_thing;
thing->fw_id = 0;
if (thing->fw_parent)
/* If this has a parent, the parent's goodness miraculously increases
(along with the goodness of all ancestors) */
update_parents(thing, thing->fw_freq);
if (thing->fw_child)
update_kids(thing, -thing->fw_zlen); }