Source:Eamon Variables List
This page is a verbatim reproduction of original source material and should not be edited except for maintenance. | |
Description |
A list of variables used in Eamon, first published as a "Dungeon Designs" column in the September 1992 issue of the EAG newsletter, and then distributed by Zuchowski as a standalone document at Mac GUI with filename EAMON.VAR.LIST and catalog number 19410. |
---|---|
Source | |
Date |
September 1992 |
Author | |
License |
It is believed that the use of this copyrighted item in Eamon Wiki qualifies as fair use under the copyright law of the United States. |
Dungeon Designs
A complete listing of all variables in the MAIN PGM:
A
|
Temporary variable and counter | ||||||||||||||||||||||||||||
A$
|
String read in from EAMON.DESC Full command typed by player Name of Art. being PUT or GIVEn | ||||||||||||||||||||||||||||
A$(*)
|
Artifact names | ||||||||||||||||||||||||||||
A%(x,y)
|
Artifact data; x is Art. number; (see below for values of y )
| ||||||||||||||||||||||||||||
A2
|
Temporary variable and counter | ||||||||||||||||||||||||||||
AC
|
Armor Class of armor brought by player from Main Hall | ||||||||||||||||||||||||||||
AE
|
Armor Expertise; affects combat odds | ||||||||||||||||||||||||||||
AR
|
Artifact number of ARmor being worn | ||||||||||||||||||||||||||||
B
|
FAST.START parm byte; used to compute if FAST.START file is valid
| ||||||||||||||||||||||||||||
B$
|
Name of Monster being GIVEn to Name of Monster being REQUESTed from Name of Artifact being PUT | ||||||||||||||||||||||||||||
B%
|
Ampersand Integer array search variable used to pass the last location to be searched to the ampersand routine Temporary variable | ||||||||||||||||||||||||||||
BA
|
Money in BAnk | ||||||||||||||||||||||||||||
BV$(*)
|
Attack Verbs used during melees | ||||||||||||||||||||||||||||
C
|
Command array number of current command | ||||||||||||||||||||||||||||
C%
|
Ampersand search routine Counter | ||||||||||||||||||||||||||||
C$(*)
|
Command verb array | ||||||||||||||||||||||||||||
CC
|
Line counter for printing valid commands | ||||||||||||||||||||||||||||
CH
|
Player's CHarisma | ||||||||||||||||||||||||||||
CP
|
Number of Columns of display (40 or 80) | ||||||||||||||||||||||||||||
CZ$
|
Command given in last round of play | ||||||||||||||||||||||||||||
D
|
Temporary variable Direction being moved (123456 = NSEWUD) Number of dice for combat resolution | ||||||||||||||||||||||||||||
D$
|
CHR$(4) for DOS
| ||||||||||||||||||||||||||||
D%
|
Value to be searched for by Ampersand Integer array search routine | ||||||||||||||||||||||||||||
D2
|
Damage points taken by Defender in combat | ||||||||||||||||||||||||||||
D3
|
Counter variable | ||||||||||||||||||||||||||||
DF
|
Monster number of DeFender in combat | ||||||||||||||||||||||||||||
DI
|
"DIe" flag-set to 1 if player is killed | ||||||||||||||||||||||||||||
EA
|
Armor Expertise weighting factor | ||||||||||||||||||||||||||||
ED$
|
String: "EAMON.DESC" | ||||||||||||||||||||||||||||
EM
|
"EMbedded" location checked by Artifact search routine at 4800 | ||||||||||||||||||||||||||||
ER$
|
String: "EAMON.ROOMS" | ||||||||||||||||||||||||||||
F
|
"Found" flag-set to 1 if a match is found by the search routines at 4700 and 4800 | ||||||||||||||||||||||||||||
F(*)
|
Total hits taken in combat:F(1) = enemies in roomF(3) = player and friends in room
| ||||||||||||||||||||||||||||
F1
|
Low byte of top of free memory before string is read in from EAMON.DESC | ||||||||||||||||||||||||||||
F2
|
High byte of top of free memory before string is read in from EAMON.DESC | ||||||||||||||||||||||||||||
FF$
|
Form Feed character CHR$(12) required by Videx 80-column cards
| ||||||||||||||||||||||||||||
FR
|
Temporary variable used to compute FRiendliness of newly met monsters | ||||||||||||||||||||||||||||
G
|
Monster number of Guard of bound monster | ||||||||||||||||||||||||||||
GO
|
Player's GOld | ||||||||||||||||||||||||||||
HA
|
"HAve" (being carried) location checked by Artifact search routine at 4800 | ||||||||||||||||||||||||||||
HI
|
"HIt" flag-set to 1 if defender has been hit in combat | ||||||||||||||||||||||||||||
HM
|
"HIMEM" variable; used to compute if FAST.START file is valid
| ||||||||||||||||||||||||||||
K
|
Temporary variable used when attacking artifacts and freeing bound monsters | ||||||||||||||||||||||||||||
L
|
Line counter for screen pause | ||||||||||||||||||||||||||||
LA
|
Length of records in EAMON.ARTIFACTS | ||||||||||||||||||||||||||||
LK
|
Temporary flag variable-set to 1 if INVENTORY finds artifacts being carried or if OPEN finds artifacts in a container | ||||||||||||||||||||||||||||
LL
|
Number of lines in string read in from EAMON.DESC | ||||||||||||||||||||||||||||
LM
|
Length of records in EAMON.MONSTERS | ||||||||||||||||||||||||||||
LR
|
Length of records in EAMON.ROOMS | ||||||||||||||||||||||||||||
LS
|
Artifact number of artifact being carried that is current Light Source | ||||||||||||||||||||||||||||
LT
|
LiT Room flag-set to 1 if room is lit | ||||||||||||||||||||||||||||
M
|
Temporary counter variable | ||||||||||||||||||||||||||||
M$
|
Monster name being searched by array search routine at 4700 | ||||||||||||||||||||||||||||
M$(*)
|
Monster names | ||||||||||||||||||||||||||||
M%(x,y)
|
Monster data; 'x' is monster number; (Monster '0' is the player)
| ||||||||||||||||||||||||||||
M2
|
Temporary variable and counter | ||||||||||||||||||||||||||||
MC
|
Counter for group Monsters during combat | ||||||||||||||||||||||||||||
MR%
|
Number of monsters that flee from combat | ||||||||||||||||||||||||||||
NA
|
Number of Artifacts (including those brought by player from the Main Hall) | ||||||||||||||||||||||||||||
NC
|
Number of valid Commands | ||||||||||||||||||||||||||||
ND
|
Number of valid Directions | ||||||||||||||||||||||||||||
NE
|
Number of Effects | ||||||||||||||||||||||||||||
NL
|
Flag set to 1 if room is Naturally Lit | ||||||||||||||||||||||||||||
NM
|
Number of Monsters | ||||||||||||||||||||||||||||
NR
|
Number of Rooms | ||||||||||||||||||||||||||||
NX
|
Number of eXits from room | ||||||||||||||||||||||||||||
NZ
|
Number of artifacts in database (not including those brought by player) | ||||||||||||||||||||||||||||
OF
|
Monster number of attacker in combat | ||||||||||||||||||||||||||||
Q
|
Temporary variable used in GIVE, PUT | ||||||||||||||||||||||||||||
Q$
|
Temporary input string used in GIVE, PUT | ||||||||||||||||||||||||||||
R
|
Record number to be read in from EAMON.DESC Temporary random number | ||||||||||||||||||||||||||||
R2
|
Number of room being moved to | ||||||||||||||||||||||||||||
R3
|
Number of room last moved from | ||||||||||||||||||||||||||||
RB$(*)
|
Verb that describes non-hit attack result | ||||||||||||||||||||||||||||
RD%(*)
|
Array containing exits from room | ||||||||||||||||||||||||||||
RE
|
REcord number of player character in CHARACTERS file on Main Hall disk | ||||||||||||||||||||||||||||
RL
|
Temporary random number; temporary variable | ||||||||||||||||||||||||||||
RN$
|
Room Name of present room | ||||||||||||||||||||||||||||
RO
|
ROom number of present room | ||||||||||||||||||||||||||||
S
|
Number of dice Sides used to compute damage in combat Array location of Spell data for spell being cast | ||||||||||||||||||||||||||||
S$
|
Subject (object) of command | ||||||||||||||||||||||||||||
S2%(*)
|
Current level of Spell abilities | ||||||||||||||||||||||||||||
SA%(*)
|
Absolute level of Spell abilities | ||||||||||||||||||||||||||||
SE$
|
SEx of player character | ||||||||||||||||||||||||||||
SH
|
Artifact number of SHield being worn | ||||||||||||||||||||||||||||
SL
|
Temporary variable used for S$ String Length during array searches
| ||||||||||||||||||||||||||||
SM$(*)
|
SMILE response verbs | ||||||||||||||||||||||||||||
SP
|
SPEED spell counter until expiration | ||||||||||||||||||||||||||||
SU
|
Flag set to 1 if spellcast was SUccessful | ||||||||||||||||||||||||||||
SX
|
Temporary variable used when ATTACKing artifacts | ||||||||||||||||||||||||||||
SY
|
Artifact number of SYnonym | ||||||||||||||||||||||||||||
SY$
|
Name of SYnonym | ||||||||||||||||||||||||||||
T(*)
|
Total hardiness of combat groups:T(1) = enemiesT(3) = friends
| ||||||||||||||||||||||||||||
TA
|
Flag set to 1 to tell ATTACK code that it is handling a BLAST spellcast | ||||||||||||||||||||||||||||
TP
|
Total value of loot sold at end of game | ||||||||||||||||||||||||||||
UP
|
Flag to increase weapon ability | ||||||||||||||||||||||||||||
V$
|
Command Verb | ||||||||||||||||||||||||||||
V%(*)
|
'Seen' flag for rooms | ||||||||||||||||||||||||||||
W
|
Weapon number of player Counter at end of game for player's Weapons | ||||||||||||||||||||||||||||
W2
|
Complexity of readied Weapon Counter used at initialization to search for duplicate artifact names Number of Weapons carried by player at end of game | ||||||||||||||||||||||||||||
W5
|
Input variable for Weapon number that player is selling at end of game | ||||||||||||||||||||||||||||
WA%(*)
|
Player Weapon type Abilities | ||||||||||||||||||||||||||||
WD%(*,*)
|
Weapon Data for weapons taken back to the Main Hall | ||||||||||||||||||||||||||||
WH
|
"WHere" location checked by Artifact search routine at 4800 | ||||||||||||||||||||||||||||
WM
|
Computed odds of achieving a hit during combat | ||||||||||||||||||||||||||||
WP$(*)
|
Names of all Weapons being carried by Player at end of game | ||||||||||||||||||||||||||||
WP%(*)
|
Artifact number of all Weapons being carried by Player at end of game | ||||||||||||||||||||||||||||
WT
|
Combined WeighT of all artifacts being carried by player | ||||||||||||||||||||||||||||
X
|
Temporary variable and counter | ||||||||||||||||||||||||||||
Z
|
Number of artifact that is being PUT |
"Seen" flags
These variables tell the YOU SEE routine whether it should print the long description of the room, artifact, or monster. If the 'Seen' flag is zero, the description is printed.
Search Routine variables
The variables EM
, HA
and WH
are used by the various command routines to pass location search parameters to the artifact array search routine at 4800 and the monster array search routine at 4700. The default values for these are:
EM
|
<EMbedded> Room number + 200 |
HA
|
<HAve it> - 1 (carried by player) |
WH
|
<WHere> Room number |
For example, the EXAMINE command would use these defaults, in order to look for artifacts in the room, both seen and unseen, and carried by the player. But the DROP command will set all three of these to (-1) so that only artifacts being carried by the player will be found by the search routine. The GET routine sets HA = WH
so that the player can't GET something that he is already carrying.
When the search routines at 4700 or 4800 have completed their search, they set the variable F = 1
if an artifact or monster is matched to the object specified by the player's command, but set F = 0
if no match was found;
Artifact arrays
The first five array locations of all artifacts are identical:
A%(x,0)
|
"Seen" flag |
A%(x,1)
|
Value |
A%(x,2)
|
Type |
A%(x,3)
|
Weight |
A%(x,4)
|
Location |
There are ten different formats for the next four array locations, depending on what the artifact type is:
Type 0 (Gold), 1 (Treasure):
A%(x,5)
|
Not used |
A%(x,6)
|
Not used |
A%(x,7)
|
Not used |
A%(x,8)
|
Not used |
Type 2 (Weapon), 3 (Magic Weapon)
A%(x,5)
|
Weapon type |
A%(x,6)
|
Complexity |
A%(x,7)
|
Number of dice |
A%(x,8)
|
Number of dice sides |
Type 4 (Container)
A%(x,5)
|
Artifact number of key |
A%(x,6)
|
Strength |
A%(x,7)
|
Set to 1 if open |
A%(x,8)
|
Not used |
Type 5 (Lightable)
A%(x,5)
|
Counter until extinguished |
A%(x,6)
|
Not used |
A%(x,7)
|
Not used |
A%(x,8)
|
Not used |
Type 6 (Drinkable)
A%(x,5)
|
Healing amount |
A%(x,6)
|
Number of uses |
A%(x,7)
|
Set to 1 if open |
A%(x,8)
|
Not used |
Type 7 (Readable)
A%(x,5)
|
Record number of 1st Effect |
A%(x,6)
|
Number of Effects to print |
A%(x,7)
|
Set to 1 if open |
A%(x,8)
|
Not used |
Type 8 (Door/Gate)
A%(x,5)
|
Number of room beyond |
A%(x,6)
|
Artifact number of key |
A%(x,7)
|
Strength |
A%(x,8)
|
Set to 1 if hidden |
Type 9 (Key)
A%(x,5)
|
Not used |
A%(x,6)
|
Not used |
A%(x,7)
|
Not used |
A%(x,8)
|
Not used |
Type 10 (Bound Monster)
A%(x,5)
|
Monster number when freed |
A%(x,6)
|
Artifact number of key |
A%(x,7)
|
Monster number of Guard |
A%(x,8)
|
Not used |
Type 11 (Wearable)
A%(x,5)
|
Armor class (not implemented) |
A%(x,6)
|
Type (not implemented) |
A%(x,7)
|
Not used |
A%(x,8)
|
Not used |
That pretty much covers all of the variables. See the DDD manual for more information.
ProDOS NOTE: Most of the DOS 3.3 MAIN PGM Init code at 31000 and 33000 is broken out into a separate program named MAKE.FAST.START. The MAIN.PGM uses the FAST.START VAR file generated by this program to save memory and for much faster startups. Once you have entered your data, run MAKE.FAST.START before testing the adventure.
Also note that ProDOS adventures as distributed by the EAG do not usually contain the data files EAMON.ARTIFACTS nor EAMON.MONSTERS. This data is contained in the FAST.START file. If you want to edit or list the adventure data, first run the program MAKE.ARTS.MONS to generate the two missing data files. If you make a change to the artifact or monster data, be sure to rerun MAKE.FAST.START when done to update the FAST.START file.
|