Areatrigger actions

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

areatrigger_actions - таблица выполнения действий для areatriggers

Структура таблицы:
entry

Берется из EffectMiscValueA в спелах с эфектом SPELL_EFFECT_CREATE_AREATRIGGER или из ауры SPELL_AURA_CREATE_AREATRIGGER берется misc

id

Уникальный номер действия.

moment

Флаги момента срабатывания. Бывают следующих видов:

Название Комментарий/описание
AT_ACTION_MOMENT_ENTER 1 срабатывает при входе в зону дейсвтия АreaТrigger
AT_ACTION_MOMENT_LEAVE 2 срабатывает, когда цель (таргет) покидает зону действия АreaТrigger
AT_ACTION_MOMENT_UPDATE 4 срабатывает при апдейте(обнлвлении) АreaТrigger
AT_ACTION_MOMENT_DESPAWN 8 срабатывает, когда AreaTrigger деспаунится (исчезает)
AT_ACTION_MOMENT_SPAWN 10 срабатывает, когда AreaTrigger устанавливается (появляется)
AT_ACTION_MOMENT_REMOVE 20 срабатывает при удалении AreaTrigger
AT_ACTION_MOMENT_ON_THE_WAY 40 момент, когда цель находится между начальной и конечной точкой. Работает, только если активен AT_ACTION_MOMENT_ENTER
AT_ACTION_MOMENT_ON_STOP_MOVE 80 момент, когда цель останавливает между начальной и конечной точкой. Работает, только если активен AT_ACTION_MOMENT_ENTER
AT_ACTION_MOMENT_ON_ACTIVATE 100 когда АТ активируется
AT_ACTION_MOMENT_ON_CAST_ACTION 200 вызывается из тиков ауры через таблицу spell_aura_trigger с опцией 10 либо из скритов в ручную, для срабатывания необходим флаг AT_TARGET_FLAG_ALWAYS_TRIGGER
actionType

Действие, которое выполняется на таргет (цель) при срабатывании

Название Комментарий/описание
AT_ACTION_TYPE_CAST_SPELL 0 Кастовать способность
AT_ACTION_TYPE_REMOVE_AURA 1 Удалить ауру
AT_ACTION_TYPE_ADD_STACK 2 Добавить стак
AT_ACTION_TYPE_REMOVE_STACK 3 Удалить стак
AT_ACTION_TYPE_CHANGE_SCALE 4 Изменить размер
AT_ACTION_TYPE_SHARE_DAMAGE 5 Деление урона на количество целей
AT_ACTION_TYPE_APPLY_MOVEMENT_FORCE 6 Применяет ветер (сдувает персонажей)
AT_ACTION_TYPE_REMOVE_MOVEMENT_FORCE 7 Удаляет ветер
AT_ACTION_TYPE_CHANGE_DURATION_ANY_AT 8 Изменить задержку для AreaTrigger (например, цепной реакция при взрыве бомбы - взрываются и остальные близлежащие
AT_ACTION_TYPE_CHANGE_AMOUNT_FROM_HEALT 9 Уменьшение количества возможного исцеления (волна отхила может хильнуть 100к. Первого хильнула 10к, значит, осталось 90к для последующих)
AT_ACTION_TYPE_RE_PATCH 10 hit mask 0x0400 вызывает обратное движение АТ к кастеру
targetFlags

Кого считать целью?

Название Комментарий/описание
AT_TARGET_FLAG_FRIENDLY 1 Применяется к целям, которые дружелюбны для владельца AreaTrigger (кто призвал его)
AT_TARGET_FLAG_VALIDATTACK 2 Применяется к целям, которых может атаковать владелец AreaTrigger
AT_TARGET_FLAG_OWNER 4 Применяется к владельцу AreaTrigger
AT_TARGET_FLAG_PLAYER 8 Применяется только к игрокам
AT_TARGET_FLAG_NOT_PET 10 Применяется ко всем, кроме петов
AT_TARGET_FLAG_CAST_AT_SRC 20 Применяется к местоположению AreaTrigger`а
AT_TARGET_FLAG_CASTER_IS_TARGET 40 Применяется к кастеру
AT_TARGET_FLAG_NOT_FULL_HP 80 Применяется к целям, с неполным здоровьем
AT_TARGET_FLAG_ALWAYS_TRIGGER 100 Применяется к каким-либо действиям, направленным на владельца.
AT_TARGET_FLAT_IN_FRONT 200 Если цель подойдет со спины, то скилл не кастанется
AT_TARGET_FLAG_NOT_FULL_ENERGY 400 Применяется к целям, у которых неполная энергия
AT_TARGET_FLAG_GROUP_OR_RAID 800 Применяется к целям, которые находятся в группе с владельцом
AT_TARGET_FLAG_HOSTILE 1000 Применяется к целям, которые являются врагами владельца
AT_TARGET_FLAG_TARGET_IS_CASTER 2000 Применяется на цель кастера
AT_TARGET_FLAG_CAST_AURA_TARGET 4000 casted on aura target
AT_TARGET_FLAG_NOT_AURA_TARGET 8000 casted on target is not aura target
AT_TARGET_FLAG_TARGET_IS_SUMMONER 10000 Суммонер/призыватель
AT_TARGET_FLAG_NOT_OWNER 20000 Не призыватель
AT_TARGET_FLAG_NPC_ENTRY 40000 Моб по энтри
AT_TARGET_FLAG_TARGET_PASSANGER 80000 Пассажир
AT_TARGET_FLAG_TARGET_PASSANGER_VEH 100000 Пассажир вехикла
spellId

Скилл, с которым выполняется действие

maxCharges

Количество срабатываний, после которых AreaTrigger исчезнет. Например, если стоит 0, то не используется; Если = 3, то повесит ауру 3 раза, после чего исчезнет

aura

Проверяет наличие ауры на цели - если ауры нету, то действие не выполнится. Может быть отрицательным значением - тогда если есть аура, то действие не выполнится.

hasspell

Проверяет наличие выученного спела у цели. Так же может быть отрицательным, как и aura

chargeRecoveryTime

Время отката. Грубо говоря - КД между срабатываниями. T.е. если кто-то наступил на АТ, тогда повесит ауру, а следующее срабатывание будет только через выставленное КД

scale

Если не равно 0, то при попадании по цели изменяет свой размер. Может быть отрицательным и положительным, соответственно увеличивает или уменьшает размер на заданное значение

hitMaxCount

Максимально возможное число срабатываний АreaТrigger

amount

Используется только в AT_ACTION_TYPE_CHANGE_AMOUNT_FROM_HEALT. Когда amont заканчивается, АreaТrigger исчезает