Commit Graph

114 Commits

Author SHA1 Message Date
SylvaniaCore deploy a5c511d04a fix(core/blackmarket): enforce auction minimum starting bid [porte d ArgusCore 888e3f24] 2026-07-26 12:52:43 +00:00
Andrei C d89d733051 fix(core/player): clamp vendor purchase quantity before validation 2026-07-26 12:51:23 +00:00
SylvaniaCore deploy 5af9d71a8f Harnais QA bot complet + 3 fixes gameplay majeurs des scenarios d artefact
- PlayerBotSession : simulation de l ack de teleport PROCHE (CMSG_MOVE_TELEPORT_ACK),
  debloque les .tele enchaines sur un bot (le 1er passait, les suivants restaient coinces)
- Runner artefacts, fixes issus de la passe bot in-game (7 scenarios certifies ACTIFS) :
  * vagues engagees explicitement (SetReactState AGGRESSIVE + SetInCombatWithZone) :
    les TempSummon de Map n aggro pas seuls -> mobs inertes sur TOUS les scenarios
  * phase 169 appliquee aux invocations (alignement avec OnPlayerEnter)
  * tolerance GetHeight 25->60m (Skywall : plateformes etagees, le garde-fou lachait
    les vagues dans le vide) + sonde QA-PROBE etiquetee par map (visibilite/combat/pos)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:51:09 +00:00
SylvaniaCore deploy f783cfd073 Harnais QA PlayerBot : 4 fixes du module bot + Z-fix et logs du runner artefacts
- PlayerBotSession : simulation de l ack MSG_MOVE_WORLDPORT pour un bot en jeu
  (IsBeingTeleportedFar) ; sans ca tout .tele name sur un bot restait bloque
- BotFieldAI : eviction hors instance gatee par la config pbotqa (harnais scenarios)
- Diagnostics QA-BOTLOG/QA-RUNLOG (login bot, holder async, cycle du runner)
- Runner artefacts : Z des spawns cale au sol via GetHeight avec repli sur l ancre,
  offsets resserres (plateformes type Skywall)
- Cause racine login bots : noms generes invalides (chiffres) rejetes par
  CheckPlayerName -> persos QA renommes en DB (Botqa/Botqb, compte 32)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 12:57:14 +00:00
