Rivage brise : portage de l'Assaut 7.2 (scenario 1280, carte 1666)
La carte 1666 etait declaree mais entierement vide, et instance_template y reclamait un script fantome. Les quetes 45102 « Begin the Assault » et 46734 « Assault on Broken Shore » etaient donc infranchissables : elles relevent de ce scenario, et non de l'introduction 7.0 deja portee sur la carte 1460. PORTAGE, PAS TRANSCRIPTION. La source (dufernst/LegionCore-7.3.5, meme lignee uwow) repose sur quatre extensions que nous n'avons pas : onScenarionNextStep/getScenarionStep, CRITERIA_TYPE_SCRIPT_EVENT_2, FunctionProcessor et une surcharge de GetClosestGraveYard. La progression est donc inversee : au lieu d'etre rappele a chaque etape, le script alimente les criteres officiels et le moteur avance seul -- la meme architecture que sur la carte 1460. Les neuf criteres des huit etapes ont ete releves dans les DB2 du build 7.3.5.26972 (ScenarioStep, CriteriaTree, Criteria) et non recopies de la source ; ils confirment ses identifiants d'asset. Sept sont de type 92 (SEND_EVENT_SCENARIO), un de type 73, un de type 68. Six ecarts d'API traites, tous constates et non supposes : InstanceScript(InstanceMap*), Conversation::CreateConversation (Player n'a pas cette methode -- la source l'appelait sur une creature, cela n'aurait pas compile), UNIT_NPC_FLAGS avec SetFlag64, DamageTaken a 2 arguments, OnSpellClick a 2, MovePath a 2. NON PORTE : player_scripts_for_start_assault, qui sondait chaque joueur a chaque tick pour lui imposer la quete 46730. Un donneur en base fait le meme travail sans ce cout. SQL joint : - rattachement des 5 scripts a leurs 11 entrees, toutes verifiees exclusives a la carte 1666 ; - les 87 points des 5 chemins scriptes. Ils vivaient dans waypoint_data_script, table absente de notre schema, d'ou leur oubli lors de l'extraction du 27/08. Le 11322708 est le vol d'arrivee : l'atteinte de son point 20 declenche l'etape 0, sans lui rien ne demarrait ; - le donneur manquant de 45102, l'archimage Khadgar 116302, deja pose chez nous aux coordonnees de la reference mais jamais declare. Les 593 creatures et 59 objets de la carte etaient generes depuis le 27/08 et n'avaient jamais ete appliques ; ils le sont desormais. RESERVE : rien de tout ceci n'a ete verifie en jeu. Les credits de quete 116253 et 116279 sont en outre cables sur la fermeture des deux premiers portails par deduction -- la quete parle de « First » et « Second Legion Spire destroyed » -- et non sur une donnee. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
-- =====================================================================
|
||||
-- Assaut du Rivage brisé (carte 1666) — les 5 chemins scriptés
|
||||
--
|
||||
-- Ces chemins vivent dans `waypoint_data_script` chez la référence,
|
||||
-- une table que notre cœur n'a pas : sWaypointMgr ne lit que
|
||||
-- `waypoint_data`. L'extraction du 27/08 ne regardait que cette
|
||||
-- dernière et les avait donc manqués — d'où des alliés immobiles et,
|
||||
-- plus grave, un corbeau arcanique qui ne décollait jamais.
|
||||
--
|
||||
-- Le 11322708 est le vol d'arrivée : c'est l'atteinte de son point 20
|
||||
-- qui déclenche l'étape 0 du scénario. Sans lui, rien ne démarre.
|
||||
--
|
||||
-- move_flag → move_type : la valeur est 1 sur les 87 points.
|
||||
-- Notre énumération donne 0=marche, 1=course, 2=atterrissage,
|
||||
-- 3=décollage ; la course correspond. `speed` et `entry` n'ont
|
||||
-- aucun équivalent chez nous et sont abandonnées.
|
||||
--
|
||||
-- 11322705 : 24 points
|
||||
-- 11322706 : 18 points
|
||||
-- 11322707 : 23 points
|
||||
-- 11322708 : 21 points
|
||||
-- 11322709 : 1 points
|
||||
-- =====================================================================
|
||||
|
||||
DELETE FROM `waypoint_data` WHERE `id` BETWEEN 11322705 AND 11322709;
|
||||
|
||||
INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
|
||||
(11322705,1,-1895.48,3181.44,3.94356,0,0,1,0,100,0),
|
||||
(11322705,2,-1895.48,3181.44,3.94356,0,0,1,0,100,0),
|
||||
(11322705,3,-1896.09,3194.66,3.0589,0,0,1,0,100,0),
|
||||
(11322705,4,-1879.45,3226.71,5.81127,0,0,1,0,100,0),
|
||||
(11322705,5,-1855.82,3233.47,14.6567,0,0,1,0,100,0),
|
||||
(11322705,6,-1857.58,3265.25,25.8483,0,0,1,0,100,0),
|
||||
(11322705,7,-1867.03,3288.59,32.05,0,0,1,0,100,0),
|
||||
(11322705,8,-1852.08,3304.66,37.4348,0,0,1,0,100,0),
|
||||
(11322705,9,-1839.8,3322.75,40.8837,0,0,1,0,100,0),
|
||||
(11322705,10,-1839.04,3343.29,42.466,0,0,1,0,100,0),
|
||||
(11322705,11,-1836.7,3363.89,45.3895,0,0,1,0,100,0),
|
||||
(11322705,12,-1850.58,3384.72,46.7613,0,0,1,0,100,0),
|
||||
(11322705,13,-1825.16,3371.11,48.1092,0,0,1,0,100,0),
|
||||
(11322705,14,-1800.48,3368.29,52.986,0,0,1,0,100,0),
|
||||
(11322705,15,-1781.35,3380.74,58.1253,0,0,1,0,100,0),
|
||||
(11322705,16,-1767.17,3386.07,61.2137,0,0,1,0,100,0),
|
||||
(11322705,17,-1749.35,3385.12,65.4982,0,0,1,0,100,0),
|
||||
(11322705,18,-1743.22,3376.4,66.7185,0,0,1,0,100,0),
|
||||
(11322705,19,-1733.85,3361.1,69.025,0,0,1,0,100,0),
|
||||
(11322705,20,-1727.28,3348.62,73.3198,0,0,1,0,100,0),
|
||||
(11322705,21,-1719.09,3337.02,76.6384,0,0,1,0,100,0),
|
||||
(11322705,22,-1710.71,3331.34,79.6968,0,0,1,0,100,0),
|
||||
(11322705,23,-1693.39,3326.75,83.6209,0,0,1,0,100,0),
|
||||
(11322705,24,-1665.47,3322.98,84.213,0,0,1,0,100,0),
|
||||
(11322706,1,-1661.46,3342.18,84.7206,0,0,1,0,100,0),
|
||||
(11322706,2,-1661.46,3342.18,84.7206,0,0,1,0,100,0),
|
||||
(11322706,3,-1643.34,3358.99,91.1839,0,0,1,0,100,0),
|
||||
(11322706,4,-1614.3,3365.34,99.9272,0,0,1,0,100,0),
|
||||
(11322706,5,-1590.46,3353.51,107.609,0,0,1,0,100,0),
|
||||
(11322706,6,-1568.88,3331.64,108.463,0,0,1,0,100,0),
|
||||
(11322706,7,-1544.19,3323.67,108.452,0,0,1,0,100,0),
|
||||
(11322706,8,-1527.78,3312.48,108.452,0,0,1,0,100,0),
|
||||
(11322706,9,-1516.94,3278.18,108.456,0,0,1,0,100,0),
|
||||
(11322706,10,-1502.84,3232.22,108.308,0,0,1,0,100,0),
|
||||
(11322706,11,-1499.05,3199.12,94.6383,0,0,1,0,100,0),
|
||||
(11322706,12,-1506.8,3164.73,85.6659,0,0,1,0,100,0),
|
||||
(11322706,13,-1512.61,3132.76,85.6753,0,0,1,0,100,0),
|
||||
(11322706,14,-1504.42,3115.11,83.3742,0,0,1,0,100,0),
|
||||
(11322706,15,-1491.75,3090.42,72.0224,0,0,1,0,100,0),
|
||||
(11322706,16,-1472.63,3055.67,53.7606,0,0,1,0,100,0),
|
||||
(11322706,17,-1463.55,3041.25,48.0012,0,0,1,0,100,0),
|
||||
(11322706,18,-1443.16,3018.53,36.9585,0,0,1,0,100,0),
|
||||
(11322707,1,-1426.19,2996.66,37.1142,0,0,1,0,100,0),
|
||||
(11322707,2,-1426.19,2996.66,37.1142,0,0,1,0,100,0),
|
||||
(11322707,3,-1420.86,2984.12,35.987,0,0,1,0,100,0),
|
||||
(11322707,4,-1414.93,2950.44,36.6867,0,0,1,0,100,0),
|
||||
(11322707,5,-1402.61,2927.92,31.2816,0,0,1,0,100,0),
|
||||
(11322707,6,-1382.3,2939.2,25.4175,0,0,1,0,100,0),
|
||||
(11322707,7,-1359.37,2925.01,23.9701,0,0,1,0,100,0),
|
||||
(11322707,8,-1348.45,2910.15,24.3147,0,0,1,0,100,0),
|
||||
(11322707,9,-1351.97,2894.62,24.8695,0,0,1,0,100,0),
|
||||
(11322707,10,-1350.41,2876.29,24.9108,0,0,1,0,100,0),
|
||||
(11322707,11,-1344.7,2850.11,25.1457,0,0,1,0,100,0),
|
||||
(11322707,12,-1325.29,2832.26,24.2901,0,0,1,0,100,0),
|
||||
(11322707,13,-1290.08,2823.92,26.1421,0,0,1,0,100,0),
|
||||
(11322707,14,-1318.28,2814.4,23.9136,0,0,1,0,100,0),
|
||||
(11322707,15,-1321.91,2792.99,23.499,0,0,1,0,100,0),
|
||||
(11322707,16,-1316.96,2769.79,23.9586,0,0,1,0,100,0),
|
||||
(11322707,17,-1316.57,2747.45,24.3456,0,0,1,0,100,0),
|
||||
(11322707,18,-1333.14,2704.89,30.3677,0,0,1,0,100,0),
|
||||
(11322707,19,-1256.09,2718.4,27.7485,0,0,1,0,100,0),
|
||||
(11322707,20,-1276.42,2664.57,28.3643,0,0,1,0,100,0),
|
||||
(11322707,21,-1291.27,2637.64,32.6723,0,0,1,0,100,0),
|
||||
(11322707,22,-1227.07,2659.19,27.5531,0,0,1,0,100,0),
|
||||
(11322707,23,-1199.42,2661.52,29.5922,0,0,1,0,100,0),
|
||||
(11322708,1,-850.003,4176.37,751.63,0,0,1,0,100,0),
|
||||
(11322708,2,-898.993,4094.4,725.061,0,0,1,0,100,0),
|
||||
(11322708,3,-970.247,3975.18,686.417,0,0,1,0,100,0),
|
||||
(11322708,4,-1044.75,3879.26,652.558,0,0,1,0,100,0),
|
||||
(11322708,5,-1151.45,3694.79,592.72,0,0,1,0,100,0),
|
||||
(11322708,6,-1195.84,3493.36,546.951,0,0,1,0,100,0),
|
||||
(11322708,7,-1225.72,3286.17,564.777,0,0,1,0,100,0),
|
||||
(11322708,8,-1194.84,3183.06,550.694,0,0,1,0,100,0),
|
||||
(11322708,9,-1057.13,3080.14,501.312,0,0,1,0,100,0),
|
||||
(11322708,10,-1007.26,2974.9,455.169,0,0,1,0,100,0),
|
||||
(11322708,11,-1019.28,2874.84,399.954,0,0,1,0,100,0),
|
||||
(11322708,12,-1100.81,2821.6,336.706,0,0,1,0,100,0),
|
||||
(11322708,13,-1194.32,2756.01,271.367,0,0,1,0,100,0),
|
||||
(11322708,14,-1242.8,2712.92,285.178,0,0,1,0,100,0),
|
||||
(11322708,15,-1365.37,2573.14,261.881,0,0,1,0,100,0),
|
||||
(11322708,16,-1418.23,2507.59,254.915,0,0,1,0,100,0),
|
||||
(11322708,17,-1495.32,2527.83,191.514,0,0,1,0,100,0),
|
||||
(11322708,18,-1589.36,2571.82,132.87,0,0,1,0,100,0),
|
||||
(11322708,19,-1660.26,2642.93,75.1266,0,0,1,0,100,0),
|
||||
(11322708,20,-1719.28,2723.04,41.4641,0,0,1,0,100,0),
|
||||
(11322708,21,-1716.3,2809.05,4,0,0,1,0,100,0),
|
||||
(11322709,1,-1338.13,2800.24,23.0393,0,0,1,0,100,0);
|
||||
@@ -0,0 +1,30 @@
|
||||
-- =====================================================================
|
||||
-- Assaut du Rivage brisé — le donneur manquant de « Begin the Assault »
|
||||
--
|
||||
-- La quête 45102 n'avait NI donneur NI receveur en base : introuvable en
|
||||
-- jeu, quoi qu'on fasse. C'était l'une des trois quêtes sans donneur
|
||||
-- relevées à l'audit du 23/08.
|
||||
--
|
||||
-- Le dump de référence (dufernst/LegionCore-7.3.5) donne pour elle
|
||||
-- l'archimage Khadgar 116302, à la fois donneur et receveur. Ce PNJ est
|
||||
-- DÉJÀ posé chez nous, sur la carte 1220 à (-1628, 3194) — exactement
|
||||
-- les coordonnées de la référence — et porte déjà le drapeau de donneur
|
||||
-- de quêtes (npcflag 3). Rien à faire apparaître : seule la déclaration
|
||||
-- manquait.
|
||||
--
|
||||
-- 46734 reçoit aussi 116302, comme dans la référence, en plus du 86563
|
||||
-- déjà déclaré chez nous. Deux points d'accès, aucun conflit.
|
||||
--
|
||||
-- Rappel de la chaîne, pour mémoire :
|
||||
-- 46730 « Armies of Legionfall » 86563 (déjà câblée)
|
||||
-- 45102 « Begin the Assault » 116302 (posée ici)
|
||||
-- 46734 « Assault on Broken Shore » 86563 + 116302
|
||||
-- =====================================================================
|
||||
|
||||
DELETE FROM `creature_queststarter` WHERE `quest` = 45102 AND `id` = 116302;
|
||||
DELETE FROM `creature_questender` WHERE `quest` = 45102 AND `id` = 116302;
|
||||
DELETE FROM `creature_queststarter` WHERE `quest` = 46734 AND `id` = 116302;
|
||||
DELETE FROM `creature_questender` WHERE `quest` = 46734 AND `id` = 116302;
|
||||
|
||||
INSERT INTO `creature_queststarter` (`id`,`quest`) VALUES (116302, 45102), (116302, 46734);
|
||||
INSERT INTO `creature_questender` (`id`,`quest`) VALUES (116302, 45102), (116302, 46734);
|
||||
@@ -0,0 +1,39 @@
|
||||
-- =====================================================================
|
||||
-- Assaut du Rivage brisé (carte 1666) — rattachement des scripts
|
||||
--
|
||||
-- Le C++ porté (scenario_assault_broken_shore.cpp) ne sert à rien tant
|
||||
-- que ses scripts ne sont liés à aucune entrée : c'est la classe de bug
|
||||
-- la plus fréquente de ce cœur, des IA complètes jamais appelées.
|
||||
--
|
||||
-- PORTÉE VÉRIFIÉE : les onze entrées ci-dessous n'existent QUE sur la
|
||||
-- carte 1666 — contrôlé par un GROUP BY sur (id, map). Un ScriptName
|
||||
-- s'appliquant à toutes les cartes, ce contrôle n'est pas facultatif.
|
||||
--
|
||||
-- NE SONT PAS RATTACHÉES, volontairement : Arganoth (118551),
|
||||
-- Mephistroth (120746), Illidan (119130) et Lord Kalgorath (116291).
|
||||
-- L'instance les pilote depuis OnCreatureCreate et OnCreatureKilled ;
|
||||
-- leur donner un ScriptName ferait double emploi.
|
||||
--
|
||||
-- CONCORDANCE RELEVÉE, pas supposée :
|
||||
-- 120743 Arcane Bomb → 7 exemplaires posés, critère 57574 × 7
|
||||
-- 118558 Legion Portal → 7 exemplaires, dont 3 à fermer (critère 56778)
|
||||
-- =====================================================================
|
||||
|
||||
-- Les huit alliés qui accompagnent l'assaut : rotations de sorts et
|
||||
-- recherche d'adversaire à portée.
|
||||
UPDATE `creature_template` SET `ScriptName` = 'npc_assaut_allie'
|
||||
WHERE `entry` IN (119133, 118412, 121232, 118966, 121146, 118969, 118945, 118444);
|
||||
|
||||
-- Le corbeau arcanique : véhicule d'arrivée, sa fin de trajet vaut
|
||||
-- l'étape 0 du scénario. Aucun spawn en base, il est invoqué par sort.
|
||||
UPDATE `creature_template` SET `ScriptName` = 'npc_assaut_corbeau_arcanique'
|
||||
WHERE `entry` = 118517;
|
||||
|
||||
-- Portails de la Légion et bombes arcaniques : activés au clic de sort.
|
||||
UPDATE `creature_template` SET `ScriptName` = 'npc_assaut_interactif'
|
||||
WHERE `entry` IN (118558, 120743);
|
||||
|
||||
-- La passerelle démoniaque, objet de type 10 (goober) : notre cœur ne
|
||||
-- lui offre que le point d'entrée OnGossipHello.
|
||||
UPDATE `gameobject_template` SET `ScriptName` = 'go_assaut_passerelle_demoniaque'
|
||||
WHERE `entry` = 267955;
|
||||
Reference in New Issue
Block a user