fix(world): 2 dresseurs résiduels (KTC Train-a-Tron, Reshad) -> option gossip

Couverts par mapping générique (données legacy OK, menu dédié sans option type-5).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
SylvaniaCore deploy
2026-06-18 21:18:37 +00:00
parent 29b2a1c7f0
commit 6ec6d1cc14
2 changed files with 21 additions and 0 deletions
@@ -0,0 +1,18 @@
-- La Légion de Sylvania — Lot 7 : 2 dresseurs résiduels (données OK, menu
-- dédié sans option type-5) que le mapping par sous-titre des lots 5-6 n a
-- pas couverts : 45286 KTC Train-a-Tron Deluxe (multi-métiers, 120 sorts),
-- 79519 Reshad (Scrollkeeper, 9 sorts). Generic : tout dresseur non-classe,
-- gossip-flaggé, menu dédié, AVEC données legacy, sans option type-5.
-- Date 2026-06-18. Effet : .reload gossip_menu_option. Rollback inline ci-dessous.
SET NAMES utf8;
INSERT INTO gossip_menu_option (MenuId, OptionIndex, OptionIcon, OptionText, OptionBroadcastTextId, OptionType, OptionNpcFlag, VerifiedBuild)
SELECT m.MenuId, m.maxidx+1, 3, "Je voudrais m'entraîner.", 0, 5, 16, 26972
FROM (
SELECT ct.gossip_menu_id AS MenuId, COALESCE(MAX(g.OptionIndex),-1) AS maxidx
FROM creature_template ct JOIN creature c ON c.id=ct.entry
LEFT JOIN gossip_menu_option g ON g.MenuId=ct.gossip_menu_id
WHERE (ct.npcflag&16)>0 AND (ct.npcflag&32)=0 AND (ct.npcflag&1)>0 AND ct.gossip_menu_id<>0
AND EXISTS(SELECT 1 FROM npc_trainer nt WHERE nt.ID=ct.entry)
AND NOT EXISTS(SELECT 1 FROM gossip_menu_option g2 WHERE g2.MenuId=ct.gossip_menu_id AND g2.OptionType=5)
GROUP BY ct.gossip_menu_id
) m;
@@ -0,0 +1,3 @@
-- ROLLBACK Lot 7
SET NAMES utf8;
DELETE FROM gossip_menu_option WHERE OptionType=5 AND OptionNpcFlag=16 AND OptionText="Je voudrais m'entraîner." AND (MenuId,OptionIndex) IN ((12046,3),(79519,0));