SylvaniaCore deploy d3c0436ad5 Passe QA scenarios artefact : cris d apparition des boss (TextExist + Talk) ; fix modele invisible Blazing Infernal 102398 (data)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 14:58:15 +00:00
SylvaniaCore deploy 900331fd3d Runner artefacts lot 10 FINAL : 6 dernieres maps (Gloaming Reef 1108/1553, Maelstrom 1580, Chaman intro 1572, Netherlight 1512, Shadowgore 1502, Hall du Gardien 1513)
Toutes les maps de scenario d artefact sont couvertes. Config ~/dc-patches/artifact_batch10.sql, options 54-59.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:06:10 +00:00
SylvaniaCore deploy b8280bc376 Runner artefacts lot 9 : Guerrier Fureur - Warswords Helheim (1511, Gardien Helarjar 115753) + Chaman Amelioration - Doomhammer (1503)
Config data ~/dc-patches/artifact_batch9.sql, options 52/53 du Gardien.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 11:39:24 +00:00
SylvaniaCore deploy f0b5436e03 Runner artefacts lot 8 : Druide - Revechemin corrompu (1540, Nightmarish Horror 120487) + Mage Givre - Ebonchill (1616, 2 zones)
Config data ~/dc-patches/artifact_batch8.sql, options 50/51 du Gardien.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 10:55:43 +00:00
SylvaniaCore deploy 1e2abb722c Runner artefacts lot 7 : Chasseur BM Ulduar - Thunder of the Titans (1068/1579) + DK Rescue Koltira (1134/1617)
Config data ~/dc-patches/artifact_batch7.sql, options 48/49 du Gardien.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 08:49:55 +00:00
SylvaniaCore deploy e3b77cc300 Runner artefacts lot 6 : Niskara (1604, Lord Perdition) + Terres de Feu (1605, Infernal ardent 102398)
Config data ~/dc-patches/artifact_batch6.sql, options 46/47 du Gardien.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 21:32:50 +00:00
SylvaniaCore deploy 30cd5435de Runner artefacts lot 5 : Voleur Assassinat - Kingslayers (1620 Ravenholdt) + Arcway (1632 Suramar, Adjudicateur 115594)
Config data ~/dc-patches/artifact_batch5.sql, options 44/45 du Gardien.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 20:52:40 +00:00
SylvaniaCore deploy 7cb205fdbd Runner artefacts lot 4 : Chaman Ele - Poing de Ra-den (1602 pic du Vortex, Sentinel 116763) + Chasseur BM - Frappe-titan (1609 temple des Orages, Obliterator 114362)
Config data ~/dc-patches/artifact_batch4.sql, options 42/43 du Gardien.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 19:34:40 +00:00
SylvaniaCore deploy 4429c60a9b Runner artefacts lot 3 : Voleur Finesse - Crocs du Devoreur (1078/1607, Akaari 105450) + Demoniste Destru - Sceptre de Sargeras (1630 Tol Barad, Lord Perdition 90663)
Config data ~/dc-patches/artifact_batch3.sql, options 40/41 du Gardien.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 17:49:50 +00:00
SylvaniaCore deploy 92463867d7 Runner artefacts lot 2 : DK Impie - Apocalypse (monastere Ecarlate, map 1618, boss Whitemane 109374)
Config data ~/dc-patches/artifact_batch2.sql, option 39 du Gardien des Artefacts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 17:34:13 +00:00
SylvaniaCore deploy 494e0e342e Runner artefacts lot 1 : DK Givre (Lames du prince dechu, 901/1480) + Paladin Sacre (Main d argent, 1092/1611)
Configs data (~/dc-patches/artifact_batch1.sql) : etapes multi-zones ICC via teleports,
boss Aberration horrifiante 106669, ames 99664/116287, options 37/38 du Gardien des Artefacts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 16:49:33 +00:00
SylvaniaCore deploy 474a63f44b Framework scenarios d artefact : runner generique pilote par tables world
- scenario_artifact_runner.cpp : InstanceScript generique lisant scenario_artifact_config
  et scenario_artifact_stage (entree, etapes/vagues/boss, teleports inter-zones, niveaux
  forces, credit et sortie configurables). Kills comptes via OnUnitDeath.
- Ajouter un scenario = 1 ligne config + N lignes stage + macro REGISTER_ARTIFACT_RUNNER(map)
- 1re config livree : The Thundering Heavens (WW moine, Skywall 1528, boss Typhinius 100760,
  ancres officielles WorldSafeLocs) — SQL : ~/dc-patches/artifact_runner.sql

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 18:50:42 +00:00
SylvaniaCore deploy 4bf9a5f43f Artefacts : choix universel pour les 13 classes (PlayerChoice)
- class_hall_artifact_choices.cpp : handler generique responseId -> quete Chosen 40xxx
  pour guerrier/paladin/chasseur/pretre/DK/DH/chaman/demoniste (druide, mage, voleur,
  moine gardent leurs handlers dedies)
- Ritssyn Flamescowl (104795) declenche le choix demoniste via SendPlayerChoice(245)
  (aucun declencheur n existait pour cette classe)
- Data : ~/dc-patches/artifact_choices.sql (textes FR des choix, UI d etapes pour
  6 scenarios d artefact deja scriptes : Ursoc/Dark Riders/Windrunners/Truthguard/
  Nexus Vault/Mother Tree)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 17:49:57 +00:00
