Bazaar developer reference

CvPlayer::setLeaderType(LeaderHeadTypes)

Defined in
CvPlayer.cpp, line 18519
Class
CvPlayer
Hook name
CivHooks::CvPlayer_setLeaderType

Hooks

static bool BeforeCvPlayer_setLeaderType(CvPlayer* self, LeaderHeadTypes eNewLeader);static void AfterCvPlayer_setLeaderType(CvPlayer* self, LeaderHeadTypes eNewLeader);static void ReplaceCvPlayer_setLeaderType(void (*original)(CvPlayer*, LeaderHeadTypes), CvPlayer* self, LeaderHeadTypes eNewLeader);CivRegisterBefore<CivHooks::CvPlayer_setLeaderType>(host, &BeforeCvPlayer_setLeaderType);CivRegisterAfter<CivHooks::CvPlayer_setLeaderType>(host, &AfterCvPlayer_setLeaderType);CivRegisterReplace<CivHooks::CvPlayer_setLeaderType>(host, &ReplaceCvPlayer_setLeaderType);

Code

18519void CvPlayer::setLeaderType(LeaderHeadTypes eNewLeader)18520{18521    if (isMajorCiv())18522	{18523		LeaderHeadTypes eOldLeader = getLeaderType();18524		18525		// Set the new leader type18526		CvPreGame::setLeaderHead(GetID(), eNewLeader);18527	18528		// Update the player's personality18529		setPersonalityType(eNewLeader);18530	18531		// Update the player's traits (Leader_Traits)18532		GetPlayerTraits()->Reset();18533		GetPlayerTraits()->InitPlayerTraits();18534		recomputePolicyCostModifier();18535		18536		if (!isHuman()) {18537			// Update the player's biases (Leader_MajorCivApproachBiases)18538			// Nothing to do as they are not cached in CvPlayer18539	18540			// Update the player's flavours (Leader_Flavors)18541			GetFlavorManager()->ChangeLeader(eOldLeader, eNewLeader);18542			18543			// Update the player's strategies18544			// Nothing to do as these will auto-update based on the new flavours at the end of the player's turn18545		}18546	}18547}

Calls

Called by