Database Editor:Spells
Edit Spell Sets
Spell sets are a list of spells that the NPC may cast, along with restrictions. Multiple NPCs can use the same spell set. TAKP has a spell set for each class that is applied to most NPCs of that class.
Spell sets themselves may have a 'parent' spell set. Trakanon's spell set for example is unique to him, but his spell set has the necromancer spell set as a parent, so he casts his own spells plus the default necromancer spells that all necro NPCs have. It's important that you do not accidentally make changes to the parent spell set when you intend to only modify that single NPC's spells, lest you change every NPC that uses the parent set.
Type
The spell type in a spell set determines the AI's behavior for the spell and nothing more. It's important to understand this. Even if a spell may not be a direct damage spell, in many cases 'Nuke' is still the best type for it. A raid boss AoE for example might be a DoT, but Nuke is still the best type selection, because the DoT AI will not cast the spell if the target already has the DoT on him.
Nuke will always cast on the current target. Debuff, Slow, Root and Charm will randomly select targets on their hate lists instead of the current target.
Debuffs will also refuse to cast if the target has recently been debuffed with the spell. (includes snare) This is another reason why raid bosses should use Nuke instead. Slows will only cast on melee.
Beneficial spells should of course have the correct type, else they will not be cast.
Min and Max Level
These restrict which levels the NPC may cast the spell. This prevents level 20 NPCs from casting Ice Comet and level 50 NPCs from casting Shock of Ice.
Mana Cost
Mana cost has special values:
- -2: Makes the cost of the spell zero, regardless of what it is in the spell data.
- -1: Use the spell data's mana cost for the spell. This is the default.
Recast Delay
Recast delay has special values:
- 0: Recast delay without additional variance. This will make the spell available immediately after the cooldown is over. Use this for spells that should trigger after cooldown like clockwork. (i.e. Cazic Touch)
- -1: Recast delay + variance. Variance is a 0-4 second additional delay added on top of the spell's natural cooldown. This is the normal behavior for most spells and is the editor default. If you parse Lord Nagafen for example (and most raid boss AoEs) you'll find a small random delay on top of the spell data's recast delay on each AoE.
- -2: Ignore the recast delay in the spell data entirely. Adds no variance.
Priority
A spell's priority determines the likelihood that the NPC will cast the spell over other spells. Counterintuitively, lower priority values increase the likelihood that the NPC will select that spell to cast.
Every second or so, NPCs try to cast a spell if they are able. There are several random rolls done that may prevent a spell from being cast. A NPC will always cast a lower priority spell over a higher priority spell unless the selected spell fails its roll, then the NPC goes down the list until a spell wins a roll.
A priority of zero (0) has special behavior. Priority zero spells are to be used for raid boss spells. The server will cast these spells immediately on cooldown, ignoring all rolls. Always use priority zero for raid boss spells, otherwise the spells will not cast regularly as they should.
Resist Adjust
The resist adjust is a means to override the spell data's resist adjust. A resist adjust modifies the target's resist value before calculating resist chance. Wizard lure spells have a -300 resist adjust for example.