Difference between revisions of "FF7/Attack data"

From Final Fantasy Inside
< FF7
Jump to navigation Jump to search
my_wiki>G
my_wiki>NFITC1
Line 1: Line 1:
 
== KERNEL.BIN - Section 2: Attack data format ==
 
== KERNEL.BIN - Section 2: Attack data format ==
  
<i>(Note: Akari and NFITC1 have some minor differences with respect to information on this page. Most of this page is Akari's data with some addition from NFITC1)</i>
+
<i>(Note: Akari and NFITC1 have some minor differences with respect to information on this page. Most of this page comes from NFITC1's work on WallMarket)</i>
  
 
This section contains the data for the different attacks. Each record is 28 bytes long.
 
This section contains the data for the different attacks. Each record is 28 bytes long.
Line 10: Line 10:
 
! style="background:rgb(204,204,204); width:275px;" colspan="2" | Description
 
! style="background:rgb(204,204,204); width:275px;" colspan="2" | Description
 
|-
 
|-
|style="background:rgb(255,255,204)" align="center" | 0x00
+
|style="background:rgb(255,255,255)" align="center" | 0x00
|style="background:rgb(255,255,204)" | 4 bytes
+
|style="background:rgb(255,255,255)" | 1 byte
|style="background:rgb(255,255,204)" colspan="2" | Unknown
+
|style="background:rgb(255,255,255)" colspan="2" | Attack %
 
|-
 
|-
|style="background:rgb(255,255,255)" align="center" | 0x04
+
|style="background:rgb(255,255,255)" align="center" | 0x01
 
|style="background:rgb(255,255,255)" | 1 byte
 
|style="background:rgb(255,255,255)" | 1 byte
|style="background:rgb(255,255,255)" colspan="2" | Casting cost
+
|style="background:rgb(255,255,255)" colspan="2" | Impact Animation Index
 
|-
 
|-
|style="background:rgb(255,255,204)" align="center" | 0x05
+
|style="background:rgb(255,255,255)" align="center" | 0x02
|style="background:rgb(255,255,204)" | 5 bytes
+
|style="background:rgb(255,255,255)" | 2 byte
|style="background:rgb(255,255,204)" colspan="2" | Unknown
+
|style="background:rgb(255,255,255)" colspan="2" | Target Animation Index
 
|-
 
|-
|style="background:rgb(255,255,255)" align="center" | 0x0A
+
|style="background:rgb(255,255,255)" align="center" | 0x04
 
|style="background:rgb(255,255,255)" | 2 byte
 
|style="background:rgb(255,255,255)" | 2 byte
|style="background:rgb(255,255,255)" colspan="2" | Attack type
+
|style="background:rgb(255,255,255)" colspan="2" | Casting cost
 
|-
 
|-
|style="background:rgb(255,255,255)" align="center" | 0x0C
+
|style="background:rgb(255,255,255)" align="center" | 0x06
|style="background:rgb(255,255,255)" | 1 bytes
+
|style="background:rgb(255,255,255)" | 2 bytes
|style="background:rgb(255,255,255)" colspan="2" | Attack attribute
+
|style="background:rgb(255,255,255)" colspan="2" | Impact Sound
 
|-
 
|-
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="16" | &nbsp;
+
|style="background:rgb(255,255,255)" align="center" | 0x08
|style="background:rgb(255,255,255); width:110px" | 0x00
+
|style="background:rgb(255,255,255)" | 2 bytes
|style="background:rgb(255,255,255); width:165px" | Escape/Exit-Type
+
|style="background:rgb(255,255,255)" colspan="2" | Single Target Camera Movement Index
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0x01
+
|style="background:rgb(255,255,255)" align="center" | 0x0A
|style="background:rgb(255,255,255)" | Ribbon-Like
+
|style="background:rgb(255,255,255)" | 2 bytes
 +
|style="background:rgb(255,255,255)" colspan="2" | Multiple Targets Camera Movement Index
 
|-
 
|-
|style="background:rgb(255,255,204)" | 0x03
+
|style="background:rgb(255,255,255)" align="center" | 0x0C
|style="background:rgb(255,255,204)" | Enemy Skill (?)
+
|style="background:rgb(255,255,255)" | 1 byte
|-
+
|style="background:rgb(255,255,255)" colspan="2" | Targeting Information
|style="background:rgb(255,255,204)" | 0x05
 
|style="background:rgb(255,255,204)" | Enemy Skill (?)
 
|-
 
|style="background:rgb(255,255,204)" | 0x07
 
|style="background:rgb(255,255,204)" | Enemy Skill (?)
 
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0x0D
+
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="8" | &nbsp;
|style="background:rgb(255,255,255)" | Restorative/Protective
+
|style="background:rgb(255,255,255); width:110px" | 01h
 +
|style="background:rgb(255,255,255); width:165px" | Enable Selection
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0x0F
+
|style="background:rgb(255,255,255)" | 02h
|style="background:rgb(255,255,255)" | Status-giving/Elemental
+
|style="background:rgb(255,255,255)" | Start Cursor on Enemy Row
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0x11
+
|style="background:rgb(255,255,255)" | 04h
|style="background:rgb(255,255,255)" | Shield
+
|style="background:rgb(255,255,255)" | Multiple Targets by Default
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0x13
+
|style="background:rgb(255,255,255)" | 08h
|style="background:rgb(255,255,255)" | Limit Break
+
|style="background:rgb(255,255,255)" | Toggle Multiple/Single Targets
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0x15
+
|style="background:rgb(255,255,255)" | 10h
|style="background:rgb(255,255,255)" | Cait Sith Limit Break
+
|style="background:rgb(255,255,255)" | One Row Only
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0x17
+
|style="background:rgb(255,255,255)" | 20h
|style="background:rgb(255,255,255)" | Summon
+
|style="background:rgb(255,255,255)" | "Short Range" (Physical attacks only)
|-
 
|style="background:rgb(255,255,255)" | 0xC7
 
|style="background:rgb(255,255,255)" | Roulette
 
|-
 
|style="background:rgb(255,255,255)" | 0x97
 
|style="background:rgb(255,255,255)" | Multiple Strike Limit Breaks
 
|-
 
|style="background:rgb(255,255,255)" | 0x01
 
|style="background:rgb(255,255,255)" | Phoenix Down
 
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0x03
+
|style="background:rgb(255,255,255)" | 40h
|style="background:rgb(255,255,255)" | X-needles Attack
+
|style="background:rgb(255,255,255)" | All Rows
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0x17
+
|style="background:rgb(255,255,255)" | 80h
|style="background:rgb(255,255,255)" | Final Limit Break
+
|style="background:rgb(255,255,255)" | Random Target among Selected
 
|-
 
|-
 
|style="background:rgb(255,255,255)" align="center" | 0x0D
 
|style="background:rgb(255,255,255)" align="center" | 0x0D
 
|style="background:rgb(255,255,255)" | 1 byte
 
|style="background:rgb(255,255,255)" | 1 byte
|style="background:rgb(255,255,255)" colspan="2" | ID Number
+
|style="background:rgb(255,255,255)" colspan="2" | Animation Index
 
|-
 
|-
 
|style="background:rgb(255,255,255)" align="center" | 0x0E
 
|style="background:rgb(255,255,255)" align="center" | 0x0E
 
|style="background:rgb(255,255,255)" | 1 byte
 
|style="background:rgb(255,255,255)" | 1 byte
|style="background:rgb(255,255,255)" colspan="2" | Restore Apply
+
|style="background:rgb(255,255,255)" colspan="2" | Damage Calculation (more details soon)
 
|-
 
|-
 
|style="background:rgb(255,255,255)" align="center" | 0x0F
 
|style="background:rgb(255,255,255)" align="center" | 0x0F
 
|style="background:rgb(255,255,255)" | 1 byte
 
|style="background:rgb(255,255,255)" | 1 byte
|style="background:rgb(255,255,255)" colspan="2" | Strength
+
|style="background:rgb(255,255,255)" colspan="2" | Attack Strength
 
|-
 
|-
 
|style="background:rgb(255,255,255)" align="center" | 0x10
 
|style="background:rgb(255,255,255)" align="center" | 0x10
Line 108: Line 96:
 
|style="background:rgb(255,255,255)" | None
 
|style="background:rgb(255,255,255)" | None
 
|-
 
|-
|style="background:rgb(255,255,204)" align="center" | 0x11
+
|style="background:rgb(255,255,255)" align="center" | 0x11
|style="background:rgb(255,255,204)" | 2 bytes
+
|style="background:rgb(255,255,255)" | 1 byte
|style="background:rgb(255,255,204)" colspan="2" | Unknown
+
|style="background:rgb(255,255,255)" colspan="2" | Status Effect Change
 +
|-
 +
|style="background:rgb(204,204,255)" align="center" colspan="2" rowspan="3" | &nbsp;
 +
|style="background:rgb(255,255,255)" | 3Fh
 +
|style="background:rgb(255,255,255)" | Chance to Inflict/Heal status (out of 63)
 +
|-
 +
|style="background:rgb(255,255,255)" | 40h
 +
|style="background:rgb(255,255,255)" | Cure if inflicted
 +
|-
 +
|style="background:rgb(255,255,255)" | 80h
 +
|style="background:rgb(255,255,255)" | Cure if inflicted, Inflict if not
 +
|-
 +
|style="background:rgb(255,255,255)" align="center" | 0x12
 +
|style="background:rgb(255,255,255)" | 1 byte
 +
|style="background:rgb(255,255,255)" colspan="2" | Additional Effects (more details soon)
 
|-
 
|-
 
|style="background:rgb(255,255,255)" align="center" | 0x13
 
|style="background:rgb(255,255,255)" align="center" | 0x13
 
|style="background:rgb(255,255,255)" | 1 byte
 
|style="background:rgb(255,255,255)" | 1 byte
|style="background:rgb(255,255,255)" colspan="2" | Times attacking
+
|style="background:rgb(255,255,255)" colspan="2" | Additional Effects Modifier
 
|-
 
|-
 
|style="background:rgb(255,255,255)" align="center" | 0x14
 
|style="background:rgb(255,255,255)" align="center" | 0x14
Line 124: Line 126:
 
|style="background:rgb(255,255,255)" colspan="2" | Element
 
|style="background:rgb(255,255,255)" colspan="2" | Element
 
|-
 
|-
|style="background:rgb(255,255,204)" align="center" | 0x20
+
|style="background:rgb(255,255,255)" align="center" | 0x1A
|style="background:rgb(255,255,204)" | 2 bytes
+
|style="background:rgb(255,255,255)" | 2 bytes
|style="background:rgb(255,255,255)" colspan="2" |Long Range (targets in back rows take normal damage; physical damage calculations only)
+
|style="background:rgb(255,255,255)" colspan="2" |Special Attack Properties (more details soon)
 
|}
 
|}

