Difference between revisions of "BATTLE.BIN Routines"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
Line 2,014: Line 2,014:
 
[[00142508 - 001425ac]]:
 
[[00142508 - 001425ac]]:
  
[[001425b0 - 00142688]]:
+
[[001425b0 - 00142688]]: [[Process Scenario Conditionals]]
  
 
[[0014268c - 00142b58]]:
 
[[0014268c - 00142b58]]:

Revision as of 12:25, 22 October 2018

BATTLE.BIN RAM

00067000 - 00067794: Return Addresses

00067798 - 0006780c: ??? some data

00067810 - 000683b8: Return addresses and sparse data

000683c0 - 000683d0: Store AT list ID = 1

000683d4 - 000683e0: Store AT list ID = 0

000683e4 - 00068414: Transfer Unit's X/Y/Map Level

00068418 - 00068490: X/Y Data Gathering for Attacks?

00068494 - 00068530: Store Palette data for each unit

00068534 - 00068630: Palette modification based on team

00068634 - 00068678: Highlight units based on Team 2 (Square pressed during free cursor)

0006867c - 000686ac: Increment AT List ID

000686b0 - 00068764: AT List Check if Unit is Charging Ability

00068768 - 00068790: check something and clear AT list ID

00068794 - 000687a0: Clear AT list ID

000687a4 - 000687b8: Clear 960f8 and 960fc

000687bc - 000687dc: Transfer Palette

000687e0 - 00068948: Set evade special effects based on Evade Type Weapon Break, Golem Hand, etc.

0006894c - 000689a0: Set evade type data and weapon element effect

000689a4 - 00068a1c: Set evade type data, item and throw stone hardcoding

00068a20 - 00068a70: set some palette stuff

00068a74 - 00068a90: Call palette routine 1

00068a94 - 00068ab0: Call palette routine 2

00068ab4 - 00068ad0: Call palette routine 3

00068ad4 - 00068af0: Call palette routine 4

00068af4 - 00068b10: Call palette routine 5

00068b14 - 00068b30: Call palette routine 6

00068b34 - 00068b50: Call palette routine 7

00068b54 - 00068b90: Set targets animation 1 based on attack type

00068b94 - 00068bd0: Set targets animation 2 based on attack type

00068bd4 - 00068c14: Jump to post action display

00068c18 - 00068c7c: Set Bow Hardcoding

00068c80 - 00068cc0: Call Bow Hardcoding routine

00068cc4 - 00068d04: Call Bow Hardcoding routine

00068d08 - 00068e2c: Status/sprite transformation/animation display setting

00068e30 - 00068e54: Jump to 68d08

00068e58 - 00068e7c: Jump to 68d08 2

00068e80 - 000690f4: Special Status Flag Enabling?

000690f8 - 0006912c: Jump to set item graphic/palette (83758)

00069130 - 00069250:

00069254 - 000692b8: Set some data for Mounted Units

000692bc - 00069338: Set Animation/Facing for Mounted Units

0006933c - 000693f0:

000693f4 - 000694d4:

000694d8 - 00069740:

00069744 - 000699f0:

000699f4 - 00069af4:

00069af8 - 00069bf4:

00069bf8 - 00069cf8:

00069cfc - 00069df8:

00069dfc - 00069e64:

00069e68 - 00069edc: Initialize Units Coordinates, Animation, Facing

00069ee0 - 00069f10: Transfer Palette and store 0x7F in misc data

00069f14 - 0006a07c:

0006a080 - 0006a208:

0006a20c - 0006a37c: Move target coordinates after knockback

0006a380 - 0006a534:

0006a538 - 0006a7bc:

0006a7c0 - 0006aa7c:

0006aa80 - 0006ad14:

0006ad18 - 0006af78:

0006af7c - 0006b95c:

0006b960 - 0006b990:

0006b994 - 0006ba34:

0006ba38 - 0006bad4: Palette adjustment based on Tile Type

0006bad8 - 0006bbf8:

0006bbfc - 0006bce0: Store Coordinate,Mount,Animation Data

0006bce4 - 0006bda4:

0006bda8 - 0006be88:

0006be8c - 0006c020:

0006c024 - 0006c2b8:

0006c2bc - 0006c31c:

0006c320 - 0006c3d4:

0006c3d8 - 0006c418:

0006c41c - 0006c4f4:

0006c4f8 - 0006c78c:

0006c790 - 0006c874:

0006c878 - 0006c948:

0006c94c - 0006ca38:

0006ca3c - 0006cacc: test

0006cad0 - 0006cbb4:

0006cbb8 - 0006cc90:

0006cc94 - 0006d05c: Some Knockback Handling

0006d060 - 0006d19c:

0006d1a0 - 0006d284:

0006d288 - 0006d340:

0006d344 - 0006d430:

0006d434 - 0006d594:

0006d598 - 0006d798:

0006d79c - 0006d7c0:

0006d7c4 - 0006d7e0: Call Initialize Units Coordinates, Animation, Facing

0006d7e4 - 0006d814:

0006d818 - 0006db0c:

0006db10 - 0006dc88: Knockback Processing

0006dc8c - 0006dda8: Knockback with bows?

0006ddac - 0006dde8: Transfer Target Coordinates (knockback) knockback with bows?

0006ddec - 0006e558: free cursor input related

0006e55c - 0006e5bc: Store Name and data of unit selected by cursor

0006e5c0 - 0006e630: Store Name and Data of unit selected by cursor 2

0006e634 - 0006e6ac: Store Casting Units Name and Data selected by cursor

0006e6b0 - 0006e7c4:

0006e7c8 - 0006eed8: Free Cursor Selection Routine

0006eedc - 0006eeec: Set Game Flow Variable to 1

0006eef0 - 0006eefc: Set Game Flow Variable to 0

0006ef00 - 0006f138:

0006f13c - 0006f170: Rotate Map (Counterclockwise?) 2 L1 controller input

0006f174 - 0006f1a4: Rotate Map (Counterclockwise?)

0006f1a8 - 0006f1dc: Rotate Map (Clockwise?) 2 R1 Controller input

0006f1e0 - 0006f214: Rotate Map (Clockwise?)

0006f218 - 0006f288: L1 and R1 rotation

0006f28c - 0006f31c:

0006f320 - 0006f4ac:

0006f4b0 - 0006f5b8: Change Map Zoom 2

0006f5bc - 0006f630:

0006f634 - 0006f674: Change Map Zoom (L2 Controller Input)

0006f678 - 0006f7c0:

0006f7c4 - 0006f8c4: Tilt Map/Zoom 2

0006f8c8 - 0006f964:

0006f968 - 0006f9a8: Tilt Map/Zoom(R2 Controller Input)

0006f9ac - 0006fb4c:

0006fb50 - 0006fc04:

0006fc08 - 0006fc64:

0006fc68 - 0006fdf4:

0006fdf8 - 0006fe54:

0006fe58 - 000700b8:

000700bc - 000702e0:

000702e4 - 0007063c:

00070640 - 000707c0:

000707c4 - 0007081c:

00070820 - 00070994: Some Tile - map rotation interaction

00070998 - 000709f8: Set casting unit ID = FF 2

000709fc - 00070a34: Set casting unit ID = FF 1

00070a38 - 00070b78: Some system routines for ramza crystal, ability CT resolution

00070b7c - 00070c00: Store ENTD flags into misc data w/o control flag

00070c04 - 00070c74: Set next script = action menusPressed confirm while not highlighting any unit, also happens after completing move

  • Stores Script 0x03

00070c78 - 00070cd8:

00070cdc - 00070d14: Store next Battle flow script = 1 (Select pressed during free cursor)

00070d18 - 00070dd8:

00070ddc - 00070e20:

00070e24 - 00070e68:

00070e6c - 00071004: In between turn events mimic, ability cast, traps, etc.

00071008 - 000711a0: - ???? happened for me before and after Mimic action

  • Stores Script 0x27

000711a4 - 000712d4: - This happened after music started. I believe the map had not been shown yet. Was in mid-rotation of map if i remember correctly. Please test.

  • Stores Script 0x27

000712d8 - 00071348:

0007134c - 0007139c: Highlight units based on team (Square pressed during free cursor)

000713a0 - 00071430: Menu stuff? - selecting the active unit.

  • Stores Script 0x04

00071434 - 000714f0:- every time you select a unit, and there are choices. For example, selecting one of your own non active units, or checking enemy unit status. Number does not change if you go deeper into the menus

  • Stores Script 0x04

000714f4 - 000715a4: Menu stuff

000715a8 - 000715e4:- pressing select to read further information on an action command or status screen. Basically any time while the above is true- Pressing Cancel on a unit to check how far they can move.

  • Stores Script 0x06, 0x07

000715e8 - 00071664:

00071668 - 00071698:- Pressing Triangle to bring up the AT, Unit list and Options. Does not change if you go deeper into the menus unless you select a unit in AT list.

  • Stores Script 0x08

0007169c - 000716d8:

000716dc - 00071718:- pressing select while in the AT, Unit list and Options. Pressing Select while in Unit List does not change number.

  • Stores Script 0x09

