From ec4797d8565c582743ac0b2a16d378fd21cae156 Mon Sep 17 00:00:00 2001 From: Ewilhan <45350161+Ewilhan@users.noreply.github.com> Date: Mon, 6 May 2019 14:12:14 +0100 Subject: [PATCH] Fix Neutral Creatures Weekly Growth Made it so neutral creatures could not be picked as "Flavour of the Week". It is checking neutral creatures hometown to do so. Fixes #3046. --- server/CGameHandler.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/server/CGameHandler.cpp b/server/CGameHandler.cpp index 489d77659..13a5feca8 100644 --- a/server/CGameHandler.cpp +++ b/server/CGameHandler.cpp @@ -1673,8 +1673,12 @@ void CGameHandler::newTurn() if (monthType < 25) { n.specialWeek = NewTurn::BONUS_GROWTH; //+5 - std::pair newMonster(54, VLC->creh->pickRandomMonster(getRandomGenerator())); - //TODO do not pick neutrals + std::pair newMonster(54, CreatureID()); + do + { + newMonster.second = VLC->creh->pickRandomMonster(getRandomGenerator()); + } while (VLC->creh->creatures[newMonster.second] && + VLC->townh->factions[VLC->creh->creatures[newMonster.second]->faction]->town == nullptr); // find first non neutral creature n.creatureid = newMonster.second; } }