├── zork1.lowcore ├── zork1.serial ├── file.zil ├── flush.cmd ├── zap ├── zork1.zip ├── zork1.syms ├── german.chars ├── COMPILED └── zork1.z6 ├── clock.zabstr ├── german.hex ├── loop.zabstr ├── zork1.chars ├── zork1.zil ├── clock.zap ├── zork1.zap ├── script.globals ├── zork1.errors ├── dungeon.zap ├── clock.zil ├── script.parser ├── chunk.script ├── README.md ├── tells.zabstr ├── globals.zabstr ├── parser.zabstr ├── zork1freq.xzap ├── combat.log ├── tells.zap ├── gender.script ├── rmode.init ├── hints.zap ├── globals.zap ├── zork1.chart ├── script.fight ├── loop.zap ├── verbs.zabstr ├── g.deaths ├── tells.zil ├── old-hints.zil ├── loop.zil ├── g.things ├── script.things ├── globals.zil ├── g.fight ├── zork1.record └── script.deaths /zork1.lowcore: -------------------------------------------------------------------------------- 1 | 2 | 0 -------------------------------------------------------------------------------- /zork1.serial: -------------------------------------------------------------------------------- 1 | 143 2 | -------------------------------------------------------------------------------- /file.zil: -------------------------------------------------------------------------------- 1 | "W. W. W. U. SW. E. S. SE." -------------------------------------------------------------------------------- /flush.cmd: -------------------------------------------------------------------------------- 1 | fdele /all:_*.*,*.temp/keep:2/spec:mud,msubr/delfn:*.* 2 | -------------------------------------------------------------------------------- /zap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/historicalsource/zork-german/HEAD/zap -------------------------------------------------------------------------------- /zork1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/historicalsource/zork-german/HEAD/zork1.zip -------------------------------------------------------------------------------- /zork1.syms: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/historicalsource/zork-german/HEAD/zork1.syms -------------------------------------------------------------------------------- /german.chars: -------------------------------------------------------------------------------- 1 | $ xDB|BDx@$BBB>$$ 3 | > 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | > 13 | -------------------------------------------------------------------------------- /german.hex: -------------------------------------------------------------------------------- 1 | HEXDUMP Version 1.0 2 | ------------------- 3 | Dumping "GERMAN.CHAR" in radix 16. 4 | 5 | 00000/ 00 24 07 00 20 08 08 00 00 00 00 00 00 00 00 00 6 | 00010/ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7 | 00020/ 00 78 44 42 7C 42 44 78 40 24 00 00 42 42 42 3E 8 | 00030/ 00 24 00 00 3C 42 42 3C 00 24 00 00 3C 42 42 3D 9 | 00040/ 00 24 00 42 42 42 42 3E 00 24 00 3C 42 42 42 3C 10 | 00050/ 00 24 00 3C 42 7E 42 42 00 00 00 00 00 00 00 00 11 | -------------------------------------------------------------------------------- /loop.zabstr: -------------------------------------------------------------------------------- 1 | 2 | 3 | > 4 | > 5 | 6 | 7 | > 8 | > 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | > 18 | 19 | -------------------------------------------------------------------------------- /zork1.chars: -------------------------------------------------------------------------------- 1 | : 6145 e: 5933 n: 3424 i: 3184 2 | s: 2953 t: 2731 r: 2464 a: 1892 3 | h: 1874 d: 1682 u: 1512 c: 1353 4 | l: 1304 .: 932 g: 897 o: 886 5 | m: 885 b: 670 f: 578 D: 535 6 | k: 517 ,: 462 w: 402 z: 391 7 | p: 286 S: 258 157: 248 v: 233 8 | 155: 219 E: 190 W: 167 156: 154 9 | G: 135 T: 112 F: 106 A: 104 10 | B: 93 K: 88 Z: 86 N: 82 11 | I: 78 H: 74 R: 74 M: 73 12 | y: 72 !: 64 L: 61 ?: 58 13 | V: 55 O: 44 j: 42 ": 36 14 | P: 35 :: 32 U: 28 013: 21 15 | (: 21 ): 18 ': 14 J: 14 16 | *: 12 Y: 12 x: 12 1: 11 17 | q: 11 9: 9 160: 8 -: 7 18 | 3: 7 5: 6 8: 6 ]: 5 19 | 6: 4 >: 4 [: 4 159: 4 20 | /: 3 C: 3 0: 2 2: 2 21 | #: 1 4: 1 Q: 1 X: 1 22 | 158: 1 -------------------------------------------------------------------------------- /zork1.zil: -------------------------------------------------------------------------------- 1 | "ZORK1 for 2 | Zork I: The Great Underground Empire 3 | (c) Copyright 1983 Infocom, Inc. All Rights Reserved. 4 | -- GERMAN EDITION" 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | )> 20 | 21 | ON!-INITIAL 22 | OFF!-INITIAL ;"makes dubugging possible -pld" 23 | 24 | ; 25 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /clock.zap: -------------------------------------------------------------------------------- 1 | 2 | 3 | .FUNCT QUEUE:ANY:2:2,RTN:ATOM,TICK:FIX,CINT 4 | CALL2 INT,RTN >CINT 5 | PUT CINT,C-TICK,TICK 6 | RETURN CINT 7 | 8 | 9 | .FUNCT INT:ANY:1:5,RTN:ATOM,DEMON:ATOM,E,C,INT 10 | ADD C-TABLE,C-TABLELEN >E 11 | ADD C-TABLE,C-INTS >C 12 | ?PRG1: EQUAL? C,E \?CCL5 13 | SUB C-INTS,C-INTLEN >C-INTS 14 | ZERO? DEMON /?PEN6 15 | SUB C-DEMONS,C-INTLEN >C-DEMONS 16 | ?PEN6: ADD C-TABLE,C-INTS >INT 17 | PUT INT,C-RTN,RTN 18 | RETURN INT 19 | ?CCL5: GET C,C-RTN 20 | EQUAL? STACK,RTN \?CND3 21 | RETURN C 22 | ?CND3: ADD C,C-INTLEN >C 23 | JUMP ?PRG1 24 | 25 | 26 | .FUNCT CLOCKER:ANY:0:0,C,E,TICK:FIX,FLG:ATOM 27 | ZERO? CLOCK-WAIT /?CND1 28 | SET 'CLOCK-WAIT,FALSE-VALUE 29 | RFALSE 30 | ?CND1: ZERO? P-WON /?CCL5 31 | PUSH C-INTS 32 | JUMP ?CND3 33 | ?CCL5: PUSH C-DEMONS 34 | ?CND3: ADD C-TABLE,STACK >C 35 | ADD C-TABLE,C-TABLELEN >E 36 | ?PRG6: EQUAL? C,E \?CCL10 37 | INC 'MOVES 38 | RETURN FLG 39 | ?CCL10: GET C,C-ENABLED? 40 | ZERO? STACK /?CND8 41 | GET C,C-TICK >TICK 42 | ZERO? TICK /?CND8 43 | SUB TICK,1 44 | PUT C,C-TICK,STACK 45 | GRTR? TICK,1 /?CND8 46 | GET C,C-RTN 47 | CALL STACK 48 | ZERO? STACK /?CND8 49 | SET 'FLG,TRUE-VALUE 50 | ?CND8: ADD C,C-INTLEN >C 51 | JUMP ?PRG6 52 | 53 | .ENDI 54 | -------------------------------------------------------------------------------- /zork1.zap: -------------------------------------------------------------------------------- 1 | .NEW 6 2 | .LANG 1,37 3 | ; CHARACTER SET DEFINITIONS 4 | .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 5 | .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 6 | .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 7 | ; Low core locations 8 | %ZVERSION:: .BYTE 6 9 | .BYTE FLAGS 10 | %ZORKID:: ZORKID 11 | %ENDLOD:: ENDLOD 12 | %START:: GO 13 | %VOCAB:: VOCAB 14 | %OBJECT:: OBJECT 15 | %GLOBAL:: GLOBAL 16 | %PURBOT:: IMPURE 17 | %FLAGS:: .WORD 0 18 | %SERIAL:: .WORD 0 19 | %SERI1:: .WORD 0 20 | %SERI2:: .WORD 0 21 | %FWORDS:: WORDS 22 | %PLENTH:: .WORD 0 23 | %PCHKSM:: .WORD 0 24 | %INTWRD:: .WORD 0 25 | %SCRWRD:: .WORD 0 26 | %HWRD:: .WORD 0 27 | %VWRD:: .WORD 0 28 | %FWRD:: .WORD 0 29 | %FOFF:: FOFF 30 | %SOFF:: SOFF 31 | %CLRWRD:: .WORD 0 32 | %TCHAR:: 0 33 | %TWID:: .WORD 0 34 | %CRFUNC:: .WORD 0 35 | %CHRSET:: CHRSET 36 | %EXTAB:: 0 37 | .WORD 0 38 | .WORD 0 39 | .WORD 0 40 | .WORD 0 41 | .INSERT "ZORK1FREQ" ;Frequent word table 42 | .INSERT "ZORK1DAT" ; Data file 43 | .INSERT "ZORK1PUR" 44 | .INSERT "TELLS" 45 | .INSERT "DUNGEON" 46 | .INSERT "GLOBALS" 47 | .INSERT "CLOCK" 48 | .INSERT "LOOP" 49 | .INSERT "PARSER" 50 | .INSERT "VERBS" 51 | .INSERT "ACTIONS" 52 | .INSERT "HINTS" 53 | 54 | .INSERT "ZORK1STR" 55 | 56 | .END 57 | -------------------------------------------------------------------------------- /script.globals: -------------------------------------------------------------------------------- 1 | >TAKE THE SWORD AND THE LAMP 2 | "Those things aren't here!" 3 | 4 | >LOOK AT THE THING 5 | "You can't see that here!" (RENATA: does the word 'that' depend on gender?) 6 | 7 | >PERSON, TAKE THE SWORD 8 | "The PERSON seems confused. ""I don't see that here!"" 9 | 10 | >CLIMB STAIRS 11 | "You should say whether you want to go up or down." 12 | 13 | >SAILOR, GO AWAY 14 | "You can't talk to the sailor that way." 15 | 16 | >LOOK AT SAILOR 17 | "There is no sailor to be seen." 18 | 19 | >HELLO, SAILOR 20 | "You seem to be repeating yourself." 21 | 22 | >HELLO, SAILOR 23 | "I think that phrase is getting a bit worn out." 24 | 25 | >HELLO, SAILOR 26 | "Nothing happens here." 27 | 28 | >DIG IN GROUND 29 | "The ground is too hard for digging here." 30 | 31 | >LOOK AT GRUE 32 | "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!" 33 | 34 | >LISTEN TO GRUE 35 | "It makes no sound but is always lurking in the darkness nearby." 36 | 37 | >TALK TO MYSELF 38 | "Talking to yourself is said to be a sign of impending mental collapse." 39 | 40 | >WAKE MYSELF UP 41 | "You're already wide awake!" 42 | 43 | >EAT MYSELF 44 | "Auto-cannibalism is not the answer." 45 | 46 | >KILL MYSELF 47 | "Suicide is not the answer." 48 | 49 | >THROW MYSELF AT THE TROLL 50 | "Why don't you just walk like normal people?" 51 | 52 | >TAKE ME 53 | "How romantic!" 54 | 55 | >LOOK AT MYSELF 56 | "Your image in the mirror looks tired." 57 | 58 | >LOOK AT MYSELF 59 | "That's difficult unless your eyes are prehensile." 60 | 61 | >WHAT IS A ZORKMID 62 | "The zorkmid is the unit of currency of the Great Underground Empire." 63 | 64 | >FIND ZORKMID 65 | "The best way to find zorkmids is to go out and look for them." 66 | -------------------------------------------------------------------------------- /zork1.errors: -------------------------------------------------------------------------------- 1 | zap of 6/13/89 15:17. 2 | Release: 15 3 | 0 Inserting zork1.zap. 4 | German characters; escape is %. 5 | 64 Inserting zork1freq.xzap. 6 | 698 Inserting zork1dat.zap. 7 | 28973 Inserting zork1pur.zap. 8 | 30515 Inserting tells.zap. 9 | 31238 Inserting dungeon.zap. 10 | 31552 Inserting globals.zap. 11 | 33121 Inserting clock.zap. 12 | "clock.zap", line 3: .FUNCT QUEUE:ANY:2:2,RTN:ATOM,TICK:FIX,CINT 13 | -- unknown type "ATOM" 14 | "clock.zap", line 9: .FUNCT INT:ANY:1:5,RTN:ATOM,DEMON:ATOM,E,C,INT 15 | -- unknown type "ATOM" 16 | -- unknown type "ATOM" 17 | "clock.zap", line 26: .FUNCT CLOCKER:ANY:0:0,C,E,TICK:FIX,FLG:ATOM 18 | -- unknown type "ATOM" 19 | 33279 Inserting loop.zap. 20 | 34400 Inserting parser.zap. 21 | 41444 Inserting verbs.zap. 22 | "verbs.zap", line 2191: .FUNCT ITAKE:ANY:0:1,VB:ATOM,CNT:FIX,OBJ:OBJECT,?TMP1 23 | -- unknown type "ATOM" 24 | 54356 Inserting actions.zap. 25 | "actions.zap", line 3816: .FUNCT V-SCORE:ANY:0:1,ASK?:ATOM 26 | -- unknown type "ATOM" 27 | 91444 Inserting hints.zap. 28 | 92335 Inserting zork1str.zap. 29 | Unreferenced global: THIEF-MELEE 30 | Unreferenced string: STR?701 31 | Unreferenced global: HOST 32 | Unreferenced function: UNTIE-FROM 33 | Unreferenced global: DEF3C 34 | Unreferenced global: HINT-WARNING 35 | Unreferenced table: STRBEG 36 | Unreferenced global: DEF2A 37 | Unreferenced global: TROLL-MELEE 38 | Unreferenced function: PUT-UP-CHAPTERS 39 | Unreferenced string: STR?435 40 | Unreferenced global: CYCLOPS-MELEE 41 | No segments defined. 42 | 43 | Lexical buffer space allocated: 608152 44 | Max lexical space allocated at any one time: 48012 45 | Object buffer space allocated: 144000 46 | Source bytes read: 561212 47 | Object bytes written: 131072 48 | Preload: 28973; 260 objects; 170 globals; 1074 words. 49 | Used 1:57 50 | Elapsed time 2:30 51 | -------------------------------------------------------------------------------- /dungeon.zap: -------------------------------------------------------------------------------- 1 | 2 | 3 | .FUNCT GRATING-EXIT:ANY:0:0 4 | ZERO? GRATE-REVEALED /?CCL3 5 | FSET? GRATE,OPENBIT \?CCL6 6 | RETURN GRATING-ROOM 7 | ?CCL6: PRINTI "Das Gitter ist geschlossen." 8 | CRLF 9 | ICALL2 THIS-IS-IT,GRATE 10 | RFALSE 11 | ?CCL3: PRINTI "In die Richtung kannst du nicht gehen." 12 | CRLF 13 | RFALSE 14 | 15 | 16 | .FUNCT TREASURE-INSIDE:ANY:0:0 17 | EQUAL? PRSA,V?OPEN \FALSE 18 | ICALL2 SCORE-OBJ,EMERALD 19 | RFALSE 20 | 21 | 22 | .FUNCT IN-MAZE?:ANY:1:1,PLACE 23 | EQUAL? PLACE,MAZE-1,MAZE-2,MAZE-3 /TRUE 24 | EQUAL? PLACE,MAZE-4,MAZE-5,MAZE-6 /TRUE 25 | EQUAL? PLACE,MAZE-7,MAZE-8,MAZE-9 /TRUE 26 | EQUAL? PLACE,MAZE-10,MAZE-11,MAZE-12 /TRUE 27 | EQUAL? PLACE,MAZE-13,MAZE-14,MAZE-15 /TRUE 28 | EQUAL? PLACE,DEAD-END-1,DEAD-END-2,DEAD-END-3 /TRUE 29 | EQUAL? PLACE,DEAD-END-4 /TRUE 30 | RFALSE 31 | 32 | 33 | .FUNCT CANYON-VIEW-F:ANY:1:1,RARG 34 | EQUAL? RARG,M-BEG \FALSE 35 | EQUAL? PRSA,V?LEAP \FALSE 36 | ZERO? PRSO \FALSE 37 | ICALL2 JIGS-UP,STR?181 38 | RTRUE 39 | 40 | 41 | .FUNCT GO:ANY:0:0 42 | ?FCN: CALL QUEUE,I-FIGHT,-1 43 | PUT STACK,0,1 44 | ICALL QUEUE,I-SWORD,-1 45 | CALL QUEUE,I-THIEF,-1 46 | PUT STACK,0,1 47 | ICALL QUEUE,I-CANDLES,40 48 | ICALL QUEUE,I-LANTERN,200 49 | PUTP INFLATED-BOAT,P?VTYPE,NONLANDBIT 50 | ADD DEF1,2 51 | PUT DEF1-RES,1,STACK 52 | ADD DEF1,4 53 | PUT DEF1-RES,2,STACK 54 | ADD DEF2B,2 55 | PUT DEF2-RES,2,STACK 56 | ADD DEF2B,4 57 | PUT DEF2-RES,3,STACK 58 | ADD DEF3A,2 59 | PUT DEF3-RES,1,STACK 60 | ADD DEF3B,2 61 | PUT DEF3-RES,3,STACK 62 | SET 'HERE,WEST-OF-HOUSE 63 | ICALL2 THIS-IS-IT,MAILBOX 64 | CLEAR -1 65 | ICALL1 INIT-STATUS-LINE 66 | CRLF 67 | FSET? HERE,TOUCHBIT /?CND1 68 | ICALL1 V-VERSION 69 | CRLF 70 | ?CND1: SET 'LIT,TRUE-VALUE 71 | SET 'WINNER,ADVENTURER 72 | SET 'PLAYER,WINNER 73 | MOVE WINNER,HERE 74 | ICALL1 V-LOOK 75 | ICALL1 MAIN-LOOP 76 | JUMP ?FCN 77 | 78 | .ENDI 79 | -------------------------------------------------------------------------------- /clock.zil: -------------------------------------------------------------------------------- 1 | "GCLOCK for 2 | The Zork Trilogy 3 | (c) Copyright 1983 Infocom, Inc. All Rights Reserved" 4 | 5 | 6 | 7 | > 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | ) 23 | > ,C-TICK .TICK> 24 | ;"added per RAGER" 25 | ; 26 | .CINT> 27 | 28 | ) E C INT) 29 | #DECL ((RTN) ATOM (DEMON) (E C INT) ) 31 | > 32 | > 33 | 35 | > 36 | >> 37 | > 38 | 39 | ) 40 | ( .RTN> )> 41 | >>> 42 | 43 | > 44 | 45 | )) 46 | #DECL ((C E) (TICK) FIX (FLG) ) 47 | > )> 48 | >> 49 | > 50 | 52 | > 53 | ) 54 | (>> 55 | > 56 | ) 57 | (T 58 | > 59 | > 60 | >> 61 | )>)>)> 62 | >>> 63 | -------------------------------------------------------------------------------- /script.parser: -------------------------------------------------------------------------------- 1 | (NOTE: IF YOU TYPE NOTHING, AND JUST HIT RETURN) 2 | "I beg your pardon?" 3 | 4 | (NOTE: IF YOU TYPE A PERIOD AND THEN A RETURN WITH NO WORDS) 5 | "I can't help your clumsiness." 6 | 7 | (NOTE: IF YOU TYPE >OOPS SOMETHING AND THE SOMETHING WAS IN A QUOTE) 8 | "Sorry, you can't correct mistakes in quoted text." 9 | 10 | (NOTE: IF YOU TYPE ">OOPS WORD1 WORD2") 11 | "Warning: only the first word after OOPS is used." 12 | 13 | (NOTE: IF YOU TYPE "OOPS" AFTER YOU DIDN'T MISSPELL SOMETHING) 14 | "There was no word to replace!" 15 | 16 | (NOTE: IF YOU TYPE "OOPS" AFTER AN INCOMPLETE INPUT GAME) 17 | "It's difficult to repeat fragments." 18 | 19 | (NOTE: IF YOU TYPE "AGAIN" AFTER A BAD SENTENCE INPUT) 20 | "That would just repeat a mistake." 21 | 22 | 23 | "That sentence was not understood." 24 | 25 | 26 | "There were too many nouns in that sentence." 27 | 28 | 29 | "Please consult your manual for the correct way to talk to other people or creatures." 30 | 31 | >LOOK AT THING 32 | "The word is not in the story's vocabulary of understanding." 33 | 34 | >LOOK AT THE DIG (NOTE: DIG IS RECOGNIZED ONLY AS A VERB) 35 | "You used the word "dig" in a way that I don't understand." 36 | 37 | >DOG THE TROLL 38 | "There was no verb in that sentence!" 39 | 40 | 41 | "That sentence isn't recognized by the story." 42 | 43 | >WHO IS TROLL 44 | "That question can't be answered." 45 | 46 | >TROLL, LOOK AT THE BUTTON 47 | """I don't understand! What are you referring to?""" 48 | 49 | >LOOK AT THE RED 50 | "There seems to be a noun missing in that sentence!" 51 | 52 | "It's too dark to see!" 53 | 54 | >DROP SWORD 55 | "You don't have that!" 56 | 57 | "You don't have the SWORD." 58 | 59 | >READ THE LEAFLET 60 | (taking the leaflet first) 61 | 62 | The leaflet says... ect. 63 | 64 | 65 | >LOOK AT THE RED 66 | It's not clear what you're referring to." 67 | 68 | 69 | >LOOK AT THE SWORD AND LAMP 70 | You can't use multiple direct objects with "look." 71 | 72 | 73 | >HIT THE TROLL WITH SWORD AND KNIFE 74 | You can't use multiple indirect objects with "hit." -------------------------------------------------------------------------------- /chunk.script: -------------------------------------------------------------------------------- 1 | Notes: 2 | 3 | 1) Under each paragraph of so of text, type out your translation. 4 | (So I know to what the translation corresponds.) 5 | 6 | 2) Don't bother translating the input now, such as >OPEN THE MAILBOX, 7 | etc. All the inputs will be translated as all together. 8 | 9 | 3) You do NOT need to translate sentences with a German article in them. 10 | These sentences are usually simple, functional sentences that are 11 | used repeatedly. The object following the German article indicates 12 | that it is "plugged into" the sentence and could be, usually, just 13 | about any object in the game. (These sentences all have the default 14 | Feminine gender because the object names to be plugged in haven't 15 | been translated yet.) The sentences with the German article will be 16 | translated apart from the game transcript below. 17 | 18 | 4) If you run across a chunk of text that you've already translated, of 19 | course there's no need to do it again. Hopefully there won't be alot 20 | of these. But there will be some "repeat" chunks of text. 21 | 22 | 5) If you can put quotes around each paragraph of text, it would be 23 | helpful. But if you forget, don't worry about it. 24 | 25 | 6) Some text may be seem bizarre or puzzling. You might as well not waste 26 | your time trying to figure out exactly what they mean. I'll try 27 | to explain them (or find someone who can). 28 | 29 | 7) Good luck. 30 | 31 | 32 | West of House 33 | You are standing in an open field west of a white house, with a boarded front 34 | door. 35 | There is eine small mailbox here. (Renata: E.g., don't bother translating 36 | this sentence) 37 | 38 | >EXAMINE THE WHITE HOUSE 39 | 40 | The house is a beautiful colonial house which is painted white. 41 | It is clear that the owners must have been extremely wealthy. 42 | 43 | >OPEN THE MAILBOX 44 | Opening die small mailbox reveals eine leaflet. 45 | 46 | >TAKE LEAFLET 47 | Taken. 48 | 49 | >READ LEAFLET 50 | "WELCOME TO ZORK! 51 | 52 | ZORK is a game of adventure, danger, and low cunning. In it you will explore 53 | some of the most amazing territory ever seen by mortals. No computer should be 54 | without one!" 55 | 56 | >GO NORTH 57 | North of House 58 | You are facing the north side of a white house. There is no door here, and all 59 | the windows are boarded up. To the north a narrow path winds through the trees. 60 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Zork (German) Source Code Collection 2 | 3 | Zork (German) is a unreleased interactive fiction game written by Jeff O'Neill (after the original Zork authors) for Infocom. 4 | 5 | __What is this Repository?__ 6 | 7 | This repository is a directory of source code for the Infocom game "Zork (German)", including a variety of files both used and discarded in the production of the game. It is written in ZIL (Zork Implementation Language), a refactoring of MDL (Muddle), itself a dialect of LISP created by MIT students and staff. 8 | 9 | The source code was contributed anonymously and represents a snapshot of the Infocom development system at time of shutdown - there is no remaining way to compare it against any official version as of this writing, and so it should be considered canonical, but not necessarily the exact source code arrangement for production. 10 | 11 | __Basic Information on the Contents of This Repository__ 12 | 13 | It is mostly important to note that there is currently no known way to compile the source code in this repository into a final "Z-machine Interpreter Program" (ZIP) file. There are .ZIP files in some of the Infocom Source Code repositories but they were there as of final spin-down of the Infocom Drive and the means to create them is currently lost. 14 | 15 | Throughout its history, Infocom used a TOPS20 mainframe with a compiler (ZILCH) to create and edit language files - this repository is a mirror of the source code directory archive of Infocom but could represent years of difference from what was originally released. 16 | 17 | In general, Infocom games were created by taking previous Infocom source code, copying the directory, and making changes until the game worked the way the current Implementor needed. Structure, therefore, tended to follow from game to game and may or may not accurately reflect the actual function of the code. 18 | 19 | There are also multiple versions of the "Z-Machine" and code did change notably between the first years of Infocom and a decade later. Addition of graphics, sound and memory expansion are all slowly implemented over time. 20 | 21 | __What is the Purpose of this Repository__ 22 | 23 | This collection is meant for education, discussion, and historical work, allowing researchers and students to study how code was made for these interactive fiction games and how the system dealt with input and processing. It is not considered to be under an open license. 24 | 25 | Researchers are encouraged to share their discoveries about the information in this source code and the history of Infocom and its many innovative employees. 26 | 27 | __Some Trivia and Notes on this Repository__ 28 | 29 | * Created as a possible way to expand the audience of Zork, the game was worked on but ultimately abandoned. 30 | -------------------------------------------------------------------------------- /tells.zabstr: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | D * > N * C * DER-NOM * DER-NOM-CAP * DER-ACC * < 7 | DER-ACC-PRINT .X> DER-ACC-CAP * DER-DAT * EIN-NOM * EIN-NOM-CAP * EIN-ACC * 9 | EIN-ACC-CAP * EIN-DAT * < 10 | EIN-DAT-PRINT .X> PRONOUN-NOM * PRONOUN-NOM-CAP * < 11 | PRONOUN-NOM-CAP-PRINT .X> PRONOUN-ACC * > 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | > 28 | > 29 | > 30 | > 31 | ) ( < 33 | NTH .OO 2>) (ELSE )>>)> < 34 | RETURN>)> >
>>) (ELSE .ATM)>>) (ELSE . 36 | ATM)> !.L)> > 3> )>> !.L>)>>> >> 38 | > 39 | > 40 | > 41 | ) (<==? .X FSET?> ) ( 43 | ELSE )>>)> > > < 44 | SET O ( .ATM) (ELSE )>> 45 | !.O)>>> 46 | >> 47 | ) (ELSE >)>> 49 | 50 | 51 | 52 | > 53 | > 54 | >> 56 | >> 58 | ) (T .NUM)>> 59 | ,PLUS-MODE> 2> 1>) (T 1>)>> -------------------------------------------------------------------------------- /globals.zabstr: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 11 | 13 | 16 | 18 | 20 | 22 | 24 | 25 | 26 | 27 | 28 | 31 | 32 | 34 | 35 | 37 | 38 | 41 | 42 | 44 | 46 | 47 | 49 | 52 | 53 | 55 | 56 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | > 78 | > 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /parser.zabstr: -------------------------------------------------------------------------------- 1 | 2 | "> 3 | > 4 | > 5 | > 6 | 7 | 8 | 9 | > 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | > 20 | 21 | > 22 | > 24 | > 25 | > 26 | > 27 | <> <> <>>> 28 | 29 | 30 | 31 | 32 | > 33 | > 34 | > 35 | > 36 | > 37 | > 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | > 47 | > 48 | > 49 | > 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | > 62 | > 63 | 64 | > 65 | > 66 | > 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | > 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | > 106 | 107 | 108 | 109 | 110 | > 111 | > 112 | > 113 | > 114 | > 115 | > 116 | > 117 | > 118 | 119 | 120 | 121 | 122 | 123 | > 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | > 134 | > 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | > 149 | 150 | 151 | 152 | -------------------------------------------------------------------------------- /zork1freq.xzap: -------------------------------------------------------------------------------- 1 | .FSTR FSTR?1,"the " ;1572 786 2 | .FSTR FSTR?2,"The " ;1245 415 3 | .FSTR FSTR?3,"You " ;735 245 4 | .FSTR FSTR?4,", " ;529 529 5 | .FSTR FSTR?5,"your " ;474 158 6 | .FSTR FSTR?6,"is " ;466 466 7 | .FSTR FSTR?7,"and " ;456 228 8 | .FSTR FSTR?8,"you " ;412 206 9 | .FSTR FSTR?9,"There " ;395 79 10 | .FSTR FSTR?10,"can't " ;360 72 11 | .FSTR FSTR?11,"of " ;325 325 12 | .FSTR FSTR?12,"to " ;323 323 13 | .FSTR FSTR?13,". " ;299 299 14 | .FSTR FSTR?14,"with " ;294 98 15 | .FSTR FSTR?15,"are " ;272 136 16 | .FSTR FSTR?16,"that " ;258 86 17 | .FSTR FSTR?17,"have " ;231 77 18 | .FSTR FSTR?18,"which " ;224 56 19 | .FSTR FSTR?19,"This " ;216 54 20 | .FSTR FSTR?20,"from " ;204 68 21 | .FSTR FSTR?21,"large " ;204 51 22 | .FSTR FSTR?22,"through " ;180 30 23 | .FSTR FSTR?23,"appears " ;180 30 24 | .FSTR FSTR?24,"in " ;175 175 25 | .FSTR FSTR?25,"here" ;162 81 26 | .FSTR FSTR?26,"water " ;136 34 27 | .FSTR FSTR?27,"room " ;135 45 28 | .FSTR FSTR?28,"Cyclops " ;133 19 29 | .FSTR FSTR?29,"leading " ;132 22 30 | .FSTR FSTR?30,"narrow " ;130 26 31 | .FSTR FSTR?31,"cannot " ;130 26 32 | .FSTR FSTR?32,"small " ;128 32 33 | .FSTR FSTR?33,"into " ;126 42 34 | .FSTR FSTR?34,"cyclops " ;114 19 35 | .FSTR FSTR?35,"his " ;112 56 36 | .FSTR FSTR?36,"thief " ;112 28 37 | .FSTR FSTR?37,"It " ;110 55 38 | .FSTR FSTR?38,"south " ;108 27 39 | .FSTR FSTR?39,"seems " ;108 27 40 | .FSTR FSTR?40,"already " ;108 18 41 | .FSTR FSTR?41,"don't " ;105 21 42 | .FSTR FSTR?42,"be " ;102 102 43 | .FSTR FSTR?43,"but " ;100 50 44 | .FSTR FSTR?44,"would " ;96 24 45 | .FSTR FSTR?45,"Your " ;96 24 46 | .FSTR FSTR?46,"there " ;92 23 47 | .FSTR FSTR?47,"can " ;90 45 48 | .FSTR FSTR?48,"this " ;90 30 49 | .FSTR FSTR?49,"It's " ;90 18 50 | .FSTR FSTR?50,"staircase " ;88 11 51 | .FSTR FSTR?51,"on " ;86 86 52 | .FSTR FSTR?52,"for " ;84 42 53 | .FSTR FSTR?53,"west " ;84 28 54 | .FSTR FSTR?54,"east " ;84 28 55 | .FSTR FSTR?55,"north " ;84 21 56 | .FSTR FSTR?56,"not " ;82 41 57 | .FSTR FSTR?57,"troll " ;80 20 58 | .FSTR FSTR?58,"nothing " ;78 13 59 | .FSTR FSTR?59,"looking " ;78 13 60 | .FSTR FSTR?60,"I " ;72 72 61 | .FSTR FSTR?61,"path " ;72 24 62 | .FSTR FSTR?62,"closed" ;72 18 63 | .FSTR FSTR?63,"candles " ;72 12 64 | .FSTR FSTR?64,"Frigid " ;72 12 65 | .FSTR FSTR?65,"won't " ;70 14 66 | .FSTR FSTR?66,"probably " ;70 10 67 | .FSTR FSTR?67,"here " ;69 23 68 | .FSTR FSTR?68,"Room" ;69 23 69 | .FSTR FSTR?69,"about " ;68 17 70 | .FSTR FSTR?70,"A " ;66 66 71 | .FSTR FSTR?71,"too " ;66 33 72 | .FSTR FSTR?72,"that" ;66 33 73 | .FSTR FSTR?73,"room" ;66 33 74 | .FSTR FSTR?74,"door " ;66 22 75 | .FSTR FSTR?75,"grating " ;66 11 76 | .FSTR FSTR?76,"ground " ;65 13 77 | .FSTR FSTR?77,"out " ;64 32 78 | .FSTR FSTR?78,"other " ;64 16 79 | .FSTR FSTR?79,"wall " ;63 21 80 | .FSTR FSTR?80,"passages " ;63 9 81 | .FSTR FSTR?81,"impossible " ;63 7 82 | .FSTR FSTR?82,"has " ;62 31 83 | .FSTR FSTR?83,"over " ;60 20 84 | .FSTR FSTR?84,"level " ;60 15 85 | .FSTR FSTR?85,"knocks " ;60 12 86 | .FSTR FSTR?86,"before " ;60 12 87 | .FSTR FSTR?87,"passage " ;60 10 88 | .FSTR FSTR?88,"Fortunately" ;60 6 89 | .FSTR FSTR?89,"Unfortunately" ;60 5 90 | .FSTR FSTR?90,"it " ;59 59 91 | .FSTR FSTR?91,"an " ;56 56 92 | .FSTR FSTR?92,"think " ;56 14 93 | .FSTR FSTR?93,"river " ;56 14 94 | .FSTR FSTR?94,"troll's " ;56 8 95 | .FSTR FSTR?95,"doesn't " ;56 8 96 | .FSTR FSTR?96,"You're " ;56 8 97 | 98 | 99 | ;word frequency table of 96 most common words 100 | 101 | WORDS:: .TABLE 102 | FSTR?1 103 | FSTR?2 104 | FSTR?3 105 | FSTR?4 106 | FSTR?5 107 | FSTR?6 108 | FSTR?7 109 | FSTR?8 110 | FSTR?9 111 | FSTR?10 112 | FSTR?11 113 | FSTR?12 114 | FSTR?13 115 | FSTR?14 116 | FSTR?15 117 | FSTR?16 118 | FSTR?17 119 | FSTR?18 120 | FSTR?19 121 | FSTR?20 122 | FSTR?21 123 | FSTR?22 124 | FSTR?23 125 | FSTR?24 126 | FSTR?25 127 | FSTR?26 128 | FSTR?27 129 | FSTR?28 130 | FSTR?29 131 | FSTR?30 132 | FSTR?31 133 | FSTR?32 134 | FSTR?33 135 | FSTR?34 136 | FSTR?35 137 | FSTR?36 138 | FSTR?37 139 | FSTR?38 140 | FSTR?39 141 | FSTR?40 142 | FSTR?41 143 | FSTR?42 144 | FSTR?43 145 | FSTR?44 146 | FSTR?45 147 | FSTR?46 148 | FSTR?47 149 | FSTR?48 150 | FSTR?49 151 | FSTR?50 152 | FSTR?51 153 | FSTR?52 154 | FSTR?53 155 | FSTR?54 156 | FSTR?55 157 | FSTR?56 158 | FSTR?57 159 | FSTR?58 160 | FSTR?59 161 | FSTR?60 162 | FSTR?61 163 | FSTR?62 164 | FSTR?63 165 | FSTR?64 166 | FSTR?65 167 | FSTR?66 168 | FSTR?67 169 | FSTR?68 170 | FSTR?69 171 | FSTR?70 172 | FSTR?71 173 | FSTR?72 174 | FSTR?73 175 | FSTR?74 176 | FSTR?75 177 | FSTR?76 178 | FSTR?77 179 | FSTR?78 180 | FSTR?79 181 | FSTR?80 182 | FSTR?81 183 | FSTR?82 184 | FSTR?83 185 | FSTR?84 186 | FSTR?85 187 | FSTR?86 188 | FSTR?87 189 | FSTR?88 190 | FSTR?89 191 | FSTR?90 192 | FSTR?91 193 | FSTR?92 194 | FSTR?93 195 | FSTR?94 196 | FSTR?95 197 | FSTR?96 198 | .ENDT 199 | 200 | .ENDI 201 | -------------------------------------------------------------------------------- /combat.log: -------------------------------------------------------------------------------- 1 | 25-Oct-87 15:59:52 XZILCH started. Load is 0.15. 2 | PS:XZILCH.EXE ZORK1 /NI 3 | 4 | 5 | Compiling SS:ZORK1.ZIL.13 6 | [XZIP instructions] 7 | Renovated ZORK I: The Great Underground Empire 8 | 9 | Loading SS:TELLS.ZIL.45 and compiling it. 10 | Abstracting SS:TELLS. 11 | Loading SS:SYNTAX.ZIL.23 and compiling it. 12 | Loading SS:DUNGEON.ZIL.31 and compiling it. 13 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 14 | Relevant values: (EAST The door is boarded and you can't remove the boards.) 15 | OBJECT WEST-OF-HOUSE 16 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 17 | Relevant values: (SOUTH The windows are all boarded.) OBJECT NORTH-OF-HOUSE 18 | 19 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 20 | Relevant values: (NORTH The windows are all boarded.) OBJECT SOUTH-OF-HOUSE 21 | 22 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 23 | Relevant values: (UP There is no tree here suitable for climbing.) OBJECT 24 | FOREST-1 25 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 26 | Relevant values: (UP There is no tree here suitable for climbing.) OBJECT 27 | FOREST-2 28 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 29 | Relevant values: (UP The mountains are impassable.) OBJECT MOUNTAINS 30 | 31 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 32 | Relevant values: (UP There is no tree here suitable for climbing.) OBJECT 33 | FOREST-3 34 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 35 | Relevant values: (UP You cannot climb any higher.) OBJECT UP-A-TREE 36 | 37 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 38 | Relevant values: (NORTH The forest becomes impenetrable to the north.) 39 | OBJECT GRATING-CLEARING 40 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 41 | Relevant values: (UP There is no tree here suitable for climbing.) OBJECT 42 | CLEARING 43 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 44 | Relevant values: (WEST 45 | You try to ascend the ramp, but it is impossible, and you slide back down.) 46 | OBJECT CELLAR 47 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 48 | Relevant values: (DOWN 49 | The chasm probably leads straight to the infernal regions.) OBJECT EAST-OF-CHASM 50 | 51 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 52 | Relevant values: (DOWN The dam blocks your way.) OBJECT RESERVOIR GIN-- 53 | GOUT TIME=8.4430003 54 | 55 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 56 | Relevant values: (WEST 57 | The stream emerges from a spot too small for you to enter.) OBJECT STREAM-VIEW 58 | 59 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 60 | Relevant values: (UP The channel is too narrow.) OBJECT IN-STREAM 61 | 62 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 63 | Relevant values: (SOUTH It is too narrow for most insects.) OBJECT DAMP-CAVE 64 | 65 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 66 | Relevant values: (DOWN Are you out of your mind?) OBJECT CHASM-ROOM 67 | 68 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 69 | Relevant values: (UP You cannot reach the rope.) OBJECT TORCH-ROOM 70 | 71 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 72 | Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT 73 | RIVER-1 74 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 75 | Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT 76 | RIVER-2 77 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 78 | Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT 79 | RIVER-3 80 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 81 | Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT 82 | RIVER-4 83 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 84 | Relevant values: (UP You cannot go upstream due to strong currents.) OBJECT 85 | RIVER-5 86 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 87 | Relevant values: (DOWN It's a long way...) OBJECT ARAGAIN-FALLS 88 | 89 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 90 | Relevant values: (SOUTH Storm-tossed trees block your way.) OBJECT 91 | CANYON-VIEW 92 | *** Compilation error: PROPERTY-DOESNT-MATCH-SPEC 93 | Relevant values: (DOWN You wouldn't fit and would die if you could.) OBJECT 94 | SHAFT-ROOM 95 | Abstracting SS:DUNGEON. 96 | Loading SS:GLOBALS.ZIL.45 and compiling it. 97 | Abstracting SS:GLOBALS. 98 | Loading SS:CLOCK.ZIL.5 and compiling it. 99 | Abstracting SS:CLOCK. 100 | Loading SS:LOOP.ZIL.29 and compiling it.Command received from user JEFF. 101 | Killing plan WASTE-MIMC.PLAN.2. 102 | 103 | Abstracting SS:LOOP. 104 | Loading SS:PARSER.ZIL.57 and compiling it.Command received from user JEFF. 105 | Killing plan WASTE-MIMC.PLAN.1. 106 | Compiler killed. 107 | Compiler died. 108 | Used 1:43.7 in 00:02:24. 109 | -------------------------------------------------------------------------------- /tells.zap: -------------------------------------------------------------------------------- 1 | 2 | 3 | .FUNCT DO-CURSET:ANY:2:2,Y,X 4 | EQUAL? 1,CWIDTH,CHEIGHT \?CCL3 5 | CURSET Y,X 6 | RFALSE 7 | ?CCL3: MUL X,CWIDTH >X 8 | MUL Y,CHEIGHT 9 | CURSET STACK,X 10 | RFALSE 11 | 12 | 13 | .FUNCT DPRINT:ANY:2:2,OBJ,CASE 14 | GETP OBJ,P?ADJDESC 15 | ZERO? STACK /?CND1 16 | GETP OBJ,P?ADJDESC 17 | PRINT STACK 18 | EQUAL? CASE,W?DER,W?DEN,W?DEM \?CCL5 19 | EQUAL? CASE,W?DER /?CTR7 20 | EQUAL? CASE,W?DEN \?CCL8 21 | FSET? OBJ,DERBIT /?CCL8 22 | ?CTR7: PRINTC 101 23 | JUMP ?CND3 24 | ?CCL8: PRINTI "en" 25 | JUMP ?CND3 26 | ?CCL5: FSET? OBJ,DERBIT \?CCL14 27 | PRINTI "er" 28 | JUMP ?CND3 29 | ?CCL14: FSET? OBJ,DASBIT \?CCL16 30 | EQUAL? CASE,W?EINEM /?CCL16 31 | PRINTI "es" 32 | JUMP ?CND3 33 | ?CCL16: FSET? OBJ,DIEBIT \?CCL20 34 | EQUAL? CASE,W?EINEM \?CCL20 35 | PRINTC 101 36 | JUMP ?CND3 37 | ?CCL20: PRINTI "en" 38 | ?CND3: PRINTC 32 39 | ?CND1: PRINTD OBJ 40 | RTRUE 41 | 42 | 43 | .FUNCT DER-NOM-PRINT:ANY:1:1,OBJ 44 | FSET? OBJ,DERBIT \?CCL3 45 | PRINTI "der " 46 | JUMP ?CND1 47 | ?CCL3: FSET? OBJ,DIEBIT \?CCL5 48 | PRINTI "die " 49 | JUMP ?CND1 50 | ?CCL5: FSET? OBJ,DASBIT \?CND1 51 | PRINTI "das " 52 | ?CND1: CALL DPRINT,OBJ,W?DER 53 | RSTACK 54 | 55 | 56 | .FUNCT DER-NOM-CAP-PRINT:ANY:1:1,OBJ 57 | FSET? OBJ,DERBIT \?CCL3 58 | PRINTI "Der " 59 | JUMP ?CND1 60 | ?CCL3: FSET? OBJ,DIEBIT \?CCL5 61 | PRINTI "Die " 62 | JUMP ?CND1 63 | ?CCL5: FSET? OBJ,DASBIT \?CND1 64 | PRINTI "Das " 65 | ?CND1: CALL DPRINT,OBJ,W?DER 66 | RSTACK 67 | 68 | 69 | .FUNCT DER-ACC-PRINT:ANY:1:1,OBJ 70 | FSET? OBJ,DERBIT \?CCL3 71 | PRINTI "den " 72 | JUMP ?CND1 73 | ?CCL3: FSET? OBJ,DIEBIT \?CCL5 74 | PRINTI "die " 75 | JUMP ?CND1 76 | ?CCL5: FSET? OBJ,DASBIT \?CND1 77 | PRINTI "das " 78 | ?CND1: CALL DPRINT,OBJ,W?DEN 79 | RSTACK 80 | 81 | 82 | .FUNCT DER-ACC-CAP-PRINT:ANY:1:1,OBJ 83 | FSET? OBJ,DERBIT \?CCL3 84 | PRINTI "Den " 85 | JUMP ?CND1 86 | ?CCL3: FSET? OBJ,DIEBIT \?CCL5 87 | PRINTI "Die " 88 | JUMP ?CND1 89 | ?CCL5: FSET? OBJ,DASBIT \?CND1 90 | PRINTI "Das " 91 | ?CND1: CALL DPRINT,OBJ,W?DEN 92 | RSTACK 93 | 94 | 95 | .FUNCT DER-DAT-PRINT:ANY:1:1,OBJ 96 | FSET? OBJ,DERBIT /?CTR2 97 | FSET? OBJ,DASBIT \?CCL3 98 | ?CTR2: PRINTI "dem " 99 | JUMP ?CND1 100 | ?CCL3: FSET? OBJ,DIEBIT \?CND1 101 | PRINTI "der " 102 | ?CND1: CALL DPRINT,OBJ,W?DEM 103 | RSTACK 104 | 105 | 106 | .FUNCT EIN-NOM-PRINT:ANY:1:1,OBJ 107 | FSET? OBJ,DERBIT /?CTR2 108 | FSET? OBJ,DASBIT \?CCL3 109 | ?CTR2: PRINTI "ein " 110 | JUMP ?CND1 111 | ?CCL3: FSET? OBJ,DIEBIT \?CND1 112 | PRINTI "eine " 113 | ?CND1: CALL DPRINT,OBJ,W?EIN 114 | RSTACK 115 | 116 | 117 | .FUNCT EIN-NOM-CAP-PRINT:ANY:1:1,OBJ 118 | FSET? OBJ,DASBIT /?CTR2 119 | FSET? OBJ,DERBIT \?CCL3 120 | ?CTR2: PRINTI "Ein " 121 | JUMP ?CND1 122 | ?CCL3: FSET? OBJ,DIEBIT \?CND1 123 | PRINTI "Eine " 124 | ?CND1: CALL DPRINT,OBJ,W?EIN 125 | RSTACK 126 | 127 | 128 | .FUNCT EIN-ACC-PRINT:ANY:1:1,OBJ 129 | FSET? OBJ,DERBIT \?CCL3 130 | PRINTI "einen " 131 | JUMP ?CND1 132 | ?CCL3: FSET? OBJ,DIEBIT \?CCL5 133 | PRINTI "eine " 134 | JUMP ?CND1 135 | ?CCL5: FSET? OBJ,DASBIT \?CND1 136 | PRINTI "ein " 137 | ?CND1: CALL DPRINT,OBJ,W?EINEN 138 | RSTACK 139 | 140 | 141 | .FUNCT EIN-ACC-CAP-PRINT:ANY:1:1,OBJ 142 | FSET? OBJ,DERBIT \?CCL3 143 | PRINTI "Einen " 144 | JUMP ?CND1 145 | ?CCL3: FSET? OBJ,DIEBIT \?CCL5 146 | PRINTI "Eine " 147 | JUMP ?CND1 148 | ?CCL5: FSET? OBJ,DASBIT \?CND1 149 | PRINTI "Ein " 150 | ?CND1: CALL DPRINT,OBJ,W?EINEN 151 | RSTACK 152 | 153 | 154 | .FUNCT EIN-DAT-PRINT:ANY:1:1,OBJ 155 | FSET? OBJ,DERBIT /?CTR2 156 | FSET? OBJ,DASBIT \?CCL3 157 | ?CTR2: PRINTI "einem " 158 | JUMP ?CND1 159 | ?CCL3: FSET? OBJ,DIEBIT \?CND1 160 | PRINTI "einer " 161 | ?CND1: CALL DPRINT,OBJ,W?EINEM 162 | RSTACK 163 | 164 | 165 | .FUNCT PRONOUN-NOM-PRINT:ANY:1:1,OBJ 166 | FSET? OBJ,DERBIT \?CCL3 167 | PRINTI "er" 168 | RTRUE 169 | ?CCL3: FSET? OBJ,DASBIT \?CCL5 170 | PRINTI "es" 171 | RTRUE 172 | ?CCL5: FSET? OBJ,DIEBIT \?CCL7 173 | PRINTI "sie" 174 | RTRUE 175 | ?CCL7: PRINTI "es" 176 | RTRUE 177 | 178 | 179 | .FUNCT PRONOUN-NOM-CAP-PRINT:ANY:1:1,OBJ 180 | FSET? OBJ,DERBIT \?CCL3 181 | PRINTI "Er" 182 | RTRUE 183 | ?CCL3: FSET? OBJ,DIEBIT \?CCL5 184 | PRINTI "Sie" 185 | RTRUE 186 | ?CCL5: PRINTI "Es" 187 | RTRUE 188 | 189 | 190 | .FUNCT PRONOUN-ACC-PRINT:ANY:1:1,OBJ 191 | FSET? OBJ,DERBIT \?CCL3 192 | PRINTI "ihn" 193 | RTRUE 194 | ?CCL3: FSET? OBJ,DIEBIT \?CCL5 195 | PRINTI "sie" 196 | RTRUE 197 | ?CCL5: PRINTI "es" 198 | RTRUE 199 | 200 | 201 | .FUNCT ZPROB:ANY:1:1,BASE 202 | ZERO? LUCKY /?CCL3 203 | RANDOM 100 204 | GRTR? BASE,STACK /TRUE 205 | RFALSE 206 | ?CCL3: RANDOM 300 207 | GRTR? BASE,STACK /TRUE 208 | RFALSE 209 | 210 | 211 | .FUNCT RANDOM-ELEMENT:ANY:1:1,FROB 212 | GET FROB,0 213 | RANDOM STACK 214 | GET FROB,STACK 215 | RSTACK 216 | 217 | 218 | .FUNCT PICK-ONE:ANY:1:1,FROB,L,CNT,RND,MSG,RFROB 219 | GET FROB,0 >L 220 | GET FROB,1 >CNT 221 | DEC 'L 222 | ADD FROB,2 >FROB 223 | MUL CNT,2 224 | ADD FROB,STACK >RFROB 225 | SUB L,CNT 226 | RANDOM STACK >RND 227 | GET RFROB,RND >MSG 228 | GET RFROB,1 229 | PUT RFROB,RND,STACK 230 | PUT RFROB,1,MSG 231 | INC 'CNT 232 | EQUAL? CNT,L \?CND1 233 | SET 'CNT,0 234 | ?CND1: PUT FROB,0,CNT 235 | RETURN MSG 236 | 237 | .ENDI 238 | -------------------------------------------------------------------------------- /gender.script: -------------------------------------------------------------------------------- 1 | SS:GENDER.SCRIPTHier beginnt eine gedruckte Kopie von: 2 | ZORK I: Das Grosse Unterweltreich 3 | Infocom dialogfaehig Prose - eine Phantasiegeschichte 4 | Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986 Infocom, Inc. 5 | Alle Rechte vorbehalten. ZORK ist ein eingetragenes Markenzeichen 6 | der Infocom, Inc. 7 | BETA RELEASE # 1 8 | Veroeffentlichung 6 / Seriennummer 880114 / Interpreter 1 Version C 9 | 10 | >TESTIT 11 | Dass ich zu spaet komme. 12 | Oeffne den Uebermensch. Aepfel sind schoen. 13 | Er sagt, >>Und ueber den Mann.<< 14 | 15 | Der Wald ist gut. 16 | Das Wasser ist gut. 17 | Das Paar Haende ist gut. 18 | Der Nagel ist gut. 19 | Die Schalttafel ist gut. 20 | Die Jade-Figur ist gut. 21 | Die Fackel ist gut. 22 | Das Pepperoni-Brot ist gut. 23 | Die Streichholzschachtel ist gut. 24 | Der Abenteurer ist gut. 25 | Der Kristalldreizack ist gut. 26 | Die uralte Landkarte ist gut. 27 | Das Kerzenpaar ist gut. 28 | Das Gitter ist gut. 29 | Der Altar ist gut. 30 | Die blutige Axt ist gut. 31 | Der Weg ist gut. 32 | No Gender: ZORK owner's manual 33 | Der Schornstein ist gut. 34 | Der Abenteuer ist gut. 35 | No Gender: F 36 | Das Leck ist gut. 37 | Das Tor ist gut. 38 | Die sie ist gut. 39 | Der Teppich ist gut. 40 | Der Singvogel ist gut. 41 | Das hoelzerne Gelaender ist gut. 42 | Die Ketter ist gut. 43 | Das Seil ist gut. 44 | Der Regenbogen ist gut. 45 | Die kleine Kohlenhalde ist gut. 46 | Der es ist gut. 47 | Der gelbe Knopf ist gut. 48 | Das weisse Haus ist gut. 49 | Das es ist gut. 50 | No Gender: punctured boat 51 | Die Fledermaus ist gut. 52 | Das Gebet ist gut. 53 | Der Durchgang ist gut. 54 | Der Zettel ist gut. 55 | Das Brett ist gut. 56 | Das Marmorpodest ist gut. 57 | Der goldene Kanarienvogel ist gut. 58 | Die Messingglocke ist gut. 59 | No Gender: Einmeisselung 60 | Der Holzleiter ist gut. 61 | Die nutzlose Laterne ist gut. 62 | Das shoene Gemaelde ist gut. 63 | Der grosse Sack ist gut. 64 | Der Schluessel ist gut. 65 | Der Ledersack voll Muenzen ist gut. 66 | Der Fels ist gut. 67 | Der braune Sack ist gut. 68 | Die Holztuer ist gut. 69 | Der Schalter ist gut. 70 | Der kleine Fluss ist gut. 71 | Der weisse Fels ist gut. 72 | Das juwelenbesetzte Ei ist gut. 73 | Die Spalte ist gut. 74 | Der Baum ist gut. 75 | Der Korb ist gut. 76 | Die Fahrradpumpe ist gut. 77 | Das steinerne Huegelgrab ist gut. 78 | Der Schraubenzieher ist gut. 79 | No Gender: broken jewel-encrusted egg 80 | Das Zorkknete ist gut. 81 | Der Berg ist gut. 82 | Der grosse Smaragd ist gut. 83 | Die Haustuer ist gut. 84 | Der Seemann ist gut. 85 | No Gender: beautiful jeweled scaraben Skarabaeus 86 | Das Sand ist gut. 87 | Die Schaufel ist gut. 88 | Die schoene Flitterkugel ist gut. 89 | Das Vogelnest ist gut. 90 | No Gender: viscous material 91 | Die Flasche ist gut. 92 | Der Kristalschaedel ist gut. 93 | Die Kuppel ist gut. 94 | Der er ist gut. 95 | Die Schlacke ist gut. 96 | Das Haufen von Koerpern ist gut. 97 | Die batteriengespeiste Messingleuchte ist gut. 98 | No Gender: broken clockwork canary 99 | Der Troll ist gut. 100 | Der braune Knopf ist gut. 101 | Der Topf voll Gold ist gut. 102 | Das Blaetterhaufen ist gut. 103 | Die Luft ist gut. 104 | Die Farbe ist gut. 105 | Die kaputte Leuchte ist gut. 106 | Das Dieb ist gut. 107 | Das aussenhende Messer ist gut. 108 | Die rotgluehende Glocke ist gut. 109 | Der KuechenTisch ist gut. 110 | Das lauernde Greuel ist gut. 111 | Die Treppe ist gut. 112 | Der reingoldene Sarg ist gut. 113 | Das beige Schildchen ist gut. 114 | Das Gebaelk ist gut. 115 | Der riesige Spiegel ist gut. 116 | Die rote Markierungsboje ist gut. 117 | Die Wassermenge ist gut. 118 | Der Grund ist gut. 119 | Die Steintuer ist gut. 120 | Der riesige Diamanten ist gut. 121 | Das Ding ist gut. 122 | No Gender: tube 123 | Das schwarze Buch ist gut. 124 | Der Trophaeenschrank ist gut. 125 | Die Nummer ist gut. 126 | Der Zyklop ist gut. 127 | Die gruene Plastikblase ist gut. 128 | Die Platinbarren ist gut. 129 | Der Korb ist gut. 130 | Das Zepter ist gut. 131 | Das Skelett ist gut. 132 | Die Maschine ist gut. 133 | Das Zauberboot ist gut. 134 | Die Metallschraube ist gut. 135 | Die Geisterzahl ist gut. 136 | Der rote Knopf ist gut. 137 | Das Fenster ist gut. 138 | Die Tuer ist gut. 139 | No Gender: sapphire-encrusted bracelet 140 | Der Prospekt ist gut. 141 | Die Knoblauchzehe ist gut. 142 | Die Haufen Plastik ist gut. 143 | Die Ritze ist gut. 144 | Der Damm ist gut. 145 | Der blaue Knopf ist gut. 146 | Der Fluss Gletsch ist gut. 147 | Das Elfenschwert ist gut. 148 | Der Juwelenkoffer ist gut. 149 | Der kleine Briefkasten ist gut. 150 | Die Rampe ist gut. 151 | Das rostige Messer ist gut. 152 | Das Gebiss ist gut. 153 | Der riesige Spiegel ist gut. 154 | Der Schraubenschuessel ist gut. 155 | Die Reihe von Werkzeugkaesten ist gut. 156 | Der Wand ist gut. 157 | Die Falltuer ist gut. 158 | Der Silberkelch ist gut. 159 | Das Gas ist gut. 160 | Das Fenster ist gut. 161 | Das Stilett ist gut. 162 | No Gender: lake 163 | Der Tisch ist gut. 164 | Das nach ist gut. 165 | 166 | End of test. 167 | 168 | >UNSCRIPT 169 | Hier endet eine gedruckte Kopie von: 170 | ZORK I: Das Grosse Unterweltreich 171 | Infocom dialogfaehig Prose - eine Phantasiegeschichte 172 | Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986 Infocom, Inc. 173 | Alle Rechte vorbehalten. ZORK ist ein eingetragenes Markenzeichen 174 | der Infocom, Inc. 175 | BETA RELEASE # 1 176 | Veroeffentlichung 6 / Seriennummer 880114 / Interpreter 1 Version C 177 | -------------------------------------------------------------------------------- /rmode.init: -------------------------------------------------------------------------------- 1 | Z!COMPILED! 2 | !do not modify this file unless you know what you are doing 3 | and do not forget to re-compile it! 4 | [7[6[5[4[3[2[1 [..o 1:"lfsbcreatew' u1 fq1++4u1 zj .u2 5 | iname: 6 | 217*857,820 .Y 7 | 336*2133,2095 ..P 8 | 345*1859,1827 ..Y 9 | 394*2450,2372 ...J 10 | 397*196,125 ...M 11 | -3*2133,2095 pprint 12 | -1*9,0 execute 9 13 | -1*774,726 execute 774 14 | :^i6|[..o :fo..o2u5 q5"g f~:..o(q5)2"n -q5u5'' 15 | q5"l-5*q5j .(0fsword*5,0i)j q2,.fswordw'"#q5*5j' 16 | q3,.+5fswordw q7,.+10fsword ]..o| 17 | q2j :l .(eg -4:k)j 3k:l 9i q1\ z+6u4 6,q4\ "n zj' :w wfsbkillw]1]4]5q5j'"# 21 | q2(c\+q1u7c:x2)2"eq3u2'"#q..qm6'''> 22 |  !COMPILED! 23 | <=>s 24 | 10044041.U.MM.D 25 | 0FS^RMORE 26 | fsosteco"n 36.fs:etmode ' 27 | FS RGETTY"N (FSHEIGHT-(FSECHOLINES)-1)FSLINES' @ 28 | 29 | *MINI TECO* Feature (Using Self-contained Quoted Mode) 30 | ...M<=1:< 31 | [2 0U2 [1 .U1 8<1:<>:; [1.U1 %2W> [1[2 32 | [..O FSBCREATE 2F[LINESW 33 | [.M [..J Q.MU2 Q2&(-1000.)#(10000000.)U.M 1M.DMINI TECO H^V 34 | : 37 | HFX...N ]..J ].M M.D 38 | F]LINESW FSBKILLW ]2]1 Q2 Q1J ]1]2 39 | Q.M&40000."N -1FSNOQUITW' 40 | 1:U.R Q.RF"L-^FEQIT"E ' Q.R,2M.ZW' 41 | 1FSNOQUITW H^V>,3M.Z - 42 | 43 | Indentation without Inquiries, etc. 44 | <=>- 45 | MINTERNINDENT MAX 46 | -1UINDENT MAX 47 |  48 | New Line without asking. 49 | .Y<=I 50 | 1:< .U.B -1U.Q 51 | Q.M&176."N 52 | Q.M&1000."N I 53 |  (FQ.H"L Q.H/8,11.I Q.H-(8*(Q.H/8)),40.I 73.I'"# G.H') 0;' 54 | ([.0 [.1 [.2 [.3 55 | <0,0A-12."N 0;' 0,-1A-15."N 0;' 2R> 56 | 0FU.1U.0 Q.M&64."E ONOMUD' 57 | :1<:-^FLR>"N ONOMUD' .-Q.0"L ONOMUD' 58 | :1<:-FUU.2U.2>"N -1U.2' 59 | :<-^FLR 1A-;"N 0;'>"N ONOMUD' .-Q.2"L ONOMUD' 60 | 0,(Q.2-.)A-60"N Q.2-1U.2' 61 | 0FU.3U.3 Q.2,Q.3FU.3W 62 | :<.U.2 -^FLRW Q.3-.;>W Q.2J 63 | qIndent Maxu.0 64 | q.0"L Q.3,Q.3+8F=FUNCTION"E (Q.3+4)U.2 oagain '' 65 | q.0u.0 66 | (Q.0-1)"g (Q.2-Q.3-Q.0)U.3 Q.3"G Q.3R .U.2 '' 67 | "#' 68 | !AGAIN! Q.2"L ONORM' 69 | Q.2J Q.1U.B OFINIS' 70 | !NORM! Q.0J 71 | !**! <1A-40."N1A-11."N0;''C> .-Q.2"E ONEXT' .^V 72 | :FI-127"E FIW Q.BJ 3U.Q OOUT' :FI-"N OFINIS'"#FIW' 73 | !NEXT! .,Q.1:FB  "E OAGAIN' O** 74 | !NOMUD! -1U.2 ONORM 75 | !FINIS! FSHPOSU.0 Q.1J Q.1-Q.B"E 15.I 12.I' Q.1U.B 76 | FQ.T"G 0U.1'"# WQ.0/8U.1 Q.0-(8*Q.1)U.0' Q.1,11.I Q.0,40.I 77 | !OUT! ].3].2].1].0 ) 0;' 78 | Q.M&400."N 1M.Y 0;' 79 | >,Q.QM.Z   80 | 81 | Adjust Next Line 82 | ..Y<=k 83 | [1[2[3 .U1 84 | :<:L .U2 Q1J 85 | (1000,Q2F&4000000.)"N Q..0F"G-1J W^FLL ! '' 86 | .U.B [.B M.Y M...F ].B 87 | 1A-42."E .U2 :L .U3 0L 88 | (1000,Q3F&4000000.)"N 0L [.B M...F ].B '' 89 | Q.B,.@V 90 | :FI-27"N .U.B 0;'FIW>,3M.Z   91 | 92 | Pprint Object 93 | ..P,*pprint*<=n 94 | [0[1[2[3 1:<.U.B W:^FLL W^FLU0U1W 95 | < .U2 Q1J ^FLU0W Q2J 96 | :L .-Z;W .-Q0:"L 0;' .U2 Q1J 97 | (0,Q2F&4000000.)"N Q..0F"G-1J' W^FLL ! ' 98 | M.Y M...F 99 | 1A-42."E .U2 :L .U3 Q2J 100 | (0,Q3F&4000000.)"N 0L M...F '' >>,3M.Z G 101 | 102 | Adjust a Paragraph (Looks for @ so as not to screw up Scribe) 103 | ...J<= 104 | 1:<.u.b 105 | [0[1[2[3[4[5 <.-Z; .-1,.+1F= 106 | "N 0,1AF@"N 0;''L> 107 | L 0,1A-15."E-L' .-Z"E0L' 108 | .U1 <0,1AF ; "L0;'C> .U2 FSHPOSU5 Q1,Q2X3 109 | F=.T-"E 1M.X Old Prefix:  FQ.S"L' .,(G.S FSHPOSU5 .)FX3' 110 | FQ3U4 .U0 111 | <-L B-.; 1AF .@+1"GL0;' Q4F=3"N 0;' 112 | 0,Q4+1AF ; ;> 113 | .U.B Q0(.U0)J 114 | "N>W Q.B,.' 116 | .-ZU1 Q0J 1U2 117 | Q0J F=.T-&(F=.T:)"N L .U0'"# Q4D' 118 | 119 | F=.T-"E 1M.X New Prefix:  FQ.S+1"G .,(G.S FSHPOSU5 .)FX3'' 120 | FSADLINEF(-Q5FSADLINEW F=.T:"E Q0,Z+Q1FA'"# Q0,Z+Q1@FA' 121 | )FSADLINEW 122 | .-ZU2 Q0J Z+Q2J >,1M.Z  000 123 | -------------------------------------------------------------------------------- /hints.zap: -------------------------------------------------------------------------------- 1 | 2 | 3 | .FUNCT V-HINT:ANY:0:0,CHR,MAXC,C,Q,WHO 4 | ?FCN: PRINTR "Hints are not in this version." 5 | ?PRG9: INPUT 1 >CHR 6 | EQUAL? CHR,81,113 \?CCL13 7 | SET 'Q,TRUE-VALUE 8 | JUMP ?REP10 9 | ?CCL13: EQUAL? CHR,78,110 \?CCL15 10 | EQUAL? CHAPT-NUM,MAXC /?PRG9 11 | ICALL1 ERASE-CURSOR 12 | INC 'CUR-POS 13 | INC 'CHAPT-NUM 14 | ICALL1 NEW-CURSOR 15 | SET 'QUEST-NUM,1 16 | JUMP ?PRG9 17 | ?CCL15: EQUAL? CHR,80,112 \?CCL19 18 | EQUAL? CHAPT-NUM,1 /?PRG9 19 | ICALL1 ERASE-CURSOR 20 | DEC 'CUR-POS 21 | DEC 'CHAPT-NUM 22 | ICALL1 NEW-CURSOR 23 | SET 'QUEST-NUM,1 24 | JUMP ?PRG9 25 | ?CCL19: EQUAL? CHR,13,10 \?PRG9 26 | ICALL1 PICK-QUESTION 27 | ?REP10: ZERO? Q /?FCN 28 | SPLIT 0 29 | CLEAR -1 30 | ICALL1 INIT-STATUS-LINE 31 | RETURN 2 32 | 33 | 34 | .FUNCT PICK-QUESTION:ANY:0:0,CHR,MAXQ,Q 35 | ?FCN: ICALL2 INIT-HINT-SCREEN,FALSE-VALUE 36 | ICALL LEFT-LINE,3,STR?407,18 37 | ICALL RIGHT-LINE,3,STR?408,13 38 | GET HINTS,CHAPT-NUM 39 | GET STACK,0 40 | SUB STACK,1 >MAXQ 41 | CURSET 5,1 42 | ICALL1 PUT-UP-QUESTIONS 43 | SUB QUEST-NUM,1 >CUR-POS 44 | ICALL1 NEW-CURSOR 45 | ?PRG1: INPUT 1 >CHR 46 | EQUAL? CHR,81,113 \?CCL5 47 | SET 'Q,TRUE-VALUE 48 | JUMP ?REP2 49 | ?CCL5: EQUAL? CHR,78,110 \?CCL7 50 | EQUAL? QUEST-NUM,MAXQ /?PRG1 51 | ICALL1 ERASE-CURSOR 52 | INC 'CUR-POS 53 | INC 'QUEST-NUM 54 | ICALL1 NEW-CURSOR 55 | JUMP ?PRG1 56 | ?CCL7: EQUAL? CHR,80,112 \?CCL11 57 | EQUAL? QUEST-NUM,1 /?PRG1 58 | ICALL1 ERASE-CURSOR 59 | DEC 'CUR-POS 60 | DEC 'QUEST-NUM 61 | ICALL1 NEW-CURSOR 62 | JUMP ?PRG1 63 | ?CCL11: EQUAL? CHR,13,10 \?PRG1 64 | ICALL1 DISPLAY-HINT 65 | ?REP2: ZERO? Q /?FCN 66 | RFALSE 67 | 68 | 69 | .FUNCT ERASE-CURSOR:ANY:0:0,?TMP1 70 | GET LINE-TABLE,CUR-POS >?TMP1 71 | GET COLUMN-TABLE,CUR-POS 72 | SUB STACK,2 73 | CURSET ?TMP1,STACK 74 | PRINTC 32 75 | RTRUE 76 | 77 | 78 | .FUNCT NEW-CURSOR:ANY:0:0,?TMP1 79 | GET LINE-TABLE,CUR-POS >?TMP1 80 | GET COLUMN-TABLE,CUR-POS 81 | SUB STACK,2 82 | CURSET ?TMP1,STACK 83 | PRINTC 62 84 | RTRUE 85 | 86 | 87 | .FUNCT INVERSE-LINE:ANY:0:0,CENTER-HALF 88 | HLIGHT H-INVERSE 89 | GETB 0,33 90 | ICALL2 PRINT-SPACES,STACK 91 | HLIGHT H-NORMAL 92 | RTRUE 93 | 94 | 95 | .FUNCT DISPLAY-HINT:ANY:0:0,H,MX,CNT,CHR,FLG,N,?TMP1 96 | SET 'CNT,2 97 | SET 'FLG,TRUE-VALUE 98 | SPLIT 0 99 | CLEAR -1 100 | SPLIT 3 101 | SCREEN S-WINDOW 102 | CURSET 1,1 103 | ICALL1 INVERSE-LINE 104 | ICALL CENTER-LINE,1,STR?409,16 105 | CURSET 3,1 106 | ICALL1 INVERSE-LINE 107 | ICALL LEFT-LINE,3,STR?410 108 | ICALL RIGHT-LINE,3,STR?411,17 109 | HLIGHT H-BOLD 110 | GET HINTS,CHAPT-NUM >?TMP1 111 | ADD QUEST-NUM,1 112 | GET ?TMP1,STACK >H 113 | GET H,1 114 | ICALL CENTER-LINE,2,STACK 115 | HLIGHT H-NORMAL 116 | GET H,0 >MX 117 | SCREEN S-TEXT 118 | CRLF 119 | ?PRG1: ZERO? FLG /?CND3 120 | SUB MX,CNT 121 | ADD STACK,1 >N 122 | PRINTC 91 123 | PRINTN N 124 | PRINTI " hint" 125 | EQUAL? N,1 /?CND5 126 | PRINTC 115 127 | ?CND5: PRINTI " left.]" 128 | CRLF 129 | CRLF 130 | PRINTI " -> " 131 | SET 'FLG,FALSE-VALUE 132 | ?CND3: INPUT 1 >CHR 133 | EQUAL? CHR,81,113 /TRUE 134 | EQUAL? CHR,13,10 \?PRG1 135 | GRTR? CNT,MX /?PRG1 136 | SET 'FLG,TRUE-VALUE 137 | GET H,CNT 138 | PRINT STACK 139 | CRLF 140 | CRLF 141 | IGRTR? 'CNT,MX \?PRG1 142 | SET 'FLG,FALSE-VALUE 143 | PRINTI "[Final hint]" 144 | CRLF 145 | JUMP ?PRG1 146 | 147 | 148 | .FUNCT PUT-UP-QUESTIONS:ANY:0:0,ST,MXQ,MXL,?TMP1 149 | SET 'ST,1 150 | GET HINTS,CHAPT-NUM 151 | GET STACK,0 152 | SUB STACK,1 >MXQ 153 | GETB 0,32 154 | SUB STACK,1 >MXL 155 | ?PRG1: GRTR? ST,MXQ /TRUE 156 | SUB ST,1 157 | GET LINE-TABLE,STACK >?TMP1 158 | SUB ST,1 159 | GET COLUMN-TABLE,STACK 160 | SUB STACK,1 161 | CURSET ?TMP1,STACK 162 | PRINTC 32 163 | GET HINTS,CHAPT-NUM >?TMP1 164 | ADD ST,1 165 | GET ?TMP1,STACK 166 | GET STACK,1 167 | PRINT STACK 168 | INC 'ST 169 | JUMP ?PRG1 170 | 171 | 172 | .FUNCT PUT-UP-CHAPTERS:ANY:0:0,ST,MXC,MXL,?TMP1 173 | SET 'ST,1 174 | GET HINTS,0 >MXC 175 | GETB 0,32 176 | SUB STACK,1 >MXL 177 | ?PRG1: GRTR? ST,MXC /TRUE 178 | SUB ST,1 179 | GET LINE-TABLE,STACK >?TMP1 180 | SUB ST,1 181 | GET COLUMN-TABLE,STACK 182 | SUB STACK,1 183 | CURSET ?TMP1,STACK 184 | PRINTC 32 185 | GET HINTS,ST 186 | GET STACK,1 187 | PRINT STACK 188 | INC 'ST 189 | JUMP ?PRG1 190 | 191 | 192 | .FUNCT INIT-HINT-SCREEN:ANY:0:1,THIRD,WID,LEN 193 | ASSIGNED? 'THIRD /?CND1 194 | SET 'THIRD,TRUE-VALUE 195 | ?CND1: GETB 0,33 >WID 196 | SPLIT 0 197 | CLEAR -1 198 | GETB 0,32 199 | SUB STACK,1 200 | SPLIT STACK 201 | SCREEN S-WINDOW 202 | CURSET 1,1 203 | ICALL1 INVERSE-LINE 204 | CURSET 2,1 205 | ICALL1 INVERSE-LINE 206 | CURSET 3,1 207 | ICALL1 INVERSE-LINE 208 | ICALL CENTER-LINE,1,STR?409,16 209 | ICALL LEFT-LINE,2,STR?774 210 | ICALL RIGHT-LINE,2,STR?775,12 211 | ZERO? THIRD /FALSE 212 | ICALL LEFT-LINE,3,STR?776 213 | CALL RIGHT-LINE,3,STR?777,16 214 | RSTACK 215 | 216 | 217 | .FUNCT CENTER-LINE:ANY:2:4,LN,STR,LEN,INV 218 | ASSIGNED? 'INV /?CND1 219 | SET 'INV,TRUE-VALUE 220 | ?CND1: ZERO? LEN \?CND3 221 | DIROUT D-TABLE-ON,DIROUT-TBL 222 | PRINT STR 223 | DIROUT D-TABLE-OFF 224 | GET DIROUT-TBL,0 >LEN 225 | ?CND3: GETB 0,33 226 | SUB STACK,LEN 227 | DIV STACK,2 228 | CURSET LN,STACK 229 | ZERO? INV /?CND5 230 | HLIGHT H-INVERSE 231 | ?CND5: PRINT STR 232 | ZERO? INV /FALSE 233 | HLIGHT H-NORMAL 234 | RTRUE 235 | 236 | 237 | .FUNCT LEFT-LINE:ANY:2:3,LN,STR,INV 238 | ASSIGNED? 'INV /?CND1 239 | SET 'INV,TRUE-VALUE 240 | ?CND1: CURSET LN,1 241 | ZERO? INV /?CND3 242 | HLIGHT H-INVERSE 243 | ?CND3: PRINT STR 244 | ZERO? INV /FALSE 245 | HLIGHT H-NORMAL 246 | RTRUE 247 | 248 | 249 | .FUNCT RIGHT-LINE:ANY:2:4,LN,STR,LEN,INV 250 | ASSIGNED? 'INV /?CND1 251 | SET 'INV,TRUE-VALUE 252 | ?CND1: ZERO? LEN \?CND3 253 | DIROUT 3,DIROUT-TBL 254 | PRINT STR 255 | DIROUT -3 256 | GET DIROUT-TBL,0 >LEN 257 | ?CND3: GETB 0,33 258 | SUB STACK,LEN 259 | CURSET LN,STACK 260 | ZERO? INV /?CND5 261 | HLIGHT H-INVERSE 262 | ?CND5: PRINT STR 263 | ZERO? INV /FALSE 264 | HLIGHT H-NORMAL 265 | RTRUE 266 | 267 | .ENDI 268 | -------------------------------------------------------------------------------- /globals.zap: -------------------------------------------------------------------------------- 1 | 2 | 3 | .FUNCT NOT-HERE-OBJECT-F:ANY:0:0,TBL,PRSO?,OBJ 4 | SET 'PRSO?,TRUE-VALUE 5 | EQUAL? PRSO,NOT-HERE-OBJECT \?CCL3 6 | EQUAL? PRSI,NOT-HERE-OBJECT \?CCL3 7 | PRINTR "Diese Dinge sind nicht hier!" 8 | ?CCL3: EQUAL? PRSO,NOT-HERE-OBJECT \?CCL7 9 | SET 'TBL,P-PRSO 10 | JUMP ?CND1 11 | ?CCL7: SET 'TBL,P-PRSI 12 | SET 'PRSO?,FALSE-VALUE 13 | ?CND1: SET 'P-CONT,FALSE-VALUE 14 | SET 'QUOTE-FLAG,FALSE-VALUE 15 | EQUAL? WINNER,PLAYER \?CCL10 16 | PRINTR "Du kannst das hier nicht sehen!" 17 | ?CCL10: ICALL2 DER-NOM-CAP-PRINT,WINNER 18 | PRINTR " scheint verwirrt. %>Ich sehe das hier nicht!%<" 19 | 20 | 21 | .FUNCT NULL-F:ANY:0:2,A1,A2 22 | RFALSE 23 | 24 | 25 | .FUNCT STAIRS-F:ANY:0:0 26 | EQUAL? PRSA,V?THROUGH \FALSE 27 | PRINTR "Du mu%st sagen, ob du nach oben oder unten gehen willst." 28 | 29 | 30 | .FUNCT SAILOR-FCN:ANY:0:0 31 | EQUAL? PRSA,V?TELL \?CCL3 32 | SET 'P-CONT,FALSE-VALUE 33 | SET 'QUOTE-FLAG,FALSE-VALUE 34 | PRINTR "So kannst du mit dem Seemann nicht sprechen." 35 | ?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5 36 | PRINTR "Hier ist kein Seemann zu sehen." 37 | ?CCL5: EQUAL? PRSA,V?HELLO \FALSE 38 | INC 'HS 39 | MOD HS,20 40 | ZERO? STACK \?CCL10 41 | PRINTR "Du wiederholst dich." 42 | ?CCL10: MOD HS,10 43 | ZERO? STACK \?CCL12 44 | PRINTR "Dieser Satz wird langsam langweilig." 45 | ?CCL12: PRINTR "Hier passiert garnichts." 46 | 47 | 48 | .FUNCT GROUND-FUNCTION:ANY:0:0 49 | EQUAL? PRSA,V?PUT-ON,V?PUT \?CCL3 50 | EQUAL? PRSI,GROUND \?CCL3 51 | ICALL PERFORM,V?DROP,PRSO 52 | RTRUE 53 | ?CCL3: EQUAL? HERE,SANDY-CAVE \?CCL7 54 | CALL1 SAND-FUNCTION 55 | RSTACK 56 | ?CCL7: EQUAL? PRSA,V?DIG \FALSE 57 | PRINTR "Hier ist der Boden zu hart zum Graben." 58 | 59 | 60 | .FUNCT GRUE-FUNCTION:ANY:0:0 61 | EQUAL? PRSA,V?EXAMINE \?CCL3 62 | 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." 63 | ?CCL3: EQUAL? PRSA,V?FIND \?CCL5 64 | 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." 65 | ?CCL5: EQUAL? PRSA,V?LISTEN \FALSE 66 | PRINTR "Es gibt keinen Ton von sich, aber es liegt immer in der N%ahe im Dunkeln." 67 | 68 | 69 | .FUNCT CRETIN-FCN:ANY:0:0,?TMP1 70 | EQUAL? PRSA,V?TELL \?CCL3 71 | SET 'P-CONT,FALSE-VALUE 72 | SET 'QUOTE-FLAG,FALSE-VALUE 73 | PRINTR "Selbstgespr%ache deuten auf einen bevorstehenden Nervenzusammenbruch hin." 74 | ?CCL3: EQUAL? PRSA,V?GIVE \?CCL5 75 | EQUAL? PRSI,ME \?CCL5 76 | ICALL PERFORM,V?TAKE,PRSO 77 | RTRUE 78 | ?CCL5: EQUAL? PRSA,V?ALARM \?CCL9 79 | PRINTR "Du bist schon hellwach!" 80 | ?CCL9: EQUAL? PRSA,V?EAT \?CCL11 81 | PRINTR "Selbst-Kanibalismus ist nicht die L%osung." 82 | ?CCL11: EQUAL? PRSA,V?MUNG,V?ATTACK \?CCL13 83 | ZERO? PRSI /?CCL16 84 | FSET? PRSI,WEAPONBIT \?CCL16 85 | CALL2 JIGS-UP,STR?197 86 | RSTACK 87 | ?CCL16: PRINTR "Selbstmord ist nicht die L%osung." 88 | ?CCL13: EQUAL? PRSA,V?THROW \?CCL20 89 | EQUAL? PRSO,ME \FALSE 90 | PRINTR "Warum l%aufst du nicht wie normale Menschen?" 91 | ?CCL20: EQUAL? PRSA,V?TAKE \?CCL25 92 | PRINTR "Ach, wie romantisch!" 93 | ?CCL25: EQUAL? PRSA,V?EXAMINE \FALSE 94 | LOC MIRROR-1 >?TMP1 95 | LOC MIRROR-2 96 | EQUAL? HERE,?TMP1,STACK \?CCL30 97 | PRINTR "Dein Spiegelbild sieht m%ude aus." 98 | ?CCL30: PRINTR "Das ist schwierig, au%ser wenn deine Augen rausnehmbar sind." 99 | 100 | 101 | .FUNCT PATH-OBJECT:ANY:0:0 102 | EQUAL? PRSA,V?FOLLOW,V?TAKE,V?FIND \?CCL3 103 | PRINTR "Du mu%st eine Richtung angeben." 104 | ?CCL3: EQUAL? PRSA,V?DIG \FALSE 105 | ICALL PERFORM,V?DIG,GROUND 106 | RTRUE 107 | 108 | 109 | .FUNCT ZORKMID-FUNCTION:ANY:0:0 110 | EQUAL? PRSA,V?EXAMINE \?CCL3 111 | PRINTR "Zorkknete ist die W%ahrung des Gro%sen Unterweltreiches." 112 | ?CCL3: EQUAL? PRSA,V?FIND \FALSE 113 | PRINTR "Man findet Zorkknete am besten, indem man rausgeht, und sie sucht." 114 | 115 | 116 | .FUNCT INIT-STATUS-LINE:ANY:0:0 117 | GETB 0,30 >HOST 118 | GETB 0,38 >CWIDTH 119 | GET 0,17 120 | DIV STACK,CWIDTH >WIDTH 121 | LESS? WIDTH,38 \?CND1 122 | PRINTI "[Screen too narrow.]" 123 | CRLF 124 | QUIT 125 | ?CND1: GETB 0,39 >CHEIGHT 126 | SET 'OHERE,FALSE-VALUE 127 | SET 'OLD-LEN,0 128 | SPLIT 1 129 | SCREEN S-WINDOW 130 | HLIGHT H-INVERSE 131 | ICALL DO-CURSET,1,1 132 | ICALL2 PRINT-SPACES,WIDTH 133 | GRTR? WIDTH,75 \?CND3 134 | ICALL DO-CURSET,1,48 135 | PRINTI "Spielstand:" 136 | ICALL DO-CURSET,1,66 137 | PRINTI "Z%ugen:" 138 | ?CND3: HLIGHT H-NORMAL 139 | SCREEN S-TEXT 140 | RTRUE 141 | 142 | 143 | .FUNCT UPDATE-STATUS-LINE:ANY:0:0 144 | SCREEN S-WINDOW 145 | HLIGHT H-NORMAL 146 | HLIGHT H-INVERSE 147 | EQUAL? HERE,OHERE /?CND1 148 | SET 'OHERE,HERE 149 | DIROUT D-TABLE-ON,SL-TABLE 150 | ICALL1 SAY-HERE 151 | DIROUT D-TABLE-OFF 152 | ICALL DO-CURSET,1,2 153 | ICALL2 PRINT-SPACES,OLD-LEN 154 | GET SL-TABLE,0 >OLD-LEN 155 | ICALL DO-CURSET,1,2 156 | ICALL1 SAY-HERE 157 | ?CND1: GRTR? WIDTH,78 \?CCL5 158 | ICALL DO-CURSET,1,60 159 | PRINTN SCORE 160 | PRINTC 32 161 | ICALL DO-CURSET,1,73 162 | PRINTN MOVES 163 | JUMP ?CND3 164 | ?CCL5: DIROUT D-TABLE-ON,SL-TABLE 165 | PRINTN SCORE 166 | PRINTC 47 167 | PRINTN MOVES 168 | DIROUT D-TABLE-OFF 169 | GET SL-TABLE,0 170 | ADD STACK,2 171 | SUB WIDTH,STACK 172 | ICALL DO-CURSET,1,STACK 173 | PRINTC 32 174 | PRINTN SCORE 175 | PRINTC 47 176 | PRINTN MOVES 177 | ?CND3: HLIGHT H-NORMAL 178 | SCREEN S-TEXT 179 | RTRUE 180 | 181 | 182 | .FUNCT PRINT-SPACES:ANY:1:1,N 183 | ?PRG1: DLESS? 'N,0 /TRUE 184 | PRINTC 32 185 | JUMP ?PRG1 186 | 187 | 188 | .FUNCT SAY-HERE:ANY:0:0 189 | ZERO? LIT? \?CCL3 190 | PRINTI "Dunkelheit" 191 | RTRUE 192 | ?CCL3: ICALL DPRINT,HERE,FALSE-VALUE 193 | GRTR? WIDTH,75 \TRUE 194 | IN? ADVENTURER,HERE /TRUE 195 | PRINTI ", in " 196 | LOC ADVENTURER 197 | ICALL2 DER-DAT-PRINT,STACK 198 | RTRUE 199 | 200 | .ENDI 201 | -------------------------------------------------------------------------------- /zork1.chart: -------------------------------------------------------------------------------- 1 | -date- -rel- -size- -pre- -obj- -glo- -voc- 2 | 10/16 119 88214 20585 250 154 695 3 | 10/16 120 88208 20598 250 154 697 4 | 10/16 121 88208 20598 250 154 697 5 | 10/16 122 88212 20598 250 154 697 6 | 10/16 123 88442 20635 252 156 698 7 | 10/16 124 88552 20635 252 156 698 8 | 10/16 125 88754 20635 252 156 698 9 | 10/16 126 88814 20635 252 156 698 10 | 10/16 127 88814 20635 252 156 698 11 | 10/16 128 88824 20635 252 156 698 12 | 10/16 129 88824 20635 252 156 698 13 | 10/16 130 88846 20635 252 156 698 14 | 10/17 131 88842 20637 252 157 698 15 | 10/18 132 88862 20637 252 157 698 16 | 10/18 133 88924 20666 253 158 699 17 | 10/18 134 88948 20689 253 158 701 18 | 10/22 135 89294 20855 253 161 701 19 | 10/22 136 89304 20855 253 161 701 20 | 10/22 137 89304 20855 253 161 701 21 | 10/22 138 89302 20855 253 161 701 22 | 10/22 139 92108 24467 253 161 699 23 | 10/22 140 92228 24467 253 161 699 24 | 10/22 141 92228 24467 253 161 699 25 | 10/22 142 92228 24467 253 161 699 26 | 10/22 143 92220 24467 253 161 699 27 | 10/23 144 92244 24463 253 159 699 28 | 10/23 145 92244 24463 253 159 699 29 | 10/23 145 92256 24463 253 159 699 30 | 10/23 146 92408 24471 253 163 699 31 | 10/23 147 92536 24495 253 163 700 32 | 10/23 148 92536 24495 253 163 700 33 | 10/23 149 92516 24495 253 163 700 34 | 10/23 150 92516 24495 253 163 700 35 | 10/23 151 92516 24495 253 163 700 36 | 10/23 152 92516 24495 253 163 700 37 | 10/23 153 92516 24495 253 163 700 38 | 10/23 154 92520 24495 253 163 700 39 | 10/23 155 92520 24495 253 163 700 40 | 10/24 156 92456 24493 253 162 700 41 | 10/24 157 92528 24493 253 162 700 42 | 10/24 158 92576 24493 253 162 700 43 | 10/24 159 92580 24493 253 162 700 44 | 10/24 160 92600 24493 253 162 700 45 | 10/24 161 92740 24527 253 162 700 46 | 10/25 162 92740 24527 253 162 700 47 | 10/25 163 92740 24527 253 162 700 48 | 10/25 164 92736 24527 253 162 700 49 | 10/25 165 92740 24527 253 162 700 50 | 10/25 166 92796 24548 253 162 699 51 | 10/25 167 92816 24557 253 162 700 52 | 10/25 168 92908 24557 253 162 700 53 | 10/25 169 103366 25343 253 171 703 54 | 10/25 170 103378 25343 253 171 703 55 | 10/25 171 103374 25343 253 171 703 56 | 10/25 172 103374 25343 253 171 703 57 | 10/26 173 103414 25383 253 171 703 58 | 10/26 174 103466 25383 253 171 703 59 | 10/26 175 103470 25383 253 171 703 60 | 10/26 176 103466 25383 253 171 703 61 | 10/27 177 94954 24785 253 171 703 62 | 10/27 178 94954 24785 253 171 703 63 | 10/27 179 95046 24785 253 171 703 64 | 10/27 180 95066 24785 253 171 703 65 | 10/27 181 95066 24785 253 171 703 66 | 10/27 182 95110 24785 253 171 703 67 | 10/27 183 95114 24785 253 171 703 68 | 10/29 184 94598 23066 253 171 703 69 | 10/29 185 94082 23066 253 171 703 70 | 10/29 186 94154 23137 256 171 703 71 | 10/29 187 94210 23233 262 171 702 72 | 10/29 188 95226 24949 263 171 702 73 | 10/29 189 95146 23761 262 171 702 74 | 10/31 190 95034 23728 262 171 702 75 | 10/31 191 95114 23761 262 171 702 76 | 10/31 192 95142 23761 262 171 702 77 | 11/03 193 101050 23951 262 171 702 78 | 11/05 194 101098 23988 262 171 703 79 | 11/06 195 105614 23956 262 171 703 80 | 11/06 196 100826 23956 262 171 703 81 | 11/09 197 102062 24748 262 171 704 82 | 11/12 198 101578 24232 262 171 708 83 | 11/12 199 101658 24311 262 171 714 84 | 11/16 200 101958 24368 262 171 716 85 | 11/16 201 101982 24390 262 171 718 86 | 11/16 202 50761 24197 262 171 719 87 | 11/16 203 101794 24197 262 171 719 88 | 11/16 204 101762 24179 262 171 717 89 | 11/16 205 101810 24178 262 171 714 90 | 11/18 206 102206 24502 262 171 728 91 | 11/18 207 102150 24500 262 171 729 92 | 11/19 208 102258 24508 262 171 729 93 | 11/23 209 102258 24508 262 171 729 94 | 11/30 210 103538 25668 262 171 859 95 | 11/30 211 103518 25641 262 171 856 96 | 11/30 212 103510 25634 262 171 856 97 | 11/30 213 103510 25633 262 171 856 98 | 12/07 214 119790 25574 261 171 851 99 | 12/07 215 119970 25530 261 171 851 100 | 12/07 216 113902 25530 261 171 851 101 | 12/07 217 114162 25530 261 171 851 102 | 12/07 218 114154 25522 261 171 851 103 | 12/08 219 117658 25468 261 170 850 104 | 12/08 220 117658 25468 261 170 850 105 | 12/09 221 114634 25468 261 170 850 106 | 12/09 222 114866 25526 261 170 850 107 | 12/09 223 114832 25526 261 170 850 108 | 12/09 224 116406 25530 261 170 850 109 | 12/10 225 117090 26214 261 170 926 110 | 12/23 226 118590 27579 261 170 1047 111 | 12/23 227 118932 27579 261 170 1047 112 | 12/23 228 119624 27597 261 170 1047 113 | 12/23 1 118936 27583 261 170 1048 114 | 12/23 2 118936 27583 261 170 1048 115 | 12/24 3 118936 27583 261 170 1048 116 | 12/24 4 118936 27583 261 170 1048 117 | 12/24 5 118936 27583 261 170 1048 118 | 12/24 6 118936 27583 261 170 1048 119 | 1/06 7 119714 27713 260 170 1043 120 | 1/06 1 116092 27617 260 170 1043 121 | 1/06 2 125806 28014 260 170 1081 122 | 1/07 3 120702 28154 260 170 1083 123 | 1/07 1 116292 28028 260 170 1083 124 | 1/08 2 120590 28048 260 170 1073 125 | 1/08 1 116184 27922 260 170 1073 126 | 1/08 2 120618 28048 260 170 1073 127 | 1/08 1 116212 27922 260 170 1073 128 | 1/08 2 120618 28048 260 170 1073 129 | 1/08 1 116212 27922 260 170 1073 130 | 1/12 2 120662 28048 260 170 1073 131 | 1/12 1 116252 27922 260 170 1073 132 | 1/12 2 116276 27935 260 170 1074 133 | 1/13 3 116216 27880 260 170 1072 134 | 1/14 4 116280 27902 260 170 1074 135 | 1/14 5 116280 27902 260 170 1074 136 | 1/14 6 116256 27902 260 170 1074 137 | 1/15 7 116280 27902 260 170 1074 138 | 1/15 8 116938 27848 260 170 1071 139 | 1/15 9 116304 27848 260 170 1071 140 | 1/18 10 116324 27868 260 170 1072 141 | 1/19 11 119850 27910 260 170 1073 142 | 1/19 12 116400 27894 260 170 1074 143 | 1/25 13 116496 27918 260 170 1073 144 | 2/01 14 116928 27918 260 170 1073 145 | 6/13 15 130928 28973 260 170 1074 146 | -------------------------------------------------------------------------------- /script.fight: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | > 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | > 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | > 63 | 64 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | > 88 | 89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /loop.zap: -------------------------------------------------------------------------------- 1 | 2 | 3 | .FUNCT MAIN-LOOP:ANY:0:0,TRASH 4 | ?PRG1: CALL1 MAIN-LOOP-1 >TRASH 5 | JUMP ?PRG1 6 | 7 | 8 | .FUNCT MAIN-LOOP-1:ANY:0:0,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,O,I 9 | SET 'CNT,0 10 | SET 'OBJ,FALSE-VALUE 11 | SET 'PTBL,TRUE-VALUE 12 | CALL1 PARSER >P-WON 13 | ZERO? P-WON /?CCL3 14 | GET P-PRSI,P-MATCHLEN >ICNT 15 | GET P-PRSO,P-MATCHLEN >OCNT 16 | ZERO? P-IT-OBJECT /?PRD7 17 | CALL2 ACCESSIBLE?,P-IT-OBJECT 18 | ZERO? STACK \?CCL5 19 | ?PRD7: ZERO? P-HIM-OBJECT /?PRD10 20 | CALL2 ACCESSIBLE?,P-HIM-OBJECT 21 | ZERO? STACK \?CCL5 22 | ?PRD10: ZERO? P-HER-OBJECT /?CND4 23 | CALL2 ACCESSIBLE?,P-HER-OBJECT 24 | ZERO? STACK /?CND4 25 | ?CCL5: SET 'TMP,FALSE-VALUE 26 | ?PRG15: IGRTR? 'CNT,ICNT /?REP16 27 | GET P-PRSI,CNT 28 | EQUAL? STACK,IT \?CCL22 29 | ZERO? P-IT-OBJECT /?CCL22 30 | PUT P-PRSI,CNT,P-IT-OBJECT 31 | SET 'TMP,TRUE-VALUE 32 | JUMP ?REP16 33 | ?CCL22: GET P-PRSI,CNT 34 | EQUAL? STACK,HIM \?CCL26 35 | ZERO? P-HIM-OBJECT /?CCL26 36 | PUT P-PRSI,CNT,P-HIM-OBJECT 37 | SET 'TMP,TRUE-VALUE 38 | JUMP ?REP16 39 | ?CCL26: GET P-PRSI,CNT 40 | EQUAL? STACK,HER \?PRG15 41 | ZERO? P-HER-OBJECT /?PRG15 42 | PUT P-PRSI,CNT,P-HER-OBJECT 43 | SET 'TMP,TRUE-VALUE 44 | ?REP16: ZERO? TMP \?CND32 45 | SET 'CNT,0 46 | ?PRG34: IGRTR? 'CNT,OCNT /?CND32 47 | GET P-PRSI,CNT 48 | EQUAL? STACK,IT \?CCL41 49 | ZERO? P-IT-OBJECT /?CCL41 50 | PUT P-PRSI,CNT,P-IT-OBJECT 51 | JUMP ?CND32 52 | ?CCL41: GET P-PRSI,CNT 53 | EQUAL? STACK,HIM \?CCL45 54 | ZERO? P-HIM-OBJECT /?CCL45 55 | PUT P-PRSI,CNT,P-HIM-OBJECT 56 | JUMP ?CND32 57 | ?CCL45: GET P-PRSI,CNT 58 | EQUAL? STACK,HER \?PRG34 59 | ZERO? P-HER-OBJECT /?PRG34 60 | PUT P-PRSI,CNT,P-HER-OBJECT 61 | ?CND32: SET 'CNT,0 62 | ?CND4: ZERO? OCNT \?CCL53 63 | SET 'NUM,OCNT 64 | JUMP ?CND51 65 | ?CCL53: GRTR? OCNT,1 \?CCL55 66 | SET 'TBL,P-PRSO 67 | ZERO? ICNT \?CCL58 68 | SET 'OBJ,FALSE-VALUE 69 | JUMP ?CND56 70 | ?CCL58: GET P-PRSI,1 >OBJ 71 | ?CND56: SET 'NUM,OCNT 72 | JUMP ?CND51 73 | ?CCL55: GRTR? ICNT,1 \?CCL60 74 | SET 'PTBL,FALSE-VALUE 75 | SET 'TBL,P-PRSI 76 | GET P-PRSO,1 >OBJ 77 | SET 'NUM,ICNT 78 | JUMP ?CND51 79 | ?CCL60: SET 'NUM,1 80 | ?CND51: ZERO? OBJ \?CND61 81 | EQUAL? ICNT,1 \?CND61 82 | GET P-PRSI,1 >OBJ 83 | ?CND61: EQUAL? PRSA,V?WALK \?CCL67 84 | ZERO? P-WALK-DIR /?CCL67 85 | CALL PERFORM,PRSA,PRSO >V 86 | JUMP ?CND65 87 | ?CCL67: ZERO? NUM \?CCL71 88 | GETB P-SYNTAX,P-SBITS 89 | BAND STACK,P-SONUMS 90 | ZERO? STACK \?CCL74 91 | CALL2 PERFORM,PRSA >V 92 | SET 'PRSO,FALSE-VALUE 93 | JUMP ?CND65 94 | ?CCL74: ZERO? LIT \?CCL76 95 | PRINTI "Es ist zu dunkel, um etwas zu sehen." 96 | CRLF 97 | JUMP ?CND65 98 | ?CCL76: ICALL1 REFERRING 99 | SET 'V,FALSE-VALUE 100 | JUMP ?CND65 101 | ?CCL71: SET 'P-NOT-HERE,0 102 | SET 'P-MULT,FALSE-VALUE 103 | GRTR? NUM,1 \?CND77 104 | SET 'P-MULT,TRUE-VALUE 105 | ?CND77: SET 'TMP,FALSE-VALUE 106 | ?PRG79: IGRTR? 'CNT,NUM \?CCL83 107 | GRTR? P-NOT-HERE,0 \?CCL86 108 | PRINTI "The " 109 | EQUAL? P-NOT-HERE,1 \?CCL89 110 | PRINTI "Das" 111 | JUMP ?CND87 112 | ?CCL89: PRINTI "Die" 113 | ?CND87: EQUAL? P-NOT-HERE,NUM /?CND90 114 | PRINTI " andere " 115 | ?CND90: PRINTI "Ding" 116 | EQUAL? P-NOT-HERE,1 /?CND92 117 | PRINTC 101 118 | ?CND92: PRINTI " von dem du sprichst, " 119 | EQUAL? P-NOT-HERE,1 /?CCL96 120 | PRINTI "sind" 121 | JUMP ?CND94 122 | ?CCL96: PRINTI "ist" 123 | ?CND94: PRINTI " nicht hier." 124 | CRLF 125 | JUMP ?CND65 126 | ?CCL86: ZERO? TMP \?CND65 127 | PRINTI "Es gibt hier nichts, das man wegnehmen kann." 128 | CRLF 129 | JUMP ?CND65 130 | ?CCL83: ZERO? PTBL /?CCL100 131 | GET P-PRSO,CNT >OBJ1 132 | JUMP ?CND98 133 | ?CCL100: GET P-PRSI,CNT >OBJ1 134 | ?CND98: ZERO? PTBL /?CCL103 135 | SET 'O,OBJ1 136 | JUMP ?CND101 137 | ?CCL103: SET 'O,OBJ 138 | ?CND101: ZERO? PTBL /?CCL106 139 | SET 'I,OBJ 140 | JUMP ?CND104 141 | ?CCL106: SET 'I,OBJ1 142 | ?CND104: GRTR? NUM,1 /?CCL108 143 | GET P-ITBL,P-NC1 144 | GET STACK,0 145 | EQUAL? STACK,W?ALLES \?CND107 146 | ?CCL108: LOC WINNER >V 147 | EQUAL? O,NOT-HERE-OBJECT \?CCL113 148 | INC 'P-NOT-HERE 149 | JUMP ?PRG79 150 | ?CCL113: EQUAL? PRSA,V?TAKE \?CCL115 151 | ZERO? I /?CCL115 152 | GET P-ITBL,P-NC1 153 | GET STACK,0 154 | EQUAL? STACK,W?ALLES \?CCL115 155 | IN? O,I \?PRG79 156 | ?CCL115: EQUAL? P-GETFLAGS,P-ALL \?CCL121 157 | EQUAL? PRSA,V?TAKE \?CCL121 158 | LOC O 159 | EQUAL? STACK,WINNER,HERE,V /?PRD126 160 | LOC O 161 | EQUAL? STACK,I /?PRD126 162 | LOC O 163 | FSET? STACK,SURFACEBIT \?PRG79 164 | ?PRD126: FSET? O,TAKEBIT /?CCL121 165 | FSET? O,TRYTAKEBIT \?PRG79 166 | ?CCL121: EQUAL? OBJ1,IT \?CCL134 167 | ICALL DPRINT,P-IT-OBJECT,FALSE-VALUE 168 | JUMP ?CND132 169 | ?CCL134: EQUAL? OBJ1,HIM \?CCL136 170 | ICALL DPRINT,P-HIM-OBJECT,FALSE-VALUE 171 | JUMP ?CND132 172 | ?CCL136: EQUAL? OBJ1,HER \?CCL138 173 | ICALL DPRINT,P-HER-OBJECT,FALSE-VALUE 174 | JUMP ?CND132 175 | ?CCL138: ICALL DPRINT,OBJ1,FALSE-VALUE 176 | ?CND132: PRINTI ": " 177 | ?CND107: SET 'PRSO,O 178 | SET 'PRSI,I 179 | SET 'TMP,TRUE-VALUE 180 | CALL PERFORM,PRSA,PRSO,PRSI >V 181 | EQUAL? V,M-FATAL \?PRG79 182 | ?CND65: EQUAL? V,M-FATAL /?CND141 183 | LOC WINNER 184 | GETP STACK,P?ACTION 185 | CALL STACK,M-END >V 186 | ?CND141: EQUAL? V,M-FATAL \?CND1 187 | SET 'P-CONT,FALSE-VALUE 188 | JUMP ?CND1 189 | ?CCL3: SET 'P-CONT,FALSE-VALUE 190 | ?CND1: ICALL1 NULL-F 191 | ZERO? P-WON /FALSE 192 | EQUAL? PRSA,V?SUPER-BRIEF,V?BRIEF,V?TELL /TRUE 193 | EQUAL? PRSA,V?HINT,V?SAVE,V?VERBOSE /TRUE 194 | EQUAL? PRSA,V?QUIT,V?VERSION,V?HINTS-OFF /TRUE 195 | EQUAL? PRSA,V?SCRIPT,V?SCORE,V?RESTART /TRUE 196 | EQUAL? PRSA,V?RESTORE,V?UNSCRIPT /TRUE 197 | CALL1 CLOCKER >V 198 | RETURN V 199 | 200 | 201 | .FUNCT PERFORM:ANY:1:3,A,O,I,V,OA,OO,OI 202 | SET 'OA,PRSA 203 | SET 'OO,PRSO 204 | SET 'OI,PRSI 205 | ZERO? P-WALK-DIR \?CND1 206 | EQUAL? IT,I,O \?CND1 207 | ZERO? P-IT-OBJECT /?CTR6 208 | CALL2 ACCESSIBLE?,P-IT-OBJECT 209 | ZERO? STACK \?CCL7 210 | ?CTR6: ICALL1 REFERRING 211 | RETURN 2 212 | ?CCL7: EQUAL? IT,O \?CCL13 213 | SET 'O,P-IT-OBJECT 214 | JUMP ?CND1 215 | ?CCL13: EQUAL? IT,I \?CND1 216 | SET 'I,P-IT-OBJECT 217 | ?CND1: ZERO? P-WALK-DIR \?CND15 218 | EQUAL? HIM,I,O \?CND15 219 | ZERO? P-HIM-OBJECT /?CTR20 220 | CALL2 ACCESSIBLE?,P-HIM-OBJECT 221 | ZERO? STACK \?CCL21 222 | ?CTR20: ICALL1 REFERRING 223 | RETURN 2 224 | ?CCL21: EQUAL? HIM,O \?CCL27 225 | SET 'O,P-HIM-OBJECT 226 | JUMP ?CND15 227 | ?CCL27: EQUAL? HIM,I \?CND15 228 | SET 'I,P-HIM-OBJECT 229 | ?CND15: ZERO? P-WALK-DIR \?CND29 230 | EQUAL? HER,I,O \?CND29 231 | ZERO? P-HER-OBJECT /?CTR34 232 | CALL2 ACCESSIBLE?,P-HER-OBJECT 233 | ZERO? STACK \?CCL35 234 | ?CTR34: ICALL1 REFERRING 235 | RETURN 2 236 | ?CCL35: EQUAL? HER,O \?CCL41 237 | SET 'O,P-HER-OBJECT 238 | JUMP ?CND29 239 | ?CCL41: EQUAL? HER,I \?CND29 240 | SET 'I,P-HER-OBJECT 241 | ?CND29: SET 'PRSA,A 242 | SET 'PRSI,I 243 | SET 'PRSO,O 244 | EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CCL45 245 | CALL1 NOT-HERE-OBJECT-F >V 246 | ZERO? V \?CND43 247 | ?CCL45: SET 'O,PRSO 248 | SET 'I,PRSI 249 | ICALL2 THIS-IS-IT,PRSO 250 | ICALL2 THIS-IS-IT,PRSI 251 | GETP WINNER,P?ACTION 252 | CALL STACK >V 253 | ZERO? V \?CND43 254 | LOC WINNER 255 | GETP STACK,P?ACTION 256 | CALL STACK,M-BEG >V 257 | ZERO? V \?CND43 258 | GET PREACTIONS,A 259 | CALL STACK >V 260 | ZERO? V \?CND43 261 | ZERO? I /?CCL56 262 | GETP I,P?ACTION 263 | CALL STACK >V 264 | ZERO? V \?CND43 265 | ?CCL56: ZERO? O /?CCL60 266 | EQUAL? A,V?WALK /?CCL60 267 | LOC O 268 | ZERO? STACK /?CCL60 269 | LOC O 270 | GETP STACK,P?CONTFCN 271 | CALL STACK >V 272 | ZERO? V \?CND43 273 | ?CCL60: ZERO? O /?CCL66 274 | EQUAL? A,V?WALK /?CCL66 275 | GETP O,P?ACTION 276 | CALL STACK >V 277 | ZERO? V \?CND43 278 | ?CCL66: GET ACTIONS,A 279 | CALL STACK >V 280 | ZERO? V /?CND43 281 | ?CND43: SET 'PRSA,OA 282 | SET 'PRSO,OO 283 | SET 'PRSI,OI 284 | RETURN V 285 | 286 | .ENDI 287 | -------------------------------------------------------------------------------- /verbs.zabstr: -------------------------------------------------------------------------------- 1 | 2 | > 3 | > 4 | > 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | > 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | > 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | > 183 | > 184 | 185 | 186 | 187 | > 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | > 197 | 198 | 199 | > 200 | > 201 | 202 | > 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | > 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | > 235 | > 236 | > 237 | 238 | >)> 240 | > 242 | > 246 | > -------------------------------------------------------------------------------- /g.deaths: -------------------------------------------------------------------------------- 1 | 2 | *** BELOW ARE THE SEVERAL WAYS TO DIE IN ZORK I *** 3 | 4 | >BRUSH TEETH WITH GUNK 5 | "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." 6 | 7 | 8 | >BURN LEAVES 9 | "The leaves burn, and so do you." 10 | 11 | 12 | >KILL THIEF WITH KNIFE 13 | "As the knife approaches its victim, your mind is submerged by an 14 | overmastering will. Slowly, your hand turns, until the rusty blade 15 | is an inch from your neck. The knife seems to sing as it savagely 16 | slits your throat."strange phrase in English???? 17 | 18 | 19 | >JUMP OF CLIFF 20 | "It's a shame the leap you just attempted has done you in." 21 | 22 | 23 | (NOTE: IN THE BOAT) 24 | "You are lifted up by the rising river! You try to swim, but the 25 | currents are too strong. You come closer, closer to the awesome 26 | structure of Flood Control Dam #3. The dam beckons to you. 27 | The roar of the water nearly deafens you, but you remain conscious 28 | as you tumble over the dam toward your certain doom among the rocks at its base." 29 | 30 | 31 | 32 | "Unfortuneately, you have drowned yourself." 33 | 34 | 35 | "The rising water carries the boat over the dam, down the river, and over the falls. Tsk, tsk." 36 | 37 | >LOOK AT CYCLOPS 38 | "The cyclops, tired of all of your games and trickery, grabs you firmly. 39 | As he licks his chops, he says \"Mmm. Just like Mom used to make 'em.\" 40 | \" 41 | It's nice to be appreciated." 42 | 43 | 44 | >BURN THE BODIES (IN HADES) 45 | "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." 46 | 47 | 48 | 49 | >BURN THE BLACK BOOK 50 | "A booming voice says \"Wrong, cretin!\" and you notice that you have 51 | turned into a pile of dust. How, I can't imagine." 52 | 53 | 54 | 55 | >WALK NORTH (INTO THE GAS ROOM) 56 | 57 | ** BOOOOOOOOOOOM ** 58 | 59 | 60 | (NOTE: THE RAINBOW GIVES WAY) 61 | "The structural integrity of the rainbow is severely compromised, leaving you hanging in midair, supported only by water vapor. Bye." 62 | 63 | 64 | >PUT MYSELF IN RIVER 65 | "You splash around for a while, fighting the current, then you drown." 66 | 67 | 68 | ... 69 | "Unfortunately, the magic boat doesn't provide protection from 70 | the rocks and boulders one meets at the bottom of waterfalls. 71 | Including this one." 72 | 73 | 74 | THE BOAT DEFLATES... 75 | "Another pathetic sputter, this time from you, heralds your drowning." 76 | 77 | 78 | THE BOAT DEFLATES... 79 | "In other words, fighting the fierce currents of the Frigid River. You 80 | manage to hold your own for a bit, but then you are carried over a 81 | waterfall and into some nasty rocks. Ouch!" 82 | 83 | 84 | (NOTE: IF YOU DIG TOO DEEP) 85 | "The hole collapses, smothering you." 86 | 87 | 88 | DITTO 89 | "That was just a bit too far down." 90 | 91 | 92 | 93 | FIGHTING A VILLAIN... 94 | "It appears that that last blow was too much for you. I'm afraid you 95 | are dead." 96 | 97 | 98 | DITTO 99 | "Well, you really did it that time. Is suicide painless?" 100 | 101 | 102 | 103 | >THROW THING AT ME 104 | "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. 105 | 106 | 107 | >WALK NORTH 108 | "Oh, no! You have walked into a den of hungry grues and it's dinner time!" copy 109 | 110 | DITTO 111 | "Oh, no! You have walked into the slavering fangs of a lurking grue!"copy 112 | 113 | >ATTACK MYSELF 114 | "If you insist.... Poof, you're dead!" 115 | 116 | 117 | 118 | *** BELOW ARE SOME MORE MISCELLANEOUS TEXT STRINGS *** 119 | 120 | >TAKE THE SWORD AND THE LAMP 121 | "Those things aren't here!" 122 | 123 | 124 | >LOOK AT THE THING 125 | "You can't see that here!" (RENATA: does the word 'that' depend on gender?) no 126 | 127 | >PERSON, TAKE THE SWORD 128 | "The PERSON seems confused. ""I don't see that here!"" 129 | "Der PERSON scheint verwirrt""Ich sehe das hier nicht!"" 130 | 131 | >CLIMB STAIRS 132 | "You should say whether you want to go up or down." 133 | 134 | 135 | >SAILOR, GO AWAY 136 | "You can't talk to the sailor that way." 137 | 138 | 139 | >LOOK AT SAILOR 140 | "There is no sailor to be seen." 141 | 142 | 143 | >HELLO, SAILOR 144 | "You seem to be repeating yourself." 145 | 146 | 147 | >HELLO, SAILOR 148 | "I think that phrase is getting a bit worn out." 149 | 150 | 151 | >HELLO, SAILOR 152 | "Nothing happens here." 153 | 154 | 155 | >DIG IN GROUND 156 | "The ground is too hard for digging here." 157 | 158 | 159 | >LOOK AT GRUE 160 | "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!" 161 | 162 | 163 | >LISTEN TO GRUE 164 | "It makes no sound but is always lurking in the darkness nearby." 165 | 166 | 167 | >TALK TO MYSELF 168 | "Talking to yourself is said to be a sign of impending mental collapse."copy 169 | 170 | >WAKE MYSELF UP 171 | "You're already wide awake!" 172 | 173 | 174 | >EAT MYSELF 175 | "Auto-cannibalism is not the answer." 176 | 177 | 178 | >KILL MYSELF 179 | "Suicide is not the answer." 180 | 181 | 182 | >THROW MYSELF AT THE TROLL 183 | "Why don't you just walk like normal people?" 184 | 185 | 186 | >TAKE ME 187 | "How romantic!" 188 | 189 | 190 | >LOOK AT MYSELF 191 | "Your image in the mirror looks tired." 192 | 193 | 194 | >LOOK AT MYSELF 195 | "That's difficult unless your eyes are prehensile." 196 | 197 | 198 | >WHAT IS A ZORKMID 199 | "The zorkmid is the unit of currency of the Great Underground Empire." 200 | 201 | 202 | >FIND ZORKMID 203 | "The best way to find zorkmids is to go out and look for them." 204 | 205 | 206 | *** BELOW ARE RESPONSES GIVEN WHEN YOU INPUT IS UNCLEAR *** 207 | (GENERAL NOTES: IN THE GAME, IF YOU MISSPELL A WORD, THE GAME WILL TELL YOU 208 | 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.) 209 | 210 | 211 | (NOTE: IF YOU TYPE NOTHING, AND JUST HIT RETURN) 212 | "I beg your pardon?" 213 | 214 | 215 | (NOTE: IF YOU TYPE A PERIOD AND THEN A RETURN WITH NO WORDS) 216 | "I can't help your clumsiness." 217 | 218 | 219 | (NOTE: IF YOU TYPE >OOPS SOMETHING AND THE SOMETHING WAS IN A QUOTE) 220 | "Sorry, you can't correct mistakes in quoted text." 221 | 222 | 223 | (NOTE: IF YOU TYPE ">OOPS WORD1 WORD2") 224 | "Warning: only the first word after OOPS is used." 225 | 226 | 227 | (NOTE: IF YOU TYPE "OOPS" AFTER YOU DIDN'T MISSPELL SOMETHING) 228 | "There was no word to replace!" 229 | 230 | 231 | (NOTE: IF YOU TYPE "OOPS" AFTER AN INCOMPLETE INPUT GAME) 232 | "It's difficult to repeat fragments." 233 | 234 | 235 | (NOTE: IF YOU TYPE "AGAIN" AFTER A BAD SENTENCE INPUT) 236 | "That would just repeat a mistake." 237 | "Das wuerde den Fehler nur wiederholen." 238 | 239 | 240 | "That sentence was not understood." 241 | 242 | 243 | 244 | "There were too many nouns in that sentence." 245 | 246 | 247 | 248 | "Please consult your manual for the correct way to talk to other people or creatures." 249 | 250 | The word is not in the story's vocabulary of understanding." 251 | 252 | 253 | >LOOK AT THE DIG (NOTE: DIG IS RECOGNIZED ONLY AS A VERB) 254 | "You used the word "dig" in a way that I don't understand." 255 | "Du hast das Wort "graben" so gebraucht, dass ich es nicht verstehen kann." 256 | 257 | >DOG THE TROLL 258 | "There was no verb in that sentence!" 259 | 260 | 261 | 262 | "That sentence isn't recognized by the story." 263 | 264 | 265 | >WHO IS TROLL 266 | "That question can't be answered." 267 | 268 | 269 | >TROLL, LOOK AT THE BUTTON 270 | "I don't understand! What are you referring to?" 271 | 272 | 273 | >LOOK AT THE RED 274 | "There seems to be a noun missing in that sentence!" 275 | 276 | 277 | "It's too dark to see!" 278 | 279 | 280 | >DROP SWORD 281 | "You don't have that!" 282 | 283 | 284 | "You don't have the SWORD." 285 | 286 | 287 | >READ THE LEAFLET 288 | (taking the leaflet first) 289 | 290 | 291 | The leaflet says... ect. 292 | "Auf dem Blatt steht.......etc. " We might have to talk about the syntax here??? Jeff. 293 | 294 | 295 | >LOOK AT THE RED 296 | It's not clear what you're referring to." 297 | 298 | 299 | 300 | >LOOK AT THE SWORD AND LAMP 301 | You can't use multiple direct objects with "look." 302 | "Man kann mehrere Akkusative nicht mit "ansehen 303 | I need more feedback on that, R. Yes, Hildegunde also! 304 | 305 | 306 | >HIT THE TROLL WITH SWORD AND KNIFE 307 | You can't use multiple indirect objects with "hit." 308 | need mor feedback. 309 | 310 | >LOOK 311 | "It's too dark to see." 312 | 313 | 314 | >TAKE THE SWORD AND LAMP 315 | Sword: Taken. 316 | The other object that you mentioned is not here. 317 | "Schwert: genommen." 318 | "Das andere Ding, von dem du sprichst, ist nicht hier." 319 | 320 | >TAKE ALL 321 | "There's nothing here you can take." 322 | 323 | -------------------------------------------------------------------------------- /tells.zil: -------------------------------------------------------------------------------- 1 | "TELLS (formerly GMACROS) for 2 | The Zork Trilogy 3 | (c) Copyright 1983 Infocom, Inc. All Rights Reserved 4 | -- GERMAN EDITION" 5 | 6 | 7 | 8 | 9 | 10 | 11 | D * > 12 | N * 13 | C * 14 | DER-NOM * 15 | DER-NOM-CAP * 16 | DER-ACC * 17 | DER-ACC-CAP * 18 | DER-DAT * 19 | 20 | EIN-NOM * 21 | EIN-NOM-CAP * 22 | EIN-ACC * 23 | EIN-ACC-CAP * 24 | EIN-DAT * 25 | 26 | PRONOUN-NOM * 27 | PRONOUN-NOM-CAP * 28 | PRONOUN-ACC * > 29 | 30 | ;"German character names. For non-C64 machines, the font is switched to 31 | font-3 then these chars. below are printed, then, the font is switched 32 | back to font-1, the default font." 33 | 34 | ;"I could have special umlaut-descs and no pure strings in the game -- but 35 | still there would have to be this switching of fonts WITHIN a word. Which 36 | must be done in some funny TELL routine." 37 | 38 | ;"Or I could be REALLY REALLY disgusting and have 3 descs for an object -- 39 | the first half of the word, the flavor of umlaut, then the last half 40 | of the word." 41 | 42 | 44 | 45 | ) 46 | (T 47 | > 48 | .X> 49 | )>> 50 | 51 | ;"CASE : DER = NOM / DEN = ACC / DEM = DAT 52 | EIN = NOM / EINEN = ACC / EINEM = DAT" 53 | 54 | 56 | > 57 | 59 | 60 | 61 | ; ,W?DER> 62 | >>> 63 | ) 64 | (T 65 | )>) 66 | ;"is an Ein-word" 67 | (; ,W?DER> 68 | 69 | ) 70 | ( ,W?DAS> 71 | 72 | >> 73 | ) 74 | ( ,W?DIE> 75 | 76 | > 77 | ) 78 | (T 79 | )> 80 | )> 81 | > 82 | 83 | ;> 85 | >> 86 | ) 87 | (T 88 | )>> 89 | 90 | 92 | ) 93 | ( 94 | ) 95 | ( 96 | )> 97 | > 98 | 99 | 101 | ) 102 | ( 103 | ) 104 | ( 105 | )> 106 | > 107 | 108 | 110 | ) 111 | ( 112 | ) 113 | ( 114 | )> 115 | > 116 | 117 | 119 | ) 120 | ( 121 | ) 122 | ( 123 | )> 124 | > 125 | 126 | 128 | > 129 | ) 130 | ( 131 | )> 132 | > 133 | 134 | 136 | > 137 | ) 138 | ( 139 | )> 140 | > 141 | 142 | 144 | > 145 | ) 146 | ( 147 | )> 148 | > 149 | 150 | 152 | ) 153 | ( 154 | ) 155 | ( 156 | )> 157 | > 158 | 159 | 161 | ) 162 | ( 163 | ) 164 | ( 165 | )> 166 | > 167 | 168 | 170 | > 171 | ) 172 | ( 173 | )> 174 | > 175 | 176 | 178 | ) 179 | ( 180 | ) 181 | ( 182 | ) 183 | (T 184 | )>> 185 | 186 | 188 | ) 189 | ( 190 | ) 191 | (T 192 | )>> 193 | 194 | 196 | ) 197 | ( 198 | ) 199 | (T 200 | )>> 201 | 202 | > 204 | 205 | > 207 | 208 | > 210 | 211 | > 213 | 214 | 217 | ) 218 | ( ) 219 | (ELSE )>>)> 220 | )> 222 | > 223 | 225 | 227 | >>) 230 | (ELSE .ATM)>>) 231 | (ELSE .ATM)> 232 | !.L)> 233 | > 234 | 3> )>> 235 | !.L>)>>> 236 | >> 237 | 238 | > 240 | 241 | > 243 | 244 | > 246 | 247 | 250 | ) 251 | (<==? .X FSET?> ) 252 | (ELSE )>>)> 253 | > 254 | > 255 | .ATM) 259 | (ELSE )>> 260 | !.O)>>> 261 | 262 | >> 264 | 265 | ) 267 | (ELSE >)>> 268 | 269 | >) 272 | (ELSE >)>> 273 | 274 | >>> 276 | 277 | CNT ; RND MSG RFROB) 279 | > 280 | > 281 | > 282 | > 283 | >> 284 | >> 285 | > 286 | > 287 | 288 | > 289 | )> 290 | 291 | .MSG> 292 | 293 | > 294 | 295 | > 296 | 297 | 299 | >> 300 | 301 | 303 | >> 304 | 305 | ) 307 | (T .NUM)>> 308 | 309 | ,PLUS-MODE> 311 | 2> 1>) 312 | (T 1>)>> 313 | 314 | ; ,PLUS-MODE> 316 | ) 317 | (T )>> 318 | 319 | ; ,PLUS-MODE> 321 | ) 322 | (T )>> 323 | 324 | ;)) 325 | ,PLUS-MODE> 326 | 327 | ) 328 | (T )>) 329 | (T 330 | 331 | ) 332 | (T )>)>> -------------------------------------------------------------------------------- /old-hints.zil: -------------------------------------------------------------------------------- 1 | "HINTS for GERMAN ZORK - (VIA SHERLOCK) 2 | (c) Copyright 1987 Infocom, Inc. All Rights Reserved." 3 | 4 | 5 | 6 | > 7 | 8 | > 9 | 10 | ) Q WHO) 11 | 13 | ) 14 | ( 15 | 16 | 22 | )> 23 | > 24 | 25 | 26 | 27 | > 28 | ; 29 | ; 30 | 31 | ;"> 32 | > 34 | %> 35 | 36 | ) 37 | ( %> 38 | > 39 | 40 | > 41 | > 42 | 43 | )>) 44 | ( %> 45 | > 46 | 47 | > 48 | > 49 | 50 | )>) 51 | ( 52 | ; 53 | 54 | )>> 55 | 56 | ;"AGAIN does whole routine?")> 57 | ; 58 | ; 59 | ; 60 | 61 | 62 | 63 | > 64 | 65 | )) 66 | > 67 | > 68 | > 69 | 0> 1>> 70 | 71 | 72 | > 73 | ; 74 | ; 75 | 76 | ;"> 77 | > 79 | %> 80 | 81 | ) 82 | ( %> 83 | > 84 | 85 | > 86 | > 87 | )>) 88 | ( %> 89 | > 90 | 91 | > 92 | > 93 | )>) 94 | ( 95 | 96 | )>> 97 | 98 | )>> 99 | 100 | ;"zeroth (first) element is 5" 101 | > 105 | 106 | ;"zeroth (first) element is 4" 107 | > 111 | 112 | ;"four and nineteen are where the text of questions start" 113 | 114 | ;"determines where to place the highlight cursor 115 | Can go up to 34, that is 17 slots in each row" 116 | 117 | ;"shows in HINT-TBL ltable which QUESTION it's on" 118 | 119 | ;"shows in HINT-TBL ltable which CHAPTER it's on" 120 | 121 | 123 | <- 2 ;1>> 124 | ;"erase previous highlight cursor"> 125 | 126 | ;"go back 2 spaces from question text, print cursor and flash is between 127 | the cursor and text" 128 | 129 | 131 | <- 2 ;1>> 132 | "> ;"print the new cursor"> 133 | 134 | )) 135 | 136 | > 137 | > 138 | 139 | 141 | 142 | 143 | 144 | 145 | 146 | > 147 | 148 | 149 | ;)> 151 | 152 | > 153 | 154 | <+ ,QUEST-NUM 1>>> 155 | > 156 | 157 | > 158 | ; ;"instead of CRLF" 159 | 160 | 161 | 1>> ;"added +1 - Jeff" 164 | 165 | > 166 | )> 167 | "> 168 | >)> 169 | > 170 | %> 171 | ; 172 | ;> 173 | ) 174 | ( 175 | > 176 | ;".cnt starts as 2" 177 | > 178 | 179 | 180 | > 181 | ; 1> 2> 182 | ;"3rd = line 7, 4th = line 9, ect" 183 | 184 | > 185 | 186 | ; 1>)>)>)>>> 187 | 188 | 0> 1>> 190 | 1>> 191 | 193 | ; 194 | ) 195 | (T ;"zeroth" 196 | > 197 | <- > 1>>) 198 | ;( 199 | 200 | >)> 201 | <+ .ST 1>> 1>> 202 | ; ;"above curset will do the trick?" 203 | >>> 204 | 205 | > 207 | 1>> 208 | 210 | ; 211 | ) 212 | (T ;"zeroth" 213 | > 214 | <- > 1>>) 215 | ;( 216 | 217 | >)> 218 | 1 ;,HINT-QUEST>> 219 | ; ;"above curset will do the trick?" 220 | >>> 221 | 222 | ;"longest hint topic can be 17 chars" 223 | 234 | > 241 | > 248 | > 253 | >>> 258 | 259 | > 261 | 262 | 263 | 1>> 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | > 274 | 275 | 276 | >)>> 277 | 278 | ; 279 | ; 280 | ; 281 | ; 282 | ; 283 | 284 | ; 286 | 39> 287 | )> 288 | > 292 | 293 | ;> 295 | 296 | 298 | 299 | 300 | 301 | >)> 302 | .LEN> 2>> 303 | )> 305 | 306 | )>> 308 | 309 | 311 | )> 313 | 314 | )>> 316 | 317 | 319 | 320 | 321 | 322 | >)> 323 | .LEN>> 324 | )> 326 | 327 | )>> 329 | 330 | > 335 | -------------------------------------------------------------------------------- /loop.zil: -------------------------------------------------------------------------------- 1 | "Generic MAIN file for 2 | The ZORK Trilogy 3 | started on 7/28/83 by MARC 4 | -- GERMAN EDITION" 5 | 6 | 7 | 8 | > 9 | 10 | > 11 | 12 | 13 | 14 | 15 | 16 | > 17 | 18 | > 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | ;"GO now lives in SPECIAL.ZIL" 33 | 34 | >>> 37 | 38 | 40 | > 41 | 42 | > 43 | > 44 | > 45 | > 46 | > 47 | >> 48 | > 49 | > .ICNT> 51 | ) 52 | (T 53 | ,IT> 54 | ,P-IT-OBJECT> 55 | 56 | 57 | ) 58 | ( ,HIM> 59 | ,P-HIM-OBJECT> 60 | 61 | 62 | ) 63 | ( ,HER> 64 | ,P-HER-OBJECT> 65 | 66 | 67 | )>)>> 68 | 69 | 70 | > .OCNT> 72 | ) 73 | (T 74 | ,IT> 75 | ,P-IT-OBJECT> 76 | 77 | ) 78 | ( ,HIM> 79 | ,P-HIM-OBJECT> 80 | 81 | ) 82 | ( ,HER> 83 | ,P-HER-OBJECT> 84 | 85 | )>)>>)> 86 | )> 87 | .OCNT) 89 | ( 90 | 91 | >) 92 | (T >)> 93 | .OCNT) 94 | ( 95 | > 96 | 97 | > 98 | .ICNT) 99 | (T 1)>> 100 | <1? .ICNT>> >)> 101 | 102 | >> 103 | >) 104 | (<0? .NUM> 105 | ,P-SONUMS>> 106 | > 107 | >) 108 | ( 109 | ) 110 | (T 111 | 112 | >)>) 113 | (T 114 | 115 | > 116 | )> 117 | > 118 | > .NUM> 120 | 121 | 122 | ;"Das andere Ding, von dem du sprichst, ist nicht hier." 123 | 124 | ) 125 | (T 126 | )> 127 | > 128 | )> 129 | 130 | > 131 | )> 132 | 133 | > 134 | ) 135 | (T )> 136 | ) 137 | ( 138 | )> 140 | ) 141 | (T 142 | >) 143 | (T >)> 144 | > 145 | > 146 | 147 | ;"multiple exceptions" 148 | 149 | 0> ,W?ALLES>> 150 | > 151 | 152 | > 153 | ) 154 | ( 155 | .I 156 | 0> ,W?ALLES> 157 | >> 158 | ) 159 | ( 160 | 161 | ,WINNER ,HERE .V>> 162 | .I>> 163 | ,SURFACEBIT>>> 164 | 165 | >>>> 166 | ) 167 | (ELSE 168 | 169 | ) 170 | ( 171 | ) 172 | ( 173 | ) 174 | (T 175 | )> 176 | )>)> 177 | 178 | ;"end multiple exceptions" 179 | 180 | 181 | 182 | > 183 | )>)>>)> 184 | > 185 | ; ,PRSO> 186 | >)> 187 | ,P?ACTION> ,M-END>>)> 188 | ; T) 190 | (T 191 | 192 | 193 | )> 194 | >)>) 195 | (T 196 | >)> 197 | % 198 | ' 199 | >>> 200 | )>) 201 | (ELSE ')> 202 | T) 206 | (T >)>)>> 207 | 208 | > 209 | 210 | 211 | 212 | % 213 | 214 | ') (I <>) "AUX" V OA OO OI) 215 | ; 217 | % ') 218 | (T ' 1>>>)> 219 | >> 220 | )> 221 | )> 222 | )> 223 | 224 | 225 | 226 | 227 | > 228 | 229 | >> 230 | 231 | ) 232 | ( 233 | ) 234 | ( 235 | )>)> 236 | 237 | > 238 | 239 | >> 240 | 241 | ) 242 | ( 243 | ) 244 | ( 245 | )>)> 246 | 247 | > 248 | 249 | >> 250 | 251 | ) 252 | ( 253 | ) 254 | ( 255 | )>)> 256 | ; )> 257 | ; )> 258 | ;> 260 | >> 261 | )> 262 | 263 | 264 | 265 | 266 | >> .V) 267 | (T 268 | 269 | 270 | ;"ala Stationfall" 271 | 272 | >> .V) 274 | ( ,P?ACTION> ,M-BEG>> .V) 275 | (>> .V) 276 | (>>> .V) 277 | (> 279 | 280 | ,P?CONTFCN>>>> 281 | .V) 282 | (> 284 | >>> 285 | .V) 286 | (>> .V)>)> 287 | 288 | 289 | 290 | .V>) 291 | (T 292 | 293 | '> 296 | 297 | ) (I <>) "AUX" V OA OO OI) 298 | #DECL ((A) FIX (O) (I) (V) ANY) 299 | >> .V) 347 | (T 348 | 349 | 350 | ;"ala Staionfall" 351 | 352 | >> .V) 354 | ( ,P?ACTION> 356 | ,M-BEG>> .V) 357 | (>> .V) 359 | (>>> .V) 361 | (> 363 | 364 | ,P?CONTFCN> 365 | 366 | ,P?CONTFCN>>>> 367 | .V) 368 | (> 370 | >>> 372 | .V) 373 | ( 374 | >> .V)>)> 375 | 376 | 377 | 378 | .V> 379 | 380 | <>) 382 | (T 383 | 385 | " CR>) 386 | (T ">)>)> 387 | 389 | ) 390 | (T )>> 391 | 392 | 393 | ) 394 | ( 395 | ) 396 | (T )>)> 397 | .RES)>> 398 | 399 | )) 400 | )> 401 | > 402 | >)> 403 | 404 | -------------------------------------------------------------------------------- /g.things: -------------------------------------------------------------------------------- 1 | 11 | 23 | 11 | 19 | 20 | 34 | 35 | ;"Yes, this synonym for LOCAL-GLOBALS needs to exist... sigh" 36 | 37 | 39 | 40 | 45 | 46 | ;"adjs. make ps?direction work for 'walk to east'" 47 | 54 | 55 | ; 59 | 60 | 65 | 66 | 71 | 72 | 77 | 78 | 82 | 83 | 86 | > 87 | 88 | ) 89 | ( 90 | ) 91 | (T 92 | 93 | >)> 94 | ;"Here is the default 'cant see any' printer" 95 | > 96 | > 97 | 98 | 100 | ; 101 | ; 102 | ;) 103 | (T 104 | ; 106 | Ich sehe das hier nicht!%<" CR> 107 | ; 108 | ;)> 109 | > 110 | 111 | ;)> 114 | )>) 115 | (.PRSO? 116 | <>>) 117 | (T 118 | <>>)>> 119 | 120 | > 122 | 123 | "Objects shared by all three Zorks go here" 124 | 125 | 126 | 127 | 128 | 129 | ; 134 | 135 | 142 | 143 | 145 | )>> 147 | 148 | 154 | 155 | 157 | > 158 | > 159 | ) 160 | ( 161 | % 162 | '> 163 | 165 | )>) 166 | (ELSE T)> 167 | ) 169 | ( 170 | > 171 | % 172 | '> 173 | I 175 | have waited three ages for someone to say those words and save me from 176 | sailing this endless ocean. Please accept this gift. You may find it 177 | useful!\" He throws something which falls near you in the sand, then sails 178 | off toward the west, singing a lively, but somewhat uncouth, sailor song." CR> 179 | 180 | ) 181 | (<==? ,HERE ,FLATHEAD-OCEAN> 182 | ) 184 | (T 185 | )>) 186 | (T )>) 187 | (T 188 | '> 189 | ) 191 | (<0? > 192 | ) 194 | (T 195 | )>)>)>> 196 | 197 | 203 | 204 | 206 | > 207 | 208 | ) 209 | % 210 | '( 211 | )) 212 | (T 213 | '( 214 | ))> 215 | ( 216 | )>> 217 | 218 | 226 | 227 | 229 | ) 231 | ( 232 | ) 234 | ( 235 | )>> 238 | 239 | 244 | 245 | 251 | 252 | 254 | > 255 | > 256 | ) 259 | ( 260 | > 261 | 262 | ) 263 | ( 264 | ) 265 | ( 266 | ) 267 | ( 268 | > 269 | ) 271 | (T 272 | )>) 273 | ( 274 | 275 | )>) 277 | ( 278 | ) 279 | ( 280 | 281 | '( > 282 | )) 284 | (<==? ,ZORK-NUMBER 3> 285 | '(,INVIS 286 | )) 288 | (T 289 | '( ))> 290 | (T 291 | % 292 | ') 294 | (ELSE 295 | ')>)>)>> 297 | 298 | 304 | 305 | 312 | 313 | 315 | ) 316 | ( 317 | 318 | )>> 319 | 320 | 326 | 327 | 329 | ) 331 | ( 332 | )>> 334 | 335 | 341 | 342 | ;"status line stuff" 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | "Host machine." 362 | "Width of screen in chars." 363 | ; "Center of screen." 364 | "Pixel width of characters." 365 | "Pixel height of characters." 366 | 367 | > 369 | > 370 | ,CWIDTH>> 371 | 372 | 373 | )> 374 | ; 1>> 375 | > 376 | 377 | > 378 | 379 | ;> 380 | 381 | 382 | ;> 383 | 384 | 385 | ; ;"This semi by Jeff" 386 | ;> 387 | 388 | 389 | 390 | 391 | 392 | )> ;"ren: JEFF - if Zuegen printed then needs" 393 | ; ;"to start one char to left, 65" 394 | 395 | 396 | > 397 | 398 | > "status line constructed here" 399 | > 400 | 401 | 402 | ; 403 | 404 | 406 | ;> 407 | 408 | 409 | > 410 | 411 | ; ; "Screen off." 412 | ; "Table on." 413 | 414 | ; "Table off." 415 | ; ; "Screen on." 416 | 417 | ; "Erase old HERE desc" 418 | > ; "Print new HERE desc." 419 | 420 | )> 421 | 422 | ;"in case score g%os down, move 1 col. to left and print space" 423 | 424 | 425 | 426 | ) 427 | (T 428 | 429 | 430 | 431 | ;"in case score g%os down, one col. to left and print space" 432 | 2 ;1>>> 433 | )> 434 | 435 | ;"Back to main screen." 436 | > 437 | 438 | > 0> 441 | ) 442 | (T 443 | )>> 444 | > 445 | 446 | 448 | ) 449 | (T 450 | 451 | 452 | >> 453 | >)>)> 454 | > -------------------------------------------------------------------------------- /g.fight: -------------------------------------------------------------------------------- 1 | 2 | < "The troll swings his axe, but it misses."> 3 | "Der Troll schwingt die Axt, aber er trifft nicht. 4 | " 5 | < "The troll's axe barely misses your ear." 6 | "Die Axt des Trolls geht haarscharf an deinem Ohr vorbei." 7 | < "The axe sweeps past as you jump aside."> 8 | "Die Axt fegt vorbei, als du zur Seite springst." 9 | < "The axe crashes against the rock, throwing sparks!">> 10 | "Die Axt schmettert so hart gegen den Stein, dass Funken spruehen." 11 | < 12 | < "The flat of the troll's axe hits you delicately on the head, knocking 13 | you out.">> 14 | "Die flache Seite der Axt trifft dich leicht am Kopf, und du wirst bewusstlos." 15 | < 16 | < "The troll neatly removes your head."> 17 | "Der Troll schneidet elegant deinen Kopf ab." 18 | < "The troll's axe stroke cleaves you from the nave to the chops."> 19 | "Die Axt des Trolls teilt dich in zwei gleiche Teile, von oben bis unten." 20 | < "The troll's axe removes your head.">> 21 | "Die Axt des Trolls haut dir den Kopf ab." 22 | < 23 | < "The axe gets you right in the side. Ouch!"> 24 | "Die Axt trifft dich direkt in die Seite. Au!" 25 | < "The flat of the troll's axe skins across your forearm."> 26 | "Die Flaeche der Axt des Trolls entfernt die Haut an deinem Unterarm." 27 | 28 | < "The troll's swing almost knocks you over as you barely parry 29 | in time."> 30 | "Die Schwuenge des Trolls hauen dich beinahe um, waehrend du sie kaum rechtzeitig parieren kannst." 31 | < "The troll swings his axe, and it nicks your arm as you dodge.">> 32 | "Der Troll schwingt seine Axt, trifft deinen Arm als du ausweichst." 33 | < "The troll charges, and his axe slashes you on your " WEAPON " arm."> 34 | "Der Troll greift an, und seine Axt verletzt dich an deinem Schwertarm." 35 | < "An axe stroke makes a deep wound in your leg."> 36 | "Ein Axthiebt hinterlaesst eine tiefe Wunde in deinem Bein." 37 | 38 | < "The troll's axe swings down, gashing your shoulder.">> 39 | "Die Axt des Trolls schwingt herunter, schlaegt dir die Schulter blutig. 40 | < 41 | < "The troll hits you with a glancing blow, and you are momentarily 42 | stunned."> 43 | "Der Troll trifft dich mit einem schnellen Schlag und du bist momentan ausser Gefecht gesetzt." 44 | 45 | < "The troll swings; the blade turns on your armor but crashes 46 | broadside into your head."> 47 | "Der Troll trifft, aber die Schneide wird von deiner Ruestung abgelenkt, trifft dich aber direkt in den Kopf." 48 | < "You stagger back under a hail of axe strokes."> 49 | "Du stolperst unter einem Hagel von Axtstreichen zurueck." 50 | < "The troll's mighty blow drops you to your knees.">> 51 | "Der maechtige Schlag des Trolls bringt dich auf die Kniee." 52 | < 53 | < "The axe hits your " WEAPON " and knocks it spinning."> 54 | "Die Axt trifft dein Schwert, und haut dich um." 55 | < "The troll swings, you parry, but the force of his blow knocks your " WEAPON " away."> 56 | "Der Troll schwingt, du parierst, aber die Gewalt seines Streiches schlaegt dir das Schwert aus der Hand." 57 | < "The axe knocks your " WEAPON " out of your hand. It falls to the floor.">> 58 | "Die Axt schlaegt dir das Schwert aus der Hand. Es faellt zu Boden." 59 | < 60 | < "The troll hesitates, fingering his axe."> 61 | "Der Troll zoegert, betastet seine Axt." 62 | < "The troll scratches his head ruminatively:Might you be magically 63 | protected, he wonders?">> 64 | "Der Troll kratzt sich nachdenklich am Kopf. Ob du wohl magische Kraefte hast, wundert er sich?" 65 | < 66 | < "Conquering his fears, the troll puts you to death.">>>> 67 | "Der Troll meistert seine Furcht und toetet dich." 68 | < 69 | < "The thief stabs nonchalantly with his stiletto and misses."> 70 | "Der Dieb sticht elegant mit dem Stilett und trifft nicht." 71 | < "You dodge as the thief comes in low."> 72 | "Du vermeidest das Stilett, als der Dieb tief sticht" 73 | < "You parry a lightning thrust, and the thief salutes you with 74 | a grim nod."> 75 | "Du parierst einen blitzartigen Stoss, und der Dieb bedient dich mit einem grimmigen Kopfnicken." 76 | < "The thief tries to sneak past your guard, but you twist away.">> 77 | "Der Dieb versucht, deine Abwehrstellung heimtueckisch zu durchbrechen, aber du windest dich aus seiner Richtung." 78 | < 79 | < "Shifting in the midst of a thrust, the thief knocks you unconscious 80 | with the haft of his stiletto."> 81 | "Indem er die Richtung seines Stosses aendert, trifft dich der Dieb mit dem Heft des Stiletts, du wirst bewusstlos." 82 | 83 | < "The thief knocks you out.">> 84 | "Der Dieb haut dich k.o."< 85 | < "Finishing you off, the thief inserts his blade into your heart."> 86 | "Dein Leben endet, als der Dieb die Schneide in dein Herz senkt." 87 | < "The thief comes in from the side, feints, and inserts the blade 88 | into your ribs."> 89 | "Der Dieb kommt von der Seite, macht ein Taeuschungsmanoever und setzt die Schneide zwischen deine Rippen." 90 | 91 | < "The thief bows formally, raises his stiletto, and with a wry grin, 92 | ends the battle and your life.">> 93 | "Der Dieb verbeugt sich formell, hebt das Stilett und mit einem haesslichen grinsen beendet er den Kampf und dein Leben." 94 | < 95 | < "A quick thrust pinks your left arm, and blood starts to 96 | trickle down."> 97 | "Ein schneller Hieb streift deinen linken Arm und Blut rinnt deinen Arm herunter." 98 | < "The thief draws blood, raking his stiletto across your arm."> 99 | "Blut beginnt zu fliessen, als der Dieb sein Stilett ueber deinen Arm recht." 100 | < "The stiletto flashes faster than you can follow, and blood wells 101 | from your leg."> 102 | "Das Stilett zuckt schneller, als Du denken kannst, und Blut fliesst von deinem Bein." 103 | < "The thief slowly approaches, strikes like a snake, and leaves 104 | you wounded.">> 105 | "Der Dieb kommt langsam naeher, schlaegt zu wie eine Schlange und laesst dich verwundet liegen." 106 | < 107 | < "The thief strikes like a snake! The resulting wound is serious."> 108 | "Der Dieb schlaegt zu wie eine Schlange! Die empfangene Wunde ist ernst!" 109 | < "The thief stabs a deep cut in your upper arm."> 110 | "Der Dieb versetzt dir einen tiefen Stich in den Oberarm." 111 | < "The stiletto touches your forehead, and the blood obscures your 112 | vision."> 113 | "Das Stilett beruehrt deine Stirm, und das herabrinnende Blut macht dich blind." 114 | < "The thief strikes at your wrist, and suddenly your grip is slippery 115 | with blood.">> 116 | "Der Dieb trifft dich am Handgelenk und ploetzlich wird dein Schwertgriff schluepfrig von dem Blut." 117 | < 118 | < "The butt of his stiletto cracks you on the skull, and you stagger 119 | back."> 120 | "Der Griff von seinem Stilett kracht auf deinen Schaedel, und du wankst zurueck." 121 | < "The thief rams the haft of his blade into your stomach, leaving 122 | you out of breath."> 123 | "Der Dieb rammt das Heft seines Messers in deinen Bauch und du verlierst den Atem." 124 | < "The thief attacks, and you fall back desperately.">> 125 | "Der Dieb greift dich an, und du faellst verzweifelt zurueck." 126 | < 127 | < "A long, theatrical slash. You catch it on your " WEAPON ", but the 128 | thief twists his knife, and the " WEAPON " goes flying."> 129 | "Ein langer theatralischer Sticht. Du parierst ihn auf deinem Schwert, aber der Dieb dreht sein Messer, und dein Schwert fliegt dir aus der Hand." 130 | < "The thief neatly flips your " WEAPON " out of your hands, and it drops 131 | to the floor."> 132 | "Der Dieb dreht dir das Schwert elegant aus der hand, und es faellt auf die Erde." 133 | < "You parry a low thrust, and your " WEAPON " slips out of your hand.">> 134 | "Du parierst einen Tiefschlag und dein Schwert schluepft dir aus der Hand." 135 | < 136 | < "The thief, a man of superior breeding, pauses for a moment to consider the propriety of finishing you off."> 137 | "Der Dieb, ein Mann aus guter Gesellschaft, stoppt fuer eine Minute, um zu ueberlegen, ob es in Ordnung ist, dein Leben zu beenden." 138 | < "The thief amuses himself by searching your pockets."> 139 | "Es amuesiert den Dieb, deine Taschen zu durchsuchen." 140 | < "The thief entertains himself by rifling your pack.">> 141 | "Der Dieb beschaeftigt sich damit, deinen Rucksack zu durchwuehlen." 142 | < 143 | < "The thief, forgetting his essentially genteel upbringing, cuts your 144 | throat."> 145 | "Fuer einen Moment vergisst der Dieb seine gute Kinderstube, er schneidet dir den Hals ab. 146 | < "The thief, a pragmatist, dispatches you as a threat to his 147 | livelihood."> 148 | "Der Dieb, ein Pragmatiker, sieht in dir eine Bedrohung seines Lebens." 149 | :>?HAARESBREITE.Schlag,. Dihm und wird von dem Schlag .rasender Schlagab drmitten troepfelt sEeser traf99 150 | 99!9$9(9-9B9C9T9U9V9W9]9^9h9i9j9l9s@]@ @yy@VfD67z"#klm%N I{wwpwwwwwwwwwwwwwwwww}0BnU J\ V|9u2`$p 5  B 151 |  152 | M{{{{{{{w{{{{{{{{{{{{{{{ 153 | M 154 |  155 | S " h ' o 4  6 h 156 | 9 157 | & 158 | pP MN JZ_{{{{{{{{{{ww{w{{{{{{{{{_N W#w:z< >z9h!aN|12y{{{{{{w{{{{{{{{{{{{{{{{ya(mn.r7Kezf)@46ygi/}{w{{{{{{{w{{w{{w{{{w{{{}~-`bIu'`$&o{KMv$h3\ {{{{{{{{{{{{{{{{{{{{{{{ 8g#j*5] " $ l 5 h!%!_!)!+!o!z"Z"[""6{{{{{{w{{{{{{{{{{{{w{{{"6#%#X##J$$ $C$t$M%8%%K%M%z&#&g&&b&d''R'T'{wwwwwww{{wwwwwww{wwwww''P'z(0(p(~(`)$)))`**v*w**2*w+9+|++z+{,A,c{{{{{w{w{{{w{{{{{{{w{{{,c,],_--*-}->. .P.a.8.y/ /j/l/1/{0.0i0,0611N1]{www{wwww{ww{wwwwwww{ww1]1B1D2 22c2&2;33G333N444e4u5H55^5`6P6U7{www{ww{wwwww{ww{www{{w77E7~7C7E8 88r808>9{{{{{{w{{{ 159 | stv^zieht sich eine tiefe Wunde in der Seite zu.brutaler Hieb sitztch verliert fuer die Orientierung ueberwaeltigt, er ist ueberwaeltigt.fliegt dem Dieb aus der Hand, womit ist""Zyklop Zyklop streift dichMonster schmettert seinedeinen koirbZyklop haut die Puste aus dem Leib.Zyklop lUngeachtet dwirft Zyklop FelsZyklop ,Monster packtquetscht es,Zyklop ;noch nie jemandem eine Chance gegeben hat, erschiesst sein bewusstloses Opfer." Jeff what is the exact meaning of "dispatch" here????fein saeuberlich ."von.Dund ,holt aus prallt an dannsodass es sich wie ein Kreisel dreht.Wucht fragtvon unten angreift.und Mit dir geht es zu Ende unternimmt tsausen laesst.dgreift an zurueckgreift an wie eine Schlange! Die, die du dir zuziehst nerschwert deine Sicht.,so heftig in deinen Bauch, dass du nach ringen musst.buehnenreifer gekonnt Hhaelt inneseinehatvergnuegt Jeff, what is the exact meaning of "dispatch" here. @@@@-@>@K@bAA 160 | A A AAAA'A/A?AFAKAQAWAnAtAvAAAAAAAAAA#A(A4A:A;BEBIBZB\B_B`BaBeBfBoByB}}B}B"B(B-B@BDB\BgBhBvBwCCC)C?C@CVCWC~C CC"C#C(C-C-C2C5C?Ct8Y9 %;")m18Y@@@@@@@@AB}C-Cts 161 |  162 | M_y} "6',c1]79tuvwxyz{|}~ 163 | ef dHU%m  Rc#$28 F G Q W 164 | f 165 | g 166 | h 167 | i 168 | m 169 | o 170 | H 171 | O K w O ] 172 |  173 | 57)8EVq~wi 174 |  !"s34uipPVW*GT,4DKU\bgSY_~]ce 175 | lx &*"#STgain ISWdui|-36CDEFHOmRV!!""%"9"C"V"d"h#\#9#^$d$j&<&A' ' )Q)U*n*+++6-G-M-N-{- ...(.2.^.e/9/Z/`/v0]0^0{01 1 176 | 2p222*313?3D4/474?4@666,616K6P6Y6\7)738[88Y9 177 | K99!{9$ 178 | 9(y9-d9By9CW9T9U 9V 9W +9]9^ 179 | A 180 | P9h _9i a9j e9l D@] f@  181 | N@ @'@#@-9@>\@KU@bfAu6A 182 | vHA JA FAA.A.A'A/&.A?;AFAAKAQ;AWkAnAt<jAvMAlAAyA AAA7KAA#WA(A4A:A;BE~BI BZ2OB\WB_nB`p rBa|Be"+Bf"GBo"c"}By#$B}$rB"$~B(&WB-(.B@*_BD+B\+3-OBg-WBh. 183 | Bv.Bw/5C/gC/hC)/oC?0WC@1CV1CW3C~3 184 | C 4#4*C5C"5&C#6C(6C-6/C26;C57C?8= -------------------------------------------------------------------------------- /zork1.record: -------------------------------------------------------------------------------- 1 | ZILCH of 6/8/89 11:26 2 | 3 | Combined ZIL Compiler Ver 2.0 (MIM) 4 | ----------------------------------- 5 | Input file: /HOME/DEVELOPMENT/OLD/GERMAN/ZORK1.ZIL 6 | [YZIP instructions] 7 | 8 | [Language is GERMAN, string escape is %] 9 | [Character set for GERMAN installed] 10 | 11 | Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/TELLS.ZABSTR. 12 | Loading /HOME/DEVELOPMENT/OLD/GERMAN/SYNTAX.ZIL and compiling it. 13 | Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/DUNGEON.ZABSTR. 14 | Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/GLOBALS.ZABSTR. 15 | Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/CLOCK.ZABSTR. 16 | Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/LOOP.ZABSTR. 17 | Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/PARSER.ZABSTR. 18 | Loading /HOME/DEVELOPMENT/OLD/GERMAN/VERBS.ZIL and compiling it. 19 | 20 | Compiling routine: V-VERBOSE 21 | Compiling routine: V-BRIEF 22 | Compiling routine: V-SUPER-BRIEF 23 | Compiling routine: V-INVENTORY 24 | Compiling routine: FINISH 25 | Compiling routine: V-QUIT 26 | Compiling routine: V-RESTART 27 | Compiling routine: V-RESTORE 28 | Compiling routine: V-SAVE 29 | Compiling routine: V-SCRIPT 30 | Compiling routine: V-UNSCRIPT 31 | Compiling routine: V-$ID 32 | Compiling routine: V-VERSION 33 | Compiling routine: V-VERIFY 34 | Compiling routine: V-COMMAND-FILE 35 | Compiling routine: V-RANDOM 36 | Compiling routine: V-RECORD 37 | Compiling routine: V-UNRECORD 38 | Compiling routine: V-ADVENT 39 | Compiling routine: V-ALARM 40 | Compiling routine: V-ANSWER 41 | Compiling routine: V-ATTACK 42 | Compiling routine: V-BACK 43 | Compiling routine: V-BLAST 44 | Compiling routine: PRE-BOARD 45 | Compiling routine: V-BOARD 46 | Compiling routine: V-BRUSH 47 | Compiling routine: TELL-NO-PRSI 48 | Compiling routine: PRE-BURN 49 | Compiling routine: V-BURN 50 | Compiling routine: V-CHOMP 51 | Compiling routine: V-CLIMB-DOWN 52 | Compiling routine: V-CLIMB-FOO 53 | Compiling routine: V-CLIMB-ON 54 | Compiling routine: V-CLIMB-UP 55 | Compiling routine: V-CLOSE-OR-LOCK 56 | Compiling routine: V-CLOSE-OR-UNLOCK 57 | Compiling routine: V-CLOSE 58 | Compiling routine: V-COMMAND 59 | Compiling routine: V-COUNT 60 | Compiling routine: V-CROSS 61 | Compiling routine: V-CURSES 62 | Compiling routine: V-CUT 63 | Compiling routine: V-DEFLATE 64 | Compiling routine: V-DIG 65 | Compiling routine: V-DIG-WITH 66 | Compiling routine: V-DISEMBARK 67 | Compiling routine: V-DISENCHANT 68 | Compiling routine: V-DRINK 69 | Compiling routine: V-DRINK-FROM 70 | Compiling routine: PRE-DROP 71 | Compiling routine: V-DROP 72 | Compiling routine: V-EAT 73 | Compiling routine: HIT-SPOT 74 | Compiling routine: V-ECHO 75 | Compiling routine: V-ENCHANT 76 | Compiling routine: REMOVE-CAREFULLY 77 | Compiling routine: V-ENTER 78 | Compiling routine: V-EXAMINE 79 | Compiling routine: V-EXIT 80 | Compiling routine: V-EXORCISE 81 | Compiling routine: PRE-FILL 82 | Compiling routine: V-FILL 83 | Compiling routine: V-FIND 84 | Compiling routine: V-FOLLOW 85 | Compiling routine: V-FROBOZZ 86 | Compiling routine: PRE-GIVE 87 | Compiling routine: V-GIVE 88 | Compiling routine: V-HATCH 89 | Compiling routine: V-HELLO 90 | Compiling routine: V-HINTS-OFF 91 | Compiling routine: V-INCANT 92 | Compiling routine: V-INFLATE 93 | Compiling routine: V-KICK 94 | Compiling routine: V-KISS 95 | Compiling routine: V-KNOCK 96 | Compiling routine: V-LAMP-OFF 97 | Compiling routine: V-LAMP-ON 98 | Compiling routine: V-LAUNCH 99 | Compiling routine: V-LEAN-ON 100 | Compiling routine: V-LEAP 101 | Compiling routine: V-LEAVE 102 | Compiling routine: V-LISTEN 103 | Compiling routine: V-LOCK 104 | Compiling routine: V-LOOK 105 | Compiling routine: V-LOOK-BEHIND 106 | Compiling routine: V-LOOK-INSIDE 107 | Compiling routine: V-LOOK-ON 108 | Compiling routine: V-LOOK-UNDER 109 | Compiling routine: V-LOWER 110 | Compiling routine: V-MAKE 111 | Compiling routine: V-MELT 112 | Compiling routine: PRE-MOVE 113 | Compiling routine: V-MOVE 114 | Compiling routine: V-MUMBLE 115 | Compiling routine: PRE-MUNG 116 | Compiling routine: V-MUNG 117 | Compiling routine: V-NO 118 | Compiling routine: V-ODYSSEUS 119 | Compiling routine: V-OIL 120 | Compiling routine: V-OPEN 121 | Compiling routine: V-OVERBOARD 122 | Compiling routine: V-PICK 123 | Compiling routine: V-PLAY 124 | Compiling routine: V-PLUG 125 | Compiling routine: V-POUR-ON 126 | Compiling routine: V-PRAY 127 | Compiling routine: V-PUMP 128 | Compiling routine: V-PUSH 129 | Compiling routine: V-PUSH-TO 130 | Compiling routine: PRE-PUT 131 | Compiling routine: V-PUT 132 | Compiling routine: V-PUT-BEHIND 133 | Compiling routine: V-PUT-ON 134 | Compiling routine: V-PUT-UNDER 135 | Compiling routine: V-RAISE 136 | Compiling routine: PRE-READ 137 | Compiling routine: V-READ 138 | Compiling routine: V-READ-PAGE 139 | Compiling routine: V-REPENT 140 | Compiling routine: V-REPLY 141 | Compiling routine: V-RING 142 | Compiling routine: V-RUB 143 | Compiling routine: V-SAY 144 | Compiling routine: V-SEARCH 145 | Compiling routine: V-SEND 146 | Compiling routine: V-SCHENKE 147 | Compiling routine: PRE-SGIVE 148 | Compiling routine: V-SGIVE 149 | Compiling routine: V-SHAKE 150 | Compiling routine: SHAKE-LOOP 151 | Compiling routine: V-SKIP 152 | Compiling routine: V-SMELL 153 | Compiling routine: V-SPIN 154 | Compiling routine: V-SPRAY 155 | Compiling routine: V-SQUEEZE 156 | Compiling routine: V-SSPRAY 157 | Compiling routine: V-STAB 158 | Compiling routine: V-STAND 159 | Compiling routine: V-STAY 160 | Compiling routine: V-SWIM 161 | Compiling routine: V-SWING 162 | Compiling routine: V-TRAGE 163 | Compiling routine: PRE-TAKE 164 | Compiling routine: V-TAKE 165 | Compiling routine: V-TELL 166 | Compiling routine: V-TEST-IT 167 | Compiling routine: V-THROUGH 168 | Compiling routine: V-THROW 169 | Compiling routine: V-THROW-OFF 170 | Compiling routine: V-TIE 171 | Compiling routine: V-TIE-UP 172 | Compiling routine: V-TREASURE 173 | Compiling routine: PRE-TURN 174 | Compiling routine: V-TURN 175 | Compiling routine: V-UNLOCK 176 | Compiling routine: V-UNTIE 177 | Compiling routine: V-USE 178 | Compiling routine: V-WAIT 179 | Compiling routine: V-WALK 180 | Compiling routine: V-WALK-AROUND 181 | Compiling routine: V-WALK-TO 182 | Compiling routine: V-WAVE 183 | Compiling routine: V-WEAR 184 | Compiling routine: V-WIN 185 | Compiling routine: V-WIND 186 | Compiling routine: V-WISH 187 | Compiling routine: V-YELL 188 | Compiling routine: V-YES 189 | Compiling routine: V-ZORK 190 | Compiling routine: V-FIRST-LOOK 191 | Compiling routine: DESCRIBE-ROOM 192 | Compiling routine: DESCRIBE-OBJECTS 193 | Compiling routine: DESCRIBE-OBJECT 194 | Compiling routine: PRINT-CONTENTS 195 | Compiling routine: PRINT-CONT 196 | Compiling routine: FIRSTER 197 | Compiling routine: SEE-INSIDE? 198 | Compiling routine: SCORE-UPD 199 | Compiling routine: SCORE-OBJ 200 | Compiling routine: YES? 201 | Compiling routine: ITAKE 202 | Compiling routine: IDROP 203 | Compiling routine: CCOUNT 204 | Compiling routine: WEIGHT 205 | Compiling routine: NO-GO-TELL 206 | Compiling routine: GOTO 207 | Compiling routine: LKP 208 | Compiling routine: DO-WALK 209 | Compiling routine: GLOBAL-IN? 210 | Compiling routine: FIND-IN 211 | Compiling routine: HELD? 212 | Compiling routine: OTHER-SIDE 213 | Compiling routine: MUNG-ROOM 214 | Compiling routine: THIS-IS-IT 215 | Abstracting VERBS to /HOME/DEVELOPMENT/OLD/GERMAN/VERBS. 216 | Loading abstract /HOME/DEVELOPMENT/OLD/GERMAN/ACTIONS.ZABSTR. 217 | Loading /HOME/DEVELOPMENT/OLD/GERMAN/HINTS.ZIL and compiling it. 218 | 219 | Compiling routine: V-HINT 220 | Compiling routine: PICK-QUESTION 221 | Compiling routine: ERASE-CURSOR 222 | Compiling routine: NEW-CURSOR 223 | Compiling routine: INVERSE-LINE 224 | Compiling routine: DISPLAY-HINT 225 | Compiling routine: PUT-UP-QUESTIONS 226 | Compiling routine: PUT-UP-CHAPTERS 227 | Compiling routine: INIT-HINT-SCREEN 228 | Compiling routine: CENTER-LINE 229 | Compiling routine: LEFT-LINE 230 | Compiling routine: RIGHT-LINE 231 | Abstracting HINTS to /HOME/DEVELOPMENT/OLD/GERMAN/HINTS. 232 | Vocabulary: 1074 233 | 234 | Prepositions: 39 235 | 236 | AB FEST HINTER NACH UM 237 | AN FUER HINUNTER NICHT UNTER 238 | AT HERAB HOCH NIEDER UP 239 | AUF HERUM IN OBJEKT VON 240 | AUS HERUNTER INSTAND QUER WEG 241 | DICH HERUNTERFALLEN LIEGEN RAUS WITH 242 | DURCH HINAUF LOS RUNTER ZU 243 | FALLEN HINEIN MIT UEBER 244 | 245 | Real globals: 166 246 | 247 | ABOVE-GROUND HINT-WARNING P-NCN 248 | AGAIN-DIR HINTS P-NOT-HERE 249 | AGAIN-LEXV HINTS-OFF P-NUMBER 250 | ALWAYS-LIT HOST P-OCLAUSE 251 | BASE-SCORE HOUSE-AROUND P-OFLAG 252 | BAT-DROPS HS P-ONEOBJ 253 | BDIGS IN-HOUSE-AROUND P-OTBL 254 | BEACH-DIG INDENTS P-OVTBL 255 | BUOY-FLAG JUMPLOSS P-PRSI 256 | C-DEMONS KITCHEN-WINDOW-FLAG P-PRSO 257 | C-INTS LAMP-TABLE P-SLOCBITS 258 | C-TABLE LIGHT-SHAFT P-SYNTAX 259 | CAGE-TOP LINE-TABLE P-TABLE 260 | CANDLE-TABLE LIT P-VTBL 261 | CHAPT-NUM LLD-FLAG P-WALK-DIR 262 | CHEIGHT LOAD-ALLOWED P-WON 263 | CLOCK-WAIT LOAD-MAX P-XADJ 264 | COFFIN-CURE LOUD-FLAG P-XNAM 265 | COLUMN-TABLE LOUD-RUNS PLAYER 266 | CUR-POS LOW-TIDE PRSA 267 | CWIDTH LUCKY PRSI 268 | CYCLOMAD MAGIC-FLAG PRSO 269 | CYCLOPS-FLAG MATCH-COUNT QUEST-NUM 270 | CYCLOPS-MELEE MIRROR-MUNG QUOTE-FLAG 271 | CYCLOWRATH MOVES RAINBOW-FLAG 272 | DEAD OHERE RESERVE-LEXV 273 | DEATHS OLD-LEN RESERVE-PTR 274 | DEF1 OOPS-INBUF RIVER-LAUNCH 275 | DEF1-RES OOPS-TABLE RIVER-NEXT 276 | DEF2-RES P-AADJ RIVER-SPEEDS 277 | DEF2A P-ACLAUSE ROBBER-C-DESC 278 | DEF2B P-ACT ROBBER-U-DESC 279 | DEF3-RES P-ADJ RUG-MOVED 280 | DEF3A P-ADVERB SCORE 281 | DEF3B P-ANAM SCORE-MAX 282 | DEF3C P-AND SING-SONG 283 | DEFLATE P-BUTS SPRAYED? 284 | DESC-OBJECT P-CCTBL SUPER-BRIEF 285 | DIROUT-TBL P-CONT SWIMYUKS 286 | DOME-FLAG P-DIR THIEF-ENGROSSED 287 | DROWNINGS P-DIRECTION THIEF-HERE 288 | DUMMY P-END-ON-PREP THIEF-MELEE 289 | EGG-SOLVE P-GETFLAGS TROLL-FLAG 290 | EMPTY-HANDED P-GWIMBIT TROLL-MELEE 291 | FALSE-FLAG P-HER-OBJECT VERBOSE 292 | FOREST-AROUND P-HIM-OBJECT VILLAINS 293 | FUMBLE-NUMBER P-INBUF WATER-LEVEL 294 | FUMBLE-PROB P-IT-OBJECT WHEEEEE 295 | GATE-FLAG P-ITBL WIDTH 296 | GATES-OPEN P-LEN WINNER 297 | GRATE-REVEALED P-LEXV WON-FLAG 298 | GRUNLOCK P-MATCHLEN XB 299 | GWIM-PRSO? P-MERGE XC 300 | HELLOS P-MERGED YUKS 301 | HERE P-MULT 302 | HERO-MELEE P-NAM 303 | 304 | Objects: 260 305 | 306 | ADVENTURER GATE PAINTING 307 | ADVERTISEMENT GHOSTS PATH 308 | ALTAR GLOBAL-OBJECTS PATHOBJ 309 | ARAGAIN-FALLS GLOBAL-WATER PEDESTAL 310 | ATLANTIS-ROOM GRATE POT-OF-GOLD 311 | ATTIC GRATING-CLEARING PRAYER 312 | ATTIC-TABLE GRATING-ROOM PUMP 313 | AXE GROUND PUNCTURED-BOAT 314 | BAG-OF-COINS GRUE PUTTY 315 | BAR GUIDE RAILING 316 | BARROW GUNK RAINBOW 317 | BARROW-DOOR HANDS RAISED-BASKET 318 | BAT HER RED-BUTTON 319 | BAT-ROOM HIM RESERVOIR 320 | BAUBLE HOT-BELL RESERVOIR-NORTH 321 | BELL IN-STREAM RESERVOIR-SOUTH 322 | BLUE-BUTTON INFLATABLE-BOAT RIVER 323 | BOARD INFLATED-BOAT RIVER-1 324 | BOARDED-WINDOW INTDIR RIVER-2 325 | BOAT-LABEL INTNUM RIVER-3 326 | BODIES IT RIVER-4 327 | BOLT JADE RIVER-5 328 | BONES KEYS ROOMS 329 | BOOK KITCHEN ROPE 330 | BOTTLE KITCHEN-TABLE ROUND-ROOM 331 | BRACELET KITCHEN-WINDOW RUG 332 | BROKEN-CANARY KNIFE RUSTY-KNIFE 333 | BROKEN-EGG LADDER SAILOR 334 | BROKEN-LAMP LADDER-BOTTOM SAND 335 | BROWN-BUTTON LADDER-TOP SANDWICH-BAG 336 | BUBBLE LAKE SANDY-BEACH 337 | BUOY LAMP SANDY-CAVE 338 | BURNED-OUT-LANTERN LAND-OF-LIVING-DEAD SCARAB 339 | CANARY LARGE-BAG SCEPTRE 340 | CANDLES LEAK SCREWDRIVER 341 | CANYON-BOTTOM LEAVES SHAFT-ROOM 342 | CANYON-VIEW LIVING-ROOM SHORE 343 | CELLAR LOCAL-GLOBALS SHOVEL 344 | CHAIN LOUD-ROOM SKULL 345 | CHALICE LOWER-SHAFT SLIDE 346 | CHASM LOWERED-BASKET SLIDE-ROOM 347 | CHASM-ROOM LUNCH SMALL-CAVE 348 | CHIMNEY LUNGS SMELLY-ROOM 349 | CLEARING MACHINE SONGBIRD 350 | CLIFF-MIDDLE MACHINE-ROOM SOUTH-OF-HOUSE 351 | CLIMBABLE-CLIFF MACHINE-SWITCH SOUTH-TEMPLE 352 | COAL MAILBOX SQUEEKY-ROOM 353 | COFFIN MAINTENANCE-ROOM STAIRS 354 | COLD-PASSAGE MAP STILETTO 355 | CONTROL-PANEL MATCH STONE-BARROW 356 | CRACK MAZE-1 STRANGE-PASSAGE 357 | CYCLOPS MAZE-10 STREAM 358 | CYCLOPS-ROOM MAZE-11 STREAM-VIEW 359 | DAM MAZE-12 STUDIO 360 | DAM-BASE MAZE-13 SWORD 361 | DAM-LOBBY MAZE-14 TEETH 362 | DAM-ROOM MAZE-15 THIEF 363 | DAMP-CAVE MAZE-2 TIMBER-ROOM 364 | DEAD-END-1 MAZE-3 TIMBERS 365 | DEAD-END-2 MAZE-4 TINY-CAVE 366 | DEAD-END-3 MAZE-5 TOOL-CHEST 367 | DEAD-END-4 MAZE-6 TORCH 368 | DEAD-END-5 MAZE-7 TORCH-ROOM 369 | DEEP-CANYON MAZE-8 TRAP-DOOR 370 | DIAMOND MAZE-9 TREASURE-ROOM 371 | DOME ME TREE 372 | DOME-ROOM MINE-1 TRIDENT 373 | DOOR-P MINE-2 TROLL 374 | EAST-OF-CHASM MINE-3 TROLL-ROOM 375 | EAST-OF-HOUSE MINE-4 TROPHY-CASE 376 | EGG MINE-ENTRANCE TRUNK 377 | EGYPT-ROOM MIRROR-1 TUBE 378 | EMERALD MIRROR-2 TWISTING-PASSAGE 379 | END-OF-RAINBOW MIRROR-ROOM-1 UP-A-TREE 380 | ENGRAVINGS MIRROR-ROOM-2 WALL 381 | ENGRAVINGS-CAVE MOUNTAIN-RANGE WATER 382 | ENTRANCE-TO-HADES MOUNTAINS WEST-OF-HOUSE 383 | EW-PASSAGE NAILS WHITE-CLIFF 384 | FOREST NARROW-PASSAGE WHITE-CLIFFS-NORTH 385 | FOREST-1 NEST WHITE-CLIFFS-SOUTH 386 | FOREST-2 NORTH-OF-HOUSE WHITE-HOUSE 387 | FOREST-3 NORTH-TEMPLE WINDING-PASSAGE 388 | FRONT-DOOR NOT-HERE-OBJECT WOODEN-DOOR 389 | GALLERY NS-PASSAGE WRENCH 390 | GARLIC ON-RAINBOW YELLOW-BUTTON 391 | GAS OWNERS-MANUAL ZORKMID 392 | GAS-ROOM PAINT 393 | 394 | Properties: 30 395 | 396 | P?ACTION P?CONTFCN P?LANDEN P?OST P?SO P?TEXT 397 | P?ADJDESC P?DESCFCN P?LDESC P?RAUF P?STRENGTH P?TVALUE 398 | P?ADJECTIVE P?FDESC P?NO P?RAUS P?SUED P?VALUE 399 | P?ADVFCN P?GLOBAL P?NORD P?RUNTER P?SW P?VTYPE 400 | P?CAPACITY P?HINEIN P?NW P?SIZE P?SYNONYM P?WEST 401 | 402 | Flags: 35 403 | 404 | ACTORBIT DIEBIT INVISIBLE OPENBIT STAGGERED TRYTAKEBIT 405 | BURNBIT DOORBIT KLUDGEBIT READBIT SURFACEBIT TURNBIT 406 | CLIMBBIT DRINKBIT LIGHTBIT RLANDBIT TAKEBIT VEHBIT 407 | CONTBIT FIGHTBIT NDESCBIT RMUNGBIT TOOLBIT WEAPONBIT 408 | DASBIT FLAMEBIT NONLANDBIT SACREDBIT TOUCHBIT WEARBIT 409 | DERBIT FOODBIT ONBIT SEARCHBIT TRANSBIT 410 | -------------------------------------------------------------------------------- /script.deaths: -------------------------------------------------------------------------------- 1 | 2 | *** BELOW ARE THE SEVERAL WAYS TO DIE IN ZORK I *** 3 | 4 | >BRUSH TEETH WITH GUNK 5 | "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." 6 | "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." 7 | 8 | >BURN LEAVES 9 | "The leaves burn, and so do you." 10 | "Die Blaetter stehen in Flammen, und du mit." 11 | 12 | >KILL THIEF WITH KNIFE 13 | "As the knife approaches its victim, your mind is submerged by an 14 | overmastering will. Slowly, your hand turns, until the rusty blade 15 | is an inch from your neck. The knife seems to sing as it savagely 16 | slits your throat."strange phrase in English???? 17 | "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." 18 | 19 | >JUMP OF CLIFF 20 | "It's a shame the leap you just attempted has done you in." 21 | "Wie tragisch! Der Sprung, den du gerade gewagt hast, bringt dich um." 22 | 23 | (NOTE: IN THE BOAT) 24 | "You are lifted up by the rising river! You try to swim, but the 25 | currents are too strong. You come closer, closer to the awesome 26 | structure of Flood Control Dam #3. The dam beckons to you. 27 | The roar of the water nearly deafens you, but you remain conscious 28 | as you tumble over the dam toward your certain doom among the rocks at its base." 29 | "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. 30 | 31 | 32 | "Unfortuneately, you have drowned yourself." 33 | "Leider hast du dich ertraenkt." 34 | 35 | "The rising water carries the boat over the dam, down the river, and over the falls. Tsk, tsk." 36 | "Das steigende Wasser traegt das Boot ueber den Damm, flussabwaerts und ueber die Faelle. Sowas Dummes." 37 | >LOOK AT CYCLOPS 38 | "The cyclops, tired of all of your games and trickery, grabs you firmly. 39 | As he licks his chops, he says \"Mmm. Just like Mom used to make 'em.\" 40 | "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."\" 41 | It's nice to be appreciated." 42 | "Es ist angenehm, geschaetzt zu werden." 43 | 44 | >BURN THE BODIES (IN HADES) 45 | "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." 46 | "Die Stimme des Kerkermeisters droehnt aus dem Dunkel\"Deine Nichtachtung wird dir dein Leben kosten\", und er steckt deinen Kopf auf einen spitzen Stock." 47 | 48 | >BURN THE BLACK BOOK 49 | "A booming voice says \"Wrong, cretin!\" and you notice that you have 50 | turned into a pile of dust. How, I can't imagine." 51 | "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." 52 | 53 | 54 | >WALK NORTH (INTO THE GAS ROOM) 55 | 56 | ** BOOOOOOOOOOOM ** 57 | 58 | 59 | (NOTE: THE RAINBOW GIVES WAY) 60 | "The structural integrity of the rainbow is severely compromised, leaving you hanging in midair, supported only by water vapor. Bye." 61 | "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." 62 | 63 | >PUT MYSELF IN RIVER 64 | "You splash around for a while, fighting the current, then you drown." 65 | "Du planschst fuer eine Weile wild im Wasser rum, um dich gegen die Stroemung zu halten, dann ertrinkst du." 66 | 67 | ... 68 | "Unfortunately, the magic boat doesn't provide protection from 69 | the rocks and boulders one meets at the bottom of waterfalls. 70 | Including this one." 71 | "Leider gewaehrt das Zauberboot keinen Schutz gegen Steine und Felsbloecke, die man unten am Wasserfall trifft. Auch gegen diesen nicht." 72 | 73 | THE BOAT DEFLATES... 74 | "Another pathetic sputter, this time from you, heralds your drowning." 75 | "Ein weiteres armseliges Ausblasen, diesmal kommt es aus dir 76 | bestaetigt dein Ertrinken." 77 | 78 | THE BOAT DEFLATES... 79 | "In other words, fighting the fierce currents of the Frigid River. You 80 | manage to hold your own for a bit, but then you are carried over a 81 | waterfall and into some nasty rocks. Ouch!" 82 | "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!" 83 | 84 | (NOTE: IF YOU DIG TOO DEEP) 85 | "The hole collapses, smothering you." 86 | "Das Loch bricht zusammen, du erstickst." 87 | 88 | DITTO 89 | "That was just a bit too far down." 90 | "Das war wohl ein wenig zu weit unten." 91 | 92 | 93 | FIGHTING A VILLAIN... 94 | "It appears that that last blow was too much for you. I'm afraid you 95 | are dead." 96 | "Es scheint, als ob der letzte Hieb dir den Rest gegeben hat. Es tut mir leid, aber du bist tot." 97 | 98 | DITTO 99 | "Well, you really did it that time. Is suicide painless?" 100 | "Na ja, diesmal hast du es endlich geschafft. Ist Selbstmord schmerzlos?" 101 | 102 | 103 | >THROW THING AT ME 104 | "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. 105 | 106 | 107 | >WALK NORTH 108 | "Oh, no! You have walked into a den of hungry grues and it's dinner time!" copy 109 | 110 | DITTO 111 | "Oh, no! You have walked into the slavering fangs of a lurking grue!"copy 112 | 113 | >ATTACK MYSELF 114 | "If you insist.... Poof, you're dead!" 115 | "Wenn du darauf bestehst.........Bum! Du bist tot." 116 | 117 | 118 | *** BELOW ARE SOME MORE MISCELLANEOUS TEXT STRINGS *** 119 | 120 | >TAKE THE SWORD AND THE LAMP 121 | "Those things aren't here!" 122 | "Diese Dinge sind nicht hier!" 123 | 124 | >LOOK AT THE THING 125 | "You can't see that here!" (RENATA: does the word 'that' depend on gender?) no 126 | "Das kannst du hier nicht sehen!" 127 | >PERSON, TAKE THE SWORD 128 | "The PERSON seems confused. ""I don't see that here!"" 129 | "Der PERSON scheint verwirrt""Ich sehe das hier nicht!"" 130 | 131 | >CLIMB STAIRS 132 | "You should say whether you want to go up or down." 133 | "Du musst sagen, ob du nach oben oder unten gehen willst." 134 | 135 | >SAILOR, GO AWAY 136 | "You can't talk to the sailor that way." 137 | "So kannst du mit dem Seemann nicht sprechen." 138 | 139 | >LOOK AT SAILOR 140 | "There is no sailor to be seen." 141 | "Hier ist kein Seemann zu sehen." 142 | 143 | >HELLO, SAILOR 144 | "You seem to be repeating yourself." 145 | "Du wiederholst dich." 146 | 147 | >HELLO, SAILOR 148 | "I think that phrase is getting a bit worn out." 149 | "Dieser Satz wird langsam langweilig." 150 | 151 | >HELLO, SAILOR 152 | "Nothing happens here." 153 | "Hier passiert garnichts." 154 | 155 | >DIG IN GROUND 156 | "The ground is too hard for digging here." 157 | "Hier ist der Boden zu hart zum Graben." 158 | 159 | >LOOK AT GRUE 160 | "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!" 161 | "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, 162 | auf die Lichtquelle zu achten." 163 | 164 | >LISTEN TO GRUE 165 | "It makes no sound but is always lurking in the darkness nearby." 166 | "Es gibt keinen Ton von sich, aber es liegt immer in der Naehe im Dunkeln." 167 | 168 | >TALK TO MYSELF 169 | "Talking to yourself is said to be a sign of impending mental collapse."copy 170 | 171 | >WAKE MYSELF UP 172 | "You're already wide awake!" 173 | "Du bist schon hellwach!" 174 | 175 | >EAT MYSELF 176 | "Auto-cannibalism is not the answer." 177 | "Selbst-Kanibalismus ist nicht die Loesung." 178 | 179 | >KILL MYSELF 180 | "Suicide is not the answer." 181 | "Selbstmord ist nicht die Loesung." 182 | 183 | >THROW MYSELF AT THE TROLL 184 | "Why don't you just walk like normal people?" 185 | "Warum laeufst du nicht wie normale Menschen?" 186 | 187 | >TAKE ME 188 | "How romantic!" 189 | "Ach, wie romantisch!" 190 | 191 | >LOOK AT MYSELF 192 | "Your image in the mirror looks tired." 193 | "Dein Spiegelbild sieht muede aus." 194 | 195 | >LOOK AT MYSELF 196 | "That's difficult unless your eyes are prehensile." 197 | "Das ist schwierig, ausser wenn deine Augen rausnehmbar sind." 198 | 199 | >WHAT IS A ZORKMID 200 | "The zorkmid is the unit of currency of the Great Underground Empire." 201 | "Zorkknete ist die Waehrung des Grossen Unterweltreiches." 202 | 203 | >FIND ZORKMID 204 | "The best way to find zorkmids is to go out and look for them." 205 | "Man findet Zorkknete am besten, indem man rausgeht, und sie sucht." 206 | 207 | *** BELOW ARE RESPONSES GIVEN WHEN YOU INPUT IS UNCLEAR *** 208 | (GENERAL NOTES: IN THE GAME, IF YOU MISSPELL A WORD, THE GAME WILL TELL YOU 209 | 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.) 210 | 211 | 212 | (NOTE: IF YOU TYPE NOTHING, AND JUST HIT RETURN) 213 | "I beg your pardon?" 214 | "Bitte ?" 215 | 216 | (NOTE: IF YOU TYPE A PERIOD AND THEN A RETURN WITH NO WORDS) 217 | "I can't help your clumsiness." 218 | "Das war tolpatschig." 219 | 220 | (NOTE: IF YOU TYPE >OOPS SOMETHING AND THE SOMETHING WAS IN A QUOTE) 221 | "Sorry, you can't correct mistakes in quoted text." 222 | "Es tut mir leid, aber Fehler im vorgegebenen Text lassen sich nicht korrigieren." 223 | 224 | (NOTE: IF YOU TYPE ">OOPS WORD1 WORD2") 225 | "Warning: only the first word after OOPS is used." 226 | "Warnung: nur das erste Wort nach HOPPLA kann gelten." 227 | 228 | (NOTE: IF YOU TYPE "OOPS" AFTER YOU DIDN'T MISSPELL SOMETHING) 229 | "There was no word to replace!" 230 | "Hier gab es kein Wort zu ersetzen!" 231 | 232 | (NOTE: IF YOU TYPE "OOPS" AFTER AN INCOMPLETE INPUT GAME) 233 | "It's difficult to repeat fragments." 234 | "Gespraechsfetzen wiederholen ist schwierig." 235 | 236 | (NOTE: IF YOU TYPE "AGAIN" AFTER A BAD SENTENCE INPUT) 237 | "That would just repeat a mistake." 238 | "Das wuerde den Fehler nur wiederholen." 239 | 240 | 241 | "That sentence was not understood." 242 | "Dieser Satz ist nicht verstanden worden." 243 | 244 | 245 | "There were too many nouns in that sentence." 246 | "Der Satz hatte zu viele Substantive ." 247 | 248 | 249 | "Please consult your manual for the correct way to talk to other people or creatures." 250 | "Bitte lies die Anleitung zum Spiel, um die richtige Anrede zu finden, die man fuer andere Leute oder Biester benutzt. 251 | >LOOK AT THING 252 | "The word is not in the story's vocabulary of understanding." 253 | "Dieses Wort kann nicht von dem Spielvokabular verstanden werden." 254 | 255 | >LOOK AT THE DIG (NOTE: DIG IS RECOGNIZED ONLY AS A VERB) 256 | "You used the word "dig" in a way that I don't understand." 257 | "Du hast das Wort "graben" so gebraucht, dass ich es nicht verstehen kann." 258 | 259 | >DOG THE TROLL 260 | "There was no verb in that sentence!" 261 | "In diesem Satz fehlt das Verb!" 262 | 263 | 264 | "That sentence isn't recognized by the story." 265 | "Das Spiel erkennt diesen Satz nicht." 266 | 267 | >WHO IS TROLL 268 | "That question can't be answered." 269 | "Diese Frage kann nicht beantwortet werden." 270 | 271 | >TROLL, LOOK AT THE BUTTON 272 | "I don't understand! What are you referring to?" 273 | "Ich verstehe das nicht! Worauf beziehst du dich?" 274 | 275 | >LOOK AT THE RED 276 | "There seems to be a noun missing in that sentence!" 277 | "In diesem Satz scheint ein Substantiv zu fehlen!" 278 | 279 | "It's too dark to see!" 280 | "Es ist zu dunkel, um das zu sehen." 281 | 282 | >DROP SWORD 283 | "You don't have that!" 284 | "Das hast du nicht!" 285 | 286 | "You don't have the SWORD." 287 | "Du hast den SCHWERT nicht." 288 | 289 | >READ THE LEAFLET 290 | (taking the leaflet first) 291 | (Das Blatt erst nehmen) 292 | 293 | The leaflet says... ect. 294 | "Auf dem Blatt steht.......etc. " We might have to talk about the syntax here??? Jeff. 295 | 296 | 297 | >LOOK AT THE RED 298 | It's not clear what you're referring to." 299 | "Es ist nicht klar, worauf du dich beziehst." 300 | 301 | 302 | >LOOK AT THE SWORD AND LAMP 303 | You can't use multiple direct objects with "look." 304 | "Man kann mehrere Akkusative nicht mit "ansehen" gebrauchen." 305 | I need more feedback on that, R. Yes, Hildegunde also! 306 | 307 | 308 | >HIT THE TROLL WITH SWORD AND KNIFE 309 | You can't use multiple indirect objects with "hit." 310 | need mor feedback. 311 | 312 | >LOOK 313 | "It's too dark to see." 314 | "Es ist zu dunkel, um etwas zu sehen." 315 | 316 | >TAKE THE SWORD AND LAMP 317 | Sword: Taken. 318 | The other object that you mentioned is not here. 319 | "Schwert: genommen." 320 | Das andere Ding, von dem du sprichst, ist nicht hier." 321 | 322 | >TAKE ALL 323 | "There's nothing here you can take." 324 | "Es gibt hier nichts, das man wegnehmen kann." 325 | :>?*****************************( uUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT0**************>M',x}[_^c11 }}}}}w@ J,-aby$^_l<=TYLq{wsssssoosssssssssskqr=ZUj    > _ ` 326 | @ 327 | ) 328 | :  K{{{{{{{{{{ws{{{{{ww{{w K  2 [ \ x 329 |  330 | + 331 | , 332 | A:fgi  333 |  >D{wwwwsswwwwswwwwwwwwoDqrN;<@=R\]r9v(o2^%{wwwswwwww{wwwwwwwwww{%&Bh=efg}BM/06p:;<ON{{{{{{{{{{{{{w{{{w{{{sNOP\,-3}~ 4hij!"?[z{^{{{w{{w{{{{{{{{{{{{{w{{P  334 | LBqr#EFUz!Ryz{{{{{{{{{{{{{{{{{{{{{{{z !<=Lw !/>Ffgw9cdt+{{{{{{{{{ww{{{{w{{w{{{{+,8^  6 Z [ v $ S T ] m!!!!=!a!b!r!&{{{{{{{{{{{{{{{{{{{{{{{!&!e!f!y"@"{"|" 335 | "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( ( 336 | ( (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.. . 337 | .&.Y//N/O/P{{{{{{{{w{{{{{{{{{ss{{/P/t/(/;/</B/Z0000)0Z0o0&0'010V1{{{{{{{{{{{{{{{{{^01j 338 | iw!J'1,0@@@ 1 cq KD%Nz+!&$e'b+--/P1defghijklmnopqr 339 | ef --------------------------------------------------------------------------------