Spell linked spell: различия между версиями
(Новая страница: «ы») |
User1 (обсуждение | вклад) (→type) |
||
| (не показано 7 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
<blockquote>'''spell_linked_spell - таблица линкования спелов, частично переписана для увеличения функционала'''</blockquote> | |||
Структура таблицы: | |||
===== 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 =''' ''нету'' | |||
<nowiki> </nowiki>'''1 =''' ''пет'' | |||
<nowiki> </nowiki>'''2 =''' ''Владелец (овнер'') | |||
<nowiki> </nowiki>'''3 =''' ''Кастер'' | |||
<nowiki> </nowiki>'''4 =''' ''Выбранный (цель)'' | |||
<nowiki> </nowiki>'''5 =''' ''таргет'' | |||
<nowiki> </nowiki>'''6 =''' ''текущая цель (victim)'' | |||
===== hastype, hastype2 ===== | |||
при hastalent != 0 будет проверять по заданному типу: (данные берутся из GetUnitForLinkedSpell) | |||
<code>LINK_HAS_AURA_ON_CASTER = 0,</code> | |||
<code>LINK_HAS_AURA_ON_TARGET = 1,</code> | |||
<code>LINK_HAS_SPELL_ON_CASTER = 2,</code> | |||
<code>LINK_HAS_AURA_ON_OWNER = 3,</code> | |||
<code>LINK_HAS_AURATYPE = 4,</code> | |||
===== hastalent, hastalen2 ===== | |||
ID ауры или спела, который проверять по типу проверки (данные в проверке HasAuraLinkedSpell) | |||
===== chance ===== | |||
Шанс срабатывания, если стоит >0 | |||
===== cooldown ===== | |||
Ставит КД на способность после срабатывания | |||
===== hitmask ===== | |||
Маска хита, при каком типе хита срабатывать? | |||
<code>SPELL_MISS_NONE '''= 0, // hitmask = 1'''</code> | |||
<code>SPELL_MISS_MISS '''= 1, // hitmask = 2'''</code> | |||
<code>SPELL_MISS_RESIST '''= 2, // hitmask = 4'''</code> | |||
<code>SPELL_MISS_DODGE '''= 3, // hitmask = 8'''</code> | |||
<code>SPELL_MISS_PARRY '''= 4, // hitmask = 16'''</code> | |||
<code>SPELL_MISS_BLOCK '''= 5, // hitmask = 32'''</code> | |||
<code>SPELL_MISS_EVADE '''= 6, // hitmask = 64'''</code> | |||
<code>SPELL_MISS_IMMUNE '''= 7, // hitmask = 128'''</code> | |||
<code>SPELL_MISS_IMMUNE2 '''= 8, // one of these 2 is MISS_TEMPIMMUNE, hitmask = 256'''</code> | |||
<code>SPELL_MISS_DEFLECT '''= 9, // hitmask = 512'''</code> | |||
<code>SPELL_MISS_ABSORB '''= 10, // hitmask = 1024'''</code> | |||
<code>SPELL_MISS_REFLECT '''= 11, // hitmask = 2048'''</code> | |||
<code>SPELL_MISS_MISFIRED '''= 12, // hitmask = 4096'''</code> | |||
===== 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 ===== | |||
Тип действия? | |||
<code>LINK_ACTION_DEFAULT = 0,</code> | |||
<code>LINK_ACTION_LEARN = 1,</code> | |||
<code>LINK_ACTION_AURATYPE = 2,</code> | |||
<code>LINK_ACTION_SPELLCOOLDOWN = 3,</code> | |||
<code>LINK_ACTION_CASTNOTRIGGER = 4,</code> | |||
<code>LINK_ACTION_ADDAURA = 5,</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,