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 <noreply@anthropic.com>
This commit is contained in:
SylvaniaCore deploy
2026-08-01 15:24:17 +00:00
parent f4cc719d02
commit 3b8478ddd6
2 changed files with 9 additions and 2 deletions
@@ -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];
}
+8 -1
View File
@@ -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())