Spell linked spell
spell_linked_spell - таблица линкования спелов, частично переписана для увеличения функционала
Структура таблицы:
spell_trigger
ID способности
spell_effect
ID, который будет срабатывать
type
Тип срабатывания:
SPELL_LINK_CAST = 0,
SPELL_LINK_ON_HIT = 1,
SPELL_LINK_AURA = 2,
SPELL_LINK_BEFORE_HIT = 3,
SPELL_LINK_AURA_HIT = 4,
SPELL_LINK_BEFORE_CAST = 5,
SPELL_LINK_PREPARE_CAST = 6, срабатывает на подготовке к касту
SPELL_LINK_BEFORE_CHECK = 7, срабатывает перед проверкой на возможность каста
SPELL_LINK_FINISH_CAST = 8, срабатывает когда каст спела завершен
caster
Кого брать за кастера? (данные берутся из GetUnitForLinkedSpell)
0 = нету
1 = пет
2 = Владелец (овнер)
3 = Кастер
4 = Выбранный (цель)
5 = таргет
6 = текущая цель (victim)
target
Кого брать за таргета? (данные в проверке HasAuraLinkedSpell)
0 = нету
1 = пет
2 = Владелец (овнер)
3 = Кастер
4 = Выбранный (цель)
5 = таргет
6 = текущая цель (victim)
hastype, hastype2
при hastalent != 0 будет проверять по заданному типу: (данные берутся из GetUnitForLinkedSpell)
LINK_HAS_AURA_ON_CASTER = 0,
LINK_HAS_AURA_ON_TARGET = 1,
LINK_HAS_SPELL_ON_CASTER = 2,
LINK_HAS_AURA_ON_OWNER = 3,
LINK_HAS_AURATYPE = 4,
hastalent, hastalen2
ID ауры или спела, который проверять по типу проверки (данные в проверке HasAuraLinkedSpell)
chance
Шанс срабатывания, если стоит >0
cooldown
Ставит КД на способность после срабатывания
hitmask
Маска хита, при каком типе хита срабатывать?
SPELL_MISS_NONE = 0, // hitmask = 1
SPELL_MISS_MISS = 1, // hitmask = 2
SPELL_MISS_RESIST = 2, // hitmask = 4
SPELL_MISS_DODGE = 3, // hitmask = 8
SPELL_MISS_PARRY = 4, // hitmask = 16
SPELL_MISS_BLOCK = 5, // hitmask = 32
SPELL_MISS_EVADE = 6, // hitmask = 64
SPELL_MISS_IMMUNE = 7, // hitmask = 128
SPELL_MISS_IMMUNE2 = 8, // one of these 2 is MISS_TEMPIMMUNE, hitmask = 256
SPELL_MISS_DEFLECT = 9, // hitmask = 512
SPELL_MISS_ABSORB = 10, // hitmask = 1024
SPELL_MISS_REFLECT = 11, // hitmask = 2048
SPELL_MISS_MISFIRED = 12, // hitmask = 4096
removeMask
Маска мода удаления
AURA_REMOVE_NONE = 0,
AURA_REMOVE_BY_DEFAULT = 1, // scripted remove, remove by stack with aura with different ids and sc aura remove
AURA_REMOVE_BY_CANCEL = 2,
AURA_REMOVE_BY_ENEMY_SPELL = 3, // dispel and absorb aura destroy
AURA_REMOVE_BY_EXPIRE = 4, // aura duration has ended
AURA_REMOVE_BY_DEATH = 5,
AURA_REMOVE_BY_MECHANIC = 6,
AURA_REMOVE_BY_DROP_CHARGERS = 7, // aura remove by drop charges
actiontype
Тип действия?
LINK_ACTION_DEFAULT = 0,
LINK_ACTION_LEARN = 1,
LINK_ACTION_AURATYPE = 2,
LINK_ACTION_SPELLCOOLDOWN = 3,
LINK_ACTION_CASTNOTRIGGER = 4,
LINK_ACTION_ADDAURA = 5,
LINK_ACTION_CASTINAURA = 6,
LINK_ACTION_CASTINAURA = 6,
LINK_ACTION_CHANGE_STACK = 7,
LINK_ACTION_REMOVE_COOLDOWN = 8,
LINK_ACTION_REMOVE_MOVEMENT = 9, // RemoveMovementImpairingAuras
LINK_ACTION_CHANGE_DURATION = 10, // Mod Duration
LINK_ACTION_CAST_DEST = 11,
LINK_ACTION_CHANGE_CHARGES = 12,