mirror of
https://github.com/kadeshar/mod-player-bot-level-brackets.git
synced 2026-01-13 01:08:36 +00:00
Better safety checks
This commit is contained in:
@@ -210,7 +210,12 @@ static uint8 GetRandomLevelInRange(const LevelRangeConfig& range)
|
|||||||
// Adjusts a bot's level by selecting a random level within the target range.
|
// Adjusts a bot's level by selecting a random level within the target range.
|
||||||
static void AdjustBotToRange(Player* bot, int targetRangeIndex, const LevelRangeConfig* factionRanges)
|
static void AdjustBotToRange(Player* bot, int targetRangeIndex, const LevelRangeConfig* factionRanges)
|
||||||
{
|
{
|
||||||
if (!bot || targetRangeIndex < 0 || targetRangeIndex >= g_NumRanges)
|
if (!bot || !bot->IsInWorld() || !bot->GetSession() || bot->GetSession()->isLogingOut() || bot->IsDuringRemoveFromWorld())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (targetRangeIndex < 0 || targetRangeIndex >= g_NumRanges)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -329,7 +334,7 @@ static void LogAllBotLevels()
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
static bool BotInGuildWithRealPlayer(Player* bot)
|
static bool BotInGuildWithRealPlayer(Player* bot)
|
||||||
{
|
{
|
||||||
if (!bot)
|
if (!bot || !bot->IsInWorld() || !bot->GetSession() || bot->GetSession()->isLogingOut() || bot->IsDuringRemoveFromWorld())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -356,7 +361,7 @@ static bool BotInGuildWithRealPlayer(Player* bot)
|
|||||||
|
|
||||||
static bool BotInFriendList(Player* bot)
|
static bool BotInFriendList(Player* bot)
|
||||||
{
|
{
|
||||||
if (!bot)
|
if (!bot || !bot->IsInWorld() || !bot->GetSession() || bot->GetSession()->isLogingOut() || bot->IsDuringRemoveFromWorld())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -459,7 +464,7 @@ static void ClampAndBalanceBrackets()
|
|||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
static bool IsBotSafeForLevelReset(Player* bot)
|
static bool IsBotSafeForLevelReset(Player* bot)
|
||||||
{
|
{
|
||||||
if (!bot)
|
if (!bot || !bot->GetSession() || bot->GetSession()->isLogingOut() || bot->IsDuringRemoveFromWorld())
|
||||||
{
|
{
|
||||||
if (g_BotDistFullDebugMode)
|
if (g_BotDistFullDebugMode)
|
||||||
{
|
{
|
||||||
@@ -555,7 +560,7 @@ static void ProcessPendingLevelResets()
|
|||||||
|
|
||||||
Player* bot = it->bot;
|
Player* bot = it->bot;
|
||||||
|
|
||||||
if (!bot || !bot->IsInWorld())
|
if (!bot || !bot->IsInWorld() || !bot->GetSession() || bot->GetSession()->isLogingOut() || bot->IsDuringRemoveFromWorld())
|
||||||
{
|
{
|
||||||
it = g_PendingLevelResets.erase(it);
|
it = g_PendingLevelResets.erase(it);
|
||||||
continue;
|
continue;
|
||||||
@@ -976,7 +981,7 @@ public:
|
|||||||
while (allianceActualCounts[i] > allianceDesiredCounts[i] && !safeBots.empty())
|
while (allianceActualCounts[i] > allianceDesiredCounts[i] && !safeBots.empty())
|
||||||
{
|
{
|
||||||
Player* bot = safeBots.back();
|
Player* bot = safeBots.back();
|
||||||
if (!bot || !bot->IsInWorld())
|
if (!bot || !bot->IsInWorld() || !bot->GetSession() || bot->GetSession()->isLogingOut() || bot->IsDuringRemoveFromWorld())
|
||||||
{
|
{
|
||||||
safeBots.pop_back();
|
safeBots.pop_back();
|
||||||
continue;
|
continue;
|
||||||
@@ -1045,7 +1050,7 @@ public:
|
|||||||
while (allianceActualCounts[i] > allianceDesiredCounts[i] && !flaggedBots.empty())
|
while (allianceActualCounts[i] > allianceDesiredCounts[i] && !flaggedBots.empty())
|
||||||
{
|
{
|
||||||
Player* bot = flaggedBots.back();
|
Player* bot = flaggedBots.back();
|
||||||
if (!bot || !bot->IsInWorld())
|
if (!bot || !bot->IsInWorld() || !bot->GetSession() || bot->GetSession()->isLogingOut() || bot->IsDuringRemoveFromWorld())
|
||||||
{
|
{
|
||||||
flaggedBots.pop_back();
|
flaggedBots.pop_back();
|
||||||
continue;
|
continue;
|
||||||
@@ -1152,7 +1157,7 @@ public:
|
|||||||
while (hordeActualCounts[i] > hordeDesiredCounts[i] && !safeBots.empty())
|
while (hordeActualCounts[i] > hordeDesiredCounts[i] && !safeBots.empty())
|
||||||
{
|
{
|
||||||
Player* bot = safeBots.back();
|
Player* bot = safeBots.back();
|
||||||
if (!bot || !bot->IsInWorld())
|
if (!bot || !bot->IsInWorld() || !bot->GetSession() || bot->GetSession()->isLogingOut() || bot->IsDuringRemoveFromWorld())
|
||||||
{
|
{
|
||||||
safeBots.pop_back();
|
safeBots.pop_back();
|
||||||
continue;
|
continue;
|
||||||
@@ -1221,7 +1226,7 @@ public:
|
|||||||
while (hordeActualCounts[i] > hordeDesiredCounts[i] && !flaggedBots.empty())
|
while (hordeActualCounts[i] > hordeDesiredCounts[i] && !flaggedBots.empty())
|
||||||
{
|
{
|
||||||
Player* bot = flaggedBots.back();
|
Player* bot = flaggedBots.back();
|
||||||
if (!bot || !bot->IsInWorld())
|
if (!bot || !bot->IsInWorld() || !bot->GetSession() || bot->GetSession()->isLogingOut() || bot->IsDuringRemoveFromWorld())
|
||||||
{
|
{
|
||||||
flaggedBots.pop_back();
|
flaggedBots.pop_back();
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user