Bazaar developer reference

CvMilitaryAI::LogWarStateChange(PlayerTypes, WarStateTypes, WarStateTypes)

Defined in
CvMilitaryAI.cpp, line 4323
Class
CvMilitaryAI
Hook name
CivHooks::CvMilitaryAI_LogWarStateChange

Hooks

static bool BeforeCvMilitaryAI_LogWarStateChange(CvMilitaryAI* self, PlayerTypes ePlayer, WarStateTypes eNewWarState, WarStateTypes eOldWarState);static void AfterCvMilitaryAI_LogWarStateChange(CvMilitaryAI* self, PlayerTypes ePlayer, WarStateTypes eNewWarState, WarStateTypes eOldWarState);static void ReplaceCvMilitaryAI_LogWarStateChange(void (*original)(CvMilitaryAI*, PlayerTypes, WarStateTypes, WarStateTypes), CvMilitaryAI* self, PlayerTypes ePlayer, WarStateTypes eNewWarState, WarStateTypes eOldWarState);CivRegisterBefore<CivHooks::CvMilitaryAI_LogWarStateChange>(host, &BeforeCvMilitaryAI_LogWarStateChange);CivRegisterAfter<CivHooks::CvMilitaryAI_LogWarStateChange>(host, &AfterCvMilitaryAI_LogWarStateChange);CivRegisterReplace<CivHooks::CvMilitaryAI_LogWarStateChange>(host, &ReplaceCvMilitaryAI_LogWarStateChange);

Code

4322/// Log some military status info each turn4323void CvMilitaryAI::LogWarStateChange(PlayerTypes ePlayer, WarStateTypes eNewWarState, WarStateTypes eOldWarState)4324{4325	if(GC.getLogging() && GC.getAILogging())4326	{4327		CvString strOutBuf;4328		CvString strBaseString;4329		CvString strTemp;4330		CvString playerName;4331		CvString opponentName;4332		FILogFile* pLog;43334334		// Open the right file4335		playerName = GetPlayer()->getCivilizationShortDescription();4336		opponentName = GET_PLAYER(ePlayer).getCivilizationShortDescription();4337		pLog = LOGFILEMGR.GetLog(GetLogFileName(playerName), FILogFile::kDontTimeStamp);43384339		// Get the leading info for this line4340		strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());4341		strBaseString += playerName + ", vs. " + opponentName + ", New War State: ";43424343		// New War State4344		switch(eNewWarState)4345		{4346		case WAR_STATE_CALM:4347			strTemp.Format("Calm");4348			break;4349		case WAR_STATE_NEARLY_WON:4350			strTemp.Format("Nearly Won");4351			break;4352		case WAR_STATE_OFFENSIVE:4353			strTemp.Format("Offensive");4354			break;4355		case WAR_STATE_STALEMATE:4356			strTemp.Format("Stalemate");4357			break;4358		case WAR_STATE_DEFENSIVE:4359			strTemp.Format("Defensive");4360			break;4361		case WAR_STATE_NEARLY_DEFEATED:4362			strTemp.Format("Nearly Defeated");4363			break;4364		default:4365			strTemp.Format("XXX");4366			break;4367		}4368		strOutBuf = strBaseString + strTemp + ", Old War State: ";43694370		// Old War State4371		switch(eOldWarState)4372		{4373		case WAR_STATE_CALM:4374			strTemp.Format("Calm");4375			break;4376		case WAR_STATE_NEARLY_WON:4377			strTemp.Format("Nearly Won");4378			break;4379		case WAR_STATE_OFFENSIVE:4380			strTemp.Format("Offensive");4381			break;4382		case WAR_STATE_STALEMATE:4383			strTemp.Format("Stalemate");4384			break;4385		case WAR_STATE_DEFENSIVE:4386			strTemp.Format("Defensive");4387			break;4388		case WAR_STATE_NEARLY_DEFEATED:4389			strTemp.Format("Nearly Defeated");4390			break;4391		default:4392			strTemp.Format("XXX");4393			break;4394		}4395		strOutBuf += strTemp;4396		pLog->Msg(strOutBuf);4397	}4398}

Calls

Called by