0007171c - 000717c8: Get next acting unit? - Selecting a unit in the AT list.

  • Stores Script 0x0a

000717cc - 00071820:- Pressed "Move" Command

  • Stores Script 0x0c

00071824 - 00071878:

0007187c - 00071928:- Pressed Circle to remove the reminder on how to move a unit, also after removing "Select within movable range" box

  • Stores Script 0x0d

0007192c - 00071980:- "select within movable range" box appeared. selected tree (unpathable) as movement location. works for spaces outside of range as well

  • Stores Script 0x0f

00071984 - 00071a78: - selected a spot within legal distance (blue square)

  • Stores Script 0x10

00071a7c - 00071ab4:


00071ab8 - 00071b48:- blue squares disappeared, unit walks to location

  • Stores Script 0x11

00071b4c - 00071c88: - unit finishes walking to location "are you sure you want to move here?" box appears

  • Stores Script 0x12

00071c8c - 00071ce8: - happens right after confirming move command, attack command

  • Stores Script 0x25

00071cec - 00071de4:

00071de8 - 00071e64:

00071e68 - 00071ee4:Post Movement Display- confirm move command

00071ee8 - 000723d0: Main Post Movement

  • Stores Script 0x15

000723d4 - 0007245c: Post Movement Display Prep

00072460 - 00072540: - begin choosing facing for Wait

  • Stores Script 0x13

00072544 - 00072670: - Choose Wait action, or Move/Act used up

  • Stores Script 0x14

00072674 - 00072708:

0007270c - 00072738: Turn sprite towards attack

0007273c - 00072924: Movement/action direction setting?

00072928 - 00072a0c: Rider/Mount X/Y/Facing Setting?

00072a10 - 00072a84:

00072a88 - 00072acc: Check if Facing Needs Changed?

00072ad0 - 00072b10: - also happens after confirming move command or attack command, happens after 0x71c9c

  • Stores Script 0x26

00072b14 - 00072b4c:

00072b50 - 00072bec: Range 1 Ability Used

  • Stores Script 0x16

- happens right after 0x73bac, unit attacks, this section will happen twice for 2 swords attacks

  • Stores Script 0x2d

00072bf0 - 00072ce4: Set item/throw stone ability display stuff?

00072ce8 - 00072d88:- unit stands straight, break happened twice in a row, goes back to 0x73bac for 2 swords ori r2,r0,0x2f

  • Stores SCript 0x2f

00072d8c - 00073160:

00073164 - 000731d4:

000731d8 - 0007324c:

00073250 - 000732c4:

000732c8 - 000734c8: Battle Message Display- attack finishes, this section will happen twice for 2 swords attacks

  • Stores Script 0x2e

000734cc - 00073634:- finish Attack command, happened 3x in a row

  • Stores Script 0x28

00073638 - 000736d0:

000736d4 - 000739c8: Ability effect calculations critical hit, reflect, etc.

000739cc - 00073b98: Action phase control- ???? Something about Mimic- also happens after executing command, happens after 0x7418c

  • Stores Script 0x29
  • Stores Script 0x29

00073b9c - 00073ee8: set some target coordinates/attacker animation, others - unit status compltely gone, unit is about to attack, this section will happen twice for 2 swords attacks

  • Stores Script 0x2c

00073eec - 00073fb4: Set damage display type based on ability - ???? Only during Mimic

  • Stores Script 0x2b (Return from mimic?)

00073fb8 - 00073fdc:- happens after 0x73a78, unit status at bottom of screen almost completely disappeared. Means one of the previous menus was to hide the unit status

  • Stores Script 0x2a

00073fe0 - 00074064: Store animation and facing based on animation flag 1- Execute action chosen

  • Stores Script 0x1c

00074068 - 000740d0:

000740d4 - 00074200: - happens right after choosing Execute

  • Stores Script 0x1e

00074204 - 000742c4:- ????happened during Mimic

  • Stores Script 0x1e

000742c8 - 00074304:

00074308 - 0007446c: - choosing valid location (red box)

  • Stores Script 0x19

00074470 - 000744c4:- choosing out of range target location

  • Stores Script 0x18

000744c8 - 000745a8: - happens right before red boxes appear for targetting

  • Stores Script 0x17

000745ac - 000746a8: - confirming location, "Executing action" box appears

  • Stores Script 0x1b

000746ac - 000747b4:

000747b8 - 00074810:

00074814 - 00074858:

0007485c - 0007492c:

00074930 - 000749c4:

000749c8 - 00074a38:

00074a3c - 00074abc:

00074ac0 - 00074af4:

00074af8 - 00074b14: - Something about Mimic

  • Stores Script 0x17

00074b18 - 00074b34:

00074b38 - 00074b64:

00074b68 - 00074ba8:

00074bac - 00074bf4:

00074bf8 - 00074dcc: Free Cursor Controller Input

  • Script 0x00

00074dd0 - 00074e28: Get Tile Information when Select is pressed

  • Script 0x01

00074e2c - 00074e90: Controller input related

  • Script 0x02

00074e94 - 00074f58: Action Menus

  • Script 0x03

00074f5c - 0007530c: Decide what to do based on skillset/ability selections?

  • Script 0x04

00075310 - 000755f8: Set move/act based on skillset mainly for defend/eq.change - also sets other flags

  • Script 0x05

000755fc - 0007568c:

  • Script 0x06

00075690 - 00075718: has more controller input

  • Script 0x07

0007571c - 000757c0: has more controller input

  • Script 0x08

000757c4 - 0007581c:

  • Script 0x09

00075820 - 00075878: has more controller input

  • Script 0x0a

0007587c - 0007590c:

  • Script 0x0f

00075910 - 00075c30:

  • Script 0x10

00075c34 - 00075c9c:

  • Script 0x11

00075ca0 - 00075d08:

  • Script 0x12

00075d0c - 00075dac:

  • Script 0x13

00075db0 - 00075e64:

  • Script 0x14

00075e68 - 00075f0c:

00075f10 - 00076018:

0007601c - 000761c8:

000761cc - 00076298:

  • Script 0x15

0007629c - 00076354:

  • Script 0x17

00076358 - 0007642c:

00076430 - 00076654:

  • Script 0x16

00076658 - 00076918: has learn from crystal, move XX up

  • Script 0x18

0007691c - 000769ac:

  • Script 0x19

000769b0 - 00076b78: while unit is moving?

  • Script 0x1a

00076b7c - 00076be4:

  • Script 0x1b

00076be8 - 00076c4c: Sets next script = 1?

  • Script 0x1d

00076c50 - 00076d80:

  • Script 0x1c

00076d84 - 00076f0c: stores animation/facing based on ability flags 1

  • Script 0x1e

00076d84 - 00076f10:

00076f14 - 00076fcc:

  • Script 0x1f -

00076fd0 - 00077094:

  • Script 0x20

00077098 - 00077130: Action occurring

  • Script 0x21 -

00077134 - 0007719c: action related

  • Script 0x22

000771a0 - 00077310: action related

  • Script 0x23

00077314 - 00077374: loads effect LBA sector

  • Script 0x24

00077378 - 000773b0: Item, throw stone hardcoding

  • script 0x25

000773b4 - 000773f4:

000773f8 - 0007775c: Big action/ability display

  • Script 0x26

00077760 - 000777e8:

  • Script 0x27

000777ec - 0007799c: action related

  • Script 0x28

000779a0 - 00077b54:

  • Script 0x29

00077b58 - 00077bd4:

00077bd8 - 00077c04: small one

  • Script 0x2a

00077c08 - 00077c34: also small

  • Script 0x2b

00077c38 - 00077ca0:

  • Script 0x2c

00077ca4 - 00077e18: controller input checked

  • Script 0x2d

00077e1c - 00077e84:

  • Script 0x2e

00077e88 - 00077f64: AI target processing?

  • Script 0x2f

00077f68 - 0007802c:

  • Script 0x30

00078030 - 0007809c: Controller input checked

  • Script 0x31

000780a0 - 00078144:

  • Script 0x0b

00078148 - 00078324: Copy 0x16e in unit data to misc data, display processing

  • Script 0x0e

00078328 - 00078438:

  • Script 0x0d

0007843c - 00078500:

  • Script 0x0e

00078504 - 000785a8: this one looks cool

  • Script 0x32

000785ac - 000787d8: checks each unit for something and controller input

  • Script 0x33

000787dc - 000787f8:

000787fc - 00078960:

  • Script 0x34

00078964 - 00078ac8:

  • Script 0x37

00078acc - 00078bf0:

  • Script 0x3a

00078bf4 - 00078d1c:

  • Script 0x35

00078d20 - 00078e54:

  • Script 0x38

00078e58 - 00078fb0:

  • Script 0x36

00078fb4 - 000791e4:

  • Script 0x39

000791e8 - 00079294:

00079298 - 00079a94:

00079a98 - 0007a1d0: Game Flow Control routine

0007a1d4 - 0007a214: Get casting unit's misc data data that matches 0x9112c

0007a218 - 0007a258: Get Casting units Misc Data

0007a25c - 0007a2b4: Get Misc Data of unit that matches register inputs

