Bazaar developer reference

EconomicAIHelpers::IsTestStrategy_NeedGuilds(CvPlayer *)

Defined in
CvEconomicAI.cpp, line 4358
Hook name
CivHooks::EconomicAIHelpers_IsTestStrategy_NeedGuilds

Hooks

static bool BeforeEconomicAIHelpers_IsTestStrategy_NeedGuilds(CvPlayer* pPlayer, bool& result);static void AfterEconomicAIHelpers_IsTestStrategy_NeedGuilds(CvPlayer* pPlayer, bool& result);static bool ReplaceEconomicAIHelpers_IsTestStrategy_NeedGuilds(bool (*original)(CvPlayer*), CvPlayer* pPlayer);CivRegisterBefore<CivHooks::EconomicAIHelpers_IsTestStrategy_NeedGuilds>(host, &BeforeEconomicAIHelpers_IsTestStrategy_NeedGuilds);CivRegisterAfter<CivHooks::EconomicAIHelpers_IsTestStrategy_NeedGuilds>(host, &AfterEconomicAIHelpers_IsTestStrategy_NeedGuilds);CivRegisterReplace<CivHooks::EconomicAIHelpers_IsTestStrategy_NeedGuilds>(host, &ReplaceEconomicAIHelpers_IsTestStrategy_NeedGuilds);

Code

4357/// We have the tech for guilds but haven't built them yet4358bool EconomicAIHelpers::IsTestStrategy_NeedGuilds(CvPlayer* pPlayer)4359{4360	CvTeam &kTeam = GET_TEAM(pPlayer->getTeam());43614362#if defined(MOD_BUGFIX_BUILDINGCLASS_NOT_BUILDING)4363	CvCivilizationInfo& playerCivilizationInfo = pPlayer->getCivilizationInfo();4364	BuildingTypes eWritersGuild = (BuildingTypes)playerCivilizationInfo.getCivilizationBuildings((BuildingClassTypes)GC.getInfoTypeForString("BUILDINGCLASS_WRITERS_GUILD"));4365	BuildingTypes eArtistsGuild = (BuildingTypes)playerCivilizationInfo.getCivilizationBuildings((BuildingClassTypes)GC.getInfoTypeForString("BUILDINGCLASS_ARTISTS_GUILD"));4366	BuildingTypes eMusiciansGuild = (BuildingTypes)playerCivilizationInfo.getCivilizationBuildings((BuildingClassTypes)GC.getInfoTypeForString("BUILDINGCLASS_MUSICIANS_GUILD"));4367#else4368	BuildingTypes eWritersGuild = (BuildingTypes)GC.getInfoTypeForString("BUILDING_WRITERS_GUILD", true);4369	BuildingTypes eArtistsGuild = (BuildingTypes)GC.getInfoTypeForString("BUILDING_ARTISTS_GUILD", true);4370	BuildingTypes eMusiciansGuild = (BuildingTypes)GC.getInfoTypeForString("BUILDING_MUSICIANS_GUILD", true);4371#endif43724373	CvBuildingEntry *pkBuilding;4374	pkBuilding = GC.getBuildingInfo(eWritersGuild);4375	if (pkBuilding)4376	{4377		if (kTeam.GetTeamTechs()->HasTech((TechTypes)pkBuilding->GetPrereqAndTech()))4378		{4379			if (pPlayer->GetFirstCityWithBuildingClass((BuildingClassTypes)pkBuilding->GetBuildingClassType()) == NULL)4380			{4381				return true;4382			}4383		}4384	}4385	pkBuilding = GC.getBuildingInfo(eArtistsGuild);4386	if (pkBuilding)4387	{4388		if (kTeam.GetTeamTechs()->HasTech((TechTypes)pkBuilding->GetPrereqAndTech()))4389		{4390			if (pPlayer->GetFirstCityWithBuildingClass((BuildingClassTypes)pkBuilding->GetBuildingClassType()) == NULL)4391			{4392				return true;4393			}4394		}4395	}4396	pkBuilding = GC.getBuildingInfo(eMusiciansGuild);4397	if (pkBuilding)4398	{4399		if (kTeam.GetTeamTechs()->HasTech((TechTypes)pkBuilding->GetPrereqAndTech()))4400		{4401			if (pPlayer->GetFirstCityWithBuildingClass((BuildingClassTypes)pkBuilding->GetBuildingClassType()) == NULL)4402			{4403				return true;4404			}4405		}4406	}44074408	return false;4409}

Calls

Called by