Disciples of Steel – Chronicles of CyHagan

Disciples of Steel - Chronicles of CyHagan

Cheat Codes:
------------
Disciples of Steel stores your characters in a file called #.CHR,
where # is a number from 1 to 8.  Load this file into your favorite hex
editor (I prefer Norton's DISKEDIT).

There can be up to 24 characters in the roster, though there can be
only 8 characters in your party at a time.  Each character is stored in
a block of 200 ($0190) bytes, starting with the character's name in
lower case.  Here are the relative offsets from the start of the
character block:

Offset Name		Offset			Type
-----------------	------			----
Character's Name	$0000-$0009		10-character string,
						padded with spaces ($20)
Experience Points	$000E-$0011		4-byte unsigned integer
Strength		$0062			1 byte? (see notes)
Intelligence		$0064			1 byte?
Wisdom			$0066			1 byte?
Accuracy		$0068			1 byte?
Intuition		$006A			1 byte?
Constitution		$006C			1 byte?
Charisma		$006E			1 byte?
Luck			$0070			1 byte?

NOTE: I'm not sure why there's an extra byte between stats.  Either
the second byte is for modified stats (boosted by magic items, etc.)
or the stats are 2-byte unsigned integers.

Skill Name		Offset			Type
-----------------	------			----
Armor			$0072-$0073		All skills are 2-byte
Shield			$0074-$0075		unsigned integers.
Dodge			$0076-$0077
Edged			$0078-$0079
Crush			$007A-$007B
Axe			$007C-$007D
Spear			$007E-$007F
Bow			$0080-$0081
Open Hand		$0082-$0083
Track			$0084-$0085
Hide			$0086-$0087
Disarm			$0088-$0089
Backstab		$008A-$008B
Steal			$008C-$008D
Perception		$008E-$008F
Karma			$0090-$0091
Essence			$0092-$0093
Power			$0094-$0095
Haggle			$0096-$0097
Firstaid		$0098-$0099
Resistance		$009A-$009B
Body			$009C-$009D
                                        
     I haven't deciphered these offsets yet: $000A-$000D
			      		     $0012-$0061
					     $009E-$018F

I'm pretty sure that $0012-$0061 contains items in your inventory
and a flag indicating whether or not they're currently equipped, but I
haven't figured out the format yet.  Your hit points by location, armor
by location, and money are probably stored here somewhere.  I don't
think $009E-$018F has any purpose at all, since it seems to contain just
zeroes ($30) and spaces ($20), probably just to pad the character out to
exactly 200 bytes.

Note that these are _relative_ offsets from the start of each
character's block.  For example, the Strength for the second character
in the roster would be at the _absolute_ offset $01F2 (each character
block is $0190 bytes long, and the Strength offset is $62, therefore
$0190+$0062 = $01F2).

Don't forget to make a backup of the character file before you edit
it, in case you make a mistake.  If you don't have a hex editor, or
don't want to do the work yourself, I'm writing a cheat program and/or
an UGE module that you can use.  Look for it here, soon.

Leave a Comment

Your email address will not be published. Required fields are marked *