0007a2b8 - 0007a3f4: Check if unit is on panel?

0007a3f8 - 0007a4f0: Get misc data of unit that matches register inputs that isn't crystal/treasure

0007a4f4 - 0007a5cc: Some thing wtih check if chocobo is on panel

0007a5d0 - 0007a6e0:

0007a6e4 - 0007a720: Find Current Misc Unit Data Pointer (external ID)?

0007a724 - 0007a770: Get unit misc data that matches r4 ID

0007a724 - 0007a770: Find Misc Unit Data Pointer (checking for specific unit)?

0007a774 - 0007a7b4: Count number of WEP sheets loaded?

0007a7b8 - 0007a83c:

0007a840 - 0007a964:

0007a968 - 0007a9ac:

0007a9b0 - 0007aa30:

0007aa34 - 0007abcc:

0007abd0 - 0007ac5c: Initialize some display data

0007ac60 - 0007aca8: Unit RGB/Sprite Type/? Initialization

0007acac - 0007ad04: Initialize WEP1 sprite RGB

0007ad08 - 0007adb0: Initialize RGB and some more stuff

0007adb4 - 0007ae44: Initialize Status bubble sprite displays

0007ae48 - 0007aec8: Initialize item sprite display

0007aecc - 0007af04: Call store screen offsets to GTE

0007af08 - 0007af40:

0007af44 - 0007b4e8:

0007b4ec - 0007b52c: Store Sprite Display Data

0007b530 - 0007b550:

0007b554 - 0007b588:

0007b58c - 0007b684:

0007b688 - 0007b6a4:

0007b6a8 - 0007b6c4:

0007b6c8 - 0007b928:

0007b92c - 0007b948:

0007b94c - 0007b968:

0007b96c - 0007b9cc: Store vx, vy, vz vectors

0007b9d0 - 0007c440:

0007c444 - 0007c808:

0007c80c - 0007cff4: Slope Calculations (HUGE)

0007cff8 - 0007d09c:

0007d0a0 - 0007d0d0:

0007d0d4 - 0007d2d8:

0007d2dc - 0007d34c:

0007d350 - 0007d3f0:

0007d3f4 - 0007d474:

0007d478 - 0007d518:

0007d51c - 0007d5cc:

0007d5d0 - 0007db18:

0007db1c - 0007e300:

0007e304 - 0007e728:

0007e72c - 0007e9a4:

0007e9a8 - 0007eb88:

0007eb8c - 0007eebc:

0007eec0 - 0007f1d0:

0007f1d4 - 0007f23c:

0007f240 - 0007f2a8:

0007f2ac - 0007f3fc:

0007f400 - 0007f458:

0007f45c - 0007f508: Store Item's Display Data

0007f50c - 0007f5f4:

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*

00080f04 - 00080f40: Something to do with palette?

00080f44 - 00080fe8: Prep for Displaying Earned Exp/JP

00080fec - 000810a0: Activate numerical sprite data?

000810a4 - 00081974: More post action display?

00081978 - 00081984: Store unit animation and facing value

00081988 - 000819a4: Store unit animation/facing/someothervalue

000819a8 - 00081a04: Get some Spritesheet data address

00081a08 - 00081a54:

00081a58 - 00081a90:

00081a94 - 00081acc:

00081ad0 - 00081adc: r2 = 0x800b669c

00081ae0 - 00081aec: r2 = 0x800b6edc

00081af0 - 00081b08:

00081b0c - 00081b84: Store some coordinate data

00081b88 - 00081c18: Store some movement coordinate data

00081c1c - 00081c5c:

00081c60 - 00081d50: Save Spritesheet ID to spritesheet data

00081d54 - 0008210c: Weather/time of day/tile palette modification

00082110 - 000822b8: Special spritesheet ID palette mods?

000822bc - 00082464: palette mod by status

00082468 - 00082504: check for tile, status palette mod

00082508 - 0008254c: Status/? Misc ID checks

00082550 - 00082588: Transparent Check (for opacity?)

0008258c - 0008261c:

00082620 - 00082788: Set some display/anim data for weapon/evade types

0008278c - 00082888: Movement validation - float/fly?

0008288c - 00082a40: Target spritesheet calculations?

00082a44 - 00082b18: Set animation for Item abilities

00082b1c - 00082b7c: Store attack animation flags and facing 1

00082b80 - 00082c0c: Set attack animation flags and facing 2

00082c10 - 00082cc0: Set attack animation flags and facing 3

00082cc4 - 00082d4c: Set Level up/Job level up animations?

00082d50 - 00082df4:

00082df8 - 00082ee8:

00082eec - 000831b4: Set Animation based on status

000831b8 - 00083468: More animation based on status, death sound effects

0008346c - 0008356c: Poach/Morbol Transformation Can change spritesheet ID here

00083570 - 00083754: Sprite changing stuff? crystal, frog, etc.

00083758 - 00083850: Set thrown item graphic/palette also throw stone

00083854 - 00083870:

00083874 - 00083974: Set attacker animation for shield block

00083978 - 00083c54: Set targets animation based on attack type

00083c58 - 00083cd0: Sprite display setting for all units based on attack

00083cd4 - 00083e0c:

00083e10 - 00083f14:

00083f18 - 00084210:

00084214 - 000846ac: Update Sprite display data

000846b0 - 00084754: Something to do with unit facing?

00084758 - 0008476c:

00084770 - 00084814:

00084818 - 00085230: ??? Has damage display hardcording for arm aim/lucavi abilities

00085234 - 00085268:

0008526c - 00085a14: Load WEP graphic from WEP1 Sheet

00085a18 - 00085b9c:

00085ba0 - 00085c08:

00085c0c - 000865a0:

000865a4 - 0008663c:

00086640 - 00086b40:

00086b44 - 00086dc0:

00086dc4 - 00086f28:

00086f2c - 00087060:

00087064 - 000870a8:

000870ac - 00087198:

0008719c - 000871f0:

000871f4 - 000872e8:

000872ec - 000873b8:

000873bc - 000875ec:

000875f0 - 00087700:

00087704 - 000878a0:

000878a4 - 000879b4:

000879b8 - 00087a24:

00087a28 - 00088014: Misc unit data initialization

00088018 - 0008812c:

00088130 - 00088804:

00088808 - 0008883c:

00088840 - 00088864:

00088868 - 00088900:

00088904 - 00088ee8:

00088eec - 000890b4:

000890b8 - 00089248:

0008924c - 00089380:

00089384 - 00089458:

0008945c - 00089524:

00089528 - 00089550:

00089554 - 00089578:

0008957c - 000895c0:

000895c4 - 00089634:

00089638 - 00089744:

00089748 - 000897d8:

000897dc - 0008989c:

000898a0 - 00089b9c:

00089ba0 - 00089d9c:

00089da0 - 00089dbc:

00089dc0 - 00089ddc:

00089de0 - 00089dfc:

00089e00 - 00089e1c:

00089e20 - 00089f20:

00089f24 - 0008a114:

0008a118 - 0008a348:

0008a34c - 0008a358:

0008a35c - 0008a4a8:

0008a4ac - 0008a6d4:

0008a6d8 - 0008a6fc:

0008a700 - 0008a77c:

0008a780 - 0008a7fc:

0008a800 - 0008a880:

0008a884 - 0008a920:

0008a924 - 0008ab30:

0008ab34 - 0008adf4:

0008adf8 - 0008b0c4:

0008b0c8 - 0008b230:

0008b234 - 0008b288:

0008b28c - 0008b2c0:

0008b2c4 - 0008b2f8:

0008b2fc - 0008b308:

0008b30c - 0008b334:

0008b338 - 0008b3c8:

0008b3cc - 0008b43c:

0008b440 - 0008b4b4:

0008b4b8 - 0008b4ec:

0008b4f0 - 0008b524:

0008b528 - 0008b534:

0008b538 - 0008b560:

0008b564 - 0008b628:

0008b62c - 0008b6e0:

0008b6e4 - 0008b7b0:

0008b7b4 - 0008b7e8:

0008b7ec - 0008b820:

0008b824 - 0008b830:

0008b834 - 0008b85c:

0008b860 - 0008b8f0:

0008b8f4 - 0008b964:

0008b968 - 0008b9dc:

0008b9e0 - 0008ba14:

0008ba18 - 0008ba4c:

0008ba50 - 0008ba5c:

0008ba60 - 0008ba88:

0008ba8c - 0008bb1c:

0008bb20 - 0008bb90:

0008bb94 - 0008bc08:

0008bc0c - 0008bc40:

0008bc44 - 0008bca8:

0008bcac - 0008bcb8:

0008bcbc - 0008bd08:

0008bd0c - 0008bde0:

0008bde4 - 0008be00:

0008be04 - 0008be28:

0008be2c - 0008be50:

0008be54 - 0008be78:

0008be7c - 0008beb8:

0008bebc - 0008bf10:

0008bf14 - 0008bf80:

0008bf84 - 0008bff8:

0008bffc - 0008c050:

0008c054 - 0008c0a8:

0008c0ac - 0008c110:

0008c114 - 0008c188:

0008c18c - 0008c1e0:

