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. |
Contents
Complete Attack Data Formal Specs[edit]
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 (attacker) | ||||||
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 (shows weapon) | ||||||
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 (#Note 2) | |||||||
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 | |||||||
BIT (1) | 22: Force battle exit | |||||||
BIT (1) | 23: Never trigger counterattacks | |||||||
BIT (1) | 24: Healing poison register past max becomes regen and vice versa | |||||||
BIT (56) | 25-79: Unused | |||||||
BIT (48) | 80 - 127: Element 17 - 64 Damage | |||||||
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.
| ||||||
313 | INT (1) | Weapon picture override. 0=use hero's weapon picture. >= is the weapon picture id +1 | ||||||
314 | INT (1) | Weapon palette override. -1 is default, >=0 is the palette number. This value is completely ignored if weapon picture override is 0. It is not possible to override palette without also overriding picture. | ||||||
315 | INT (1) | Weapon picture frame 0 handle X (only applies to wep picture override) | ||||||
316 | INT (1) | Weapon picture frame 0 handle Y (only applies to wep picture override) | ||||||
317 | INT (1) | Weapon picture frame 1 handle X (only applies to wep picture override) | ||||||
318 | INT (1) | Weapon picture frame 1 handle Y (only applies to wep picture override) | ||||||
319 | INT (1) | Attack delay (turns) | ||||||
320 | INT (1) | Dramatic Pause: number of ticks. This pause is part of the attack animation, and happens after the (undelayed) caption displays but before the visible animation happens. (This is a WIP feature) |
Future data fields[edit]
This hasn't been merged yet.
Offset | Data | Meaning |
---|---|---|
321 | INT (1) | Stat cost: index of stat + 1 (This is a WIP feature) |
322 | INT (1) | Stat cost: amount to decrement (This is a WIP feature) |
Note 1[edit]
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.
Note 2[edit]
"% based attacks damage instead of set" is a very messy bitset. We planned to make get rid of it, replacing Damage Equation = 5 or 6 with Damage Equation = 7 or 8 if this bitset is on (adding a new fix bit, "fixPercentageAttacks"), but this was never done.
References to other lumps[edit]
Field | Indicating record in lump: |
---|---|
Animation picture | PT6 |
Animation palette | PAL |
Chain-to,Instead-chain-to,else-chain-to | DT6 (this lump) |
Sound effect | (sound file) |
'Learned' sound effect | (sound file) |
ARCHINYM.LMP . ATTACK.BIN . BINSIZE.BIN . BROWSE.TXT . DEFPAL#.BIN . DEFPASS.BIN . distrib.reld . FIXBITS.BIN . heroes.reld . heroform.reld . LOOKUP1.BIN . MENUS.BIN . MENUITEM.BIN . PALETTES.BIN . PLOTSCR.LST . SFXDATA.BIN . slicetree_#_#.reld . SLICELOOKUP.TXT . SONGDATA.BIN . UICOLORS.BIN . GEN . general.reld . 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