CvDllNetMessageHandler::ResponseChangeIdeology(PlayerTypes)
- Defined in
- CvDllNetMessageHandler.cpp, line 578
- Class
- CvDllNetMessageHandler
- Hook name
CivHooks::CvDllNetMessageHandler_ResponseChangeIdeology
Hooks
static bool BeforeCvDllNetMessageHandler_ResponseChangeIdeology(CvDllNetMessageHandler* self, PlayerTypes ePlayer);static void AfterCvDllNetMessageHandler_ResponseChangeIdeology(CvDllNetMessageHandler* self, PlayerTypes ePlayer);static void ReplaceCvDllNetMessageHandler_ResponseChangeIdeology(void (*original)(CvDllNetMessageHandler*, PlayerTypes), CvDllNetMessageHandler* self, PlayerTypes ePlayer);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseChangeIdeology::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvDllNetMessageHandler_ResponseChangeIdeology);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseChangeIdeology::ID, CIV_HOOK_AFTER, (void*)&AfterCvDllNetMessageHandler_ResponseChangeIdeology);host->RegisterHook(host->pluginIndex, CivHooks::CvDllNetMessageHandler_ResponseChangeIdeology::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvDllNetMessageHandler_ResponseChangeIdeology);
Code
578void CvDllNetMessageHandler::ResponseChangeIdeology(PlayerTypes ePlayer)579{580 CvAssertMsg(ePlayer != NO_PLAYER, "ePlayer invalid");581582 // is this player alive583 CvPlayer &kPlayer = GET_PLAYER(ePlayer);584 if (kPlayer.isAlive())585 {586 PolicyBranchTypes ePreferredIdeology = kPlayer.GetCulture()->GetPublicOpinionPreferredIdeology();587 kPlayer.SetAnarchyNumTurns(GC.getSWITCH_POLICY_BRANCHES_ANARCHY_TURNS());588 kPlayer.GetPlayerPolicies()->DoSwitchIdeologies(ePreferredIdeology);589 }590}
Calls
- CvGlobals::getSWITCH_POLICY_BRANCHES_ANARCHY_TURNS()
- CvPlayer::GetCulture() const
- CvPlayer::GetPlayerPolicies() const
- CvPlayer::isAlive() const
- CvPlayer::SetAnarchyNumTurns(int)
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerCulture::GetPublicOpinionPreferredIdeology() const
- CvPlayerPolicies::DoSwitchIdeologies(PolicyBranchTypes)