The Exile II Hex List
                                    of John Mazzu

8/05/2003

This list is currently the only worthwhile compilation of Exile II: Crystal
Souls save game hex addresses and values, as far as I know.

The homepage for this file is www.geocities.com/yhnmzw/JEx2-121.txt, and
therefore, the most recent version should also be there.


To effectively use this or any other hex hacking list, one must have a hex
editor.  Since they all basically do the same thing, you may use whatever
you wish.  With a set of characters to copy & paste, you could probably even
use your text editor of choice.  I discuss mine below.

I use Winhex for Hex editing.  It may be procured at www.winhex.com.  It is
shareware.

I advise you to view this under Edit.com for most purposes.  To those that
do not understand what I mean, ".com" was a filename ending for certain
executable programs in DOS.  Don't dis DOS.  It still works, and reasonably
well.  Otherwise, use a fixed-width font, such as Courier, but I make no
promises as to the nature of certain characters (letter-units).

Copyright 2003 John Mazzu.
This list is by me, John Mazzu.

This may be not be reproduced under any circumstances except for personal,
private use. It may not be placed on any web site or otherwise distributed
publicly without advance written permission. Use of this guide on any other
web site or as a part of any public display is strictly prohibited, and a
violation of copyright.

I hereby allow for private, undistributed alterations for readability, but
it is not to be combined into another file.  (It is to remain complete and
separate from other works, thereby retaining its character.)  Such modified
copies, just like my original, should not be distributed, though I would take
such changes under advisement, if they are submitted.

To submit a hex address or value (that I lack), or to send suggested
alterations, I may be contacted at yhnmzw-@yahoo.com.  Please do not put me
on a mailing or forwarding list.  I have only recently beaten back a tide of
junk mail, and I wish not to have a new deluge.  Additionally, there are no
hyphens(-) in my addresses.  Take them out.

Version history according to GameFAQs convention:
1.00:   The first version, assembled from work I had before deciding to write
        this List.
1.10:   Addition of Race/Traits, original version history.
1.11:   Wording and spacing changes (aesthetic changes).
1.12:   More subtle aethetic changes.
1.13:   Wording changes.
1.14:   Format changes, clarifications.  At this time, my computer lost its
        Windows 95 installation, and I might have left it that way.
1.20:   Aesthetic changes.  Also, I revised the addresses for items, because
        some of my information was incorrect theory.
        Proper, formal explanation of the workings of the numbers for Items.
1.21:   Finished working out numbers; because of this, I also took out all
        of my older, less-correct information.


Please note:  Though all of the values I provide are in hex, the addresses
are decimal.

                        Table of Contents:

1.      Movement.
        A.      Overworld Coordinates.
        B.      Town and Dungeon Coordinates.
        C.      Party Status Conditions Allowing for Movement.
                Boats.
                Flight.
                Firewalk.

2.      Character Status.
        A.      Permanent Conditions.
                Race/Traits.
                MP.
                Skill Points.
                Magics Known.
        B.      Items.
                Notes.

3.      Special Items.
        A.      An Introduction.
        B.      Soul Crystal Slots.
                Some Monsters.

4.      How Numbers Are Stored in an Exile II Saved Game.
        A.      5C=0.
        B.      6B=0.
        C.      Binary XOR Chart for Hex.

                        And now...

1.              Movement.

A.      Overworld coordinates are strange, and I have yet to completely
understand it.  Two locations seem able to have the same value, so there is
another address controlling larger areas, such as an AutoMap block.
        Horizontal:     The addresses 4684 and 4686
        Vertical:       The addresses 4685 and 4687
        The pairs may work in tandem.  See Part 4A for an explanation.

B.      Town and dungeon coordinates are simple in this game.  They are the
distance from the top-left corner of the map.  It is a good idea to have the
game saving your maps.
        Horizontal:     The address 88123
        Vertical:       The address 88124

C.      There are a few things that allow for special movement.  I only have
information on Flight, Firewalking, and Boats.  I learned something that,
in retrospect, would be obvious.  Each boat seems to have its own ID#s.

        Boats:  Each boat has a unique set of ID#s.  The addresses vary for
        various boats.  Cross water, and also lava in towns.  These values
        cause the party to be in a specific boat.  If you need a boat for a
        body of water, and it is not where you need it, it can be called back.
        To be in a boat if you want to be in one (you can be currently on
        land), set the following addresses to the following values:
                4898=   A8
                4900=   51
                35400=  4C

        Flight: Flight is a whole-party status condition that allows for the
        crossing of chasms and water.  It has a limited length of effect,
        measured by steps.
        This is one of the strange counters.
        Null (0) is 5C here.  See Part 4A.
                The address 3700

        Firewalking is a status condition that allows the party to cross lava
        safely.  It may be individually set in battles, but battles are
        rarely on lava.
        Null is also 5C here.  See Part 4A.
                The address 3704


2.              Character status.

