Bazaar developer reference

CvCitySpecializationAI::LogSpecializationWeights()

Defined in
CvCitySpecializationAI.cpp, line 1427
Class
CvCitySpecializationAI
Hook name
CivHooks::CvCitySpecializationAI_LogSpecializationWeights

Hooks

static bool BeforeCvCitySpecializationAI_LogSpecializationWeights(CvCitySpecializationAI* self);static void AfterCvCitySpecializationAI_LogSpecializationWeights(CvCitySpecializationAI* self);static void ReplaceCvCitySpecializationAI_LogSpecializationWeights(void (*original)(CvCitySpecializationAI*), CvCitySpecializationAI* self);CivRegisterBefore<CivHooks::CvCitySpecializationAI_LogSpecializationWeights>(host, &BeforeCvCitySpecializationAI_LogSpecializationWeights);CivRegisterAfter<CivHooks::CvCitySpecializationAI_LogSpecializationWeights>(host, &AfterCvCitySpecializationAI_LogSpecializationWeights);CivRegisterReplace<CivHooks::CvCitySpecializationAI_LogSpecializationWeights>(host, &ReplaceCvCitySpecializationAI_LogSpecializationWeights);

Code

1426/// Log which specializations were needed1427void CvCitySpecializationAI::LogSpecializationWeights()1428{1429	if(GC.getLogging() && GC.getAILogging())1430	{1431		CvString strPlayerName;1432		CvString strBaseString;1433		CvString strYieldString;1434		CvString strWeightString;1435		CvString strOutBuf;1436		FILogFile* pLog;14371438		// Find the name of this civ1439		strPlayerName = GetPlayer()->getCivilizationShortDescription();1440		pLog = LOGFILEMGR.GetLog(GetLogFileName(strPlayerName), FILogFile::kDontTimeStamp);14411442		// Get the leading info for this line1443		strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());1444		strBaseString += strPlayerName + ", Empire-wide specialization weight, ";14451446		for(int iI = 0; iI < NUM_SPECIALIZATION_YIELDS; iI++)1447		{1448			if(iI > YIELD_SCIENCE)1449			{1450				strYieldString = "General Economy";1451			}1452			else1453			{1454				CvYieldInfo* pYieldInfo = GC.getYieldInfo((YieldTypes)m_YieldWeights.GetElement(iI));1455				if(pYieldInfo != NULL)1456				{1457					strYieldString = pYieldInfo->GetDescription();1458				}1459			}1460			strWeightString.Format("%d", m_YieldWeights.GetWeight(iI));1461			strOutBuf = strBaseString + strYieldString + ", " + strWeightString;1462			pLog->Msg(strOutBuf);1463		}14641465		for(int iI = 0; iI < NUM_PRODUCTION_SPECIALIZATION_SUBTYPES; iI++)1466		{1467			strYieldString.Format("Production Specialization: %d", iI);1468			strWeightString.Format("%d", m_ProductionSubtypeWeights.GetWeight(iI));1469			strOutBuf = strBaseString + strYieldString + ", " + strWeightString;1470			pLog->Msg(strOutBuf);1471		}1472	}1473}

Calls

Called by