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>
This commit is contained in:
SylvaniaCore deploy
2026-07-22 22:51:09 +00:00
parent f783cfd073
commit 5af9d71a8f
2 changed files with 46 additions and 1 deletions
@@ -23,6 +23,7 @@
#include "BotFieldAI.h"
#include "LFGMgr.h"
#include "CharacterPackets.h"
#include "MovementPackets.h"
#include "DB2Structure.h"
#include "LFGPackets.h"
#include "LFGPacketsCommon.h"
@@ -172,6 +173,17 @@ void PlayerBotSession::ProcessNoWorld(uint32 diff)
return;
}
// idem pour un teleport proche (meme map) : un client reel repond CMSG_MOVE_TELEPORT_ACK
if (player->IsBeingTeleportedNear())
{
WorldPacket data(CMSG_MOVE_TELEPORT_ACK);
WorldPackets::Movement::MoveTeleportAck ack(std::move(data));
ack.MoverGUID = player->GetGUID();
HandleMoveTeleportAck(ack);
m_NoWorldTick = 500;
return;
}
if (player->IsInWorld())
{
m_NoWorldTick = 0;