Revision as of 01:58, 6 November 2008

KERNEL.BIN - Section 2: Attack data format

(Note: Akari and NFITC1 have some minor differences with respect to information on this page. Most of this page comes from NFITC1's work on WallMarket)

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

Offset Length Description
0x00 1 byte Attack %
0x01 1 byte Impact Animation Index
0x02 2 byte Target Animation Index
0x04 2 byte Casting cost
0x06 2 bytes Impact Sound
0x08 2 bytes Single Target Camera Movement Index
0x0A 2 bytes Multiple Targets Camera Movement Index
0x0C 1 byte Targeting Information
  01h Enable Selection
02h Start Cursor on Enemy Row
04h Multiple Targets by Default
08h Toggle Multiple/Single Targets
10h One Row Only
20h "Short Range" (Physical attacks only)
40h All Rows
80h Random Target among Selected
0x0D 1 byte Animation Index
0x0E 1 byte Damage Calculation (more details soon)
0x0F 1 byte Attack Strength
0x10 1 byte Restore type
  0x00 Restore HP
0x01 Restore MP
0x02 Restore Ailment
0xFF None
0x11 1 byte Status Effect Change
  3Fh Chance to Inflict/Heal status (out of 63)
40h Cure if inflicted
80h Cure if inflicted, Inflict if not
0x12 1 byte Additional Effects (more details soon)
0x13 1 byte Additional Effects Modifier
0x14 4 bytes Status
0x18 2 bytes Element
0x1A 2 bytes Special Attack Properties (more details soon)