Hooks
static bool BeforeCvMilitaryAI_LogScrapUnit(CvMilitaryAI* self, UnitHandle pUnit, bool bDeficit, bool bConquest);static void AfterCvMilitaryAI_LogScrapUnit(CvMilitaryAI* self, UnitHandle pUnit, bool bDeficit, bool bConquest);static void ReplaceCvMilitaryAI_LogScrapUnit(void (*original)(CvMilitaryAI*, UnitHandle, bool, bool), CvMilitaryAI* self, UnitHandle pUnit, bool bDeficit, bool bConquest);CivRegisterBefore<CivHooks::CvMilitaryAI_LogScrapUnit>(host, &BeforeCvMilitaryAI_LogScrapUnit);CivRegisterAfter<CivHooks::CvMilitaryAI_LogScrapUnit>(host, &AfterCvMilitaryAI_LogScrapUnit);CivRegisterReplace<CivHooks::CvMilitaryAI_LogScrapUnit>(host, &ReplaceCvMilitaryAI_LogScrapUnit);
Code
4400/// Log that a unit is being scrapped4401void CvMilitaryAI::LogScrapUnit(UnitHandle pUnit, bool bDeficit, bool bConquest)4402{4403 if(GC.getLogging() && GC.getAILogging())4404 {4405 CvString strOutBuf;4406 CvString strTemp;4407 CvString playerName;4408 FILogFile* pLog;44094410 // Open the right file4411 playerName = m_pPlayer->getCivilizationShortDescription();4412 pLog = LOGFILEMGR.GetLog(GetLogFileName(playerName), FILogFile::kDontTimeStamp);44134414 strOutBuf.Format("%03d, ", GC.getGame().getElapsedGameTurns());4415 strOutBuf += playerName + ", ";44164417 strTemp.Format("Scrapping %s, X: %d, Y: %d, ", pUnit->getUnitInfo().GetDescription(), pUnit->getX(), pUnit->getY());4418 strOutBuf += strTemp;4419 if(bDeficit)4420 {4421 strOutBuf += "IN DEFICIT, ";4422 }4423 else4424 {4425 strOutBuf += "Finances ok, ";4426 }4427 if(bConquest)4428 {4429 strOutBuf += "CONQUEST, ";4430 }4431 else4432 {4433 strOutBuf += "Other GS, ";4434 }4435 if(pUnit->getDomainType() == DOMAIN_LAND)4436 {4437 strTemp.Format("Num Land Units: %d, In Armies %d, Rec Size: %d, ", m_iNumLandUnits, m_iNumLandUnitsInArmies, m_iRecommendedMilitarySize);4438 }4439 else4440 {4441 strTemp.Format("Num Naval Units: %d, In Armies %d, ", m_iNumNavalUnits, m_iNumNavalUnitsInArmies);4442 }4443 strOutBuf += strTemp;4444 pLog->Msg(strOutBuf);4445 }4446}