From 6ec6d1cc141c32d21afbced36a77a112dc1c6d3a Mon Sep 17 00:00:00 2001 From: SylvaniaCore deploy Date: Thu, 18 Jun 2026 21:18:37 +0000 Subject: [PATCH] =?UTF-8?q?fix(world):=202=20dresseurs=20r=C3=A9siduels=20?= =?UTF-8?q?(KTC=20Train-a-Tron,=20Reshad)=20->=20option=20gossip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Couverts par mapping générique (données legacy OK, menu dédié sans option type-5). Co-Authored-By: Claude Opus 4.8 --- .../trainers_stragglers_lot7_20260618.sql | 18 ++++++++++++++++++ ...iners_stragglers_lot7_20260618_ROLLBACK.sql | 3 +++ 2 files changed, 21 insertions(+) create mode 100644 sql/sylvania/trainers_stragglers_lot7_20260618.sql create mode 100644 sql/sylvania/trainers_stragglers_lot7_20260618_ROLLBACK.sql diff --git a/sql/sylvania/trainers_stragglers_lot7_20260618.sql b/sql/sylvania/trainers_stragglers_lot7_20260618.sql new file mode 100644 index 0000000..6cf22bf --- /dev/null +++ b/sql/sylvania/trainers_stragglers_lot7_20260618.sql @@ -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; diff --git a/sql/sylvania/trainers_stragglers_lot7_20260618_ROLLBACK.sql b/sql/sylvania/trainers_stragglers_lot7_20260618_ROLLBACK.sql new file mode 100644 index 0000000..eb8b4ea --- /dev/null +++ b/sql/sylvania/trainers_stragglers_lot7_20260618_ROLLBACK.sql @@ -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));