A.      Permanent conditions:

        It should be noted that conditions for adjacent PCs are 1581 offsets
        apart, so those for the PC 2 ahead would be 3162 forward.

        Race/Traits:    These affect the strengths and weaknesses of your
                PCs in potentially very powerful ways.  "Magically Inept"
                and "Pacifist" can really screw you up.  Here, you can
                switch your high-level, disadvantaged PC's Traits into pure
                advantages, however, don't take the challenge out of the
                game.
                Here, 6B is "off", and 6A is "on".

                Here are the Traits addresses for PC 1:
             Advantages
                56021:  Toughness
                56022:  Magically Apt
                56023:  Ambidexterous
                56024:  Nimble Fingers
                56025:  Cave Lore
                56026:  Good Constitution
             Disadvantages
                56027:  Sluggish
                56028:  Magically Inept
                56029:  Frail
                56030:  Pacifist
             One of Three
                56031:  Race:   6B:     Human
                                6A:     Nephil
                                69:     Slith

        MP:     MP is supposed to stop at 99, but with a little work, one can
        have 255 max MP.
        The value 94 yields 255 max MP.
        See Part 4B for a full explanation.

        PC1:    54544
        PC2:    56125
        PC3:    57706
        PC4:    59287
        PC5:    60868
        PC6:    62449

        Skill:  Skill points are the other currency needed to buy ability
        levels.  Normally, they are only earned, little by little, upon
        gaining levels.
        Once again, 94 yields 255 skill points.  See Part 4B.

        PC1:    54548
        PC2:    56129
        PC3:    57710
        PC4:    59291
        PC5:    60872
        PC6:    62453

        Magics known:   In this game, the magics are in a given order, and
        each offset is assigned one magic.
        Here, 6B means "not known", and 6A means "known".  Here is the
        address for the Level 3 Mage Spell "Resist Magic" (#30).
        I believe that the Priest Spells are after the Mage Spells.
        PC1:    55947
        PC2:    57528
        PC3:    59109
        PC4:    60690
        PC5:    62271
        PC6:    63852

B.      Items:  Strangely or not, this is where item data resides.  Anyway,
        this is a really big, really important part of this game.  As opposed
        to other games that I have played, in this game, all of the qualities
        of an item are set in that item in your inventory. The best way to
        clarify that is to state that I have a Demonslayer and I also have a
        Demonslayer(+2).  My Scrioth flames, a Mithral Short Sword restores
        MP, and a Mithral Chain Mail replaces Micah's gloves.  My addresses
        are formed from an obscure address, but I will put some notes on the
        addresses at the end.
        These were determined starting from 62006, PC5's 15th slot.  The
        sequence should be the same for the slots, though.  Feel free to add
        others, but please remember to submit them, so that I may enjoy them.
        For the values that yield numbers in the game, 94 yields 255.

        The numbers are added to the first number of the slot.
        Equippable items have different responses to different values.  If
        There is no listing in a later column to match a place in the first
        column, then the meaning may be the same for both.  It may be that,
        if an item has a potion-type use, and there is no "level" (the name
        of a space in the in-game item explanation screen), then it will have
        a maximum effect.  That, or it is specified in the program, but I do
        not have info on item "levels".

        Phase Two Info:  My first sub-project of Phase Two nature (that is,
        it is putting data into an address that I did not extract from
        changes inside the game) was to check the odd addresses here.  They
        seem to be the upper two digits of the number, but they work a bit
        differently than the even digits.  They seem to cause strange
        behaviors, which may be undesirable.

        See Part 4B for a proper explanation.

                Weapon          Armor

        +0:     Begin (should be set to 6A if you are making a new item.)
        +2:     Damage          Defense
        +4:     Encumbrance     Encumbrance
        +6:     Bonus           Bonus
        +8:     Defence         ???
        +10:    # Of Uses- if blank, may allow infinite uses.
        +14:    Graphic associated (See mixed.bmp in the folder with
                Exile2.exe)
        +16:    Special effect: null=6B/slaydemon=59/slaygiant=58
                flaming=4A/micahsgloves=08/ap+1=35/fightbetter=0E/
                Strong Skill Potion=74/if you want
                others, find them. Items without a set number of uses are
                reusable.
                Potion effects work.
        +24:    Wether or not ID'd (Here, 6B is null, and 6A is "on".)
        +26:    Determines wether or not a weapon is magical.  Even if a
                weapon is not magical, if it has an effect (see above), it
                cannnot be augmented.  (Here, 6B is null, and 6A is "on".)
        +60:    End?


        Notes:
        I would have put in the strings for certain items, but they are so
        plentiful and flexible that any available item can be converted into
        something much more powerful than could exist normally.
        Any sword could be Dmg255/Bns510/Def255.  No combination of normal
        items could yield such power.

        Here are my notes on item slot hex addresses:

                Some addresses:
                PC1's 14th slot begins at       55603.
                PC1's 15th slot begins at       55682.
                PC5's 15th slot begins at       62006.
                PC6's 16th slot begins at       63666.

        You should see that the individual slots of a single PC differ by 79
        from the beginning of one slot to the beginning of the next (or
        previous) slot.


3.              Special items.

A.      An introduction to special items:       Special items are items that
        have approximately one effective use each.  These are the rare and
        valuable artifacts that the player cannot be trusted to deal with.
        I have almost no information on these because it would depreciate
        from the game much more than all of my other addresses.  I have
        exactly one good address to work with.  Actually, one could get free
        clearances, but the advantages from using this list, or from the
        Exile II Editor, are such that one can earn them easily enough, and
        in due time, more importantly.

B.      Soul Crystal slots:     These are the only user-variable special
        items.  The Soul Crystal is earned in the Vahnatai Lands, and is
        used with the Capture Soul and Simulacrum Mage Spells.
                37508:  Slot 1
                37509:  Slot 2
                37510:  Slot 3
                37511:  Slot 4

        Hex Values For Some Monsters:
                5C:     Empty
                2A:     Soul Crystal
                30:     Vahnatai Blademaster
                C0:     Athron
                C3:     Garzahd
               [DF:     DoomGuard]

                Please note:  The extra monsters formed from wounding a
                splitting monster will be hostile, so therefore, UNDER NO
                CIRCUMSTANCES SHOULD DOOMGUARD BE SUMMONED!  This is
                unfortunate, because it would be so fun to have an expanding
                legion of such monsters to attack enemies.  Stay with magic
                users for such purposes (They will summon new monsters for
                your purposes.).  The list from which you may choose monsters
                and determine the correct value is in Exile2.exe.  Use a
                simple text editor like Edit.com to read it.

                Since 5C is empty, or 0, see Part 4A for an explanation of
                how to make values for the sequence of monsters.


4.              How Numbers Are Stored in an Exile II Saved Game.

A.      Explanation of 5C=0 Numbers:  The hex values used for stats for the
        party as a whole are mostly of this variety.  Numbers stored in this
        way are confusing to work with, unless you know their secret.

        They are protected in a simple way by performing the binary XOR
        operation with this number and 5C.

        See Section C for a chart for generating values.

B.      Explanation of 6B=0 Numbers:  The hex values used for PCs' stats in
        Exile II in a saved game are not simply the decimal value as it
        appears in the game.  As I have repeated for each different value,
        6B represents zero in the game.  I finally realized, after a quick
        experiment, that the reason that 6B is zero is that the process for
        storing a number in this way is to invert individual bits in 6B,
        according to the value of the number, and to get a value out, one
        need only perform a binary XOR operation between 6B and the number
        found in the saved game.

        To be clear, Exile II generates its saved game values for PC stats
        using a binary XOR operation between the actual number and 6B, and
        stores the result.

        I should demonstrate this:
        Save    Binary      6B XOR "Save"   Result
        6B      01101011    00000000        0
        6A      01101010    00000001        1
        69      01101001    00000010        2
        73      01110011    00011000        24
        74      01110100    00011111        31
        94      10010100    11111111        255

        See Section C for a chart for generating values.

C.      Binary XOR Chart for Hex.

        This table can be used to perform the binary XOR operation on one
        digit of hex.  For example, in 6B XOR 94, you would find B in the top
        row and 4 in the left column, to find the first digit, in Hex.

          0 1 2 3 4 5 6 7 8 9 A B C D E F
        
        0 0 1 2 3 4 5 6 7 8 9 A B C D E F
        
        1 1 0 3 2 5 4 7 6 9 8 B A D C F E
        
        2 2 3 0 1 6 7 4 5 A B 8 9 E F C D
        
        3 3 2 1 0 7 6 5 4 B A 9 8 F E D C
        
        4 4 5 6 7 0 1 2 3 C D E F 8 9 A B
        
        5 5 4 7 6 1 0 3 2 D C F E 9 8 B A
        
        6 6 7 4 5 2 3 0 1 E F C D A B 8 9
        
        7 7 6 5 4 3 2 1 0 F E D C B A 9 8
        
        8 8 9 A B C D E F 0 1 2 3 4 5 6 7
        
        9 9 8 B A D C F E 1 0 3 2 5 4 7 6
        
        A A B 8 9 E F C D 2 3 0 1 6 7 4 5
        
        B B A 9 8 F E D C 3 2 1 0 7 6 5 4
        
        C C D E F 8 9 A B 4 5 6 7 0 1 2 3
        
        D D C F E 9 8 B A 5 4 7 6 1 0 3 2
        
        E E F C D A B 8 9 6 4 7 5 2 3 0 1
        
        F F E D C B A 9 8 7 6 5 4 3 2 1 0


Those are all the Addresses I have, currently.  Use them.  Enjoy them.  Work
from them.  Please send in an e-mail if you even read this.  I am not too
clear as to whether or not anyone else has this interest.  I also have a
little work on Exile I, but I have more done on and more to do in Exile II.

All trademarks and copyrights contained in this document are owned by their
respective trademark and copyright holders.