DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T r

⟦2ad0f1cb9⟧ TextFile

    Length: 4174 (0x104e)
    Types: TextFile
    Names: »repeat.d«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/General/Adventure/adv_db/repeat.d« 

TextFile

REPEAT
	BIT   ADMIN,TICKER
	   CALL  TICK
	FIN
	BIT   STATUS,MOVED
	ELSE
	   PROCEED
	FIN
	BIT   THERE,ONE.EXIT
	   AND
	IFLOC DWARF,THERE
	   GOTO  THERE
	   BIC   STATUS,MOVED
	   SAY   DWARFBLOCK
	   PROCEED
	FIN
	IFNEAR   FOG {must be done before clearing MOVED flag}
	   CALL  PHOG
	FIN
	BIC   STATUS,MOVED
	ADD   MOVES,1
	BIT   ADMIN,DEMO
	   SET   I,MAX.DEMO
	ELSE
	   SET   I,MAX.GAME
	FIN
	IFEQ  MOVES,I
	   SAY   WIZARD.ENDS
	   CALL  FINIS
	FIN
	IFNEAR   LAMP
	   IFEQ  LAMP,1
	      SUB   LAMPLIFE,1
	      IFEQ  LAMPLIFE,40
		 OR
	      IFEQ  LAMPLIFE,0
		 CALL  LAMPREY
	      FIN
	   FIN
	FIN
	IFLOC GOBLINS,LIMBO {resting place}
	ELSE
	   APPORT   GOBLINS,HERE
	   IFGT  GOBLINS,-1
	      SAY   GOBLIN.CHASE
	   FIN
	   ADD   GOBLINS,1
	FIN
	SET   K,0
	BIT   HERE,LIT
	   SET   K,1
	ELSE
	   IFNEAR   LAMP
	      IFEQ  LAMP,1
		 SET   K,1
	      FIN
	   FIN
	FIN
	BIT   HERE,BEENHERE
	   AND
	BIT   STATUS,QUICKIE
	   OR
	BIT   STATUS,FASTMODE
	   SET   J,0   {list objects immediately after place description}
	ELSE
	   SET   J,1   {stick blank line after place description}
	FIN
	IFEQ  K,1
	   SAY   HERE
	   BIT   HERE,BEENHERE
	      SET   K,0
	   FIN
	   BIS   HERE,BEENHERE
	   ITLIST I
	      IFNEAR   I
		 AND
		 NOT
	      IFHAVE   I
		 BIS   I,SEEN
		 IFEQ  J,1
		    AND
		    NOT
		 BIT   I,INVISIBLE
		    SAY   BLANK
		    SET   J,0
		 FIN
		 SAY   I
	      FIN
	   EOI
	   IFHAVE   BEAR
	      SAY   I.C.A.BEAR
	   FIN
	ELSE
	   BIT   THERE,LIT
	      OR
	   CHANCE   75
	      OR
	   BIT   ADMIN,RANOUT   {don't fall if lamp just died}
	      SAY   ITISNOWDARK
	   ELSE
	      SAY   CRUNCH
	      CALL  CORONER
	   FIN
	FIN
	BIC   ADMIN,RANOUT      {clear "lamp just died"}
	IFAT  Y2
	   CHANCE   35
	      SAY   SAYSPLUGH
	   FIN
	FIN
	IFNEAR   GOBLINS
	   ADD   GOBLINS,1
	   IFGT  GOBLINS,6  {highest existing state}
	      CALL  CORONER
	   FIN
	FIN
	IFLOC DWARF,LIMBO
	ELSE
	   BIT   HERE,NOTINCAVE
	      OR
	   BIT   HERE,NODWARF
	   ELSE
	      APPORT   DWARF,HERE
	   FIN
	FIN
	BIT   HERE,NOTINCAVE
	ELSE
	   SUB   CLOCK,2
	   SUB   CLOCK,K     {compensating factor for new rooms}
	   IFLT  CLOCK,1
	      CALL  CLOCK4
	   FIN
	FIN
	IFNEAR   DWARF
	   BIC   PIRATE,SPECIAL1
	   IFGT  DWARFCOUNT,0
	      IFEQ  DWARROWS,1
		 SAY   DWARFHERE
	      ELSE
		 VALUE DWARVESHERE,DWARROWS
	      FIN
	      SET   J,DWARROWS
	      ADD   J,4
	      RANDOM   J,J
	      SUB   J,3
	      IFGT  J,0
		 IFEQ  J,1
		    SAY   KNIFETHROWN
		 ELSE
		    VALUE KNIVESTHROWN,J
		 FIN
		 SET   I,INVCT
		 MULT  I,-5
		 ADD   I,95     {it's hard to hit a moving target}
		 BIT   DWARF,SPECIAL2  { (is he mad?) }
		    SUB   I,20
		 FIN
		 IFEQ  MUSHROOM,2
		    ADD   I,25
		 FIN
		 DIVIDE I,J     {slim chance if more than 1 knife!}
		 CHANCE   I
		    OR
		 BIT   DWARF,SPECIAL1
		    IFEQ  J,1
			SAY   MISSES
		    ELSE
			SAY   KNIVESMISS
		    FIN
		    BIC   DWARF,SPECIAL1
		 ELSE
		    IFEQ  J,1
			SAY   GETSYOU
		    ELSE
			SAY   KNIFEGOTYOU
		    FIN
		    CALL  CORONER
		 FIN
	      FIN
	   FIN
	FIN
	IFLOC LAMP,YLEM
	   AND
	IFAT  ROAD
	   AND
	IFLT  CLOSURE,4      {lamp vanishes during end-game}
	   SAY   LAMP.DEAD!
	   SET   QUITTING,1
	   CALL  FINIS
	FIN
REPEAT
	BIT   HERE,HINTABLE
	   ADD   HINT.TIME,1
	   IFGT  HINT.TIME,30
	      AND
	      NOT
	   BIT   HERE,INMAZE
	      OR
	   IFGT  HINT.TIME,50
	      CALL  HINT.LOGIC
	   FIN
	ELSE
	   SET   HINT.TIME,0
	FIN
	IFEQ  BLOB,16
	   APPORT   BLOB,HERE
	FIN
	SET   INVCT,0
	ITOBJ I
	   IFHAVE   I
	      AND
	      NOT
	   BIT   I,FREEBIE
	      ADD   INVCT,1
	   FIN
	EOI
	INPUT
	SUB   FOOBAR,1
	ADD   TURNS,1
	IFEQ  STATUS,0
	   QUIT
	FIN
	BIT   ARG1,BADWORD
	   SAY   WHAT?
	   QUIT
	FIN
	IFKEY SAY
	   CALL  PRESAY
	FIN
	IFGT  STATUS,1
	   BIT   ARG2,BADWORD
	      LDA   I,RESTORE   {last special command}
	      IFGT  ARG1,I
		 NAME  NOCOMPRENDE,ARG2
		 QUIT
	      FIN
	   FIN
	FIN
	CALL  HERE
	BIT   ARG1,PLACE
	   IFAT  ARG1
	      SAY   YOU.ARE.THERE
	   ELSE
	      SAY   NO.CAN.GO
	   FIN
	ELSE
	   CALL ARG1
	   BIT   ARG1,OBJECT
	      IFNEAR   ARG1
		 NAME  WHAT.DO,ARG1
	      ELSE
		 NAME  IDONTSEE,ARG1
	      FIN
	   ELSE
	      CALL  BAILOUT
	   FIN
	FIN