42427a8a72
Signale en jeu : « la phase 1 ou il fallait tuer 33 demons ainsi que
d autres objectifs a ete skip et je suis passe en phase 3 direct », puis
« les objectifs ne se remplissent jamais ».
DEUX COMPTEURS VIVAIENT EN PARALLELE, et ne disaient pas la meme chose.
Le client affichait les criteres officiels de l arbre 42935 (« Broken
Shore - Stage 1 », operateur ALL) du build 7.3.5.26972 :
43010 Demons slain 33 critere 27653
46549 Fel Lords slain 3 critere 29377
46548 Spires of Woe destroyed 3 critere 27619
Tous trois de type CRITERIA_TYPE_SEND_EVENT_SCENARIO (92) : ils ne se
remplissent PAS en tuant, mais quand le script emet l evenement
correspondant. Le script ne l emettait jamais -- d ou le 0/33 fige.
En parallele, il tenait sa propre comptabilite et cloturait l etape a
KILLS_BEACH = 12, un chiffre invente. D ou l impression de saut : a 12
demons il invoquait Arganoth avec SetInCombatWithZone(), lequel mourait
aussitot et faisait franchir une seconde etape.
CORRECTIF -- on ne touche PAS aux objectifs, qui sont officiels et de
toute facon dans les donnees du client. On supprime le seuil invente et
on emet les vrais evenements :
- chaque demon tue emet 44095 ;
- chaque Seigneur gangrebois emet 52643 (les treize entrees placees
sur la carte sont enumerees explicitement, le nom n etant pas une
donnee stable) ;
- chaque Fleche actionnee emet 44077 ;
- l etape ne s acheve que si les TROIS seuils officiels sont atteints
(33 / 3 / 3), conformement a l operateur ALL de l arbre.
LES FLECHES sont des objets de type 10 : ACTIONNES, pas detruits. Ni
OnGameObjectCreate ni OnGameObjectRemove ne rapportent cette
utilisation. Le seul accrochage est GameObjectScript::OnGossipHello, que
GameObject::Use appelle avant tout traitement specifique
(GameObject.cpp:1379). D ou la classe go_spire_of_woe -- ET son
rattachement en base, sans lequel elle n aurait jamais ete invoquee.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Patches SQL Sylvania (dc_world)
Copie de sauvegarde des patchs data appliques a la base dc_world (source : ~/dc-patches/ sur le VPS).
IMPORTANT : dc_world n est PAS incluse dans le backup automatique quotidien
(qui ne couvre que auth et characters, cf. ~/scripts/db-backup.sh) car un dump
compresse pese 78 Mo. Ces fichiers sont donc la trace versionnee des changements
data faits a la main. Un backup hebdomadaire complet de dc_world existe par ailleurs
en local sur le VPS (/Backups-World/).
Contenu notable :
- artifact_runner.sql + artifact_batch1..10.sql : framework et 24 configs de scenarios d artefact
- artifact_choices.sql / artifact_gate.sql : choix d artefact 13 classes + porte du Gardien
- monk_campaign_intro.sql : campagne moine + scenario Serenity s End
- broken_shore_intro.sql : intro Iles Brisees (2 factions)
- ring_of_peace.sql : binding areatrigger_template (RoP 3983 + Chi-Ji 10191)
- trainers_, quete_, fix_* : historique des correctifs data Les fichiers *_ROLLBACK.sql annulent le patch correspondant.