DT6
This lump is one of two containing attack data. Each attack is treated as a single block of data. The first 40 INTs of each record are stored in .DT6, the remainder are stored in records ATTACK.BIN, which is resizeable using BINSIZE.BIN
In the loadattackdata sub in loading.bas, the attack data is combined into a single INT array. The complete specification combining data from both lumps follows. Offsets are in INTs from the start of the combined attack data.
| Grey fields are obsolete or unused. |
| Pink fields are data that is only used in the latest development WIP version |
[edit] Complete Attack Data Formal Specs
| Offset | Data | Meaning | ||||||
|---|---|---|---|---|---|---|---|---|
| 0 | INT (1) | Animation picture | ||||||
| 1 | INT (1) | Animation palette, or -1 for default | ||||||
| 2 | INT (1) | Animation pattern:
0 = Cycle forward | ||||||
| 3 | INT (1) | Target Class:
0 = Enemy | ||||||
| 4 | INT (1) | Target Setting:
0 = Focused | ||||||
| 5 | INT (1) | Damage Equation:
0 = Normal: Atk - Def*.5 | ||||||
| 6 | INT (1) | Aim Math:
0 = Normal: Aim*4 vs Dog | ||||||
| 7 | INT (1) | Base Attack Stat:
0 = Atk | ||||||
| 8 | INT (1) | MP Cost | ||||||
| 9 | INT (1) | HP Cost | ||||||
| 10 | INT (1) | Money Cost | ||||||
| 11 | INT (1) | Extra Damage % | ||||||
| 12 | INT (1) | Chain-to attack number + 1, 0 for none | ||||||
| 13 | INT (1) | Chain Rate % (0-100) | ||||||
| 14 | INT (1) | Attacker Animation:
0 = Strike | ||||||
| 15 | INT (1) | Attack Animation:
0 = Normal | ||||||
| 16 | INT (1) | Attack Delay (ticks) | ||||||
| 17 | INT (1) | Number of hits (range 1 to 20) | ||||||
| 18 | INT (1) | Target Stat:
0 = HP | ||||||
| 19 | INT (1) | Preferred target: 0 = default 1 = first 2 = closest 3 = farthest 4 = random 5 = weakest 6 = strongest 7 = weakest% 8 = strongest% | ||||||
| 20 - 23: Attack Bitsets 1 (64) |
BIT (1) | 0: Cure Instead of Harm | ||||||
| BIT (1) | 1: Divide Spread Damage | |||||||
| BIT (1) | 2: Absorb Damage | |||||||
| BIT (1) | 3: Unreversable Picture | |||||||
| BIT (1) | 4: Steal Item | |||||||
| BIT (8) | 5 - 12: Elementary 1 - 8 Damage | |||||||
| BIT (8) | 13 - 20: Bonus vs. Monster Type 1 - 8 (aka. Elemental 9 - 16 damage) | |||||||
| BIT (8) | 21 - 28: Fail vs. Elementary 1 - 8 Resistance (Obsolete, see #Note 1) | |||||||
| BIT (8) | 29 - 36: Fail vs. Monster Type 1 - 8 (Obsolete, see #Note 1) | |||||||
| BIT (8) | 37: Cannot target enemy slot 0 - 7 | |||||||
| BIT (4) | 45: Cannot target hero slot 0 - 3 | |||||||
| BIT (1) | 49: Ignore attacker's extra hits | |||||||
| BIT (1) | 50: Erase rewards (enemy target only) | |||||||
| BIT (1) | 51: Show damage without inflicting | |||||||
| BIT (1) | 52: Store Target | |||||||
| BIT (1) | 53: Delete Stored Target | |||||||
| BIT (1) | 54: Automaticaly choose target | |||||||
| BIT (1) | 55: Show attack name | |||||||
| BIT (1) | 56: Do not display Damage | |||||||
| BIT (1) | 57: Reset target stat to max before hit | |||||||
| BIT (1) | 58: Allow Cure to exceed maximum | |||||||
| BIT (1) | 59: Useable Outside of Battle | |||||||
| BIT (1) | 60: Damage MP (obsolete, but still supported) | |||||||
| BIT (1) | 61: Do not randomize | |||||||
| BIT (1) | 62: Damage can be Zero | |||||||
| BIT (1) | 63: Cause heroes to run away | |||||||
| 24 - 35 | FVSTR (1i+1i+10i=12i) | Attack Name, 10 characters max: First INT contains length, the second is unused | ||||||
| 36 | INT (1) | Caption Display Time:
-1 = Do not display | ||||||
| 37 - 56 | FVSTR (1i+38b=40b) | Attack Caption, 38 characters max (note that the length INT ant first 4 chars are stored in DT6 and the remainder of the caption is stored in ATTACK.BIN) | ||||||
| 57 | INT (1) | Caption Delay (range 0 to 16383) | ||||||
| 58 | INT (1) | Base Defense Stat:
0 = Default (Wil if base attack stat is Mag, Def otherwise) | ||||||
| 59 | INT (1) | Tag to Set 0 - none | ||||||
| 60 | INT (1) | Tag Condition 0 - Never | ||||||
| 61 | INT (1) | Tag Check 0 - none | ||||||
| 62 | INT (1) | Tag to Set #2 0 - none | ||||||
| 63 | INT (1) | Tag Condition #2 0 - Never | ||||||
| 64 | INT (1) | Tag Check #2 0 - none | ||||||
| 65 - 72: Bitsets 2 (128) |
BIT (1) | 0: Mutable | ||||||
| BIT (1) | 1: Fail if target is Poisoned | |||||||
| BIT (1) | 2: Fail if target is Regened | |||||||
| BIT (1) | 3: Fail if target is Stunned | |||||||
| BIT (1) | 4: Fail if target is Muted | |||||||
| BIT (1) | 5: % based attacks damage instead of set | |||||||
| BIT (1) | 6: Check costs when used as a weapon | |||||||
| BIT (1) | 7: Do not chain if attack fails | |||||||
| BIT (1) | 8: Reset Poisoned register | |||||||
| BIT (1) | 9: Reset Regened register | |||||||
| BIT (1) | 10: Reset Stun Register | |||||||
| BIT (1) | 11: Reset Mute Register | |||||||
| BIT (1) | 12: Cancel target's attack | |||||||
| BIT (1) | 13: Can't be canceled by other attacks | |||||||
| BIT (1) | 14: Do not trigger spawning on attack | |||||||
| BIT (1) | 15: Do not trigger spawning on death | |||||||
| BIT (1) | 16: Check costs when used as an item in battle | |||||||
| BIT (1) | 17: Re-check costs after attack delay | |||||||
| BIT (1) | 18: Does not cause target to flinch | |||||||
| BIT (1) | 19: Don't allow damage to exceed target stat | |||||||
| BIT (1) | 20: Delay doesn't block further actions | |||||||
| BIT (1) | 21: Force victory (This is a WIP feature) | |||||||
| BIT (1) | 22: Force battle exit (This is a WIP feature) | |||||||
| BIT (106) | 23-127: Unused | |||||||
| 73 - 92 | VSTR (1i+38b = 40b) | Spell description | ||||||
| 93, 95, 97 | INT (1) x 3 | Item ID+1 to be consumed (or given) or 0 for none (x3) | ||||||
| 94, 96, 98 | INT (1) x 3 | Number of items to be consumed (or given) (x3) | ||||||
| 99 | INT (1) | Sound effect to be played + 1 (0 for none) | ||||||
| 100 | INT (1) | Stat for preferred target weakest/strongest 0 = same as target stat 1 = HP 2 = MP 3 = Atk 4 = Aim 5 = Def 6 = Dog 7 = Mag 8 = Wil 9 = Spd 10 = Ctr 11 = Focus 12 = extra Hits 13 = Poison register 14 = Regen register 15 = Stun register 16 = Mute register | ||||||
| 101 | INT(1) | Chain condition type 0: No special conditions | ||||||
| 102 | INT(1) | Chain condition Primary value (meaning varies depending on Chain type) | ||||||
| 103 | INT(1) | Chain condition secondary value (meaning varies depending on Chain type) | ||||||
| 104 | Chain bits 0: Attacker must know the chained attack also | |||||||
| 105 | INT (1) | Else-Chain-to attack number + 1, 0 for none | ||||||
| 106 | INT(1) | Else-Chain condition type (see chain condition type for valid values) | ||||||
| 107 | INT (1) | Else-Chain Rate % (0-100) | ||||||
| 108 | INT (1) | Else-Chain condition value (meaning varies depending on Else-Chain type) | ||||||
| 109 | INT(1) | Else-Chain condition secondary value (meaning varies depending on Else-Chain type) | ||||||
| 110 | BIT(16) | Else-chain bits (see chain bits) | ||||||
| 111 | INT (1) | Instead-Chain-to attack number + 1, 0 for none | ||||||
| 112 | INT(1) | Instead-Chain condition type (see chain condition type for valid values) | ||||||
| 113 | INT (1) | Instead-Chain Rate % (0-100) | ||||||
| 114 | INT (1) | Instead-Chain condition value (meaning varies depending on Instead-Chain type) | ||||||
| 115 | INT(1) | Instead-Chain condition secondary value (meaning varies depending on Instead-Chain type) | ||||||
| 116 | BIT(16) | Instead-chain bits (see chain bits) | ||||||
| 117 | INT (1) | Sound effect when learned from item or levelup + 1 (0 for none) | ||||||
| 118 | INT (1) | Transmogrify enemy. new Enemy ID + 1 or 0 for no change | ||||||
| 119 | INT (1) | What to do with HP when transmogrifying 0=keep current | ||||||
| 120 | INT (1) | What to do with other stats when transmogrifying 0=keep current | ||||||
| 121-312 | FLOAT Threshold (64) (6 bytes each) |
Conditions for attack failure if the target takes beyond some threshold of damage from some element. #Note 1 Note: if the 'Simulate old fail vs. element resist bit' general bitset is ON, then consider the absolute value of the amount of damage taken by a target from the element, simulating the way in which the old fail bits ignored whether the Absorb bit was on.
|
[edit] Note 1
If fixAttackElementFails is OFF, then elemental fail thresholds should be read from the "fail vs. ..." bits:
- All conditions default to "None".
- If 'fail vs. elemental n resistance' is set, the element n condition is "If < 100% damage"
- If 'fail vs. enemytype n ' is set, the element n+8 condition is "If > 100% damage"
If fixAttackElementFails is ON, the old bits contain garbage.
ARCHINYM.LMP . BROWSE.TXT . ATTACK.BIN . BINSIZE.BIN . DEFPAL#.BIN . DEFPASS.BIN . FIXBITS.BIN . LOOKUP.BIN . MENUS.BIN . MENUITEM.BIN . PALETTES.BIN . PLOTSCR.LST . SFXDATA.BIN . SONGDATA.BIN . UICOLORS.BIN . slicetree_#_#.reld . GEN . BAM . Map Format . T . P . E . D . L . N . Z . DOR . DOX . DT0 . DT1 . DT6 . EFS . FOR . FNT . HSP . HSZ . ITM . MAP . MAS . MN . MXS . PAL . PT0 . PT1 . PT2 . PT3 . PT4 . PT5 . PT6 . PT7 . PT8 . SAY . SHO . SNG . STF . STT . TAP . TIL . TMN . VEH