Spell linked spell: различия между версиями
Нет описания правки Метка: visualeditor |
User1 (обсуждение | вклад) (→type) |
||
| (не показано 5 промежуточных версий 2 участников) | |||
| Строка 9: | Строка 9: | ||
===== type ===== | ===== type ===== | ||
SPELL_LINK_CAST = 0, // +: cast; -: remove | |||
SPELL_LINK_REMOVE = 0, | |||
SPELL_LINK_ON_HIT = 1, | |||
SPELL_LINK_AURA = 2, // +: aura; -: immune | |||
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, | |||
SPELL_LINK_ON_ADD_TARGET = 9, | |||
SPELL_LINK_FAILED_CAST = 10, | |||
===== caster ===== | ===== caster ===== | ||
Кого брать за кастера? | Кого брать за кастера? (данные берутся из GetUnitForLinkedSpell) | ||
'''0 =''' ''нету'' | '''0 =''' ''нету'' | ||
| Строка 41: | Строка 40: | ||
===== target ===== | ===== target ===== | ||
Кого брать за таргета? | Кого брать за таргета? (данные в проверке HasAuraLinkedSpell) | ||
'''0 =''' ''нету'' | '''0 =''' ''нету'' | ||
| Строка 58: | Строка 57: | ||
===== hastype, hastype2 ===== | ===== hastype, hastype2 ===== | ||
при hastalent != 0 будет проверять по заданному типу: | при hastalent != 0 будет проверять по заданному типу: (данные берутся из GetUnitForLinkedSpell) | ||
<code>LINK_HAS_AURA_ON_CASTER = 0,</code> | <code>LINK_HAS_AURA_ON_CASTER = 0,</code> | ||
| Строка 71: | Строка 70: | ||
===== hastalent, hastalen2 ===== | ===== hastalent, hastalen2 ===== | ||
ID ауры или спела, который проверять по типу проверки | ID ауры или спела, который проверять по типу проверки (данные в проверке HasAuraLinkedSpell) | ||
===== chance ===== | ===== chance ===== | ||
| Строка 110: | Строка 109: | ||
===== removeMask ===== | ===== removeMask ===== | ||
Маска мода удаления | Маска мода удаления | ||
<code>AURA_REMOVE_NONE = 0,</code> | |||
<code>AURA_REMOVE_BY_DEFAULT = 1, // scripted remove, remove by stack with aura with different ids and sc aura remove</code> | |||
<code>AURA_REMOVE_BY_CANCEL = 2,</code> | |||
<code>AURA_REMOVE_BY_ENEMY_SPELL = 3, // dispel and absorb aura destroy</code> | |||
<code>AURA_REMOVE_BY_EXPIRE = 4, // aura duration has ended</code> | |||
<code>AURA_REMOVE_BY_DEATH = 5,</code> | |||
<code>AURA_REMOVE_BY_MECHANIC = 6,</code> | |||
<code>AURA_REMOVE_BY_DROP_CHARGERS = 7, // aura remove by drop charges</code> | |||
===== actiontype ===== | ===== actiontype ===== | ||
| Строка 127: | Строка 142: | ||
<code>LINK_ACTION_CASTINAURA = 6,</code> | <code>LINK_ACTION_CASTINAURA = 6,</code> | ||
<code>LINK_ACTION_CASTINAURA = 6,</code> | |||
<code>LINK_ACTION_CHANGE_STACK = 7,</code> | |||
<code>LINK_ACTION_REMOVE_COOLDOWN = 8,</code> | |||
<code>LINK_ACTION_REMOVE_MOVEMENT = 9, // RemoveMovementImpairingAuras</code> | |||
<code>LINK_ACTION_CHANGE_DURATION = 10, // Mod Duration</code> | |||
<code>LINK_ACTION_CAST_DEST = 11,</code> | |||
<code>LINK_ACTION_CHANGE_CHARGES = 12,</code> | |||
Текущая версия от 19:46, 26 апреля 2026
spell_linked_spell - таблица линкования спелов, частично переписана для увеличения функционала
Структура таблицы:
spell_trigger
ID способности
spell_effect
ID, который будет срабатывать
type
SPELL_LINK_CAST = 0, // +: cast; -: remove SPELL_LINK_REMOVE = 0, SPELL_LINK_ON_HIT = 1, SPELL_LINK_AURA = 2, // +: aura; -: immune 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, SPELL_LINK_ON_ADD_TARGET = 9, SPELL_LINK_FAILED_CAST = 10,
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,