CvPlayer::verifyAlive()
- Defined in
- CvPlayer.cpp, line 17768
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_verifyAlive
Hooks
static bool BeforeCvPlayer_verifyAlive(CvPlayer* self);static void AfterCvPlayer_verifyAlive(CvPlayer* self);static void ReplaceCvPlayer_verifyAlive(void (*original)(CvPlayer*), CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_verifyAlive>(host, &BeforeCvPlayer_verifyAlive);CivRegisterAfter<CivHooks::CvPlayer_verifyAlive>(host, &AfterCvPlayer_verifyAlive);CivRegisterReplace<CivHooks::CvPlayer_verifyAlive>(host, &ReplaceCvPlayer_verifyAlive);
Code
17768void CvPlayer::verifyAlive()17769{17770 bool bKill;1777117772 if(isAlive())17773 {17774 bKill = false;1777517776 if(!bKill)17777 {17778 if(!isBarbarian())17779 {17780 if(getNumCities() == 0 && getAdvancedStartPoints() < 0)17781 {17782 if((getNumUnits() == 0) || (!(GC.getGame().isOption(GAMEOPTION_COMPLETE_KILLS)) && isFoundedFirstCity()))17783 {17784 if(!GetPlayerTraits()->IsStaysAliveZeroCities())17785 {17786 bKill = true;17787 }17788 }17789 }17790 }17791 }1779217793 if(!bKill)17794 {17795 if(!isBarbarian())17796 {17797 if(GC.getGame().getMaxCityElimination() > 0)17798 {17799 if(getCitiesLost() >= GC.getGame().getMaxCityElimination())17800 {17801 bKill = true;17802 }17803 }17804 }17805 }1780617807 if(bKill)17808 {17809 setAlive(false, false);17810 }17811 }17812 else17813 {17814 if((getNumCities() > 0) || (getNumUnits() > 0))17815 {17816 setAlive(true);17817 }17818 }17819}
Calls
- CvGame::getMaxCityElimination() const
- CvGame::isOption(GameOptionTypes) const
- CvGlobals::getGame()
- CvPlayer::getAdvancedStartPoints() const
- CvPlayer::getCitiesLost() const
- CvPlayer::getNumCities() const
- CvPlayer::getNumUnits() const
- CvPlayer::GetPlayerTraits() const
- CvPlayer::isAlive() const
- CvPlayer::isBarbarian() const
- CvPlayer::isFoundedFirstCity() const
- CvPlayer::setAlive(bool, bool)
- CvPlayerTraits::IsStaysAliveZeroCities() const