Mardum : le tome des secrets gangrenes nest plus recliquable
Le livre relancait le choix de specialisation sans aucune condition : le joueur pouvait le rouvrir et reprendre lautre spe a volonte. Chaque passage relance LearnSpell + ActivateTalentGroup et reaccorde le credit de quete. Consequence observee le 18/08/2026 sur un personnage de test : primarySpecialization restee a 577 (Devastation) alors quil portait larme de Vengeance et avait recu la variante Vengeance de Cry Havoc. Deux gardes : le livre ne souvre plus une fois la quete 40051 validee, et le gestionnaire de reponse refuse de sappliquer deux fois quelle que soit la facon dont la fenetre serait rouverte. NOTE : ces 16 lignes etaient deja EN SERVICE depuis hier - embarquees par les compilations suivantes - mais jamais commitees. Elles le sont enfin. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,7 @@ enum MardumQuests
|
||||
// Le script ne connaissait que la premiere : pour un joueur Vengeance,
|
||||
// aucun des cinq PNJ ne reagissait au dialogue. Le script de la Vigie
|
||||
// brisee, lui, gere bien ses variantes (_H/_V, _DMG_SPEC/_TANK_SPEC).
|
||||
QUEST_FEL_SECRETS = 40051,
|
||||
QUEST_CRY_HAVOC = 39516,
|
||||
QUEST_CRY_HAVOC_VENGEANCE = 39515,
|
||||
QUEST_THEIR_NUMBERS_ARE_LEGION = 38819
|
||||
@@ -916,6 +917,15 @@ public:
|
||||
|
||||
bool OnGossipHello(Player* player, GameObject* /*go*/) override
|
||||
{
|
||||
// Sans cette condition le livre restait recliquable indefiniment : le
|
||||
// joueur pouvait rouvrir le choix et reprendre l'autre specialisation
|
||||
// a volonte. Chaque passage relance LearnSpell + ActivateTalentGroup,
|
||||
// ce qui laisse un etat de specialisation incoherent (constate le
|
||||
// 18/08/2026 : primarySpecialization=577 Devastation sur un personnage
|
||||
// portant l'arme de Vengeance). Le choix doit etre unique.
|
||||
if (player->GetQuestStatus(QUEST_FEL_SECRETS) != QUEST_STATUS_INCOMPLETE)
|
||||
return false;
|
||||
|
||||
player->CastSpell(player, 194938, true); // Display player spec choice
|
||||
return false;
|
||||
}
|
||||
@@ -935,6 +945,12 @@ public:
|
||||
if (choiceID != PLAYER_CHOICE_DH_SPEC_SELECTION)
|
||||
return;
|
||||
|
||||
// Deuxieme garde-fou, independant du livre : ne jamais appliquer le
|
||||
// choix deux fois, quelle que soit la facon dont la fenetre a ete
|
||||
// rouverte.
|
||||
if (player->GetQuestStatus(QUEST_FEL_SECRETS) != QUEST_STATUS_INCOMPLETE)
|
||||
return;
|
||||
|
||||
player->LearnSpell(200749, false); // Allow to choose specialization
|
||||
|
||||
switch (responseID)
|
||||
|
||||
Reference in New Issue
Block a user