fix for bots trying to mount in WSG and AV tunnels

This commit is contained in:
Fuzz
2024-08-15 21:26:09 +10:00
parent 780934a9e4
commit f87c87f5d4

View File

@@ -129,11 +129,14 @@ bool CheckMountStateAction::isUseful()
if (bot->isDead()) if (bot->isDead())
return false; return false;
bool isOutdoor = bot->IsOutdoors(); if (bot->HasUnitState(UNIT_STATE_IN_FLIGHT))
if (!isOutdoor)
return false; return false;
if (bot->HasUnitState(UNIT_STATE_IN_FLIGHT)) // checks both outdoors flag, and whether bot is clipping below floor slightly
// because that will cause bot to falsely indicate outdoors state and try
// mount indoors (seems to mostly be an issue in tunnels of WSG and AV)
if (!bot->IsOutdoors() || bot->GetPositionZ() < bot->GetMapWaterOrGroundLevel(
bot->GetPositionX(), bot->GetPositionY(), bot->GetPositionZ()))
return false; return false;
if (bot->InArena()) if (bot->InArena())