0008c1e4 - 0008c264:

0008c268 - 0008c2a0:

0008c2a4 - 0008c2d8:

0008c2dc - 0008c31c:

0008c320 - 0008c360:

0008c364 - 0008c39c: Store script = 0x3a This happened after I accepted a team at Formation. Music had not started yet. (FFM)

0008c3a0 - 0008c3e0:

0008c3e4 - 0008c40c:

0008c410 - 0008c438:

0008c43c - 0008c464:

0008c468 - 0008c514:

0008c518 - 0008c54c:

0008c550 - 0008c5e4:

0008c5e8 - 0008c660:

0008c664 - 0008c7c8:

0008c7cc - 0008c8e0:

0008c8e4 - 0008c93c:

0008c940 - 0008c9c0:

0008c9c4 - 0008ca44:

0008ca48 - 0008ca78: get misc data, do something else if none found

0008ca7c - 0008cbb0:

0008cbb4 - 0008cbd4:

0008cbd8 - 0008cc10:

0008cc14 - 0008cc4c:

0008cc50 - 0008cc7c:

0008cc80 - 0008cca8:

0008ccac - 0008cce4:

0008cce8 - 0008cd20:

0008cd24 - 0008cd54:

0008cd58 - 0008cd90:

0008cd94 - 0008cdcc:

0008cdd0 - 0008ce1c:

0008ce20 - 0008ce74:

0008ce78 - 0008cecc:

0008ced0 - 0008cef8: Find Unit's Misc Data Pointer (+0x15c)

0008cefc - 0008cf38:

0008cf3c - 0008cf74:

0008cf78 - 0008d058:

0008d05c - 0008d100:

0008d104 - 0008d134:

0008d138 - 0008d188: store mimicking misc data, existence/entd checks

0008d18c - 0008d1c4:

0008d1c8 - 0008d224:

0008d228 - 0008d268:

0008d26c - 0008d29c:

0008d2a0 - 0008d5c4:

0008d5c8 - 0008d64c:

0008d650 - 0008d6a4:

0008d6a8 - 0008d704:

0008d708 - 0008d8e0:

0008d8e4 - 0008d94c:

0008d950 - 0008d994:

0008d998 - 0008dabc:

0008dac0 - 0008db50:

0008db54 - 0008dc20:

0008dc24 - 0008dc70: Get Unit's Spritesheet Value

0008dc74 - 0008dc98:

0008dc9c - 0008dcc0: Find Unit's Misc Data Pointer and Load Spritesheet Value

0008dcc4 - 0008dd0c:

0008dd10 - 0008dda4:

0008dda8 - 0008ddc8:

0008ddcc - 0008dde8:

0008ddec - 0008ddf8:

0008ddfc - 0008de84:

0008de88 - 0008de9c:

0008dea0 - 0008dec4:

0008dec8 - 0008ded4:

0008ded8 - 0008dee4:

0008dee8 - 0008df0c:

0008df10 - 0008df44:

0008df48 - 0008df74:

0008df78 - 0008dfa8:

0008dfac - 0008dfdc:

0008dfe0 - 0008e064:

0008e068 - 0008e090:

0008e094 - 0008e0b8:

0008e0bc - 0008e0ec:

0008e0f0 - 0008e118:

0008e11c - 0008e14c:

0008e150 - 0008e178:

0008e17c - 0008e1f4:

0008e1f8 - 0008e230:

0008e234 - 0008e2c4:

0008e2c8 - 0008e300:

0008e304 - 0008e314:

0008e318 - 0008e324:

0008e328 - 0008e344:

0008e348 - 0008e354:

0008e358 - 0008e464:

0008e468 - 0008e53c:

0008e540 - 0008e6cc:

0008e6d0 - 0008e7b4:

0008e7b8 - 0008e808:

0008e80c - 0008ea68:

0008ea6c - 0008ec6c:

0008ec70 - 0008ef20:

0008ef24 - 0008ef40:

0008ef44 - 0008ef78:

0008ef7c - 0008efb0:

0008efb4 - 0008f12c:

0008f130 - 0008f204:

0008f208 - 0008f31c:

0008f320 - 0008f494:

0008f498 - 0008f538:

0008f53c - 0008f638:

0008f63c - 0008f70c:

0008f710 - 00090044: Palette Modification

00090048 - 000901f4:

000901f8 - 00090254:

00090258 - 00090698:

0009069c - 000907f8:

000907fc - 0009083c:

00090840 - 00090c44:

00090c48 - 00090da4:

00090da8 - 00090de8:

00090dec - 000911f0:

000911f4 - 00091244:

00091248 - 0009127c:

00091280 - 000912a0:

000912a4 - 00092598:

0009259c - 0009261c:

00092620 - 000926d4: Extract RGB+Alpha from Palette

000926d8 - 000927b8: Get Palette Data

000927bc - 00092d48:

00092d4c - 00092dbc:

00092dc0 - 00092e94:

00092e98 - 00092f14:

00092f18 - 00092f94:

00092f98 - 00093044:

00093048 - 00093114:

00093118 - 00093140:

00093144 - 0009316c:

00093170 - 000931c0:

000931c4 - 000933c0:

000933c4 - 00093498:

0009349c - 000934cc:

000934d0 - 00093500:

00093504 - 00093534:

00093538 - 00093560:

00093564 - 000935f0:

000935f4 - 00093610:

00093614 - 00093630:

00093634 - 00093650:

00093654 - 000937f4:

000937f8 - 00093868:

0009386c - 00093a94:

00093a98 - 00093bec:

00093bf0 - 00093c94:

00093c98 - 000e729c:

000e72a0 - 000e7678:

000e767c - 000e77b4:

000e77b8 - 000e78bc:

000e78c0 - 000e818c:

000e8190 - 000e8408:

000e840c - 000ec714:

000ec718 - 000ee100:

000ee104 - 000ee434:

000ee438 - 000ee958:

000ee95c - 000eeaf4:

000eeaf8 - 000eeec8:

000eeecc - 000ef69c:

000ef6a0 - 000ef6ec:

000ef6f0 - 000f0bdc:

000f0be0 - 000f1200:

000f1204 - 000f2290:

000f2294 - 000f2614:

000f2618 - 000f26b8:

000f26bc - 000f34c0:

000f34c4 - 000f3634:

000f3638 - 000f36c0:

000f36c4 - 000f3714:

000f3718 - 000f4ac8:

000f4acc - 000f4dd0:

000f4dd4 - 000f5574:

000f5578 - 000f5980:

000f5984 - 000f59ec:

000f59f0 - 000f5a28:

000f5a2c - 000f5a60:

000f5a64 - 000f5ae8:

000f5aec - 0011467c:

00114680 - 0011474c: Math Skill targeting calculations

00114750 - 0012cce4:

0012cce8 - 0012cfd8:

0012cfdc - 0012d360:

0012d364 - 0012d618:

0012d61c - 0012da08:

0012da0c - 0012dafc:

0012db00 - 0012db8c:

0012db90 - 0012dbd8:

0012dbdc - 0012dc2c:

0012dc30 - 0012dc80:

0012dc84 - 0012dca8:

0012dcac - 0012dcf4:

0012dcf8 - 0012dd08:

0012dd0c - 0012dd18:

0012dd1c - 0012dd2c:

0012dd30 - 0012dd40:

0012dd44 - 0012dd54:

0012dd58 - 0012dd68:

0012dd6c - 0012dd90:

0012dd94 - 0012ddc0:

0012ddc4 - 0012dde4:

0012dde8 - 0012df08: Battle Camera Initialize

0012df0c - 0012df3c:

0012df40 - 0012df64:

0012df68 - 0012df94:

0012df98 - 0012e18c:

0012e190 - 0012e240:

0012e244 - 0012e2b4:

0012e2b8 - 0012e31c:

0012e320 - 0012e344:

0012e348 - 0012e598:

0012e59c - 0012e648:

0012e64c - 0012e658:

0012e65c - 0012e9bc:

0012e9c0 - 0012e9f8:

0012e9fc - 0012ec8c:

0012ec90 - 0012ee38:

0012ee3c - 0012eeac:

0012eeb0 - 0012f028:

0012f02c - 0012f048:

0012f04c - 0012f108:

0012f10c - 0012f35c:

0012f360 - 0012f3c8:

0012f3cc - 0012f450:

0012f454 - 0012f4dc:

0012f4e0 - 0012f658:

0012f65c - 0012f6ac:

0012f6b0 - 0012f6d0:

0012f6d4 - 0012fd1c:

0012fd20 - 0012fd88:

0012fd8c - 00130188:

0013018c - 00130624:

00130628 - 00130714:

00130718 - 001307d0:

001307d4 - 00130870:

00130874 - 001308bc:

001308c0 - 00132820:

00132824 - 00132858: Prep for Loading Text

0013285c - 001328a8:

001328ac - 00132910:

00132914 - 00132bc0:

00132bc4 - 00132e4c:

00132e50 - 00132e70:

00132e74 - 00132f98:

00132f9c - 00132fec:

00132ff0 - 00133044:

00133048 - 00133084:

00133088 - 001330e0:

