- bugfix for fog of war enabling at game end.. now works properly for Winning teams, not just losing teams.

This commit is contained in:
Mark Vejvoda 2010-12-25 21:30:54 +00:00
parent 143dd9035a
commit bf8be83ccc
1 changed files with 12 additions and 7 deletions

View File

@ -1195,13 +1195,18 @@ bool World::showWorldForPlayer(int factionIndex) const {
game->getGameSettings()->isNetworkGame() == true &&
game->getGameSettings()->getEnableObserverModeAtEndGame() == true) {
ret = true;
// If the player has at least 1 Unit alive that is mobile (can move)
// then we cannot turn off fog of war
for(int i = 0; i < getFaction(factionIndex)->getUnitCount(); ++i) {
Unit *unit = getFaction(factionIndex)->getUnit(i);
if(unit != NULL && unit->isAlive() && unit->getType()->isMobile() == true) {
ret = false;
break;
// If the faction is NOT on the winning team, don't let them see the map
// until all mobile units are dead
if(getStats()->getVictory(factionIndex) == false) {
// If the player has at least 1 Unit alive that is mobile (can move)
// then we cannot turn off fog of war
for(int i = 0; i < getFaction(factionIndex)->getUnitCount(); ++i) {
Unit *unit = getFaction(factionIndex)->getUnit(i);
if(unit != NULL && unit->isAlive() && unit->getType()->isMobile() == true) {
ret = false;
break;
}
}
}
}