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())
return false;
bool isOutdoor = bot->IsOutdoors();
if (!isOutdoor)
if (bot->HasUnitState(UNIT_STATE_IN_FLIGHT))
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;
if (bot->InArena())