Bazaar developer reference

CvCityStrategyAI::LogSpecializationChange(CitySpecializationTypes)

Defined in
CvCityStrategyAI.cpp, line 2102
Class
CvCityStrategyAI
Hook name
CivHooks::CvCityStrategyAI_LogSpecializationChange

Hooks

static bool BeforeCvCityStrategyAI_LogSpecializationChange(CvCityStrategyAI* self, CitySpecializationTypes eSpecialization);static void AfterCvCityStrategyAI_LogSpecializationChange(CvCityStrategyAI* self, CitySpecializationTypes eSpecialization);static void ReplaceCvCityStrategyAI_LogSpecializationChange(void (*original)(CvCityStrategyAI*, CitySpecializationTypes), CvCityStrategyAI* self, CitySpecializationTypes eSpecialization);CivRegisterBefore<CivHooks::CvCityStrategyAI_LogSpecializationChange>(host, &BeforeCvCityStrategyAI_LogSpecializationChange);CivRegisterAfter<CivHooks::CvCityStrategyAI_LogSpecializationChange>(host, &AfterCvCityStrategyAI_LogSpecializationChange);CivRegisterReplace<CivHooks::CvCityStrategyAI_LogSpecializationChange>(host, &ReplaceCvCityStrategyAI_LogSpecializationChange);

Code

2102void CvCityStrategyAI::LogSpecializationChange(CitySpecializationTypes eSpecialization)2103{2104	if(GC.getLogging() && GC.getAILogging())2105	{2106		// Find the name of this civ and city2107		CvString playerName = GET_PLAYER(m_pCity->getOwner()).getCivilizationShortDescription();2108		CvString cityName = m_pCity->getName();21092110		FILogFile* pLog = LOGFILEMGR.GetLog(GetLogFileName(playerName, cityName), FILogFile::kDontTimeStamp);21112112		// Get the leading info for this line2113		CvString strBaseString;2114		strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());2115		strBaseString += playerName + ", " + cityName + ", ";21162117		CvString strOutBuf = strBaseString;21182119		CvCitySpecializationXMLEntry* pCitySpecializationInfo = GC.getCitySpecializationInfo(eSpecialization);2120		if(pCitySpecializationInfo != NULL)2121		{2122			const YieldTypes eYieldType = pCitySpecializationInfo->GetYieldType();21232124			CvString strYieldString = "Unknown";2125			if(eYieldType == NO_YIELD)2126			{2127				strYieldString = "General Economy";2128			}2129			else2130			{2131				CvYieldInfo* pYieldInfo = GC.getYieldInfo(eYieldType);2132				if(pYieldInfo != NULL)2133				{2134					strYieldString = pYieldInfo->GetDescription();2135				}2136			}21372138			CvString strTemp = "NEW SPECIALIZATION: Yield Type = ";2139			strOutBuf += strTemp + strYieldString;2140		}21412142		pLog->Msg(strOutBuf);2143	}2144}

Calls

Called by