001330e4 - 0013312c:

00133130 - 0013314c:

00133150 - 00133154: jrr31

00133158 - 00133490: Get misc ID (goes through a bunch of event command checks and more)

00133494 - 001334a0:

001334a4 - 00133564:

00133568 - 00133584:

00133588 - 00133750: Store level,exp, HP/MP hardcoding, store CT

00133754 - 00133c94: Store units small in battle display data

00133c98 - 00133ce8: Has Status Effect (For Status Window)

00133cec - 00133eec: Display Inner Character Window

00133ef0 - 00133f74:

00133f78 - 00133fe4:

00133fe8 - 0013401c:

00134020 - 00134070:

00134074 - 001340a8:

001340ac - 0013417c:

00134180 - 00134220:

00134224 - 00134244:

00134248 - 001342c8:

001342cc - 001343b8:

001343bc - 001343cc:

001343d0 - 001343dc:

001343e0 - 0013442c:

00134438 - 001346f0: Display Height

001346f4 - 0013493c: Height Number Display Setup

00134940 - 00134a68:

00134a74 - 001352b8: Display Projected Action Effect

001352bc - 00136124:

00136128 - 00136184:

00136188 - 001361e4:

001361e8 - 00136320:

00136324 - 001363d8:

001363dc - 00136b0c:

00136b10 - 00136bcc: Get Item Graphic Data

00136bd0 - 00136d30:

00136d34 - 001370a0:

001370a4 - 00137b8c:

00137b90 - 00137c0c:

00137c10 - 00137ed0: Handle Menu Action

00137ed4 - 00137f80:

00137f84 - 00138090:

00138094 - 00138170: ? 0x138094

00138174 - 001383c4: ? 0x138174

001383c8 - 00138410:

00138414 - 0013845c:

00138460 - 001384dc:

001384e0 - 0013856c:

00138570 - 00138718:

0013871c - 00138768:

0013876c - 00138908:

0013890c - 00138ad8:

00138adc - 00138b0c:

00138b10 - 00138b60:

00138b64 - 00138ed4:

00138ed8 - 001390b8: Move/Act/Wait menu Idle routine

00136b10 - 00136bcc: Get Item Graphic Data

001390bc - 00139578:

0013957c - 001395a8:

001395ac - 001398f8:

001398fc - 00139bd8:

00139bdc - 00139be8:

00139bec - 0013aed8:

0013aedc - 0013aee8:

0013aeec - 0013b008:

0013b00c - 0013b27c:

0013b280 - 0013b4f8:

0013b4fc - 0013b58c:

0013b590 - 0013b640: Get Script Variable

0013b644 - 0013b6e0: Set Script Variable

0013b6e4 - 0013b894:

0013b898 - 0013ba64:

0013ba68 - 0013bb6c:

0013bb70 - 0013bbe8: ? 0x13bb70

0013bbec - 0013bc10:

0013bc14 - 0013bcb8: Load File

0013bcbc - 0013bd60:

0013bd64 - 0013bd90:

0013bd94 - 0013bdc0:

0013bdc4 - 0013bf28:

0013bf2c - 0013bf58:

0013bf5c - 0013bf88:

0013bf8c - 0013bfb8:

0013bfbc - 0013c024: Display Triangle Selection Menu

0013c028 - 0013c12c:

0013c130 - 0013c230:

0013c234 - 0013c280:

0013c284 - 0013c2d8: ? 0x13c284

0013c2dc - 0013c3a0:

0013c3a4 - 0013c568: Equip Change Routine

0013c56c - 0013c664:

0013c668 - 0013c70c:

0013c710 - 0013c73c: Show Graphic (Outer Routine)

0013c740 - 0013c7c0:

0013c7c4 - 0013c8a4:

0013c8a8 - 0013c9bc:

0013c9c0 - 0013ca6c:

0013ca70 - 0013cac0:

0013cac4 - 0013caf0:

0013caf4 - 0013cbd8:

0013cbdc - 0013ccc8:

0013cccc - 0013cce8:

0013ccec - 0013cf54:

0013cf58 - 0013d0a8: menu Routine

0013d0ac - 0013d184:

0013d188 - 0013d198:

0013d19c - 0013d1ec:

0013d1f0 - 0013d22c:

0013d230 - 0013d274:

0013d278 - 0013d31c:

0013d320 - 0013d4d8:

0013d4dc - 0013d574:

0013d578 - 0013d60c:

0013d610 - 0013d620:

0013d624 - 0013d630:

0013d634 - 0013d700: Store unit names and some event block data

0013d704 - 0013d9fc:

0013da00 - 0013da24: Set Event Speed

0013da28 - 0013da5c:

0013da60 - 0013da6c:

0013da70 - 0013da7c:

0013da80 - 0013dae0:

0013dae4 - 0013db98:

0013db9c - 0013dfac:

0013dfb0 - 0013e544:

0013e548 - 0013e580:

0013e584 - 0013e5bc:

0013e5c0 - 0013e658: Walk To Event Instruction

0013e65c - 0013e6c0:

0013e6c4 - 0013e704:

0013e708 - 0013e7cc:

0013e7d0 - 0013e818:

0013e81c - 0013e870:

0013e874 - 0013e8d0:

0013e8d4 - 0013e900:

0013e904 - 0013edd4: Block Start Event Instruction

0013edd8 - 0013efa8:

0013efac - 0013eff0:

0013eff4 - 0013f07c:

0013f080 - 0013f0bc:

0013f0c0 - 0013f164:

0013f168 - 0013f208:

0013f20c - 0013f3f8:

0013f3fc - 0013f49c:

0013f4a0 - 0013f4f4:

0013f4f8 - 0013f51c:

0013f520 - 0013f664: Data setting from menu selections

0013f668 - 0013f768: Store Selected Tile Data

0013f76c - 0013f7a8: Initialize menu counters

0013f7ac - 0013f8b0:

0013f7b4 - 0013f8b0: Store some data for menus

0013f8b4 - 0013f8fc:

0013f900 - 0013f974:

0013f978 - 0013f984:

0013f988 - 0013f9c0:

0013f9c4 - 0013f9fc:

0013fa00 - 0013fa34:

0013fa38 - 0013fa68:

0013fa6c - 00140224: Main Skillset/ability loading (abilities greyed/blinking red)

00140228 - 001404c8:

001404cc - 00140728: Main act menu loading

0014072c - 00140888:

0014088c - 00140904:

00140908 - 0014097c:

00140980 - 001409a0:

001409a4 - 001409e8:

001409ec - 00140a2c:

00140a30 - 00140b00: Disable Move/Act based on menu ID

00140b04 - 00140cd0:

00140cd4 - 00140ed0:

00140ed4 - 0014115c: Ability selected routine

00141160 - 001411b0:

001411b4 - 00141460: Set used item based on skillset

  • Bad name for this routine, I think it does much more important shit
    • Change loaded skillset here to make non-default abilities work in default skillset

00141464 - 00141650: Store message/menu type

00141654 - 0014169c:

001416a0 - 00141718:

0014171c - 00141758: Store main target ID/auto battle

0014175c - 001419b4: Spell Quote determination

001419b8 - 00141a88: System function setup routine

00141a8c - 00141b08:

00141b0c - 00142504: System function routine

  • 00141c14 - 00141cb8: Gameover checks (both)
  • 00141db0 - 00141e24: Gameover (party incapacitated) checks
  • 00142074 - 001420e0: Calculator skillset loading?
  • 0014227c - 001422f4: recieve item whos quantity = 99 (increase gil)
  • 001422f8 - 00142334: Increment item quantity

00142508 - 001425ac:

001425b0 - 00142688: Process Scenario Conditionals

0014268c - 00142b58:

00142b5c - 00142ba0:

00142ba4 - 00142bcc:

00142bd0 - 00142c20: ? 0x142bd0

00142c24 - 00142ca4: ? 0x142c24

00142ca8 - 00142d28: ? 0x142ca8

00142d2c - 00142d54: ? 0x142d2c

00142d58 - 001433a8:

001433ac - 001433e4:

001433e8 - 00143414:

00143418 - 001439bc: ? 0x143418

001439c0 - 00143a98:

00143a9c - 00143b64:

00143b68 - 00143b7c:

00143b80 - 00143ba4:

00143ba8 - 00143bcc:

00143bd0 - 00145f74:

00143bd8 - 001449f8: Event Instruction Main Routine 1

001449fc - 00145750: Event Instruction Main Routine 2

00145754 - 00145f70: Event Instruction Main Routine 3

00145f78 - 00146000:

00146004 - 00146074:

00146078 - 00146090: Load event command bytes

00146094 - 001460a0:

001460a4 - 001460e0:

001460e4 - 0014610c:

00146110 - 001466b0: Camera Event Instruction

001466b4 - 00146728: Map Darkness (Async)

0014672c - 001467d8:

001467dc - 0014693c: Color Screen Event Instruction

00146940 - 00146ee0: Sprite Move

00146ee4 - 00146f1c: Sprite Move (Outer)

00146f20 - 00146f58:

00146f5c - 00147018:

0014701c - 00147038:

