Difference between revisions of "Data/Table Locations"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
 
(3 intermediate revisions by one other user not shown)
Line 40: Line 40:
  
 
  Controller Inputs
 
  Controller Inputs
 
+
 
  Title Screen: 0x800851BC
 
  Title Screen: 0x800851BC
 
  Event/Battle: 0x80045944
 
  Event/Battle: 0x80045944
Line 62: Line 62:
 
   0x0001  L2
 
   0x0001  L2
  
+
  801612dc - Start of SAMPLE.LZW (should this be above?)
59854-5e90b code is here (why is this here?)
 
 
 
8006fbf0 - Ability Data Pointer 2 (this seems off by 0x10000 addresses. was someone's math wrong?)
 
0x00 - Range
 
0x01 - Effect Area
 
0x02 - Vertical
 
0x03: Flags 1
 
0x80 -
 
0x40 -
 
0x20 - Ranged Weapon
 
0x10 - Vertical Fixed
 
0x08 - Vertical Tolerence
 
0x04 - Weapon Strike
 
0x02 - Auto
 
0x01 - Can't Target Self
 
0x04: Flags 2
 
0x80 - Can't Hit Enemies
 
0x40 - Can't Hit Allies
 
0x20 -
 
0x10 - Can't Follow Target
 
0x08 - Random Fire
 
0x04 - Linear Attack
 
0x02 - 3 Directions
 
0x01 - Can't Hit Caster
 
0x05: Flags 3
 
0x80 - Reflectable
 
0x40 - Math Skill
 
0x20 - Affected By Silence
 
0x10 - Can't Mimic
 
0x08 - Normal Attack?
 
0x04 - Persevere
 
0x02 - Quote
 
0x01 - Animate on Miss
 
0x06: Flags 4
 
0x80 - Counter Flood
 
0x40 - Counter Magic
 
0x20 - Direct
 
0x10 - Blade Grasp
 
0x08 - Requires Sword
 
0x04 - Requires Materia Blade
 
0x02 - Evadeable
 
0x01 - No Targeting
 
0x07 - Element
 
0x08 - Formula
 
0x09 - X
 
0x0a - Y
 
0x0b - Inflict Status
 
0x0c - CT
 
0x0d - MP Cost
 
 
 
80093b20 - World Map Month Image Data (WLDCORE.BIN 0x2cb20)
 
Each month has one entry.
 
(Size per entry: 0x14 = 20 bytes)
 
(Entries for the numbers used for the day are located directly after the months.  11 entries corresponding to 0 1 2 3 4 5 6 7 8 9 /)
 
Offset (bytes): Notes
 
    0x00 (4): Number of images to display? (Default 1)
 
    0x04 (4): ? Affects display (Default 0x01000180)
 
    0x08 (4): ? Affects colors? (Default 0x01e60000)
 
    0x0c (1): Screen Location Offset X (Default 0x80 = 128)
 
    0x0d (1): Screen Location Offset Y (Default 0x80 = 128)
 
    0x0e (1): Palette? (Default 0) (Messed up colors if changed)
 
    0x0f (1): Flip
 
        0: Upright
 
        1: Vertical flipped
 
        2: Horizontal flipped
 
        3: Both flipped
 
    0x10 (1): Pixel Height (Default 12)
 
    0x11 (1): Pixel Width (Default 24)
 
    0x12 (1): Source Bitmap Y Location
 
    0x13 (1): Source Bitmap X Location
 
 
 
 
  801612dc - Start of SAMPLE.LZW
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8018aa98 - WORLD.BIN: Formation unit Preview data
 
Contains some data regarding the unit, such as level, exp, etc., directly from world.bin party data
 
Also contains Bonus stat information, bonus/malus HP/MP/PA/SP etc. to show in blue text when previewing equipment while changing, or movement abilities when changing.
 
 
 
8018ba20 - Selected formation unit index (WORLD.BIN)
 
 
8018d844 - Shop Item Availability Table - 2 bytes per item, 256 items (technically the first 1 and last 2 are unavailable).
 
        0x00 - First Byte
 
              0x80 - Lesalia Imperial Castle
 
              0x40 - Riovanes Castle
 
              0x20 - Igros Castle
 
              0x10 - Lionel Castle
 
              0x08 - Limberry Castle
 
              0x04 - Zeltennia Castle
 
              0x02 - Gariland Magic City
 
              0x01 - Yardow Fort City
 
        0x01 - Second Byte
 
              0x80 - Goland Coal City
 
              0x40 - Dorter Trade City
 
              0x20 - Zaland Fort City
 
              0x10 - Goug Machine City
 
              0x08 - Warjilis Trade City
 
              0x04 - Bervenia Trade City
 
              0x02 - Zarghidas Trade City
 
              0x01 - Unknown
 
 
 
 
 
 
8018f4e0 - Pointer to Scratch Pad [[1f800000|<span style=color:blue>0x1f800000</span>]]
 
8018f4e4 - Pointer to Scratch Pad [[1f800080|<span style=color:blue>0x1f800080</span>]]
 
8018f4e8 - Pointer to Scratch Pad [[1f800180|<span style=color:blue>0x1f800180</span>]]
 
8018f4ec - Pointer to Scratch Pad [[1f800100|<span style=color:blue>0x1f800100</span>]]
 
8018f4f0 - Pointer to Scratch Pad 0x1f800200
 
8018f4f4 - Counter for some panel targeting
 
8018f4f8 - set to 1 during linear attack routine (word)
 
8018f4fc -
 
 
8018de34 - NPC Formation Screen Sprites (for jobs 0x00 to 0x49 only), 1 byte per entry
 
        0x00 - Formation Sprite, not sure what it references, someone who does spriting should know.
 
 
 
 
 
80190814 -
 
 
 
801908cc - Unit Data start (Unit ID * 0x1c0 for specific location)
 
0x0000: Base Class / Character ID (Also affects sprites)
 
0x?? - Special Character
 
0x80 - Generic Male
 
0x81 - Generic Female
 
0x82 - Monster
 
0x0001: Unit ID (FF doesn't exist)
 
0x0002: Party ID (Party unit index; 0xFF means not in party) (FE prevents HP/MP growth?)
 
0x0003: Job ID
 
0x0004: Palette
 
0x00 Default
 
0x01 Hokuten
 
0x02 Nanten
 
0x03 Death Corps
 
0x04 Glabados Church
 
0x05 No Palette?
 
0x0005: ENTD Flags
 
0x80 - Always Present
 
0x40 - Randomly Present
 
0x20 - Team Bit 1. 0x20 and 0x10 is Light Blue. 0x20 is Green.
 
0x10 - Team Bit 2. 0x10 is Red. If neither bit, team is Blue.
 
0x08 - Control
 
0x04 - Immortal
 
0x02 - (if both 01 and 02, then immune to knockback)
 
0x01 - (both set by Ramza when initialized)
 
0x0006: Gender Byte
 
0x80 - Male
 
0x40 - Female
 
0x20 - Monster
 
0x10 - Join after event
 
0x08 - Load Formation
 
0x04 - ??? Stats
 
0x02 -
 
0x01 - Save Formation
 
0x0007: Death Counter (3 for living units)
 
0x0008: Bithday (days, plus bit 0 from next byte)
 
0x000-0x01e - January
 
0x01f-0x03a - February
 
0x03b-0x059 - March
 
0x05a-0x077 - April
 
0x078-0x096 - May
 
0x097-0x0b4 - June
 
0x0b5-0x0d3 - July
 
0x0d4-0x0f2 - August
 
0x0f3-0x110 - September
 
0x111-0x12f - October
 
0x130-0x14d - November
 
0x14e-0x16c - December
 
0x0009: Zodiac Sign
 
0xf0 -
 
0xe0 -
 
0xd0 -
 
0xc0 - Serpentarius
 
0xb0 - Pisces
 
0xa0 - Aquarius
 
0x90 - Capricorn
 
0x80 - Sagittarius
 
0x70 - Scorpio
 
0x60 - Libra
 
0x50 - Virgo
 
0x40 - Leo
 
0x30 - Cancer
 
0x20 - Gemini
 
0x10 - Taurus
 
0x00 - Aries
 
0x000a - Innate Ability 1
 
0x000c - Innate Ability 2
 
0x000e - Innate Ability 3
 
0x0010 - Innate Ability 4
 
0x0012 - Primary Skillset
 
0x0013 - Secondary Skillset
 
0x0014 - Reaction Ability
 
0x0016 - Support Ability
 
0x0018 - Movement Ability
 
0x001a - Head
 
0x001b - Body
 
0x001c - Accessory
 
0x001d - Right Hand Weapon
 
0x001e - Right Hand Shield
 
0x001f - Left Hand Weapon
 
0x0020 - Left Hand Shield
 
0x0021 - Experience
 
0x0022 - Level
 
0x0023 - Original Brave
 
0x0024 - Brave
 
0x0025 - Original Faith
 
0x0026 - Faith
 
0x0027 - 1 = Unit's Turn?
 
0x0028 - HP
 
0x002a - Max HP
 
0x002c - MP
 
0x002e - Max MP
 
0x0030 - Original PA
 
0x0031 - Original MA
 
0x0032 - Original SP
 
0x0033 - Bonus PA (doubles as minimum (bonus + 1) stats?)
 
0x0034 - Bonus MA
 
0x0035 - Bonus SP
 
0x0036 - PA
 
0x0037 - MA
 
0x0038 - SP
 
0x0039 - CT
 
0x003a - Move
 
0x003b - Jump
 
0x003c - WP 1
 
0x003d - WP 2
 
0x003e - WEVA 1
 
0x003f - WEVA 2
 
0x0040 - Acc. PEV
 
0x0041 - RH Shield PEV
 
0x0042 - LH Shield PEV
 
0x0043 - C-Ev
 
0x0044 - Acc. MEV
 
0x0045 - RH Shield MEV
 
0x0046 - LH Shield MEV
 
0x0047 - X Coordinate
 
0x0048 - Y Coordinate
 
0x0049:
 
0x80 - Higher Elevation
 
0x40 - Stepping Stone
 
0x20 -
 
0x10 -
 
0x08 -
 
0x04 -
 
0x03 - Facing East
 
0x02 - Facing North
 
0x01 - Facing West
 
0x00 - Facing South
 
0x004a: Equippable Items 1
 
0x80 - Barehanded
 
0x40 - Knife
 
0x20 - Ninja Blade
 
0x10 - Sword
 
0x08 - Knight's Sword
 
0x04 - Katana
 
0x02 - Axe
 
0x01 - Rod
 
0x004b: Equippable Items 2
 
0x80 - Staff
 
0x40 - Flail
 
0x20 - Gun
 
0x10 - Crossbow
 
0x08 - Bow
 
0x04 - Instrument
 
0x02 - Book
 
0x01 - Polearm
 
0x004c: Equippable Items 3
 
0x80 - Pole
 
0x40 - Bag
 
0x20 - Cloth
 
0x10 - Shield
 
0x08 - Helmet
 
0x04 - Hat
 
0x02 - Hair Adornment
 
0x01 - Armor
 
0x004d: Equippable Items 4
 
0x80 - Clothing
 
0x40 - Robe
 
0x20 - Shoes
 
0x10 - Armguard
 
0x08 - Ring
 
0x04 - Armlet
 
0x02 - Cloak
 
0x01 - Perfume
 
0x004e: Innate Statuses 1
 
0x80 -
 
0x40 - Crystal
 
0x20 - Dead
 
0x10 - Undead
 
0x08 - Charging
 
0x04 - Jump
 
0x02 - Defending
 
0x01 - Performing
 
0x004f: Innate Statuses 2
 
0x80 - Petrify
 
0x40 - Invite
 
0x20 - Darkness
 
0x10 - Confusion
 
0x08 - Silence
 
0x04 - Blood Suck
 
0x02 - Cursed
 
0x01 - Treasure
 
0x0050: Innate Statuses 3
 
0x80 - Oil
 
0x40 - Float
 
0x20 - Reraise
 
0x10 - Transparent
 
0x08 - Berserk
 
0x04 - Chicken
 
0x02 - Frog
 
0x01 - Critical
 
0x0051: Innate Statuses 4
 
0x80 - Poison
 
0x40 - Regen
 
0x20 - Protect
 
0x10 - Shell
 
0x08 - Haste
 
0x04 - Slow
 
0x02 - Stop
 
0x01 - Wall
 
0x0052: Innate Statuses 5
 
0x80 - Faith
 
0x40 - Innocent
 
0x20 - Charm
 
0x10 - Sleep
 
0x08 - Don't Move
 
0x04 - Don't Act
 
0x02 - Reflect
 
0x01 - Death Sentence
 
0x0053: Status Immunities 1
 
0x80 -
 
0x40 - Crystal
 
0x20 - Dead
 
0x10 - Undead
 
0x08 - Charging
 
0x04 - Jump
 
0x02 - Defending
 
0x01 - Performing
 
0x0054: Status Immunities 2
 
0x80 - Petrify
 
0x40 - Invite
 
0x20 - Darkness
 
0x10 - Confusion
 
0x08 - Silence
 
0x04 - Blood Suck
 
0x02 - Cursed
 
0x01 - Treasure
 
0x0055: Status Immunities 3
 
0x80 - Oil
 
0x40 - Float
 
0x20 - Reraise
 
0x10 - Transparent
 
0x08 - Berserk
 
0x04 - Chicken
 
0x02 - Frog
 
0x01 - Critical
 
0x0056: Status Immunities 4
 
0x80 - Poison
 
0x40 - Regen
 
0x20 - Protect
 
0x10 - Shell
 
0x08 - Haste
 
0x04 - Slow
 
0x02 - Stop
 
0x01 - Wall
 
0x0057: Status Immunities 5
 
0x80 - Faith
 
0x40 - Innocent
 
0x20 - Charm
 
0x10 - Sleep
 
0x08 - Don't Move
 
0x04 - Don't Act
 
0x02 - Reflect
 
0x01 - Death Sentence
 
0x0058: Current Statuses 1 <span id="Current Statuses"></span>
 
0x80 -
 
0x40 - Crystal
 
0x20 - Dead
 
0x10 - Undead
 
0x08 - Charging
 
0x04 - Jump
 
0x02 - Defending
 
0x01 - Performing
 
0x0059: Current Statuses 2
 
0x80 - Petrify
 
0x40 - Invite
 
0x20 - Darkness
 
0x10 - Confusion
 
0x08 - Silence
 
0x04 - Blood Suck
 
0x02 - Cursed
 
0x01 - Treasure
 
0x005a: Current Statuses 3
 
0x80 - Oil
 
0x40 - Float
 
0x20 - Reraise
 
0x10 - Transparent
 
0x08 - Berserk
 
0x04 - Chicken
 
0x02 - Frog
 
0x01 - Critical
 
0x005b: Current Statuses 4
 
0x80 - Poison
 
0x40 - Regen
 
0x20 - Protect
 
0x10 - Shell
 
0x08 - Haste
 
0x04 - Slow
 
0x02 - Stop
 
0x01 - Wall
 
0x005c: Current Statuses 5
 
0x80 - Faith
 
0x40 - Innocent
 
0x20 - Charm
 
0x10 - Sleep
 
0x08 - Don't Move
 
0x04 - Don't Act
 
0x02 - Reflect
 
0x01 - Death Sentence
 
Status CT decrement routines ~1837A0
 
0x005d - Poison CT
 
0x005e - Regen CT
 
0x005f - Protect CT
 
0x0060 - Shell CT
 
0x0061 - Haste CT
 
0x0062 - Slow CT
 
0x0063 - Stop CT
 
0x0064 - Wall CT
 
0x0065 - Faith CT
 
0x0066 - Innocent CT
 
0x0067 - Charm CT
 
0x0068 - Sleep CT
 
0x0069 - Don't Move CT
 
0x006a - Don't Act CT
 
0x006b - Reflect CT
 
0x006c - Death Sentence CT
 
0x006d: Elemental Absorption
 
0x80 - Fire
 
0x40 - Lightning
 
0x20 - Ice
 
0x10 - Wind
 
0x08 - Earth
 
0x04 - Water
 
0x02 - Holy
 
0x01 - Dark
 
0x006e: Elemental Nullification
 
0x80 - Fire
 
0x40 - Lightning
 
0x20 - Ice
 
0x10 - Wind
 
0x08 - Earth
 
0x04 - Water
 
0x02 - Holy
 
0x01 - Dark
 
0x006f: Elemental Halving
 
0x80 - Fire
 
0x40 - Lightning
 
0x20 - Ice
 
0x10 - Wind
 
0x08 - Earth
 
0x04 - Water
 
0x02 - Holy
 
0x01 - Dark
 
0x0070: Elemental Weakness
 
0x80 - Fire
 
0x40 - Lightning
 
0x20 - Ice
 
0x10 - Wind
 
0x08 - Earth
 
0x04 - Water
 
0x02 - Holy
 
0x01 - Dark
 
0x0071: Elements Strengthened
 
0x80 - Fire
 
0x40 - Lightning
 
0x20 - Ice
 
0x10 - Wind
 
0x08 - Earth
 
0x04 - Water
 
0x02 - Holy
 
0x01 - Dark
 
0x0072 - Raw HP
 
0x0075 - Raw MP
 
0x0078 - Raw SP
 
0x007b - Raw PA
 
0x007e - Raw MA
 
0x0081 - HP Growth
 
0x0082 - HP Multiplier
 
0x0083 - MP Growth
 
0x0084 - MP Multiplier
 
0x0085 - SP Growth
 
0x0086 - SP Multiplier
 
0x0087 - PA Growth
 
0x0088 - PA Multiplier
 
0x0089 - MA Growth
 
0x008a - MA Multiplier
 
0x008b: Reactions 1 <span id="Reactions"></span>
 
0x80 - PA Save
 
0x40 - MA Save
 
0x20 - Speed Save
 
0x10 - Sunken State
 
0x08 - Caution
 
0x04 - Dragon Spirit
 
0x02 - Regenerator
 
0x01 - Brave UP
 
0x008c: Reactions 2
 
0x80 - Face (Faith) UP
 
0x40 - HP Restore
 
0x20 - MP Restore
 
0x10 - Critical Quick
 
0x08 - Meatbone Slash
 
0x04 - Counter Magic
 
0x02 - Counter Tackle
 
0x01 - Counter Flood
 
0x008d: Reactions 3
 
0x80 - Absorb Used MP
 
0x40 - Gilgame Heart
 
0x20 - Reflect
 
0x10 - Auto Potion
 
0x08 - Counter
 
0x04 -
 
0x02 - Distribute
 
0x01 - MP Switch
 
0x008e: Reactions 4   
 
0x80 - Damage Split
 
0x40 - Weapon Guard
 
0x20 - Finger Guard
 
0x10 - Abandon
 
0x08 - Catch
 
0x04 - Blade Grasp
 
0x02 - Arrow Guard
 
0x01 - Hamedo
 
0x008f: Support 1
 
0x80 - Equip Armor
 
0x40 - Equip Shield
 
0x20 - Equip Sword
 
0x10 - Equip Katana
 
0x08 - Equip Crossbow
 
0x04 - Equip Spear
 
0x02 - Equip Axe
 
0x01 - Equip Gun
 
0x0090: Support 2
 
0x80 - Half of MP
 
0x40 - Gained JP-UP
 
0x20 - Gained EXP-UP
 
0x10 - Attack UP
 
0x08 - Defense UP
 
0x04 - Magic Attack UP
 
0x02 - Magic Defense UP
 
0x01 - Concentrate
 
0x0091: Support 3
 
0x80 - Train
 
0x40 - Secret Hunt
 
0x20 - Martial Arts
 
0x10 - Monster Talk
 
0x08 - Throw Item
 
0x04 - Maintenance
 
0x02 - Two Hands
 
0x01 - Two Swords
 
0x0092: Support 4
 
0x80 - Monster Skill
 
0x40 - Defend
 
0x20 - Equip Change
 
0x10 -
 
0x08 - Short Charge
 
0x04 - Non-Charge
 
0x02 -
 
0x01 -
 
0x0093: Movement 1
 
0x80 - Move +1
 
0x40 - Move +2
 
0x20 - Move +3
 
0x10 - Jump +1
 
0x08 - Jump +2
 
0x04 - Jump +3
 
0x02 - Ignore Height
 
0x01 - Move-HP UP
 
0x0094: Movement 2
 
0x80 - Move-MP UP
 
0x40 - Move-Get EXP
 
0x20 - Move-Get JP
 
0x10 - Cannot Enter Water
 
0x08 - Teleport
 
0x04 - Teleport 2
 
0x02 - Any Weather
 
0x01 - Any Ground
 
0x0095: Movement 3
 
0x80 - Walk on Water
 
0x40 - Move in Water
 
0x20 - Move on Lava
 
0x10 - Move Underwater
 
0x08 - Float
 
0x04 - Fly
 
0x02 - Silent Walk
 
0x01 - Move-Find Item
 
0x0096 - Unlocked Jobs 1-8 (all of these start at 0x80 and count down)
 
0x0097 - Unlocked Jobs 9-16
 
0x0098 - Unlocked Jobs 17-20
 
0x0099 - Base Action Abilities 1-8
 
0x009a - Base Action Abilities 9-16
 
0x009b - Base R/S/M 1-6
 
0x009c - Chemist Action Abilities 1-8
 
0x009d - Chemist Action Abilities 9-16
 
0x009e - Chemist R/S/M 1-6
 
0x009F - Knight Action Abilities 1-8
 
0x00A0 - Knight Action Abilities 9-16
 
0x00A1 - Knight R/S/M 1-6
 
0x00A2 - Archer Action Abilities 1-8
 
0x00A3 - Archer Action Abilities 9-16
 
0x00A4 - Archer R/S/M 1-6
 
0x00A5 - Monk Action Abilities 1-8
 
0x00A6 - Monk Action Abilities 9-16
 
0x00A7 - Monk R/S/M 1-6
 
0x00A8 - Priest Action Abilities 1-8
 
0x00A9 - Priest Action Abilities 9-16
 
0x00AA - Priest R/S/M 1-6
 
0x00AB - Wizard Action Abilities 1-8
 
0x00AC - Wizard Action Abilities 9-16
 
0x00AD - Wizard R/S/M 1-6
 
0x00AE - Time Mage Action Abilities 1-8
 
0x00AF - Time Mage Action Abilities 9-16
 
0x00B0 - Time Mage R/S/M 1-6
 
0x00B1 - Summoner Action Abilities 1-8
 
0x00B2 - Summoner Action Abilities 9-16
 
0x00B3 - Summoner R/S/M 1-6
 
0x00B4 - Thief Action Abilities 1-8
 
0x00B5 - Thief Action Abilities 9-16
 
0x00B6 - Thief R/S/M 1-6
 
0x00B7 - Mediator Action Abilities 1-8
 
0x00B8 - Mediator Action Abilities 9-16
 
0x00B9 - Mediator R/S/M 1-6
 
0x00BA - Oracle Action Abilities 1-8
 
0x00BB - Oracle Action Abilities 9-16
 
0x00BC - Oracle R/S/M 1-6
 
0x00BD - Geomancer Action Abilities 1-8
 
0x00BE - Geomancer Action Abilities 9-16
 
0x00BF - Geomancer R/S/M 1-6
 
0x00C0 - Lancer Action Abilities 1-8
 
0x00C1 - Lancer Action Abilities 9-16
 
0x00C2 - Lancer R/S/M 1-6
 
0x00C3 - Samurai Action Abilities 1-8
 
0x00C4 - Samurai Action Abilities 9-16
 
0x00C5 - Samurai R/S/M 1-6
 
0x00C6 - Ninja Action Abilities 1-8
 
0x00C7 - Ninja Action Abilities 9-16
 
0x00C8 - Ninja R/S/M 1-6
 
0x00C9 - Calculator Action Abilities 1-8
 
0x00CA - Calculator Action Abilities 9-16
 
0x00CB - Calculator R/S/M 1-6
 
0x00CC - Bard Action Abilities 1-8
 
0x00CD - Bard Action Abilities 9-16
 
0x00CE - Bard R/S/M 1-6
 
0x00CF - Dancer Action Abilities 1-8
 
0x00D0 - Dancer Action Abilities 9-16
 
0x00D1 - Dancer R/S/M 1-6
 
0x00D2 - Base/Chemist Job Level
 
0x00D3 - Knight/Archer Job Level
 
0x00D4 - Monk/Priest Job Level
 
0x00D5 - Wizard/Time Mage Job Level
 
0x00D6 - Summoner/Thief Job Level
 
0x00D7 - Mediator/Oracle Job Level
 
0x00D8 - Geomancer/Lancer Job Level
 
0x00D9 - Samurai/Ninja Job Level
 
0x00DA - Calculator/Bard Job Level
 
0x00DB - Dancer/Mime Job Level
 
0x00DC - Base Job JP
 
0x00DE - Chemist Job JP
 
0x00E0 - Knight Job JP
 
0x00E2 - Archer Job JP
 
0x00E4 - Monk Job JP
 
0x00E6 - Priest Job JP
 
0x00E8 - Wizard Job JP
 
0x00EA - Time Mage Job JP
 
0x00EC - Summoner Job JP
 
0x00EE - Thief Job JP
 
0x00F0 - Mediator Job JP
 
0x00F2 - Oracle Job JP
 
0x00F4 - Geomancer Job JP
 
0x00F6 - Lancer Job JP
 
0x00F8 - Samurai Job JP
 
0x00FA - Ninja Job JP
 
0x00FC - Calculator Job JP
 
0x00FE - Bard Job JP
 
0x0100 - Dancer Job JP
 
0x0102 - Mime Job JP
 
0x0104 - Total Base Job JP
 
0x0106 - Total Chemist Job JP
 
0x0108 - Total Knight Job JP
 
0x010A - Total Archer Job JP
 
0x010C - Total Monk Job JP
 
0x010E - Total Priest Job JP
 
0x0110 - Total Wizard Job JP
 
0x0112 - Total Time Mage Job JP
 
0x0114 - Total Summoner Job JP
 
0x0116 - Total Thief Job JP
 
0x0118 - Total Mediator Job JP
 
0x011A - Total Oracle Job JP
 
0x011C - Total Geomancer Job JP
 
0x011E - Total Lancer Job JP
 
0x0120 - Total Samurai Job JP
 
0x0122 - Total Ninja Job JP
 
0x0124 - Total Calculator Job JP
 
0x0126 - Total Bard Job JP
 
0x0128 - Total Dancer Job JP
 
0x012A - Total Mime Job JP
 
0x012C - 0x013B Unit Name
 
0x013C - 0x014B Job Name
 
0x014C - 0x0153 Primary Skillset Name (first 8 bytes)
 
0x0154 - 0x015B Secondary Skillset Name (First 8 bytes)
 
  0x015c - Number of times unit has been KOed this battle
 
0x015d - Current Ability CT
 
0x015e - Graphic
 
0x015f - Portrait  // Special Unit ID, if applicable, for allies (e.g. 0x1E for Agrias); otherwise, it was something else... sometimes 0x6X?
 
0x0160 - Palette
 
0x0161 - ENTD ID    // (Non-Ramza allies: 0x70-0x7F; Ramza: (his base job, 01/02/03); Others: ENTD Unit ID)
 
0x0162 - Special Skillset? (Specials set their skillset here)
 
0x0163 - War Trophy
 
0x0164 - Bonus Money Mod (* 100 = Gil)
 
0x0165 - X Location? (For where AI tends to stay near)
 
0x0166 - Y Location?
 
0x0167 -
 
0x80 - Higher Elevation Flag (for location)?
 
0x40 - Focus on target?
 
0x20 - Stay near X/Y? (+0x08 = never move once there)
 
0x10 - more aggressive?
 
0x08 - Coward-like?
 
0x04 -
 
0x02 -
 
0x01 -
 
0x0168 - Prioritized Target
 
0x0169 - (ENTD)
 
0x016a - (ENTD)
 
0x04 - Save CT? (don't move unless needed?)
 
0x016b - (ENTD)
 
0x016c - Unit Name ID
 
0x00XX - Special
 
0x01XX - Generic Male
 
0x02XX - Generic Female
 
0x03XX - Generic Monster
 
 
 
Target Data for action
 
0x016e/0x00 - Attacker/Self ID? (this data for charging attacks?)
 
0x016f/0x01 - Skillset of Last Attack Used
 
0x0170/0x02 - Last Attack Used ID (Currently Charging/performing action?)(half)
 
0x0172/ox04 - Calculator Type Ability ID
 
0x0174/0x06 - Calculator Multiplier Ability ID
 
0x0176/0x08 - Used Item/Equip ID?
 
0x0178/0x0a - reaction ID?
 
0x05 - Tile-Specific Ability?
 
0x06 - Target-Specific Ability?
 
0x0179/0x0b - Target ID?
 
0x017a/0x0c - X target panel coordinate (half)
 
0x017c/0x0e - half - Target map level  (half)
 
0x017e/0x10 - Y target panel coordinate (half
 
 
0x0180/0x12 - death on chocobo?
 
0x0181/0x13 -
 
0x80 -
 
0x40 -
 
0x20 -
 
0x10 - Stepping Stone
 
0x08 -
 
0x04 -
 
0x02 -
 
0x01 - Walkable
 
0x0182/0x14: Mount Info <span id="Mount Info"></span>
 
0x80 - Riding A Unit
 
0x40 - Being Ridden
 
0x20 -
 
0x1f - ID of unit Riding/Being ridden by this unit
 
0x0183 - Dealing with unit's ability to appear in battle?
 
(FF if unit can't exist?)
 
(01 if unit exists, 00 if not (but later can?)?)
 
0x80 - Was active, but is now disabled?
 
0x02 - Unit will be removed from party? (no longer exists, treas/cryst?)
 
0x0184: Equipped Flags?
 
0x80 -
 
0x40 -
 
0x20 -
 
0x10 -
 
0x08 - Sword Equipped
 
0x04 - Materia Blade Equipped
 
0x02 -
 
0x01 -
 
 
0x0185 -
 
0x0186 - Character's turn if 01, otherwise 00 - able to use move/act/wait menu
 
0x0187 - Movement Taken
 
0x01 - Movement taken
 
0x00 - has not moved yet
 
0x0188 - Action Taken
 
0x01 - action taken
 
0x00 - has not acted yet
 
0x0189 -
 
0x80 -
 
0x40 -
 
0x20 -
 
0x10 -
 
0x08 -
 
0x04 - target learning ability?
 
0x02 - Target hit by ability?
 
0x01 - Turn ended (set to 01 when reacting)
 
0x018a - Unit ID (without "Unit Exists" check)
 
0x018b - Ability CT
 
 
 
 
 
 
 
 
 
 
 
 
 
CURRENT ACTION DATA  [[CURRENT_ACTION_DATA|dedicated page here]] <span id="Current Action Data"></span>
 
 
 
0x018c/0x00 - Hit Flag
 
0x00 - Miss
 
0x01 - Hit
 
0x018d/0x01 - Critical Hit Flag
 
0x018e/0x02 - Evade Type
 
0x00 - Hit
 
0x01 - Guarded (Accessory) / Evaded (Accessory)
 
0x02 - Evaded (Right Hand Item)
 
0x03 - Evaded (Left Hand Item)
 
0x04 - Arrow Guard? / Evaded (Class Evade)
 
0x05 - Nullified
 
0x06 - Miss
 
0x07 - Catch? / [[Force_Attack_Miss|Attack forced to miss]] (Status infliction denied) / Float+Earth element / Finger Guard / Maintenance
 
0x08 - Canceled by status (death, petrify, wall)  [[Set_some_data_for_current_attack]]  (override previous values)
 
0x09 - Reflected?
 
0x0a - Golem
 
0x0b - Blade Grasp?
 
0x018f/0x03 - ID of the Item to remove (break/use/steal)
 
0x0190/0x04 - HP Damage
 
0x0192/0x06 - HP Recovery
 
0x0194/0x08 - MP Damage
 
0x0196/0x0a - MP Recovery
 
0x0198/0x0c - Gil Stolen/Lost
 
0x019a/0x0e - Reaction ID
 
0x019c/0x10 - Special Flags 1
 
0x80 - +1 Level
 
0x40 - Switch Team
 
0x20 - Poached
 
0x10 - Steal Item
 
0x08 - Stole targets item? - Katana not broken overrides others flag : [[Draw_out_routine_dealing_with_experience_gain|here]])
 
0x04 - Break Item
 
0x02 - Malboro (moldball virus)
 
0x01 - Golem
 
0x019d/0x11 - Special Flags 2
 
0x80 - Reducing Golem Amount?
 
0x40 - Knockback
 
0x20 -
 
0x10 - Katana broken
 
0x08 - Weakness?
 
0x04 - Absorption?
 
0x02 - Proc is Triggered - Enabled here [[Conditional_Status_Proc_Roll_(19%25)_Inner_Routine]]
 
0x01 - -1 Level
 
0x019e/0x12 - SP Change
 
0x80 - Bonus Flag
 
0x019f/0x13 - CT Change
 
0xFF = "Quick"
 
0x7F = "CT0"
 
0x80 - Bonus Flag
 
    0x01a0/0x14 - PA Change
 
0x80 - Bonus Flag
 
0x01a1/0x15 - MA Change
 
0x80 - Bonus Flag
 
    0x01a2/0x16 - Brave Change
 
0x80 - Bonus Flag
 
    0x01a3/0x17 - Faith Change
 
0x80 - Bonus Flag
 
0x01a4/0x18 - Status Change?
 
0x80 - animate on miss
 
0x02 - ("Guarded"?)
 
0x01 - Failed status infliction? ("Missed!")
 
0x01a5/0x19 - Remove Equipment
 
0x80 - Remove Helmet
 
0x40 - Remove Armor
 
0x20 - Remove Accessory
 
0x10 - Remove Right Hand Weapon
 
0x08 - Remove Right Hand Shield
 
0x04 - Remove Left Hand Weapon
 
0x02 - Remove Left Hand Shield
 
0x01 -
 
0x01a6/0x1a - Stolen Item ID
 
0x01a7/0x1b - Attack's Status Infliction 1
 
0x80 -
 
0x40 - Crystal
 
0x20 - Dead
 
0x10 - Undead
 
0x08 - Charging
 
0x04 - Jump
 
0x02 - Defending
 
0x01 - Performing
 
0x01a8/0x1c - Attack's Status Infliction 2
 
0x80 - Petrify
 
0x40 - Invite
 
0x20 - Darkness
 
0x10 - Confusion
 
0x08 - Silence
 
0x04 - Blood Suck
 
0x02 - Cursed
 
0x01 - Treasure
 
0x01a9/0x1d - Attack's Status Infliction 3
 
0x80 - Oil
 
0x40 - Float
 
0x20 - Reraise
 
0x10 - Transparent
 
0x08 - Berserk
 
0x04 - Chicken
 
0x02 - Frog
 
0x01 - Critical
 
0x01aa/0x1e - Attack's Status Infliction 4
 
0x80 - Poison
 
0x40 - Regen
 
0x20 - Protect
 
0x10 - Shell
 
0x08 - Haste
 
0x04 - Slow
 
0x02 - Stop
 
0x01 - Wall
 
0x01ab/0x1f - Attack's Status Infliction 5
 
0x80 - Faith
 
0x40 - Innocent
 
0x20 - Charm
 
0x10 - Sleep
 
0x08 - Don't Move
 
0x04 - Don't Act
 
0x02 - Reflect
 
0x01 - Death Sentence
 
0x01ac/0x20 - Attack's Status Removal 1
 
0x80 -
 
0x40 - Crystal
 
0x20 - Dead
 
0x10 - Undead
 
0x08 - Charging
 
0x04 - Jump
 
0x02 - Defending
 
0x01 - Performing
 
0x01ad/0x21 - Attack's Status Removal 2
 
0x80 - Petrify
 
0x40 - Invite
 
0x20 - Darkness
 
0x10 - Confusion
 
0x08 - Silence
 
0x04 - Blood Suck
 
0x02 - Cursed
 
0x01 - Treasure
 
0x01ae/0x22 - Attack's Status Removal 3
 
0x80 - Oil
 
0x40 - Float
 
0x20 - Reraise
 
0x10 - Transparent
 
0x08 - Berserk
 
0x04 - Chicken
 
0x02 - Frog
 
0x01 - Critical
 
0x01af/0x23 - Attack's Status Removal 4
 
0x80 - Poison
 
0x40 - Regen
 
0x20 - Protect
 
0x10 - Shell
 
0x08 - Haste
 
0x04 - Slow
 
0x02 - Stop
 
0x01 - Wall
 
0x01b0/0x24 - Attack's Status Removal 5
 
0x80 - Faith
 
0x40 - Innocent
 
0x20 - Charm
 
0x10 - Sleep
 
0x08 - Don't Move
 
0x04 - Don't Act
 
0x02 - Reflect
 
0x01 - Death Sentence
 
0x01b1/0x25: Attack Type
 
0x80 - HP Damage
 
0x40 - HP Recovery
 
0x20 - MP Damage
 
0x10 - MP Recovery
 
0x08 - Status Change?
 
0x04 - ?
 
0x02 - ?
 
0x01 - Pseudo-Status change?
 
0x01b2/0x26 - Last Attack Recieved
 
0x01b4/0x28 - Stolen Exp?
 
0x80 = Malus (Steal Xp)
 
0x01b5/0x29 - Stolen JP?
 
0x01b6/0x2a - Hit % (Display data?)
 
0x01b7/0x2b -
 
0x01b8/0x2c - Auto Battle Flag
 
0x01b9/0x2d - Main Target ID?
 
0x01ba/0x2e - Modified ENTD Flags
 
0x80 - Always Present
 
0x40 - Randomly Present
 
0x20 - Team Bit 1. 0x20 and 0x10 is Light Blue. 0x20 is Green.
 
0x10 - Team Bit 2. 0x10 is Red. If neither bit, team is Blue.
 
0x08 - Control
 
0x04 - Immortal
 
0x02 - (if both 01 and 02, then immune to knockback)
 
0x01 - (both set by Ramza when initialized)
 
0x01bb/0x2f - Inflicted Status List 1
 
0x01bc/0x30 - Inflicted Status List 2
 
0x01bd/0x31 - Inflicted Status List 3
 
0x01be/0x32 - Inflicted Status List 4
 
0x01bf/0x33 - Inflicted Status List 5
 
 
 
80192d8c - Attacker Current Action Data Pointer
 
80192d90 - Target Current Action Data Pointer
 
80192d94 - Attacker's Data Pointer
 
80192d98 - Target Data Pointer
 
 
 
80192d9c - Reaction ID
 
 
 
 
80192da0 - Copy of Acting Unit's Current Action Data? 0x2c long
 
 
 
 
 
 
80192db0 -
 
 
 
80192dc5
 
 
 
80192dcc - X coordinate of target
 
80192dd0 - Y coordinate of target
 
80192dd4 - map level of target
 
 
 
80192dda -
 
  
  80192dd8 - Moveable/Targetable Panel Grid (By rows of X panels, 0x10 in each row)
+
  ENTD data - Loaded into RAM 0x1dc000 during battle setup
0x00 - AoE of panels to highlight (1 only highlights panel, 2 highlights AoE 1 panels, etc.)
 
0x01 - set to 01 when panel is green (targeted with ability) - used as a stack in [[Select_Random_Tile_For_Random_Fire_Abilities]]
 
0x02 - Unit Number (battle) of unit standing on panel?
 
0x03 -
 
0x04 - Obstructed (set to 0xff if panel is obstructed)/ Not reachable?
 
 
 
 
 
801934c2
 
 
801937d3
 
 
 
80193844 - Sum of enemy levels (when loaded; doesn't factor in level ups)
 
 
 
80193848 - (Data from 0x16e-0x182 of Unit Data)
 
 
 
8019385c - end of above data
 
 
 
80193860 - ? (set to 0 if an item is used on undead) - Host 1st set of canceled statuses (routine 0018b9f8called from pre formula set up)
 
80193861 - 2nd set of canceled statuses
 
80193862 - 3rd set of canceled statuses
 
80193863 - 4th set of canceled statuses
 
80193864 - 5th set of canceled statuses
 
 
 
 
 
 
 
80193868 - Targets hit by ability (0x10 bytes; amount of non-FF data is counted,
 
and the data c/p to misc. unit data, 0x18e)
 
0x0f long
 
 
 
 
80193877 - End of target list
 
80193878 - Targets Hit Counter
 
8019387c
 
 
 
80193881 - start of some panel data (0x03 bytes each)
 
 
 
80193898
 
 
 
Current Ability Data
 
8019389c - Attacker's Facing (byte)
 
8019389d - (set to 1 when setting the weapon IDs) action performed byte?
 
8019389e - Attacker's RH Weapon
 
8019389f - Attacker's LH Weapon
 
801938a0 - Attacker's Team
 
 
 
801938a2 - X Distance between Attacker/Target (halfword)
 
801938a4 - Y Distance between Attacker/Target (halfword)
 
801938a6 - Attacker/Self ID
 
801938a7 - Used Skillset ID
 
801938a8 - Used Ability ID
 
801938aa - Calculator Type ID
 
801938ac - Calculator Multiplier ID
 
801938ae - Used Item/Equip ID
 
801938af - (0x177)
 
801938b0 - Reaction ID?/flags
 
801938b1 - Target ID?
 
801938b2 - Target X
 
801938b4 - Target Map Level
 
801938b6 - Target Y
 
801938b8 - (0x180)
 
801938b9 - (0x181) stepping stone flags?
 
801938ba - Mount Info
 
801938bb -
 
801938bc - (word) Learn on hit?  Hamedo Byte (set to 1 if hamedoing) - tells you to skip original attack
 
 
 
 
 
801938c0 - Attacker Unit ID
 
801938c1 - Target Unit ID
 
801938c2 - #Hits
 
801938c3 - Strike Counter
 
801938c4 - Primary Weapon ID (Also used for used item/weapon ID for Weapon Inventory)
 
801938c5 - Secondary Weapon ID
 
801938c6 - Reaction ID (half)
 
also set to 0x01 if reaction is occurring, then later set with ability ID
 
801938c8 - ? (Deals with elemental nullification)/poach (post action thing? used in reaction routine too) (half)
 
0x01 - perform reaction?
 
 
801938ca - Target new X Coordinate
 
801938cb - Target new Y coordinate
 
801938cc - target new elevation
 
801938cd - Caster Tile Type
 
801938ce - XA
 
801938d0 - YA
 
801938d2 - Defender's Effective Faith
 
801938d3 - Attacker's Effective Faith (set to 100 after checking faith)
 
801938d4 - Used Ability's Skillset
 
 
 
801938d6 - Used Ability ID?
 
801938d8 - Used Weapon ID
 
801938d9 - ? (01 = two-hands is in use?)
 
801938da - Proc ID
 
801938db - Used Item ID
 
801938dc - Base Hit
 
 
 
801938de - Accessory Evade
 
801938df - RH Evade
 
801938e0 - LH Evade
 
801938e1 - Class Evade
 
801938e2 - Facing Modifier (00 Front, 01 Side, 02 Back)
 
 
 
801938e4 - Charge's Power?
 
801938e5 - Ability Formula?
 
801938e6 - Undead Reverse flag (So far, met only in [[0E_Dmg_(Y)%25_Hit_F(MA%2BX)%25_100%25_Status_Hide_Status|Formula 0E]] free to be used anywhere else ?)
 
801938e7 - Earned Experience
 
801938e8 - Can earn EXP?
 
801938e9 - defaults to weapon attack? (default to attack flag?)
 
0x01 - default to weapon attack?
 
0x00 - don't default
 
801938ea - Random Damage modifier (Formula 0x32 : just stored and loaded - no other occurences found) - did some test with other formulas does nothing (free to use ?)
 
801938eb - MP Used
 
801938ec - able to knock back? (checked in knockback calculation) / Target Counter
 
801938ed - can poach?/fall damage flags?
 
0x80 - Fall damage not calculated
 
        0xX2 - Ignore Fall Damage (Flying Unit)
 
        0xX1 - Take Fall Damage (non-flying units, flying
 
801938ee - Fall Distance (divide by 2 for tiles fallen)
 
801938ef - post-action target ID? (used in knockback 2)
 
801938f0 - Ability Range
 
801938f1 - Ability Effect Area
 
801938f2 - Ability Vertical
 
801938f3 - Ability Flags 1
 
0x80 -
 
0x40 -
 
0x20 - Ranged Weapon
 
0x10 - Vertical Fixed
 
0x08 - Vertical Tolerence
 
0x04 - Weapon Strike
 
0x02 - Auto
 
0x01 - Can't Target Self
 
801938f4 - Ability Flags 2
 
0x80 - Can't Hit Enemies
 
0x40 - Can't Hit Allies
 
0x20 -
 
0x10 - Can't Follow Target
 
0x08 - Random Fire
 
0x04 - Linear Attack
 
0x02 - 3 Directions
 
0x01 - Can't Hit Caster
 
801938f5 - Ability Flags 3
 
0x80 - Reflectable
 
0x40 - Math Skill
 
0x20 - Affected By Silence
 
0x10 - Can't Mimic
 
0x08 - Normal Attack?
 
0x04 - Persevere
 
0x02 - Quote
 
0x01 - Animate on Miss
 
801938f6 - Ability Flags 4
 
0x80 - Counter Flood
 
0x40 - Counter Magic
 
0x20 - Direct
 
0x10 - Blade Grasp
 
0x08 - Requires Sword
 
0x04 - Requires Materia Blade
 
0x02 - Evadeable
 
0x01 - Np Targetting
 
801938f7 - Ability Element
 
0x80 - Fire
 
0x40 - Lightning
 
0x20 - Ice
 
0x10 - Wind
 
0x08 - Earth
 
0x04 - Water
 
0x02 - Holy
 
0x01 - Dark
 
801938f8 - Ability Formula
 
801938f9 - Ability X
 
801938fa - Ability Y
 
801938fb - Ability Inflict Status ID
 
801938fc - Ability CT
 
801938fd - Ability MP Cost
 
801938fe - Weapon Range
 
 
 
801938ff: Weapon Characteristics
 
0x80 - Striking
 
0x40 - Lunging
 
0x20 - Direct
 
0x10 - Arc Attack
 
0x08 - 2 Swordable
 
0x04 - 2h enabled
 
0x02 - Cast Spell (disabled, with formula 02), or inflict status (enabled)?
 
0x01 - Forced 2h
 
 
 
80193900 - Weapon Formula
 
80193901 -
 
80193902 - WP
 
80193903 - W-Evade
 
80193904 - Weapon's Element
 
80193905 - Inflict Status/Cast Spell Index
 
 
 
80193906 - Status Infliction Type
 
0x80 - All or Nothing
 
0x40 - Random
 
0x20 - Separate
 
0x10 - Cancel
 
0x08 -
 
0x04 -
 
0x02 -
 
0x01 -
 
80193907 - Status Set 1
 
0x80 -
 
0x40 - Crystal
 
0x20 - Dead
 
0x10 - Undead
 
0x08 - Charging
 
0x04 - Jump
 
0x02 - Defending
 
0x01 - Performing
 
80193908 - Status Set 2
 
0x80 - Petrify
 
0x40 - Invite
 
0x20 - Darkness
 
0x10 - Confusion
 
0x08 - Silence
 
0x04 - Blood Suck
 
0x02 - Cursed
 
0x01 - Treasure
 
80193909 - Status Set 3
 
0x80 - Oil
 
0x40 - Float
 
0x20 - Reraise
 
0x10 - Transparent
 
0x08 - Berserk
 
0x04 - Chicken
 
0x02 - Frog
 
0x01 - Critical
 
8019390a - Status Set 4
 
0x80 - Poison
 
0x40 - Regen
 
0x20 - Protect
 
0x10 - Shell
 
0x08 - Haste
 
0x04 - Slow
 
0x02 - Stop
 
8019390b - Status Set 5
 
0x80 - Faith
 
0x40 - Innocent
 
0x20 - Charm
 
0x10 - Sleep
 
0x08 - Don't Move
 
0x04 - Don't Act
 
0x02 - Reflect
 
0x01 - Death Sentence
 
wrong i think
 
8019390c - Ability Type
 
8019390d - Ability Element (Set to 0x01 if Unit gain a Job Lv at [[Main_Reaction_subroutine_-_ENTD/ID_stuff]])
 
8019390e - Post Formula flag set to 0x06 if target is poached / 0x09 if target is trained (switch team)
 
8019390f - Ability Power 1
 
80193910 - Ability Power 2
 
80193911 - Ability Inflict Status ID?
 
80193912 - Ability CT (?)
 
80193913 - Ability MP Cost
 
 
 
 
 
During movement?
 
80193910 - Move find item data 1
 
0x00 - coordinates (XY)
 
0x01 - Trap Flags/activation
 
0x20 - always trap
 
0x10 - disable trap
 
0x03 - steel needle
 
0x02 - sleeping gas
 
0x01 - deathtrap
 
0x00 - degenerator
 
0x02 - Rare Item
 
0x03 - Common Item
 
  Move find item data 2
 
  Move find item data 3
 
  Move find item data 4
 
 
 
80193920 - Highest enemy level (when loaded; doesn't factor in level ups)
 
 
 
80193924 - Unit AI Extended Status Data (16 total, 0x40 bytes each)
 
0x00 - Unit ID
 
0x01 - Death Counter
 
0x02 - Death Sentence CT?
 
0x03 - Current Statuses 1
 
0x04 - Current Statuses 2
 
0x05 - Current Statuses 3
 
0x06 - Current Statuses 4
 
0x07 - Current Statuses 5
 
0x08 - Poison CT
 
0x09 - Regen CT
 
0x0a - Protect CT
 
0x0b - Shell CT
 
0x0c - Haste CT
 
0x0d - Slow CT
 
0x0e - Stop CT
 
0x0f - Wall CT
 
0x10 - Faith CT
 
0x11 - Innocent CT
 
0x12 - Charm CT
 
0x13 - Sleep CT
 
0x14 - Don't Move CT
 
0x15 - Don't Act CT
 
0x16 - Reflect CT
 
0x17 - Death Sentence CT
 
0x18 - ENTD Flags
 
0x19 - Faith
 
0x1a - Turn Flag?
 
0x1b - HP
 
 
 
0x1e - MP
 
0x20 - Current Ability CT
 
0x21 - Base PA
 
0x22 - Base MA
 
0x23 - Base SP
 
0x24 - PA
 
0x25 - MA
 
0x26 - SP
 
0x27 - CT
 
0x28 - X Coordinate
 
0x29 - Y Coordinate
 
0x2a - Map Flags (Map Level, Facing, etc.)
 
0x2b - Turn Flag?
 
0x2c - Unit Moved Flag?
 
0x2d - Unit Acted Flag?
 
0x2e - (0x1b8 in unit data)
 
0x2f - Main Target ID?
 
0x30 - Modified ENTD Flags
 
0x31 - Inflicted Statuses 1
 
0x32 - Inflicted Statuses 2
 
0x33 - Inflicted Statuses 3
 
0x34 - Inflicted Statuses 4
 
0x35 - Inflicted Statuses 5
 
0x36 - Helmet
 
0x37 - Armor
 
0x38 - Accessory
 
0x39 - Right Hand Weapon
 
0x3a - Right Hand Shield
 
0x3b - Left Hand Weapon
 
0x3c - Left Hand Shield
 
0x3d - Brave
 
0x3e - Mount Info
 
 
 
80193d24 - Attacker's AI Data
 
0x00 - Facing
 
0x01 - (set to 1 when setting the weapon IDs)
 
0x02 - RH Weapon
 
0x03 - LH Weapon
 
0x04 - Team
 
0x05 -
 
0x06 - X Distance between Attacker/Target
 
0x08 - Y Distance between Attacker/Target
 
0x0a - Attacker/Self ID
 
0x0b - Used Skillset ID
 
0x0c - Used Ability ID
 
0x0e - Calculator Type ID
 
0x10 - Calculator Multiplier ID
 
0x12 - Used Item/Equip ID
 
0x13 - (0x177)
 
0x14 - Reaction ID?/flags
 
0x15 - Target ID?
 
0x16 - Target X
 
0x17 -
 
0x18 - Target Map Level
 
0x19 -
 
0x1a - Target Y
 
0x1b -
 
0x1c - (0x181) stepping stone flags?
 
0x1d - Mount Info
 
 
 
 
 
80193d44 - Acting Unit's Used Ability ID
 
 
 
80193d98 - AI Targeting? Code Pointers
 
 
 
80193aec - Player unit information (0x40 long for 5 units?)
 
0x0000 - Poison CT
 
0x0001 - Regen CT
 
0x0002 - Protect CT
 
0x0003 - Shell CT
 
0x0004 - Haste CT
 
0x0005 - Slow CT
 
0x0006 - Stop CT
 
0x0007 - Wall CT
 
0x0008 - Faith CT
 
0x0009 - Innocent CT
 
0x000a - Charm CT
 
0x000b - Sleep CT
 
0x000c - Don't Move CT
 
0x000d - Don't Act CT
 
0x000e - Reflect CT
 
0x000f - Death Sentence CT
 
0x0010 - Units Current Faith (not original)
 
0x0011 - Unit CT
 
0x0012 - Units HP
 
0x0013 - Units HP (2nd Byte)
 
 
 
0x0019 - Original PA
 
0x001a - Original MA
 
0x001b - Original Speed
 
0x001c - Current MA?
 
0x001d - Current Spd
 
0x001e - byte 0x39 in unit data... other CT byte?
 
0x001f - X Coordinate
 
0x0020 - Y Coordinate
 
0x0021 - Higher Elevation, facing direction?
 
0x0022 - Movement taken flag
 
0x0023 - action taken flag    (perhaps double as "Able to Move/Act")
 
0x0024 - Main Target ID
 
0x0025 - Copy of 0x0006 in unit data, team/ENTD/Immortal flags (Current Action Data)
 
0x0026 - Inflicted statii (factors in random/seperate/etc. and accuracy) (Current Action Data)
 
0x0027 - Byte 2 ^^
 
0x0028 - Byte 3 ^^
 
0x0029 - Byte 4 ^^
 
0x002a - 2d - Last bytes of unit data?? (list may have gotten out of order)
 
 
 
( Routine (0x0019ab44) starts loading THIS data into UNIT data.... wtF?)
 
0x002e - Equipped body
 
0x002f - equipped accessory
 
0x0030 - equipped right hand weapon
 
0x0031 - equipped right hand shield
 
0x0032 - equipped left hand weapon
 
0x0033 - equipped left hand shield
 
 
 
 
80193b2c - Unit 2
 
80193b6c - unit 3
 
80193bac - unit 4
 
80193bec - unit 5
 
80193c2c - ??
 
 
 
 
 
 
80193d47
 
 
 
80193d48 - code
 
 
80195cd0 - Thread array (WORLD.BIN) (Each thread data block is 0x400 = 1024 bytes, and includes its own stack); 17 entries total
 
    0x00 - Thread function parameter 1
 
    0x04 - Thread function parameter 2
 
    0x08 - Thread function parameter 3
 
    0x0c - ? (Set to 0 when thread is initialized)
 
    0x10 - 0x2c: Saved register values for this thread ($s0 - $s7)
 
    0x30 - 0x34: Kernal register values for this thread ($k0 - $k1)
 
    0x38 - Global pointer for this thread ($gp)
 
    0x3c - Stack pointer for this thread ($sp)
 
    0x40 - Frame pointer for this thread ($fp)
 
    0x44 - Address of first command for this thread to run upon being started or resumed ($ra)
 
    0x48 - IsRunning value (boolean; True (1) if thread is currently active/running, false (0) if not)
 
    0x4c - Task ID (Matches those listed in WaitForInstruction event command)
 
    0x50 - 0x68: ? (Set to 0 when thread is initialized)
 
    0x6c and beyond: Stack for this thread; ~900 bytes available
 
 
 
Table of Offsets from 0x193D48-E4F
 
801959D4 (Throw Item)
 
80195A30 (Something to do with moving?)
 
80195BBC (?)
 
80195C00 (?)
 
80195A24 (?)
 
80195944 (?)
 
80195A90 (CTR calculation for spells)
 
80195BA0 (?)
 
80198578 (?)
 
801985F8 (?)
 
8019870C (Checks r2 for 1 or -1 at beginning, ELSE, proceed to bottom routines...stuff for positive or negative status, maybe?)
 
80198748 (?)
 
80198788 (?...very similar to above...one's for damage, the other healing?)
 
801987C0 (?...very similar to above...this one's for pseudo-status?)
 
801986A0 (Goes into routine 0x19870C but inputs different variables)
 
801992E8 (Blood Suck)
 
80199240 (All routines that go to the same place as Blood Suck...telling the AI know unit is KO'd?)
 
80199288 (Check something?  Increment r18 by 1 to check 21 times.)
 
801992FC (AI Routine for crystal/treasure?)
 
801992A0 (More routines that go to the same place as Blood Suck)
 
80199214 (Check something different?  Increment r18 by 1 to check 21 times.)
 
8019B0B8 (?)
 
8019B100 (?...very similar to above...again, there's a check for -1 that voids the routine)
 
8019B160 (?...very similar to above...again, there's a check for -1 that voids the routine)
 
8019B1CC (?)
 
8019B240 (?)
 
8019B2C0 (?)
 
8019B068 (?...leads into 0x190B8 but with 2 extra checks, with a check for -1 that voids the 80routine)
 
8019AF74 (?...leads into previous routine but loads a random number...something to do with decision making?)
 
8019B094 (The second check of 0x19B068)
 
8019D8EC (Multiplies X? with r4 for CT?)
 
8019D91C (AI on CT effects like slow/stop and sleep/don't move/don't act)
 
8019D8F8 (Multiplies Y? with r4 for CT?)
 
8019D978 (CT effects' AI)
 
8019D950 (AI for control effects like Blood Suck/Confuse/Charm...my AI hack for Invite probably also needs to edit this or the AI won't use invite the way he uses charm...0x19D974 touches something important?)
 
 
 
Status Priority Values (19f308)
 
Values are interpreted as curHP%, thus, each status is +/- effective curHP.
 
    0x01: Statuses 1
 
        0x80 -                          0% (0000)
 
        0x40 - Crystal                  -150% -c0(ff40)
 
        0x20 - Dead                    -150% -c0(ff40)
 
        0x10 - Undead                  -30.5% -27(ffd9)
 
        0x08 - Charging                0% (0000)
 
        0x04 - Jump                    0% (0000)
 
        0x02 - Defending                0% (0000)
 
        0x01 - Performing              0% (0000)
 
    0x02: Statuses 2
 
        0x80 - Petrify                  -90.6% -74(ff8c)
 
        0x40 - Invite                  -180.4% -e7(ff19)
 
        0x20 - Darkness                -50% [-40(ffc0) * Evadable abilities] + 3 / 4
 
        0x10 - Confusion                -50% -40(ffc0) (+1 / 4 if slow/stop/sleep/don't move/act/)
 
        0x08 - Silence                  -70.3% [-5a(ffa6) * Silence abilities] + 3 / 4
 
        0x04 - Blood Suck              -90.6% -74(ff8c) (+1 / 4 if slow/stop/sleep/don't move/act/)
 
        0x02 - Cursed                  0%(0000)
 
        0x01 - Treasure                -150% -c0(ff40)
 
    0x03: Statuses 3
 
        0x80 - Oil                      -5.5% -7(fff9)
 
        0x40 - Float                    9.4% c(000c)
 
        0x20 - Reraise                  39.8% 33(0033)
 
        0x10 - Transparent              29.7% 26(0026)
 
        0x08 - Berserk                  -30.5% -27(ffd9)
 
        0x04 - Chicken                  -20.3% -1a(ffe6)
 
        0x02 - Frog                    -40.6% -34(ffcc)
 
        0x01 - Critical                -25% -20(ffe0)
 
    0x04: Statuses 4
 
        0x80 - Poison                  -20.3% -1a(ffe6)
 
        0x40 - Regen                    19.5% 19(0019)
 
        0x20 - Protect                  19.5% 19(0019)
 
        0x10 - Shell                    19.5% 19(0019)
 
        0x08 - Haste                    14.8% 13(0013)
 
        0x04 - Slow                    -30.5% -27(ffd9) 0 if Confusion/Charm/Blood Suck
 
        0x02 - Stop                    -70.3% -5a(ffa6) 0 if Confusion/Charm/Blood Suck
 
        0x01 - Wall                    50% 40(0040)
 
    0x05: Statuses 5
 
        0x80 - Faith                    4.7% 6(0006)
 
        0x40 - Innocent                -5.5% -7(fff9)
 
        0x20 - Charm                    -50% -40(ffc0) (+1 / 4 if slow/stop/sleep/don't move/act/)
 
        0x10 - Sleep                    -30.5% -27(ffd9) 0 if Confusion/Charm/Blood Suck
 
        0x08 - Don't Move              -30.5% -27(ffd9) 0 if Confusion/Charm/Blood Suck
 
        0x04 - Don't Act                -50% -40(ffc0) 0 if Confusion/Charm/Blood Suck         
 
        0x02 - Reflect                  19.5% 19(0019)
 
        0x01 - Death Sentence
 
 
 
8019f358 - X/Y Mods (2 bytes each, 4 total)(for targeting? gets added to base values)
 
0x00 - X Mod
 
0x01 - Y Mod
 
 
 
0x00 - -1 Y
 
0x02 - -1 X
 
0x04 - +1 Y
 
0x06 - +1 X
 
 
 
8019f3ac - pointer to start of skillset/AI data (8019f3c4)
 
 
8019f3c0 - Unit AI Extended Status Data Pointer
 
8019f3c4 - Start of AI data
 
*AI Ability Use Data (0x14 total?)*
 
0x0000 - Skillset
 
0x0001 - CT
 
0x0002 - Ability ID
 
0x0004 - Range
 
0x0005 - AoE
 
0x0006 - Item Considered (Destroyed/Stolen/Used)
 
0x0007 - Status Infliction 1
 
0x0008 - Status Infliction 2
 
0x0009 - Status Infliction 3
 
0x000a - Status Infliction 4
 
0x000b - Status Infliction 5
 
0x000c - AI Behavior Flags 1
 
0x80 - HP
 
0x40 - MP
 
0x20 - Cancel Status
 
0x10 - Add Status
 
0x08 - Stats
 
0x04 - Unequip
 
0x02 - Target Enemies
 
0x01 - Target Allies
 
0x000d - AI Behavior Flags 2
 
0x80 - Ignore Range?
 
0x40 - Reflectable
 
0x20 - Undead Reverse
 
0x10 - Follow Target?
 
0x08 - Random Hits
 
0x04 - Faith
 
0x02 - Evadeable
 
0x01 - Silence (on = affected by silence)
 
0x000e - AI Behavior Flags 3
 
0x80 - Arc Attack?
 
0x40 - Direct Attack
 
0x20 - Linear Attack
 
0x10 - Vertical Increase (default off)
 
0x08 - Triple Attack
 
0x04 - Triple Bracelet
 
0x02 - Magic Defense UP
 
0x01 - Defense UP
 
0x000f - AI Behavior Flags 4?
 
0x80 - Usable by AI?
 
0x40 - Cannot Target Enemy?
 
0x20 - Cannot Target Ally?
 
0x10 -
 
0x08 - Requires Monster Skill?
 
0x04 - Weapon-Range? (physical/weapon attacks)
 
0x02 - (raise/wall/Wave fist/dash/accumulate)
 
0x01 - Evade with Motion
 
0x0010 - Ability Elements
 
0x0011 - MP Cost
 
 
 
0x0014 - (set to 1 after setting AI Targeting Flags)
 
 
0x0018 - Acting Unit's X Coordinate
 
0x0019 - Acting Unit's Map Level
 
0x001a - Acting Unit's Y Coordinate
 
0x001b - ? (set to 0 when getting X/Y)
 
 
0xf3df/0x001b - (set to 0 when initializing current unit's data)
 
 
0xf3e0/0x001c/0x00 - Acting Unit's ID
 
0xf3e1/0x001d/0x01 - Skillset of Last Attack
 
0xf3e2/0x001e/0x02 - Last Attack Used ID
 
0xf3e4/0x0020/0x04 - Calculator Type Ability ID
 
0xf3e6/0x0022/0x06 - Calculator Multiplier Ability ID
 
0xf3e8/0x0024/0x08 - Item Destroyed/Stolen ID
 
 
 
0xf3ea/0x0026 -
 
0x05 - ability that uses weapon/physical animation
 
0x06 - ability that uses a target-specific animation
 
0xf3eb/0x0027 - Target ID?
 
0xf3ec/0x0028 - Target X
 
 
 
0xf3ee/0x002a - Target Map Level
 
 
 
0xf3f0/0x002c - Target Y
 
 
 
0xf3f4/0x0030 - Mount Info
 
0xf3f5/0x0031 - Base Hit%
 
0xf3f6/0x0032 - (halfword) - set to 0 after setting AI extended status
 
0xf3f8/0x0034 - ??
 
0xf3f9/0x0035 - ??
 
 
0x0050 -
 
0x0054
 
 
0x0000/0x0082 - set to 1 if ability is affect MP but not target enemy
 
 
0xf468/0x00a4 - Start of some data
 
 
0x????/0x0100 - ?? some flag?
 
 
0x????/0x0148 - Start of some data
 
 
0x????/0x01ec - ability MP cost list? (0x51 bytes, 0xff marks end of list)
 
 
0x????/0x0200 - Golem Amounts
 
0x00 - Blue Team
 
0x01 - Red Team
 
0x02 - Light Blue Team
 
0x03 - Green Team
 
 
 
0xf5f4/0x0230 - ? list (list from 0xe3c, 8 bytes)
 
0xf5f0/0x022c - AI Calculation Types?
 
                        0 skips Reaction calculations (Attack Phase?)
 
0xf5f4/0x0230 - ? list (list from 0xe3c, 8 bytes)
 
0xf5fc/0x0238 - set to 1 when moving Acting Unit data to AI (word)
 
                        0 = Attack Phase?
 
                        2 skips storing MP after subtracting MP used in 0x0017da20
 
                        != 0 skips formulas 1e and 1f random hits calculation
 
 
 
0x????/0x23e - action menu byte?
 
 
  /0x290 -
 
 
 
0xf750/0x038c - Graphical Data?
 
 
  0x4e4 - trap settings?
 
 
 
      /0x04ec - unit has weapon bytes? (check routine at 80182f34)
 
 
 
  0x0a74 - data based on unit ID (0x48 bytes each)
 
 
0x0031/0x0c6d - set to 0 if 0xffff returned from 0x1971b8
 
0x0032/0x0c6e - set to 1 if able to move to target? (cleared when main target ID is set?
 
0x0036/0x0c72 - set to 0 if 801a0d7b != 0, else set to 1
 
0x0038/0x0c74 - X Coordinate
 
0x0039/0x0c75 - Map Level
 
0x003a/0x0c76 - Y Coordinate
 
0x003b/0x0c77 - ? (set to 0 when getting X/Y)
 
0x003c/0x0c78 - Active Unit List? (0x15 long)
 
0x0051/0x0c8d - Targetable Unit List (0x15 long, initialized targetable)
 
 
0x0065/0x0ca1 -
 
 
 
0x0078/0x0cb4 - (word)
 
0x40000000 - enabled after setting some targetability flags / Disabled if Acting unit has [Allied Target] or [Death Sentence]
 
0x20000000 - set if ability ID = holy water???
 
0x01000000 - (enabled after setting AI Targeting Data)
 
 
0x007c/0x0cb8 - (halfword)
 
0x007e/0x0cba - (checked against FF)(byte) (set to 0xFF based on skillset = 0, 2?
 
0x0082/0x0cbe - (set to 0 after checking AI move list stuff)
 
                        (set to 1 if MP/Target Enemies isn't enabled)
 
 
    
 
    
0x0000/0x0cc4 - list of words determined by 0x01f1 in AI data
+
   0x00 - Base Class / Character ID (Also affects sprites)
+
  0x01 - "Gender" Byte (ENTD Flags)
0x0082/0x???? - set to 1 if ability has MP or target enemies flagged
 
 
 
0x0098/0x0cd4 - List of Unit AI/Action? Data (0x14 bytes - 16 Units)
 
0x00 - Attacker/Self? ID
 
0x01 - Last Attack Skillset
 
0x02 - Last Attack ID
 
0x04 - Calculator Type ID
 
0x06 - Calculator Multiplier ID
 
0x08 - Used Item/Equip? ID
 
0x09 - (0x177 in unit data)
 
0x0a - (0x178)
 
0x0b - Target ID?
 
0x0c - Target X
 
0x0d - (0x17b)
 
0x0e - Map Level Flag
 
0x0f - (0x17d)
 
0x10 - Target Y
 
0x11 - (0x17f)
 
0x12 - (0x180)
 
0x13 - (0x181)
 
 
 
0x01d8/0x0e14 - Chosen Throw Ability ID?
 
0x01da/0x0e16 - Chosen Throw Weapon ID?
 
0x01dc/0x0e18 - ? list (0x14 bytes)
 
Set to 0 after Extended Status CT is set
 
 
 
0x01f1/0x0e2d - cleared after setting main target ID
 
0x01f2/0x0e2e - Acting Unit's ID
 
  /0x0e2f - Acting units ID?
 
0x01f3/0x0e3e - Acting Unit's Battle ID
 
0x01f4/0x0e30 - Acting Unit's X Coordinate
 
0x01f5/0x0e31 - Acting Unit's Map Level
 
0x01f6/0x0e32 - Acting Unit's Y Coordinate
 
0x01f7/0x0e33 - ? (set to 0 when getting X/Y)
 
0x01f8/0x0e34 - Acting Unit's AI Decision Pointer
 
0x01fc/0x0e38 - Acting Unit's Move
 
0x01fd/0x0e39 - Acting Unit's Team
 
0x01fe/0x0e3a - Map Max X
 
0x01ff/0x0e3b - Map Max Y
 
0x0200/0x0e3c - Team Golem values(8 bytes)
 
 
0x0000/0x0e44 - Status inflictions 1
 
0x0000/0x0e45 - Status inflictions 2
 
0x0000/0x0ef6 - Status inflictions 3
 
0x0000/0x0ef7 - Status inflictions 4
 
0x0000/0x0ef8 - Status inflictions 5
 
 
 
0x0213/0x0e4f - Remaining Clockticks
 
0x0214/0x0e50 - Unit AI Status Data Pointer (16 total, 8 bytes each)
 
0x00 - Unit ID
 
0x01 - Death Counter
 
0x02 - Death Sentence CT
 
0x03 - Current Statuses 1
 
0x04 - Current Statuses 2
 
0x05 - Current Statuses 3
 
0x06 - Current Statuses 4
 
0x07 - Current Statuses 5
 
 
0x0294/0x0ed0 - current abiliity CT
 
0x0295/0x0ed1 - current status
 
0x0296/0x0ed2 - inflicted status list 1
 
 
 
0x0298/0x0ed4 -0x0298/0x0ed4 - Main AI Progress? (0-2, for 0x00193e50)(byte) set to 0x02 if ability fails?
 
0x029a/0x0ed6 -
 
 
0x0???/0x0ee0 - In between turn control variable
 
0x0???/0x0ee4 - Menu loading control variable?
 
0x0???/0x0ee8 - active unit ID?
 
0x02b2/0x0eee - AI Progress? (0-2, for 0x0019d37c)(byte)
 
 
 
0x02b4/0x0ef0 - Unit's Move List (0x4 bytes each, 0x22 abilities per unit, 16 units, 0x88 bytes per unit, 0x880 total)
 
0x00 - Ability/R/S/M/Item ID
 
0x01 -
 
0x80 -
 
0x7c - Unit ID << 2
 
0x02 -
 
0x01 - bit 8 of A/R/S/M ID
 
0x02 - Ability's Skillset
 
0x03 - Usage Type?
 
0x80 - Set if usable ability?
 
0x40 - Allies/Self Only
 
0x20 - Enemies Only
 
0x10 -
 
0x08 - Requires Monster Skill?
 
0x04 - Weapon-Range? (physical/weapon attacks)
 
0x02 - (raise/wall/Wave fist/dash/accumulate)
 
0x01 - Evade with Motion? (may mean fail)
 
 
 
 
 
0x0b34/0x1770 - Hardcoded AI-Status abilities
 
0x00 - C8 - Blood Suck
 
0x01 - 00 (Target ID stored here shifted by 0x0a)
 
 
Frog
 
0x02 - A7
 
0x03 - Usage Type = 0x84
 
0x04 - 6F (frog attack?)
 
0x05 - 01
 
Berserk
 
0x06 - A9
 
0x07 - Usage Type = 0x84
 
 
 
 
0x0b3c/0x1778 - Unit Weapon? Attack Data (16 entries, 8 bytes each)
 
0x00 - Range
 
0x01 - AI Behavior Flags 1
 
0x80 - HP
 
0x40 - MP
 
0x20 - Cancel Status
 
0x10 - Add Status
 
0x08 - Stats
 
0x04 - Unequip
 
0x02 - Target Enemies
 
0x01 - Target Allies
 
0x02 - AI Behavior Flags 2
 
0x80 - Ignore Range?
 
0x40 - Reflectable
 
0x20 - Undead Reverse
 
0x10 - Follow Target?
 
0x08 - Random Hits
 
0x04 - Faith
 
0x02 - Evadeable
 
0x01 - Silence (on = affected by silence)
 
0x03 - AI Behavior Flags 3
 
0x80 - Arc Attack?
 
0x40 - Direct Attack
 
0x20 - Linear Attack
 
0x10 - Vertical Increase (default off)
 
0x08 - Triple Attack
 
0x04 - Triple Bracelet
 
0x02 - Magic Defense UP
 
0x01 - Defense UP
 
0x04 - Weapon ID
 
0x05 - Elements
 
0x06 -
 
0x07 -
 
 
0x0bbc/0x17f8 - Acting Unit's Data Pointer
 
 
 
0x0bc3/0x17ff - (byte)
 
 
0x0000/0x1800 - word from AI + cc4 stored here
 
 
 
0x0bdc/0x1818 - (byte)
 
 
 
 
 
 
0x0bf0/0x182c - AI Decision Data? (16 bytes each, 21 total?)
 
0x00 - X Location? (these 3 are for where the AI will stay around) - Target X if focusing a unit
 
0x01 - Higher Elevation Flag?
 
0x02 - Y Location? - Target Y if focusing a unit
 
0x03 - (set to 0 after finding usable abilities) (Set to 0 in [[Store_main_target_ID_and_focus_on_target_flag]] - Target found)
 
0x04 - (0x167 in Unit's Data)
 
0x80 - Not dead/petrified/death sentenced Enemy unit (Unit without this flag are ignored)
 
0x40 - Focus on Target? (Auto flags this as well)
 
0x20 - Stay Near X/Y Location?
 
0x10 - More Aggressive?
 
0x08 - Coward-like? (0x19a1 value set to 0x11)
 
0x04 - unit is jumping
 
0x02 - needs to be un-petrified
 
0x01 - needs to be revived
 
0x05 - Main Target ID (Based on Unit ID)
 
0x06 - (0x169 ")AI Targeting Flags 1
 
0x80 -
 
0x40 -
 
0x20 -
 
0x10 -
 
0x08 - Charging?(disabled if Ability CT = FF)
 
0x04 - Unit has largest # of usable abilities?
 
0x02 - Has HP recovery on ally ability?
 
0x01 - has ability that's not direct or arcing attack?
 
0x07 - AI Targeting Flags
 
0x80 - Critical HP Unit (HP < 12.5% Max HP)
 
0x40 - Dead Unit with Reraise
 
0x20 - Dead Unit without Reraise
 
0x10 - Can't be targeted? (enabled if result from 0x196ce8 = 1)
 
0x08 - [Allied Target] - AI Panic mod : Enabled if Acting unit allies are all frog or critical or Acting unit has one ally left (AI Team only)
 
0x04 - Save CT/Protect self?
 
0x02 - Low MP Unit (MP < 50% Max MP)
 
0x01 - Low HP Unit (HP < 50% Max HP)
 
0x08 - Enemy Flag (set to 1 if Acting Unit's team is different)(0x16b ")
 
0x09 - Highest MP Cost
 
0x0a - Lowest MP Cost
 
(These have a value of 0-4, possibly for priorities)
 
0x0b - MP Using Ability Mod (# MP Using abilities * 4 / # abilities)
 
0x0c - Silence Blocking Mod (# silence ignoring abilities ")
 
0x0d - Evade Ignoring Mod (# evadeable (physical?) abilities ")
 
0x0e - Range of Lowest range ability (+ Unit Move)
 
0x0f - Range of Highest range ability (+ Unit Move)
 
 
 
 
 
0x0d50/0x198c - Unit's Battle ID (21 unit ID's; based on number of units; FF = not used)
 
 
0x0d65/0x19a1 - ? (21 unit values?)
 
0x11 - (AI set to Coward? + Save CT/Protect self
 
0x0e - (AI set to Target Unit + Aggressive?, and teams are different)
 
0x0c - (AI set to Target Unit + Aggressive?, and teams are the same)
 
 
0x0d7a/0x19b6 -  AI/Autobattle setting (0x1b8 in unit data)
 
0x0d7b/0x19b7 - (byte) - involved in skillset/ability usage calculations (able to act if = 0?)
 
0x0d7c/0x19b8 - # of random hits abilities*128 / number of usable abilities...
 
0x0d7d/0x19b9 - water movement flag
 
0x01 - normal movement capability
 
0x00 - move in water/walk on water/float
 
 
 
 
0x0d7e/0x19ba -  0 if base hit = FF (byte)
 
0x0d7f/0x19bb - Unit targetable flag? - Set to 0x01 when there is only one enemy left ([[Some_targetability_setting]])
 
0x0d80/0x19bc - (byte)set to 0 in section after initialization
 
0x0d81/0x19bd - AI Action Taken Flag?
 
0x0d82/0x19be -  AI Movement Taken Flag?
 
 
 
0x0d8b/0x19c7 - (byte)
 
 
0x????/0x245c - List of tile data? (half each, 0x24 bytes for each map level, 0x48 total)
 
0x8000 - Moveable panel?
 
0x801a0d8b
 
 
0x8019f3c4 - Player's ability list menu data (if not AI.)
 
0x0000 - Ability ID (0x100 bytes long at max, if throw with maxed out weapon inv)
 
0x0001 - Ability Type flag (0x70 is ability, 0x38 is item, determines menu text.)
 
0x00a4 - MP cost/item stock (halfwords)
 
0x0148 - No. Turns to complete (halfwords)
 
0x01ec - MP cost/item stock (bytes)
 
0x023e - No. Turns to complete (bytes)
 
0x0290 - Silence/reflect flags
 
0x02e2 - No. Turns to complete (bytes)
 
0x0334 - No. Turns to complete (bytes)
 
0x06XX - skillset list
 
 
 
 
8019f5ac - word
 
 
 
8019f5b0/0x01ec - Items used list/ MP list?
 
 
 
0x23c
 
8019f602/0x23e - ability CT?
 
 
 
8019f654/0x0290 - Silence/reflect flags (related: if performance is checked here as well, the game won't set "No. turns to complete")
 
0x02 - affected by silence
 
0x01 - reflect
 
0x00 - none
 
 
 
8019f9b4 - [[Extra_Battle_Stats|Extra Battle Stats]]. (Used for saving/loading certain Battle Stats at certain times.)
 
 
 
801b48d0 - table of effect file start locations
 
 
801b53e8 - start of data (8 bytes each, by effect ID)
 
 
 
801b63e8 - Effect running state
 
    0 = Not running
 
    1 = Started
 
    (2 and 3 are intermediate steps between Started and Playing)   // set to 0x03 after getting palette data
 
    4 = Playing
 
   
 
801b63f0 - Ability Effect (2 bytes each, 0x1c6 total)
 
 
 
801b677c - Event & non-ability Effects (2 bytes each, 0x25 total)
 
 
 
801b84ac - table for [[Secondary effects by Charge Animation|secondary effect anims per 1st ability animation byte]]
 
 
 
801b8544 -
 
 
801b8874 - a gravity value? (0x53a)
 
801b8878 - "Gravity" Mod (0xa8000, constant? loaded with map?) (word)
 
            28 (X/Y Mod mult) * 12 (tile height mult) * 2048 = 0xa8000
 
            not really sure what it is exactly yet
 
 
801b8ba4 - Start of some data (0x54 bytes each, by effect ID)
 
0x00 - set to 0x03 when used?
 
 
 
801b8b60 - Acting Unit's ID (Word)
 
801b8b64 - Target's ID (Word)
 
801b8b68 - Attack's Current X (for checking targets)
 
801b8b6a - Attack's Current Map Level
 
801b8b6c - Attack's Current Y
 
801b8b70 - ArcTan Angle Mod (may be for other angle mods too)
 
801b8b74 - ??? Related to trajectory (see stored in arc weapon trajectory validation)
 
801b8b7c - Attack's X Mod Difference (Current X Mod - Previous X Mod)
 
801b8b80 - Attack's Z Mod Difference ()
 
801b8b84 - Attack's Y Mod Difference
 
801b8b88 - ??? Stored (not seen set) in arc weapon trajectory routine
 
801b8b8c - Attack's Current X Mod
 
801b8b8e - Attack's Current Z Mod
 
801b8b90 - Attack's Current Y Mod
 
801b8b94 - Target Tile's 0x06 byte's 0x10-0x40 flags stored as 0x01 0x02 0x04(on hitting a tile)
 
 
 
801b8b9c - (byte, start/part of chunk with 84 byte long sections?)
 
                (replaces 0x1b9134)
 
                (replaced by 0x1b9130)
 
 
 
801b8bc0 - used weapon ID? (Word)
 
 
 
 
 
801b8ba4 - set to 1 after storing data
 
 
 
801b8da4 -
 
 
 
801b8d4c
 
 
 
801b9134 - ?
 
 
 
801b9144 - Effect instruct. 0x6: pointer to arg. 2's file by ID? could have up to 0xe pointers
 
 
 
801b925c - Acting Unit's X/Y/Z Mods Pointer
 
        0x00/0x5c - X Mod
 
        0x02/0x5e - Z Mod (-Height)
 
        0x04/0x60 - Y Mod
 
 
 
801b9264 - Target's X/Y/Z Mods Pointer
 
        0x00/0x64 - X Mod
 
        0x02/0x66 - Z Mod (-Height)
 
        0x04/0x68 - Y Mod
 
 
 
801bbf3c - 3D Step Counter / 4 (number of passes needed for 3D attack?)
 
            (can also store 3D Distance / 512)
 
 
 
 
801bbf64 - check for different abilities
 
 
 
801c24c8 -
 
801c24d0 - loaded ability effect (half)
 
 
 
Loaded into RAM 0x1dc000 during battle setup
 
 
 
0x00 - Base Class / Character ID (Also affects sprites)
 
0x01 - "Gender" Byte (ENTD Flags)
 
 
     0x80 - Male
 
     0x80 - Male
 
     0x40 - Female
 
     0x40 - Female
Line 2,149: Line 76:
 
     0x02 - ?
 
     0x02 - ?
 
     0x01 - Join as Guest
 
     0x01 - Join as Guest
0x02 - Name
+
  0x02 - Name
0x03 - Level (over 99 = Party Level + Value - 100)
+
  0x03 - Level (over 99 = Party Level + Value - 100)
0x04 - Birth Month
+
  0x04 - Birth Month
0x05 - Birth Day
+
  0x05 - Birth Day
0x06 - Brave
+
  0x06 - Brave
0x07 - Faith
+
  0x07 - Faith
0x08 - Job Unlocked
+
  0x08 - Job Unlocked
 
  0x13 - Mime
 
  0x13 - Mime
 
  0x12 - Dancer
 
  0x12 - Dancer
Line 2,175: Line 102:
 
  0x02 - Knight
 
  0x02 - Knight
 
  0x01 - Chemist
 
  0x01 - Chemist
0x09 - Job Level
+
  0x09 - Job Level
0x0a - Job ID
+
  0x0a - Job ID
0x0b - Secondary ID
+
  0x0b - Secondary ID
0x0c - Reaction
+
  0x0c - Reaction
0x0e - Support
+
  0x0e - Support
0x10 - Movement
+
  0x10 - Movement
0x12 - Helmet
+
  0x12 - Helmet
0x13 - Armor
+
  0x13 - Armor
0x14 - Accessory
+
  0x14 - Accessory
0x15 - RH Equip
+
  0x15 - RH Equip
0x16 - LH Equip
+
  0x16 - LH Equip
0x17 - Palette
+
  0x17 - Palette
0x18 - ENTD Flags
+
  0x18 - ENTD Flags
 
  0x80 - Always Present
 
  0x80 - Always Present
 
  0x40 - Randomly Present
 
  0x40 - Randomly Present
Line 2,196: Line 123:
 
  0x02 - (if both 01 and 02, then immune to knockback)
 
  0x02 - (if both 01 and 02, then immune to knockback)
 
  0x01 - (both set by Ramza when initialized)
 
  0x01 - (both set by Ramza when initialized)
0x19 - X Coordinate
+
  0x19 - X Coordinate
0x1a - Y Coordinate + Facing/Upper Level Flag
+
  0x1a - Y Coordinate + Facing/Upper Level Flag
0x1c - Starting Experience
+
  0x1c - Starting Experience
0x1d - Primary Skillset
+
  0x1d - Primary Skillset
0x1e - War Trophy
+
  0x1e - War Trophy
0x1f - Gil (* 100)
+
  0x1f - Gil (* 100)
0x20 - Unit ID
+
  0x20 - Unit ID
0x21 - X Position (for AI)
+
  0x21 - X Position (for AI)
0x22 - Y Position
+
  0x22 - Y Position
0x23 -  
+
  0x23 -  
 
  0x40 - Focus on Target in 0x24?
 
  0x40 - Focus on Target in 0x24?
 
  0x20 - Stay near X/Y in 0x21/22? (0x28 = move and stay at position)
 
  0x20 - Stay near X/Y in 0x21/22? (0x28 = move and stay at position)
 
  0x10 - More aggressive? (when with 40, ONLY target that unit unless healing self)
 
  0x10 - More aggressive? (when with 40, ONLY target that unit unless healing self)
 
  0x08 - Coward-like? (stay behind X/Y location?)
 
  0x08 - Coward-like? (stay behind X/Y location?)
 
+
 
 
  Notes:  0x10 seems to override 0x20
 
  Notes:  0x10 seems to override 0x20
 
+
 
 
  0x20 seems to keep it's distance until it can get close enough to you?
 
  0x20 seems to keep it's distance until it can get close enough to you?
 
+
 
 
  0x08 will move up to 4 tiles away from the X/Y listed (0/0 = anywhere?)
 
  0x08 will move up to 4 tiles away from the X/Y listed (0/0 = anywhere?)
 
  seems to keep a 10 tile distance, unless an enemy moves within
 
  seems to keep a 10 tile distance, unless an enemy moves within
 
  their 10 tile radius (testing with 3 move archer with bow)
 
  their 10 tile radius (testing with 3 move archer with bow)
 
  they will not move unless they need to.
 
  they will not move unless they need to.
 
+
 
 
  seem to keep 10 away unless unable to move farther back, then they move
 
  seem to keep 10 away unless unable to move farther back, then they move
 
  back towards the center of their radius. you can force them out of their
 
  back towards the center of their radius. you can force them out of their
Line 2,225: Line 152:
 
  to push them out, but the turn after they leave the area they will move
 
  to push them out, but the turn after they leave the area they will move
 
  back towards it, even if you are within the 10 tile radius.
 
  back towards it, even if you are within the 10 tile radius.
 
+
 
 
  managed to get a 4 move unit 12 tiles away by moving close to them when
 
  managed to get a 4 move unit 12 tiles away by moving close to them when
 
  they had a bow... they seem to retreat away from the spot if they can't
 
  they had a bow... they seem to retreat away from the spot if they can't
 
  get to it and can still attack you (close-range would move to you)
 
  get to it and can still attack you (close-range would move to you)
0x24 - Target Unit ID
+
  0x24 - Target Unit ID
0x25 -  
+
  0x25 -  
0x26 -  
+
  0x26 -  
 
  0x04 - Save CT (don't move if not needed; also buff before attacking?)?
 
  0x04 - Save CT (don't move if not needed; also buff before attacking?)?
0x27 -
+
  0x27 -
  
  ***Effect Data Section
+
  (unsure who added these or what file they're for)
 
+
  80190814 -  
 
+
  80192db0 -  
801b48d0 - Per effect ID, start of effect data; will be different from 0x801c2500 if the file has any assembly/extraneous data to accompany it
+
  80192dc5 -
 
+
  801934c2 -
801b53e8 - List of data by Effect ID (0x08 bytes each, goes to 801b63e8)
+
  801937d3 -
0x04 - LBA value (word) [Blank effects get routed to E0511, 71150
+
  80193d47 -  
0x08 - Byte length rounded up to the nearest multiple of 0x800
+
  801b8da4 -  
 
+
  801b8d4c -
 
+
  801b9134 - ?
801b63e8 - Effect running state
 
    0 = Not running
 
    1 = Started
 
    (2 and 3 are intermediate steps between Started and Playing)    // set to 0x03 after getting palette data
 
    4 = Playing
 
 
 
801b67c8 - list of effect code instruction return addresses
 
001b67c8: 801a2238    0x00
 
001b67cc: 801a225c    0x01
 
001b67d0: 801a2280    0x02
 
001b67d4: 801a22f8    0x03
 
001b67d8: 801a236c    0x04
 
001b67dc: 801a2374    0x05
 
001b67e0: 801a23a8    0x06
 
001b67e4: 801a2414    0x07
 
001b67e8: 801a2488    0x08
 
001b67ec: 801a2524    0x09
 
001b67f0: 801a2560    0x0a
 
001b67f4: 801a259c    0x0b
 
001b67f8: 801a262c    0x0c
 
001b67fc: 801a2668    0x0d
 
001b6800: 801a26a4    0x0e
 
001b6804: 801a2734    0x0f
 
001b6808: 801a2770    0x10
 
001b680c: 801a27b0    0x11
 
001b6810: 801a2810    0x12
 
001b6814: 801a2870    0x13
 
001b6818: 801a28d4    0x14
 
001b681c: 801a2938    0x15
 
001b6820: 801a2998    0x16
 
001b6824: 801a29e0    0x17
 
001b6828: 801a2a2c    0x18
 
001b682c: 801a2a7c    0x19
 
001b6830: 801a2b18    0x1a
 
001b6834: 801a2b70    0x1b
 
001b6838: 801a2bc8    0x1c
 
001b683c: 801a2c28    0x1d
 
001b6840: 801a2c7c    0x1e
 
001b6844: 801a2cfc    0x1f
 
001b6848: 801a2d48    0x20
 
001b684c: 801a2d94    0x21
 
001b6850: 801a2de0    0x22
 
001b6854: 801a2e2c    0x23
 
001b6858: 801a2e78    0x24
 
001b685c: 801a2eb4    0x25
 
001b6860: 801a30ec    0x26
 
001b6864: 801a3148    0x27
 
001b6868: 801a3408    0x28
 
001b686c: 801a4838    0x29
 
001b6870: 801a4c44    0x2a
 
001b6874: 801a4c84    0x2b
 
001b6878: 801a4cc0    0x2c
 
001b687c: 801a4cd8    0x2d
 
001b6880 - 001b69a4: 801a2214    0x2e - 0x??
 
 
 
 
 
 
 
801b69a8 - effect palette address
 
 
 
801b69cc - check this half! used in enormous determination routine
 
 
 
801b84dc - Table of Extra particle effect flags?
 
  AA BB CC DD
 
0x00 Nothing : 00 00 00 00
 
0x01 Bow Arrow : 08 00 00 01
 
0x02 Spell chrg : 00 00 00 04
 
0x03 X-bow Bolt : 08 00 00 14
 
0x04 Spell chrg : 00 01 00 04
 
0x05 Smn Chrg : 00 00 00 16
 
0x06 Throw Stone: 08 01 00 14
 
0x07 Glowing Tar: 00 00 00 02
 
0x08 Glowing Tar: 00 00 00 02
 
0x09 Falling far: 00 00 00 08
 
0x0a Reflect : 0c 02 00 12
 
0x0b Zodiac Poof: 00 00 00 11
 
0x0c Death Poof : 00 00 00 0f
 
0x0d Level Up : 00 00 00 0d
 
0x0e Venom trap : 00 00 00 0c
 
0x0f Splash : 00 00 00 09
 
0x10 Throw Item : ff ff 00 14
 
0x11 red orbs : 00 00 00 06
 
0x12 equip Break: 00 00 00 15
 
0x13 teleport : 00 00 00 13
 
0x14 Golem : 00 00 00 03
 
0x15 Erroneous? : 00 00 00 05
 
it's remarkable this isn't all hard coded, there's actually some wriggle room here if you know what you're doing.
 
AA - no idea, seems to have very little effect. it's only set on empty set particles, and reflect, which is never read from.
 
BB - for animation types 0x1 and 0x14, this is the model used for the projectile of the attack. ff is simply no model, or the item.bin graphic for the used weapon.
 
Model data can be found [[Secondary Effect 0x1b69dc Table]] here, 0x801b69dc is the model data of an arrow, 0x801b6d00 for a stone, 0x801b6f00 for the reflect barrier.
 
Not sure yet what spell charge is doing with a BB, but it is the only other instance of this being a non-0 value, and also the only other routine that reads the value.
 
CC - zero
 
DD - the actual function of the particles.
 
 
 
801b8900 - call addresses per secondary animation effect type [[Effect Related (0x1b47e0)]]
 
0x00 Nothing : 801b0fec
 
0x01 Arrow Arc : 801b0ffc
 
0x02 Glowing Tar: 801b153c
 
0x03 Golem : 801b1aec
 
0x04 Spell chrg : 801b1c04
 
0x05 Unsure : 801b27dc
 
0x06 Red Orbs  : 801b284c
 
0x07 Not Called : 801b2968
 
0x08 Falling Tar: 801b2970
 
0x09 Splash    : 801b2a88
 
0x0a Not Called : 801b2bfc
 
0x0b Not Called : 801b2c04
 
0x0c Venom Trap : 801b2c0c
 
0x0d Level Up : 801b2d28
 
0x0e Not Called : 801b2e60
 
0x0f Death Poof : 801b2e68
 
0x10 Not Called : 801b3118
 
0x11 Zodiac Poof: 801b3120
 
0x12 Reflect    : 801b33d4
 
0x13 teleport : 801b3820
 
0x14 Lin. Proj. : 801b3938
 
0x15 Equip Break: 801b40f8
 
0x16 Smn chrg  : 801b4234
 
 
  801b895c
 
 
 
801b8a40 - first 0x10 bytes of first section of main motion data stored here
 
0x00
 
0x04
 
0x08
 
0x0c
 
 
 
  801b8b9c - current effect target data (not in MISC/battle ID unit order; entries in order of unit being animated.) 0x54 bytes long per unit (up to 0x10 entries)
 
0x00 - previous effect target ID
 
0x01 - current effect target ID
 
0x02 - next effect target ID
 
0x03 - secondary effect's function byte
 
0x05 - Additional animation effects?
 
0x00 - nothing
 
0x01 - nothing
 
0x02 - spell charging spots and lines (if called incorrectly, will loop indefinitely)
 
0x03 - nothing
 
0x04 - spell charging spots and lines (ditto)
 
0x05 - Summon charge (if called incorrectly, will loop indefinitely)
 
0x06 - nothing
 
0x07 - an additional strike glow on target?
 
0x08 - an additional strike glow on target?
 
0x09 - landing from a height in sand
 
0x0a - reflect spiiiIIIiiIIiin
 
0x0b - green zodiac stone poof?
 
0x0c - death poof
 
0x0d - level up sparkles? job level up sparkles?
 
0x0e - triggering a venom trap
 
0x0f - landing in water
 
0x10 - nothing
 
0x11 - red focus orbs
 
0x12 - break equipment shatter particles
 
0x13 - teleport send-recieve
 
0x14 - golem block
 
0x06 - ability element, presented in awful format (none, fire, water, earth, wind, holy, dark, Ice, Lightning) and also its just a value, not bitflags. edits target palette?
 
0x08 - if prepared correctly, 0x01?
 
0x10 - Contains unit misc ID (and a bunch of unrelated stack.)
 
0x1a - contains valid hit# & X coordinate of target (if no targets are hit.) otherwise contains secondary animation effect? (0x1d?)
 
0x1e - contains map level & Y coordinate of target (if no targets are hit.)
 
0x24 - used weapon ID
 
0x28 - hit counter
 
0x50 - pointer to effect data in RAM (after loaded in)
 
 
 
 
  801b9130 - previous effect target ID
 
  801b9134 - current effect target ID
 
  801b9138 - Next effect target ID
 
 
 
  801bacc8 - start of on hit effect header
 
 
 
  801baccc - GTE data
 
0x14 - X vector
 
0x18 - Y vector
 
0x1c - Z vector
 
 
 
  801bad0c - effect coordinate data stored here
 
0x00 - Hit Counter
 
0x02 - Counter of found targets
 
0x04 - animate on miss flag (01 if animate on miss
 
0x06 - Target ID / X coordinate for animate on miss
 
0x07 - Type of attack
 
0x00 - normal hit
 
0x01 - critical hit
 
0x02 - reflected
 
0x03 - evaded
 
0x08 - map level of animate on miss
 
0x0a - Y coordinate
 
0x0c - some address (word) 0x800bdd24
 
0x0e - 00?
 
0x10 - next units Data
 
0x12 - next target ID
 
 
0x34 - acting unit data address
 
0x38 - acting unit ID? byte
 
 
 
0x40 - some address (8017ac40)
 
0x48 - some address (80026cec) something for GPU?
 
 
0x54 - pointer to start of misc data
 
 
0x74 - unit ID
 
0x78 - 801938ef - post action byte address
 
0x7c - units misc data pointer
 
 
  801badca - X/Y Coordinate for effect?
 
801badcc - map level
 
801badce - X/Y?
 
 
801bade0
 
 
 
 
-4088
 
801bbf78 - start of frame data address
 
-4084
 
801bbf7c - 0x10 in effect data (coordinates?)
 
801bbf80 - effect palette address
 
801bbf84 - start of misc timed display? (effect misc. timing data + 0x8)
 
 
 
801bbf8c - parameter sets address (+ 0x04?)
 
 
 
801bbf90 - Is effect playing? 0 = false, 1 = true
 
            // used in effect control routine
 
 
 
801bc094 - Ptr. to effect's code scripts (relative to start of effect data.)
 
 
 
801bc0c8 - misc effect data address
 
801bc0cc - (while processing models/effects) pointer to polygons by depth table
 
 
 
 
 
 
 
0x1bc0d4 - set to 0 after storing data to 0x801bad0c
 
0x1bc0dc - 0x0a in sound effect data (word)
 
 
 
801bf000 - 2nd byte in header / 16 (shifted 0x04 right) 1 space to the right
 
 
 
801bf02c - Temp effect data table (0xf8 per phase?)
 
0x00 - Is effect playing(?)
 
0x06 - header counter
 
0x08 - Ptr. to effect code scripts
 
0x1c -
 
0x1e - 0x1, skip some step.
 
0x28 - timer
 
0x2c - when not 0, execute custom code in 0xd4?
 
0xd4 - ptr. to extra code for effect to execute
 
 
 
801bf21c - start of some data (temp effect data?)
 
0x00 -
 
 
 
801bf242 - skip effect routine if = 2?
 
0x1e - some counter (decremented)
 
 
 
801c00c8 - Copied/edited of effect parameter data in RAM. 0x24 bytes per parameter?
 
0x06 - Function flags for effect
 
0x01 - set when loading new frame. 0 otherwise.
 
0x02 - set on initialisation; Don't multiply motion vector by some matrix (describes camera rotation?)
 
0x04 - set on initialisation; Don't multiply rotation matrix by camera zoom. the other flags don't seem to be checked?
 
0x08 - special function half (for 0x83 function, 2nd byte is added)
 
// tbh don't think it's that. this is any extra XX XX offset appended to the parameter.
 
 
 
0x0a - 0x03 and 0x04 of starting 5 bytes (half)(for 0x83 function, 3rd byte is added)
 
// again, I don't think it's that. YY YY offset.
 
0x0c - screen XX XX of current frame? maybe XX velocity?
 
0x0e - screen YY YY of current frame? maybe YY velocity?
 
0x10 - screen ZZ ZZ of current frame? maybe ZZ velocity?
 
0x12 - angle between attacker and target
 
0x14 - current 3rd byte?
 
0x16 - Duration to hold frame
 
0x18 - pointer to current Parameter data in file
 
0x1c - parameter counter
 
0x1e - next frame byte? VRAM flag check?
 
0x1f - current frame
 
0x20 - pointer to temp effect SHP or palette data?
 
 
801c24d0 - Effect ID (During effect animation, or last played effect); sometimes set to 0x0c when no effect is playing    //Current ability Effect
 
801c24da - ? Changes during effect
 
 
 
801c83f8 - Job Wheel Bytes(2 bytes each, goes until FF FF is reached)
 
        0x4000 - Grey out job on Job Wheel
 
        0x00xx - Job ID
 
 
 
801c8638 (WORLD.BIN)
 
    Formation screen unit definition : 0x128 (296) bytes
 
    Data copies here from party data at routine 0x80120bb0 (WORLD.BIN)
 
    Offset (bytes): Description
 
        0x000 (2): Level
 
        0x002 (2): 2 if unit is Guest, otherwise 0
 
       
 
        0x008 (2): Experience
 
        0x00a (2): Party unit index (controls portrait)
 
        0x00c (2): Max HP (HP?)
 
        0x010 (2): Max HP
 
        0x012 (2): Max MP (MP?)
 
       
 
        0x016 (2): Max MP
 
        0x018 (2): CT
 
       
 
        0x01c (2): 100 (Max CT)?
 
       
 
        0x022 (2): Party unit index (controls display name)
 
        0x024 (2): Job ID
 
        0x026 (2): Brave
 
        0x028 (2): Faith
 
        0x02a (2): Birthday (first 4 bits)
 
        0x02c (2): Party unit index
 
       
 
        0x030 (2): Move
 
        0x032 (2): Speed
 
        0x034 (2): Jump
 
        0x036 (2): Right Hand WP
 
        0x038 (2): Left Hand WP
 
        0x03a (2): Right Hand W-EV
 
        0x03c (2): Left Hand W-EV
 
        0x03e (2): 1 if primary skillset is Monster skillset (between 0xB0 and 0xDF, inclusive), 0 otherwise
 
        0x040 (2): Two Hands active (1 if active, 0 if inactive)
 
        0x042 (2): PA
 
        0x044 (2): C-Ev
 
        0x046 (2): Physical S-Ev
 
        0x048 (2): Physical A-Ev
 
       
 
        0x04c (2): MA
 
        0x04e (2): 0 (Magical C-Ev?)
 
        0x050 (2): Magical S-Ev
 
        0x052 (2): Magical A-Ev
 
        0x054 (2): Right Hand Equip
 
        0x056 (2): Left Hand Equip
 
        0x058 (2): Head Equip
 
        0x05a (2): Body Equip
 
        0x05c (2): Accessory
 
        0x05e (2): Primary skillset
 
        0x060 (2): Secondary skillset
 
        0x062 (2): Reaction ability
 
        0x064 (2): Support ability
 
        0x066 (2): Movement ability
 
       
 
        0x070 (1): Flags ("Gender" Byte)
 
            0x80 - Male
 
            0x40 - Female
 
            0x20 - Monster
 
            0x10 - Join after event
 
            0x08 - Load Formation
 
            0x04 - ??? Stats
 
            0x02 -
 
            0x01 - Join as Guest
 
       
 
        0x072 (1): Base class
 
        0x073 (1): Equippable Items 1
 
            0x80 - Barehanded
 
            0x40 - Knife
 
            0x20 - Ninja Blade
 
            0x10 - Sword
 
            0x08 - Knight's Sword
 
            0x04 - Katana
 
            0x02 - Axe
 
            0x01 - Rod
 
        0x074 (1): Equippable Items 2
 
            0x80 - Staff
 
            0x40 - Flail
 
            0x20 - Gun
 
            0x10 - Crossbow
 
            0x08 - Bow
 
            0x04 - Instrument
 
            0x02 - Book
 
            0x01 - Polearm
 
        0x075 (1): Equippable Items 3
 
            0x80 - Pole
 
            0x40 - Bag
 
            0x20 - Cloth
 
            0x10 - Shield
 
            0x08 - Helmet
 
            0x04 - Hat
 
            0x02 - Hair Adornment
 
            0x01 - Armor
 
        0x076 (1): Equippable Items 4
 
            0x80 - Clothing
 
            0x40 - Robe
 
            0x20 - Shoes
 
            0x10 - Armguard
 
            0x08 - Ring
 
            0x04 - Armlet
 
            0x02 - Cloak
 
            0x01 - Perfume
 
        0x077 (1): Unlocked Jobs 1
 
        0x078 (1): Unlocked Jobs 2
 
        0x079 (1): Unlocked Jobs 3
 
        0x07a (1): Base Action Abilities 1-8
 
        0x07b (1): Base Action Abilities 9-16
 
        0x07c (1): Base R/S/M 1-6
 
        0x07d (1): Chemist Action Abilities 1-8
 
        0x07e (1): Chemist Action Abilities 9-16
 
        0x07f (1): Chemist R/S/M 1-6
 
        0x080 (1): Knight Action Abilities 1-8
 
        0x081 (1): Knight Action Abilities 9-16
 
        0x082 (1): Knight R/S/M 1-6
 
        0x083 (1): Archer Action Abilities 1-8
 
        0x084 (1): Archer Action Abilities 9-16
 
        0x085 (1): Archer R/S/M 1-6
 
        0x086 (1): Monk Action Abilities 1-8
 
        0x087 (1): Monk Action Abilities 9-16
 
        0x088 (1): Monk R/S/M 1-6
 
        0x089 (1): Priest Action Abilities 1-8
 
        0x08a (1): Priest Action Abilities 9-16
 
        0x08b (1): Priest R/S/M 1-6
 
        0x08c (1): Wizard Action Abilities 1-8
 
        0x08d (1): Wizard Action Abilities 9-16
 
        0x08e (1): Wizard R/S/M 1-6
 
        0x08f (1): Time Mage Action Abilities 1-8
 
        0x090 (1): Time Mage Action Abilities 9-16
 
        0x091 (1): Time Mage R/S/M 1-6
 
        0x092 (1): Summoner Action Abilities 1-8
 
        0x093 (1): Summoner Action Abilities 9-16
 
        0x094 (1): Summoner R/S/M 1-6
 
        0x095 (1): Thief Action Abilities 1-8
 
        0x096 (1): Thief Action Abilities 9-16
 
        0x097 (1): Thief R/S/M 1-6
 
        0x098 (1): Mediator Action Abilities 1-8
 
        0x099 (1): Mediator Action Abilities 9-16
 
        0x09a (1): Mediator R/S/M 1-6
 
        0x09b (1): Oracle Action Abilities 1-8
 
        0x09c (1): Oracle Action Abilities 9-16
 
        0x09d (1): Oracle R/S/M 1-6
 
        0x09e (1): Geomancer Action Abilities 1-8
 
        0x09f (1): Geomancer Action Abilities 9-16
 
        0x0a0 (1): Geomancer R/S/M 1-6
 
        0x0a1 (1): Lancer Action Abilities 1-8
 
        0x0a2 (1): Lancer Action Abilities 9-16
 
        0x0a3 (1): Lancer R/S/M 1-6
 
        0x0a4 (1): Samurai Action Abilities 1-8
 
        0x0a5 (1): Samurai Action Abilities 9-16
 
        0x0a6 (1): Samurai R/S/M 1-6
 
        0x0a7 (1): Ninja Action Abilities 1-8
 
        0x0a8 (1): Ninja Action Abilities 9-16
 
        0x0a9 (1): Ninja R/S/M 1-6
 
        0x0aa (1): Calculator Action Abilities 1-8
 
        0x0ab (1): Calculator Action Abilities 9-16
 
        0x0ac (1): Calculator R/S/M 1-6
 
        0x0ad (1): Bard Action Abilities 1-8
 
        0x0ae (1): Bard Action Abilities 9-16
 
        0x0af (1): Bard R/S/M 1-6
 
        0x0b0 (1): Dancer Action Abilities 1-8
 
        0x0b1 (1): Dancer Action Abilities 9-16
 
        0x0b2 (1): Dancer R/S/M 1-6
 
        0x0b3 (1): Base/Chemist Job Level
 
        0x0b4 (1): Knight/Archer Job Level
 
        0x0b5 (1): Monk/Priest Job Level
 
        0x0b6 (1): Wizard/Time Mage Job Level
 
        0x0b7 (1): Summoner/Thief Job Level
 
        0x0b8 (1): Mediator/Oracle Job Level
 
        0x0b9 (1): Geomancer/Lancer Job Level
 
        0x0ba (1): Samurai/Ninja Job Level
 
        0x0bd (1): Calculator/Bard Job Level
 
        0x0bc (1): Dancer/Mime Job Level
 
        (Gap for alignment?)
 
        0x0be (2): Base Job JP
 
        0x0c0 (2): Chemist Job JP
 
        0x0c2 (2): Knight Job JP
 
        0x0c4 (2): Archer Job JP
 
        0x0c6 (2): Monk Job JP
 
        0x0c8 (2): Priest Job JP
 
        0x0ca (2): Wizard Job JP
 
        0x0cc (2): Time Mage Job JP
 
        0x0ce (2): Summoner Job JP
 
        0x0d0 (2): Thief Job JP
 
        0x0d2 (2): Mediator Job JP
 
        0x0d4 (2): Oracle Job JP
 
        0x0d6 (2): Geomancer Job JP
 
        0x0d8 (2): Lancer Job JP
 
        0x0da (2): Samurai Job JP
 
        0x0dc (2): Ninja Job JP
 
        0x0de (2): Calculator Job JP
 
        0x0e0 (2): Bard Job JP
 
        0x0e2 (2): Dancer Job JP
 
        0x0e4 (2): Mime Job JP
 
        0x0e6 (2): Total Base Job JP
 
        0x0e8 (2): Total Chemist Job JP
 
        0x0ea (2): Total Knight Job JP
 
        0x0ec (2): Total Archer Job JP
 
        0x0ee (2): Total Monk Job JP
 
        0x0f0 (2): Total Priest Job JP
 
        0x0f2 (2): Total Wizard Job JP
 
        0x0f4 (2): Total Time Mage Job JP
 
        0x0f6 (2): Total Summoner Job JP
 
        0x0f8 (2): Total Thief Job JP
 
        0x0fa (2): Total Mediator Job JP
 
        0x0fc (2): Total Oracle Job JP
 
        0x0fe (2): Total Geomancer Job JP
 
        0x100 (2): Total Lancer Job JP
 
        0x102 (2): Total Samurai Job JP
 
        0x104 (2): Total Ninja Job JP
 
        0x106 (2): Total Calculator Job JP
 
        0x108 (2): Total Bard Job JP
 
        0x10a (2): Total Dancer Job JP
 
        0x10c (2): Total Mime Job JP
 
        0x10e-0x11d: Unit Name
 
        0x11e (1): Graphic
 
        0x11f (1): Proposition byte
 
        0x120 (2): Birthday
 
        0x122 (2): ? (0xd2 party data)
 
        0x124 (1): Support 1
 
            0x80 - Equip Armor
 
            0x40 - Equip Shield
 
            0x20 - Equip Sword
 
            0x10 - Equip Katana
 
            0x08 - Equip Crossbow
 
            0x04 - Equip Spear
 
            0x02 - Equip Axe
 
            0x01 - Equip Gun
 
        0x125 (1): Support 2
 
            0x80 - Half of MP
 
            0x40 - Gained JP-UP
 
            0x20 - Gained EXP-UP
 
            0x10 - Attack UP
 
            0x08 - Defense UP
 
            0x04 - Magic Attack UP
 
            0x02 - Magic Defense UP
 
            0x01 - Concentrate
 
        0x126 (1): Support 3
 
            0x80 - Train
 
            0x40 - Secret Hunt
 
            0x20 - Martial Arts
 
            0x10 - Monster Talk
 
            0x08 - Throw Item
 
            0x04 - Maintenance
 
            0x02 - Two Hands
 
            0x01 - Two Swords
 
        0x127 (1): Support 4
 
            0x80 - Monster Skill
 
            0x40 - Defend
 
            0x20 - Equip Change
 
            0x10 -
 
            0x08 - Short Charge
 
            0x04 - Non-Charge
 
            0x02 -
 
            0x01 -
 
 
801cd170 - Current thread ID (WORLD.BIN); index into array at 0x80195cd0
 
 
801cd330 - Unit Names
 
 
801cd43c - Reserve Items array for Fitting Room - Added to inventory after finished (Old equipment replaced with fitted equipment)
 
    10 bytes per unit (5 item IDs as halfwords)
 
 
801cd5ec - Formation unit reference array (WORLD.BIN); each entry is a pointer to formation unit data
 
 
801cd788 - Number of formation screen units (WORLD.BIN)
 

Latest revision as of 03:41, 1 June 2023

For additional ASM notes and an easier to use version of this data in .txt format, visit this thread: http://ffhacktics.com/smf/index.php?topic=6538.140#msg181059 and download New Asm Files.7z
Main Data Locations:

RAM -> File
   0x00F800 -> SCUS_942.21
   0x067000 -> WLDCORE.BIN
   0x067000 -> BATTLE.BIN
   0x067000 -> OPEN.BIN
   0x0E0000 -> WORLD.BIN
   0x1BF000 -> ATTACK.OUT
   0x1BF000 -> REQUIRE.OUT
   0x1BF000 -> OPTION.OUT
   0x1BF000 -> ETC.OUT
   0x1BF000 -> EQUIP.OUT
   0x1BF000 -> CARD.OUT
   0x1BF000 -> BUNIT.OUT
   0x1DF000 -> JOBSTTS.OUT
   0x1DF000 -> HELPMENU.OUT
   0x1DF000 -> SP2 + effects + other.
Main Routine Locations:

RAM -> File
   0x00F800 -> SCUS_942.21
   0x067000 -> WLDCORE.BIN
   0x067000 -> BATTLE.BIN
   0x067000 -> OPEN.BIN
   0x0E0000 -> WORLD.BIN
   0x1BF000 -> ATTACK.OUT
   0x1BF000 -> REQUIRE.OUT
   0x1BF000 -> OPTION.OUT
   0x1BF000 -> ETC.OUT
   0x1BF000 -> EQUIP.OUT
   0x1BF000 -> CARD.OUT
   0x1BF000 -> BUNIT.OUT
   0x1DF000 -> JOBSTTS.OUT
   0x1DF000 -> HELPMENU.OUT
   0x1DF000 -> SP2 + effects + other.
Controller Inputs

Title Screen: 0x800851BC
Event/Battle: 0x80045944
World Map/Formation: 0x8019A204

  0x8000  Left
  0x4000  Down
  0x2000  Right
  0x1000  Up
  0x0800  Start
  0x0400  R3
  0x0200  L3
  0x0100  Select
  0x0080  Square
  0x0040  Cross (X)
  0x0020  Circle
  0x0010  Triangle
  0x0008  R1
  0x0004  L1
  0x0002  R2
  0x0001  L2
801612dc - Start of SAMPLE.LZW (should this be above?)
ENTD data - Loaded into RAM 0x1dc000 during battle setup
 
  0x00 - Base Class / Character ID (Also affects sprites)
  0x01 - "Gender" Byte (ENTD Flags)
   0x80 - Male
   0x40 - Female
   0x20 - Monster
   0x10 - Join After Event
   0x08 - Load as Guest
   0x04 - Has ??? Stats
   0x02 - ?
   0x01 - Join as Guest
  0x02 - Name
  0x03 - Level (over 99 = Party Level + Value - 100)
  0x04 - Birth Month
  0x05 - Birth Day
  0x06 - Brave
  0x07 - Faith
  0x08 - Job Unlocked
	0x13 - Mime
	0x12 - Dancer
	0x11 - Bard
	0x10 - Calculator
	0x0f - Ninja
	0x0e - Samurai
	0x0d - Lancer
	0x0c - Geomancer
	0x0b - Oracle
	0x0a - Mediator
	0x09 - Thief
	0x08 - Summoner
	0x07 - Time Mage
	0x06 - Wizard
	0x05 - Priest
	0x04 - Monk
	0x03 - Archer
	0x02 - Knight
	0x01 - Chemist
  0x09 - Job Level
  0x0a - Job ID
  0x0b - Secondary ID
  0x0c - Reaction
  0x0e - Support
  0x10 - Movement
  0x12 - Helmet
  0x13 - Armor
  0x14 - Accessory
  0x15 - RH Equip
  0x16 - LH Equip
  0x17 - Palette
  0x18 - ENTD Flags
	0x80 - Always Present
	0x40 - Randomly Present
	0x20 - Team Bit 1. 0x20 and 0x10 is Light Blue. 0x20 is Green.
	0x10 - Team Bit 2. 0x10 is Red. If neither bit, team is Blue.
	0x08 - Control
	0x04 - Immortal
	0x02 - (if both 01 and 02, then immune to knockback)
	0x01 - (both set by Ramza when initialized)
  0x19 - X Coordinate
  0x1a - Y Coordinate + Facing/Upper Level Flag
  0x1c - Starting Experience
  0x1d - Primary Skillset
  0x1e - War Trophy
  0x1f - Gil (* 100)
  0x20 - Unit ID
  0x21 - X Position (for AI)
  0x22 - Y Position
  0x23 - 
	0x40 - Focus on Target in 0x24?
	0x20 - Stay near X/Y in 0x21/22? (0x28 = move and stay at position)
	0x10 - More aggressive? (when with 40, ONLY target that unit unless healing self)
	0x08 - Coward-like? (stay behind X/Y location?)
 
	Notes:  0x10 seems to override 0x20
 
		0x20 seems to keep it's distance until it can get close enough to you?
 
		0x08 will move up to 4 tiles away from the X/Y listed (0/0 = anywhere?)
			seems to keep a 10 tile distance, unless an enemy moves within
			their 10 tile radius (testing with 3 move archer with bow)
			they will not move unless they need to.
 
		seem to keep 10 away unless unable to move farther back, then they move
		back towards the center of their radius. you can force them out of their
		area by moving towards them (but out of their firing range), and continue
		to push them out, but the turn after they leave the area they will move
		back towards it, even if you are within the 10 tile radius.
 
		managed to get a 4 move unit 12 tiles away by moving close to them when
		they had a bow... they seem to retreat away from the spot if they can't
		get to it and can still attack you (close-range would move to you)
  0x24 - Target Unit ID
  0x25 - 
  0x26 - 
	0x04 - Save CT (don't move if not needed; also buff before attacking?)?
  0x27 -
(unsure who added these or what file they're for)
80190814 - 
80192db0 - 
80192dc5 -
801934c2 -
801937d3 -
80193d47 - 
801b8da4 - 
801b8d4c -
801b9134 - ?