@@ -537,6 +537,19 @@ void AnticheatMgr::JumpHackDetection(Player* player, MovementInfo movementInfo,
537537 if (!distance2D)
538538 return ;
539539
540+ // The anticheat is disabled on transports, so we need to be sure that the player is indeed on a transport.
541+ GameObject* transportGobj = player->GetMap ()->GetGameObject (movementInfo.transport .guid );
542+ if (transportGobj && transportGobj->IsTransport ())
543+ {
544+ return ;
545+ }
546+
547+ // The anticheat check is disabled on Elevators, so we need to be sure that the player is indeed on a transport.
548+ if (player->HasUnitMovementFlag (MOVEMENTFLAG_ONTRANSPORT))
549+ {
550+ return ;
551+ }
552+
540553 if (!player->HasUnitMovementFlag (MOVEMENTFLAG_DISABLE_GRAVITY) && movementInfo.jump .zspeed < -10 .0f )
541554 return ;
542555
@@ -982,17 +995,31 @@ void AnticheatMgr::ZAxisHackDetection(Player* player, MovementInfo movementInfo)
982995 if (player->GetLiquidStatus () == LIQUID_MAP_ABOVE_WATER)
983996 return ;
984997
998+ // The anticheat is disabled on transports, so we need to be sure that the player is indeed on a transport.
999+ GameObject* transportGobj = player->GetMap ()->GetGameObject (movementInfo.transport .guid );
1000+ if (transportGobj && transportGobj->IsTransport ())
1001+ {
1002+ return ;
1003+ }
1004+
1005+ // The anticheat check is disabled on Elevators, so we need to be sure that the player is indeed on a transport.
1006+ if (player->HasUnitMovementFlag (MOVEMENTFLAG_ONTRANSPORT))
1007+ {
1008+ return ;
1009+ }
1010+
9851011 // We exempt select areas found in 335 to prevent false hack hits
9861012 if (player->GetAreaId ())
9871013 {
9881014 switch (player->GetAreaId ())
9891015 {
990- case 4273 : // Celestial Planetarium Observer Battle has a narrow path that false flags
991- case 495 : // Ring of Judgement just being in the area false flags
992- case 4161 : // Wymrest Temple just being in the area false flags
9931016 case 10 : // Duskwood bridge
9941017 case 40 : // Westfall bridge
9951018 case 321 : // Hammerfall wooden balcony
1019+ case 369 : // Thunder Ridge being on the over hang cliff
1020+ case 495 : // Ring of Judgement just being in the area false flags
1021+ case 4273 : // Celestial Planetarium Observer Battle has a narrow path that false flags
1022+ case 4161 : // Wymrest Temple just being in the area false flags
9961023 return ;
9971024 }
9981025 }
@@ -1047,7 +1074,7 @@ void AnticheatMgr::ZAxisHackDetection(Player* player, MovementInfo movementInfo)
10471074 }
10481075 if (sWorld ->getBoolConfig (CONFIG_ANTICHEAT_CM_ALERTSCREEN))
10491076 { // display warning at the center of the screen, hacky way?
1050- std::string str = " |cFFFFFC00[Playername:|cFF00FFFF[|cFF60FF00" + player->GetName () + " |cFF00FFFF] AIGNORE -Z HACK COUNTER MEASURE ALERT" ;
1077+ std::string str = " |cFFFFFC00[Playername:|cFF00FFFF[|cFF60FF00" + player->GetName () + " |cFF00FFFF] IGNORE -Z HACK COUNTER MEASURE ALERT" ;
10511078 WorldPacket data (SMSG_NOTIFICATION, (str.size () + 1 ));
10521079 data << str;
10531080 sWorld ->SendGlobalGMMessage (&data);
0 commit comments