0014703c - 001472d8: Map Light (Async)

001472dc - 00147314:

00147318 - 001474a0:

001474a4 - 00147580:

00147584 - 0014777c:

00147780 - 00147914:

00147918 - 00147924:

00147928 - 001479a8:

001479ac - 00147bcc:

00147bd0 - 00147ca4:

00147ca8 - 00147cec:

00147cf0 - 00147d94:

00147d98 - 00147e5c:

00147e60 - 00147fa8: Warp Unit

00147fac - 00148080:

00148084 - 00148280:

00148284 - 00148484:

00148488 - 00148538:

0014853c - 0014857c:

00148580 - 001488a4:

001488a8 - 00148cd4:

00148cd8 - 00148e84:

00148e88 - 001490fc:

00149100 - 001491d4:

001491d8 - 00149394:

00149398 - 0014948c: Unit Anim

00149490 - 00149528:

0014952c - 001495dc:

001495e0 - 00149688: Color Unit Event Instruction

0014968c - 00149730:

00149734 - 00149788:

0014978c - 001498f8:

001498fc - 001499a8:

001499ac - 00149a50:

00149a54 - 00149b34:

00149b38 - 00149be0:

00149bec - 00149c44: Get Next Available Thread ID

00149c48 - 00149cb8:

00149cbc - 00149d44:

00149d48 - 00149d68: Set Thread Task ID

00149d6c - 00149eb8:

00149ebc - 00149f0c: Find Event Instruction Byte Offset

00149f10 - 0014a014:

0014a018 - 0014a2e8: Jumped to from subroutines of steal routine - Calculate party inventory?

0014a2ec - 0014a398:

0014a39c - 0014a3f4:

0014a3f8 - 0014a460:

0014a464 - 0014a488:

0014a48c - 0014a4d4:

0014a4d8 - 0014a518:

0014a51c - 0014a574:

0014a578 - 0014a594:

0014a598 - 0014a5e4:

0014a5e8 - 0014a65c: Image Loading Setup (0x14a5e8)

0014a660 - 0014a6a0:

0014a6a4 - 0014a6c8:

0014a6cc - 0014a6e0: ? 0x14a6cc

0014a6e4 - 0014a7a4:

0014a7a8 - 0014a818:

0014a81c - 0014a828:

0014a82c - 0014a830: jr r31

0014a834 - 0014aa78: Image loading setup? (0x14a834)

0014aa7c - 0014ab54:

0014ab58 - 0014ac2c:

0014ac30 - 0014aebc:

0014aec0 - 0014b260:

0014b264 - 0014b2ec:

0014b2f0 - 0014b31c: Display Menu Text Entry

0014b320 - 0014b34c: Display Menu Text Entry (Unused?)

0014b350 - 0014b390: Display Specific Menu Text

0014b394 - 0014ba24: Giant message/menu loading routine

0014ba28 - 0014bae0: Find Next Text Character

0014bae4 - 0014bd84:

0014bd88 - 0014bed4:

0014bed8 - 0014bf50:

0014bf54 - 0014bf78: Copy Bytes (0x14bf54)

0014bf7c - 0014bfc0:

0014bfc4 - 0014c010:

0014c014 - 0014c160:

0014c164 - 0014c188:

0014c18c - 0014c4a4:

0014c4a8 - 0014c754: ? 0x14c4a8

0014c758 - 0014c854:

0014c858 - 0014c89c: Wait

0014c8a0 - 0014c920: Initialize Thread

0014c924 - 0014c93c:

0014c940 - 0014c954:

0014c958 - 0014c990: Stop Current Thread

0014c994 - 0014c9cc:

0014c9d0 - 0014ca18: Wait For Thread

0014ca1c - 0014ca34:

0014ca38 - 0014ca54: Store event command bytes

0014ca58 - 0014ca7c: Store event command bytes 2

0014ca80 - 0014cbb0: Some event data setting routine runs many many times, jr r31's to a new location

0014cbb4 - 0014cbbc: Return Global Pointer

0014cbc0 - 0014cbf0: Get menu address?

0014cbf4 - 0014cc24: Get Second Thread Parameter

0014cc28 - 0014cc58:

0014cc5c - 0014cc90:

0014cc94 - 0014ccb4: Check Thread Running Status

0014ccb8 - 0014ce04:

0014ce08 - 0014ce74:

0014ce78 - 0014ceb0: Find Text ID's Location

0014ceb4 - 0014cf54: Call Inner Subroutine

0014cf58 - 0014cf64:

0014cf68 - 001743c4:

00174068 - 0017436c: Return addresses

001743c8 - 0017442c: Chocobo Check

00174430 - 00174b88: Store movement stuff into scratch pad

00174b8c - 00174df4:

00174df8 - 00174e80:

00174e84 - 00175284:

00175288 - 001754cc:

001754d0 - 001754f0:

001754f4 - 00175518:

0017551c - 0017553c:

00175540 - 00175564:

00175568 - 001755a4:

001755a8 - 001755e4:

001755e8 - 00175614:

00175618 - 00175678:

0017567c - 00175954:

00175958 - 00175e9c: Movement routine Highlights panels blue

00175ea0 - 00175fa0:

00175fa4 - 00176160:

00176164 - 00176228:

0017622c - 001764d4:

001764d8 - 001766b0:

001766b4 - 00176c0c:

00176c10 - 00176c8c: Contains teleport chances

00176c90 - 0017717c:

00177180 - 001773b4:

001773b8 - 00177790:

00177794 - 001779d8:

001779dc - 00177b60:

00177b64 - 00177c04:

00177c08 - 00177e60:

00177e64 - 00178094:

00178098 - 001780e8:

001780ec - 00178138: Calculate WalkTo Pathing

0017813c - 00178ca0: Calculate Pathing

00178ca4 - 00179200:

00179204 - 00179258: Moldball Virus Depth Check

0017925c - 001792a0: Clear Some stuff for Untargetable Terrain

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 - 001797b0: Calculate Possible AoE Tiles

001797b4 - 001798ac: Depth Calculation

001798b0 - 00179a1c: Set initial panels

00179a20 - 00179b54: Set targeting for weapon attack?

00179b58 - 00179c98: Striking/lunging modification

00179c9c - 00179d80: Depth Calculation 2???

00179d84 - 00179dc4: Remove ???? targets

00179dc8 - 0017a168: Set Ability Targeting?

0017a16c - 0017a28c: calculate ability range with map parameters?

0017a290 - 0017a514: Set panels affected by ability?

0017a518 - 0017a5b8: Set targeting for weapon attack 2

0017a5bc - 0017a648: Set all panels targeted if targetable

0017a64c - 0017a6d8: Remove Selection state of all panels

0017a6dc - 0017a7b8: Set target state for all units panels

0017a7bc - 0017a8bc: another targeting routine

0017a8c0 - 0017aaf4: Calculate ability range based on action menu byte

0017aaf8 - 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: Targeting/panel routine

0017d850 - 0017da1c: more map/panel targeting

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: 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

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: Big ENTD unit loading routine

0017fbec - 0017fcc4: ENTD AI?

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 Sprite Set | Ramza Causes Game Over

00180c90 - 00180dac: Unit Existence/crystaltreasure check Uses 0x183 byte, 0x161 ENTD ID

00180db0 - 00180dfc: Party level XX modification?

00180e00 - 00180f3c: Store some ENTD Data(War Trophy, gil), party level calculation

00180f40 - 00180fe0:

00180fe4 - 0018109c: Prep for Special Status Flag Enabling

001810a0 - 001810d0: Map Location Calculation

001810d4 - 00181110: Load unit Data (exists check within)

00181114 - 00181148: Find Active Unit Data Pointer?

0018114c - 001811f4: Get Menu ID based on mount, moveable/actable

001811f8 - 00181308: Player Control Routine?

0018130c - 001813bc: Weapon Guard Usability (Check if Unit can React)

001813c0 - 00181580: Player Skill Set

00181584 - 0018171c: Skillset Loading?

00181720 - 001817bc: Ability Loading?

001817c0 - 00181b6c: 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 ability loading

001822cc - 0018242c: Monster skill, frog attack ability loading

00182430 - 00182504: Monster Skill check prep

00182508 - 00182660: Monster Skill check

00182664 - 00182684: Draw Out

00182688 - 00182784: Draw Out 2 (main routine)

00182788 - 001827b0: Call ??? Skillset Loading

001827b4 - 001827ec: ??? Skillset Loading

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: Gameover by party incapacitated

001834bc - 00183540: Check some list for Unit Battle ID

00183544 - 001835a4: Calculate AT List and Get Specific Unit ID

001835a8 - 001835f4: Unit doesn't exist/deadcrystaltreasurepetrify/being ridden check

001835f8 - 00183708: AT List Preview?

0018370c - 00183ac8: Calculate AT List

00183acc - 00183ba4: AT List Sorting

00183ba8 - 00183bc8: Set Only Action Taken

00183bcc - 00183bec: Set Only Movement Taken

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

00183de0 - 00183dfc: Enable/disable acting status

00183e00 - 00183e38: another intermediate routine

00183e3c - 00183e90: Unit exists checks

