update (detection): Change wmotripple to area check

somewhere along the lines of blind cherry picking onto azerothcore from who ever, we no have the isseu where the wmobytripple always coming back as true leading to a couple of the anticheat checks from not workingso we move the affected area checks to a area id check.
This commit is contained in:
M'Dic
2023-04-25 14:43:09 -04:00
parent a5409a5865
commit e1e29e5f14

View File

@@ -455,9 +455,15 @@ void AnticheatMgr::JumpHackDetection(Player* player, MovementInfo movementInfo,
if (!sConfigMgr->GetOption<bool>("Anticheat.StricterDetectJumpHack", true)) if (!sConfigMgr->GetOption<bool>("Anticheat.StricterDetectJumpHack", true))
return; return;
//Celestial Planetarium Observer Battle has a narrow path that false flags // We exempt select areas found in 335 to prevent false hack hits
if (player && GetWMOAreaTableEntryByTripple(5202, 0, 24083)) if (player->GetAreaId())
return; {
switch (player->GetAreaId())
{
case 4273: //Celestial Planetarium Observer Battle has a narrow path that false flags
return;
}
}
if (m_Players[key].GetLastOpcode() == MSG_MOVE_JUMP && !player->IsFalling()) if (m_Players[key].GetLastOpcode() == MSG_MOVE_JUMP && !player->IsFalling())
return; return;
@@ -527,9 +533,15 @@ void AnticheatMgr::TeleportPlaneHackDetection(Player* player, MovementInfo movem
if (!sConfigMgr->GetOption<bool>("Anticheat.DetectTelePlaneHack", true)) if (!sConfigMgr->GetOption<bool>("Anticheat.DetectTelePlaneHack", true))
return; return;
//Celestial Planetarium Observer Battle has a narrow path that false flags // We exempt select areas found in 335 to prevent false hack hits
if (player && GetWMOAreaTableEntryByTripple(5202, 0, 24083)) if (player->GetAreaId())
return; {
switch (player->GetAreaId())
{
case 4273: //Celestial Planetarium Observer Battle has a narrow path that false flags
return;
}
}
if (player->HasAuraType(SPELL_AURA_WATER_WALK)) if (player->HasAuraType(SPELL_AURA_WATER_WALK))
return; return;
@@ -956,13 +968,18 @@ void AnticheatMgr::ZAxisHackDetection(Player* player, MovementInfo movementInfo)
if (movementInfo.HasMovementFlag(MOVEMENTFLAG_WATERWALKING) || player->IsInWater() || !player->IsAlive()) if (movementInfo.HasMovementFlag(MOVEMENTFLAG_WATERWALKING) || player->IsInWater() || !player->IsAlive())
return; return;
//Celestial Planetarium Observer Battle has a narrow path that false flags // We exempt select areas found in 335 to prevent false hack hits
if (player && GetWMOAreaTableEntryByTripple(5202, 0, 24083)) if (player->GetAreaId())
return; {
switch (player->GetAreaId())
{
case 4273: //Celestial Planetarium Observer Battle has a narrow path that false flags
case 495: //Ring of Judgement just being in the area false flags
case 4161: //Wymrest Temple just being in the area false flags
return;
}
}
//Ring of Judgement
if (player && GetWMOAreaTableEntryByTripple(4932, 0, 22984))
return;
// We want to exclude this LiquidStatus from detection because it leads to false positives on boats, docks etc. // We want to exclude this LiquidStatus from detection because it leads to false positives on boats, docks etc.
// Basically everytime you stand on a game object in water // Basically everytime you stand on a game object in water