Difference between revisions of "FF7/Battle/Battle Mechanics"
Jump to navigation
Jump to search
my_wiki>NFITC1 |
my_wiki>NFITC1 (→Queued Actions) |
||
| Line 20: | Line 20: | ||
==Queued Actions== | ==Queued Actions== | ||
| − | When a command is selected either by a player character or an enemy the action gets queued in a FIFO structure while there are actions queued or one is being performed. Up to 64 actions can be queued | + | When a command is selected either by a player character or an enemy the action gets queued in a FIFO structure while there are actions queued or one is being performed. Up to 64 actions can be queued. |
{| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;" | {| border="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;" | ||
| Line 33: | Line 33: | ||
|- | |- | ||
| 2 | | 2 | ||
| − | | | + | | Priority (4 - ??; 3 - Auto commands (Added Cut, Poison, Death Sentence, etc); 2 - Normal; 1 - ??; 0 - Counters and Limit Breaks) |
|- | |- | ||
| 3 | | 3 | ||
| Line 44: | Line 44: | ||
| Action Index | | Action Index | ||
|} | |} | ||
| − | |||
==AI Structure== | ==AI Structure== | ||
Revision as of 23:49, 17 September 2013
This page will be for Battle memory structures. May be pretty unstructured for a while.
Command Defaults
Each command type has default execution values that can, in some cases, be overridden.
| Offset | Default |
|---|---|
| 0h | Animation |
| 1h | Damage Calculation |
| 2h | Command Properties |
Queued Actions
When a command is selected either by a player character or an enemy the action gets queued in a FIFO structure while there are actions queued or one is being performed. Up to 64 actions can be queued.
| Offset | Value |
|---|---|
| 0 | Command Index |
| 1 | Command's Actor |
| 2 | Priority (4 - ??; 3 - Auto commands (Added Cut, Poison, Death Sentence, etc); 2 - Normal; 1 - ??; 0 - Counters and Limit Breaks) |
| 3 | AI-related function parameter |
| 4 | Target Mask |
| 6 | Action Index |
AI Structure
There is a single block of memory that holds AI information on the current running script. Each Actor "owns" this while their scripts are executing.
| Offset | Function |
|---|---|
| 0h | Actor Index |
| 4h | Script Position |
| 8h | Remaining Stack Space (initially 200h) |
| 0Ch | Current AI OpCode |
| 10h | OpCode Lower Nybble |
| 14h | OpCode Upper Nybble |
| 18h | First Group Type |
| 1Ch | Second Group Type |
| 20h | OpCode Lower Nybble (related to group 1?) |
| 24h | OpCode Lower Nybble (related to group 2?) |
| 28h | Mask of non-null values in Group 1 |
| 2Ah | Mask of non-null values in Group 2 |
| 2Ch - 50h | Group 1 of variables |
| 54h - 78h | Group 2 of variables |
| 7Ch - 27Ch | Stack of values |
Active Character Data
This is an array that each playable character maintains an instance of. (These addresses are off)
| Offset | Value |
|---|---|
| 000h | Character ID |
| 001h | Cover Chance |
| 002h | Strength |
| 003h | Vitality |
| 004h | Magic |
| 005h | Spirit |
| 006h | Speed |
| 007h | Luck |
| 008h | Phys Attack |
| 00Ah | Phys Def |
| 00Ch | Mag Attack |
| 00Eh | Mag Def |
| 010h | Current HP |
| 012h | Max HP |
| 014h | Current MP |
| 016h | Max MP |
| 018h | Timer |
| 01Ah | Counter Attack Action Index |
| 01Ch | Counter Attack Chance |
| 021h | Some sort of divisor |
| 022h | Character Flags (Underwater, Long Range, HP<->MP, etc) |
| 023h | Eight entries of three bytes... |
| 03Ch | Attacking Elements |
| 03Eh | Halved Elements |
| 040h | Nullified Elements |
| 042h | Absorbed Elements |
| 044h | Attacking Elements |
| 046h | Self Mask as a DWord |
| 04Ah | Immune Statuses |
| 04Eh | Enabled Command Menu (16 entries of 6 bytes) |
| 0ACh | Limit Actions for current Limit Level |
| 0B8h | Enabled Limit Data (three entries in Attack Data format) |
| 10Ch | Enabled Magics (54 entries of 8 bytes) |
| 0 | Magic Index |
| 1h | MP Cost |
| 2h | All Count |
| 3h | Quad Enabled? |
| 4h | Quad Count? |
| 5h | Target Data |
| 6h | Properties |
| 2CCh | Enabled Summons (format like above) |
| 32Ch | Enabled ESkills (format like above) |
| 40Ch | First 11 bytes of Weapon Data |
| 41Ch | Elements added to Attacking Elements above |
| 420h | Four sets of two DWords : (Stat to increase, Increase value) |
| 43Ch | Gil Bonus granted by this character |
| 43Dh | Encounter rate "" |
| 43Eh | Chocobo Chance "" |
| 43Fh | PreEmptive Chance "" |