00183e94 - 00183e9c: Activates move/act

00183ea0 - 00183f5c: something involving map coordinates

00183f60 - 00183fb0: Load Move Find-Item data to Current Map

00183fb4 - 00184018: Deals with map coordinates 1

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: Force Attack Miss?

00184360 - 001843e8: 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: Validate Status Changes

00184e40 - 00184e94: Elemental Nullification Nullify Action - Glain

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: Set XA*YA as hit%

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: Calculate Accuracy as User Faith * (MA + X)%

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 (doesn't work), 12 Set Quick Hit F(MA+X)%

00189164 - 001891a8: 13 (doesn't work), 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 (doesn't work), 19 (doesn't work)

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: Pheonix down on undead

0018ad58 - 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: ?Nullify steal item? - Glain (Update Notes)

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: status CT decrement and innate statuses?

0018da04 - 0018da40: 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

0018df0c - 0018dff4: Prep gained exp/jp/level/job level + other stuff?

0018dff8 - 0018e078: Main Reaction subroutine - ENTD/ID stuff - Calculate Unlocked Jobs/set ability element = dark?

0018e07c - 0018e1ac: Some status hardcoding dead hp=0, remove ability CT, remove player control

0018e1b0 - 0018e244: Remove control based on status

0018e248 - 0018e30c: Inflicted status CT setting, xfer last used CT

0018e310 - 0018e5e0: Store status,modified ENTD for current attack

0018e5e4 - 0018e624: Transfer Considered Action Data to AI

0018e628 - 0018e65c: Store current attack data into AI?

0018e660 - 0018e6b4: Used by Weather Elemental effects routine

0018e6b8 - 0018e8a8: Learn on hit 1

0018e8ac - 0018e9b8: Learn on hit 2

0018e9bc - 0018e9e4: 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: Apply Exp gain / Level up

0018ec10 - 0018ec40: Store targeting/executing state, call 18e07c

0018ec44 - 0018ed78: More status infliction/removal also deals with innate status

0018ed7c - 0018edf4: Sort target list at 80193868

0018edf8 - 0018ee20: Store ability data 80193868 + 0x10 bytes

0018ee24 - 0018ee64: Count number of targets hit by ability

0018ee68 - 0018ee9c: store 8019837c if not reacting?

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))

0018ef2c - 0018ef30: jr r31

0018ef34 - 0018f034: Current Action Attacker Data Setting

0018f038 - 0018f2ac: Mimic ability setting

0018f2b0 - 0018f4c4: Map Max X,Y, targetable panel checks

0018f4c8 - 0018f4d4: Load last used ability

0018f4d8 - 001941f4:

0018f510 - 0018f610: ????? Table

0018f624 - 0018f7a0: Formula Table

00193d48 - 00193e4c: AI Return addresses

00193e50 - 001941f4: Main AI action setup?

001941f8 - 00194310: Acting Unit's Data Setup (AI?)

00194314 - 0019456c: Set type of target for all targets

00194570 - 00194718: Some targetability setting

0019471c - 00194908: Set AI flags for target consideration

0019490c - 00194940: Store main target ID and focus on target flag

00194944 - 00194e54: AI movement/panel data setting

00194e58 - 001957bc: Set AI ability considerations for all units and self

001957c0 - 00195874: Some type of checking algorithm

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: Attack

001959d4 - 00195a20: AI Item Inventory

00195a24 - 00195a2c: Katana Inventory

00195a30 - 00195a8c: Weapon Inventory

00195a90 - 00195b9c: Jump

00195ba0 - 00195bb8: Charge

00195bbc - 00195bfc: Arithmeticks

00195c00 - 00195d90: Default

00195d94 - 00195f68:

00195f6c - 00195f88: Initialize some AI Data (mount, base hit %)

00195f8c - 00196198: set current ability CT/status change

0019619c - 0019629c: Non-Specific AI AutoBattle (Enemies)

001962a0 - 00196308: Get Longest Range Ability or Move

0019630c - 00196388:

0019638c - 00196898: Map movement decision/data setting

0019689c - 00196904:

00196908 - 00196938:

0019693c - 00196ad8:

00196adc - 00196c88:

