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