SylvaniaCore deploy 70d0763042 Intro Iles Brisees : scenario The Battle for Broken Shore (786/map 1460) pour les 2 factions
- scenario_broken_shore_intro.cpp : 9 etapes officielles, cast faction (Varian/Jaina/Genn vs
  Voljin/Sylvanas/Baine/Thrall), boss Arganoth/Krosus, finale Guldan, sorties Dalaran/Orgrimmar
- Angelica (Hurlevent) embarque desormais reellement vers le scenario (fin du contournement)
- Entree Horde : Holgar Stormaxe donne 44543 + teleport SmartAI ; rendeur Eitrigg spawne a Orgrimmar
- Data : ~/dc-patches/broken_shore_intro.sql (scenarios, graveyard_zone map 1460, gabarits, textes FR)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 16:36:07 +00:00
SylvaniaCore deploy 80c5aec13a Campagne moine : scenario Serenity's End (943/map 1014) + reactivation quete 12103 + choix artefact PlayerChoice 242
- Nouveau scenario_monk_serenitys_end.cpp : InstanceScript map 1014, 7 etapes officielles,
  escorte Chen, boss Jorvinax, pierre gangrenee 98353, teleport final ile Vagabonde (1514)
- spell_monk.cpp : pelerinage zen devie vers map 1014 pendant la quete 12103
- class_hall_monk.cpp : PlayerScript choix artefact (choice 242 -> quetes 40638/39/40)
- Data associee : ~/dc-patches/monk_campaign_intro.sql (appliquee)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 15:27:06 +00:00
SylvaniaCore deploy ed8e61d937 fix(monk): activer la maitrise WW Combo Strikes (115636)
Les 3 classes spell_monk_mastery_combo_strikes(_periodic_auras/_periodic_triggers)
existaient mais n etaient jamais enregistrees dans AddSC_monk_spell_scripts
(boot log: no core script found). Enregistrement des 3 classes.

La classe principale (deja bindee sur Tiger Palm/Blackout Kick/Flying Serpent
Kick/Rising Sun Kick) applique desormais le bonus de maitrise sur les
enchainements non repetes + pilote le talent Hit Combo. Les variantes periodiques
(Fists of Fury/Spinning Crane Kick/Whirling Dragon Punch) necessitent leurs
bindings spell_script_names.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 13:08:36 +00:00
SylvaniaCore deploy 16cc4e92c8 fix(monk): Ironskin Brew, Keg Smash brew-CDR, Combo Breaker (audit BM/WW)
Suite a l'audit de la classe moine (3 mecaniques cassees vs Wowhead 7.3.5) :

1. Ironskin Brew (115308) ne faisait RIEN : effet unique DUMMY, buff 215479
   (+35% Stagger) orphelin (reference nulle part). Nouveau script
   spell_monk_ironskin_brew : applique/prolonge 215479 (cumul de duree, cap 3x).
   Le calcul du Stagger (stance_of_the_sturdy_ox) lit desormais 215479 et l'ajoute
   au pourcentage. -> le Brewmaster recupere sa mitigation active.
   (binding via spell_script_names 115308 -> spell_monk_ironskin_brew)

2. Keg Smash (121253) executait des sorts MoP disparus (Weakened Blows,
   Dizzying Haze, energize Chi 127796 absent). Remplace par la mecanique Legion :
   -4 s sur la recharge des 4 breuvages. Ironskin/Purifying partagent une categorie
   de charges (dedup) -> nouvel API core SpellHistory::ModifyChargeRecoveryTime ;
   Black Ox/Fortifying via ModifyCooldown.

3. Combo Breaker : le proc tentait 118864 (Tiger Palm MoP, absent du client 7.3.5)
   1 fois sur 2 -> proc perdu. Proc desormais toujours Blackout Kick! (116768).

