diff --git a/sql/sylvania/mardum_scriptnames.sql b/sql/sylvania/mardum_scriptnames.sql new file mode 100644 index 0000000..28fea9b --- /dev/null +++ b/sql/sylvania/mardum_scriptnames.sql @@ -0,0 +1,53 @@ +-- ===================================================================== +-- Mardum — IA C++ écrites mais jamais rattachées aux PNJ +-- +-- Signalé en jeu : la quête 39049 « L'œil rivé sur l'objectif » ne +-- progresse pas quand on tue l'Inquisiteur Baleful (93105, « Inquisiteur +-- Pernissus » en français), GUID 20541225. +-- +-- CAUSE : la quête réclame deux crédits, 96159 (Colossal Infernal) et +-- 105946 (« Baleful slain & power taken »). Rien ne les accorde : le +-- template 93105 ne porte que KillCredit1 = 95226, qui appartient à une +-- autre quête (39279 « Assault on Mardum », 40 mobs normaux). +-- +-- L'IA C++ `npc_inquisitor_baleful` (zone_mardum.cpp) fait pourtant tout le +-- travail : elle invoque le Colossal Infernal, et à la mort du boss elle +-- accorde LES DEUX crédits aux joueurs dans un rayon de 50 m, puis leur +-- apprend le sort Faisceau incandescent (195447). Mais le template avait +-- `ScriptName` VIDE et `AIName = SmartAI` : l'IA n'était jamais attachée. +-- +-- Audit du fichier : 29 scripts y sont déclarés, 12 seulement étaient +-- rattachés. Les 17 autres étaient du code mort. Ce patch en rattache 6, +-- ceux dont la liaison ne remplace aucun comportement existant (aucun +-- AIName, aucun ScriptName, aucune ligne smart_scripts) — sauf 93105, dont +-- l'unique ligne SmartAI (lancer 194529 Incite Madness) est reproduite à +-- l'identique par l'IA C++, qui y ajoute Legion Aegis et Infernal Smash. +-- +-- Les cinq autres sont les recruteurs de compagnons de la quête « Cry +-- Havoc » : sans eux cette quête aurait bloqué la campagne un peu plus loin. +-- +-- `AIName` est laissé en place sur 93105 : la sélection d'IA du core +-- (FactorySelector::selectAI) teste le ScriptName AVANT l'AIName, donc le +-- script C++ gagne, et SmartAI reste un filet de sécurité si la liaison +-- échouait. +-- +-- RESTE À TRAITER, hors de ce patch car cela remplacerait un SmartAI +-- aujourd'hui actif — à comparer un par un avant de décider : +-- 94410 Allari the Souleater (6 lignes SmartAI) -> npc_mardum_allari +-- 99915 Sevis Brightflame (12 lignes) -> npc_mardum_sevis_brightflame_shivarra +-- 93221 Doom Commander Beliash (2 lignes) -> npc_doom_commander_beliash +-- 96441 Fel Lord Caza (1 ligne) -> npc_fel_lord_caza +-- Note : ces deux derniers portent déjà un ScriptName, mais MAL ORTHOGRAPHIÉ +-- (`npc_mardum_doom_commander_beliash` et `npc_mardum_fel_lord_caza`), noms +-- qui n'existent nulle part dans le core — ils ne pointent donc sur rien. +-- Restent aussi Brood Queen Tyranna et les scripts *_tyranna_fight. +-- +-- REDÉMARRAGE OBLIGATOIRE : la liste des noms de scripts est figée au boot. +-- ===================================================================== + +UPDATE `creature_template` SET `ScriptName`='npc_inquisitor_baleful' WHERE `entry`=93105; +UPDATE `creature_template` SET `ScriptName`='npc_kayn_sunfury' WHERE `entry`=93127; +UPDATE `creature_template` SET `ScriptName`='npc_cyana' WHERE `entry`=96420; +UPDATE `creature_template` SET `ScriptName`='npc_mannethrel' WHERE `entry`=96652; +UPDATE `creature_template` SET `ScriptName`='npc_allari' WHERE `entry`=96655; +UPDATE `creature_template` SET `ScriptName`='npc_korvas' WHERE `entry`=99045;