mirror of
https://github.com/vcmi/vcmi.git
synced 2025-05-13 22:06:58 +02:00
Further loss improvements.
This commit is contained in:
parent
f5a719c2da
commit
172b3b0158
@ -367,7 +367,7 @@ void CGeneralTextHandler::load()
|
|||||||
{
|
{
|
||||||
loadToIt(tmp, strc, itr, 3);
|
loadToIt(tmp, strc, itr, 3);
|
||||||
colors.push_back(tmp);
|
colors.push_back(tmp);
|
||||||
toupper(tmp[0]);
|
tmp[0] = toupper(tmp[0]);
|
||||||
capColors.push_back(tmp);
|
capColors.push_back(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3193,7 +3193,7 @@ void CGameState::obtainPlayersStats(SThievesGuildInfo & tgi, int level)
|
|||||||
int CGameState::lossCheck( ui8 player ) const
|
int CGameState::lossCheck( ui8 player ) const
|
||||||
{
|
{
|
||||||
const PlayerState *p = getPlayer(player);
|
const PlayerState *p = getPlayer(player);
|
||||||
if(map->lossCondition.typeOfLossCon == lossStandard)
|
//if(map->lossCondition.typeOfLossCon == lossStandard)
|
||||||
if(checkForStandardLoss(player))
|
if(checkForStandardLoss(player))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
@ -2877,7 +2877,8 @@ bool CGameHandler::makeBattleAction( BattleAction &ba )
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
battleMadeAction.setn(true);
|
if(ba.stackNumber == gs->curB->activeStack)
|
||||||
|
battleMadeAction.setn(true);
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3510,6 +3511,10 @@ void CGameHandler::winLoseHandle(ui8 players )
|
|||||||
|
|
||||||
void CGameHandler::checkLossVictory( ui8 player )
|
void CGameHandler::checkLossVictory( ui8 player )
|
||||||
{
|
{
|
||||||
|
const PlayerState *p = gs->getPlayer(player);
|
||||||
|
if(p->status) //player already won / lost
|
||||||
|
return;
|
||||||
|
|
||||||
int loss = gs->lossCheck(player);
|
int loss = gs->lossCheck(player);
|
||||||
int vic = gs->victoryCheck(player);
|
int vic = gs->victoryCheck(player);
|
||||||
|
|
||||||
@ -3542,6 +3547,14 @@ void CGameHandler::checkLossVictory( ui8 player )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else //player lost -> all his objects become unflagged (neutral)
|
||||||
|
{
|
||||||
|
for (std::vector<CGObjectInstance*>::const_iterator i = gs->map->objects.begin(); i != gs->map->objects.end(); i++)
|
||||||
|
{
|
||||||
|
if(*i && (*i)->tempOwner == player)
|
||||||
|
setOwner((**i).id,NEUTRAL_PLAYER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(vic)
|
if(vic)
|
||||||
end2 = true;
|
end2 = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user