Routine Locations
Jump to navigation
Jump to search
Here is a list of Routine locations in RAM. To view the actual code of the routine follow the link under it.
If you add routines PLEASE keep them in order. When unfinished routines are deciphered they'll be inserted in the correct location. If you know the return locations of the routine, please link to them under the routine code. See "Defense Up" for an example.
Thanks!
Individual pages: 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 0x1c2500 -> EFFECT BINs 0x1DF000 -> JOBSTTS.OUT 0x1DF000 -> HELPMENU.OUT
Contents
PSX BIOS
000000a0: Jump to 0x5c4 (Bios call - First table) 000000b0: (Bios call - Second table) 000000c0: (Bios call - Third table)
SCUS_942.21 RAM
00010a30 - 00010b3c: main 00011bd0 - 00011bf0: Load Data From Disc (0x11bd0) 00011bf4 - 00011dd4: Load Data From Disc (0x11bf4) 00012518 - 0001255c: Play Sound Effect (Inner Routine) 00013b20 - 00013f70: Play Sound Effect (Worker Routine) 00017e7c - 00017eb4: Get Sound Effect Data For ability effects? 0001bec8 - 0001d64c: Initialize some screen data 0001bf38 - 0001bfb8: Frame Timing Related? (0x1bf38) 0001c04c - 0001c050: Return -1 0001cb04 - 0001cba0: ? 0x1cb04 0001cba4 - 0001cc40: ? 0x1cba4 0001d0a8 - 0001d0d4: Store Rotation matrix elements to GTE 0001d0d8 - 0001d104: Store Light Source Matrix Elements to GTE 0001d108 - 0001d134: Store Light Color matrix source RGB's to GTE 0001d138 - 0001d154: Store Translation Vectors to GTE 0001d158 - 0001d160: Get Projection Plane distance from GTE 0001d164 - 0001d184: Store Background RGB to GTE 0001d188 - 0001d1a4: Store far color RGB to GTE 0001d1a8 - 0001d1bc: Store Screen offsets to GTE 0001d1c0 - 0001d1d0: Store Projection plane distance in GTE 0001d1d4 - 0001d1fc: Multiply vector and store results 0001d200 - 0001d224: Depth Cue Color Light 0001d228 - 0001d260: Depth Cue Triple 0001d264 - 0001d284: interpolate 0001d288 - 0001d2ac: square vector 0001d2b0 - 0001d2d4: square matrix/vector (duplicate routine? 0001d2d8 - 0001d2f4: Find Average of 3 Z values 0001d2f8 - 0001d318: Find Average of 4 Z values 0001d31c - 0001d370: calculate outer product of 2 vectors 0001d374 - 0001d3c8: calculate outer product of 2 vectors 2 0001d3cc - 0001d3e0: Get leading 0 or 1 count 0001d578 - 0001d59c: 0x1d578 0001db58 - 0001db84: Get Inverted Button Input 0001dcf0 - 0001dd88: Wait for Vertical Sync 00021ff4 - 00021ffc: PAD_dr (Gets controller button state) 000220f4 - 000220fc: Change Clear Pad 00022104 - 0002210c: Change Clear RCnt 0002228c - 00022294: Write String to Terminal 000222dc - 000222e4: bcopy (Copies data from one section of memory to another; like memmove) 000222fc - 00022304: memset 0002230c - 00022314: rand | Random Number Generator 0002231c - 00022324: srand (Sets RNG seed/state) 0002398c - 00023a50: ? Calculation (0x2398c) 00023a54 - 00023a68: Combine 16-bit Value (0x23a54) 00023c68 - 00023c8c: ? 0x23c68 000245bc - 000245c8: ? Accessor (0x245bc) 00024740 - 00024864: ? 0x24740 000248fc - 0002495c: ? 0x248fc 000249c4 - 00024a84: ? 0x249c4 000254cc - 00025520: ? 0x254cc 00040934 - start of meaningful code 00040bd8 - 00041380: Build Image Data for Now Loading message 00042a10 - 00042aac: Starting Inventory 00042ab0 - 00042b18: ? 0x42ab0 (Starting new game related) 00042b1c - 00042b28: Store Three Consecutive Halfwords 00043ff8 - 00044014: Play Sound Effect 000444dc - 000445fc: ? 0x444dc 00044694 - 000446c4: Load Data From Disc (0x44694) 00044a34 - 00044a5c: ? 0x44a34 00044a60 - 00044a78: ? 0x44a60 00045938 - end of meaningful code 00059854 - 00059abc: Initialize Status Check Data 00059ac8 - 00059aec: Clear Party | Initialize Party ID to FF 00059af0 - 00059b14: Get Party Data Pointer 00059b18 - 00059bac: Unit Initialization 00059bb0 - 00059d58: Save Unit to Party | Add Unit to Party/Store Unit's Party Data 00059d5c - 00059e14: Find Free Party Index | Find Free Party Slot 00059e18 - 00059ed0: Create Monster Egg 00059ed4 - 00059f90: Generate Party Unit In Empty Slot | Find Empty Party Slot and Generate Unit 00059f94 - 00059fdc: Find Unit's Party Data Location 00059fe0 - 00059ff8: Remove Unit from Party 00059ffc - 0005a3dc: Out of Battle Unit Generation 0005a3e0 - 0005a3fc: Generate Unit's Base Raw Stats Prep 0005a400 - 0005a444: Prep for Generating Base Raw Stats 0005a448 - 0005a51c: Generate Unit's Base Raw Stats 0005a520 - 0005a564: Transfer Job's Growths/Mults to Unit 0005a568 - 0005a634: Get Ability ID From Skillset | Load Ability From Skillset 0005a638 - 0005a728: Store Skillset's Abilities 0005a72c - 0005a880: Calculate Ability Pointers and Type 0005a884 - 0005a8a0: Get Item Data Pointer 0005a8a4 - 0005a8d0: Get Job Data Pointer 0005a8d4 - 0005a9b0: Initialize Unit's Job Data 0005a9b4 - 0005aafc: Unit Battle Initialization 0005ab00 - 0005ab44: Equipment/Move/Jump +X/Name Storing/Generation 0005ab48 - 0005ac18: Store Ramza's Name/Birthday/Zodiac 0005ac1c - 0005b034: ENTD Data Calculation 0005b038 - 0005b0cc: Prep for Initializing Unit's Job Data 0005b0d0 - 0005b2b0: Initialize Unit's Battle Data 0005b2b4 - 0005b4fc: Calculate Unit Jobs and Skillsets from ENTD | Calculate ENTD Unit Jobs 0005b500 - 0005b5d8: Get Random Unlocked Job | Sprite Set and Random Secondary Job Calculation 0005b5dc - 0005b79c: Transfer Job's Data to Unit's Data 0005b7a0 - 0005b828: Enable Unit's R/S/M Flags 0005b82c - 0005b87c: R/S/M Flag Setting 0005b880 - 0005ba6c: Calculate Actual Stats (Used for Stat Capping as well) 0005ba70 - 0005bdac: Calculate Unit's Abilities 0005bdb0 - 0005bdec: Monster Equipment Storing 0005bdf0 - 0005c278: Calculate/Store ENTD Unit Equipment 0005c27c - 0005c394: Equippable Item Setting (Support/Female-only) 0005c398 - 0005c5c4: Equipment Stat Setting 0005c5c8 - 0005c8e8: Equipment Attribute Setting 0005c8ec - 0005c980: Move/Jump +X Calculation (can be used to load data at start of battle) 0005c984 - 0005cbcc: Store/Generate Character Names 0005cbd0 - 0005cc60: Calculate Highest Party Level 0005cc64 - 0005cc94: Store X into Y (r4 = Loading Pointer, r5 = Storing Pointer) 0005cc98 - 0005ce70: Calculate Random Equipment 0005ce74 - 0005d0b8: Calculate Learned Abilities 0005d0bc - 0005d3c0: Calculate Unit's R/S/M 0005d3c4 - 0005d410: Find Skillset's Job ID (Not used?) 0005d414 - 0005d46c: Status Initialization 0005d470 - 0005d4cc: Nullify CT/Initialize Death Counter 0005d4d0 - 0005d5b8: Float/Current Statuses/Status Immunities/Status CT 0005d5bc - 0005d5dc: Status Setting/Checking + Equip/R/S/M Stats Prep 0005d5e0 - 0005d600: Status Setting/Checking + Equip/R/S/M Stats Prep 2 (Level Up) 0005d604 - 0005d624: Status Setting/Checking + Equip/R/S/M Stats Prep 3 0005d628 - 0005d87c: Status Setting/Checking + Equip/R/S/M Stats 0005d880 - 0005d8f8: Check if Unit Leveled UP 0005d8fc - 0005da0c: Level Unit to Specific Level 0005da10 - 0005db6c: Level Up Section 0005db70 - 0005dc10: Status CT Setting 0005dc14 - 0005dd44: Calculate Unlocked Jobs 0005dd48 - 0005ded4: Proposition JP Gain 0005ded8 - 0005def0: Store 3-Byte Data 0005def4 - 0005df34: Calculate Job Level 0005df38 - 0005dfa8: Initialize Unit's Job Levels 0005dfac - 0005dfd0: Initialize Some Unit Data 0005dfd4 - 0005e014: Minimum SP Capping/War Trophy Nulling/Status Initialization 0005e018 - 0005e04c: Get Ability's Range 0005e050 - 0005e084: Get Ability's AoE 0005e088 - 0005e0c8: Calculate Unit's Palette/Portrait (return Portrait) 0005e0cc - 0005e11c: Pass/Fail Roll | Check if Random is greater/equal to Chance 0005e120 - 0005e1ac: Get Unit's Portrait/Palette **changes sprite that's loaded in battle 0005e1b0 - 0005e1fc: Does Unit Have Status In Set | Status Checks (r5 = set to check) 0005e200 - 0005e228: Get Known Abilities 0005e22c - 0005e250: Copy Byte Data (20 Bytes) (Used Action data) | Transfer Target ID? Through Mount Data 0005e254 - 0005e284: Store X Byte into Y 0005e288 - 0005e474: Get Total Equipment Quantity (Equip Change/Formation Screen?) 0005e478 - 0005e4e4: Initialize Unit's X/Y+Facing/Battle Rewards 0005e4e8 - 0005e5d4: Find Action Highest Order Status Effect | Get Lowest Order Status' 0x08 Check Data? (Status Checks 2) 0005e5d8 - 0005e640: Calculate Zodiac Symbol 0005e644 - 0005e66c: Data Nullifying (requires r5 = Limit, and r4 = Starting location) 0005e670 - 0005e6c8: Increase Casualties/Injured Counters 0005e6cc - 0005e740: Inflicted Status Changes 0005e744 - 0005e774: Store Current Statuses 0005e778 - 0005e7a4: Transfer Last Ability Used CT 0005e7a8 - 0005e8e4: Status infliction/removal? 0005e8e8 - 0005e908: ? removed code?
WLDCORE.BIN RAM
0006aed0 - 0006b268: 0x6aed0 000830a8 - 00083438: 0x830a8 00091238 - 0009137c: Process World Conditional Set
WORLD.BIN RAM
000e1ed8 - 000e1ee8: Set Scroll Sound Effect (WORLD.BIN) 000e4668 - 000e4b00: Find Text Coordinates (WORLD.BIN) 000e6edc - 000e6f10: Find Text Entry (WORLD.BIN) 000ebb08 - 000ebdc8: Handle Menu Action (WORLD.BIN) 000ebdcc - 000ebe78: Menu Scroll Related (0xebdcc) 000ebf8c - 000ec104: 0xebf8c 000ecf20 - 000ed100: Handle Formation Screen Triangle Menu 000ef1a8 - 000ef258: Get Script Variable (WORLD.BIN) 000ef25c - 000ef2f8: Set Script Variable (WORLD.BIN) 000fda34 - 000fda50: Get Menu Controller Input (WORLD.BIN) 000fdaa4 - 000fdb18: Image Loading Setup (0xfdaa4) 000fdcf0 - 000fdf34: Image Loading Setup? (0xfdcf0) 000fe774 - 000fe7a0: Display Menu Text Entry (WORLD.BIN) 000fe7d4 - 000fe814: Display Specific Menu Text (WORLD.BIN) 000fe818 - 000fef30: Display Menu Text (WORLD.BIN) 000ffd70 - 000ffdf0: Initialize Thread (WORLD.BIN) 000ffdf4 - 000ffe0c: Mark Thread As Running (WORLD.BIN) 000ffe10 - 000ffe24: Mark Thread As Stopped (WORLD.BIN) 000ffe28 - 000ffe60: Stop Current Thread (WORLD.BIN) 000ffeec - 000fff04: Check Thread Running Status (WORLD.BIN) 000fff08 - 000fff24: Store Thread Function Parameters (WORLD.BIN) 000fff50 - 00100080: Switch To Next Thread (WORLD.BIN) 00100090 - 001000c0: Get First Thread Parameter (WORLD.BIN) 001000c4 - 001000f4: Get Second Thread Parameter (WORLD.BIN) 00100164 - 00100184: Check Thread Running Status (WORLD.BIN) (0x100164) 00100348 - 00100380: Get Inner Text (WORLD.BIN) 00100384 - 00100424: Call Inner Subroutine (WORLD.BIN) 00108920 - 001089f4: Generate Formation Unit Name String 001090c8 - 00109244: Find Formation Palette Index 0011241c - 00112608: Handle Simple Selection Menu (WORLD.BIN) 00113dd4 - 00113efc: ? 0x113dd4 001140bc - 00114754: Formation Screen Frame Processing 0011a378 - 0011a4e0: ? 0x11a378 0011a778 - 0011a87c: ? 0x11a778 0011f5f0 - 0011fc14: Learn Abilities Menu 001200f8 - 001202f8: Order Unit Menu Processing 00120344 - 001207b8: Handle Dismiss Unit Menu 001207bc - 00120818: Obtain Gil 001208f8 - 0012092c: Dismiss-able check 00120930 - 001209c0: Dismiss unit (by formation index) (with checks) 001210e8 - 001212b4: ? 0x1210e8 (Formation screen related) 0012243c - 00122484: Get Base Job (Formation Screen) 001256c8 - 00125840: Get Formation Graphic Entry 001258a4 - 00125950: Get Formation Sprite Entry 0012257c - 00122768: Calculate Job Wheel Jobs 00122c20 - 00122e3c: Get Equipable RSM | "Set Ability" menu display 00125374 - 001253cc: Sort equipment as weapon/shield/hat/body/other based on item number 00129b7c - 00129ce8: Menu Page Up/Down 0012a08c - 0012a0e4: ? 0x12a08c 0012ab78 - 0012ac10: Run Menu Thread (WORLD.BIN) 0012bb88 - 0012bd10: Find New Formation Screen Unit Index (Checks directional input, L1/R1) 0012f0f8 - 0012f5dc: Handle Memory Card Menu 0012f994 - 0012fb3c: Handle Load Game 00130338 - 00130894: Load Game 00136548 - 001368d8: Fitting Room Related (0x136548) 0013702c - 001370f8: Buy From Fitting Room
BATTLE.BIN RAM
00067000 - 00067794: Return Addresses 000683e4 - 00068414: Transfer Unit's X/Y/Map Level 00068418 - 00068490: X/Y Data Gathering for Attacks? 00068534 - 00068630: Palette modification based on team 0006867c - 000686ac: Increment AT List ID 00068e30 - 00068e54: Update Status/Sprite/Animation Display By Unit Misc ID 00068e80 - 000690f4: Special Status Flag Enabling? 000692bc - 00069338: ? 0x692bc (WalkTo Animation inner routine for Mounted units?) 0006bbfc - 0006bce0: ? 0x6bbfc 0006c024 - 0006c2b8: ? 0x6c024 0006d818 - 0006db0c: Process Single Unit Movement 0006f5bc - 0006f630: Player Camera Zoom (L1 Button) 0006f678 - 0006f7c0: Camera Zoom Related (0x6f678) 000707c4 - 0007081c: Process Unit Movement 00072928 - 00072a0c: Rider/Mount X/Y/Facing Setting? 00072a88 - 00072acc: Check if Facing Needs Changed? 000732c8 - 000734c8: Battle Message Display 000736d4 - 000739c8: Store target coordinates, attack display types critical hit, reflect, etc. 00073eec - 00073fb4: Set damage display type based on ability - ???? Only during Mimic *Stores Script 0x2b (Return from mimic?) 00074308 - 0007446c: Select Target Tile 00074f5c - 0007530c: big Misc unit data routine 000773f8 - 0007775c: ? 0x773f8 00079a98 - 0007a1d0: Main BATTLE.BIN Loop 0007a218 - 0007a258: Get Source Unit Misc Data Pointer 0007a2b8 - 0007a3f4: Find Unit at Coordinates (Misc Data) (0x7a2b8) 0007a5d0 - 0007a6e0: Get Overlapping Unit Misc Data Pointer 0007a6e4 - 0007a720: Get Unit Misc Data Pointer | Find Current Misc Unit Data Pointer (external ID)? 0007a724 - 0007a770: Get Unit Misc Data Pointer By Battle Unit Index | Find Misc Unit Data Pointer (checking for specific unit)? 0007ac60 - 0007aca8: Unit RGB/Sprite Type/? Initialization 0007af44 - 0007b4e8: Display Related? (0x7af44) 0007b4ec - 0007b52c: Store Display Data 0007c80c - 0007cff4: Slope Calculations 0007eb8c - 0007eebc: Determine Status Bubble Parameters 0007eec0 - 0007f1d0: Display Status Bubble 0007f1d4 - 0007f23c: ? 0x7f1d4 (Status Bubble Related?) 0007f45c - 0007f508: Store Item's Display Data 0007f5f8 - 0007ff40: Post Action Display Routine 0007ff44 - 0007ff78: "Speed" display 0007ff7c - 0007ffac: "CT" display 0007ffb0 - 0007ffe4: "Br" display 0007ffe8 - 0008001c: "Fa" display 00080020 - 00080050: "Attack" Sword display 00080054 - 00080088: "Magic" Rod display 0008008c - 000800b8: "Missed" display 000800bc - 000800e8: "Guarded" display 000800ec - 00080114: "Caught?" display 000803e4 - 000808b4: Post-Action Display Setup 000808b8 - 00080bc0: Set Exp/JP Display Data and get Palette 00080bc4 - 00080c3c: *One-Digit Experience* 00080c40 - 00080cf4: *Two-Digit Experience* 00080cf8 - 00080d80: *One-Digit JP* 00080d84 - 00080e38: *Two-Digit JP* 00080e3c - 00080e78: *"No Target" Display* 00080e7c - 00080eb8: *"Silenced" Display* 00080ebc - 00080f00: *"No MP" Display* 00080f44 - 00080fe8: Prep for Displaying Earned Exp/JP 000810a4 - 00081974: More post action display? 00081978 - 00081984: Store unit animation and facing value 00081af0 - 00081b08: Get Spritesheet Graphic Height 00082508 - 0008254c: Determine Status Bubble Activation Byte | Status/? Misc ID checks 00082550 - 00082588: Transparent Check (for opacity?) 00082b80 - 00082c0c: Set attack animation flags and facing 2 00082d50 - 00082df4: Set Animation Based On Unit Mounted State 00082eec - 000831b4: Set Animation Based On Unit Status | Set Animation based on status 00083758 - 00083850: Set thrown item graphic/palette also throw stone 00084818 - 0008522c: Animate party units? *00084a34 - 00084a70: Blank effect animation (0xFFFF) Ability ID Hardcoding 000865a4 - 0008663c: Process Status Bubble Display 0008b834 - 0008b85c: Set Camera Zoom Parameters 0008ba60 - 0008ba88: Set Camera Rotation Values 0008bde4 - 0008be00: Update Status/Sprite/Animation Display By Unit Misc ID (Wrapper Function) 0008be04 - 0008be28: Set Animation Based On Unit Mounted State From Unit Misc ID 0008be54 - 0008be78: Set Animation Based On Unit Status From Unit Misc ID 0008be7c - 0008beb8: Set Specific Animation Value From Unit Misc ID 0008bf1c - 0008bf80: 0x8bf1c 0008c410 - 0008c438: Get Unit Screen Location Data Pointer 0008c664 - 0008c79c: Walk To 0008ca48 - 0008ca78: 0x8ca48 0008cbb4 - 0008cbd4: Does Misc Unit Exist With ID 0008cdd0 - 0008ce1c: Get Battle Unit Index By Unit Misc ID 0008ce20 - 0008ce74: Get Unit Misc ID By Unit Index 0008ced0 - 0008cef8: Find Unit's Misc Data Pointer (+0x15c) 0008d18c - 0008d1c4: Reset Misc Unit Graphic Trigger 0008d1c8 - 0008d224: Reset Jumping Unit Graphic Triggers 0008dc24 - 0008dc70: Get Unit's Spritesheet Value 0008dc9c - 0008dcc0: Find Unit's Misc Data Pointer and Load Spritesheet Value 0008dd10 - 0008dda4: Start New Effect 0008dee8 - 0008df0c: Set Event Speed Inner 0008df10 - 0008df44: Store Selected Tile Coordinates 0008df48 - 0008df74: Store Map Max Coordinates 0008df78 - 0008dfa8: Get Tile Data Pointer From Unit Misc ID 0008e17c - 0008e1f4: ? 0x8e17c 0008efb4 - 0008f12c: Color Screen Related (0x8efb4) 0008f710 - 00090044: Palette Modification 00090840 - 00090c44: Map Darkness 00092620 - 000926d4: Extract Colors Data | Extract RGB+Alpha from Palette 000926d8 - 000927b8: Extract Palette Data | Get Palette Data 00092f98 - 00093044: ? 0x92f98 00093170 - 000931c0: Color Field 000934d0 - 00093500: Map Darkness Wrapper 00093654 - 000937f4: ? 0x93654 000e840c - 000ec714: Background Tile Color For Targeting/Movement 000ec718 - 000ee100: Background Tile Color For Targeting/Movement (Partial Tiles) 0011acdc - 0011aeec: Throw Determination Routine 0012cc54 - 0012cf40: Set Tile Background Color (Partial Tiles) 0012cf44 - 0012d2b0: Set Tile Background Color 0012d8e4 - 0012da08: Process Inflict Status Event Commands 0012da0c - 0012dafc: Set Specific Unit Animation Value When Battle Init 0012dcac - 0012dcf4: Get Battle Unit Index By ENTD Unit ID 0012df98 - 0012e18c: ? 0x12df98 0012f04c - 0012f108: ? 0x12f04c 00132824 - 00132858: Prep for Loading Text 001330e4 - 0013312c: Copy Unit Screen Location Data 00133158 - 00133490: Get misc ID (For event commands?) 00133c98 - 00133ce8: Has Status Effect (For Status Window) 00133cec - 00133eec: Display Inner Character Window 001340ac - 0013417c: Dismiss Unit Event Instruction 00134438 - 001346f0: Display Height 001346f4 - 0013493c: Height Number Display Setup 00134a74 - 001352b8: Display Projected Action Effect 00136b10 - 00136bcc: Get Item Graphic Data 00137c10 - 00137ed0: Handle Menu Action 00138094 - 00138170: ? 0x138094 00138174 - 001383c4: ? 0x138174 00138ed8 - 001390b8: Display Simple Selection Menu 0013b590 - 0013b640: Get Script Variable (called from steal item decrement/stat changes/price change?? And weather effects on crossbows/bows) 0013b644 - 0013b6e0: Set Script Variable 0013bb70 - 0013bb38: ? 0x13bb70 0013bc14 - 0013bcb8: Load File (0x13bc14) 0013bfbc - 0013c024: Display Triangle Selection Menu 0013c284 - 0013c2d8: ? 0x13c284 0013c710 - 0013c73c: Show Graphic (Outer Routine) 0013c9c0 - 0013ca6c: Load Event 0013da00 - 0013da24: Set Event Speed 0013db9c - 0013dfac: Camera Fusion Event Instruction 0013dfb0 - 0013e544: Camera Fusion Inner Routine 0013e5c0 - 0013e658: Walk To Event Instruction 0013e904 - 0013edd4: Block Start Event Instruction 0013f668 - 0013f768: Store Selected Tile Data 0013fa6c - 00140224: Skillset Display and a bunch of AI calculation (abilities greyed/blinking red) 00142508 - 001425ac: Get Battle Unit By Unit ID (For scenario conditionals?) 001425d8 - 00142688: Process Scenario Conditionals (ATTACK.OUT Scenario Conditionals) 00142694 - 00142b58: Process Scenario Conditional 00142b5c - 00142ba0: 0x142b5c 00142bd0 - 00142c20: ? 0x142bd0 00142c24 - 00142ca4: ? 0x142c24 00142ca8 - 00142d28: ? 0x142ca8 00142d2c - 00142d54: ? 0x142d2c 00142d58 - 001433a8: 0x142d58 00143418 - 001439bc: ? 0x143418 00143bd8 - 001449f8: Event Instruction Main Routine 1 001449fc - 00145750: Event Instruction Main Routine 2 *00145268 - 00145298: Event Instruction 0x76: DarkScreen *001452d8 - 00145320: Event Instruction 0x78: DisplayConditions *001455d8 - 00145648: Event Instruction 0x44: Draw 00145754 - 00145f70: Event Instruction Main Routine 3 *00145964 - 001459c4: Event Instruction 0xe5: WaitForInstruction *001459e8 - 00145a34: Event Instruction 0xf1: Wait *00145e10 - 00145e68: Event Instruction 0x91: ShowMapTitle 00145f78 - 00014600: Load Next Event 00146078 - 00146090: Load Halfword 00146094 - 001469a0: Store Halfword 00146110 - 001466b0: Camera Event Instruction 001466b4 - 00146728: Map Darkness (Async) 001467dc - 0014693c: Color Screen Event Instruction 00146940 - 00146ee0: Sprite Move 00146ee4 - 00146f1c: Sprite Move (Outer) 00146f20 - 00146f58: Sprite Move Beta 0014703c - 001472d8: Map Light (Async) 001474a4 - 00147580: ? 0x1474a4 00147584 - 0014777c: Focus Event Instruction 00147780 - 00147914: Focus Speed Event Instruction 00147928 - 001479a8: Try Get Unit Misc Data By Unit ID 001479ac - 00147bcc: Process Unit Misc State Value 00147e60 - 00147fa8: Warp Unit 00148580 - 001488a4: Update Unit Status And Staged Status Data 001488a8 - 00148cd4: Apply Staged Status Data To Unit 00148cd8 - 00148e84: Process Unit Staged Status Data 00148e88 - 001490fc: Inflict Status Event Command 00149100 - 001491d4: Inflict Unit Status By ENTD Unit ID 00149398 - 0014948c: Unit Anim 001495e0 - 00149688: Color Unit Event Instruction 00149bec - 00149c44: Get Next Available Thread ID 00149cbc - 00149d44: Get Thread Running Task 00149d48 - 00149d68: Set Thread Task ID 00149d6c - 00149eb8: Event Jump 00149ebc - 00149f0c: Find Event Instruction Byte Offset 0014a018 - 0014a2e8: Run Script Variable CommandJumped to from subroutines of steal routine - Calculate party inventory?0014a3f8 - 0014a460: Wait Value Event Instruction 0014a5e8 - 0014a65c: Image Loading Setup (0x14a5e8) 0014a6cc - 0014a6e0: ? 0x14a6cc 0014a834 - 0014aa78: Image loading setup? (0x14a834) 0014b2f0 - 0014b31c: Display Menu Text Entry 0014b320 - 0014b34c: Display Menu Text Entry (Unused?) 0014b350 - 0014b390: Display Specific Menu Text 0014b394 - 0014ba24: Display Menu Text 0014ba28 - 0014bae0: Find Next Text Character 0014bf54 - 0014bf78: Copy Bytes (0x14bf54) 0014c4a8 - 0014c754: ? 0x14c4a8 0014c858 - 0014c89c: Wait (Switch To Next Thread Multiple Times) 0014c8a0 - 0014c920: Initialize Thread 0014c924 - 0014c93c: Mark Thread As Running 0014c940 - 0014c954: Mark Thread As Stopped 0014c958 - 0014c990: Stop Current Thread 0014c9d0 - 0014ca18: Wait For Thread 0014ca38 - 0014ca54: Store Thread Function Parameters 0014ca58 - 0014ca7c: Store Thread Parameters (0x14ca58) 0014ca80 - 0014cbb0: Switch To Next Thread 0014cbb4 - 0014cbbc: Return Global Pointer 0014cbc0 - 0014cbf0: Get First Thread Parameter 0014cbf4 - 0014cc24: Get Second Thread Parameter 0014cc94 - 0014ccb4: Check Thread Running Status 0014ce78 - 0014ceb0: Get Inner Text | Find Text ID's Location 0014ceb4 - 0014cf54: Call Inner Subroutine (Function call wrapper; forces call on main thread) *00174068 - 0017436c: Return addresses 001743c8 - 0017442c: Chocobo Check 001754d0 - 001754f0: Spread_Move_to_East_Preset 001754f4 - 00175518: Spread_Move_to_North_Preset 0017551c - 0017553c: Spread_Move_to_West_Preset 00175540 - 00175564: Spread_Move_to_South_Preset 001780ec - 00178138: Calculate WalkTo Pathing 0017813c - 00178ca0: Calculate Pathing 00179204 - 00179258: Moldball Virus Depth Check 001792a4 - 001793fc: Check Vert Tolerance and if Tiles can be Chosen 00179400 - 00179420: Null some Tile Data (192dd9) 00179424 - 00179514: Remove Close Range Routine 00179518 - 00179638: Calculate Tiles Hit by Ability 0017963c - 001797b8: Calculate Possible AoE Tiles 0017a16c - 0017a28c: calculate ability range with map parameters? 0017a290 - 0017a514: Set panels affected by ability? 0017a7bc - 0017a8bc: another targeting routine 0017a8c0 - 0017aaf4: Calculate Target PanelsCalculate ability range based on action menu byte0017aaf8 - 0017ac8c: Calculate Targeting for Menu Types 0017ac90 - 0017afbc: Targeting validation (weapon flags) 0017afc0 - 0017b3f0: Auxilary targeting validation 0017b3f4 - 0017b49c: Height/coordinate validation 0017b4a0 - 0017b4cc: Disable Green Panel Flags (initialization?) 0017b4d0 - 0017b7b0: Calculator Routine 0017b7b4 - 0017b870: Disable Green Panel on all but Target's Tile 0017b874 - 0017bc74: Targeting routine 0017bc78 - 0017bdcc: Check Allies/Enemies that can be Targeted 0017bdd0 - 0017be64: Check if Unit can be Targeted 0017be68 - 0017c040: Linear/3-direction AoE Calculation 0017c044 - 0017c154: Linear Attack Tile Calculation 0017c158 - 0017c3b4: Calculate Height Data 0017c3b8 - 0017c3d8: Call Attack Preparation (ability selected) 0017c3dc - 0017c458: Call Attack Preparation (AT list preview) 0017c45c - 0017c908: Attack Preparation 0017c90c - 0017c950: Unit exists/party member checkReturns 0x16e in unit data 0017c954 - 0017c9b4: Player Item Quantity decrement 0017c9b8 - 0017cac8: Prep Current Action Data 0017cacc - 0017cd20: Reaction Target/Hit Calculation 0017cd24 - 0017ce40: Map calculations for attack Attack, charge, ranged weapon flag 0017ce44 - 0017d34c: Main ability loading routine? 0017d350 - 0017d40c: set target coordinates for ability? also set regenerator target 0017d410 - 0017d49c: draw out routine dealing with experience gain 0017d4a0 - 0017d704: Current Action Ability Data Setting / Multi Hit Formulas 0017d708 - 0017d84c: Select_Random_Tile_For_Random_Fire_Abilities 0017d850 - 0017da1c: List_and_Sort_Targeted_Units 0017da20 - 0017dbc4: Ability Usage Checks and MP Reduction 0017dbc8 - 0017dc84: Store Some Acting Unit Data 0017dc88 - 0017dca4: Get ID of Unit if Tile is Targetable 0017dca8 - 0017decc: Find Unit at Specified Coordinates | Check if another unit is on the same Tile 0017ded0 - 0017def8: Clear targeting panel data? 0017defc - 0017e174: Big... Contains Hamedo check 0017e178 - 0017e58c: Main reaction routine? 0017e590 - 0017e64c: Counter magic targeting? 0017e650 - 0017e77c: Store counter ability? 0017e780 - 0017e7e0: Auto Potion 0017e7e4 - 0017ea24: Gained JP Up Section 0017ea28 - 0017ea7c: Load Job Level 0017ea80 - 0017ec14: Store JP; Calculate Unlocked Jobs 0017ec18 - 0017f01c: big map/panel routine 0017f020 - 0017f0e8: Float/Float/Fly movements 0017f0ec - 0017f178: Move Cap? 0017f17c - 0017f2d4: Calculate Projected Action Effect | Pre-Pre formula calculations 0017f2d8 - 0017f318: Get Elemental Ability ID 0017f31c - 0017f384: Initialize party members Job data, Sp cap, Status initialization 0017f388 - 0017f5f4: Initialize units battlefield data(ENTD ID/flags, Map location, palette, control, etc.) 0017f5f8 - 0017f61c: Initialize players battlefield units 0017f620 - 0017f63c: Initialize enemy battlefield units 0017f640 - 0017f6c0: Set unit placement and validate 0017f6c4 - 0017f89c: Validate unit placement 0017f8a0 - 0017fbe8: Load ENTD Units | Big ENTD unit loading routine 0017fbec - 0017fcc4: Add Unique Value to List 0017fcc8 - 0017fd04: Disable/Remove unit 0017fd08 - 0017fd7c: Check for unit availability(existance) and ENTD level setting 0017fd80 - 0017fda8: Set unit cannot exist(but can), return r2 = 0 0017fdac - 0017fdd8: Erase unit, set to be removed from party 0017fddc - 0017ffbc: Set Rider/Mount's X/Y Data 0017ffc0 - 00180130: Set target for mounted unit, move find item/trap 00180134 - 00180174: Get movement support flags (move-MP/HP/EXP/JP up) 00180178 - 0018020c: Remove charging status/ability CT 00180210 - 0018022c: Disable acting statuses 00180230 - 001802c4: Rare/common item determination 001802c8 - 001804c0: Set map Item/trap data 001804c4 - 0018052c: Move find item flag calculation 00180530 - 00180900: Generate Crystal or Treasure 00180904 - 00180a04: Learn from Crystal 00180a08 - 00180af8: Generate Treasure 00180afc - 00180b28: Get Unit's Data Pointer 00180b2c - 00180c8c: Check Base Class | Ramza Causes Game Over 00180c90 - 00180dac: Find Unit Data Pointer For ENTD Unit ID | Unit Existence/crystaltreasure check 00180db0 - 00180dfc: Party level XX modification? 00180e00 - 00180f3c: Find War Trophies and Bonus Money 00180fe4 - 0018109c: Prep for Special Status Flag Enabling 001810a0 - 001810d0: Map Location Calculation 001810d4 - 00181110: Get Existent Battle Unit Pointer | Load unit Data (exists check within) 00181114 - 00181148: Find Active Unit Data Pointer? 001811f8 - 00181308: Player Control Routine? 0018130c - 001813bc: Weapon Guard Usability (Check if Unit can React) 001813c0 - 00181580: Setup Act Menu | Player Skill Set 00181584 - 0018171c: Skillset Loading? 00181720 - 001817bc: Get Number of Turns to Resolve | Ability Loading? 001817c0 - 00181b6c: Get Unit Skillset Ability Data | Load ability data for skillset (MP, CT, req. sword booleans) 00181b70 - 00181b90: Item Inventory Ability Display 00181b94 - 00181cb4: Item Ability Loading 00181cb8 - 00181cd8: Throw 00181cdc - 00181eec: Throw Determination Routine 00181ef0 - 00181f10: Math Skill Ability Display 00181f14 - 00181f34: Math skill ability loading routine 00181f38 - 00182064: 00182068 - 001821c8: Math Skill ability loading 001821cc - 001822c8: Elemental 001822cc - 0018242c: Monster skill, frog attack ability loading 00182430 - 00182504: Monster Skill check prep 00182508 - 00182660: Monster Skill check 00182664 - 00182784: Draw Out 001827f0 - 00183074: In between turn control routine *0018282c - 001828ac: Initialize data? *001828b0 - 00182920: Validate mime action? *00182924 - 00182978: Set active turn *001829b8 - 00182a40: Next clocktick - CT increment *00182a44 - 00182ba8: Dead processing, next turn processing (100CT) *00182bac - 00182c04: Ability CT decrement *00182c08 - 00182c8c: Post-ability CT setting *00182c90 - 00182ce4: Status CT decrement *00182ce8 - 00182d4c: Set Mime bytes *00182d50 - 00182d88: Clear Mime bytes *00182d8c - 00182dfc: Find highest CT *00182e00 - 00182e6c: Validate units turn *00182e70 - 00182ea8: Poison and regen *00182eac - 00182ee4: Poison marsh *00182ee8 - 00182f30: Transparent Removal *00182f34 - 00182fa0: Check if mimicable ability occurred *00182fa4 - 00183074: Mimic ability setting 00183078 - 001832c8: Death sentence, crystalization, treasurization, etc also: reraise, defend removal, chicken brave increment 001832cc - 00183370: Status checks 00183374 - 001834b8: Check Battle Outcome | Gameover by party incapacitated 00183544 - 001835a4: Calculate AT List and Get Specific Unit ID 001835a8 - 001835f0: Unit doesn't exist/deadcrystaltreasurepetrify/being ridden check 001835f8 - 00183708: AT List Preview? 0018370c - 00183ac8: Calculate AT List 00183acc - 00183e90: AT List Sorting 00183bf0 - 00183c68: Set move/act flags used in defend/equip change routines 00183c6c - 00183d0c: End of Turn 00183d10 - 00183d6c: Able to move/act checks (Menu?) 00183d70 - 00183ddc: Change of Turn check 00183e00 - 00183e38: another intermediate routine 00183e3c - 00183e8c: Unit exists checks 00183e90 - 00183e9c: Activates move/act 00183ea0 - 00183f5c: something involving map coordinates 00183f60 - 00183fb0: Load Move Find-Item data to Current Map 00183fb4 - 00184018: Get Tile Data Pointer 0018401c - 00184148: Return Various Tile Data 0018414c - 001842f4: deals with map coordinates 3 001842f8 - 00184308: Clear r2 2 0018430c - 00184338: Force Attack Miss 0018433c - 0018435c: Cause Action Miss | Force Attack Miss? 00184360 - 001843e4: Dance/Song hit % Returns if attack hit or not 001843ec - 0018460c: Knockback Calculation 00184610 - 001848d4: Knockback 2 001848d8 - 00184960: Attack Evaded Calculations 00184964 - 00184b20: Compatibility 00184b24 - 00184e3c: Modify Status Inflictions | Validate Status Changes 00184e40 - 00184e94: Nullify Action | Elemental Nullification 00184e98 - 00184f98: Elemental Damage Modification 00184f9c - 001851c0: Equipment Evasion Setting (Physical) 001851c4 - 001852e0: Equipment Evasion Setting (Magical) 001852e4 - 00185324: Concentrate Calculation 00185328 - 00185378: Dark/Confuse Caclulation 0018537c - 001853f0: Abandon Calculation 001853f4 - 001854b4: Evasion Changes due to Statuses 001854b8 - 001854f8: Transparent Calculation 001854fc - 00185734: Facing Evade Calculation 00185738 - 00185810: Weather effects on Bows 00185814 - 00185a98: Calculate Final Hit % 00185a9c - 00185c90: Base XA Calculation 00185c94 - 00185cbc: Store MA and Y 00185cc0 - 00185cfc: Base XA and YA for MA + Y / 2 00185d00 - 00185d3c: Store PA and PA + Y / 2 00185d40 - 00185d7c: Store MA and PA + Y / 2 00185d80 - 00185da8: Store MA and X 00185dac - 00185dd4: Store PA and X 00185dd8 - 00185e00: Store PA and WP 00185e04 - 00185e2c: Store PA and Y 00185e30 - 00185e58: Store Speed and X 00185e5c - 00185e90: Store PA and WP + Y 00185e94 - 00185f7c: Formula 64 or Jump Base XA / YA 00185f80 - 00185fa0: Charge Calculation 00185fa4 - 00185ff8: Weapon Element Strengthen 00185ffc - 00186050: Elemental Strengthen 00186054 - 00186148: Attack UP/Two Hands/Martial Arts 0018614c - 00186200: Formula 32, 33, 34, 35 Attack Up and Martial Arts 00186204 - 00186250: Magic Attack Up routine 00186254 - 001862c8: Attacker Berserk/Frog Check 001862cc - 00186318: Defense UP routine 0018631c - 00186368: Magic Defense Up routine 0018636c - 0018645c: Target XA affecting Statuses (Physical) 00186460 - 001864f4: Target's Status Affecting XA (Magical) 001864f8 - 00186564: Critical Hit Calculation 00186568 - 00186598: XA * YA Calculation 0018659c - 00186620: Set XA + YA for Status Formulas (Stupid section) 00186624 - 00186688: Calculate % of damage 0018668c - 001866e8: MP Damage Routine (Uses Y instead of X.) 001866ec - 00186740: Gravi2 Damage Routine 00186744 - 00186810: Steal Gil 00186814 - 001868ec: Set EXP Stolen 001868f0 - 00186918: Formula 36 0018691c - 001869e8: Damage and Knockback Routine (Dash, tackle, throw stone) 001869ec - 00186af4: Song abilities 00186af8 - 00186c00: Dance abilities 00186c04 - 00186cfc: Talk Skill 00186d00 - 00186d28: 3A +Brave (Y) 00186d2c - 00186d54: 39 +SP (Y) 00186d58 - 00186db8: 3B +Brave (X) +PA/MA/SP (Y) 00186dbc - 00186e24: 3C Heal (CasMaxHP*2/5) DmgCas (CasMaxHP/5) 00186e28 - 00186e50: 43 Dmg (CasMaxHP-CasCurHP) 00186e54 - 00186e74: 44 Dmg (TarCurMP) 00186e78 - 00186ea0: 45 Dmg (TarMaxHP-TarCurHP) 00186ea4 - 00186ecc: Y brave 00186ed0 - 00186fcc: Weather Elemental effects? 00186fd0 - 00186ff4: Elemental Damage Modification (Prep) 00186ff8 - 001870f8: Ability Elemental? Apply Elemental - Glain 001870fc - 0018714c: Elemental Absorption 00187150 - 00187244: Faith Calculation 00187248 - 0018734c: HP Absorbtion (Seems needlessly complex) 00187350 - 001873d4: Undead Reversal 001873d8 - 00187468: Undead Absorb Attack 0018746c - 001874e8: MP Recovery Routine -MP Absorb* 001874ec - 0018750c: Convert HP Damage into MP Recovery 00187510 - 001875b8: Use Specific Action Hit Percentage | Set XA*YA as hit% (Often appears after elemental absorb routine) 001875bc - 001875f8: Dragon Check 001875fc - 00187634: Sleep Check 00187638 - 0018768c: Maintenance 00187690 - 001876e0: Conditional Status Proc Roll (19%) Inner Routine 001876e4 - 0018772c: Store Reaction/Proc ID and Target 00187730 - 00187838: Magic Gun Ability Decision 0018783c - 0018785c: Quick Effect 00187860 - 0018790c: Determine which stat will be reduced 00187910 - 001879c4: Katana Break Chance 001879c8 - 00187c9c: Steal/Break/Might Sword Hard Coding 00187ca0 - 00187eb0: Formula 01 - 06 Aftermath 00187eb4 - 00187f20: Apply status (to action) - (Preserve hit status, evade type, hit %) 00187f24 - 00188284: Apply status (to action) Formula 38 00188288 - 001882c4: MP Healing Item Formula 001882c8 - 001882f4: 100% HP/MP Healing (actual) 001882f8 - 001883a8: Finger Guard 001883ac - 00188484: Catch 00188488 - 001884bc: Calculate Hit % 001884c0 - 0018850c: Conditional Status Proc Roll (19%) 00188510 - 00188564: Physical Evade Calculation 00188568 - 001885b4: Physical Evade Calculation(Charge) 001885b8 - 001885f4: Magical Evade Calculation 001885f8 - 00188634: Physical XA Modifying Statuses/Support 00188638 - 001886a0: Weapon Damage Calculation 001886a4 - 001886d0: Damage Calculation 001886d4 - 00188718: Routine used in formula 2B 0018871c - 00188740: Elemental Absorb and status roll 19% conditional status 00188744 - 00188778: Magical Support/Status/Compat 0018877c - 001887c0: Elemental XA * YA 001887c4 - 001887fc: Elemental Absorb/Status 00188800 - 00188854: MA + X 00188858 - 00188884: Magical XA * YA 00188888 - 00188960: 00188888_-_00188960 Calculate Accuracy as User Faith * (MA + X)% (Formula 1_4 Golem) 00188964 - 001889a0: Truth/Formula 5E-5F Magical damage 001889a4 - 001889c8: 2Truth/Formula 5E-5F Calculate damage 001889cc - 00188a20: Calculate Accuracy for Magical Spells 00188a24 - 00188a80: Calculate Accuracy for Magical 00188a84 - 00188ad8: MA + X without faith 00188adc - 00188b10: Cluster of Physical Routines 00188b14 - 00188b60: Physical Routine for Hit % abilities 00188b64 - 0018ac70: Formulas 00188b64 - 00188ba0:01 Dmg_(Weapon) 00188ba4 - 00188be0:02 Dmg_(Weapon) 00188be4 - 00188c20:03 Dmg_(WP^2) 00188c24 - 00188c98:04 Magic Gun 00188c9c - 00188cf0: 05 Dmg (Weapon) 00188cf4 - 00188d38: 06 AbsHP (Weapon) 00188d3c - 00188d80: 07 Heal (Weapon) 00188d84 - 00188df0: 08 Dmg F(MA*Y) 00188df4 - 00188e74: 09 Dmg (Y/100)% Hit F(MA+X)% 00188e78 - 00188eb4: 0A Hit F(MA+X)% 00188eb8 - 00188ef4: 0B Hit F(MA+X)% 00188ef8 - 00188f34: 0C Heal F(MA*Y) 00188f38 - 00188f8c: 0D Heal (Y)% Hit F(MA+X)% 00188f90 - 00189080: 0E Dmg (Y)% Hit F(MA+X)% 100% Status Hide Status 00189084 - 001890d8: 0F AbsMP (Y)% Hit F(MA+X)% 001890dc - 00189120: 10 AbsHP (Y)% Hit F(MA+X)% 00189124 - 00189160: 11 (does nothing), 12 Set Quick Hit F(MA+X)% 00189164 - 001891a8: 13 (does nothing), 14 Set Golem Hit CasF/100*(MA+X)% 001891ac - 00189200: 15 Set CT00 Hit F(MA+X)% 00189204 - 00189258: 16 DmgMP (TarCurMP) Hit F(MA+X)% 0018925c - 00189298: 17 Dmg (TarCurHP-1) Hit F(MA+X)% 0018929c - 001892a8: 18, 19 (does nothing) 001892ac - 00189338: 1A Hit F(MA+Y)% // -PA/MA/SP (X) 0018933c - 00189378: 1B DmgMP (MA+Y)% Hit F(X)% 0018937c - 001893d4: 1C Hit (X)% Sing 001893d8 - 00189430: 1D Hit (X)% Dance 00189434 - 00189460: 1E Dmg ((MA+Y)*MA/2) 00189464 - 001895c0: 1F Dmg ((100-CasF)*(100-TarF)*(MA+Y)*MA/2) 001895c4 - 001895f0: 20 Dmg (MA*Y) Draw Out 001895f4 - 00189650: 21 DmgMP (MA*Y) Draw Out 00189654 - 00189678: 22 Draw Out Hit 100% 0018967c - 001896b0: 23 Heal (MA*Y) Draw Out 001896b4 - 001896e8: 24 Dmg ((PA+Y)/2*MA) 001896ec - 00189790: 25 Equipped: Break Hit (PA+WP+X)% 00189794 - 00189824: 26 Equipped: Steal Hit (SP+X)% 00189828 - 0018986c: 27 StealGil (CasLVL*SP) Hit (SP+X)% 00189870 - 0018990c: 28 StealExp (Lowest of TarCurExp & SP+Y) Hit (SP+X)% 00189910 - 001899a0: 29 OppositeSex: Hit (MA+X)% 001899a4 - 00189a8c: 2A Hit (MA+X)% // AffectBraveOrFaith(Y) 00189a90 - 00189ad4: 2B Hit (PA+X)% // -PA/MA/SP (X) 00189ad8 - 00189b1c: 2C DmgMP (X)% Hit (PA+Y)% 00189b20 - 00189b90: 2D Dmg (PA*(WP+Y)) 100% Status 00189b94 - 00189c4c: 2E Equipped:Break Dmg (PA*WP) 00189c50 - 00189c8c: 2F AbsMP (PA*WP) 00189c90 - 00189ccc: 30 AbsHP (PA*WP) 00189cd0 - 00189d70: 31 Dmg ((PA+Y)/2*PA) 00189d74 - 00189e24: 32 Dmg (Rdm(1…X)*(PA*3+Y)) 00189e28 - 00189e90: 33 Hit (PA+X)% 00189e94 - 00189f04: 34 Heal (PA*Y) HealMP (PA*Y/2) 00189f08 - 00189f80: 35 Heal (Y)% Hit (PA+X)% 00189f84 - 00189fc8: 37 Dmg (Rdm(1…Y)*PA) 00189fcc - 0018a008: 3D Hit (MA+X)% 0018a00c - 0018a028: 3E Dmg (TarMaxHP-1) 0018a02c - 0018a084: 3F Hit (SP+X)% 0018a088 - 0018a110: 40 Undead: Hit (SP+X)% 0018a114 - 0018a178: 41 Hit (MA+X)% 0018a17c - 0018a214: 42 Dmg (PA*Y) DmgCas (PA*Y/X) 0018a218 - 0018a24c: 46 (doesn't work), 47 AbsHP (Y)% 100% Status 0018a250 - 0018a2a0: 48 Heal (Z*10) 0018a2a4 - 0018a2c0: 49 HealMP (Z*10) 0018a2c4 - 0018a2e8: Formula 4a - Elixir 0018a2ec - 0018a39c: 4B Heal (Rdm(1..9)) 100% Status 0018a3a0 - 0018a3cc: 4C Heal (MA*Y) 0018a3d0 - 0018a41c: 4D AbsHP (Y)% Hit (MA+X)% 0018a420 - 0018a454: 4E Dmg (MA*Y) 0018a458 - 0018a49c: 4F Dmg (CasMaxHP-CasCurHP) Hit (PA+X)% 0018a4a0 - 0018a4e4: 50 Hit (MA+X)% 0018a4e8 - 0018a550: 51 Hit (MA+X)% 0018a554 - 0018a5e0: 52 Dmg (CasMaxHP-CasCurHP) 100% Add Status Caster in AoE: DmgSelf (CasCurHP) 0018a5e4 - 0018a664: 53 Dmg (X)% Hit (MA+X)% 0018a668 - 0018a694: 54 HealMP (MA*Y) 0018a698 - 0018a6f4: 55 –PA (Y) Hit (MA+X)% 0018a6f8 - 0018a754: 56 –MA (Y) Hit (MA+X)% 0018a758 - 0018a820: 57 +Lvl(1) NS 100% Add Status on Caster 0018a824 - 0018a904: 58 Generic: Set Morbol: Hit(MA+X)% 0018a908 - 0018a97c: 59 –Lvl(1) Hit (MA+X)% 0018a980 - 0018a9c0: 5A Dragon: Hit(100)% 0018a9c4 - 0018aa0c: 5B Dragon: Heal (Y)% 100% Add Status 0018aa10 - 0018aa50: 5C Dragon: +Brave (X) +PA/MA/SP(Y) 0018aa54 - 0018aa94: 5D Dragon: Set Quick 0018aa98 - 0018aac4: 5E Dmg ((MA+Y)/2*MA) 0018aac8 - 0018aaf4: 5F Dmg ((MA+Y)/2*MA) 0018aaf8 - 0018ab14: 60 Dmg ((MA+Y)/2*MA) 6.25 Status 0018ab18 - 0018ab54: 61 –Brave (Y) Hit F(MA+X)% 0018ab58 - 0018ab94: 62 –Brave (Y) Hit (MA+X)% 0018ab98 - 0018ac40: 63 Dmg (SP*WP) 0018ac44 - 0018ac70: 64 Dmg (PA * WP); if using Spear (PA * 3/2 * WP); if weaponless (PA * Brave /100 * WP) 0018ac74 - 0018acd8: remove transparent status if Jump is used? 0018acdc - 0018ad54: Apply Status and Check Undead |Pheonix down on undead0018ad58 - 0018adf0: Double WP if two hands is equipped? 0018adf4 - 0018ae38: action data nulling 0018ae3c - 0018af28: Knockback? 0018af2c - 0018b270: Perform reaction abilities 0018b274 - 0018b348: Store used weapon based on action menu byte 0018b34c - 0018b9f4: Pre Formula Setup (FDC) 0018b9f8 - 0018ba40: Remove Status 0018ba44 - 0018bcec: set some data for current attack 0018bcf0 - 0018bd30: Called by Nullify Action - Glain 0018bd34 - 0018bd70: Remove Knockback Flag | ?Nullify steal item? 0018bd74 - 0018bdd0: Current Action Data Nulling 0018bdd4 - 0018be04: Null Some Status Data 0018be08 - 0018c67c: Main Reaction Routine - performs ability effects 0018c680 - 0018c754: Poach Inventory Routine 0018c758 - 0018c858: some kind of ENTD/Unit manipulation 0018c85c - 0018c91c: Level up/down ability 0018c920 - 0018c964: Check if unit can react 1 0018c968 - 0018c99c: Check if unit can react? 0018c9a0 - 0018c9e0: Reaction check? 0018c9e4 - 0018cafc: 'Reflect', Blade Grasp, and Arrow Guard 0018cb00 - 0018cc30: Sunken State, Caution, Dragon Spirit, etc. usability 0018cc34 - 0018ccd4: MP Switch, Distribute, and Damage Split usability 0018ccd8 - 0018ce00: PA Save, MA Save, Speed Save Regenerator, HP Restore, MP Restore, Critical Quick, Meatbone Slash, Auto Potion, Gilgame Heart check 0018ce04 - 0018ce84: Counter, Counter Tackle, Counter Flood, Brave Up, Dragon Spirit, Sunken State, and Caution Usability usability 0018ce88 - 0018cef0: PA Save, MA Save, Speed Save, Regenerator, Auto Potion, Gilgame Heart usability 0018cef4 - 0018cf70: Critical Quick, HP Restore, MP Restore, Meatbone Slash usability 0018cf74 - 0018cfe4: Face Up and Absorb Used MP usability 0018cfe8 - 0018d04c: Reflect Reaction? 0018d050 - 0018d0e4: Blade Grasp Usability 0018d0e8 - 0018d1b4: Arrow Guard Usability 0018d1b8 - 0018d2a4: MP Switch Usability 0018d2a8 - 0018d314: Distribute Usability 0018d318 - 0018d380: Damage Split Usability 0018d384 - 0018d3bc: Chance to React 0018d3c0 - 0018d56c: Steal Routine 0018d570 - 0018d61c: Stat Increment/Decrement 0018d620 - 0018d708: Attacker's Earned Experience 0018d70c - 0018d7c4: Store target stats pointer data calls main action loading routine 0018d7c8 - 0018d864: Poison and Regen 0018d868 - 0018d90c: Transparent removal routine 0018d910 - 0018da00: Process Expiring Statuses | status CT decrement and innate statuses? 0018da04 - 0018da40: Set Action Target Variables | target pointers 0018da44 - 0018da84: Crystal, Dead, Jump, Petrify, Treasure check 0018da88 - 0018dbac: Poison Marsh Routine 0018dbb0 - 0018dd40: Traps Routine 0018dd44 - 0018df08: Move-HP Up, Move-MP Up, Gained Exp Up 0018dff8 - 0018e078: Main Reaction subroutine - ENTD/ID stuff - Calculate Unlocked Jobs/set ability element = dark? 0018e248 - 0018e30c: Inflicted_status_CT_setting,_xfer_last_used_CT 0018e310 - 0018e5e0: Store_status,modified_ENTD_for_current_attack 0018e6b8 - 0018e8a8: Process Learn on Hit 0018e8ac - 0018e9b8: Learn Used Ability 0018e9bc - 0018e9e4: Enable Special Status Flags | Determine if Status Flags can be Enabled 0018e9e8 - 0018ea94: Item quantity increment for steal/break? 0018ea98 - 0018eb4c: Add price of item / 4 to total gil 0018eb50 - 0018ec0c: Handle Steal Exp | Apply Exp gain / Level up 0018ec44 - 0018ed78: Apply Unit Action Status Removal 0018edf8 - 0018ee20: Store ability data 80193868 + 0x10 bytes 0018ee24 - 0018ee64: Count number of targets hit by ability 0018eea0 - 0018eed4: Random Process, gives a number between 0-7fff 0018eed8 - 0018ef28: Random Process, (gives a random based on r4 (MOD) and checks against r5 (chance to work)) 0018ef34 - 0018f034: Current Action Attacker Data Setting 0018f624 - 0018f7a0: Formula Table 001941f8 - 00194310: Acting Unit's Data Setup (AI?) 00195878 - 00195d90: AI Ability Data Setting *This is called when ability is chosen by AI, r4 = address of move in units move list 00195944 - 001959d0: AI Ability Data Setting - Attack 001959d4 - 00195a20: AI Ability Data Setting - AI Item Inventory 00195a24 - 00195a2c: AI Ability Data Setting - Katana Inventory 00195a30 - 00195a8c: AI Ability Data Setting - Weapon Inventory 00195a90 - 00195b9c: AI Ability Data Setting - Jump 00195ba0 - 00195bb8: AI Ability Data Setting - Charge 00195bbc - 00195bfc: AI Ability Data Setting - Arithmeticks 00195c00 - 00195d90: AI Ability Data Setting - Default 00196ce8 - 00196dac: Check if Unit can be Targeted (Cryst/Trea/Mount/Trans) 001978e4 - 00197958: Find Direction of Target 00199124 - 00199368: Calculate Physical? Target 0019936c - 0019939c: Calculate Distance Between Units 001998c8 - 001999c4: Check if Regen/Charm/DM/Reraise/DA Can be Inflicted 00199b98 - 00199c84: Calculate Clockticks Until Unit Acts 00199ec8 - 0019a2c8: Usable Ability Setting/ENTD AI Calculations 0019a2cc - 0019a2ec: Dividend * 4 / Divisor 0019a2f0 - 0019a528: Set AI Flags/Usable Abilities 0019a52c - 0019a5f4: Store Weapon? Attack Data 0019a5f8 - 0019a638: Usable Ability Setting 0019a63c - 0019a66c: Part of the Weapon Inventory 0019a670 - 0019aa4c: Ability Loading 0019a6a4 - 0019a7a0: Ability Loading - Weapon Inventory 0019a7a4 - 0019a7e0: Ability Loading - Arithmeticks 0019a7e4 - 0019a814: Ability Loading - Charge 0019a818 - 0019a994: Ability Loading - Others 0019a998 - 0019a9c4: Ability Loading - Jump 1 0019a9f8 - 0019aa4c: Ability Loading - Jump 2 0019aa50 - 0019ab04: Load Known Ability Flag 0019ab08 - 0019ab44: Transfer Halfword Values 0019ab48 - 0019ab74: Transfer Byte Values 0019ab78 - 0019abb0: Word Nulling 0019ad74 - 0019ae2c: Determine if Height Difference < 3 0019b6b0 - 0019b750: Calculate Height Difference Between Units 0019bb20 - 0019bbb8: Check Unit for Crystal or Treasure Status 0019d294 - 0019d304: Find Unit at Coordinates (0x19d294) 0019e160 - 0019e374: Transfer Unit Data to AI Data 0019e378 - 0019e53c: Transfer AI Data to Unit Data 0019e5d8 - 0019ef20: AI Ability Use Decisions 0019ef24 - 0019efac: Check if Status Should/Can be Added 0019f258 - 0019f2a0: Save Coordinates to Temp Unit 0019f2a4 - 0019f2f0: Transfer Unit Coordinates to AI 001a0e80 - 001a0f6c: Effect Palette Setup 001a0fa0 - 001a0fd0: Set Effect Frame Data Pointer | Get Start of Frame Pointers Address 001a0fd4 - 001a100c: Get Start of Parameter Sets Address 001a1010 - 001a1040: Get Header before Motion Data Address 001a1044 - 001a1074: Get Coordinate Data Address 001a1078 - 001a10a8: Get Motion Data Address 001a10ac - 001a10e8: Get Misc. Data and Palette Data Addresses 001a1198 - 001a11c8: Get ??? Data Address 001a13bc - 001a15b0: Effect Related (0x1a13bc) 001a15b4 - 001a1810: Ability animation uses animation flags (Ball Hardcoding) | Effect Related (0x1a15b4) 001a1814 - 001a1850: Load ability effect Stores pre-cast effects, has some hardcodings. Also transfers lots of important effect data to 0x1bad0c 001a1880 - 001a18a0: Play Effect 001a18d8 - 001a1c3c: Effect Stage Processing | Effect Control Routine 001a1c40 - 001a1c8c: Effect Cycle Processing 001a1c90 - 001a1d24: Effect Related (0x1a1c90) 001a1d28 - 001a1d98: Effect Related (0x1a1d28) 001a1d9c - 001a2080: Effect Related (0x1a1d9c) 001a20b4 - 001a20e4: Clear some data in temp effect data 2 001a20e8 - 001a2210: Effect Related (0x1a20e8) 001a2374 - 001a23a4: Effect Code Script 0x05 001a2998 - 001a29dc: Effect Code Script 0x16 001a2c28 - 001a2c78: Effect Code Script 0x1d 001a4000 - 001a419c: Effect Related (0x1a4000) 001a4cf0 - 001a4d98: Run Effect Block 001a4de8 - 001a4e98: 0x1a4de8 001a5c3c - 001a5d70: 0x1a5c3c 001a60ac - 001a7f58: Effect Graphics 001a90d0 - 001a9314: Get Effect Screen Location Data From Unit Data 001aab90 - 001aac24: 0x1aab90 001aad98 - 001ab1d0: Effect Camera Rotation 001ab1d4 - 001ab58c: Effect Camera Movement 001ab724 - 001aca54: Effect Related (0x1ab724) 001acf90 - 001ad194: 0x1acf90 001ad198 - 001ad628: 0x1ad198 001ad828 - 001ad940: Effect Related (0x1ad828) 001add54 - 001ade78: Effect Related (0x1add54) 001adfac - 001adfe8: Get Ninja Ball effect based on weapons element. Only valid entries for fire,water,lightning 001af3a4 - 001af3d8: 001af3a4_-_001af3d8 Little math for arcing trajectory 001af3dc - 001af584 Maths_For_Arcing_Trajectory 001af59c - 001af6d4: 001af59c_-_001af6d4 Trajectory/Vectors maths routines (for arcing weapons) 001af734 - 001af76c: Give Gravity Impact Arc related 001af770 - 001af8b0: List_targeting_data_of_all_valid_units 001af8b4 - 001afb34: Seek_Obstacle_On_Trajectory 001afb38 - 001afd8c Set Arcing Trajectory 001afd90 - 001aff14: 001afd90_-_001aff14 001b06d0 - 001b0814: 001b06d0_-_001b0814 001b0818 - 001b0a8c: 001b0818_-_001b0a8c 001b0a90 - 001b0c84: 001b0a90_-_001b0c84 No calling routine ? 001b47e0 - 001b48cc: Effect Related (0x1b47e0)
OPEN.BIN RAM
000670f0 - 00067208: OPEN.BIN Main Routine 00067d84 - 00067e64: Button Input Related? (0x67d84) 00068268 - 00068380: Button Input Related? (0x68268) 0006854c - 000685e8: ? 0x6854c 00068cd0 - 00068d7c: ? 0x68cd0 0006920c - 000696c4: Birthday Menu Related? (0x6920c) 000697b0 - 000698bc: Birthday Menu Graphics Related? (0x697b0) 00069eb4 - 00069f20: ? 0x69eb4 0006b990 - 0006bb70: Display Birthday Menu Text 0006bde0 - 0006c0cc: Handle Birthday Menu Input 0006c464 - 0006c74c: Handle Confirm Menu Input (OPEN.BIN) 0006c96c - 0006c9c0: Display Birthday Menu Text Entry
ATTACK.OUT RAM
001c3078 - 001c33a4: ? 0x1c3078 (Determines fieldable units) 001c33a8 - 001c33c0: Load Halfword (ATTACK.OUT) 001c34b4 - 001c3afc: Load Scenario Conditionals 001c5be0 - 001c60dc: 0x1c5be0 001c9d68 - 001c9ebc: Show Map Title
REQUIRE.OUT RAM
001c4740 - 001c4ab0: Post-battle (0x1c4740) 001c6000 - 001c609c: Get Free Party Slot Status 001c60a0 - 001c6984: Post-battle party full unit join selection 001c6988 - 001c716c: Post-battle Unit Changes 001c7170 - 001c7358: Handle War Trophies and Bonus Money
ETC.OUT RAM
001bf01c - 001bf3d4: Show Graphic 001c017c - 001c03a8: Show Chapter Title 001c03ac - 001c05d0: Show Gameover Image 001c05d4 - 001c0644: Show Graphic (Async)
BUNIT.OUT RAM
001c6854 - 001c6e04