Files
felwell-core/sql/sylvania/rivage_1666_scripts.sql
T
BlaMacfly a95670ac0a 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>
2026-08-31 23:34:53 +02:00

40 lines
2.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =====================================================================
-- 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;