(RCS ID: $Id: MANUAL,v 1.1 1996/10/17 05:53:18 bjorn Exp $)

CONDITIONS
----------

All conditions take one argument, except "something" and "nothing".

Name	Scottdec	Checks for
----	--------	----------
has 	HAS		Item <arg> is carried by player.
here	IS_in_AR	Item <arg> is in the current room.
avail	IS_AVAIL	Item <arg> available, i.e. carried or in
			the current room.
!here	IS_NOT_in_AR	Item <arg> is not in the current room.
!has	HAS_NOT		Item <arg> is not carried by player.
!avail	IS_NOT_AVAIL	Item <arg> unavailable, i.e. neither carried
			nor in the current room.
exists	IS_NOT_in_ROOM0	Item <arg> is in a real room or carried by
			the player, as opposed to in the store-room
			(room zero).
!exists	IS_NOT_in_ROOM0	Item <arg> is in the store-room (room zero).
in	PLAYER_IN	Player is in room <arg>.
!in	PLAYER_NOT_IN	Player is not in room <arg>.
set	SET_BIT		Flag <arg> is set.
!set	CLEARED_BIT	Flag <arg> is cleared.
something HAS_SOMETHING	(Takes no argument)  The player is carrying
			something.
nothing HAS_NOTHING	(Takes no argument)  The player is carrying
			nothing.
le	COUNTER <=	The timer (or current counter) is less than
			the number <arg>.
gt	COUNTER >	The timer is greater the number <arg>.
eq	COUNTER ==	The timer is equal to the number <arg>.
!moved	IS_in_OrigROOM	Item <arg> has not been moved from its
			initial room.
moved	IS_NOT_in_OrigROOM	Item <arg> has been moved from its
			initial room.

OPERATIONS
----------

Moving operations
~~~~~~~~~~~~~~~~~
Name	Scottdec	Does
----	--------	----
get	GET		Checked get of item.  Give item <arg> to
			the player, provided the item is in the
			current room and that the player can carry
			one more item.
steal	GET_ALWAYS	Unchecked get.  Like "get", but no check
			is made that the player can carry it.
drop	MOVE_INTO_AR	If the player is carrying item <arg>, put
			it in the current room.
goto	GOTO		Move player to room <arg>.
zap	REMOVE		Item <arg> is removed from the game
			(put in the store-room).
move	MOVE_X_INTO_Y	Move item <arg1> to room <arg2>.
swap	SWAP_ITEMS	Swap owners of items <arg1> and <arg2>.
swap	SELECT_RV	Swap the current room with saved room in
	SWAP_LOC_RV	room register <arg>.  [Note 4.]
same	PUT_X_WITH_Y	Put item <arg1> in the same room as item <arg2>.

Flag operations
~~~~~~~~~~~~~~~
Name	Scottdec	Does
----	--------	----
on	SET_BIT		Turn on the flag <arg>.  To turn on the
	SET_NIGHT	darkness flag, turn on the flag marked
	SET_BIT (0)	as darkness flag.  [Note 1]
off	CLEAR_BIT	Turn off the flag <arg>.  To turn off the
	SET_DAY		darkness flag, turn off the flag marked
	CLEAR_BIT (0)	as darkness flag.  [Note 1]

Timer operations
~~~~~~~~~~~~~~~~
Name	Scottdec	Does
----	--------	----
add	COUNTER +=	Add number <arg> to the timer. [Note 3]
sub	COUNTER -=	Subtract number <arg> from the timer. [Note 3]
timer	COUNTER =	Set time to number <arg>.  The highest
			value allowed is 255.  If you need to set
			the timer to, say, 300, first set it to
			200 and then use "add" to add 100 to it.
			[Note 2.]
swap	SWAP_COUNTER	Swap the timer with timer register <arg>.
			[Note 4.]

See also: ".timer" for printing a timer.

Printing
~~~~~~~~
Name	Scottdec	Does
----	--------	----
.score	SCORE		Show the score accumulated so far.  Will
			end the game if the score is 100.
.room	LOOK		Redisplay the description of the room.
.noun	ECHO_NOUN	Echo the noun the player typed.
.noun_nl ECHO_NOUN_CR	Echo the noun the player typed followed by
			a newline.
.nl	CR		Print a newline.
.inv	INVENTORY	Show inventory.
.timer	PRINT_COUNTER	Print the current value of the timer.
cls	CLS		(Only in the TRS-80 format.)  Clears the
			screen.  Effect varies from interpreter
			to interpeter, from no effect and upwards.
			

Ending the game
~~~~~~~~~~~~~~~
Name	Scottdec	Does
----	--------	----
die	KILL_PLAYER	Kill player: Move him/her to the last
			room, turn on light and (for TI-99/4)
			change the screen to the blood-red color.
			This does not necessarily end the game;
			some games "support" resurrection.
			Use "quit" after "die" to end the game.
ignore	[n/a]		[Must check this.] Don't change the color of
			the screen at "quit".  Only in TI-99/4 format.
success	[n/a]		[Must check this.] At next "quit", change the
			screen to indicate success. [Must find out
			which color it is.]  Only in TI-99/4 format.
quit	QUIT		End the game.

See also: .score (in Printing)

Miscellanous
~~~~~~~~~~~~
Name	Scottdec	Does
----	--------	----
try	CONTINUE:	See special description.
save	SAVE		Save game.
refill	FILL_LAMP	Refill the lamp (or other light source).
delay	DELAY		Two-second delay.
inv	[n/a]		Turns on automatic inventory.  Only in TI-99/4
			format.  (This is default.)
!inv	[n/a]		Turns off automatic inventory.  Only in TI-99/4
			format.  This is used in the Scott Adams adventure
			"Mission Impossible", so that you must do a
			manual inventory if you want to see the bomb
			detector.  Note that TRS-80 interpreters never
			show the inventory automatically.
pic	show_pic	(For the TRS-80 format only.)  Shows picture
			number <arg>, if the interpreter provides pictures.
			How the pictures, if any, are stored depends on
			the interpreter.
nop	[never listed]	No operation.


Note 1: The compiler will generate the correct SET_BIT or SET_NIGHT
	action depending on the number on the flag.  The same
	applies to "off".

Note 2: This limitation is due to the TI-99/4 format, in which
	arguments are stored in a single byte.  The TRS-80 format
	allows bigger values.

Note 3: The interpreter for TI-99/4 has two argument-less operations
	to increment by one and to decrement by one, as well as the
	general operations which takes an argument.  The compiler will
	automatically choose the shorter operations if the value is
	one.  The TRS-80 format has a short operation for decrementing
	the counter, but not for incrementing.

Note 4: "Swap" is used to denote three different operation in the
	interpreter.  The compiler has no troble keeping them apart,
	because the arguments have different types. 
	If you want it to be easy for a human, too, to spot
	the difference, I suggest naming the room registers starting
	with rr_ and the timer registers starting with tr_.
