diff --git a/client/NetPacksClient.cpp b/client/NetPacksClient.cpp index 0665c3c56..4a4bbd67a 100644 --- a/client/NetPacksClient.cpp +++ b/client/NetPacksClient.cpp @@ -416,8 +416,6 @@ void NewStructures::applyCl( CClient *cl ) CGTownInstance *town = GS(cl)->getTown(tid); for(const auto & id : bid) { - town->updateAppearance(); - if(vstd::contains(cl->playerint,town->tempOwner)) cl->playerint[town->tempOwner]->buildChanged(town,id,1); } @@ -427,8 +425,6 @@ void RazeStructures::applyCl (CClient *cl) CGTownInstance *town = GS(cl)->getTown(tid); for(const auto & id : bid) { - town->updateAppearance(); - if(vstd::contains (cl->playerint,town->tempOwner)) cl->playerint[town->tempOwner]->buildChanged (town,id,2); } diff --git a/lib/NetPacksLib.cpp b/lib/NetPacksLib.cpp index ecb951be2..581a5a030 100644 --- a/lib/NetPacksLib.cpp +++ b/lib/NetPacksLib.cpp @@ -533,6 +533,8 @@ DLL_LINKAGE void NewStructures::applyGs( CGameState *gs ) { assert(t->town->buildings.at(id) != nullptr); t->builtBuildings.insert(id); + + t->updateAppearance(); } t->builded = builded; t->recreateBuildingsBonuses(); @@ -543,6 +545,8 @@ DLL_LINKAGE void RazeStructures::applyGs( CGameState *gs ) for(const auto & id : bid) { t->builtBuildings.erase(id); + + t->updateAppearance(); } t->destroyed = destroyed; //yeaha t->recreateBuildingsBonuses();