From 3b8478ddd693db0b5e4825f439909168d1504c36 Mon Sep 17 00:00:00 2001 From: SylvaniaCore deploy Date: Sat, 1 Aug 2026 15:24:17 +0000 Subject: [PATCH] Transcription ArgusCore lot 5 : degats du Bond heroique + timer capitaine Alterac Inspection des 111 nouveaux commits ArgusCore (26/07 -> 01/08). Seuls 2 bugs sur 5 candidats existaient reellement chez nous (les autres deja corrects, voir ci-dessous) : - Bond heroique (6544) : la constante SPELL_WARRIOR_HEROIC_LEAP_DAMAGE (52174) etait declaree mais JAMAIS castee -> le bond ne faisait aucun degat a l atterrissage. Le champ TriggerSpell de l effet JUMP_DEST n est pas peuple dans ce client, donc on caste explicitement. Compromis assume : part au lancement, pas a l impact exact. (32dfd577) - Vallee d Alterac : m_CaptainBuffTimer initialise avec urand(0,4)*60 au lieu de *60000 -> buff des capitaines quasi immediat au lieu de 2-6 min. Une seule des deux occurrences etait buguee (l initialisation), l autre etait deja correcte. (a4f5083d) DEJA CORRECTS chez nous (verifies, rien a porter) : opcode SMSG_ACCOUNT_HEIRLOOM_UPDATE 0x25C5 (ArgusCore cite DestinyCore comme reference), constantes AV/IoC 600/300, areatrigger_teleport a ID negatifs (notre conteneur est deja int64), map IDs des BG (architecture differente, pas de battleground_scripts chez nous). Co-Authored-By: Claude Fable 5 --- src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp | 2 +- src/server/scripts/Spells/spell_warrior.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp index f161e07..a30e7d6 100644 --- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp +++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp @@ -1907,7 +1907,7 @@ void BattlegroundAV::ResetBGSubclass() m_Team_Scores[i] = scoreFinal; m_IsInformedNearVictory[i]=false; m_CaptainAlive[i] = true; - m_CaptainBuffTimer[i] = 120000 + urand(0, 4)* 60; //as far as i could see, the buff is randomly so i make 2minutes (thats the duration of the buff itself) + 0-4minutes @todo get the right times + m_CaptainBuffTimer[i] = 120000 + urand(0, 4)* 60000; // corrige : le facteur etait *60 (secondes) au lieu de *60000 (ms) -> buff capitaine quasi immediat au lieu de 2-6 min (ArgusCore a4f5083d) //as far as i could see, the buff is randomly so i make 2minutes (thats the duration of the buff itself) + 0-4minutes @todo get the right times m_Mine_Owner[i] = AV_NEUTRAL_TEAM; m_Mine_PrevOwner[i] = m_Mine_Owner[i]; } diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp index ab9fd2f..227918b 100644 --- a/src/server/scripts/Spells/spell_warrior.cpp +++ b/src/server/scripts/Spells/spell_warrior.cpp @@ -1833,7 +1833,7 @@ public: bool Validate(SpellInfo const* /*spellInfo*/) override { - if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_HEROIC_LEAP_JUMP)) + if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_HEROIC_LEAP_JUMP) || !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_HEROIC_LEAP_DAMAGE)) return false; return true; } @@ -1878,6 +1878,13 @@ public: if (WorldLocation* dest = GetHitDest()) { GetCaster()->CastSpell(dest->GetPositionX(), dest->GetPositionY(), dest->GetPositionZ(), SPELL_WARRIOR_HEROIC_LEAP_JUMP, true); + + // Degats de zone a l atterrissage (52174). En theorie data-driven via le + // TriggerSpell de l effet JUMP_DEST (JumpArrivalCastArgs), mais ce champ n est + // pas peuplé dans ce client : sans cast explicite, le bond ne fait AUCUN degat. + // Compromis assume : part au lancement plutot qu a l instant exact de l impact. + // (ArgusCore 32dfd577) + GetCaster()->CastSpell(dest->GetPositionX(), dest->GetPositionY(), dest->GetPositionZ(), SPELL_WARRIOR_HEROIC_LEAP_DAMAGE, true); } if (Unit* caster = GetCaster())