Areatrigger actions: различия между версиями
User1 (обсуждение | вклад) |
User1 (обсуждение | вклад) |
||
| Строка 106: | Строка 106: | ||
|'''10''' | |'''10''' | ||
|hit mask 0x0400 вызывает обратное движение АТ к кастеру | |hit mask 0x0400 вызывает обратное движение АТ к кастеру | ||
| | |- | ||
|'''AT_ACTION_TYPE_SET_AURA_CUSTOM_ADD''' | |||
|'''11''' | |||
|Добавляет кастомное поведение или эффект при применении ауры | |||
|- | |||
|'''AT_ACTION_TYPE_SET_AURA_CUSTOM_REMOVE''' | |||
|'''12''' | |||
|Удаляет кастомный эффект или поведение, связанное с аурой | |||
|- | |||
|'''AT_ACTION_TYPE_REMOVE_AURA_BY_CASTER''' | |||
|'''13''' | |||
|Удаляет ауру, если она была наложена текущим кастером | |||
|- | |||
|'''AT_ACTION_TYPE_CAST_SPELL_NOT_TRIGGER''' | |||
|'''14''' | |||
|Применяет заклинание, игнорируя все триггеры (proc, on-hit и т.д.) | |||
|- | |||
|'''AT_ACTION_TYPE_NO_ACTION''' | |||
|'''15''' | |||
|Ничего не делает (пустое действие, используется как заглушка) | |||
|- | |||
|'''AT_ACTION_TYPE_RE_PATCH''' | |||
|'''16''' | |||
|hit mask 0x0400 вызывает обратное движение АТ к кастеру | |||
|- | |||
|'''AT_ACTION_TYPE_REMOVE_OWNED_AURA''' | |||
|'''17''' | |||
|Удаляет ауру, принадлежащую текущему объекту (владельцу) | |||
|- | |||
|'''AT_ACTION_TYPE_OWNER_CAST_SPELL''' | |||
|'''18''' | |||
|Заставляет владельца текущего объекта применить заклинание | |||
|- | |||
|'''AT_ACTION_TYPE_RE_PATCH_SCRIPT''' | |||
|'''19''' | |||
|Запускает движение по скрипту, аналогично RE_PATCH, но с кастомным поведением | |||
|- | |||
|'''AT_ACTION_TYPE_CASTER_GUID_REMOVE_AURA''' | |||
|'''20''' | |||
|Удаляет ауру только в том случае, если кастер соответствует GUID | |||
|- | |||
|'''AT_ACTION_TYPE_CAST_SPELL_WITH_ORIGINAL_CASTER''' | |||
|'''21''' | |||
|Применяет заклинание от имени оригинального кастера | |||
|- | |||
|'''AT_ACTION_TYPE_DESPAWN''' | |||
|'''22''' | |||
|Удаляет объект из мира (деспаун) | |||
|- | |- | ||
|'''AT_ACTION_TYPE_SET_AURA_CUSTOM_ADD''' | |'''AT_ACTION_TYPE_SET_AURA_CUSTOM_ADD''' | ||
Версия от 14:58, 21 июля 2025
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 вызывает обратное движение АТ к кастеру | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_SET_AURA_CUSTOM_ADD | 11 | Добавляет кастомное поведение или эффект при применении ауры | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_SET_AURA_CUSTOM_REMOVE | 12 | Удаляет кастомный эффект или поведение, связанное с аурой | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_REMOVE_AURA_BY_CASTER | 13 | Удаляет ауру, если она была наложена текущим кастером | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_CAST_SPELL_NOT_TRIGGER | 14 | Применяет заклинание, игнорируя все триггеры (proc, on-hit и т.д.) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_NO_ACTION | 15 | Ничего не делает (пустое действие, используется как заглушка) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_RE_PATCH | 16 | hit mask 0x0400 вызывает обратное движение АТ к кастеру | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_REMOVE_OWNED_AURA | 17 | Удаляет ауру, принадлежащую текущему объекту (владельцу) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_OWNER_CAST_SPELL | 18 | Заставляет владельца текущего объекта применить заклинание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_RE_PATCH_SCRIPT | 19 | Запускает движение по скрипту, аналогично RE_PATCH, но с кастомным поведением | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_CASTER_GUID_REMOVE_AURA | 20 | Удаляет ауру только в том случае, если кастер соответствует GUID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_CAST_SPELL_WITH_ORIGINAL_CASTER | 21 | Применяет заклинание от имени оригинального кастера | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_DESPAWN | 22 | Удаляет объект из мира (деспаун) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_SET_AURA_CUSTOM_ADD | 11 | Добавляет кастомное поведение или эффект при применении ауры | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_SET_AURA_CUSTOM_REMOVE | 12 | Удаляет кастомный эффект или поведение, связанное с аурой | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_REMOVE_AURA_BY_CASTER | 13 | Удаляет ауру, если она была наложена текущим кастером | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_CAST_SPELL_NOT_TRIGGER | 14 | Применяет заклинание, игнорируя все триггеры (proc, on-hit и т.д.) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_NO_ACTION | 15 | Ничего не делает (пустое действие, используется как заглушка) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_RE_PATCH | 16 | hit mask 0x0400 вызывает обратное движение АТ к кастеру | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_REMOVE_OWNED_AURA | 17 | Удаляет ауру, принадлежащую текущему объекту (владельцу) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_OWNER_CAST_SPELL | 18 | Заставляет владельца текущего объекта применить заклинание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_RE_PATCH_SCRIPT | 19 | Запускает движение по скрипту, аналогично RE_PATCH, но с кастомным поведением | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_CASTER_GUID_REMOVE_AURA | 20 | Удаляет ауру только в том случае, если кастер соответствует GUID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_CAST_SPELL_WITH_ORIGINAL_CASTER | 21 | Применяет заклинание от имени оригинального кастера | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| AT_ACTION_TYPE_DESPAWN | 22 | Удаляет объект из мира (деспаун)
targetFlagsКого считать целью?
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 исчезает |