Difference between revisions of "FF7/Attack data"

From Final Fantasy Inside
< FF7
Jump to navigation Jump to search
my_wiki>G
my_wiki>Akari
Line 1: Line 1:
''(Note:This information has been provided by NFITC1)''
+
== KERNEL.BIN - Section 2: Attack data format ==
  
 +
This section contains the data for the different attacks. Each record is 28 bytes long.
  
This section contains the data for Menu commands. There are 32 entries of 8 bytes in the following format:
+
{| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"
 
+
! style="background:rgb(204,204,204); width=50px;" align="center" | Offset
<TABLE border=1 CELLSPACING=1 Cellpadding=3  FRAME=VOID align="center" rules=all frame=box>
+
! style="background:rgb(204,204,204); width=50px;" | Length
<TR style="background:#CCCCCC" align="center">
+
! style="background:rgb(204,204,204); width:275px;" colspan="2" | Description
<TD><b>Offset</b></TD>
+
|-
<TD><b>Length</b></TD>
+
|style="background:rgb(255,255,204)" align="center" | 0x00
<TD colspan=2><b>Function</b></TD>
+
|style="background:rgb(255,255,204)" | 4 bytes
</TR>
+
|style="background:rgb(255,255,204)" colspan="2" | Unknown
<TR>
+
|-
<TD align="center">0x00</TD>
+
|style="background:rgb(255,255,255)" align="center" | 0x04
<TD>1 byte</TD>
+
|style="background:rgb(255,255,255)" | 1 byte
<TD colspan=2>Initial Cursor Action (see below)</TD>
+
|style="background:rgb(255,255,255)" colspan="2" | Casting cost
</TR>
+
|-
<TR>
+
|style="background:rgb(255,255,204)" align="center" | 0x05
<td style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="12"></TD>
+
|style="background:rgb(255,255,204)" | 5 bytes
<TD align="center">00h&nbsp;</TD>
+
|style="background:rgb(255,255,204)" colspan="2" | Unknown
<TD>Perform command using target data</TD>
+
|-
</TR>
+
|style="background:rgb(255,255,255)" align="center" | 0x0A
<TR>
+
|style="background:rgb(255,255,255)" | 2 byte
<TD align="center">01h&nbsp;</TD>
+
|style="background:rgb(255,255,255)" colspan="2" | Attack type
<TD>Magic Menu</TD>
+
|-
</TR>
+
|style="background:rgb(255,255,255)" align="center" | 0x0C
<TR>
+
|style="background:rgb(255,255,255)" | 1 bytes
<TD align="center">02h&nbsp;</TD>
+
|style="background:rgb(255,255,255)" colspan="2" | Attack attribute
<TD>Summon Menu</TD>
+
|-
</TR>
+
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="16" | &nbsp;
<TR>
+
|style="background:rgb(255,255,255); width:110px" | 0x00
<TD align="center">03h&nbsp;</TD>
+
|style="background:rgb(255,255,255); width:165px" | Escape/Exit-Type
<TD>Item Menu</TD>
+
|-
</TR>
+
|style="background:rgb(255,255,255)" | 0x01
<TR>
+
|style="background:rgb(255,255,255)" | Ribbon-Like
<TD align="center">04h&nbsp;</TD>
+
|-
<TD>E.Skill Menu</TD>
+
|style="background:rgb(255,255,204)" | 0x03
</TR>
+
|style="background:rgb(255,255,204)" | Enemy Skill (?)
<TR>
+
|-
<TD align="center">05h&nbsp;</TD>
+
|style="background:rgb(255,255,204)" | 0x05
<TD>Throw Menu</TD>
+
|style="background:rgb(255,255,204)" | Enemy Skill (?)
</TR>
+
|-
<TR>
+
|style="background:rgb(255,255,204)" | 0x07
<TD align="center">06h&nbsp;</TD>
+
|style="background:rgb(255,255,204)" | Enemy Skill (?)
<TD>Limit Menu (Character Specific)</TD>
+
|-
</TR>
+
|style="background:rgb(255,255,255)" | 0x0D
<TR>
+
|style="background:rgb(255,255,255)" | Restorative/Protective
<TD align="center">07h&nbsp;</TD>
+
|-
<TD>Cursor moves to battle field and obeys target data</TD>
+
|style="background:rgb(255,255,255)" | 0x0F
</TR>
+
|style="background:rgb(255,255,255)" | Status-giving/Elemental
<TR>
+
|-
<TD align="center">08h&nbsp;</TD>
+
|style="background:rgb(255,255,255)" | 0x11
<TD>W-Item</TD>
+
|style="background:rgb(255,255,255)" | Shield
</TR>
+
|-
<TR>
+
|style="background:rgb(255,255,255)" | 0x13
<TD align="center">09h&nbsp;</TD>
+
|style="background:rgb(255,255,255)" | Limit Break
<TD>W-Magic</TD>
+
|-
</TR>
+
|style="background:rgb(255,255,255)" | 0x15
<TR>
+
|style="background:rgb(255,255,255)" | Cait Sith Limit Break
<TD align="center">0Ah&nbsp;</TD>
+
|-
<TD>W-Summon</TD>
+
|style="background:rgb(255,255,255)" | 0x17
</TR>
+
|style="background:rgb(255,255,255)" | Summon
<TR>
+
|-
<TD align="center">0Bh&nbsp;</TD>
+
|style="background:rgb(255,255,255)" | 0xC7
<TD>Coin Menu</TD>
+
|style="background:rgb(255,255,255)" | Roulette
</TR>
+
|-
<TR>
+
|style="background:rgb(255,255,255)" | 0x97
<TD align="center">0x01</TD>
+
|style="background:rgb(255,255,255)" | Multiple Strike Limit Breaks
<TD>1 byte</TD>
+
|-
<TD colspan=2>Force Targeting (see below)</TD>
+
|style="background:rgb(255,255,255)" | 0x01
</TR>
+
|style="background:rgb(255,255,255)" | Phoenix Down
<TR>
+
|-
<td style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="8"></TD>
+
|style="background:rgb(255,255,255)" | 0x03
<TD>01h&nbsp;</TD>
+
|style="background:rgb(255,255,255)" | X-needles Attack
<TD>Enable Selection</TD>
+
|-
</TR>
+
|style="background:rgb(255,255,255)" | 0x17
<TR>
+
|style="background:rgb(255,255,255)" | Final Limit Break
<TD>02h&nbsp;</TD>
+
|-
<TD>Cursor Starts on Enemies</TD>
+
|style="background:rgb(255,255,255)" align="center" | 0x0D
</TR><TR>
+
|style="background:rgb(255,255,255)" | 1 byte
<TD>04h&nbsp;</TD>
+
|style="background:rgb(255,255,255)" colspan="2" | ID Number
<TD>Multiple targets as default</TD>
+
|-
</TR><TR>
+
|style="background:rgb(255,255,255)" align="center" | 0x0E
<TD>08h&nbsp;</TD>
+
|style="background:rgb(255,255,255)" | 1 byte
<TD>Toggle Multiple/single target(s)</TD>
+
|style="background:rgb(255,255,255)" colspan="2" | Restore Apply
</TR>
+
|-
<TR>
+
|style="background:rgb(255,255,255)" align="center" | 0x0F
<TD>10h&nbsp;</TD>
+
|style="background:rgb(255,255,255)" | 1 byte
<TD>One Row only</TD>
+
|style="background:rgb(255,255,255)" colspan="2" | Strength
</TR>
+
|-
<TR>
+
|style="background:rgb(255,255,255)" align="center" | 0x10
<TD>20h&nbsp;</TD>
+
|style="background:rgb(255,255,255)" | 1 byte
<TD>Long range targets take normal damage to physical "elements"</TD>
+
|style="background:rgb(255,255,255)" colspan="2" | Restore type
</TR><TR>
+
|-
<TD>40h&nbsp;</TD>
+
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="4" | &nbsp;
<TD>Both Sides</TD>
+
|style="background:rgb(255,255,255)" | 0x00
</TR><TR>
+
|style="background:rgb(255,255,255)" | Restore HP
<TD>80h&nbsp;</TD>
+
|-
<TD>Random Target</TD>
+
|style="background:rgb(255,255,255)" | 0x01
</TR>
+
|style="background:rgb(255,255,255)" | Restore MP
<TR style="background:rgb(255,255,204);" >
+
|-
<TD align="center">0x02</TD>
+
|style="background:rgb(255,255,255)" | 0x02
<TD>2 bytes</TD>
+
|style="background:rgb(255,255,255)" | Restore Ailment
<TD colspan=2>Unknown (Always FFh)</TD>
+
|-
</TR><TR>
+
|style="background:rgb(255,255,255)" | 0xFF
<TD align="center">0x04</TD>
+
|style="background:rgb(255,255,255)" | None
<TD>2 bytes</TD>
+
|-
<TD colspan=2>Single Target Camera Movement index</TD>
+
|style="background:rgb(255,255,204)" align="center" | 0x11
</TR><TR>
+
|style="background:rgb(255,255,204)" | 2 bytes
<TD align="center">0x06</TD>
+
|style="background:rgb(255,255,204)" colspan="2" | Unknown
<TD>2 bytes</TD>
+
|-
<TD colspan=2>Multiple Targets Camera Movement index</TD>
+
|style="background:rgb(255,255,255)" align="center" | 0x13
</TR>
+
|style="background:rgb(255,255,255)" | 1 byte
</TABLE>
+
|style="background:rgb(255,255,255)" colspan="2" | Times attacking
 
+
|-
<br />
+
|style="background:rgb(255,255,255)" align="center" | 0x14
''Notes'': A menu (except the Coin menu?) will return only the index of the selection on that menu to the battle engine. Then battle engine then performs the action based on that index, not the object selected.
+
|style="background:rgb(255,255,255)" | 4 bytes
(ie. if magic is edited to display the Summon menu and Titan (04h) is selected to be summoned, the character will perform Poisona (04h) instead because the battle engine knows that it was the magic command that gave that index.)
+
|style="background:rgb(255,255,255)" colspan="2" | Status
 +
|-
 +
|style="background:rgb(255,255,255)" align="center" | 0x18
 +
|style="background:rgb(255,255,255)" | 2 bytes
 +
|style="background:rgb(255,255,255)" colspan="2" | Element
 +
|-
 +
|style="background:rgb(255,255,204)" align="center" | 0x20
 +
|style="background:rgb(255,255,204)" | 2 bytes
 +
|style="background:rgb(255,255,204)" colspan="2" | Unknown
 +
|}

