From 5f50b6fddc3481fc403cb818587317ebc4d30e3c Mon Sep 17 00:00:00 2001 From: Revision Date: Fri, 4 Oct 2024 21:17:19 +0200 Subject: [PATCH 1/3] Add check to make sure there are races available for a class --- src/RandomPlayerbotFactory.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/RandomPlayerbotFactory.cpp b/src/RandomPlayerbotFactory.cpp index 8c350130..ea6c55dd 100644 --- a/src/RandomPlayerbotFactory.cpp +++ b/src/RandomPlayerbotFactory.cpp @@ -165,6 +165,13 @@ Player* RandomPlayerbotFactory::CreateRandomBot(WorldSession* session, uint8 cls raceOptions.push_back(race); } } + + if (raceOptions.size() == 0) + { + LOG_ERROR("playerbots", "No race available for class: {}", cls); + return nullptr; + } + uint8 race = raceOptions[urand(0, raceOptions.size() - 1)]; const auto raceAndGender = CombineRaceAndGender(gender, race); From eee8c96a128495d8f7d485b29fe0c7ca37420cc3 Mon Sep 17 00:00:00 2001 From: Revision Date: Fri, 4 Oct 2024 21:19:11 +0200 Subject: [PATCH 2/3] Fix typo in log message --- src/RandomPlayerbotFactory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RandomPlayerbotFactory.cpp b/src/RandomPlayerbotFactory.cpp index ea6c55dd..e923f2a8 100644 --- a/src/RandomPlayerbotFactory.cpp +++ b/src/RandomPlayerbotFactory.cpp @@ -168,7 +168,7 @@ Player* RandomPlayerbotFactory::CreateRandomBot(WorldSession* session, uint8 cls if (raceOptions.size() == 0) { - LOG_ERROR("playerbots", "No race available for class: {}", cls); + LOG_ERROR("playerbots", "No races available for class: {}", cls); return nullptr; } From 8f1f79a3b1b53501d3c08f41be0d5a695d2a1e8e Mon Sep 17 00:00:00 2001 From: Revision Date: Fri, 4 Oct 2024 22:23:08 +0200 Subject: [PATCH 3/3] Use empty() instead of size() Thank you @mtm84 for pointing that out, I forgot to check properly. --- src/RandomPlayerbotFactory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RandomPlayerbotFactory.cpp b/src/RandomPlayerbotFactory.cpp index e923f2a8..57b42bda 100644 --- a/src/RandomPlayerbotFactory.cpp +++ b/src/RandomPlayerbotFactory.cpp @@ -166,7 +166,7 @@ Player* RandomPlayerbotFactory::CreateRandomBot(WorldSession* session, uint8 cls } } - if (raceOptions.size() == 0) + if (raceOptions.empty()) { LOG_ERROR("playerbots", "No races available for class: {}", cls); return nullptr;