int CCountry::CalcMonarchDeathOutcome() const
{
int nOutcome = GetCurrentMonarch()->GetID().GetID() + _Tag.GetIndex() + CCurrentGameState::AccessInstance()->GetCurrentDate().GetYear();
if ( _pCurrentHeir->IsValid() )
{
nOutcome += _pCurrentHeir->GetID().GetID();
}
if ( CCurrentGameState::AccessInstance()->AccessEmpire().GetElectors().GetSize() > 0 )
{
nOutcome += CCurrentGameState::AccessInstance()->AccessEmpire().GetEmperor().GetCountry().GetCurrentMonarch()->GetID().GetID();
}
const CPapacy* pPapacy = _pReligion->GetPapacy();
if ( pPapacy )
{
nOutcome += pPapacy->GetInstanceData().GetCuriaController().GetIndex();
}
nOutcome += _OwnedProvinces.GetSize();
nOutcome += _nCapital;
for ( auto pRuler : _PreviousMonarchs )
{
nOutcome += pRuler->GetID().GetID();
}
nOutcome = nOutcome % 100;
return nOutcome;
}