Revision as of 09:30, 19 October 2008

KERNEL.BIN - Section 2: Attack data format

This section contains the data for the different attacks. Each record is 28 bytes long.

Offset Length Description
0x00 4 bytes Unknown
0x04 1 byte Casting cost
0x05 5 bytes Unknown
0x0A 2 byte Attack type
0x0C 1 bytes Attack attribute
  0x00 Escape/Exit-Type
0x01 Ribbon-Like
0x03 Enemy Skill (?)
0x05 Enemy Skill (?)
0x07 Enemy Skill (?)
0x0D Restorative/Protective
0x0F Status-giving/Elemental
0x11 Shield
0x13 Limit Break
0x15 Cait Sith Limit Break
0x17 Summon
0xC7 Roulette
0x97 Multiple Strike Limit Breaks
0x01 Phoenix Down
0x03 X-needles Attack
0x17 Final Limit Break
0x0D 1 byte ID Number
0x0E 1 byte Restore Apply
0x0F 1 byte Strength
0x10 1 byte Restore type
  0x00 Restore HP
0x01 Restore MP
0x02 Restore Ailment
0xFF None
0x11 2 bytes Unknown
0x13 1 byte Times attacking
0x14 4 bytes Status
0x18 2 bytes Element
0x20 2 bytes Unknown