1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-13 19:54:17 +02:00

Do not attempt to build non-existing buildings via events

This commit is contained in:
Ivan Savenko
2024-01-05 18:51:00 +02:00
parent 1519de60bf
commit 40e423884f

View File

@@ -3284,7 +3284,11 @@ void CGameHandler::handleTownEvents(CGTownInstance * town, NewTurn &n)
for (auto & i : ev.buildings) for (auto & i : ev.buildings)
{ {
if (!town->hasBuilt(i)) // Only perform action if:
// 1. Building exists in town (don't attempt to build Lvl 5 guild in Fortress
// 2. Building was not built yet
// othervice, silently ignore / skip it
if (town->town->buildings.count(i) && !town->hasBuilt(i))
{ {
buildStructure(town->id, i, true); buildStructure(town->id, i, true);
iw.components.emplace_back(ComponentType::BUILDING, BuildingTypeUniqueID(town->getFaction(), i)); iw.components.emplace_back(ComponentType::BUILDING, BuildingTypeUniqueID(town->getFaction(), i));