diff --git a/src/AnticheatMgr.cpp b/src/AnticheatMgr.cpp index 8c73c00..cb3cfe0 100644 --- a/src/AnticheatMgr.cpp +++ b/src/AnticheatMgr.cpp @@ -455,9 +455,15 @@ void AnticheatMgr::JumpHackDetection(Player* player, MovementInfo movementInfo, if (!sConfigMgr->GetOption("Anticheat.StricterDetectJumpHack", true)) return; - //Celestial Planetarium Observer Battle has a narrow path that false flags - if (player && GetWMOAreaTableEntryByTripple(5202, 0, 24083)) - return; + // We exempt select areas found in 335 to prevent false hack hits + if (player->GetAreaId()) + { + 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()) return; @@ -527,9 +533,15 @@ void AnticheatMgr::TeleportPlaneHackDetection(Player* player, MovementInfo movem if (!sConfigMgr->GetOption("Anticheat.DetectTelePlaneHack", true)) return; - //Celestial Planetarium Observer Battle has a narrow path that false flags - if (player && GetWMOAreaTableEntryByTripple(5202, 0, 24083)) - return; + // We exempt select areas found in 335 to prevent false hack hits + if (player->GetAreaId()) + { + switch (player->GetAreaId()) + { + case 4273: //Celestial Planetarium Observer Battle has a narrow path that false flags + return; + } + } if (player->HasAuraType(SPELL_AURA_WATER_WALK)) return; @@ -956,13 +968,18 @@ void AnticheatMgr::ZAxisHackDetection(Player* player, MovementInfo movementInfo) if (movementInfo.HasMovementFlag(MOVEMENTFLAG_WATERWALKING) || player->IsInWater() || !player->IsAlive()) return; - //Celestial Planetarium Observer Battle has a narrow path that false flags - if (player && GetWMOAreaTableEntryByTripple(5202, 0, 24083)) - return; + // We exempt select areas found in 335 to prevent false hack hits + if (player->GetAreaId()) + { + 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. // Basically everytime you stand on a game object in water