00196c8c - 00196ce4: Check target type (r2 = 1 if target can't be targeted/dead without? reraise)

00196ce8 - 00196dac: Check if Unit can be Targeted (Cryst/Trea/Mount/Trans)

00196db0 - 00196e1c:

00196e20 - 00196ef0:

00196ef4 - 00196fc0:

00196fc4 - 001970b8:

001970bc - 001971b4:

001971b8 - 00197534: Set chosen ability/target for AI status (berserk, blood suck, confuse, frog, chicken)

00197538 - 001978e0: Store ability/skillset data, set AI settings for ability?

001978e4 - 00197958: Find Direction of Target

0019795c - 00197b28: Range Calculation?

00197b2c - 00197c64:

00197c68 - 00197d08: Checks map max X and Y

00197d0c - 00197e5c: Find which units are active?

00197e60 - 00197f10: Chose Move from Move List?

00197f14 - 00197ff0: Auto Battle Handling

00197ff4 - 001982d4: Choose Target and Set a bunch of stuff

001982d8 - 001984e8:

001984ec - 00198818:

0019881c - 00198b00:

00198b04 - 00198d7c: Find Peril Most Unit (00198b04)

00198d80 - 00198dec: Check for 0x00 status

00198df0 - 00198e5c:

00198e60 - 00199058:

0019905c - 00199120:

00199124 - 00199368: Calculate Physical? Target

0019936c - 0019939c: Calculate Distance Between Units

001993a0 - 00199494:

00199498 - 001994f4:

001994f8 - 00199718: See if able to move to target?

0019971c - 001998c4: Check for good units to target (based on distance,status,coordinate)

001998c8 - 001999c4: Check if Regen/Charm/DM/Reraise/DA Can be Inflicted

001999c8 - 00199b94:

00199b98 - 00199c84: Calculate Clockticks Until Unit Acts

00199c88 - 00199d1c: Get number of clockticks till able to revive dead unit

00199d20 - 00199ec4: Store hardcoded AI stuff (blood suck, frog, berserk abilities)

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 - 0019aa4c: Usable Ability Setting

0019a63c - 0019a66c: Part of the Weapon Inventory

0019a670 - 0019aa4C: Ability Loading

0019aa50 - 0019ab04: Load Known Ability Flag

0019ab08 - 0019ab44: Transfer Halfword Values

0019ab48 - 0019ab74: Transfer Byte Values

0019ab78 - 0019abb0: Word Nulling

0019abb4 - 0019ad70: Some Map calculations - height diff., coordinates

0019ad74 - 0019ae2c: Determine if Height Difference < 3

0019ae30 - 0019ae54:

0019ae58 - 0019aeec:

0019aef0 - 0019af14:

0019af18 - 0019b308: AI ability use control routine

0019b30c - 0019b4f0:

0019b4f4 - 0019b6ac:

0019b6b0 - 0019b750: Calculate Height Difference Between Units

0019b754 - 0019b7b4: See if elemental ability can be used

0019b7b8 - 0019bb1c:

0019bb20 - 0019bbb8:

0019bbbc - 0019bf28:

0019bf2c - 0019c208:

0019c20c - 0019c27c:

0019c280 - 0019c3d0:

0019c3d4 - 0019c8e8:

0019c8ec - 0019cb90:

0019cb94 - 0019cd98: Some height/Map coordinate calculation for all units

0019cd9c - 0019d214:

0019d218 - 0019d290: See if any units are on target panel

0019d294 - 0019d304: Get unit that matches coordinates

0019d308 - 0019d378:

0019d37c - 0019db7c: AI End of turn, in between turn, etc.

0019db80 - 0019dca8:

0019dcac - 0019dcb8: Store Skillset = 0

0019dcbc - 0019dd88: Call AI Ability Processing

0019dd8c - 0019e15c: AI ability processing

0019e160 - 0019e374: Transfer Unit Data to AI Data

0019e378 - 0019e53c: Transfer AI Data to Unit Data

0019e540 - 0019e5d4: See if any unit decided to use an ability

0019e5d8 - 0019ef20: AI Abiltiy Use Decisions

0019ef24 - 0019efac: Check if Status Should/Can be Added

0019efb0 - 0019f018:

0019f01c - 0019f0d4: Set unit untargetable based on 19f0d8 routine

0019f0d8 - 0019f158: See if ability should be used based on CT

0019f15c - 0019f254: Status/CT based decision

0019f258 - 0019f2a0: Store units coordinates

0019f2a4 - 0019f2f0: Transfer Unit Coordinates to AI

0019f2f4 - 001a0f6c:

001a0f70 - 001a0f84:

001a0f88 - 001a0f9c:

001a0fa0 - 001a0fd0: Get Start of Frame Pointers Address

001a0fa0 - 001a0fd4:

001a0fd4 - 001a100c: Get Start of Parameter Sets Address

001a0fd8 - 001a100c:

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

001a10ec - 001a1194: Some sound effect prep

001a1198 - 001a11c8: Get ??? Data Address

001a11cc - 001a11fc:

001a1200 - 001a1240:

001a1244 - 001a1284:

001a1288 - 001a12a0:

001a12a4 - 001a12d8: Load LBA sector and Byte length of effect

001a12dc - 001a1300:

001a1304 - 001a1324:

001a1328 - 001a1348:

001a134c - 001a13b8:

001a13bc - 001a15b0: Effect prep, default to cure if invalid LBA Sector

001a15b4 - 001a1810: Ability animation uses animation flags (Ball Hardcoding)

001a1814 - 001a1850: Load ability effect Stores pre-cast effects, has some hardcodings. Also transfers lots of important effect data to 0x1bad0c

001a1854 - 001a187c: Check if ability is Item ability Checks 0x0800 flag, returns 1 if not item effect

001a1880 - 001a18a0: Increment effect section address loading directive 801b63e8

001a18a4 - 001a18c4:

001a18c8 - 001a18d4:

001a18d8 - 001a1c3c: Load Effect section addresses

001a1c40 - 001a1c8c: ??

001a1c90 - 001a1d24:

001a1d28 - 001a1d98:

001a1d9c - 001a2080:

001a2084 - 001a20b0: Clear some data in temp effect data

001a20b4 - 001a20e4: Clear some data in temp effect data 2

001a20e8 - 001a2210: Initialize temp effect data?

001a2214 - 001a2234: [[Effect code script >= 2E]]

001a2238 - 001a2258: Effect code script 00 - Store next half as new counter, return 0 This byte creates a loop in the header section

001a225c - 001a227c: Effect code script 01 - store next half as new counter, return 1

001a2280 - 001a22f4: Effect code script 02

001a22f8 - 001a2368: Effect code script 03

001a236c - 001a2370: Effect code script 04 End effect?

001a236c - 001a23a4:

001a2374 - 001a23a4: Effect code script 05 - Increment counter, store 2nd byte / 4 at 801bf000

001a23a8 - 001a2410: Effect code script 06

001a2414 - 001a2484: Effect code script 07

001a2488 - 001a2520: Effect code script 08

001a2524 - 001a255c: Effect code script 09

001a2560 - 001a2598: Effect code script 0A

001a259c - 001a2628: Effect code script 0B

001a262c - 001a2664: Effect code script 0C

001a2668 - 001a26a0: Effect code script 0D

001a26a4 - 001a2730: Effect code script 0E

001a2734 - 001a276c: Effect code script 0F

001a2770 - 001a27ac: Effect code script 10

001a27b0 - 001a280c: Effect code script 11

001a2810 - 001a286c: Effect code script 12

001a2870 - 001a28d0: Effect code script 13

001a28d4 - 001a2934: Effect code script 14

001a2938 - 001a2994: Effect code script 15

001a2998 - 001a29dc: Effect code script 16 - check counter against 0x1c in temp effect data

  • Sets next half as counter if check is true, jumps out of loop

001a29e0 - 001a2a28: Effect code script 17

001a2a2c - 001a2a78: Effect code script 18

001a2a7c - 001a2b14: Effect code script 19

001a2b18 - 001a2b6c: Effect code script 1A

001a2b70 - 001a2bc4: Effect code script 1B

001a2bc8 - 001a2c24: Effect code script 1C

001a2c28 - 001a2c78: Effect code script 1D - check timer against effect duration

  • jump out of loop if timer > effect duration

001a2c7c - 001a2cf8: Effect code script 1E - check all timing bytes

  • Seems to deal with time in between moving to next target primarily

001a2cfc - 001a2d44: Effect code script 1F - go to end if hit counter = 0?

001a2d48 - 001a2d90: Effect code script 20

001a2d94 - 001a2ddc: Effect code script 21

001a2de0 - 001a2e28: Effect code script 22

001a2e2c - 001a2e74: Effect code script 23

001a2e78 - 001a2eb0: Effect code script 24

001a2eb4 - 001a30e8: Effect code script 25 - Runs effect?

001a30ec - 001a3144: Effect code script 26

001a3148 - 001a31a4: Effect code script 27 - store first 4 words of on hit effects data

001a31a8 - 001a32e4: Effect text/transformation/animation display timing

001a32e8 - 001a3404: On-Hit effect sounds like when the healing is displayed in moogle

001a3408 - 001a3d2c: Effect code script 28 - huge big ol' routine Handles timing

001a3d30 - 001a3ffc:

001a4000 - 001a419c:

001a41a0 - 001a4368:

001a436c - 001a4448:

001a444c - 001a45c4:

001a45c8 - 001a4788:

001a478c - 001a4834:

001a4838 - 001a4c40: Effect code script 29 - 'nother huge routine

001a4c44 - 001a4c80: Effect code script 2A - clear some temp effect data

001a4c84 - 001a4cbc: Effect code script 2B - clear some temp effect data 2

001a4cc0 - 001a4cd4: Effect code script 2C - Increment counter Useful for editing

001a4cd8 - 001a4cec: Effect code script 2D - duplicate of 2C

001a4cf0 - 001a4d98: Effect code script loop


001a4d9c - 001a4de4:

001a4de8 - 001a4e98:

001a4e9c - 001a4fd0:

001a4fd4 - 001a510c:

001a5110 - 001a51b8:

001a51bc - 001a5218:

001a521c - 001a5228:

001a522c - 001a52b0:

001a52b4 - 001a52ec:

001a52f0 - 001a5338:

001a533c - 001a5390:

001a5394 - 001a5794:

001a5798 - 001a5b44:

001a5b48 - 001a5c38:

001a5c3c - 001a5d70:

001a5d74 - 001a5ea0:

001a5ea4 - 001a600c:

001a6010 - 001a601c:

001a6020 - 001a60a8:

001a60ac - 001a7f58: Emitter Control Routine

001a7f5c - 001a8668:

001a866c - 001a868c:

001a8690 - 001a8738:

001a873c - 001a87d4:

001a87d8 - 001a8830:

001a8834 - 001a8894:

001a8898 - 001a88cc:

001a88d0 - 001a8948:

001a894c - 001a89ac:

001a89b0 - 001a8a10:

001a8a14 - 001a8a40:

001a8a44 - 001a8a68:

001a8a6c - 001a8ae4:

001a8ae8 - 001a8b48:

001a8b4c - 001a8bac:

001a8bb0 - 001a8bdc:

001a8be0 - 001a8bf4:

001a8bf8 - 001a8c10: Modify Data 1


001a8c14 - 001a8c88:

001a8c8c - 001a8d00:

001a8d04 - 001a8d78: Modify Data 2


001a8d7c - 001a8df0:

001a8df4 - 001a8e70:

001a8e74 - 001a8f10:

001a8f14 - 001a90cc:

001a90d0 - 001a9314: Modify based on first word of timing section header


001a9318 - 001a936c:

001a9370 - 001a9390:

001a9394 - 001a93b4:

001a93b8 - 001a93e8:

001a93ec - 001a941c:

001a9420 - 001a9450:

001a9454 - 001a9490:

001a9494 - 001a94d0:

001a94d4 - 001a9510:

001a9514 - 001a95e4:

001a95e8 - 001a96c4:

001a96c8 - 001a971c:

001a9720 - 001a97e4:

001a97e8 - 001a9830:

001a9834 - 001a9844:

001a9848 - 001a9858:

001a985c - 001a986c:

001a9870 - 001a9880:

001a9884 - 001a98c0:

001a98c4 - 001a9900:

001a9904 - 001a9940:

001a9944 - 001a9980:

001a9984 - 001a99a8: Store first section of on hit effects data

001a99ac - 001a99b8:

001a99bc - 001a99ec:

001a99f0 - 001a9a20:

001a9a24 - 001a9a38:

001a9a3c - 001a9a50:

001a9a54 - 001a9bac:

001a9bb0 - 001a9f40: Matrix / effect mathematics?


001a9f44 - 001aa004:

001aa008 - 001aa0e4:

001aa0e8 - 001aa19c:

001aa1a0 - 001aa1f4: Some parameter set stuff


001aa1f8 - 001aa7c0: Composite frame loading for parameter sets


001aa7c4 - 001aa7d8:

001aa7dc - 001aa8e4:

001aa8e8 - 001aa91c:

001aa920 - 001aaaf8:

001aaafc - 001aab40:

001aab44 - 001aab8c:

001aab90 - 001aac24:

001aac28 - 001aad2c:

001aad30 - 001aad38:

001aad3c - 001aad94:

001aad98 - 001ab1d0:

001ab1d4 - 001ab58c:

001ab590 - 001ab720:

001ab724 - 001aca54:

001aca58 - 001acb04:

001acb08 - 001acf8c:

001acf90 - 001ad194:

001ad198 - 001ad628:

001ad62c - 001ad824:

001ad828 - 001ad940:

001ad944 - 001adadc:

001adae0 - 001adb08:

001adb0c - 001adb38:

001adb3c - 001adc20:

001adc24 - 001add50:

001add54 - 001ade78:

001ade7c - 001adfa8:

001adfac - 001adfe8: Get Ninja Ball effect based on weapons element. Only valid entries for fire,water,lightning

001af770 - 001af8b0:

001aff18 - 001b045c:

END