Mardum : rattache 6 IA C++ ecrites mais jamais liees aux PNJ
Quete 39049 (Loeil rive sur lobjectif) bloquee : tuer lInquisiteur Baleful (93105) naccordait aucun des deux credits requis (96159 et 105946). LIA npc_inquisitor_baleful les accorde et apprend le Faisceau incandescent, mais le template avait ScriptName vide. Audit du fichier zone_mardum.cpp : 29 scripts declares, 12 seulement rattaches. Ce patch en lie 6 - ceux dont la liaison ne remplace aucun comportement existant. Les 5 autres sont les recruteurs de compagnons de la quete Cry Havoc, qui aurait bloque plus loin. Reste a arbitrer (remplacerait un SmartAI actif) : 94410, 99915, 93221, 96441 - ces deux derniers portant un ScriptName mal orthographie qui ne pointe sur rien. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -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;
|
||||
Reference in New Issue
Block a user