1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-17 00:07:41 +02:00

PlayerState::daysWithoutCastle: change in netpacks only. Fix issue 2462

Moving code from CGameHandler to NetPacksLib without changes.
This commit is contained in:
Arseniy Shestakov
2016-08-23 07:57:57 +03:00
parent 355f0a74ab
commit abad3cfb17
2 changed files with 27 additions and 22 deletions

View File

@ -1716,25 +1716,6 @@ void CGameHandler::newTurn()
elem->newTurn();
}
//count days without town for all players, regardless of their turn order
for (auto &p : gs->players)
{
PlayerState & playerState = p.second;
if (playerState.status == EPlayerStatus::INGAME)
{
if (playerState.towns.empty())
{
if (playerState.daysWithoutCastle)
++(*playerState.daysWithoutCastle);
else playerState.daysWithoutCastle = 0;
}
else
{
playerState.daysWithoutCastle = boost::none;
}
}
}
synchronizeArtifactHandlerLists(); //new day events may have changed them. TODO better of managing that
}
void CGameHandler::run(bool resume)
@ -2183,8 +2164,6 @@ void CGameHandler::setOwner(const CGObjectInstance * obj, PlayerColor owner)
const CGTownInstance * town = dynamic_cast<const CGTownInstance *>(obj);
if (town->hasBuilt(BuildingID::PORTAL_OF_SUMMON, ETownType::DUNGEON))
setPortalDwelling(town, true, false);
gs->getPlayer(owner)->daysWithoutCastle = boost::none; // reset counter
}
if (oldOwner < PlayerColor::PLAYER_LIMIT) //old owner is real player