Diagnostic produit lors de l'audit moine, verifie contre les donnees DB2 et
les references 7.3.5, puis deploye manuellement.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 12:49:39 +00:00
SylvaniaCore deploy 7582be8b0a fix(player): ne pas desequiper le stuff sous le niveau de specialisation (10)
Bug (signalement #8, perso draenei): sous le niveau 10, chaque montee de
niveau vidait tout l'equipement vers les sacs, obligeant a tout rehabiller.

Cause racine: InitTalentForLevel() appelle ResetTalentSpecialization() a
chaque montee de niveau tant que level < MIN_SPECIALIZATION_LEVEL (10), ce
qui declenche RemoveEquipedSpecializationItems(). Cette derniere desequipe
tout objet dont les bits de specialisation ne matchent pas la spe (ou qui
echoue CanUseItem). Or sous 10 un perso n'a pas de vraie spe -> desequipement
indu, non-blizzlike.

Fix durable a la racine: early-return dans RemoveEquipedSpecializationItems()
si getLevel() < MIN_SPECIALIZATION_LEVEL. Couvre les 2 appelants sans
regression: la voie level-up sous 10 (ResetTalentSpecialization) est
neutralisee; la voie ActivateTalentGroup (changement de spe) est de toute
facon impossible sous 10. MIN_SPECIALIZATION_LEVEL deja en scope (Player.cpp).

Diagnostic produit en autonomie par le pipeline de triage de bugs, verifie
puis deploye manuellement.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 22:07:09 +00:00
SylvaniaCore deploy 86f07c3366 fix(solocraft): purge _unitDifficulty au logout (stats divisees par 5)
Bug: un moine niveau 1 se retrouvait a ~20% de ses stats (28 PV au lieu
de ~150), rendant un mob niveau 1 "trop fort". La map statique
_unitDifficulty survivait a la deconnexion alors que les modificateurs
TOTAL_PCT de stats sont remis a 1.0 a chaque login. Apres un passage en
donjon puis relog, ClearBuffs retrouvait l'entree fantome et RETIRAIT un
buff jamais reapplique, divisant les stats par 5. Persos touches:
Selena guid 59 et Hakirosa guid 22.

Fix: hook OnLogout qui fait _unitDifficulty.erase(guid), resynchronisant
la map avec les modificateurs runtime. Le restart vide aussi la map
statique, les persos abimes se soignent au prochain login sans retouche
DB.

Integre aussi le travail Solocraft non commite anterieur present dans
l'arbre: exclusion Mythique et Mythique+, lecture de la config a chaque
changement de carte tunable par 'reload config' sans restart, et les
logs SoloDBG ayant servi au diagnostic.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 20:32:42 +00:00
SylvaniaCore deploy 7b178bb198 Fix Dire Beast (120679): summoned beasts now attack the hunter target
The spell script spell_hun_dire_beast summoned the zone "Beast" guardian but
never ordered it to attack, and the ~108 summon templates had no AIName/ScriptName,
so the beasts idled next to the owner instead of engaging the target.

Add a dedicated ScriptedAI npc_pet_hun_dire_beast (mirroring npc_pet_hunter_snake_trap,
minus the snake-specific level-40 health formula and poison) that, on spawn, attacks
the summoner target (owner GetVictim / getAttackerForHelper), and bind it to the 108
inert level-1 friendly "Beast" summon templates via sql/sylvania/dire_beast_ai_20260705.sql.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 21:18:48 +00:00
SylvaniaCore deploy 89168bc275 fix(dk-acherus): stop forcing sanctuary on map 609 (blocked all hostile spellcasts)
AreaTableEntry::IsSanctuary() hardcoded ContinentID==609 -> true, a legacy
WotLK-era workaround. On this Legion 7.3.5 client AreaTable.db2 none of the
Acherus/Ebon Hold areas (4298,4342,4356) carry AREA_FLAG_SANCTUARY, so the
hardcode made the entire DK starting zone a sanctuary. Spell::CheckCast then
returned SPELL_FAILED_NOTHING_TO_DISPEL on every hostile cast (in-sanctuary
non-friendly guard), so new death knights could only auto-attack the intro
mobs. Now purely reads the real AREA_FLAG_SANCTUARY bit from DB2.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 10:14:57 +00:00
Sylvania 70375d9bd7 Fix: vehicules pilotes figes par un changement de vitesse (Foncer/Hot Rod)
SetSpeedRate envoyait SMSG_MOVE_SPLINE_SET_RUN_SPEED pour toute creature car
GetPlayerBeingMoved() ne resout que les unites Player. Un vehicule pilote par un
joueur recevait donc un override spline -> le client croit que le serveur reprend
le controle et fige le vehicule (ex: Punch It / Foncer +50% vitesse, quete 14071
Rolling with my Homies, Hot Rod 34840). Prouve par capture opcode en jeu.

Fix: fallback sur GetPlayerMovingMe() (m_playerMovingMe, renseigne pour le
controle client direct: vehicules/possession) -> le paquet part en
SMSG_MOVE_SET_*_SPEED vers le pilote. Aucune incidence sur les PNJ IA.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 07:06:55 +00:00
SylvaniaCore 870dad61f5 Couche 3 du harnais debug quetes : commande console .qtest
.qtest <nomJoueur> <questId> [complete] (allowConsole=true => SOAP sans selection)
Dump objectif-par-objectif l'etat live d'une quete pour un joueur en ligne
(statut, ObjectID, cur/req, OK/--). Option complete = AddQuest+ForceCompleteQuest.
Valide en jeu : qtest Testy 14109 -> 3 objectifs items listes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 07:02:01 +00:00
Sylvania 48dff69fc1 Lilatha (q9212): gossip relance escorte si quete deja acceptee
Quete Escape from the Catacombs : si l escorte est interrompue
(deco / redemarrage serveur / sortie de portee), npc_escortAI ne
fait FailQuest qu a la mort -> la quete reste INCOMPLETE et l escorte,
ne demarrant qu a OnQuestAccept, ne pouvait plus repartir (blocage
definitif). Ajout OnGossipHello + StartEscortIfNeeded : reparler a
Lilatha avec la quete en cours relance l escorte.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 22:43:08 +00:00
SylvaniaCore b96242db3b Harnais validateur quetes (Couche 1) + fixes donjon/raid du 23/06
- quest_validator.sql : 11 regles statiques (lecture seule), perimetre INST/WORLD,
  filtre LIVE "donneur jouable", calibre (R9 questitem-aware, R7 annotee).
- FIX_quest_validator_20260623.sql : Thal'ena 102431 AIName=SmartAI ;
  Rocknot 9503 + Alurmi 57864 NOT_SELECTABLE retire ; goober 232625 Data1=0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 11:29:19 +00:00
SylvaniaCore deploy 72d1222d75 fix(loot+firelands): stop cyclic loot-ref stack overflow & make heroic Ragnaros killable
LootMgr: LootTemplate::Process gains a thread_local recursion-depth guard (RAII, cap 50). A self-referencing reference_loot_template row (ref 104 -> 104) recursed until the worldserver stack overflowed and crashed on ICC boss/trash loot; this core does not reject such cycles at load. DB row already removed live; this hardens against any future cycle.

boss_ragnaros_firelands: heroic phase 4 had no completion path (every SetData(DONE)/EVENT_DIE lived in the !IsHeroic branch), leaving Ragnaros unkillable in heroic. Add a heroic death branch gated on new flag heroicPhaseFour (set after the phase-4 heal) so the encounter completes and grants credit/loot. Normal mode unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 21:24:18 +00:00
Sylvania Ops 0fd690e7c4 Fix(net): SO_REUSEADDR sur l acceptor (durcissement anti bind-fail TIME_WAIT)
AsyncAcceptor::Bind() pose desormais SO_REUSEADDR entre open() et bind()
(aligne upstream TC) : permet le rebind immediat d un port encore en
TIME_WAIT apres un kill/crash brutal avec connexions actives, evitant le
"Could not bind ... Address already in use" au redemarrage. Complete le fix
StopNetwork (17845330) qui supprime deja le crash a l extinction.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 13:42:02 +00:00
Sylvania Ops 178453309a Fix(net): eviter le SIGSEGV a l extinction (SocketMgr::StopNetwork null acceptor)
Main.cpp appelle sToolSocketMgr.StopNetwork() inconditionnellement a l arret,
mais ToolSocketMgr::StartNetwork() n est jamais appele -> _acceptor reste
nullptr -> _acceptor->Close() deref null -> SIGSEGV a CHAQUE extinction
(coredumps recurrents, port libere lentement => bind-fail au relaunch).

Fix : garder _acceptor->Close() derriere un test de nullite dans
SocketMgr::StopNetwork() (aligne upstream TC). Verifie par comptage de
coredumps : arret de l ancien binaire = +1 crash, arret du nouveau = 0 crash,
et port libere en ~1s au lieu de ~51s.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 13:31:04 +00:00
Sylvania Ops faa2f64de5 Fix LFG WotLK: 9 donjons normaux (access_requirement niv 73-75 -> 70) que la recherche proposait sous le niveau requis => teleport refuse reason 6. Hot-reload. 2026-06-21 13:21:35 +00:00
Sylvania Ops d8b2aa5567 Fix(spells): Bond heroique - booster aussi le saut DASH (6544)
Diag runtime (log spells+misc) : un Bond heroique declenche DEUX MoveJump -
94954/JUMP_DEST (phase LAUNCH) PUIS 6544 SPELL_EFFECT_DASH eff254 (phase HIT)
qui ecrase le premier. Le mouvement effectif est donc le DASH du sort 6544,
qui passe aussi par CalculateJumpSpeeds mais avec m_spellInfo->Id=6544 -> la
branche scopee 94954 ne s appliquait jamais (reglages sans effet ressenti).
Fix : condition `== 94954 || == 6544`. Les cles config HeroicLeap.* agissent
desormais sur le saut reel.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 12:54:13 +00:00
Sylvania 2b5de8f5ff AccountTypes: ajout SEC_TESTER=1 (palier sous Moderateur), decalage mod/gm/admin/console 2026-06-20 18:42:37 +00:00
Sylvania Ops b56eb35e1d Fix Azjol-Nerub quete oeufs (GO 193051): goober.questID 13182->0 (gatait l usage a la quete WotLK morte; joueurs sur 29808 cliquaient dans le vide). Credit via quest_objectives 2026-06-20 18:18:28 +00:00
Sylvania Ops 95209a4c6a Fix cadavre orphelin: LoadCorpse gere aussi instanceId=0 sur map instanciable (reset d instance) -> supprime+ressuscite au lieu de bloquer le fantome 2026-06-20 17:42:38 +00:00
Sylvania Ops cda7e843aa Fix Salles Brisees: Fel Orc Convert (17083) notifient Nethekurse a leur mort (peon death) -> boss devient attaquable, porte de sortie s ouvre 2026-06-20 16:59:24 +00:00
Sylvania Ops 3f7acce3d8 Fix vol: ne pas retirer auras monture/vol dans UpdateAreaDependentAuras (demontage en plein vol au changement de zone). Carve-out bot etendu aux joueurs via HasEffectType(MOUNTED/FLY) 2026-06-20 16:18:07 +00:00
Sylvania Ops 78235aae67 Fix scaling SM (map 1004): 4 creatures epinglees (Empowering Spirit 100, Durand aux 90, Hooded Crusader 42) rebandees 33-92 2026-06-19 21:39:31 +00:00
SylvaniaCore deploy 038127f6d4 Fix Secourisme: impossible d'apprendre (Lot 8, schema moderne, hot)
Le trainer moderne generique First Aid (TrainerId 160) n'avait pas le
sort 3273 (apprenti = apprendre la profession), et 6 menus de Secourisme
routaient vers lui ou vers le trainer VIDE 877 => fenetre d'entrainement
vide pour un debutant (Shaina Fuller/Hurlevent, Arnok/Orgrimmar, Doc
Zapnozzle, Nus, Amelia Atherton, Anchorite Yazmina, Jandros Terres,
Aresella, Joseph Wilson).

Fix:
- +3273 sur trainer_spell TrainerId 160
- gossip_menu_option_trainer: menus 657,4761,5855,8802,22169,10826 -> 160
  (tous 100% Secourisme, verifie)

Active a chaud sans restart: .reload trainer + .reload gossip_menu_option

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 21:08:30 +00:00
Sylvania Ops 3ed03db685 Fix scaling boss Krastinov (Scholo 59369): epingle 91/91 -> plage 43/92 comme ses boss freres 2026-06-19 20:25:40 +00:00
Sylvania Ops fa8f0961e7 Fix coffre Blade of the Anointed (SM 214284): loot manquant => quete 31513/31514 infinissable 2026-06-19 15:56:03 +00:00
Sylvania Ops 00f40dc6b0 Tune(spells): Bond heroique reglable a chaud (config)
Remplace les facteurs en dur du saut 94954 par deux cles worldserver.conf
lues par cast (donc reglables via .reload config, sans redemarrage) :
  HeroicLeap.SpeedMult  (defaut 1.7) -> vitesse horizontale
  HeroicLeap.HeightMult (defaut 2.5) -> hauteur d arc (speedZ *= sqrt(mult))
1.0/1.0 = Blizzlike (~21 yd/s, arc 2.5->10 yd, valeurs DB2 reelles).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 10:15:32 +00:00
Sylvania Ops f5c74e9cd2 Tune(spells): Bond heroique un peu plus haut et rapide
Reglage de ressenti scope au seul sort de saut 94954 (n affecte pas les
autres JUMP_DEST) : speedXY *1.25 et speedZ *1.15 (hauteur d arc ~+32%)
applique apres le calcul generique de CalculateJumpSpeeds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 10:00:11 +00:00
Sylvania Ops ecdd675bd4 Fix(spells): saut reel pour Bond heroique & sorts JUMP_DEST
CalculateJumpSpeeds lisait MiscValue/MiscValueB de SpellEffect comme une
vitesse verticale brute (speedZ = MiscValue/10), alors que la data DB2 7.3.5
moderne y stocke les hauteurs d arc min/max (en 1/10 yard). Pour le saut de
Bond heroique (94954: MiscValue=25, MiscValueB=100) cela donnait speedZ=2.5
-> arc plat ~0.16y + vitesse horizontale enorme = glissade facon Charge au
lieu d un vrai saut.

Portage du calcul base hauteur: speedXY derive de la vitesse de course,
hauteur d arc bornee entre MiscValue/10 et MiscValueB/10, convertie en
speedZ = sqrt(2 * gravity * height). Corrige tous les SPELL_EFFECT_JUMP_DEST
(Bond heroique, Desengagement, sauts Chasseur de demons, ...).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 09:45:30 +00:00
Sylvania Ops c6e6b12b86 Quete 39800 v3: mecanisme propre via OPTION de dialogue sur Genn (gossip-select event 62 + condition gossip-option quete 39800) -> credit+close+teleport
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 09:44:16 +00:00
Sylvania Ops 8303fec230 Quete 39800 v2: event 19 inoperant sur ce core -> gossip-hello (event 64) + condition QUEST_TAKEN 39800 pour credit+teleport
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 09:22:23 +00:00
Sylvania Ops 1965d1c965 Quete 39800 Greymane Gambit: bypass scenario (credit 113320 + teleport Stormheim) a l acceptation chez Genn
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 09:15:56 +00:00
Sylvania Ops 0bd780416b Quete 38206 Making the Rounds: reproduction sequence pont Bruleciel (Genn + canons + dragons + credits) + fix AIName Rogers (38035)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 08:38:56 +00:00