Bazaar developer reference

CvPlayer::CanLiberatePlayer(PlayerTypes)

Defined in
CvPlayer.cpp, line 3669
Class
CvPlayer
Hook name
CivHooks::CvPlayer_CanLiberatePlayer
Lua events
GameEvents.PlayerCanLiberate

Hooks

static bool BeforeCvPlayer_CanLiberatePlayer(CvPlayer* self, PlayerTypes ePlayer, bool& result);static void AfterCvPlayer_CanLiberatePlayer(CvPlayer* self, PlayerTypes ePlayer, bool& result);static bool ReplaceCvPlayer_CanLiberatePlayer(bool (*original)(CvPlayer*, PlayerTypes), CvPlayer* self, PlayerTypes ePlayer);CivRegisterBefore<CivHooks::CvPlayer_CanLiberatePlayer>(host, &BeforeCvPlayer_CanLiberatePlayer);CivRegisterAfter<CivHooks::CvPlayer_CanLiberatePlayer>(host, &AfterCvPlayer_CanLiberatePlayer);CivRegisterReplace<CivHooks::CvPlayer_CanLiberatePlayer>(host, &ReplaceCvPlayer_CanLiberatePlayer);

Code

3669bool CvPlayer::CanLiberatePlayer(PlayerTypes ePlayer)3670{3671	// Other Player must be dead now3672	if(GET_PLAYER(ePlayer).isAlive())3673	{3674		return false;3675	}36763677	if(GET_PLAYER(ePlayer).IsEverConqueredBy(m_eID))3678	{3679		return false;3680	}36813682	if(GET_TEAM(GET_PLAYER(ePlayer).getTeam()).GetKilledByTeam() == getTeam())3683	{3684		return false;3685	}3686	3687#if defined(MOD_EVENTS_LIBERATION)3688	if (MOD_EVENTS_LIBERATION) {3689		if (GAMEEVENTINVOKE_TESTALL(GAMEEVENT_PlayerCanLiberate, GetID(), ePlayer) == GAMEEVENTRETURN_FALSE) {3690			return false;3691		}3692	}3693#endif36943695	return true;3696}

Calls

Called by