Bazaar developer reference

GetPlayerType(byte)

Defined in
CvWorldBuilderMapLoader.cpp, line 586
Hook name
CivHooks::GetPlayerType

Hooks

static bool BeforeGetPlayerType(byte byCulture, PlayerTypes& result);static void AfterGetPlayerType(byte byCulture, PlayerTypes& result);static PlayerTypes ReplaceGetPlayerType(PlayerTypes (*original)(byte), byte byCulture);CivRegisterBefore<CivHooks::GetPlayerType>(host, &BeforeGetPlayerType);CivRegisterAfter<CivHooks::GetPlayerType>(host, &AfterGetPlayerType);CivRegisterReplace<CivHooks::GetPlayerType>(host, &ReplaceGetPlayerType);

Code

586PlayerTypes GetPlayerType(byte byCulture)587{588	if(byCulture < CvWorldBuilderMap::MaxPlayers)589	{590		if(byCulture < MAX_MAJOR_CIVS)591			return (PlayerTypes)byCulture;592		else593			return NO_PLAYER; // Player out of range594	}595	else if(byCulture < CvWorldBuilderMap::MaxPlayers + CvWorldBuilderMap::MaxCityStates)596	{597		const uint uiCityState = byCulture - CvWorldBuilderMap::MaxPlayers;598		if(uiCityState < MAX_MINOR_CIVS)599			return (PlayerTypes)(uiCityState + MAX_MAJOR_CIVS);600		else601			return NO_PLAYER; // City State out of range602	}603	else if(byCulture == CvWorldBuilderMap::MaxPlayers + CvWorldBuilderMap::MaxCityStates)604	{605		return BARBARIAN_PLAYER;606	}607	else608	{609		return NO_PLAYER; // Completely invalid culture type610	}611}

Called by