hide results

    Character Hacking Guide by Soren Kanzaki

    Version: 0.7 | Updated: 06/04/02 | Search Guide | Bookmark Guide

    Tactics Ogre: Knight of Lodis Character Hacking Guide v.0.7
    Released on June 4, 2002
    by Soren Kanzaki (soren_kanzaki@yahoo.com)
    
    -------------------
    Table of Contents:
    -------------------
    
    Section 1: Overview
    Section 2: Version History
    Section 3: Character Memory Block Basics
    Section 4: Byte by Byte
    Section 5: An Example / Advanced Information
      Part A: Canopus the Commander
      Part B: Game Logic
    Section 6: Character Block Address Table
    Section 7: Character In-Battle Block Address Table
    Section 8: Class Completion Medal Code Table
    Section 9: Emblem Code Table
    Section 10: Alphabetic Code Table
    Section 11: Picture Code Table
    Section 12: Class Code Table
    Section 13: Element, Alignment, and Sex Code Tables
    Section 14: Month Code Table
    Section 15: Item Code Table
    Section 16: Skill Code Table
    Section 17: Supplement: Memory, Binary, and Hexidecimal
    Section 18: Credits
    Section 19: Copyright / Authorization
    Section 20: Miscellaneous
    
    --------------------
    Section 1: Overview
    --------------------
    
        By know, everyone knows you can't get all the special characters in a 
    single game.  It's impossible.  Can't be done.
    
        Or can it?  Using modern science (or, at least, the cheating system of 
    your choice), is it possible to re-create Rictor and Orson if you've gotten 
    Cybil and Shiven instead?  What about making a Wizard who can use the 
    Shuriken Barrage?
    
        If you miss the ability to customize your classes, and carry over skills 
    from one class to another ... well, perhaps you can have your cake and eat it 
    too.
    
    ---------------------------
    Section 2: Version History
    ---------------------------
    
        0.6 (5/23/02): First draft.  Character Block Address Table only lists the 
    first 10 characters (haven't tested to see where the Character Blocks end).
    
        0.7 (6/04/02): Added information on Biorhythm bytes, thanks to Terence 
    Fergusson's Biorhythm Mechanics FAQ.  Added some of the Emblem Tracking 
    bytes.  Investigations so far find a perfect match between Battle and Long-
    Term data blocks. Character In-Battle Block Address Table added.  Added 
    correct name for 'Compressed Binary Switches' (should be bit fields, thanks 
    to Rob Coley).
    
    -----------------------------------------
    Section 3: Character Memory Block Basics
    -----------------------------------------
    
        A disclaimer before we begin (as borrowed from my other hacking guides):
    
        If you use any of these cheats, I'm not responsible for any 'weird' 
    things happening to your game or your save data.  You use these cheats at 
    your own risk (to your game, your system, your enjoyment of Tactics Ogre: 
    Knight of Lodis).  
    
        I made this document as a sort of educational glimpse into how the game 
    was put together.  You can make the game easier.  You can make it harder.  
    You can make it more fun.  You can make it a bore.  I think you get the 
    point.
    
        Secondly, this document is much more technical in nature than other 
    things I have written.  I cannot guarantee it's 100% correct.  I cannot 
    guarantee you'll understand it.  Hopefully, both of those conditions will 
    hold true.
    
        Now, with the formalities over ...
    
        Tactics Ogre: Knight of Lodis uses a two-tiered system to store 
    information about the characters (friendly and enemy) in the game.  Enemy 
    data actually only probably has one tier (the second layer), but that's 
    another topic altogether.
    
        The first layer of character information is the 'long-term' memory block.  
    This guide focuses on that block, which is 104 bytes long per character.  
    Various information about the character is stored in this block.
    
        During battle, certain vital statistics about the participating 
    combatants are kept in an area of memory.  The basic information for these 
    combatants is copied before battle from the 'long-term' memory block.  
    However, you can alter this block (and alterations to current HP/MP/SP are 
    basically only applicable if you make alterations to this area).  At the end 
    of combat, information from this block is copied back over to the 'long-term' 
    block (updating the statistics and values gained during combat).  So far, it 
    looks like this battle data block uses the same format as the 'long-term' 
    block, so addresses have been computed for making changes during combat.  
    Note that this will eventually make changes in the permanent data block (when 
    the game copies the data over at the end of battle), and can be a MUCH faster 
    way of making batch changes to your entire team's statistics and emblems.  
    (Simply set the codes for the first friendly character deployed, and use the 
    Training Mode to change that character.)
    
        Let's look an example.
    
    ------------------------
    Section 4: Byte by Byte
    ------------------------
    
        Here's the breakdown for Alphonse's (the main character) data.  He's the 
    first character stored in data; additional soldiers are stored after him.  
    Yes, there are a lot of unknown sections.  Also, the Byte numbering is not 
    random (you'll see why, eventually).  The address listed in (parenthesis) 
    indicates the memory address for Alphonse's data.
    
    Bytes 0-3    (2000030): Unknown
    Byte 4       (2000034): Class Completion Medals, Block I (see below)
    Byte 5       (2000035): Class Completion Medals, Block II (see below)
    Byte 6       (2000036): Class Completion Medals, Block III (see below)
    Byte 7       (2000037): Unknown
    Byte 8       (2000038): Emblems, Block I (see below)
    Byte 9       (2000039): Emblems, Block II (see below)
    Byte 10      (200003a): Emblems, Block III (see below)
    Byte 11      (200003b): Emblems, Block IV (see below)
    Bytes 12-16  (200003c - 2000040): Unknown
    Byte 17      (2000041): Special Holy Kills
    Byte 18      (2000042): Lancer Success Toggle*
    Byte 19      (2000043): Philosopher's Stone Success Toggle*
    Byte 20      (2000044): Self Preservation Success Toggle*
    Byte 21      (2000045): Berserk Success Toggle*
    Byte 22      (2000046): Successful Persuasions (for Arbitration)
    Byte 23      (2000047): Unsuccessful Female Persuasions (if male)
                              OR Successful Male Persuasions (if female)
    Byte 24      (2000048): War God Success Toggle*
    Byte 25      (2000049): Frontal or Side Attacks Made
    Byte 26      (200004a): Successfully Dodged or Blocked Attacks in a Row
    Byte 27      (200004b): Miracle Success Toggle*
    Byte 28      (200004c): Successful Ranged Attacks in a Row
    Byte 29      (200004d): Fist Fight Success Toggle*
    Byte 30      (200004e): Successful Heals Cast in Combat
    Byte 31      (200004f): Don Quixote Success Toggle*
    Byte 32      (2000050): Treasures Opened
    Byte 33      (2000051): Archangel's Feather Toggle*
    Bytes 34-43  (2000052 - 200005b): Unknown
    Byte 44      (200005c): Total Kills
    Byte 45      (200005d): Dragon Kills
    Byte 46      (200005e): Beast Kills
    Byte 47      (200005f): Exorcisms Performed
    Bytes 48-63  (2000060): Character's Name
    Bytes 64-65  (2000070): Character's Current HP
    Bytes 66-67  (2000072): Character's Maximum HP
    Bytes 68-69  (2000074): Character's Current MP/SP
    Bytes 70-71  (2000076): Character's Maximum MP/SP
    Bytes 72-73  (2000078): Character's Strength
    Bytes 74-75  (200007a): Character's Intelligence
    Bytes 76-77  (200007c): Character's Agility
    Byte 78      (200007e): Character's Picture
    Byte 79      (200007f): Character's Class
    Byte 80      (2000080): Alternate Character's Class (see below)
    Byte 81      (2000081): Character's Number
    Byte 82      (2000082): Character's Level
    Byte 83      (2000083): Character's Experience
    Byte 84      (2000084): Character's Element
    Byte 85      (2000085): Character's Alignment
    Byte 86      (2000086): Character's Birth Month
    Byte 87      (2000087): Character's Birth Day
    Byte 88      (2000088): Biorhythm Set 1 [Definitely Amplitude]
    Byte 89      (2000089): Biorhythm Set 2 [Probably Period]
    Bytes 90-91  (200008a): Biorhythm Set 3 [Probably Offset]
    Byte 92      (200008c): Biorhythm Set 4 [Definitely Altitude]
    Byte 93      (200008d): Character's Allegiance (see below)
    Byte 94      (200008e): Character's Sex
    Byte 95      (200008f): Unknown
    Byte 96      (2000090): Equipped Item Slot 1
    Byte 97      (2000091): Equipped Item Slot 2
    Byte 98      (2000092): Equipped Item Slot 3
    Byte 99      (2000093): Equipped Item Slot 4
    Byte 100     (2000094): Skill Slot 1
    Byte 101     (2000095): Skill Slot 2
    Byte 102     (2000096): Skill Slot 3
    Byte 103     (2000097): Skill Slot 4
    
        Okay!  That's all 104 bytes (0-103).  Now, what does all this mean?
    
    Class Completion Medals - Whenever a character successfully transfers into a 
      new class, a medal is awarded.  If you have all 14 medals, you receive a 
      specific emblem (Relix or Ripple's Emblem).
    
    Emblems - All emblems are stored as bit fields.  Block I refers to row 1 
      emblems, Block II to row 2 emblems, etc. etc.
    
    Special Holy Kills - This is the number of kills that count towards the 'Gibe 
      of Fallen Angel' emblem.
    
    Toggles with * - Theses are used to determine success or failure for the 
      conditions set for an emblem being earned.  If the value is non-zero, the 
      emblem will be awarded during the next emblem checking phase.
    
    Character's Name - If the preceding byte doesn't have a letter, than the 
      current byte will not be displayed (i.e., names must be continuous, you 
      can't skip from one byte to another randomly).  Also, beyond a certain 
      point the character's name is overlap and obscure the class display.
    
    Character Statistics (Current/Max HP, MP, Strength, Agility, Intelligence) - 
      the 'current' values will only work during the Organization screens.  They 
      won't carry over to battle phases.
    
    Character's Picture - if the character has a special picture, then this byte 
      remembers which picture to use.  If this value is 0, the character will not 
      appear in the Organization screen.
    
    Character's Class/Alternate Class - it seems that for special characters 
      (Alphonse), you can use the alternate class byte.  For regular characters, 
      the regular class byte is the only one that seems to work.  I have yet to 
      test this on other special characters.
    
    Character's Number - the number as given in the Organization screen.
    
    Character's Level / Experience - again, these are the Organization screen 
      values - if you fix the Character's Experience value, they could still 
      level up in combat (since during combat a different address holds the 
      temporary character data).  The Experience value ranges from 0-100 (that 
      is, it is non-cumulative).
    
    Character's Element/Alignment - self-explanatory.
    
    Character's Birth Month - ranges from Deus to Raio.
    
    Character's Birth Day - the day of the month in which the character was born.
    
    Biorhythm Sets - Thanks in large part to the mechanics provided by Terence   
      Fergusson's Biorhythm Mechanics document, I have definitely isolated the 
      Amplitude and Altitude values (sets 1 and 4, respectively).  Changing Sets 
      2 and 3 seem to alter the current Fortune without changing into another 
      group of fortunes.  I can also verify that the values given for Amplitude 
      and Altitude relating to which set of Fortunes you cycle through are 
      correct.
    
    Character's Allegiance - I haven't tested it in combat; all I know is that a 
      value of 255 will turn the status screen background colors to the normal 
      'enemy' color scheme.  (As such, there's no section for this one.)
    
    Character's Sex - as a side note, beyond 2, it starts reading from the City 
      Names.  (Yes, a character will then have a sex of Lutra, or Solea, or ...)  
      I'm not sure if this affects the perceived sex of the character.  With the 
      class and/or picture code, you can make 'cross-dressing' characters (male 
      sex, female sprites or female sex, male sprites).
    
    Equipped Item / Skill Slots - self explanatory.
    
       To find out the address for any other character, add the byte number as 
    given above to the base address given in Section 6, the Character Block 
    Address Table.  (This is why the bytes start at 0 ...).  To find out what 
    value to insert into the address, look it up in the appropriate section, or 
    use common sense (e.g. Maximum HP).
    
    ---------------------------------------------
    Section 5: An Example / Advanced Information
    ---------------------------------------------
    
       -------------------------------
        Part A: Canopus the Commander
       -------------------------------
    
        Everyone remembers Canopus, right?  The original Hawkman from the 
    original Ogre Battle: March of the Black Queen.  Anyway ... we'll borrow him 
    for this little demonstration.  Let's turn Alphonse into Canopus!
    
        Well, what's involved?  First, we need to transform Alphonse into a 
    Normal Hawkman.  His picture, therefore, is no longer Alphonse (2) but should 
    reflect his class (which we'll be changing to Hawkman).  Therefore, we need 
    to change 200007e to 1.
    
        Now we need to turn him into a hawkman.  Hawkmen are 23, so we put that 
    in the class addresses, 200007f.  (May as well put 23 in 2000080 to be sure.)
    
        What else could we do?  Well, let's give Canopus a few special skills.  
    In his original incarnation, he could become an Eagleman (with Thunder) or a 
    Ravenman (with Inferno).  Let's just say he's been practicing a bit, and can 
    do both.
    
        To give him a 'Thunder', let's use Thunder Arrow (72), and to simulate 
    'Inferno', let's use Firestorm (9).  Putting these in Slot 3 and 4, we get:
    address 2000096, value 9 and address 2000097, value 72.
    
        You could do other additions or changes, but now 'Alphonse' is 'Canopus'.  
    (Well, if you named him Canopus at the start, anyway ...)
    
        (Of course, the game will lock when trying to start battle dialogues, 
    since it's looking for an Alphonse, and hawkmen can't use the spell 
    Firestorm.  You'd be better off adding a few skills to another character, but 
    this section is intended only as an example of how to alter characters.)
    
       --------------------
        Part B: Game Logic
       --------------------
    
        Some tidbits of game logic.  First of all, changing to certain classes 
    during the Organization screen has a high chance of crashing the game - 
    primarily, enemy classes.  My guess is that the game is not sure what to 
    display.
    
        Secondly, remember that this only edits the 'long-term' character data.  
    If things happen during battle to change this data, the game will attempt to 
    over-write this data with the temporary data that is has copied in the 
    temporary data block.  Granted, if you fix the values, any attempt to over-
    write them will fail.  But if you, for example, fix the experience of a 
    character (to prevent them from leveling up), they can still gain levels - 
    you haven't fixed their level, and you haven't fixed the temporary experience 
    value, either.  If that hits 100 (and the character gains a level), you'll 
    find that your character has indeed gained a level.
    
        Known things to avoid:
    
        If you change a generic (Character's Picture = 1) character into certain 
    specialty classes, the game will crash.  These are classes like High Priest 
    and General that must be paired with a different picture than 1.  This is 
    probably because there is no 'generic' class picture for these characters.  
    Use the Alternate Data bytes, otherwise bad things will definitely happen, 
    and set the picture to anything but 1.
    
        One small note.  EVEN if you fix the HP of a character, if they receive 
    enough damage in one attack to kill them, the character WILL die.
    
    -----------------------------------------
    Section 6: Character Block Address Table
    -----------------------------------------
    
        Remember, this is the beginning of each character block.  To find a 
    particular address inside this block, add the byte number to the listed 
    address.  As this are memory addresses, they are in hexadecimal, and all 
    hexadecimal math rules apply!
    
    2000030 - Alphonse / Character # 1
    2000098 - Character # 2
    2000100 - Character # 3
    2000168 - Character # 4
    20001d0 - Character # 5
    2000138 - Character # 6
    20001a0 - Character # 7
    2000208 - Character # 8
    2000270 - Character # 9
    20002d8 - Character # 10
    
    ---------------------------------------------------
    Section 7: Character In-Battle Block Address Table
    ---------------------------------------------------
    
    2001420 - Friendly Character Deployed #1
    2001488 - Friendly Character Deployed #2
    
    2001770 - Enemy Character Deployed #1
    20017c8 - Enemy Character Deployed #2
    
    (Yes, I know there's only 2 and 2 ... I'll be adding more later.  I've been 
    busy ^^)
    
    ---------------------------------------------
    Section 8: Class Completion Medal Code Table
    ---------------------------------------------
    
        Okay, this section introduces a different type of data system called a 
    bit field.  (Thanks to Rob Coley for sending in the real name!)  What this 
    means is, the computer looks at these bytes not as whole bytes, but as 8 bits 
    in a row.  Each bit has a function, and can be on or off.
    
        What does this mean in practical terms?  This means you must compute the 
    value you want on the fly!  (Since you can't enter cheats in binary for the 
    most part.)  As Section 11 goes into the math behind all this, I won't go 
    into too much depth here.  Sufficed to say:
    
        To calculate the value to place in a bit field byte, look up the 'to-add' 
    values given.  Let's say you want to give a character the medals for Soldier, 
    Ninja, Swordmaster, and Dragoon.  We add: +1, +2, +64, +128 = 195.  
    Therefore, you would put 195 into the appropriate memory address.  See how 
    that works?  People who understand binary should see why these values are the 
    way they are immediately.
    
    Class Completion Medals, Block I:
    +1 = Soldier
    +2 = Ninja
    +4 = Archer
    +8 = Wizard
    +16 = Cleric
    +32 = Knight
    +64 = Swordmaster (Male Only)
    +128 = Dragoon (Male Only)
    
    Class Completion Medals, Block II:
    +1 = Valkyrie (Female Only)
    +2 = Siren (Female Only)
    +4 = Warlock (Male Only)
    +8 = Witch (Female Only)
    +16 = Priest
    +32 = Dragon Tamer (Female Only)
    +64 = Beast Tamer (Male Only)
    +128 = Lich
    
    Class Completion Medals, Block III:
    +1 = Angel Knight
    +2 = Ghost
    +4 = Unknown (possibly no function/special class only)
    +8 = Unknown (possibly no function/special class only)
    +16 = Unknown (possibly no function/special class only)
    +32 = Unknown (possibly no function/special class only)
    +64 = Unknown (possibly no function/special class only)
    +128 = Unknown (possibly no function/special class only)
    
    -----------------------------
    Section 9: Emblem Code Table
    -----------------------------
    
        Everything that was true about the Class Completion Medal Codes in 
    Section 7 applies here.
    
    Emblems, Block I:
    +1 = Blood Reign
    +2 = Dragon's Scale
    +4 = Animal Hunter
    +8 = Exorcist
    +16 = The Pen and the Sword
    +32 = Gibe of Fallen Angel
    +64 = Lancer
    +128 = Philosopher's Stone
    
    Emblems, Block II:
    +1 = Self Preservation
    +2 = Berserk
    +4 = Arbitration
    +8 = Broken Heart / Vixen's Whisper
    +16 = War God
    +32 = Knight's Certificate
    +64 = Book of Initiation
    +128 = Miracle
    
    Emblems, Block III:
    +1 = Sniper
    +2 = Fist Fight
    +4 = Heavenly Spirit
    +8 = Don Quixote
    +16 = Embodiment of Desires
    +32 = Archangel's Feather
    +64 = The Cycle of Life
    +128 = Mark of the Elite
    
    Emblems, Block IV:
    +1 = Centurion
    +2 = Charisma
    +4 = Bullpen Ace
    +8 = Bogus Hero
    +16 = Lucky Soldier
    +32 = Mark of Valor
    +64 = Veteran Soldier
    +128 = Relix's Emblem / Ripple's Emblem
    
    ----------------------------------
    Section 10: Alphabetic Code Table
    ----------------------------------
    
    0 - 25: A - Z (capital letters)
    26 - 51: a - z (lowercase letters)
    52 - 61: 0 - 9
    62: ! (exclamation mark)
    63: ? (question mark)
    64: . (period)
    65: , (comma)
    66: : (colon)
    67: & (ampersand)
    68: _ (underscore)
    69: % (percent sign)
    70: ' (apostrophe)
    71: ( (starting parenthesis)
    72: ) (closing parenthesis)
    73: < (less than, but narrow)
    74: > (greater than, but narrow)
    75: + (plus)
    76: - (minus)
    77: * (asterisk, multiplication)
    78: / (division, slash)
    79: = (equals)
    80: Deneb's Cat's Paw (in the Witch Deneb's class)
    81: Opening Double Quotation Marks
    82: Ellipsis
    83: Some graphical mark
    84: Like 83, only the mirror-image
    85: Small Space
    86: Full Space
    87: Full Space
    88 - 254: Nothing (not even a space; the game skips this character)
    255 - End of Word (after this, no characters will be placed into the name)
    
    -------------------------------
    Section 11: Picture Code Table
    -------------------------------
    
        I'm not sure of some of these - I haven't had the time to get past the 
    second battle in the game with everything else ...  Corrections / additions / 
    input would be appreciated.
    
    0 - None (character will not be displayed in Organization at all)
    1 - Default (use the correct picture for the current class)
    2 - Alphonse
    3 - Eleanor
    4 - Cybil
    5 - Rictor
    6 - Ivanna
    7 - Shiven
    8 - Orson
    9 - special mermaid
    10 - some special male character
    11 - some special female character
    12 - special angel knight
    13 - Glycinia
    14 - Lubinia
    15 - some sort of demon (possibly Saya)
    16 - special male
    17 - Deneb
    18 - older male (see what I mean about additions ...)
    19 - younger knight
    20 - female swordswoman (Ivanna's former instructor)
    21 - female (looks like a priest or something)
    22 - demonic looking beast
    23 - demonic looking beast
    24 - fallen angel
    25 - Standard Male Soldier
    26 - Standard Female Soldier
    27 - Standard Male Ninja
    28 - Standard Female Ninja
    29 - Standard Male Archer
    30 - Standard Female Archer
    31 - Standard Male Wizard
    32 - Standard Female Wizard
    33 - Standard Male Cleric
    34 - Standard Female Cleric
    35 - Stan (the Bandit)
    36 - Mullin (the Wizard)
    37 - Enemy Female Archer
    38 - Enemy Male Knight (I think ...)
    39 - Enemy Male Ninja (or possibly Dark Stalker)
    40 - Enemy Beast Tamer
    41 - Enemy Cleric
    42 - Enemy Dragoon (or possibly Predator)
    43 - Cybil (in enemy colors, I think)
    44 - Lich (possibly in enemy colors, it's hard to tell)
    45 - Angel Knight
    46 - some sort of demon (possibly Saya)
    47 - Mermaid
    48 - Duke Knight
    49 - Standard Male Soldier
    50 - Standard Female Soldier
    51 - Stan (but the palette is messed up)
    52 - Female Knight (but the palette is messed up)
    53 - Duke Knight (but the palette is messed up)
    54 - Unknown Female (blue version)
    55 - Enemy Female Ninja
    56 - Unknown Female (green version of 54)
    57 - Elric (in enemy colors)
    58 - Swordmaster
    59 - Female Priest (but in yellow ...)
    
        Beyond that, you get garbage graphics.  Again, I can recognize less than 
    half - if someone want to help me out here, I'd appreciate it.
    
    -----------------------------
    Section 12: Class Code Table
    -----------------------------
    
    0 - None
    1 - Soldier, Male
    2 - Soldier, Female
    3 - Ninja, Male
    4 - Ninja, Female
    5 - Archer, Male
    6 - Archer, Female
    7 - Wizard, Male
    8 - Wizard, Female
    9 - Cleric, Male
    10 - Cleric, Female
    11 - Knight, Male
    12 - Knight, Female
    13 - Swordmaster
    14 - Dragoon
    15 - Valkyrie
    16 - Siren
    17 - Warlock
    18 - Witch
    19 - Priest, Male
    20 - Priest, Female
    21 - Dragon Tamer
    22 - Beast Tamer
    23 - Hawkman
    24 - Mermaid
    25 - Fairy
    26 - Lich
    27 - Angel Knight, Male
    28 - Angel Knight, Female
    29 - Ghost
    30 - Gorgon
    31 - Gremlin
    32 - Daemon
    33 - Duke Knight
    34 - Dark Angel
    35 - Dark Angel, Female
    36 - Thunder Dragon
    37 - Red Dragon
    38 - Earth Dragon
    39 - Blue Dragon
    40 - Mushus
    41 - Naga
    42 - Vrtra
    43 - Dragon Zombie
    44 - Griffin
    45 - Cockatrice
    46 - Octopus
    47 - Cerberus
    48 - Giant
    49 - Bandit
    50 - Undead Soldier, Male
    51 - Undead Soldier, Female
    52 - Undead Wizard, Male
    53 - Undead Wizard, Female
    54 - Undead Knight, Male
    55 - Undead Knight, Female
    56 - Doll (dummy)
    57 - Dark Stalker
    58 - Hell Gigantes
    59 - Predator
    
       Avoid 60 - 65.  I think it's reading from non-class related data, so 
    you'll get odd performance.  60 - 63 just flat out cause errors; 64 - 65 may 
    defer to the alternate Class byte.
    
    66 - Sorceress (no pic, probably for Cybil)
    67 - High Priest (no pic, probably for Rictor)
    68 - Mermaid (no pic, probably for the special Mermaid)
    69 - Summoner (has Elric's picture, oddly enough)
    70 - Shaman (has Euphaire's picture, oddly enough)
    71 - Angel Knight (no pic, probably for the special Angel Knight)
    72 - Fairy (no pic, probably for Glycinia)
    73 - Fairy (no pic, probably for Lubinia)
    74 - Lesser Daemon (no pic, probably for Saya)
    75 - Ench (dummy)
    76 - Witch (no pic, for Deneb)
    77 - General (no pic)
    78 - Esquire (no pic)
    79 - Swordmaster (no pic, female, special version)
    80 - Venefic (no pic)
    81 - Venefica (no pic)
    82 - ??? (Unknown) [literally what it says.  It's for Rimmon.]
    83 - Fallen Angel
    84 - Sacred Demon
    
        While 85 supposedly gives you a male soldier (for the picture), the class 
    is actually a Fire Dragon.  In other words ... don't use it.
    
    ----------------------------------------------------
    Section 13: Element, Alignment, and Sex Code Tables
    ----------------------------------------------------
    
    Element Codes:
    
    0 - None
    1 - Wind
    2 - Fire
    3 - Earth
    4 - Water
    5 - Virtue
    6 - Bane
    
    Alignment Codes:
    
    0 - None
    1 - Lawful
    2 - Netural
    3 - Chaotic
    
    Sex Codes:
    0 - None
    1 - Male
    2 - Female
    
    (Beyond this, you start reading city names; Lutra, Solea, Scabellum ...)
    
    -----------------------------
    Section 14: Month Code Table
    -----------------------------
    
    0 - None
    1 - Deus
    2 - Tierra
    3 - Agua
    4 - Sombra
    5 - Branca
    6 - Flama
    7 - Vento
    8 - Ouro
    9 - Trueno
    10 - Trevas
    11 - Oceano
    12 - Preta
    13 - Gemeo
    14 - Fogo
    15 - Raio
    
    ----------------------------
    Section 15: Item Code Table
    ----------------------------
    
        The codes are identical to the codes used in the Item Hacking Guide.  
    However, they are reproduced here for ease of use.
    
    0 - Nothing
    1 - Short Sword
    2 - Long Sword
    3 - Claymore
    4 - Sum Mannus
    5 - Firedrake Sword
    6 - Ice Blade
    7 - Fafnir
    8 - Sword of Tiamat
    9 - Balmung
    10 - Notos
    11 - Laevateinn
    12 - Gram
    13 - Oracion
    14 - Fragarach
    15 - Anbicion (fully powered version)
    16 - Anbicion ('Anbicion' effect version)
    17 - 'None' (Wind Snapdragon Sword)
    18 - 'None' (Fire Snapdragon Sword)
    19 - 'None' (Earth Snapdragon Sword)
    20 - 'None' (Water Snapdragon Sword)
    21 - 'None' (Virtue Snapdragon Sword)
    22 - 'None' (Bane Snapdragon Sword)
    23 - Matsukaze
    24 - Kagari-bi
    25 - Yomogi-u
    26 - Yu-giri
    27 - Rapier
    28 - Estoc
    29 - Dragon Gem Sword
    30 - Inca Rose
    31 - Peridot Sword
    32 - Needle of Light
    33 - Answerer
    34 - Francisca
    35 - Prox
    36 - Earth Dragon Axe
    37 - Frozen Axe
    38 - Bloody Cleaver
    39 - Boreas
    40 - Halt Hammer
    41 - Euros
    42 - Flame Flail
    43 - Sanscion
    44 - Hammer of Tears
    45 - Mystic Hammer
    46 - Battle Fan
    47 - Caldia
    48 - Hyacinth Fan
    49 - Gypsy Queen
    50 - Scipplay's Staff
    51 - Wind Wand
    52 - Fire Wand
    53 - Earth Wand
    54 - Ice Wand
    55 - Ripple's Staff
    56 - Kerykeion
    57 - Dowsing Rod
    58 - Sugar Cane
    59 - Pike
    60 - Trident
    61 - Zephyrus
    62 - Volcaetus
    63 - Earth Javelin
    64 - Osric's Spear
    65 - Longicolnis
    66 - Brionac
    67 - Leather Whip
    68 - Beast Whip
    69 - Holy Comet
    70 - Rapture Rose
    71 - Short Bow
    72 - Great Bow
    73 - Thunder Bow
    74 - Flame Bow
    75 - Sandstorm Bow
    76 - Tundra Bow
    77 - Crescente
    78 - Sherwood Bow
    79 - Bow Gun
    80 - Composite Bow
    81 - Tathlum
    82 - Tower Shield
    83 - Dragon Shield
    84 - Thunder Shield
    85 - Flame Shield
    86 - Earth Shield
    87 - Ice Shield
    88 - Saint's Shield
    89 - Dark Shield
    90 - Chocolate Shield
    91 - Hard Leather
    92 - Chain Mail
    93 - Thunder Chain
    94 - Flame Leather
    95 - Earth Leather
    96 - Ice Chain
    97 - Saint's Garb
    98 - Cursed Garment
    99 - Plate Mail
    100 - Heavy Armor
    101 - Peregrine Mail
    102 - Phoenix Mail
    103 - Nathalork Mail
    104 - Leviathan Mail
    105 - Rune Plate
    106 - Black Armor
    107 - Southern Cross
    108 - Dragon Armor
    109 - Grincer Coat
    110 - Candy Armor
    111 - Brigandine
    112 - Robe
    113 - Spell Robe
    114 - Robe of the Wise
    115 - Wind Garb
    116 - Fire Garb
    117 - Earth Garb
    118 - Water Garb
    119 - Cloak of Oath
    120 - Robe of Abyss
    121 - Fur Coat
    122 - Pure-White Dress
    123 - Cloak of Authority
    124 - Leather Hat
    125 - Bandanna
    126 - Plumed Headband
    127 - Iron Helm
    128 - Goblin Helm
    129 - Holy Crown
    130 - Freude Helm
    131 - Dragon Helm
    132 - Sherwood Hat
    133 - Candy Helm
    134 - Pointy Hat
    135 - Circlet of Wisdom
    136 - Winged Shoes
    137 - Warp Shoes
    138 - Greasy Boots
    139 - Snow Boots
    140 - Forest Boots
    141 - Ring of Flight
    142 - Warp Ring
    143 - Ring of Flotation
    144 - Armlet of Wisdom
    145 - Armlet of Agility
    146 - Wind Ring
    147 - Firedrake Ring
    148 - Earth Ring
    149 - Water Ring
    150 - Sacred Ring
    151 - Dark Ring
    152 - Dragon Eyes
    153 - Ring of the Dead
    154 - Necklace of Resist
    155 - Pearl Necklace
    156 - Amulet
    157 - Dragon Gem
    158 - Cassowary Feather
    159 - Glass Pumpkin
    160 - Firecrest
    161 - Sacrificial Doll
    162 - Sacred Stone of Bliss
    163 - Transferring Stone
    164 - Seraph's Plume
    165 - Healing Leaf
    166 - Healing Seed
    167 - Healing Salve
    168 - Healing Essence
    169 - Magic Leaf
    170 - Magic Seed
    171 - Magic Salve
    172 - Magic Essence
    173 - Wisdom Fruit
    174 - Angel Fruit
    175 - Revive Stone
    176 - Antidote
    177 - Spirit Fruit
    178 - Orb
    179 - Savage Bugle
    180 - Coral Harp
    181 - Snapdragon
    182 - Reincarnation
    183 - Sword Emblem
    184 - Crown of Intellect
    185 - Stone of Swiftness
    186 - Tome of Discipline
    187 - Urn of Chaos
    188 - Mirror of the Gods
    189 - Cup of Life
    190 - Sorcerer's Cup
    191 - Altar of Resurrection
    
        I'm not 100% sure how the game, therefore, handles the use of Snapdragon 
    created swords.   
    
    -----------------------------
    Section 16: Skill Code Table
    -----------------------------
    
    0 - None
    1 - Thunder Bird
    2 - Thunder Blade
    3 - Air Blade
    4 - Teleport
    5 - Summon Tempest
    6 - Harnella's Influence
    7 - Haste
    8 - Salamander
    9 - Firestorm
    10 - Fireball
    11 - Clear Sky
    12 - Ray of Paralysis
    13 - Zoshonel's Influence
    14 - Molten Blade
    15 - Gnome
    16 - Acid Vapor
    17 - Crag Crush
    18 - Petrifying Cloud
    19 - Hurdle Wall
    20 - Berthe's Influence
    21 - Constrain
    22 - Fenrir
    23 - Ice Javelin
    24 - Ice Field
    25 - Slumber Mist
    26 - Grueza's Influence
    27 - Poison Squall
    28 - Purify
    29 - Star Tiara (dummy)
    30 - Exorcism
    31 - Lightning Bow
    32 - Divine Radiance
    33 - Tranquilize
    34 - Faith
    35 - Cleanse
    36 - Heal
    37 - Heal Plus
    38 - Full Heal
    39 - Resurrection
    40 - Ignis Fatuus
    41 - Fiend's Grip
    42 - Nightmare
    43 - Pain (dummy)
    44 - Brain Sap
    45 - Enfeeble
    46 - Cursed Existence
    47 - Fluid Magic
    48 - Time Flux
    49 - Necromancy
    50 - Thunder Breath
    51 - Fire Breath
    52 - Poison Breath
    53 - Cold Breath
    54 - Mesmerize
    55 - Petrifying Breath
    56 - Rotten Breath
    57 - Strangling Tentacles
    58 - Windstorm
    59 - Titan Crush
    60 - Hell's Gate
    61 - Anbicion (steal souls)
    62 - Anbicion (use HP, unlock power)
    63 - Summon Darkness
    64 - Summon Golem
    65 - Energy Transfer
    66 - Barren Soul
    67 - Swallow's Daze
    68 - Fascination
    69 - Temptation
    70 - Poignant Memory
    71 - Banish
    72 - Thunder Arrow
    73 - Cheer
    74 - Lullaby
    75 - Fairy's Embrace
    76 - Fairy's Kiss
    77 - Magic Missile
    78 - Magic Barrage
    79 - Fairy's Embrace (dark Fairy)
    80 - Fairy's Kiss (dark Fairy)
    81 - Evil Eye
    82 - Ice Requiem
    83 - Day of Reckoning
    84 - Apocalypse
    85 - Cataclysm
    86 - Descent (the version used by the Sacred Demon)
    87 - Atropos
    88 - Star Tiara (the correct version Eleanor uses in the game)
    89 - Clotho
    90 - Descent
    91 - Lachesis
    92 - Shuriken Barrage
    93 - Pelting Fury
    
    --------------------------------------------------------
    Section 17: Supplement: Memory, Binary, and Hexidecimal
    --------------------------------------------------------
    
        Okay, a few words before we begin.  Why am I including this, and why 
    here?  This is a little guide to memory, binary, hexidecimal, and how and why 
    hacking codes work.  People ask me a lot of questions about the basics, and I 
    figure that since this guide has almost all of the different type of codes in 
    one place, it is an excellent place to put it.
    
        This information is probably covered in a much more professional manner 
    in your local mathematics textbook and computer science course.  Of course, 
    since a lot of gameplayers are in high-school, they may not have a decent 
    computer science department.  Not to fret.
    
        Let's start by talking about numbers.  Most of us are familiar with this 
    subject, but let's review a little, shall we?  Numbers are made up of 
    numerals (the representations of numbers, which in the English alphabet are 
    written as 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9.  We could have just as well used 
    different smiley faces, pictures of trees, or letters.)  While there is no 
    problem when writing a number from 0 to 9, what happens when we want to write 
    a 10?  Well, as you can see, we use the concept of digits.  The '1' in the 
    number '10' is in the tens place.  In the number '42,375', the number 2 is in 
    the thousands place, and so on.
    
        You of course know this, otherwise ... well, you know all this.  But what 
    we really mean when we write '42,375' is:
    
        "I want the number whose value equals 4 X 10,000 + 2 X 1,000 + 3 x 100 + 
    7 x 10 + 5 x 1."  10 is, of course, 10 to the first power; 100 is 10 to the 
    second power; 1000 is 10 to the third power, and so on and so forth.
    
        This system of representing numbers is known as decimal.  (From the Greek 
    for 10.)  But what if we don't want to use decimal?
    
        To a computer, decimal is far to hard and inefficient.  Computers 
    understand two basic things: On (electrons flowing) and Off (electrons not 
    flowing).  If On = 1 and Off = 0, we can still represent any number we like.  
    This is known as binary.  So, we can write '27' in binary as 11011.  (That's 
    1 x 16 + 1 x 8 + 0 x 4 + 1 x 2 + 1 x 1.)  16 is 2 to fourth power, 8 is 2 to 
    the third power, etc. etc.
    
        Hopefully, you understand binary now.  Hexidecimal is similar, except 
    instead of using 10 or 2 as a base, we use 16.  In order to represent 10, 11, 
    12, 13, 14, and 15 in a single symbol, we use A, B, C, D, E, and F 
    respectively.  (16 in hexidecimal is, of course, 10.)  So 100 in decimal is 6 
    x 16 + 4 or 64 in hexidecimal.
    
        Why even bother with hexidecimal?  Ahh ... well, historically, we group 8 
    binary switches into a single unit known as a byte.  (10011011, for example.)  
    Therefore, a byte can store values from 255 (1111111) to 0 (00000000).  It so 
    happens that 255 is equivalent to FF in hexidecimal.  See where we're going 
    with this?
    
        A two-digit hexidecimal value, then, can represent all the values that a 
    byte can.  This is why we use hexidecimal extensively in computers.
    
        Okay, so now we know about hexidecimal and why we use it in computers.  
    Memory addresses are written in hexidecimal.  Why?  Well, a computer needs to 
    be able to manipulate that address and store it.  As a number.  How does a 
    computer store numbers?  (If you said in binary, you are right.)  What's the 
    way we write binary numbers?  (If you said in hexidecimal, you are again 
    right.)
    
        Now, we come to the interesting part.  How is data stored in memory?  
    (Not physically, but conceptually.)  Well, we store all sorts of things in a 
    game's memory.  If we want to store a number, we usually store it in a single 
    byte (if it runs from 0-255), or 2 bytes (0-65535) or 4 bytes (basically 
    anything bigger, up to 4,294,967,295.)  This is different if you want to 
    store potentially negative values (and I won't get into it, we rarely run 
    into negative numbers in game memory.)  Things like HP, EN, how many lives 
    you have left, the number of shots in that rifle, etc. are usually stored in 
    this manner.
    
        We could also store it, instead of in true hexidecimal, as though it were 
    decimal (since hexidecimal includes 0-9.  I believe this is referred to as 
    Binary Coded Decimal.)  This tends to waste space (you ignore the power of A-
    F), but sometimes this is done in games.  Not so much nowadays, though.  So, 
    if I stored 142 in 2-bytes, in the 'value' I'm really storing is 1 in the 
    first of those two bytes, and the decimal value of 66 in the second.  (I omit 
    a discussion of byte-ordering until another time, simply because there are 
    two different ways to store a multi-byte number.  Don't worry about it for 
    the present.)
    
       We can also store a value that corresponds to something else (like a 
    pilot's background data.)  If information is kept like this, the game knows 
    (it's built-in) what, say, a 12 stands for.  We have to plug in values to 
    figure out what each value stands for and make long lists.  Sometimes, in 
    cases like these, a 0 is empty (doesn't correspond to something, like in 
    Tactics Ogre: Knight of Lodis).  Sometimes (like in Super Robot Taisen A) it 
    does stand for something (Pilot 0 is Lalah Sune.)
    
        Finally, we can use memory in a BINARY fashion.  Remember: FF is REALLY 
    11111111.  Or 8 little switches in a row than can be ON or OFF.  So if we 
    want to look at things that can be on or off (like the Emblem Toggle), we can 
    cram 8 of those things into one byte, instead of using 8 bytes.  The 'Enable 
    Bytes' are variations on this.  Basically, a 0 stands for Off, and anything 
    else is On.  (The reason for this lies within the realm of assembly language, 
    and will not be covered here.  Sufficed to say, the game has a way of quickly 
    checking if something is on or off, and only 0 stands for off.)  This type of 
    data, known as a bit field, is very commonly used for certain on-off 
    purposes.
    
        Well, this ends the brief supplement of Binary, Hexidecimal, and how 
    memory is used in most games.  Hopefully, this answers a few questions.
    
    --------------------
    Section 18: Credits
    --------------------
    
        There are several people without whose publicly available resources this 
    document could have never been complied:
    
        GameFAQs (www.gamefaqs.com), for being the comprehensive game information 
    site.
    
        Special thanks goes to Terence Fergusson for writing a very detailed 
    Biorhythm Mechanics FAQ, which helped in decoding which bytes would do what.  
    Otherwise, I'd probably never have figured out the exact addresses.
    
        Also, special thanks goes to Waverlyt and Waspinator, who provided plenty 
    of information on pictures as well as doing extensive play-testing for these 
    codes.  Both have given this project much more impetus than I originally 
    planned ^^
    
    --------------------------------------
    Section 19: Copyright / Authorization
    --------------------------------------
    
    This document is the sole property of soren_kanzaki@yahoo.com, and copyright 
    2002.  Unauthorized reproduction, either in print, electronic, or other 
    format is expressly prohibited without consent of the author.  Individuals 
    may download this document from the following authorized websites:
    
    GameFAQs (www.gamefaqs.com)
    www.cheats.de
    www.neoseeker.com
    
    Individuals may only use this document for personal purposes and are 
    expressly prohibited from transferring or reproducing this document in any 
    format without consent of the author.  This document cannot be altered and 
    then redistributed without consent of the author.  This document, 
    reproductions thereof, or excerpts, cannot be sold for money.
    
    --------------------------
    Section 20: Miscellaneous
    --------------------------
    
    Several sections of this guide are copied directly from my previous hacking 
    guides for Super Robot Taisen A.  (Especially the supplement.)  If you really 
    want to know more about how computer memory and hacking into it works, 
    consult your local computer science professional, or try the local library.
    
    Next?:
    If there are certain game logic questions, I will be happy to answer them 
    (and probably add an explanation in the guide.)  I am NOT, however, going to 
    answer questions on how to specifically apply these codes to get specific 
    results, or on how to cheat in general - there are probably plenty of guides 
    written on that subject.
    
    Both of the special play-testers and myself are looking into the exact 
    mechanics of the Class Byte, Alternate Class Byte, and Picture Bytes.  
    Eventually, I plan on updating this information and adding explanations to 
    the Game Logic section.
    

    FAQ Display Options: Printable Version