Difference between revisions of "Data/Table Locations"
Jump to navigation
Jump to search
m |
|||
Line 1,860: | Line 1,860: | ||
0x03 - Graphic height | 0x03 - Graphic height | ||
− | 800949c4 - | + | 800949c4 - emergency fall back frame (facing camera) |
0x00 - Type 1 = 0x0b | 0x00 - Type 1 = 0x0b | ||
0x01 - Type 2 = 0x0b | 0x01 - Type 2 = 0x0b | ||
Line 1,870: | Line 1,870: | ||
0x07 - Kanzen = 0x01 | 0x07 - Kanzen = 0x01 | ||
0x08-0x0c - 0x00 | 0x08-0x0c - 0x00 | ||
− | 800949d0 - | + | 800949d0 - emergency fall back frame (facing away from camera) |
0x00 - Type 1 = 0x10 | 0x00 - Type 1 = 0x10 | ||
0x01 - Type 2 = 0x10 | 0x01 - Type 2 = 0x10 |
Revision as of 06:41, 7 October 2022
- 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 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 8002b0a4 - Sin Mods - Sin((1024-angle)/652)*4096 (~0x1f8 entries (or until 0x80002b8a4)) (-talcall here, that was a fucking pain in my ass, you're welcome) 8002b8b8 - Square Root Mods (0xc0 entries, halfwords) 8002bee8 - Words but used as 2 halfwords Cosinus(angle)*4096 and Sinus(angle)*4096 // One entry every 0.25 degrees from 0 to 360. 8002fee8 - ArcTan Mod (0x401 entries, halfwords) 800306ec - GPU Control Pointer 800306f0 - Horizontal Retrace Counter Pointer 800306f4 - Horizontal Retrace Counter Start? (gets subtracted from the counter) 80031b40 - cdreg0 address 80031b44 - cdreg1 address 80031b48 - cdreg2 address 80031b4c - cdreg3 address 80031b50 - hardware register address 80031b74 - hardware register address 80031b78 - hardware register address 80031b7c - hardware register address (address where address in RAM for file to be loaded to is stored) 80031b90 - starting address in RAM to load file to 80031b94 - current address in RAM to load file to 80031ba0 - counter for number of sections of file to load? 80031ba4 - ?? 80031ba8 - First LBA Sector of file to load 80031bac - Current LBA Sector of file to load 80031bb4 - cdreg addresses... there are only 4 but for some reason they repeat like 8 times 80031c48 - hardware register addresses
80032a78 - address for controller button state to be stored; output of PAD_dr() - this address is loaded from 0x000074c4 80037880 - 80037B90 - Music Files 80037B90 - End of Music Files 800454d0 - ages for brave story 0x80045944 - controller input
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 8004594c - copy of controller input 80045950 - copy of controller input 80045980 - (set to 1 after prepping Exp/JP) (word) set to 1 when targeting, set to 2 when attacking type of display byte 8004594c 800459a0 800459b8 - Milliseconds (also frame counter? max of 60 before Seconds ++) 800459bc - Seconds 800459c0 - Minutes 800459c4 - Hours 800473ac - Customized Options NOTE: each of the flags uses the next bit as well, but it's just to display either "Customize" or "Initialize" (0 = Off, 1 = On, 2 = Custom, 3 = Initial) 0x80000000 - 0x20000000 - Max Equip at Job Change 0x08000000 - Target Flashing 0x02000000 - Display Gained Exp/JP 0x800000 - Show Unequipable Items 0x400000 - Sound = Wide 0x200000 - Sound = Stereo (both off = Mono) 0x080000 - Show Effect Message 0x020000 - Show Ability Name 0x8000 - Navigation Message 0x2000 - Message Speed = Slow (both off = Fast) 0x1000 - Message Speed = Regular 0x0c00 - Finger Cursor Repeat Speed = Slowest 0x0a00 - Finger Cursor Repeat Speed = Slower 0x0800 - Finger Cursor Repeat Speed = Slow 0x0600 - Finger Cursor Repeat Speed = Regular 0x0400 - Finger Cursor Repeat Speed = Fast 0x0200 - Finger Cursor Repeat Speed = Faster 0x0000 - Finger Cursor Repeat Speed = Fastest 0x01c0 - (8 total CS on MH speeds?) 0xZ0 - Cursor speed on multiple heights 0xc0 - Cursor Speed on Multiple Heights = Stop 0x80 - Cursor Speed on Multiple Heights = Slow 0x40 - Cursor Speed on Multiple Heights = Regular 0x00 - Fast 0x0Z 0x38 - (8 total cursor reset speeds?) 0x10 - Cursor Repeat Speed = Slow 0x08 - Cursor Repeat Speed = Regular (both off = Fast) 0x07 - (8 total cursor movement types?) 0x01 - Cursor Movement Type = B (off = A) 800473b0 - Default Options 8004a6c1 - start of event code 8004c6c1 - end of event code 8004eb10 - 0x01 - modified LBA sector to load data 0x02 - modified LBA sector to load data 0x00 - modified LBA sector to load data 8004f1d0 - "Elemental" skillset lookup table (64 bytes) !!! This is the adress in SCUS_942 (not in RAM) Determines which abilities are enabled by which terrain type. 8004f210 - Terrain status inflict table (64 bytes) Determines which terrains cause Poison ("80" instead of "00") 8004f250 - Default movement table (64 bytes) Determines the movement cost for crossing various terrain. 8004f290 - Ability movement tables (320 bytes) Like the above, but enabled by Fly/Teleport, Float, Walk on Water/Move in Water, Move Undrwater, Move on Lava, respectively 80051318 - Music Data (0x800 bytes?) 80056b18 - code pointers? 80057114 80057118 80057718 - Time played this session (increments every frame/millisecond) 8005771c - Map Data? 80057784 - Beginning of map command data Camera(+XXXXX,+ZZZZZ,+YYYYY,+ANGLE,+MAPRT,+CAMRT,+ZOOM%,+TIMER) 0x00 - X Position 0x04 - Z Position 0x08 - Y Position 0x0C - Angle 0x10 - Map Rotation 0x14 - Camera Rotation 0x18 - Zoom 0x1C - Timer 800577b8 - Event ID (used by Brave Story to load certain events) 800577c0 - locks controller input 0x0001 - L2 0x0002 - R2 0x0004 - L1 0x0008 - L2 0x0080 - Square 0x0040 - X 0x0020 - circle 0x0010 - triangle 0x0100 - Select 0x0200 - 0x0400 - 0x0800 - 0x1000 - Up 0x2000 - Right 0x4000 - Down 0x8000 - Left 800577cc - Gil 800577d4 - Month 800577d8 - Day 800577e0 - Current Location 0x02 - Igros Castle 0x06 - Gariland Magic City 0x09 - Dorter Trade City 0x0f - Fort Zeakden 0x11 - Thieves Fort 0x12 - Orbonne Monastery 0x18 - Mandalia Plains 0x19 - Fovoham Plains 0x1a - Sweegy Woods 0x1c - Zeklaus Desert 0x1d - Lenalia Plateau 800577e4 - ENTD Data ID (ENTD to load) 800577e8 - Map ID 800577ec - Number of Teams 800577f0 - Battle Formation ID (for placement) 80057878 - Event Byte Counter? (maybe just text?) 80057884 - ID for "Person" pages in Brave Story? 800578a0 - Injured (Brave Story) 800578a4 - b - Casualties (Brave Story) 800578ac - Next Scenario? New Game? 800578B0 - Deep Dungeon list length (+1) 800578c0 - Town Background 800578d4 - Storyline Progression 800578d8 - Shop Item Availability (Variable progression value) 8005791E - Activation bytes 0x01 Activate the "Fur Shop" 0x02 0x04 Activate the "Facts" Brave story section. 0x08 0x10 0x20 0x40 0x80 World Locations colors (0 = red ; 1 = blue/green) 0x80 $00 Lesalia Imperial Capital's color 0x80057959 0x01 $01 Riovanes Castle's color 0x02 $02 Igros Castle's color 0x04 $03 Lionel Castle's color 0x08 $04 Limberry Castle's color 0x10 $05 Zeltennia Castle's color 0x20 $06 Gariland Magic City's color 0x40 $07 Yardow Fort City's color 0x80 $08 Goland Coal City's color 0x8005795A 0x01 $09 Dorter Trade City's color 0x02 $0A Zaland Fort City's color 0x04 $0B Goug Machine City's color 0x08 $0C Warjilis Trade City's color 0x10 $0D Bervenia Free City's color 0x20 $0E Zarghidas Trade City's color 0x40 $0F Fort Zeakden's color 0x80 $10 Murond Holy Place's color 0x8005795B 0x01 $11 Thieves Fort's color 0x02 $12 Orbonne Monastery's color 0x04 $13 Golgorand Execution Site's color 0x08 $14 Murond Death City's color 0x10 $15 Bethla Garrison's color 0x20 $16 Deep Dungeon's color 0x40 $17 Nelveska Temple's color 0x80 $18 Mandalia Plains' color 0x8005795C 0x01 $19 Fovoham Plains' color 0x02 $1A Sweegy Woods' color 0x04 $1B Bervenia Volcano's color 0x08 $1C Zeklaus Desert's color 0x10 $1D Lenalia Plateau's color 0x20 $1E Zigolis Swamp's color 0x40 $1F Yuguo Woods' color 0x80 $20 Araguay Woods' color 0x8005795D 0x01 $21 Grog Hill's color 0x02 $22 Bed Desert's color 0x04 $23 Zirekile Falls' color 0x08 $24 Dolbodar Swamp's color 0x10 $25 Bariaus Hill's color 0x20 $26 Doguola Pass' color 0x40 $27 Bariaus Valley's color 0x80 $28 Finath River's color 0x8005795E 0x01 $29 Poeskas Lake's color 0x02 $2A Germinas Peak's color 0x04 $2B -blank- 80057970 - Treasures 0x00 0x01 $0 None 0x02 $1 Four Gods Set 0x04 $2 Statue of Lylis 0x08 $3 Beetle Charm 0x10 $4 Tobacco Pipe 0x20 $5 Zeni-Sword 0x40 $6 Black Cat 0x80 $7 Malice Mask 0x01 0x01 $8 Parade Helmet 0x02 $9 Kid's Bread 0x04 $0A Adult's Bread 0x08 $0B Calcobrina 0x10 $0C Yurgeivogue 0x20 $0D Red Materia 0x40 $0E Blue Materia 0x80 $0F Black Materia 0x02 0x01 $10 White Materia 0x02 $11 Rat Tail 0x04 $12 M-Fiction Novel 0x08 $13 Diary of Nanai 0x10 $14 Wyuvle 0x20 $15 Book of Enavia 0x40 $16 Magical Gun 0x80 $17 M Machine Gun 0x03 0x01 $18 Magi-Sword 0x02 $19 Minu Orb 0x04 $1A Tarot of Ben 0x08 $1B Excalipar 0x10 $1C Parasite Tree 0x20 $1D Longibunne Spear 0x40 $1E Chocobo Cannon 0x80 $1F St. Elmo's Fire 0x04 0x01 $20 Germonik Scriptures 0x02 $21 Dummy Data 1 0x04 $22 Dummy Data 2 0x08 $23 Aries 0x10 $24 Taurus 0x20 $25 Gemini 0x40 $26 Cancer 0x80 $27 Leo 0x08 0x01 $28 Virgo 0x02 $29 Libra 0x04 $2A Scorpio 0x08 $2B Sagittarius 0x10 $2C Capricorn 0x20 $2D Aquarius 0x40 $2E Pisces 0x80 $2F Serpentarius 80057976 - Unexplored Lands 0x00 0x01 $0 Shrine of Chaos 0x02 $1 Forbidden Land Eureka 0x04 $2 Pandemonium 0x08 $3 Mirage Tower 0x10 $4 Floating Castle 0x20 $5 Matoya Cave 0x40 $6 Crystal Tower 0x80 $7 Magic Continent 0x01 0x01 $8 Castle of Trials 0x02 $9 Tower of Babel 0x04 $0A Ronkan Ruins 0x08 $0B Falgabird 0x10 $0C Magic Train 0x20 $0D Touzas Village 0x40 $0E Chocobo Forest 0x80 $0F Semite Falls 80057978 - Proposition (0x02 jobs per byte, 0xF0 and 0x0F) 0x08 - called back 0x0a - in progress 0x0c - finished 0x80057978 0x0F $0 Highwind Salvage 0xF0 $1 Salvage Tour Thoughts 0x80057979 0x0F $2 Sailor Tour Thoughts 0xF0 $3 Enterprise Salvage 0x8005797A 0x0F $4 Attractive Workplace? 0xF0 $5 Hindenburg Salvage 0x8005797B 0x0F $6 Falcon Salvage 0xF0 $7 Legend of Heroic King 0x8005797C 0x0F $8 Doga Salvage 0xF0 $9 Envoy Ship of Lionel Castle 0x8005797D 0x0F $0A Luxurious ship salvage 0xF0 $0B Lost Ancient Writings 0x8005797E 0x0F $0C Good Workplace and Job? 0xF0 $0D Salvage in Riovanes! 0x8005797F 0x0F $0E Vessel of Istanbul 0xF0 $0F Douing Salvage 0x80057980 0x0F $10 Mining Tour Thoughts 0xF0 $11 Miner's Tour Thoughts 0x80057981 0x0F $12 Letter to the Family 0xF0 $13 Miner's Tour Repeated! 0x80057982 0x0F $14 Anything's possible! 0xF0 $15 Guide to Miners 0x80057983 0x0F $16 Miner's Day Off 0xF0 $17 Girl of Flame!? 0x80057984 0x0F $18 The First One Back 0xF0 $19 Behind the Cliff 0x80057985 0x0F $1A Meet with the Unknown 0xF0 $1B One Activity 0x80057986 0x0F $1C Fight of the Miners 0xF0 $1D Ghost Staffs 0x80057987 0x0F $1E Tears of an Ex-miner 0xF0 $1F 15 Black Knights 0x80057988 0x0F $20 After the Discovery Race 0xF0 $21 Things at Lake bottom 0x80057989 0x0F $22 After 2nd Discovery Race 0xF0 $23 Thing at Myst. Frontier 0x8005798A 0x0F $24 After 3rd Discovery Race 0xF0 $25 Thing in Deep Forest 0x8005798B 0x0F $26 Thing at Bed Desert 0xF0 $27 Thing at Zeklaus Desert 0x8005798C 0x0F $28 Over Mountain Pass 0xF0 $29 Discovery Tour Thoughts 0x8005798D 0x0F $2A Thing in the Swamps 0xF0 $2B Maze of Ancient People 0x8005798E 0x0F $2C Join the Adventurer Team! 0xF0 $2D Report! It is true! 0x8005798F 0x0F $2E Merchants' Worries! 0xF0 $2F In the Mist... 0x80057990 0x0F $30 Wyberns Annihilated! 0xF0 $31 Wild Kingdom 0x80057991 0x0F $32 Battle! Demon Lylis 0xF0 $33 Father and Child 0x80057992 0x0F $34 Whisper Grass in Dark 0xF0 $35 Battle! Whirlwind Karz! 0x80057993 0x0F $36 Crime of Ct. Minimum! 0xF0 $37 Battle! Assault Cave! 0x80057994 0x0F $38 That is not the Aim! 0xF0 $39 Too Naive 0x80057995 0x0F $3A Pleasure of a Goddess 0xF0 $3B Women held in arms... 0x80057996 0x0F $3C Bye, Noble of Darkness! 0xF0 $3D At the Hilltop Mansion? 0x80057997 0x0F $3E Unfortunate Monsters 0xF0 $3F Fiar's Intentions! 0x80057998 0x0F $40 Back then... 0xF0 $41 Rescue of Cornelia! 0x80057999 0x0F $42 Return of Pappal! 0xF0 $43 Ultimate Atavism 0x8005799A 0x0F $44 Thoughts of a Doll 0xF0 $45 Letter from distant 0x8005799B 0x0F $46 Battle! Mud Man! 0xF0 $47 Darkness of Eternal Way 0x8005799C 0x0F $48 Demon Golem 0xF0 $49 Final Resistance 0x8005799D 0x0F $4A Informant 0xF0 $4B Most Precious Thing 0x8005799E 0x0F $4C Poet Gilbert's Thoughts 0xF0 $4D Delighted Ct. Minimum! 0x8005799F 0x0F $4E Cannibalistic Plant 0xF0 $4F Joyous Song for You 0x800579A0 0x0F $50 The Talkative, Katedona 0xF0 $51 Courage of Durman! 0x800579A1 0x0F $52 Regain Ability! 0xF0 $53 Delighted Ct. Minimum! 0x800579A2 0x0F $54 Won Machinist Contest! 0xF0 $55 Artist Mameko Leaves! 0x800579A3 0x0F $56 Chocobo Restaurant 0xF0 $57 Ship Casino, Black Jack 0x800579A4 0x0F $58 Storm of 777! 0xF0 $59 Inside Lakam Trade Co. 0x800579A5 0x0F $5A Cherish Memories 0xF0 $5B A Perfect Smile! 0x800579A6 0x0F $5C Won the Yardow Fight! 0xF0 $5D Won the Zaland Fight! 0x800579A7 0x0F $5E Won the Magic Contest! 0xF0 $5F Won the Meister Contest! 800579a8 - "Person" data flags 800579c8 80057b18 - saved data 80057b5c - Weapon Page Order (FF = early end; uses Item ID's, 0x8c long) 80057be8 - Helmet Page Order (0x20 long) 80057c08 - Armor Page Order (0x28 long) 80057c30 - Accessory Page Order (0x24 long) 80057c54 - Item Page Order (0x14? long) 80057c7c - saved data 80057d02 - saved data 80057d24 - saved data 80057d84 - Save screeen data? (0x18 long, 15 total?) 0x00 - File ID? 0x01 - Name (0x15 long) 0x10 - ? Text (0x2 long, unused?) 0x12 - Ramza's Job ID 0x13 - Ramza's Level 0x14 - Month 0x15 - Day 0x16 - Location? 0x17 - ? 80057e60 - list of return addresses for evade types 80057eec - Current Proposition data (9 bytes each, 8 sections) 0x00 - proposition on when set to 1 0x01 - Prop ID 0x02 - Amount of days spent 0x03 - Amount of days needed 0x04 - Location of proposition 0x05 - number of units on prop 0x06 - unit ID 80057f34 - saved data 80057f74 - Party Data (256 bytes each, 20 sections) 0x00 - Base Class / Character ID (Also affects sprites) 0x?? - Special Character 0x80 - Generic Male 0x81 - Generic Female 0x82 - Monster 0x01 - Party ID 0x02 - Job ID 0x03 - Palette 0x00 Default 0x01 Hokuten 0x02 Nanten 0x03 Death Corps 0x04 Glabados Church 0x05 No Palette? 0x04 - Gender Byte 0x80 - Male 0x40 - Female 0x20 - Monster 0x10 - Join after event 0x08 - Load Formation 0x04 - ??? Stats 0x02 - 0x01 - Save Formation 0x05 - Birthday (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 0x06 - 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 0x07 - Secondary Skillset 0x08 - Reaction Ability 0x0a - Support Ability 0x0c - Movement Ability 0x0e - Head 0x0f - Body 0x10 - Accessory 0x11 - Right Hand Weapon 0x12 - Right Hand Shield 0x13 - Left Hand Weapon 0x14 - Left Hand Shield 0x15 - Experience 0x16 - Level 0x17 - Brave 0x18 - Faith 0x19 - Raw HP 0x1c - Raw MP 0x1f - Raw SP 0x22 - Raw PA 0x25 - Raw MA 0x28 - Unlocked Jobs 1-8 (All of these start from 0x80) 0x29 - Unlocked Jobs 9-16 0x2a - Unlocked Jobs 17-20 0x2b - Base Action Abilities 1-8 0x2c - Base Action Abilities 9-16 0x2d - Base R/S/M 1-6 0x2e - Chemist Action Abilities 1-8 0x2f - Chemist Action Abilities 9-16 0x30 - Chemist R/S/M 1-6 0x31 - Knight Action Abilities 1-8 0x32 - Knight Action Abilities 9-16 0x33 - Knight R/S/M 1-6 0x34 - Archer Action Abilities 1-8 0x35 - Archer Action Abilities 9-16 0x36 - Archer R/S/M 1-6 0x37 - Monk Action Abilities 1-8 0x38 - Monk Action Abilities 9-16 0x39 - Monk R/S/M 1-6 0x3a - Priest Action Abilities 1-8 0x3b - Priest Action Abilities 9-16 0x3c - Priest R/S/M 1-6 0x3d - Wizard Action Abilities 1-8 0x3e - Wizard Action Abilities 9-16 0x3f - Wizard R/S/M 1-6 0x40 - Time Mage Action Abilities 1-8 0x41 - Time Mage Action Abilities 9-16 0x42 - Time Mage R/S/M 1-6 0x43 - Summoner Action Abilities 1-8 0x44 - Summoner Action Abilities 9-16 0x45 - Summoner R/S/M 1-6 0x46 - Thief Action Abilities 1-8 0x47 - Thief Action Abilities 9-16 0x48 - Thief R/S/M 1-6 0x49 - Mediator Action Abilities 1-8 0x4a - Mediator Action Abilities 9-16 0x4b - Mediator R/S/M 1-6 0x4c - Oracle Action Abilities 1-8 0x4d - Oracle Action Abilities 9-16 0x4e - Oracle R/S/M 1-6 0x4f - Geomancer Action Abilities 1-8 0x50 - Geomancer Action Abilities 9-16 0x51 - Geomancer R/S/M 1-6 0x52 - Lancer Action Abilities 1-8 0x53 - Lancer Action Abilities 9-16 0x54 - Lancer R/S/M 1-6 0x55 - Samurai Action Abilities 1-8 0x56 - Samurai Action Abilities 9-16 0x57 - Samurai R/S/M 1-6 0x58 - Ninja Action Abilities 1-8 0x59 - Ninja Action Abilities 9-16 0x5a - Ninja R/S/M 1-6 0x5b - Calculator Action Abilities 1-8 0x5c - Calculator Action Abilities 9-16 0x5d - Calculator R/S/M 1-6 0x5e - Bard Action Abilities 1-8 0x5f - Bard Action Abilities 9-16 0x60 - Bard R/S/M 1-6 0x61 - Dancer Action Abilities 1-8 0x62 - Dancer Action Abilities 9-16 0x63 - Dancer R/S/M 1-6 0x64 - Base/Chemist Job Level 0x65 - Knight/Archer Job Level 0x66 - Monk/Priest Job Level 0x67 - Wizard/Time Mage Job Level 0x68 - Summoner/Thief Job Level 0x69 - Mediator/Oracle Job Level 0x6a - Geomancer/Lancer Job Level 0x6b - Samurai/Ninja Job Level 0x6c - Calculator/Bard Job Level 0x6d - Dancer/Mime Job Level 0x6e - Base Job JP 0x70 - Chemist Job JP 0x72 - Knight Job JP 0x74 - Archer Job JP 0x76 - Monk Job JP 0x78 - Priest Job JP 0x7a - Wizard Job JP 0x7c - Time Mage Job JP 0x7e - Summoner Job JP 0x80 - Thief Job JP 0x82 - Mediator Job JP 0x84 - Oracle Job JP 0x86 - Geomancer Job JP 0x88 - Lancer Job JP 0x8a - Samurai Job JP 0x8c - Ninja Job JP 0x8e - Calculator Job JP 0x90 - Bard Job JP 0x92 - Dancer Job JP 0x94 - Mime Job JP 0x96 - Total Base Job JP 0x98 - Total Chemist Job JP 0x9a - Total Knight Job JP 0x9c - Total Archer Job JP 0x9e - Total Monk Job JP 0xa0 - Total Priest Job JP 0xa2 - Total Wizard Job JP 0xa4 - Total Time Mage Job JP 0xa6 - Total Summoner Job JP 0xa8 - Total Thief Job JP 0xaa - Total Mediator Job JP 0xac - Total Oracle Job JP 0xae - Total Geomancer Job JP 0xb0 - Total Lancer Job JP 0xb2 - Total Samurai Job JP 0xb4 - Total Ninja Job JP 0xb6 - Total Calculator Job JP 0xb8 - Total Bard Job JP 0xba - Total Dancer Job JP 0xbc - Total Mime Job JP 0xbe-0xcd - Unit Name 0xce - Unit Name ID 0x00XX - Special 0x01XX - Generic Male 0x02XX - Generic Female 0x03XX - Generic Monster 0xd0 - Proposition byte 0xd0/0xd2 bytes set to 0 at initialization 0xd2 - 0-3 for newly created eggs 0xd3-0xdf - Free data 0xe0 - 0xff - data doesn't save 80059374 - (End of Party Data) 80059414 - Move-Find Item – Items found flags (4 bits each, 0x40 bytes total) 0xF0 - ?? 0x0F - At the main gate of igros 80059494 - Fur Shop – Poached Item Quantities (same order as item ID's) 800596e0 - Available Item Quantities (same order as item ID's)[Amount owned - amount equipped] 800597e0 - Save Times (15? total, 3 bytes each) 0x00 - Hours 0x01 - Minutes 0x02 - Seconds 80059594 - saved data 80059818 - Level UP Stat Storing Code Pointers 0x00 - 5ba08 (HP) 0x04 - 5ba18 (MP) 0x08 - 5ba28 (SP) 0x0c - 5ba38 (PA) 0x10 - 5ba48 (MA) 80059830 - Action Status Code Pointers 0x00 - 5e810 (Normal Action) 0x04 - 5e84c (Blank Status?) 0x08 - 5e84c (Crystal?) 0x0c - 5e84c (Dead?) 0x10 - 5e84c (Undead?) 0x14 - 5e81c (Charging) 0x18 - 5e824 (Jump) 0x1c - 5e82c (Defending) 0x20 - 5e838 (Performing) 59854-5e90b code is here 8005e90c - Base Data (12 bytes each, 4 total) Order: 0 = Male, 1 = Female, 2 = Ramza, 3 = Monster 0x00 - HP (these * 16384 = Min Raw) 0x01 - MP 0x02 - SP 0x03 - PA 0x04 - MA 0x05 - Helmet 0x06 - Armor 0x07 - Accessory 0x08 - RH Weapon 0x09 - RH Shield 0x0a - LH Weapon 0x0b - LH Shield 8005e93c - Base Raw Random Mod (5 bytes each, 4 total) Order: Same as above 0x00 - HP 0x01 - MP 0x02 - SP 0x03 - PA 0x04 - MA 8005e950 - movement cost/geomancy/movement support tables 8005e9d0 - Geomancy_tiles_type_to_ability_table 8005ea10 - (end of above) 8005ea50 - (0x180 long?, 0x40 per section) 8005ebd0 - ? Reaction Flags (1 byte each) 0x80 - 0x40 - 0x20 - 0x10 - 17cacc routine 0x08 - Use weapon range? 0x04 - 1 Hit on Self? 18af80 0x02 - 0x01 - skips 18af2c routine - sets attack type in action data if ONLY 0x01 is set 0x00 - 06 = A Save 0x01 - 06 = MA Save 0x02 - 06 = Speed Save 0x03 - 06 = Sunken State 0x04 - 06 = Caution 0x05 - 06 = Dragon Spirit 0x06 - 06 = Regenerator 0x07 - 06 = Brave Up 0x08 - 06 = Face Up 0x09 - 06 = HP Restore 0x0a - 06 = MP Restore 0x0b - 06 = Critical Quick 0x0c - 29 = Meatbone Slash 0x0d - 29 = Counter Magic 0x0e - 29 = Counter Tackle 0x0f - 2a = Counter Flood 0x10 - 29 = Absorb Used MP (06?) 0x11 - 2d = Gilgame Heart (06?) 0x12 - 06 = Reflect (2d?) 0x13 - 06 = Auto Potion (29?) 0x14 - 10 = Counter (29?) 0x15 - 0e = (06?) 0x16 - 06 = Distribute (0e?) 0x17 - 29 = MP Switch (10?) 0x18 - 10 = Damage Split (0e?) 0x19 - 10 = Weapon Guard 0x1a - 10 = Finger Guard 0x1b - 0e = Abandon (10?) 0x1c - 19 = Catch (10?) 0x1d - 10 = Blade Grasp 0x1e - 10 = Arrow Guard 0x1f - 10 = Hamedo (19?) (Talcall asking for a revision here, are the brackets correct, or even universal?) 8005ebf0 - Ability Data 1 - Exists for all 512 abilities 0x00 - JP Cost, 0x00?? 0x01 - JP Cost, 0x??00 0x02 - Chance to Learn 0x03 - Misc Flags/Nibble 1 0x?0 - Upper Nibble - Skill Display and Learning Flags 0x8X - Learn with JP (off = can't learn with JP) 0x4X - Display Ability Name 0x2X - Learn on Hit 0x1X - 0x0? - Lower Nibble - Skill Category 0xXF - 0xXE - 0xXD - 0xXC - 0xXB - 0xXA - 0xX9 - Movement 0xX8 - Support 0xX7 - Reaction 0xX6 - Math 0xX5 - Aim 0xX4 - Jumping 0xX3 - Throwing 0xX2 - Item 0xX1 - Normal 0xX0 - None 0x04 - AI Behavior Flags 1 0x80 - Affect HP 0x40 - Affect MP 0x20 - Cancel Status 0x10 - Add Status 0x08 - Affect Stats 0x04 - Unequip 0x02 - Target Enemies 0x01 - Target Allies 0x05 - AI Behavior Flags 2 0x80 - Target Map (Old Note: Ignore Range/Affect Self?) 0x40 - Reflectable 0x20 - Undead Reverse 0x10 - Check CT/Target (Old Note: Follow Target?) 0x08 - Random Hits 0x04 - Affected by Faith (normal Faith formula as in Cure/Fire/etc; flag not found on Rafa/Malak skills) 0x02 - Evadeable 0x01 - Ignore Silence (on = affected by silence) 0x06 - AI Behavior Flags 3 0x80 - Longbow Attack (Old Note: Arc Attack?) 0x40 - Stop at Obstacle (Old Note: Direct Attack) 0x20 - Linear Attack 0x10 - Non-Spear Attack (Old Note: Vertical Increase; default off) 0x08 - 3-Direction Melee (Example: Triple Attack) 0x04 - 3-Direction Ranged (Example: Triple Bracelet) 0x02 - Magical Attack (Old Note: Magic Defense UP) 0x01 - Physical Attack (Old Note: Defense UP) 0x07 - AI Behavior Flags 4 (Seems affect both AI and non-AI ability usage) 0x80 - Usable by AI 0x40 - Only Hits Allies/Self 0x20 - Only Hits Enemies 0x10 - 0x08 - Requires Monster Skill 0x04 - Use Weapon Range 0x02 - 0x01 - Evade with Motion (Old Note: Can use physical Reactions?) 8005fbf0 - Ability Data 2 - Exists only for abilities 0x000 to 0x16F, inclusive on both ends. Note that some flags differ in FFTPatcher due to space constraints (though tooltips might help that). 0x00 - Range 0x01 - Effect Area 0x02 - Vertical 0x03: Flags 1 0x80 - Force Self-Target 0x40 - 0x20 - Weapon Range 0x10 - Linear Range (Old Note: Vertical Fixed) 0x08 - Vertical Threshold (Old Note: Vertical Tolerance) 0x04 - Weapon Strike 0x02 - Auto-Target 0x01 - Can't Target Self 0x04: Flags 2 0x80 - Can't Hit Enemies 0x40 - Can't Hit Allies 0x20 - Top-down Targeting (hits higher elevation tiles first) 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 0x80 - Fire 0x40 - Lightning 0x20 - Ice 0x10 - Wind 0x08 - Earth 0x04 - Water 0x02 - Holy 0x01 - Dark 0x08 - Formula 0x09 - X 0x0a - Y 0x0b - Inflict Status 0x0c - CT 0x0d - MP Cost Note that the following tables for Item/Throw/Jump/Charge/Calculator/RSM skills are all actually entries that span one larger table whose context varies depending on hard-coded ranges of skill slots. This may matter if you are building a spreadsheet to edit this data, and you choose to represent the data as simply as possible. 80061010 - Item Abilities - Exists for abilities 0x170 to 17D (inclusive both ends), with 2 extra bytes at the end that are unused; possibly for unused items 0xFE and 0xFF. 0x00 - Item Used ID 80061020 - Throw Abilities - Exists for abilities 0x17E to 0x189, inclusive both ends. 0x00 - Item Type Thrown 0x00 - Nothing 0x01 - Knife 0x02 - Ninja Blade 0x03 - Sword 0x04 - Knights Sword 0x05 - Katana 0x06 - Axe 0x07 - Rod 0x08 - Staff 0x09 - Flail 0x0A - Gun 0x0B - Crossbow 0x0C - Bow 0x0D - Instrument 0x0E - Book 0x0F - Polearm 0x10 - Pole 0x11 - Bag 0x12 - Cloth 0x13 - Shield 0x14 - Helmet 0x15 - Hat 0x16 - Hair Adornment 0x17 - Armor 0x18 - Clothing 0x19 - Robe 0x1A - Shoes 0x1B - Armguard 0x1C - Ring 0x1D - Armlet 0x1E - Cloak 0x1F - Perfume 0x20 - Throwing 0x21 - Bomb 0x22 - None 8006102c - Jump Abilities - Exists for skills 0x18A to 0x195, inclusive on both ends. 0x00 - Range 0x01 - Vertical 80061044 - Charge Abilities - Exists for skills 0x196 to 0x19D, inclusive on both ends. 0x00 - CT 0x01 - Power 80061054 - Calculator Abilities - Exists for skills 0x19E to 0x1A5, inclusive on both ends. 0x00 - ID 8006105c - R/S/M Abilities - Exists for skills 0x1A6 to 0x1FF, inclusive on both ends. 0x00 - Ability ID 800610b8 - Job Data 0x00 - Skillset 0x01 - Innate Ability 1 0x03 - Innate Ability 2 0x05 - Innate Ability 3 0x07 - Innate Ability 4 0x09 - Equippable Items 1 0x80 - Unarmed 0x40 - Knife 0x20 - Ninja Blade 0x10 - Sword 0x08 - Knight's Sword 0x04 - Katana 0x02 - Axe 0x01 - Rod 0x0a - Equippable Items 2 0x80 - Staff 0x40 - Flail 0x20 - Gun 0x10 - Crossbow 0x08 - Bow 0x04 - Instrument 0x02 - Book 0x01 - Polearm 0x0b - Equippable Items 3 0x80 - Pole 0x40 - Bag 0x20 - Cloth 0x10 - Shield 0x08 - Helmet 0x04 - Hat 0x02 - Hair Adornment 0x01 - Armor 0x0c - Equippable Items 4 0x80 - Clothing 0x40 - Robe 0x20 - Shoes 0x10 - Armguard 0x08 - Ring 0x04 - Armlet 0x02 - Cloak 0x01 - Perfume 0x0d - HP Growth 0x0e - HP Multiplier 0x0f - MP Growth 0x10 - MP Multiplier 0x11 - Speed Growth 0x12 - Speed Multiplier 0x13 - PA Growth 0x14 - PA Multiplier 0x15 - MA Growth 0x16 - MA Multiplier 0x17 - Move 0x18 - Jump 0x19 - C-EV 0x1a - Innate Statuses 1 0x1b - Innate Statuses 2 0x1c - Innate Statuses 3 0x1d - Innate Statuses 4 0x1e - Innate Statuses 5 0x1f - Status Immunity 1 0x20 - Status Immunity 2 0x21 - Status Immunity 3 0x22 - Status Immunity 4 0x23 - Status Imminity 5 0x24 - Starting Statuses 1 0x25 - Starting Statuses 2 0x26 - Starting Statuses 3 0x27 - Starting Statuses 4 0x28 - Starting Statuses 5 0x29 - Absorbed Elements 0x2a - Nullified Elements 0x2b - Halved Elements 0x2c - Elemental Weakness 0x2d - Monster Portrait 0x2e - Monster Palette 0x2f - Monster Graphic 80062eb8 - Item Data Start (12 bytes each) 0x00 - Palette 0x01 - Sprite ID 0x02 - Required Level (for random generation) 0x03: Type Flags 0x80 - Weapon 0x40 - Shield 0x20 - Headgear 0x10 - Armor 0x08 - Accessory 0x04 - 0x02 - Rare 0x01 - 0x04 - Second Table ID 0x05: Item Type 01 - Knife 02 - Ninja Blade 03 - Sword 04 - Knight Sword 05 - Katana 06 - Axe 07 - Rod 08 - Staff 09 - Flail 0a - Gun 0b - Crossbow 0c - Bow 0d - Instrument 0e - Book 0f - Polearm 10 - Pole 11 - Bag 12 - Cloth 13 - Shield 14 - Helmet 15 - Hat 16 - Hair Adornment 17 - Armor 18 - Clothing 19 - Robe 1a - Shoes 1b - Armguard 1c - Ring 1d - Armlet 1e - Cloak 1f - Perfume 20 - Throwing 21 - Bomb 22 - Item 0x06 - 0x07 - Item Attributes 0x08 - Price, 0x00?? 0x09 - Price, 0x??00 0x0a - Shop Availability 0x00 - Blank 0x01 - Chapter 1 - Start 0x02 - Chapter 1 - Enter Igros 0x03 - Chapter 1 - Save Elmdor 0x04 - Chapter 1 - Kill Miluda 0x05 - Chapter 2 - Start 0x06 - Chapter 2 - Save Ovelia 0x07 - Chapter 2 - Meet Draclau 0x08 - Chapter 2 - Save Agrias 0x09 - Chapter 3 - Start 0x0A - Chapter 3 - Zalmo 0x0B - Chapter 3 - Meet Velius 0x0C - Chapter 3 - Save Rafa 0x0D - Chapter 4 - Start 0x0E - Chapter 4 - Bethla 0x0F - Chapter 4 - Kill Elmdor 0x10 - Chapter 4 - Kill Zalbag 0x0b - 80063ab8 - Weapon Secondary Data - exists for items 0x00 to 0x7F, inclusive on both ends. 0x00 - Range 0x01 - Attack Flags 0x80 - Striking 0x40 - Lunging 0x20 - Direct 0x10 - Arc 0x08 - 2 Swords 0x04 - 2 Hands 0x02 - Throwable 0x01 - Forced 2 Hands 0x02 - Formula 0x03 - 0x04 - Weapon Power 0x05 - Evade 0x06: Element 0x80 - Fire 0x40 - Lightning 0x20 - Ice 0x10 - Wind 0x08 - Earth 0x04 - Water 0x02 - Holy 0x01 - Dark 0x07 - Inflict Status/Cast Spell 80063eb8 - Shield Secondary Data - exists for items 0x80 to 0x8F, inclusive on both ends. 0x00 - Physical Evade 0x01 - Magical Evade 80063ed8 - Helm/Armor Secondary Data - exists for items 0x90 to 0xCF, inclusive on both ends. 0x00 - HP Bonus 0x01 - MP Bonus 80063f58 - Accessory Secondary Data - exists for items 0xD0 to 0xEF, inclusive on both ends. 0x00 - Physical Evade 0x01 - Magical Evade 80063f98 - Item Secondary Data - exists for items 0xF0 to 0xFD, inclusive on both ends. 0x00 - Formula 0x01 - Z value 0x02 - Inflict Status ID 80063fc4 - Inflict Statuses 0x00 - Infliction Type - note that flags don't stack, unfortunately. 80 - All or nothing 40 - Random (1 from a set) 20 - Separate (0/1 or more from a set, can't remember which, probably depends on formula too) 10 - Cancel 0x01 - Inflicted Statuses 1 80 - 40 - Cystal 20 - Dead 10 - Undead 08 - Charging 04 - Jump 02 - Defending 01 - Performing 0x02 - Inflicted Statuses 2 80 - Petrify 40 - Invite 20 - Darkness 10 - Confusion 08 - Silence 04 - Blood Suck 02 - Dark/Evil Looking 01 - Treasure 0x03 - Inflicted Statuses 3 80 - Oil 40 - Float 20 - Reraise 10 - Transparent 08 - Berserk 04 - Chicken 02 - Frog 01 - Critical 0x04 - Inflicted Statuses 4 80 - Poison 40 - Regen 20 - Protect 10 - Shell 08 - Haste 04 - Slow 02 - Stop 01 - Wall 0x05 - Inflicted Statuses 5 80 - Faith 40 - Innocent 20 - Charm 10 - Sleep 08 - Don't Move 04 - Don't Act 02 - Reflect 01 - Death Sentence 800642c4 - Item Attributes 0x00 - PA 0x01 - MA 0x02 - Speed 0x03 - Move 0x04 - Jump 0x05 - Innate Statuses 1 0x06 - Innate Statuses 2 0x07 - Innate Statuses 3 0x08 - Innate Statuses 4 0x09 - Innate Statuses 5 0x0a - Status Immunity 1 0x0b - Status Immunity 2 0x0c - Status Immunity 3 0x0d - Status Immunity 4 0x0e - Status Immunity 5 0x0f - Starting Status 1 0x10 - Starting Status 2 0x11 - Starting Status 3 0x12 - Starting Status 4 0x13 - Starting Status 5 0x14 - Absorbed Elements 0x15 - Nullified Elements 0x16 - Halved Elements 0x17 - Elemental Weakness 0x18 - Elements Strengthened 80064a94 - Skillsets 0x00 - Ability Flags 1-8 (ID + 100h if enabled, 0x80 = Ability 1, 0x40 = 2, etc.) 0x01 - Ability Flags 9-16 0x02 - R/S/M Flags (0x02 and 0x01 are unused) 0x03 - Ability ID 1 0x04 - Ability ID 2 0x05 - Ability ID 3 0x06 - Ability ID 4 0x07 - Ability ID 5 0x08 - Ability ID 6 0x09 - Ability ID 7 0x0a - Ability ID 8 0x0b - Ability ID 9 0x0c - Ability ID 10 0x0d - Ability ID 11 0x0e - Ability ID 12 0x0f - Ability ID 13 0x10 - Ability ID 14 0x11 - Ability ID 15 0x12 - Ability ID 16 0x13 - R/S/M ID 1 0x14 - R/S/M ID 2 0x15 - R/S/M ID 3 0x16 - R/S/M ID 4 0x17 - R/S/M ID 5 0x18 - R/S/M ID 6 80065bc4 - Monster Skillsets 0x00 - Ability Flags (ID + 100h if enabled, 0x80 = Ability 1) 0x01 - Ability ID 1 0x02 - Ability ID 2 0x03 - Ability ID 3 0x04 - Ability ID 4 80065cb4 - Action Menus (1 byte for all skillsets) 0x00 - Menu ID 0x00 - Default 0x01 - Item Inventory 0x02 - Weapon Inventory 0x03 - Arithmeticks 0x04 - Elements 0x05 - Blank 0x06 - Monster 0x07 - Katana Inventory 0x08 - Attack 0x09 - Jump 0x0a - Charge 0x0b - Defend 0x0c - Change Equipment 0x0d - Unknown 0x0e - Blank 0x0f - Unknown 80065d94 - table 0x50 long.. 80065de4 - Status Effects 0x00 - Unknown 0x01 - Unknown 0x02 - Order 0x03 - CT 0x04 - Checks 1 0x80 - Freeze CT (Checks 4) 0x40 - (Crystal/Treasure) 0x20 - (Defend/Perform) 0x10 - (Poison/Regen) 0x08 - (Confusion/Transparent/Charm/Sleep) 0x04 - (Checks 3) 0x02 - (Checks 2) 0x01 - KO (Checks 1) 0x05 - Checks 2 0x80 - Can't React (Checks 5) 0x40 - 0x20 - Ignore Attacks 0x10 - (Checks 10) 0x08 - (Checks 9) 0x04 - (Checks 8) 0x02 - (Checks 7) (Cancelled by Immortal?) 0x01 - (Checks 6) 0x06 - Cancels 1 0x80 - 0x40 - Crystal 0x20 - Dead 0x10 - Undead 0x08 - Charging 0x04 - Jump 0x02 - Defending 0x01 - Performing 0x07 - Cancels 2 0x80 - Petrify 0x40 - Invite 0x20 - Darkness 0x10 - Confusion 0x08 - Silence 0x04 - Blood Suck 0x02 - Cursed 0x01 - Treasure 0x08 - Cancels 3 0x80 - Oil 0x40 - Float 0x20 - Reraise 0x10 - Transparent 0x08 - Berserk 0x04 - Chicken 0x02 - Frog 0x01 - Critical 0x09 - Cancels 4 0x80 - Poison 0x40 - Regen 0x20 - Protect 0x10 - Shell 0x08 - Haste 0x04 - Slow 0x02 - Stop 0x01 - Wall 0x0a - Cancels 5 0x80 - Faith 0x40 - Innocent 0x20 - Charm 0x10 - Sleep 0x08 - Don't Move 0x04 - Don't Act 0x02 - Reflect 0x01 - Death Sentence 0x0b - Can't Stack On 1 0x80 - 0x40 - Crystal 0x20 - Dead 0x10 - Undead 0x08 - Charging 0x04 - Jump 0x02 - Defending 0x01 - Performing 0x0c - Can't Stack On 2 0x80 - Petrify 0x40 - Invite 0x20 - Darkness 0x10 - Confusion 0x08 - Silence 0x04 - Blood Suck 0x02 - Cursed 0x01 - Treasure 0x0d - Can't Stack on 3 0x80 - Oil 0x40 - Float 0x20 - Reraise 0x10 - Transparent 0x08 - Berserk 0x04 - Chicken 0x02 - Frog 0x01 - Critical 0x0e - Can't Stack on 4 0x80 - Poison 0x40 - Regen 0x20 - Protect 0x10 - Shell 0x08 - Haste 0x04 - Slow 0x02 - Stop 0x01 - Wall 0x0f - Can't Stack on 5 0x80 - Faith 0x40 - Innocent 0x20 - Charm 0x10 - Sleep 0x08 - Don't Move 0x04 - Don't Act 0x02 - Reflect 0x01 - Death Sentence 80066064 - Poach List 0x00 - Common Item (88%) 0x01 - Uncommon Item (12%) 800660c4 - Job Unlock Requirements (High nybble/low nybble) 0x00 - Squire/Chemist 0x01 - Knight/Archer 0x02 - Monk/Priest 0x03 - Wizard/Time Mage 0x04 - Summoner/Thief 0x05 - Mediator/Oracle 0x06 - Geomancer/Lancer 0x07 - Samurai/Ninja 0x08 - Calculator/Bard 0x09 - Dancer/Mime 80066182 - Job Level JP Requirements (some checks start at 66184) 0x00 - Level 0 (just 0) 0x02 - Level 1 0x04 - Level 2 0x06 - Level 3 0x08 - Level 4 0x0a - Level 5 0x0c - Level 6 0x0e - Level 7 0x10 - Level 8 80066194 - Job Data Pointer 80066198 - Prime Number List 800661ce - Month Day Values 0x00 - No Month 0x02 - January 0x04 - February 0x06 - March 0x08 - April 0x0a - May 0x0c - June 0x0e - July 0x10 - August 0x12 - September 0x14 - October 0x16 - November 0x18 - December 800661e8 - Zodiac Day Limits 0x00 - Capricorn 0x02 - Aquarius 0x04 - Pisces 0x06 - Aries 0x08 - Taurus 0x0a - Gemini 0x0c - Cancer 0x0e - Leo 0x10 - Virgo 0x12 - Libra 0x14 - Scorpio 0x16 - Sagittarius 80066200 - Start of Battle Flag? (1 = Initialize data?) 80066204 - Temp Ability List (used for setting usable abilities) 80066224 80066234 - pointer to current units party ID? 80066238 - Current ENTD Pointer 800662d0 - Status checks (determined from 0x4/5 of 80065de4 data?) 0x00 - Statuses 1 0x80 - 0x40 - Crystal 0x20 - Dead 0x10 - Undead 0x08 - Charging 0x04 - Jump 0x02 - Defending 0x01 - Performing 0x01 - Statuses 2 0x80 - Petrify 0x40 - Invite 0x20 - Darkness 0x10 - Confusion 0x08 - Silence 0x04 - Blood Suck 0x02 - Cursed 0x01 - Treasure 0x02 - Statuses 3 0x80 - Oil 0x40 - Float 0x20 - Reraise 0x10 - Transparent 0x08 - Berserk 0x04 - Chicken 0x02 - Frog 0x01 - Critical 0x03 - Statuses 4 0x80 - Poison 0x40 - Regen 0x20 - Protect 0x10 - Shell 0x08 - Haste 0x04 - Slow 0x02 - Stop 0x01 - Wall 0x04 - Statuses 5 0x80 - Faith 0x40 - Innocent 0x20 - Charm 0x10 - Sleep 0x08 - Don't Move 0x04 - Don't Act 0x02 - Reflect 0x01 - Death Sentence ID's (based on Status Effects bytes 0x4/5): 0x0 - KO (0x01 in 0x04) Crystal, Dead, Petrify, Invite, Blood Suck, Treasure 0x1 - Team Loss (Enemy?) (0x02 in 0x04) Crystal, Invite, Treasure 0x2 - Team Loss (Ally?) (0x04 in 0x04) Crystal, Treasure 0x3 - Freeze CT (0x80 in 0x04) Crystal, Petrify, Treasure, Stop, Sleep 0x4 - (0x80 in 0x05) (unit is in water and isn't a monster?) Crystal, Dead, Jump, Petrify, Confusion, Blood Suck, Treasure, Berserk, Chicken, Frog, Stop, Sleep, Don't Act 0x5 - Immortal Immunities (0x01 in 0x05) Crystal, Dead, Undead, Petrify, Invite, Confusion, Blood Suck. Treasure, Chicken, Frog, Charm, Sleep, Don't Act, Death Sentence 0x6 - Load/Save Formation Immunities (0x02 in 0x05) Crystal, Dead, Undead, Petrify, Invite, Blood Suck, Treasure, Chicken, Frog, Charm, Death Sentence 0x7 - (0x04 in 0x05) Darkness, Confusion, Transparent, Berserk, Chicken, Frog, Stop, Charm, Sleep, Don't Move, Don't Act 0x8 - (0x08 in 0x05) Crystal, Dead, Undead, Jump, Petrify, Invite, Treasure, Critical 0x9 - (0x10 in 0x5) Confusion, Berserk, Poison, Stop, Sleep, Don't Move, Don't Act, Death Sentence 0xa - Unmountable (Job ID 5e-60, hardcoded statuses) Crystal, Dead, Petrify, Blood Suck, Treasure, Berserk, Chicken, Frog, Charm 80066308 - Highest Party Level 80067000 - List of return addresses (0x794 lines or 0x1e4 addresses) 80067830 - 80067838 - Pointers for Numerical Display Color Code (0xd1 pointers) 80067b80 - Pointers for Display Type Code (SP/CT/Br/Fa/PA/MA) 80067bac - ? (0x2a long) 80067bd8 - ?2 80067c04 - ?3 80067c30 - ?4 80067c5c - ?5 80067c88 - ?6 80067cb8 - return address list based on post-action display type (exp,jp, etc.) (for 0x51 display types) 80067e60 - Whoosh sounds? 80067e98 - return address list based on weapon type/direction (0x1dc in misc data) sets attackers animation 800682cc - Color Modification Code Pointers 8006fbf0 - Ability Data Pointer 2 (loading to skillset?) 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 80093d08 - Display Type 0x00 - HP Damage 0x01 - HP Healing 0x02 - MP Damage 0x03 - MP Healing 0x04 - SP Damage 0x05 - SP Bonus 0x06 - CT Damage 0x07 - CT Bonus 0x08 - Brave Damage 0x09 - Brave Bonus 0x0a - Faith Damage 0x0b - Faith Bonus 0x0c - PA Damage 0x0d - PA Bonus 0x0e - MA Damage 0x0f - MA Bonus 80093d18 - Status ID's for Display Type Bytes: 0x00 - 0x01 - Crystal 0x02 - Dead 0x03 - Undead 0x04 - Charging 0x05 - Jump 0x06 - Defending 0x07 - Performing 0x08 - Petrify 0x09 - Invite 0x0a - Darkness 0x0b - Confusion 0x0c - Silence 0x0d - Blood Suck 0x0e - Cursed 0x0f - Treasure 0x10 - Oil 0x11 - Float 0x12 - Reraise 0x13 - Transparent 0x14 - Berserk 0x15 - Chicken 0x16 - Frog 0x17 - Critical 0x18 - Poison 0x19 - Regen 0x1a - Protect 0x1b - Shell 0x1c - Haste 0x1d - Slow 0x1e - Stop 0x1f - Wall 0x20 - Faith 0x21 - Innocent 0x22 - Charm 0x23 - Sleep 0x24 - Don't Move 0x25 - Don't Act 0x26 - Reflect 0x27 - Death Sentence IDs: 0x00 - Dead? 0x01 - Undead 0x02 - Petrify 0x03 - Invite 0x04 - Darkness 0x05 - Confusion 0x06 - Silence 0x07 - Blood Suck 0x08 - Oil 0x09 - Float 0x0a - Reraise 0x0b - Transparent 0x0c - Berserk 0x0d - Poison 0x0e - Regen 0x0f - Protect 0x10 - Shell 0x11 - Haste 0x12 - Slow 0x13 - Stop 0x14 - Faith 0x15 - Innocent 0x16 - Charm 0x17 - Sleep 0x18 - Don't Move 0x19 - Don't Act 0x1a - Reflect 0x1b - Death Sentence Weapon Sounds (0x00 = item type 0x01 - knife) 80093d40 - Weapon Whoosh 80093d60 - Weapon Hit 80093d80 - Shield Deflection 80093de8 - Ability Animation number 80093e10 - Ability Animation Flags (0x1C6 abilities, 3 bytes each) (Doesn't include all 0x200 because Support and Movement abilities are not included) 0x00 - Flags 1 0x01 - Flags 2 (Monster Animations) 0x02 - Flags 3 800942ab - 0x00094364 - Weapon Change of Animation (multiplied by 2 (+1 if camera is behind the unit) to get true animation - applied to unit when attacking Fists: 3d 3e 3f Daggers: 40 41 42 Ninja Blades: 40 41 42 Swords: 40 41 42 Knight Swords: 40 41 42 Katana: 40 41 42 Axes: 40 41 42 Rods: 40 41 42 Staffs: 40 41 42 Fails: 40 41 42 Guns: 50 51 52 Crossbows: 53 54 55 Bows: 53 54 55 Instruments: 57 57 57 Dictionaries: 56 56 56 Polearms: 4d 4e 4f Poles: 4d 4e 4f Bags: 77 78 79 Cloths: 77 78 79 All other item types exist, but the animations are set to 0.
800943e4 - Item Graphic Data (0x7f total?) 0x00 - Palettes 0xF0 - WEP1 Palette 0x0F - WEP2 Palette 0x01 - Graphic ID (multiple of 2) 80094508 - halves, based on number of sprite sections 8009453c - Unit raw size measurements? all words. contains many possible raw size combinations (for the record, these are all *8 to get the true graphic size.) 800946c8 - weapon/effect raw size measurements? all words, with only a byte of data each. this is just inefficient. 80094748 - Spritesheet Data (4 bytes each, 0x9f total) 0x00 - SHP ID 0x00 - Type 1 0x01 - Type 2 0x02 - Cyoko 0x03 - Mon 0x04 - 0x05 - Ruka 0x06 - Arute 0x07 - Kanzen 0x01 - SEQ ID 0x00 - Type 1 0x01 - Type 2 0x02 - Cyoko 0x03 - Mon 0x04 - 0x05 - Ruka 0x06 - Arute 0x07 - Kanzen 0x02 - Flying Flag 0x03 - Graphic height
800949c4 - emergency fall back frame (facing camera) 0x00 - Type 1 = 0x0b 0x01 - Type 2 = 0x0b 0x02 - Cyoko = 0x02 0x03 - Mon = 0x02 0x04 - ??? = 0x01 0x05 - Ruka = 0x02 0x06 - Arute = 0x01 0x07 - Kanzen = 0x01 0x08-0x0c - 0x00 800949d0 - emergency fall back frame (facing away from camera) 0x00 - Type 1 = 0x10 0x01 - Type 2 = 0x10 0x02 - Cyoko = 0x04 0x03 - Mon = 0x04 0x04 - ??? = 0x06 0x05 - Ruka = 0x04 0x06 - Arute = 0x0a 0x07 - Kanzen = 0x0a 0x08-0x0c - 0x00 800949dc - X coordinates to load status bubble icons (KO stars, AT icon also), starts with KO stars: 22 bytes long 800949f4 - Y coordinates to load status bubble icons (KO stars, AT icon also), starts with KO stars: 22 bytes long
80094a0c - X coordinates to load death counter numbers 80094a24 - Y coordinate to load death counter numbers 80094a40 - (start of below? Counter is set to +1 before so it starts at 94a44) 80094a44 - Status Flags (for Display? 28 total, 4 bytes each) 80094ae4 - Start of some list of palettes
80094ba4 - ? Palettes
80096024 - ? (set to 0 after prepping to display earned Exp/JP) (word)
800960c0 -
800960c4 -
800960cc - set to 04 in map zoom routine 800960d0 - Map Zoom 0x04 - Zoomed out 0x01 - Zoomed In
800960d4 - controller input for map tilt?
800960d8 - Map Tilt 0x02 - Steep 0x01 - Flat 800960dc - cleared before setting next control script
800960e4 - (set to 0x28 after prepping earned Exp/JP) (Word) set to 0x2b after prepping ability effect? Type of display - Has something to do with what display function is happening
0x2b - ability Effect 0x29 - Action being taken? 0x28 - Exp/JP 0x1b - Action confirmation 0x19 - Targeting, Target selected 0x18 - Select within firing range 0x17 - Targeting, no target selected 0x16 - Specify target with cursor message (pre-targeting) / Can't execute action, no targets from panel 0x14 - Specify Direction for wait message 0x13 - Selecting direction for wait 0x08 - AT / Unit list / Options 0x04 - All menus + status screen 0x00 - Moving around battleground with cursor (Free cursor)
800960e8 - value of 800960e4 stored here
800960f0 - Set to 1 when status is selected in main battle menu 800960f8 800960fc
80096100 - AT List ID (used to determine which data to load from the AT list) 80096104 - Map ID
80096110 - cleared in ability effect routines
80096118 - Casting units ID? (mimic?), ability CT resolution 8009611c - Casting units Misc ID?
8009612c - Weapon being sheathed? 2 if not, 0 if so (word). 1 appears to be dummied?
800961b4 - Cursor X Coordinate (Cursor) 800961b8 - Cursor Map Level (0 = base floor, 1 = higher floor) 800961bc - Cursor Y Coordinate (Cursor) 800961c0 - Timer Counter for cursor repeat speed
80096200 - learned ability (learn on hit)? 80096204 - post action display phase 80096208 - Move find item/trap/move-stat up results for display 0x01 - treasure chest item? 0x02 - move XX up activation? 0x04 - item found 0x08 - trap 0x10 - remove charging? 0x20 - move hp up 0x40 - move MP up 0x80 - move exp up 0x0100 - move jp up
0x0400 - status changes
8009620c - trap to display? 80096210 - Item to display 80096214 - Action Phase 0x00 - pre-action 0x01 - acting unit's action 0x02 - reacting unit's action 0x03 - post-action 8009621C - Unit misc ID when selected by cursor
80096220 - Target/Attacker Tile pointer 80096224 - Target/Attacker Tile Pointer
80096244 - unit number? 80096248 - units action data 0x08 long?, 0x0b sections? 0x00 -0x28 - speed change 0x01 - unit ID
8009624c - item to break
800962f4
(stuff for display) 800962d4 - HP Damage 800962d6 - HP Healing 800962d8 - MP Damage 800962da - MP Healing 800962dc - SP Damage 800962de - SP Bonus 800962e0 - CT Damage 800962e2 - CT Bonus 800962e4 - Brave Damage 800962e6 - Brave Bonus 800962e8 - Faith Damage 800962ea - Faith Bonus 800962ec - PA Damage 800962ee - PA Bonus 800962f0 - MA Damage 800962f2 - MA Bonus
800962f4 - Data for spritesheets? (0x688 each, 5 sections - up to Ruka sheets) SHP 0x00 - start of Type 1 0x688 - start of type 2 0xD10 - start of Cyoko 0x1398 - start of Mon 0x1a20 - start of Ruka 8009839c - end of above data
80098a24 - Rotation matrix elements (0x13 long, word each) 80098a38 - Translation vectors (3 words) 0x00 trx 0x04 try 0x08 trz 80098a54 - Some units Misc Data Pointer
80098a54 - Pointer to last unit's Misc Data?
80098d84 - Type of action (mimic / ability CT resolution) 0x0100 - active turn? 0x0200 - ability CT resolution 0x0300 - crystal/treasure?
80098db8 - ?? cleared after post action
80098dbc - some effect address
80098d70 - ??(word)
80098dcc - numerical display data
80098dd4 - numerical display data?
800995ec - (word)
800995f4 - (14 groups at 0x982 bytes each) set 4 = Unit (team?) Palettes? 800995f5 - 1 = skip setting below data? 800995f6 - (16 sections, 8 bytes each) 0x00 - (1 = active?) 0x01 - 0x02 - 0x03 - (set to PV2 in 0x8f710) 0x04 - (set to 0 if PV = 10 in 0x8f710) 0x05 - Red Mod (for what changed the below section) 0x06 - Green Mod 0x07 - Blue Mod 80099676 - Palette Color Mod Data (16 sect. w/ 16 colors; 7 bytes each color (0x700 total)) 0x00 - Red Value 0x01 - Green Value 0x02 - Blue Value 0x03 - Alpha Flag 0x04 - Modified Red? (0x1f if total of RGB = 0) 0x05 - Modified Green? 0x06 - Modified Blue? 80099d76 - Raw Palettes (16 sections, 16 colors, 2 bytes each (0x200 total))
8009b27c - list of some misc data
800a1c84 - Unit Animations start.
800a69d0 - Weapon Animations start.
800a7784 - Map Tilt 0x2e - flatter 0xc0 - steeper 800a7786 - Map Rotation (half) 0x0002 0x0006 0x000a 0x000e
800a7790 - word loaded to coprocessor 2 register: gtedr00_vxy0 800a7794 - word loaded to coprocessor 2 register: gtedr00_vz0 800a7798 - word loaded to coprocessor 2 register: gtedr01_vxy1 800a779c - word loaded to coprocessor 2 register: gtedr01_vz1 800a77a0 - word loaded to coprocessor 2 register: gtedr02_vxy2 800a77a4 - word loaded to coprocessor 2 register: gtedr02_vz2 before rtpt
800a77a8 - word loaded to coprocessor 2 register: gtedr00_vxy0 800a77ac - word loaded to coprocessor 2 register: gtedr00_vz0 before rtps
800a839c - some pointer for Ruka and above spritesheets?
800b6294
800b6698 - word, deals with palette modification 0x00 0x01 0x02 0x03 - 0x02 - skips stormy weather palette mod? (ignore weather mod) 0x01 - skips time of day palette mod? (Snow weather mod)
800b7308 - Miscellaneous Unit Data? (0x440 bytes each) 0x000 - Pointer to previous unit's misc data (00000000 means this is the first) 0x004 - Unit Misc ID? 0x005 - Spritesheet VRAM slot 0x006 - Spritesheet ID 0x007 - Stored Palette? (Xif) 0x008 - ? (less than 31 skips Unit ID check?) (halfword) incremented on ability display 0x00a - set to 1 when using ability 0x00c (half) -Change of animation (set when changing animation) animation = unit animation(see video in important links) + 01 0x0e - (half) - VRAM Spritesheet ID? 0x14 - First Unit Spritesheet 0x1c - Last Unit Spritesheet 0x1e - Wep sheet? item.bin? 0x1f - Frame.bin 0x3f - Item.bin 0x10 - (half) - VRAM palette ID 0x012 - sprite display bytes 0x80 - no notable effect 0x40 - if transparent, the unit is darkened considerably. 0x20 - if transparent, the unit is lit up considerably. 0x10 - no notable effect 0x08 - no notable effect 0x04 - flip sprite vertically (lol when would you need this) 0x02 - flip sprite horizontally 0x01 - transparent sprite
0x018 - X Mod * 4096 0x01c - Height Mod * 4096 0x020 - Y Mod * 4096 0x038 - half, initialized to 0x2000 special movement flags? -----These values used to create vectors for effects processing 0x040 - X Mod (X * 28 + some value) - X Location on screen 0x042 - Height Mod (negative) - Z Location on screen 0x044 - Y Mod (Y * 28 + some value) - Y Location on Screen
0x050 - X ?(halfword) 0x052 - Height? ?(halfword) 0x054 - Y ?(halfword) 0x060 - X ?(halfword) 0x062 - Height? ?(halfword) 0x064 - Y ?(halfword) ----- 0x070 - Current Facing? (/ 0x400 = facing) 0xc00 - Facing East 0x800 - Facing North 0x400 - Facing West 0x000 - Facing South 0x072 - Attack Facing? (FFFF = no facing change; this is the facing after attack) NOTE: Counter sets 0x72 to 0x70, 0x70 gets changed to facing towards attacker, then 0x70 is set back to 0x72 and 0x72 set to FFFF (end) 0x074 - (gets added to depth * 12 before subtracting from height)(halfword) 0x076 - (added to final height value)(halfword)(if riding) 0x7a -
0x07c - Unit's X Coordinate initialized to ENTD (current location?) 0x07d - Unit's Y Coordinate 0x07e - Unit's Map Level (0 = Floor 1, 1 = Floor 2) 0x07f - Unit's offset from normal position on tile? (e.g. When moving, how far off the center of the tile the unit is as it moves to the next tile)?
first to be changed 0x080 - Unit's X Coordinate (While moving) 0x081 - Unit's Y Coordinate (While moving) 0x082 - Unit's Map Level + flags (While moving) (with 0x83 byte) 0x083 - Motion Flags 0x10 - Float 0x084 - Unit's X Coordinate (Previous Location?) (saved location until move confirmed) 0x085 - Unit's Y Coordinate 0x86 - Units map level
0x98 - Number of tiles moved so far in current movement //cleared when knocked back 0x9c - Number of tiles in movement? //List of tiles to move to? 0x9d - 0x9d + (Number at 0x9c) - 1: 0x00 = Move east 0x40 = Move west 0x80 = Move south 0xc0 = Move north 0x20 flag = Higher Elevation 0x01 to 0x11 = Number of tiles to jump over // Not sure about these... 0x9d - Unit's X Coordinate (Current location?) 0x9e - Unit's Y Coordinate 0x9f - Unit's Map Level 0x11b - (allows 0x9d flags to get 0x10 to set 0x11e, if != 0) only ever saw this variable set to 0, so it may not work 0x11c - (some flags stored to 0x9621c, stored here from 0x9d list) // (Current movement value?) 0x11e - 0x18a Unit ID + 1 (not sure what unit though) 0x11f - Previous 0x11e 0x120 - Position relative to the camera, unsure which one is which direction though. 2 halfwords at 0x120, another at 0x128.
0x12c 0x130 - Mount/Rider Value 0x00 = N/A 0x01 = Riding 0x131 0x02 = Mount for 0x131 0x131 - Mount/Rider ID 0x132 - Previous Mount/Rider Value? 0x133 - Previous Mount/Rider ID? 0x134 - Pointer to Unit's Data
0x138 - Used Ability ID 0x13a - used Item/Weapon ID 0x13b - Equipped weapon type (determines unit animation) 0x13c - set to 0 when ability CT resolves / mimic ability used 0x13d - ENTD flags from Unit data 0x13e - (skips 0x822bc code if != 0)(byte) - modified palette byte 0x13f - (byte)
0x140 - Status Flags 1 0x80 - Confusion 0x40 - Sleep 0x20 - Petrify 0x10 - Stop 0x08 - Critical 0x04 - Dead 0x02 - (disabled if 0x130 = 1) 0x01 - 0x141 - Status Flags 2 0x80 - Faith 0x40 - Berserk 0x20 - Cursed 0x10 - Haste 0x08 - Slow 0x04 - Defending 0x02 - Charging 0x01 - Performing 0x142 - Status Flags 3 0x80 - Oil 0x40 - Poison 0x20 - Protect 0x10 - Shell 0x08 - Don't Act 0x04 - Don't Move 0x02 - Blood Suck 0x01 - Innocent 0x143 - Status Flags 4 0x80 - (Originally Reflect?) 0x40 - Undead 0x20 - Regen 0x10 - Reraise 0x08 - Darkness 0x04 - Death Sentence 0x02 - Silence 0x01 - Charm 0x144 - Status Flags 5 (word) 0x80 - Poached 0x40 - Jump 0x20 - Float 0x10 - Transparent 0x08 - Treasure (Enabling only) 0x04 - Frog 0x02 - Chicken/Crystal (removal only) 0x01 - Crystal 0x145 - Status Flags 6 0x80 - 0x40 - 0x20 - 0x10 - 0x08 - 0x04 - 0x02 - 0x01 - Morbol virus'd NOTE: Unused, Invite, Wall and Reflect aren't set 0x148 - Statuses to Add 1 0x14c - Statuses to Add 5 0x150 - Statuses to Remove 1 0x154 - Statuses to Remove 5
0x158 - 2 = AI Error? (word) 0x16e - in Unit Data: 0x15c - Target ID 0x15d - Skillset used ID 0x15e - Ability used ID 0x160 - Calculator type abiltiy ID 0x162 - Calculator Multiplier abiltiy ID 0x164 - used Item ID 0x165 - 0x166 - reaction ID? 0x05 - Tile-Specific Ability? 0x06 - Target-Specific Ability? 0x167 - Target ID? 0x168 - X target panel coordinate (half) 0x16a - Target map level 0x16c - Y target panel coordinate
0x16e - 0x180 in unit data 0x16f - 0x181 in unit data
0x174 - ability range? (return value from 0x17a8c0 0x17c - some word checked before action phase routines
0x180 - (word) 0xff if target ID = 0xff skips movement stuff if 0
0x184 - X Coordinate to move to?
0x186 - (byte)
0x188 - Y Coordinate to move to?
Current action data? 0x18c - Reaction ID / Attacking unit ID? - Used Ability ID 0x18d - Limit for 0x18e data (Targets Hit Counter) 0x18e - Target list - Ends when 0xff is reached 0x00 - Target unit ID? 0x19e/0x12 - set to 1 when animate on miss is not true, cleared when units are hit 0x19f/0x13 - control value 0x01 - math skill 0x1a0/0x14 - last attack used ID (half) 0x1a2/0x16 - ability formula? can poach? 0x1a3/0x17 - ?? control value? set to 1 if reaction occurred 0x1a4/0x18 - Continue attack byte? 0x01 - continue 0x00 - end 0x1a5/0x19 - Current Hit number 0x1a6/0x1a - reaction ID? 0x1a7/0x1b - 0x1a8/0x1c - target new X coordinate 0x1a9/0x1d - Target new Y coordinate(for post action knockback?) 0x1aa/0x1e - target map level 0x1ab/0x1f - used weapon ID 0x1ac/0x20 - 0x1ad/0x21 - 0x1ae/0x22 - can poach flag? 0x1af - can earn experience 0x1b0 - Earned Experience (For Display?) 0x1b1 - Earned JP 0x1b2 - Level (For Level UP! event?) 0x1b3 - Job Level (stored if level changed) 0x1b4 - ? (byte) 0x1b5 - 0x1b7 - Inflicted/Removed Status Counter (max of 0x1b) 0x1b8 - Display Flags 1 0x80 - CT Bonus 0x40 - CT Damage 0x20 - SP Bonus 0x10 - SP Damage 0x08 - MP Healing 0x04 - MP Damage 0x02 - HP Healing 0x01 - HP Damage 0x1b9 - Display Flags 2 0x80 - MA Bonus 0x40 - MA Damage 0x20 - PA Bonus 0x10 - PA Damage 0x08 - Faith Bonus 0x04 - Faith Damage 0x02 - Brave Bonus 0x01 - Brave Damage 0x1ba - Display Flags 3 0x80 - "Guarded" 0x40 - "Missed!" 0x20 - "CT0" 0x10 - "Quick" 0x08 - "Broken" 0x04 - "Stolen" 0x02 - +"1Lv." 0x01 - -"1Lv." 0x1bb - Display Flags 4 0x20 - "No MP" 0x10 - "Silenced" 0x08 - "No Target" 0x04 - Gained JP 0x02 - Gained Exp 0x01 - "Caught" 0x1bc - End of Inflicted/Removed Status ID List (0x1b long, counts backwards) 0x80 - Removal Flag
0x01d8 - Unit Sprite Data 0x1d8 - Graphic trigger 0x1da - 0x1dc - Current animation (halfword) 0x1de - frame command byte counter (unit) 0x1e0 - Frame 0x1e2 - Wait time (in frames) 0x1e4 - Loop counter 0x1e6 - Unit animation 0x1ea - Slow down amount 0x1ec - Frame offset (jarring) 0x1ee - Wait command: frames left to wait 0x1f0 - rotation bytes 0x01 - transparent 0x02 - Flip horizontally 0x04 - flip vertically 0x1f4 - SHP Data Pointer 0x1f8 - SEQ Data Pointer 0x1fc - SHP Data Pointer 0x200 - SEQ Data Pointer 0x204 - Sprite Display Section Pointer in Misc Data 0x208 - WEP Sprite Data? (0x362) (seems to be 'current' weapon animation data.) 0x208 - Graphic trigger (1 is on screen, 0 is not on screen) 0x20a - Graphic type (1 = Weapon, 2 = Effect) (Halfword) 0x20c - Weapon Animation (Halfword) 0x20e - frame command byte counter (weapon) (Halfword) 0x210 - Frame (Halfword) 0x212 - amount of frames to stay unmoving 0x214 - loop counter 0x216 - Weapon animation (saved) 0x21a - Frame Delay (halfword) 0x21c - Another Frame offset? math works out in favour of making 1 here look like a low strike. 0x21e - Frame offset 0x220 - Rotation bytes 0x01 - transparent 0x02 - Flip horizontally 0x04 - flip vertically
0x224 - SHP Data pointer (Word) 0x228 - SEQ Data pointer (Word) 0x22c - ? Display data pointer (with the 3 bytes of info and 1 byte of padding. Word)
0x238 - EFF Sprite Data? (0x3e6) 0x238 - graphic trigger? 0x23a - graphic type? (1 = weapon, 2 = effect) (halfword) 0x23d - effect animation (halfword) 0x23e - frame command byte counter (effect) (Halfword) 0x240 - Frame? (Halfword)= 0x242 - Frame + Frame delay + frame command byte (halfword) 0x244 - 0x246 - Effect animation? 0x24a - Frame delay (basically always 0) (halfword) 0x24c - Effect rotation? (halfword) 0x24e - Wait command: Frames left to wait 0x220 - Rotation bytes 0x01 - transparent 0x02 - Flip horizontally 0x04 - flip vertically 0x254 - SHP Data pointer? 0x258 - SEQ Data pointer? 0x25c - ? Display data pointer(?) 0x268 - Numerical Display Data? (0x3aa) 0x298 - Shadow (0x3ce) 0x2bc - Activation flag for Numerical Display/Status text ~ 0x2be - Display Type 0x0200 - (uses 0x18e list?) 0x0100 - "No MP" 0x00f0 - "Silenced" 0x00e0 - "No Target" 0x00d0 - "CT0" 0x00c0 - "Quick" 0x00b0 - "Broken" 0x00a0 - "Stolen" 0x0090 - +"1Lv." 0x0080 - -"1Lv." 0x0070 - Status Removal 0x0060 - Status Infliction 0x0050 - Gained JP 0x0040 - Gained Exp 0x0030 - "Caught" 0x0020 - "Guarded" 0x0010 - "Missed!" 0x000f - MA Bonus 0x000e - MA Damage 0x000d - PA Bonus 0x000c - PA Damage 0x000b - Faith Bonus 0x000a - Faith Damage 0x0009 - Brave Bonus 0x0008 - Brave Damage 0x0007 - CT Bonus 0x0006 - CT Damage 0x0005 - SP Bonus 0x0004 - SP Damage 0x0003 - MP Healing 0x0002 - MP Damage 0x0001 - HP Healing 0x0000 - HP Damage ` 0x2c0 - Number to Display (JP/EXP/HP/MP/CT/SP/PA/MA/Br/Fa) NOTE: the way they go about doing it is messy; you could get the same result by dividing by 10 each pass through a loop (with the limit = # of digits to display), storing the remainder as the digit, and sending the remaining value through the next pass.
0x2c2 - Display Type (set to 0 if 0x2bc = 0, capped at 0x15; gets 0x45980 added to it) (some frame/animation thing? used for loading 0x67bac data) 0x2c4 - Numerical Display Pointer 1 0x2c8 - Numerical Display Pointer 2 0x2cc - Numerical Display Pointer 3 0x2d0 - something with display for item abilities? 0x2d8 - Item/Equip Display Pointer
0x2dc - Activation byte for Status Bubble 0x2dd - Which status bubble to show 0x2de - X location of status bubble 0x2df - Y location of status bubble 0x2e0 - Timer (word) 0x2e4 - ? Pointer to 0x410 data - Status Bubble 0x2e8 - Unused Section
*Display*
0x31c - Sprite Display Section (8 graphical sections) (0x46 each) - Main Sprite 0x00 - Red Shading 0x01 - Green Shading 0x02 - Blue Shading 0x03 - number of graphics to be loaded 0x04 - VRAM Spritesheet ID 0x00 - Map 0x01 - Map? 0x02 - Map? 0x03 - Map? (had height) (upper right screen 0x04 - active unit spritesheet? 0x05 - Formation screen 0x06 - Last loaded Menus 0x07 - unit billboard 0x08 - Wep2, Wep3 0x09 - Wep1 0x0a - some background 0x0b - frog/chicken/crystals 0x0c - none 0x0d - some checkerboard with fonts? 0x0e - checkerboard with fronts + random stuff 0x0f - more checkerboard + random 0x10 - 0x13 - maps again 0x14 - First Unit Spritesheet 0x1c - Global Portrait list? 0x1d - in battle portraits + random spritesheet stuff 0x1e - Wep sheet? item.bin? 0x1f - Frame.bin 0x3f - Item.bin 0x80 - some flag 0x40 - ?? 0x20 - some flag, does nothing? 0x06 - VRAM Palette ID 0x08 - X Size (stretches sprite to this size) 0x0a - Y Size (stretches sprite to this size) 0x0c - upper bit, Spin on Y axis (direction sprite is facing) 0x0d - lower bit, Spin on Y axis (direction sprite is facing) 0x0e - X Shift on screen 0x0f - Y Shift on screen Sprite data (duplicate occurances per graphic loaded for this sprite) 0x10 - Image Width 0x11 - Image Height 0x12 - X Load Location from spritesheet 0x13 - Y Load Location 0x14 - Reversal Bytes 0x01 - transparent 0x02 - mirror horizontal 0x04 - mirror vertical 0x08 - ??? 0x362 - WEP1 Display Data 0x362 + 0x00 - Red shading 0x01 - Green shading 0x02 - Blue shading 0x03 - how many graphics to load 0x04 - VRAM Spritesheet ID and some other nonsense (halfword) 0x06 - VRAM Palette ID and some other nonsense (Halfword) 0x08 - image stretch (horizontal, halfword but only the lower byte is considered) 0x0a - image stretch (vertical, and ditto) 0x0c - spin on Y axis? (halfword) 0x0e - X shift 0x0f - Y shift Graphic data (duplicated per weapon graphic loaded) 0x10 - Image Width 0x11 - Image Height 0x12 - X Load location (In pixels) 0x13 - Y Load location (In Pixels) 0x14 - Reversal Bytes 0x1 - transparent? 0x2 - mirror horizontal? 0x4 - attacking left 0x8 - ??? 0x386 - EFF Display data 0x362 + 0x00 - Red shading 0x01 - Green shading 0x02 - Blue shading 0x03 - how many graphics to load 0x04 - VRAM Spritesheet ID and some other nonsense (halfword) 0x06 - VRAM Palette ID and some other nonsense (Halfword) 0x08 - image stretch (horizontal, halfword but only the lower byte is considered) 0x0a - image stretch (vertical, and ditto) 0x0c - spin on Y axis? (halfword) 0x0e - X shift 0x0f - Y shift Graphic data (duplicated per effect graphic loaded) 0x10 - Image Width 0x11 - Image Height 0x12 - X Load location (In pixels) 0x13 - Y Load location (In Pixels) 0x14 - Reversal Bytes 0x1 - transparent? 0x2 - mirror horizontal? 0x4 - attacking left 0x8 - ??? 0x3aa - ? Display (3 Sprite Data Sections, plus 1 byte padding?) 0x3ce - Numerical Display Section 1 (these have 1 Sprite Data section) (0x16 bytes each) 0x00 - Red 0x01 - Green 0x02 - Blue 0x03 - Image type 0x04 - VRam Spritesheet ID 0x05 - 0x06 - half - initialized to 0x10 in misc data + 0x0100 0x08 - X stretch (half) 0x0a - Y stretch (half) 0x14 - initialized to 0 0x3e4 - Numerical Display Section 2 0x00 - X Shift 0x01 - Y Shift 0x02 - Image Width 0x03 - Image Height 0x04 - X Load Location 0x05 - Y Load Loaction (2 bytes?) 0x3fa - Numerical Display Section 3 0x00 - X Shift 0x01 - Y Shift 0x02 - Image Width 0x03 - Image Height 0x04 - X Load Location 0x05 - Y Load Loaction (2 bytes?) 0x410 - Status Text/Bubbles Display Section (1 Sprite Data Section) 0x00 - Red Shading 0x01 - Green Shading 0x02 - Blue Shading ~ 0x03 - Sprite Type? 0x00 - None 0x01 - Text? 0x02 - Monster? (Panther) 0x03 - Type 1? (Units and Goblin) ` 0x04 - ? (one frame in chanting/riding chocobo)
0x06 - Chocobo? ~ 0x04 - VRAM Spritesheet ID 0x00 - Map 0x01 - Map? 0x02 - Map? 0x03 - Map? (had height) (upper right screen 0x04 - active unit spritesheet? 0x05 - Formation screen 0x06 - Last loaded Menus 0x07 - unit billboard 0x08 - Wep2, Wep3 0x09 - Wep1 0x0a - some background 0x0b - frog/chicken/crystals 0x0c - none 0x0d - some checkerboard with fonts? 0x0e - checkerboard with fronts + random stuff 0x0f - more checkerboard + random 0x10 - 0x13 - maps again 0x14 - First Unit Spritesheet 0x1c - Global Portrait list? 0x1d - in battle portraits + random spritesheet stuff 0x1e - Wep sheet? item.bin? 0x1f - Frame.bin 0x3f - Item.bin 0x80 - some flag 0x40 - ?? ` 0x20 - some flag, does nothing? 0x06 - VRAM Palette ID 0x08 - X Size (stretches sprite to this size) 0x0a - Y Size (stretches sprite to this size) 0x0c - Spin on Y axis (direction sprite is facing) 0x0d - *Sprite Data (7 bytes each)* 0x0e - X Shift on screen 0x0f - Y Shift on screen 0x10 - Image Width 0x11 - Image Height 0x12 - X Load Location from spritesheet 0x13 - Y Load Loaction (2 bytes?) 0x14 - special effects 0x426 - Item/Equip Display Section (1 Sprite Data Section) 0x43c - initialization byte *end of Misc Data* 800b9eb4 - gtecr31_flag 800b9f14 -
800bb704 - start of some data
800bcbf4 - start of some data
800bd8cc - data sent back from GPU?
800bd8e4 - data sent back from GPU - gtedr14_sxy2
800bda04 - 0x04 - X/Y Shift for number display 0x06 - Image Width/Height
800bdd24 - some effect coordinate address?
800bde64
800bdf0c - SHP data (0xc40 each? contains pointers elsewhere based on the frame of animation, the inladen frame commands, the delay of each weapon swinging frame...) 0x00-0x3c - something to do with rotation. depending on attacking height mod, load some value (most commonly 0x00 or 0x28, I could imagine. halfwords) 0x40-0 - SHP pointers(words) 0x840- SEQ Animation command pointers (words)
800bfa38 - SEQ Unit animation command pointers (words)
800c1260 - Type 1 SHP 800c5e8e - WEP 1 SHP 0x00 - Number of graphics to load (0x07) & pointer to weapon rotation (0xf8) 0x01 - Weapon's Eff rotation bytes 0x01 - transparent (even if not flipped on, this is set true anyway when saving.) 0x02 - flip horizontally 0x04 - flip vertically 0x08 - ? 0x20 - ? 0x40 - ? 0x02 - X shift (I'd assume relative to the unit. useful for pole thrusting) 0x03 - Y shift 0x04 - Graphic size pointer (0x3c00), Raw X pixel offset (0x001f), Raw Y pixel offset (0x03e0). (halfword)
800c7ca8 - Camera zoom level (word); Higher number means more zoom Normal battle zoomed-out value: 0x0c00 Normal battle zoomed-in value: 0x1000
800c7ce8 - start of VRAM spritesheet data? (0x32d6 each, 0x09 sections 0x00 - spritesheet ID? 0x01 - spritesheet ID? 800c0e58 - ARUTE/KANZEN SEQ data 800cfa30 - SEQ data (0x408 each, 5 sections 0x00 0x408 0x810 0xc18 0x1020 800d0e58 - end
800d4640 - Palettes
800e466e - end of VRAM spritesheet data
800e4e90 - Cursor X Coordinate 800e4e94 - Cursor Map Level 800e4e98 - Cursor Y Coordinate
800e4e9c - Map Max X coordinate 800e4ea0 - Map Max Y coordinate 800e4ea4 - Modified Palettes (14 chunks at 512 bytes each) 0x000 -> Modified Palettes 0x982 ->
800e6b94 - current map data
800e6bb0 - list of return addresses 800e6c98 - list of return addresses
800e6edc -
800f4200 - Map GNS section 3 duplicate (initialised 000f4dd4 - 000f5574) 0x88 - Counter for moving GNS data 0x8a - 0x8c - 0x8e - 0x90 - GNS line header (normally 0x22, caps the value at 0x88?) 0x92 - load room arrangement this GNS line applies to? 0x94 - Full map command halfword? (or command + something else?) 0x96 - buffer? (all 0) 0x98 - ? (normally 0x14?) 0x9a - ? (normally 0x00?) 0x9c - buffer? 0x9e - buffer? 0xa0 - buffer? 800f5ba8 - current loaded map (set at f385c) 800f 800f5c58 - map data (specifically some kind of pseudo command? certain values are set and expected in map loading and reloading routines) 0x00 - Load map? 0x01 - Don't load map? 0x0f - clears a sleuth of map data (starting at 0x800f7a65, clears every 0x14 values backwards) 800f5c5c - similar case as above. has some kind of format with above? 0x00 - reload current map? (does not check for existing map - nor initialise some values) 0x02 - load new map? (from overworld? from another map?) 0x93 - clear snowy weather? (is this all it does?)
800f5c74 - Map's Move-find data (see 000f3638 - 000f36c0). 0x10 entries per map (no overlap (even though they can't all be loaded at once anyway...))
800f5e74 - Move-Find Item Data (and Traps) 0x00 - X/Y Coordinate (Y + X * 16, up to 15 each) Upper Nibble - 0x?X - X Coordinate Lower Nibble - 0xX? - Y Coordinate 0x01 - Trap 0x80 - No Activation 0x40 - Unknown 0x20 - Always Trap 0x10 - Disable Trap 0x08 - Steel Needle 0x04 - Sleeping Gas 0x02 - Deathtrap 0x01 - Degenerator 0x02 - Rare Item ID 0x03 - Common Item ID
0x04-0x0f - same as above, but for locations 2-4
800f64dc
800f6860 - Map Max X 800f6864 - Map Max Y
800f70b4 - map data?
800fc558 - ?? map data? 800fa6c6 - important duplicate GNS data 0x1cc - texture file GNS line 0x398 - primary mesh GNS line 0x3ac - Override mesh GNS line 80121d58 - ?
80121d8f - list of data, 0x12 bytes long each, 9 entries 80121ffc - Map LBA data pointer (loaded from scus by 00044414 - 000444d8, saved 0x000f3788 and 0x000f37d4) 80124604 - Map GNS Data duplicate 0x00 - stored 0x00 at 0x07c01af0
0x04 - File Type? (0117 = Texture)
0x08 - LBA Sector 0x0c - File Size (multiples of 0x800)
80132824 - ?
8014cf68 - Status Image Data (4 bytes each, 0xc4 total) 0x00 - X Load Location 0x01 - Y Load Location 0x02 - Image Width 0x03 - Image Height
0x00 - "Dead" 0x04 - "Undead" 0x08 - "Petrify" 0x0c - "Invite" 0x10 - "Darkness" 0x14 - "Confusion" 0x18 - "Silence" 0x1c - "Blood Suck" 0x20 - "Oil" 0x24 - "Float" 0x28 - "Reraise" 0x2c - "Transparent" 0x30 - "Berserk" 0x34 - "Poison" 0x38 - "Regen" 0x3c - "Protect" 0x40 - "Shell" 0x44 - "Haste" 0x48 - "Slow" 0x4c - "Stop" 0x50 - "Faith" 0x54 - "Innocent" 0x58 - "Charm" 0x5c - "Sleep" 0x60 - "Don't Move" 0x64 - "Don't Act" 0x68 - "Reflect" 0x6c - "Death Sentence" 0x70 - "Stolen" 0x74 - "Broken" 0x78 - (these 6 are unused) 0x7c - 0x80 - 0x84 - 0x88 - 0x8c - 0x90 - "Quick" 0x94 - "HP" 0x98 - "MP" 0x9c - "CT" 0xa0 - "Speed" 0xa4 - "Brave" 0xa8 - "Faith" 0xac - Sword Icon (PA) 0xb0 - Rod Icon (MA) 0xb4 - "Lv." 0xb8 - "GIL" 0xbc - "Exp." 0xc0 - "Frog" 8014d02c - Tile type ID of currently selected tile (e.g. Grassland, Stone Floor, Tree, etc.)
8014d038 - pre-attack display
8014d05c - Start of display data (when menu is loaded in battle) 0x00 - level 0x02 - enemy/ally/Autobattle flag 0x08 - Experience 0x0c - Current HP 0x10 - Max HP 0x12 - Current MP 0x16 - Max MP 0x18 - CT 0x26 - Job ID 0x28 - Brave 0x2a - Faith 0x2c - modified Birthday 8014d08a - Selected unit index (halfword) 8014d09a - hit % data (for display?)
8014d0a0 - Billboard data? 0x00 - Move 0x02 - Speed 0x04 - Jump 0x06 - WP 1 0x08 - WP 2 0x0a - W-Ev 1 0x0c - W-Ev 2 0x0e - Primary Skillset ('attack' (0x01) if monster) 0x10 - 2 hands flag 0x12 - PA 0x14 - C-Ev 0x16 - Shield P-Ev 0x18 - Accessory P-Ev 0x1c - MA 0x1e - "00" under c-ev 0x20 - Shield M-Ev 0x22 - Accessory M-Ev 0x24 - Right hand equipment 0x26 - left hand equipment 0x28 - head 0x2a - Body 0x2c - accessory 0x2e - Primary skillset // Also, First monster ability 0x30 - Secondary skillset // Second monster ability 0x32 - Reaction // Third monster ability 0x34 - Support // Fourth monster ability 0x36 - Movement // not exactly possible, but fifth monster ability.
8014d13c - Skillset Display? 8014d13d -
8014d148 - Unit Name
8014d264 - Player abilities display (greying out ability, blinking red, etc.) 0x00 - normal 0x01 - normal greyed out 0x04 - normal greyed out 0x05 - normal greyed out 0x08 - blinking red 0x09 - greyed out and blinking 0x0c - greyed, blinking blue
8014d304 - Unit ID 8014d308 - used ability for spell quotes (word) 8014d30c - used skillset (word) 8014d310 - used item (regardless of thrown/attack) (word) 8014d314 - Autobattle Setting?
8014d318 - function setting for 141b0c routine (r4) 8014d31c - r5 setting for 141b0c routine
8014d320 - Ability CT? 8014d324 - set to 1 when ability is selected 8014d32c - some data, 0x8 bytes each, 0x9 sections
8014d374 - list of menu data (from 165f84) 0x00 - menu directive 0x0e - Units turn menu can't move, not on chocobo 0x13 - Units turn menu can move, can't act, not on chocobo 0x14 - Units turn menu can't move or act, not on chocobo 0x2e - Units turn menu with move/act usable, On Mount 0x2f - Units turn menu with move usable, on mount 0x30 - Units turn menu with move usable, act not usable, on mount 0x31 - Units turn menu with move/act not usable, on mount 0x04 - address
8014d46c - Unit Menu Data (remembers menu scroll when changing to a menu that removes/hides the old menu) 0x00 - Main Act Menu Index 0x00 - Move 0x01 - Act 0x02 - Wait 0x03 - Status 0x04 - Auto-Battle 0x01 - 0xff for all units 0x02 - Act Menu Index 0x00 - Attack 0x01 - 0x04: (if they exist, in this order:) Primary Skillset, Secondary skillset, Defend, Re-equip 0x03 - (unused) "Attack" Menu Index 0x04 - (unused) "Attack" Menu Scroll 0x05 - Primary skillset Menu Index 0x06 - Primary skillset Menu Scroll 0x07 - Secondary skillset Menu Index 0x08 - Secondary skillset Menu Scroll 0x0b - Math Spell menu Index 0x0c - Math Spell menu Scroll 0x0d - Math Secondary menu Index 0x0e - (unused) Math Secondary menu Scroll 0x0f - "Math" Primary menu Index 0x10 - (unused) Math Primary menu Scroll
8015327c - Pointer to thread array (WORLD.BIN) (0x80195cd0) 8015d304 - Current Unit's ID (* 0x1c0 for Data Pointer)
801612dc - start of some data - used in Set Unit Names routine ~133434 list of words, values loaded and added to 8016135c that address is then stored in 173f8c + offset
Text Data (Some sections behave differently. Menus 2e and 00 cannot be greyed out by making the 0x01 byte 00) 801630da - Act menu display data (0x05 bytes each, 0x06 for each unit?) 0x00 - Letter 0x01 - availability byte 0x04 - abilities not known in skillset? (greyed out) 0x00 - abilities known in skillset 0x02 - set to 0xff if no command displayed 0x03 - set to 0xfa 0x04 0x05
0x82 - 1637b2 0x83 - 1637de - move disabled 801612dc - Start of SAMPLE.LZW 8016135c - 80161928 - Battle Error Messages Text 80161929 - 80161d41 - Battle Messages Text 80161d41 - 801622c2 - Job Names Text 801622c3 - 80162e48 : Item Names Text 80162e50 - 801630d9 - Japanese writing (FREE SPACE) 801630da - 80163b87 - Act menus display data (0x05 bytes each, 0x06 for each unit?) 80163b88 - Ability Names Text 80164eb6 Battle Messages Status Names Error/Confirmation 8016593a - 165d73 - Skillset Names "Anything" in between 80165d88 - Summon Names 80165df6 - Draw Out Names
80165e64 - Start of some other data
80165ecc
80165ea4 -
80165eb4 - Palette Pointer Mod 1? (halfword) 80165eb6 - Palette Pointer Mod 2? (halfword) (((b6 + Palette / 8) * 64) OR (((b4 + (Palette MOD 8) * 16) / 16) AND 0x3f forms some sort of palette value stored in 0x06/0x07 of sprite data sections 80165ee4 - Menu selection (act/wait/move) stored here (counter #) 0x00 - Main Menu 0x02 - Skillsets Menu - Also Execute Action menu 0x04 - Ability Menu/First Math bytes 0x06 - Second Math Bytes 0x08 - Math Ability 80165ee6 - Menu Selection (Execute Action. Ok?) counter 0x00 - execute 0x01 - Quit
80165ef4 - calculator type ability ID / Item ID? - also skillset to display + 0xb000 80165ef8 - Calculator multiplier ability ID - also second skillset to display + 0xb000 80165efc - used ability ID - also ....
80165f74 80165f84 - Menu/ message display byte
0x0e - Units turn menu can't move, not on chocobo 0x13 - Units turn menu can move, can't act, not on chocobo 0x14 - Units turn menu can't move or act, not on chocobo 0x2e - Units turn menu with move/act usable, On Mount 0x2f - Units turn menu with move usable, on mount 0x30 - Units turn menu with move usable, act not usable, on mount 0x31 - Units turn menu with move/act not usable, on mount 141654 inputs 0x01 - wait message 0x06 - attack selected (select target to attack) 0x07 - movement message? 0x08 - continue? 0x0a - normal ability name display 0x14 - select target to attack (auto battle fight for life) 0x1a - target confirmation (Unit to attack for auto battle) 0x1b - target confirmation (unit to protect for auto battle) 0x1d - job level up/level up? 0x1e - learn on hit 0x1f - crystal/treasure menus 0x21 - after move, confirmation to move there 0x22 - 0x25 - traps? 0x26 - move find item 0x32 - calculator stuff? 80165f94 80165f98 - pointer to 0x8016986c - Thread array base pointer 80165f9c - pointer to 0x5771c - Start of main data
80165fa0 - changes depending on displayed menu/message during battle 80165fa2 - same as above, changed when scroll you scroll past the initial abilities displayed
80165fb4 - move selected, panel selected - set to 1 (Move to panel?) (5 if can't move due to Don't move? during... ability setup?)
80165fbc
80165ff6
80166018 - incremented
80166048 - freezes control to go to next event
8016604a -
801660a3 - control variable used in 0x13b590
801660ec - half 801660ee - half 801660f0 - half 801660f2 - half
801696a8 - 801696aa -
80169994 - limit the cursor can scroll before menu shifts 80169996 - number of slots the menu can shift downward 80169998 - "Ability" menu header X display location 8016999a - "MP" or "Stock" menu header X display location 8016699c - "Turns" menu header X Display Location 8016699e - Ability name display
801669a0 - Controls menu display of abilities (stock, mp, turns, etc.) 0x00 0x01 0x02 - Can't display Turns ("Now!") 0x03 - Can display Turns 0x04 801669a2 - Controls menu display of abilities (stock, mp, turns, etc.) 0x00 - 0x01 - 0x02 - Can't display MP/stock 0x03 - Can display MP/stock
801669a4 - pointer skillset abilities for menu display 801669a8 - pointer skillset MP costs for menu display (ability list + 0xa4) 801669ac - pointer skillset Turns for menu display (ability list + 0x148)
801669b0 - ability display flags
801669bc - Amount of slots the menu scrolled down (to display more abilities)
80166a40 - some skillset data, half each 0x1000 - abilities not known in skillset (removes sound effect when skillset is selected) 0x0016 - set to this if nothing to display for that skillset slot 0x0003 - always set? 80166ae4
Menu List 80166b10 - Main Menu 80166bc4 - ability menu (math skill menus included) 0x2c - type of menu 80166c00 - Act menu (skillsets + attack) 80166b10 - Menu Data (0x3c each) 0x38 - Move/Act/Wait/Status/etc. menu counter 0xe0 - Header set for menu 0x00 - none 0x01 - "Menu" 0x02 - "Check" 0x03 - "Effect" 0x04 - "Turn" 0x05 - "Ability" "Ref" "Turn" 0x06 - "Ability" "Ref" "Mp" "Turn" 0x07 - "" "Ref" "Stock" "Turn" 0x08 - "" "Ref" "Turn" "" 0x09 - "Ability" 0x0a - "Menu" all blotchy 0x0b - "Ability" "Ref" "Mp" "Turn" 0x0c - none everything else seems to be none 0xec - Counter 0xee - Type of menu? (ability list)
0xbe - 0x167614 - 2f Menu 167124 - counter for movement confirmation 167430 - counter for Execute Action check menu (only Attack picked 1675d4 - counter for Execute Action check menu (skillset picked)
801675d8 - Menu data for riding chocobo 0x00 - X load location on sheet? 0x02 - Y load location on Sheet? 0x04 - Menu background width (behind) 0x06 - Menu background height (Behind) 0x08 - X position 0x0a - Y position 0x14 - Menu background width in front 0x16 - Menu background height in front 0x18 - X position (in front) 0x1a - Y position (in front) 0x1c - Menu to load (half) 0x83 - Chocobo, no movement 0x1e - Menu counter limit 0x20 - ?? (word) 0x24 - ?? Address 0x38 - Move/Act/Wait/Status/etc. menu counter
Menu struct data (general; same structure for BATTLE/WORLD) (0x3c = 60 bytes): 0x00: ? (=0x0180, 0x01c0, 0x01e0) (Weird graphical issues if value is wrong) (2 bytes) 0x02: ? (=0x0000, 0x00a0) (Displays weird things if value is wrong) (2 bytes) 0x04: Inner width of window? (Should be the same as value at offset 0x14) (ex. 0x3c) (2 bytes) 0x06: Inner height of window? (Should be the same as value at offset 0x16) (ex. 0x3c) (2 bytes) 0x08: X Screen Location of window (ex. 0x00e2) (2 bytes) 0x0a: Y Screen Location of window (ex. 0x00a0) (2 bytes) 0x0c: ? (ex. 0x3c) Seems to have no effect (2 bytes?) 0x0e: ? (ex. 0x40) Seems to have no effect (2 bytes?) 0x10: ? (=0x00000000?) Seems to have no effect (4 bytes?) 0x14: Overall width of window (Should be the same as value at offset 0x04) (ex. 0x40) (2 bytes) 0x16: Overall height of window (Should be the same as value at offset 0x06) (ex. 0x40) (2 bytes) 0x18: ? (=0x00000000?) Seems to have no effect (4 bytes?) 0x1c: Menu text entry to display for entire menu text (Newline character (0xF8) as row separator, end with 0xFFFF, or 0xFE) (ex. 0x502e, 0x0000 (blank)) (2 bytes) 0x1e: Maximum row index, starting at 0. Equal to number of rows - 1. (ex. 0x02) (2 bytes) 0x20: ? (=0x00000001?) Seems to have no effect (4 bytes?) 0x24: Pointer to action/menu ID array for this menu (ex. 0x80166a74) (4 bytes) 0x28: Pointer to code function that brings up this menu / performs this action? (ex. 0x8013bfbc) (4 bytes) 0x2c: Menu header (=0x01) (2 bytes) Default for unspecified value is (No header) 0x01 = "Menu" 0x02 = "Check" 0x03 = "Effect" 0x04 = "Turn" 0x05 = "Ability" 0x06 = "Ability" 0x09 = "Ability" 0x0b = "Turn" 0x2e: ? (=0x0000?) Seems to have no effect (2 bytes?) 0x30: Pointer to store whether or not menu needs initialization? (Sometimes) (ex. 0x80166994) (4 bytes) 0x34: Pointer to store selected menu option (when Circle button pressed) (ex. 0x8016e42c) (4 bytes) 0x38: Index of currently selected menu option (2 bytes) 0x3a: Index for select text (Affects which select text is displayed) (ex. 0x0a) (2 bytes)
80167920 - Maps status index to text image data index (Index for array at 0x8014cf68) ff ff 00 01 ff ff ff ff 02 03 04 05 06 07 ff ff 08 09 0a 0b 0c ff 30 ff 0d 0e 0f 10 11 12 13 ff 14 15 16 17 18 19 1a 1b
80167994 - Height (with halves; displayed height * 2) image display data array (for top right of screen) (Size of element = 12 bytes) Even heights use 2 entries: one for "h", one for height number / 2 Odd heights use 3 entries: one for "h", one for height number / 2, one for .5 0x00: X Load Location (2 bytes, but high byte is ignored) 0x02: Y Load Location (2 bytes, but high byte is ignored) 0x04: Width (2 bytes) 0x06: Height (2 bytes) 0x08: X Screen Location Offset (2 bytes) - Negative value to shift image left, Positive to shift image right 0x0a: Y Screen Location Offset (2 bytes) - Negative value to shift image up, Positive to shift image down 80168324 - Maps height number (displayed height * 2) to start of height image display data index (Index for array at 0x80167994) 00 02 05 07 0a 0c 0f 11 14 16 19 1b 1e 20 23 25 28 2a 2d 2f 32 35 39 3c 40 43 47 4a 4e 51 55 58 5c 5f 63 66 6a 6d 71 74 78 7b 7f 82 86 89 8d 90 94 97 9b 9e a2 a5 a9 ac b0 b3 b7 ba b3 c1 c5 c8 cc
8016836c - Color shading values for height number (top right) display 0x00: Red shading value for top-left corner 0x01: Green shading value for top-left corner 0x02: Blue shading value for top-left corner 0x04: Red shading value for top-right corner 0x05: Green shading value for top-right corner 0x06: Blue shading value for top-right corner 0x08: Red shading value for bottom-left corner 0x09: Green shading value for bottom-left corner 0x0a: Blue shading value for bottom-left corner 0x0c: Red shading value for bottom-right corner 0x0d: Green shading value for bottom-right corner 0x0e: Blue shading value for bottom-right corner
8016866c - start of a set of data 0x0c long, (0x1b0 total) (0x24 sets) 0x00 - address to ?? (word) 0x04 -
8016881d -
80169230 8016923c - list of menu data (0x05 bytes each) 0x00 - Menu type number (corresponds to 0x165f84 data)
80169264 - start of skillset data? AAAA BBBB Default - 0003 0000 Item Inventory - 0003 0001 Throw - 0003 0001 Math Skill - 0003 0000 Elemental - fffd 0000 Blank - fffd 0000 Monster - 0003 0000 Katana - 0003 0001 Attack - fffd 0000 Jump - fffd 0000 Charge - 0003 0000 Defend - fffd 0000 Equip Change - 0003 0000 Unknown - fffd 0000 Blank - fffd 0000 Unknown - fffd 0000 BBBB - halfword, whether the skillset calls from party inventory. AAAA - halfword, 3 or -3, -3 means don't load ability data to menu, execute targeting immediately.
801692a4 - data based on action bytes/skillsets?
80169808
801697d0
80169828 - ability selected byte? (word) Control byte 0x03 - learn on hit (ability known) 0x02 - learn on hit 8016982d - Skillset (ability loading routines) 8016982e - Used Ability (half)
80169840 - returned value from routine 0x181530 (skillset/act menu loading)
80169870
801692b8 -
169828 data 0x05 - used skillset 0x06 - used item if not throw/draw out/item skillset 0x0c - used item in throw ability setting 0x0e - Tells the game to commence execution of attack
8016986c - Thread array (Each thread data block is 0x400 = 1024 bytes, and includes its own stack); 16 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 80169c6c 0x10 - unit ID? 0x14 - unit Data 8016a06c 8016a46c 8016a86c 8016ac6c - corresponds to 8016b06c - Corresponds to skillset menu 0x00 - Menu Address? 8016b46c - Corresponds to main menu
8016e42c
8016d9ca
80172258 - target current action pointer
80172660
801739c8 -
80173b00 - 80173c30'
80173c6c - action menu byte
80173c74 - next event?
80173ca8 - return address in 14ceb4 routine
80173cb0
80173cb8 - pointer to 166b10
80173cbc - List of entries for height display Struct data for height display entry: 0x34 (52) bytes long 0x00 - 0x02: Byte sequence 0x17, 0x3c, 0xf0; Can sometimes be other values; Causes bizarre display errors if value is wrong 0x03: Flags? 0x0c? (1 byte) 0x04: Red shading value for top-left corner (1 byte) 0x05: Green shading value for top-left corner (1 byte) 0x06: Blue shading value for top-left corner (1 byte) 0x07: Flags? 0x3e, or 0x3c? (1 byte) 0x08: X Screen Location (2 bytes) 0x0a: Y Screen Location (2 bytes) 0x0c: X Load Location (1 byte) 0x0d: Y Load Location (1 byte) 0x0e: 0x7cfc? (2 bytes) 0x10: Red shading value for top-right corner (1 byte) 0x11: Green shading value for top-right corner (1 byte) 0x12: Blue shading value for top-right corner (1 byte) 0x13: Zero (0) (Unused)? (1 byte) 0x14: X Screen Location + Width (2 bytes) 0x16: Y Screen Location (2 bytes) 0x18: X Load Location + Width (1 byte) 0x19: Y Load Location (1 byte) 0x1a: Spritesheet ID (0x001e = ITEM.BIN, 0x001f = FRAME.BIN) (2 bytes) 0x1c: Red shading value for bottom-left corner (1 byte) 0x1d: Green shading value for bottom-left corner (1 byte) 0x1e: Blue shading value for bottom-left corner (1 byte) 0x1f: Zero (0) (Unused)? (1 byte) 0x20: X Screen Location (2 bytes) 0x22: Y Screen Location + Height (2 bytes) 0x24: X Load Location (1 byte) 0x25: Y Load Location + Height (1 byte) 0x26: Zero (0) (Unused)? (2 bytes) 0x28: Red shading value for bottom-right corner (1 byte) 0x29: Green shading value for bottom-right corner (1 byte) 0x2a: Blue shading value for bottom-right corner (1 byte) 0x2b: Zero (0) (Unused)? (1 byte) 0x2c: X Screen Location + Width (2 bytes) 0x2e: Y Screen Location + Height (2 bytes) 0x30: X Load Location + Width (1 byte) 0x31: Y Load Location + Height (1 byte) 0x32: Zero (0) (Unused?) (2 bytes) 80173e00 - Same structure as 80173cbc
80173e68 - ? changes with different message displayed (execute action, select target, etc.) 0x04 in memory changes 50 29 03 0c - nothing displayed - free cursor (targeting) 1c(or 98) bb 16 0c - normal menu/act menu 3c bb 16 0c - specify the target with cursor, press 0 to select, or specify move, panel/unit follow option b8 bb 16 0c - execute action?
80173f44 - Pointer to height display entry (see 80173cbc); placing a pointer here makes the display happen?
80173f8c - Pointers to Text Data (Mod below / 0x200 + 173f8c) 0x5000 - Menus items 0x4000 - Unit Name 0x3000 - Job Name 0x2000 - 0x1000 - Skillset Name : 8016135c : 8016135d : 8016135e - Skillsets : 80161929 : 80161d3f : 80161d40 : 80161d41 - Job Name : 801622c3 : 80162e4c - Unit Name : 80163006 : 801630da - menu items : 801639cc : 80163b86 : 80163b87 : 80163b88 : 80164ebb : 80164ebc : 80165281 : 801653b2 : 80165937 : 80165938 : 80165939 : 8016593a : 80165d89 : 8016135c : 8016135c : 8016135c : 8016135c : 8016135c : 8016135c : 8016135c
80174038 - Currently running thread ID (i.e. which thread has the CPU right now) 8017403c - Skillset determinations (set to 1 if no abilities known?), 0 if not
80174042 - end of previous list 80174048 - pointer to start of AI data / skillset 8017404c - Action menu byte list for skillsets
80174060 - Displayed Skillsets (act Menu) - ff in first slot that doesn't have skillset, rest 00 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 80174068 - Return address for ability range (based on action menu byte)17a8c0 routine
801740a8 - Code Pointers for ability targeting (Action menu byte) used in Calculate_Targeting_for_Menu_Types 0x00 - 8017abac - Default 0x04 - 8017abb8 - Item Inventory 0x08 - 8017abb8 - Weapon Inventory 0x0c - 8017abc0 - Arithmeticks 0x10 - 8017abd4 - Elements 0x14 - 8017ab2c - Blank 0x18 - 8017abac - Monster 0x1c - 8017abe4 - Katana Inventory 0x20 - 8017abb8 - Attack 0x24 - 8017abb8 - Jump 0x28 - 8017abb8 - Charge 0x2c - 8017ac08 - Defend 0x30 - 8017ac08 - Change Equipment 0x34 - 8017ac08 - Unknown 0x38 - 8017ac08 - Blank 0x3c - 8017ac2c - Unknown
801740e8 - Code Pointers for attack preparation routine(Action menu byte) 17c45c routine 0x00 - 8017c7fc - Default 0x04 - 8017c548 - Item Inventory 0x08 - 8017c5b4 - Weapon Inventory 0x0c - 8017c658 - Arithmeticks 0x10 - 8017c6b8 - Elements 0x14 - 8017c818 - Blank 0x18 - 8017c7fc - Monster 0x1c - 8017c6c8 - Katana Inventory 0x20 - 8017c704 - Attack 0x24 - 8017c730 - Jump 0x28 - 8017c79c - Charge 0x2c - 8017c7ec - Defend 0x30 - 8017c7f4 - Change Equipment
80174102 - 80174144 - 80174174 - 001829a8 8017423c - 80174254 Song Abilities Address Table 80174258 - Nothing (free to be used) 8017425c - 80174274 Dance Abilities Address Table 80174278 - Nothing (free to be used) 8017427c - 80174294 Talk_Skill_Ability_Table 80174298 - Nothing (free to be used) 80178f9c -
801792b8 -
80179828 - some pointer (word)
8018afd8 - Reaction_abilities_return_adress_table 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 - Some kind of pointer 8018f4e4 - some kind of pointer 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. 8018f510 - -0x0ae8 8018f518 - In between turn control variable 0x00 - next clocktick 0x01 - dead processing, next turn processing 0x02 - ability CT decrement 0x03 - Post ability ability CT setting 0x04 - status CT decrement 0x05 - set AI CT data? 0x06 - ?? 0x07 - blank 0x08 - blank 0x09 - find highest CT 0x0a - after setting characters turn active (validate units turn) 0x0b - blank 0x0c - blank 0x0d - set some AI weapon data? 0x0e - mimic ability setting 0x0f - transparent removal 0x10 - blank 0x11 - poison marsh status 0x12 - blank 0x13 - poison/regen HP changes 0x14 - get tile type
-0x0ae4 8018f51c - Control Variable (word) - used in skillset loading 0x09 - after setting characters turn active 0x03 - find highest CT - then stored into 8018f518 - go to post-ability CT setting 0x01 - main selection screen (move, act, etc.) -0x0ae0 8018f520 - active units ID?
-0x0a10 8018f5f0 - Type of action (word) 0x01 - Reacting 0x00 - pre-attack, initial attack
8018f5f4 - Team golem amounts
-(0x0a04) 8018f5fc - Action state (word) 0 - Action executing 1 - AI considering action 2 - Projected action result (skips conditional proc roll and displays average damage for random)
8018f600: Zodiac Compatability Modifiers 00 - Neutral 01 - Bad 02 - Good 03 - Special (becomes 04 (Worst), 05 (Best), or 01 (Bad, Monsters only)) 8018f600 - Aries 8018f601 - Taurus 8018f602 - Gemini 8018f603 - Cancer 8018f604 - Leo 8018f605 - Virgo 8018f606 - Libra 8018f607 - Scorpio 8018f608 - Sagittarius 8018f609 - Capricorn 8018f60a - Aquarius 8018f60b - Pisces
8018f60c - Rider Allowed Status Inflictions (5 entries, 1 byte each) (for 0x184b24 routine) 0x00 - Crystal/Dead/Undead/Charging/Jump/Defending/Performing 0x01 - NONE 0x02 - Reraise/Transparent/Critical 0x03 - Regen/Protect/Shell/Haste/Wall 0x04 - Faith/Innocent/Charm/Reflect 8018f610 - Formula Code Pointers (overlaps with above, but 0x00 is no formula) 0x0000/0x00 - N/A (shared with Rider statuses; fake pointer) 0x0004/0x01 - 80188b64 0x0008/0x02 - 80188ba4 0x000c/0x03 - 80188be4 0x0010/0x04 - 80188c24 0x0014/0x05 - 80188c9c 0x0018/0x06 - 80188cf4 0x001c/0x07 - 80188d3c 0x0020/0x08 - 80188d84 0x0024/0x09 - 80188df4 0x0028/0x0a - 80188e78 0x002c/0x0b - 80188eb8 0x0030/0x0c - 80188ef8 0x0034/0x0d - 80188f38 0x0038/0x0e - 80188f90 0x003c/0x0f - 80189084 0x0040/0x10 - 801890dc 0x0044/0x11 - 80189124 0x0048/0x12 - 8018912c 0x004c/0x13 - 80189164 0x0050/0x14 - 8018916c 0x0054/0x15 - 801891ac 0x0058/0x16 - 80189204 0x005c/0x17 - 8018925c 0x0060/0x18 - 8018929c 0x0064/0x19 - 801892a4 0x0068/0x1a - 801892ac 0x006c/0x1b - 8018933c 0x0070/0x1c - 8018937c 0x0074/0x1d - 801893d8 0x0078/0x1e - 80189434 0x007c/0x1f - 80189464 0x0080/0x20 - 801895c4 0x0084/0x21 - 801895f4 0x0088/0x22 - 80189654 0x008c/0x23 - 8018967c 0x0090/0x24 - 801896b4 0x0094/0x25 - 801896ec 0x0098/0x26 - 80189794 0x009c/0x27 - 80189828 0x00a0/0x28 - 80189870 0x00a4/0x29 - 80189910 0x00a8/0x2a - 801899a4 0x00ac/0x2b - 80189a90 0x00b0/0x2c - 80189ad8 0x00b4/0x2d - 80189b20 0x00b8/0x2e - 80189b94 0x00bc/0x2f - 80189c50 0x00c0/0x30 - 80189c90 0x00c4/0x31 - 80189cd0 0x00c8/0x32 - 80189d74 0x00cc/0x33 - 80189e28 0x00d0/0x34 - 80189e94 0x00d4/0x35 - 80189f08 0x00d8/0x36 - 801868f0 0x00dc/0x37 - 80189f84 0x00e0/0x38 - 80187f24 0x00e4/0x39 - 80186d2c 0x00e8/0x3a - 80186d00 0x00ec/0x3b - 80186d58 0x00f0/0x3c - 80186dbc 0x00f4/0x3d - 80189fcc 0x00f8/0x3e - 8018a00c 0x00fc/0x3f - 8018a02c 0x0100/0x40 - 8018a088 0x0104/0x41 - 8018a114 0x0108/0x42 - 8018a17c 0x010c/0x43 - 80186e28 0x0110/0x44 - 80186e54 0x0114/0x45 - 80186e78 0x0118/0x46 - 8018a218 0x011c/0x47 - 8018a220 0x0120/0x48 - 8018a250 0x0124/0x49 - 80188288 0x0128/0x4a - 8018a2c4 0x012c/0x4b - 8018a2ec 0x0130/0x4c - 8018a3a0 0x0134/0x4d - 8018a3d0 0x0138/0x4e - 8018a420 0x013c/0x4f - 8018a458 0x0140/0x50 - 8018a4a0 0x0144/0x51 - 8018a4e8 0x0148/0x52 - 8018a554 0x014c/0x53 - 8018a5e4 0x0150/0x54 - 8018a668 0x0154/0x55 - 8018a698 0x0158/0x56 - 8018a6f8 0x015c/0x57 - 8018a758 0x0160/0x58 - 8018a824 0x0164/0x59 - 8018a908 0x0168/0x5a - 8018a980 0x016c/0x5b - 8018a9c4 0x0170/0x5c - 8018aa10 0x0174/0x5d - 8018aa54 0x0178/0x5e - 8018aa98 0x017c/0x5f - 8018aac8 0x0180/0x60 - 8018aaf8 0x0184/0x61 - 8018ab18 0x0188/0x62 - 8018ab58 0x018c/0x63 - 8018ab98 0x0190/0x64 - 8018ac44
8018f7ec - Used Ability Flags 1
8018f7f0 - No. Tiles moved - Per tile, includes facing/walking direction to destination
8018f86d - current units movement supports 0x80 - fly 0x40 - float 0x20 - walk on water 0x10 - move in water 0x08 - teleport (1 and 2) 0x04 - 0x02 - silent walk 0x01 - 0x00 - default 8018f89c -
8018f8a4 - ID of found item for move-find item (word) 0x00 Item ID 8018f8a8 - Move-Find Item/trap flags 0x00 - activation type 0x02 - found trap 0x01 - found item 0x00 - none? 0x01 - Trap Setting or number of trap activated 0x00 - Degenerator 0x01 - Deathtrap 0x02 - Sleeping Gas 0x03 - Steel Needle 0x02 - Rare Item 0x03 - Common Item
Mimic Check(0x15 in battle ID order) - If ability occured, and if job = mimic, stores 01 for that unit ID's byte. 8018f8b0 - if 01 allows mimic setting
8018f8c5 - end -0x0738 8018f8c8 - Acting Unit ID (word) 8018f8cc - Tile Data Start (8 bytes each, +100h for Higher Elevation tiles) 0x00: 0x80 - 0x40 - 0x3F - Cross section 0x3e - 0x3d - 0x3c - 0x3b - 0x3a - 0x39 - 0x38 - 0x37 - 0x36 - 0x35 - 0x34 - 0x33 - 0x32 - 0x31 - 0x30 - 0x2F - 0x2E - Coffin 0x2D - Waterfall 0x2C - Tombstone 0x2B - Moss 0x2A - Iron plate 0x29 - Machine 0x28 - Deck 0x27 - Ivy 0x26 - Furniture 0x25 - Stairs 0x24 - Water plant 0x23 - Bridge 0x22 - Mud wall 0x21 - Chimney 0x20 - Brick 0x1F - Box 0x1E - Tree 0x1D - Rug 0x1C - Obstacle 0x1B - Book 0x1A - Salt 0x19 - Darkness 0x18 - Sky 0x17 - Stone wall 0x16 - Roof 0x15 - Stone floor 0x14 - Wooden floor 0x13 - Road 0x12 - Lava 0x11 - Sea 0x10 - Lake 0x0E - Waterway 0x0D - Ice 0x0C - Lava rocks 0x0B - Poisoned marsh 0x0A - Marsh 0x09 - Swamp 0x08 - Wasteland 0x07 - Gravel 0x06 - Rocky cliff 0x05 - Snow 0x04 - Thicket 0x03 - Grassland 0x02 - Stalactite 0x01 - Sand area 0x00 - Natural Surface 0x01: 0x02 - Height (whole numbers) 0x03 - Height (halves) + Depth 0x80 - Depth 4 0x60 - Depth 3 0x40 - Depth 2 0x20 - Depth 1 0x1F - height(halves) 0x04: Slope height (i.e. where the unit stands on the tile)? 0x05: 0x80 - Green Panel - Enemy in Range (fdc) 0x40 - Used in targeting 0x06: 0x80 - 0x40 - 0x20 - 0x10 - 0x08 - Heavy shadow (sprite effect) 0x04 - Slight shadow (sprite effect) 0x02 - Cannot Target (Red cursor) 0x01 - Unselectable via cursor 0x07:
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 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 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 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 dedicated page here
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? / 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 : 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%)_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) 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
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 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
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 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 0x0082/0x???? - set to 1 if ability has MP or target enemies flagged
0x0098/0x0cd4 - List of Unit AI/Action? Data 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 - ? list (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) 0x01 - Higher Elevation Flag? 0x02 - Y Location? 0x03 - (set to 0 after finding usable abilities) 0x04 - (0x167 in Unit's Data) 0x80 - Charging/Performing + not dead/petrified/death sentenced / Ally unit 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? 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 0x0f - Range of Highest range ability
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? 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. (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)
801b637c - Event Effects (2 bytes each, 0x25 total)
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)
801b84ac - list of bytes based on ability animation flags
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 - ?
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 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 -
***Effect Data Section
801b48d0 - Table of where in ram the start of normal effect file is loaded
801b53e8 - List of data by Effect ID (0x08 bytes each, goes to 801b63e8) 0x04 - LBA value (word) [Blank effects get routed to E0511, 71150 0x08 - Byte length?
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 return address (chosen based on first half in header in effect data AND 0x1ff?) 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 Nothing : 08 00 00 01 0x02 Spell chrg : 00 00 00 04 0x03 nothing : 08 00 00 14 0x04 Spell chrg : 00 01 00 04 0x05 Smn Chrg : 00 00 00 16 0x06 Nothing : 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 Nothing : 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 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 - seems to dictate what information is loaded somewhere? reflect has a shit attack if value isn't 2. CC - zero DD - the actual function of the particles.
801b8900 - list of return addresses 801b895c
801b8a40 - first 0x10 bytes of first section of main motion data stored here 0x00 0x04 0x08 0x0c
801b8b9c - some effects table with varying amounts of variability? 0x54 bytes long. first 0x54 bytes are null by default, and code means it won't change that automatically. 0x01 - some form of counter? indicates where next effect should go. at 0x10, remains at 0x10. 0x02 - same as above? indicates previous effect counter. when an effect is loaded, this is set to 0. 0x03 - ditto? indicates current effect counter. these all have... questionable usage? 0x04 - 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 0x05 - above's DD particle flag 0x06 - ability element, presented in awful format (none, fire, water, earth, wind, holy, dark, Ice, Lightning) and also its just a value, not bitflags. 0x08 - if prepared correctly, 0x01? 0x10 - Contains unit misc ID 0x1a - contains valid hit# & X coordinate of target (if no targets are hit.) otherwise contains evade type. 0x1e - contains map level & Y coordinate of target (if no targets are hit.) 0x50 - Cleared after loading effect counter?
801b9130 - Resets to zero when effect is finished 801b9134 - Seems to control something relating to unit animation and effects? Increases for each target of an effect? Doesn't reset? Can soft lock game if value is wrong 801b9138 - Resets to zero when effect is finished
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? (0x1c address + 0x08)
801bbf8c - parameter sets address (+ 0x04?)
801bbf90 - Is effect playing? 0 = false, 1 = true // used in effect control routine
801bc0c8 - misc effect data address
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 - some table
801bf124 - 0x06 - header counter 0x08 - header address 0x1c - 0x28 - Time counter for effect
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)