Bruce_Kahn@maytag.ceo.dg.COM.UUCP (11/24/87)
Here is that detailed info for you Wizardry people. Sorry for the
delay but our net died.
The source for this info is an article in the August '83 issue of InCider. The
following information was digested and organized by me. The information is
derived from examining the supplied program. The article is worth reading if
you have the time (but dont bother to type in the program, there are plenty of
commercially avaiable Wiz editors out there). The information is not quite
accurate for Wiz III as different encoding/storage scheme is used (for more
info/items and the like). I am assuming that you will be working on a BACKUP
of the character disk, not your masters. There are 2 reasons, I have not
played with the info on a master and neither should you. Make 2 backups, just
in case.
Each character takes up 208 bytes of disk space. Each character is given an
entire sector for their info. This leaves 48 bytes for future use (probably
for Wiz III and the promised yet never delivered other scenarios). Not all of
the locations in the sector are addressed as they are Pascal Pointers (2
bytes). If there are some locations that are not expalined then that is
because they are not described in the article. If there are any corrections to
this then let me know. The following is "map" of what information is stored in
the sector and where each player is stored:
Player # Track Sector (Note: All values in Decimal, not Hex)
1 0 0
2 0 13
3 0 11
4 0 9
5 0 7
6 0 5
7 0 3
8 0 1
9 1 0
10 1 13
11 1 11
12 1 9
13 1 7
14 1 5
15 1 3
16 1 1
17 2 0
18 2 13
19 2 11
20 2 9
Sector Information, offset from start of sector:
Offset Description/Field
-------- -----------------------------------------------------------------
001-015 Character Name
017-031 Password for character
032 0 = in castle, else = ? (relates to 200-205)
034 Race
036 Class of character
038-039 Age in weeks (38 = low byte, 39 = hi byte)
040-041 Pointer to/status of character (0 = alive, else =
dead/transfered)
042 Orientation of character
044-047 Characteristic bytes. Decoded by:
Strength = [44] - int([44]/32)*32
IQ = int([44]/32) + ([45] - int([45]/4)*4)*8
Piety = int([45]/4) - 32 * int([45]/128)
Vitality = [46] - int([46]/32)*32
Agility = int([46]/32) + ([47] - int([47]/4)*4)*8
Luck = int([47]/4) - 32 * int([47]/128)
Maximum values for each is 18; To achieve maximum values use
the following values correspondingly: 82,74,82,74
052-055 Gold (052 = lowest byte, 055 = highest byte)
058 Item count; number of items a character has.
060-116 Cursed item flag part 1; Indexed in increments of 8; value
of 0 = uncursed; value other than 0 = cursed
062-118 Cursed item flag part 2; Indexed in increments of 8; value
of 0 = uncursed; value other than 0 = cursed
064-120 Identified/equiped item flag (relates to 058); Indexed in
increments of 8; value of 1 = identified/item owned; value
other than 1 = item not owned/not identified
066 Item number 1
074 Item number 2
082 Item number 3
090 Item number 4
098 Item number 5
106 Item number 6
114 Item number 7
122 Item number 8
124-127 Experience (124 = lowest byte, 127 = highest byte)
130-131 Level of character (double checking 132-133??)
132-133 Level of character (132 = low byte, 133 = hi byte)
134 Present hit points
136 Total hit points
138-140 Used in conjunction with Mage spells. Usage ??
140-144 Used in conjunction with Priest spells. Usage ??
146-158 Array of available Mage spells. Index by increments of 2 (ie:
[146] = # level 1 spells, [148] = # level 2...)
160-174 Array of available Priest spells. Index by increments of 2 also.
176 Armor class
177 If [177] > 0 then armor class = armor class - 256
200-201 Distance of character to the East
202-203 Distance of character to the North
204-205 Level where character is now
Race information:
Value Description
---- ---------------------
1 Human
2 Elf
3 Dwarf
4 Gnome
5 Hobbit
Class information:
Value Description
----- -----------------------
1 Fighter
2 Mage
3 Priest
4 Thief
5 Bishop
6 Samurai
7 Lord
8 Ninja
Status information:
Value Description
---- ------------------------
1 Ok
2 Afraid
3 Asleep
4 Paralyzed
5 Stoned
6 Dead
7 Ashes
8 Lost Forever
Orientation information:
Value Description
---- ---------------
1 Good
2 Neutral
3 Evil
Items information:
As there are over 134 items in all (for all 3 scenarios) I wont type all the
information in now. If people want it I can arrange to get it to them. Why
not play around with the values and see what you get.