Spell linked spell

Материал из Uwow
Перейти к навигации Перейти к поиску

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,