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
- CvGame::getElapsedGameTurns() const
- CvGlobals::getAILogging()
- CvGlobals::getGame()
- CvGlobals::getLogging()
- CvMilitaryAI::GetLogFileName(CvString &, bool) const
- CvMilitaryAI::GetPlayer()
- CvPlayer::getCivilizationShortDescription() const
- CvPlayerAI::getPlayer(PlayerTypes)
CvString::CvStringCvString::FormatCvString::operator const char *CvString::operator=CvString::operator=FILogFile::MsgFILogFileMgr::GetInstanceFILogFileMgr::GetLogstd::basic_string::operator+=std::operator+std::operator+