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}