wow-midnight-server

Community-фиксы — детали (RU)

English

Все фиксы аддитивные, обратимые и размещены на пустых/кастомных ID-бандах, поэтому не конфликтуют со стоковой установкой TrinityCore. Файлы — в ../../sql/.


01 — Дед-лок интро Earthen (фантомный квест)

Файл: sql/01_quest_earthen_intro_fix.sql

Симптом: свежий персонаж Earthen (союзная раса) завершает первый квест интро «Пробуждение» на Isle of Dorn, после чего ни один NPC ничего не даёт — интро линейное и фазовое, игрок оказывается заперт.

Причина: цепочка 79200 «Who am I?» → 79201 «The Analysis Interface» → 83328 «The Analysis Interface». Квест 79201 — устаревший дубликат (то же название, что у 83328) без дающего и без принимающего — его нельзя ни взять, ни сдать. Но 83328 (бригадир Uzjax) требует завершения 79201 (PrevQuestID = 79201), поэтому цепочка встаёт намертво.

Фикс: обходим фантом → цепочка идёт 79200 → 83328 напрямую. Применяется вживую через reload quest_template (без рестарта).

Класс бага: реальный, но без дающего/принимающего квест, назначенный в PrevQuestID другого квеста, жёстко блокирует цепочку. Внимание: значения- маркеры PrevQuestID (999999, 99999, …) — это не этот баг: таких ID не существует, движок пропускает проверку. Блокируют только пререквизиты, которые существуют, но недостижимы.


02 — Объекты, блокирующие квесты

Файл: sql/02_quest_gameobject_unblock.sql

+28 gameobject_template и +89 спавнов gameobject (банда guid 8500000+) для объектов, нужных квестам, но отсутствовавших в базе — разблокирует ~10 квестов. DisplayID взяты аутентично; координаты сконвертированы из map% в мировые через UiMapAssignment для билда 68275, Z/ориентация — от ближайшего существующего спавна на той же карте. Нужен рестарт worldserver.


03 — Привязки инстансов легаси-рейдов

Файл: sql/03_raid_instance_bindings.sql

Привязывает 5 рейдов — Dragon Soul (967), End Time (938), Hour of Twilight (940), Well of Eternity (939), Throne of the Four Winds (754) — к их скомпилированному скрипту инстанса. Это включает лок-аут, завершение журнала DungeonEncounter и персистентность состояния боссов (трекинг/сброс).

Ограничение: эти скрипты инстансов — заглушки; они не добавляют боевой ИИ боссов (нет boss_*.cpp). Боссы остаются на дефолтном ИИ. Нужен рестарт.


04 — Кладбища Harandar

Файл: sql/04_harandar_graveyards.sql

12 world_safe_locs + 12 связок graveyard_zone + 12 Духов-целителей (банда guid существ 11000773+) для Harandar (карта 2694), одной из новейших зон, чтобы смерть/воскрешение там работали. Взято как самодостаточный аддитивный файл. Нужен рестарт.


Применение и откат

Применить всё: scripts/apply_fixes.sh. В каждом SQL-файле есть блок отката в комментариях. Всегда делай бэкап базы world перед применением.