Hooks
static bool BeforeCvDiplomacyAI_LogMinorCivQuestFinished(CvDiplomacyAI* self, PlayerTypes eMinor, int iOldFriendshipTimes100, int iNewFriendshipTimes100, MinorCivQuestTypes eType);static void AfterCvDiplomacyAI_LogMinorCivQuestFinished(CvDiplomacyAI* self, PlayerTypes eMinor, int iOldFriendshipTimes100, int iNewFriendshipTimes100, MinorCivQuestTypes eType);static void ReplaceCvDiplomacyAI_LogMinorCivQuestFinished(void (*original)(CvDiplomacyAI*, PlayerTypes, int, int, MinorCivQuestTypes), CvDiplomacyAI* self, PlayerTypes eMinor, int iOldFriendshipTimes100, int iNewFriendshipTimes100, MinorCivQuestTypes eType);CivRegisterBefore<CivHooks::CvDiplomacyAI_LogMinorCivQuestFinished>(host, &BeforeCvDiplomacyAI_LogMinorCivQuestFinished);CivRegisterAfter<CivHooks::CvDiplomacyAI_LogMinorCivQuestFinished>(host, &AfterCvDiplomacyAI_LogMinorCivQuestFinished);CivRegisterReplace<CivHooks::CvDiplomacyAI_LogMinorCivQuestFinished>(host, &ReplaceCvDiplomacyAI_LogMinorCivQuestFinished);
Code
24907/// We finished a quest! Now log it24908void CvDiplomacyAI::LogMinorCivQuestFinished(PlayerTypes eMinor, int iOldFriendshipTimes100, int iNewFriendshipTimes100, MinorCivQuestTypes eType)24909{24910 if(GC.getLogging() && GC.getAILogging())24911 {24912 CvString strLogName;2491324914 CvString strOutBuf;24915 CvString strBaseString;2491624917 CvString playerName;24918 CvString otherPlayerName;2491924920 CvString strTemp;2492124922 playerName = GetPlayer()->getCivilizationShortDescription();2492324924 // Open the log file24925 if(GC.getPlayerAndCityAILogSplit())24926 strLogName = "DiplomacyAI_MinorCiv_Log_" + playerName + ".csv";24927 else24928 strLogName = "DiplomacyAI_MinorCiv_Log.csv";2492924930 FILogFile* pLog;24931 pLog = LOGFILEMGR.GetLog(strLogName, FILogFile::kDontTimeStamp);2493224933 // Turn number24934 strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());2493524936 // Our Name24937 strBaseString += playerName;2493824939 // Their Name24940 otherPlayerName = GET_PLAYER(eMinor).getCivilizationShortDescription();24941 strBaseString += ", " + otherPlayerName;2494224943 strOutBuf = strBaseString;2494424945 // Quest Info24946 strTemp = "FINISHED QUEST";24947 strOutBuf += ", " + strTemp;2494824949 LogMinorCivQuestType(strOutBuf, eType);2495024951 // Friendship Change24952 strTemp.Format("Friendship: %d to %d", iOldFriendshipTimes100 / 100, iNewFriendshipTimes100 / 100);24953 strOutBuf += ", " + strTemp;2495424955 // City State type24956 strOutBuf += ", ";24957 strOutBuf += GC.getMinorCivInfo(GET_PLAYER(eMinor).GetMinorCivAI()->GetMinorCivType())->GetType();2495824959 pLog->Msg(strOutBuf);2496024961 OutputDebugString("\n");24962 OutputDebugString(strOutBuf);24963 OutputDebugString("\n");24964 }24965}