Code
26147// Log the Personality of this player (Flavors & Personality Traits)26148void CvDiplomacyAI::LogPersonality()26149{26150 if(GC.getLogging() && GC.getAILogging())26151 {26152 CvString strOutBuf;26153 CvString strBaseString;26154 CvString playerName;26155 CvString strDesc;26156 CvString strLogName;26157 CvString strTemp;2615826159 // Find the name of this civ and city26160 playerName = GetPlayer()->getCivilizationShortDescription();2616126162 // Open the log file26163 if(GC.getPlayerAndCityAILogSplit())26164 {26165 strLogName = "AI_Personality_Log_" + playerName + ".csv";26166 }26167 else26168 {26169 strLogName = "AI_Personality_Log.csv";26170 }2617126172 FILogFile* pLog;26173 pLog = LOGFILEMGR.GetLog(strLogName, FILogFile::kDontTimeStamp);2617426175 // Get the leading info for this line26176 strBaseString.Format("%03d, PERSONALITY, ", GC.getGame().getElapsedGameTurns());26177 strBaseString += playerName;2617826179 // Loop through all Flavors26180 for(int iFlavorLoop = 0; iFlavorLoop < GC.getNumFlavorTypes(); iFlavorLoop++)26181 {26182 strTemp.Format("%s, %d", GC.getFlavorTypes((FlavorTypes) iFlavorLoop).GetCString(), GetPlayer()->GetFlavorManager()->GetPersonalityIndividualFlavor((FlavorTypes) iFlavorLoop));26183 strOutBuf = strBaseString + ", " + strTemp;26184 pLog->Msg(strOutBuf);26185 }2618626187 MajorCivApproachTypes eMajorCivApproach;2618826189 // Loop through all Approaches to see what this player's bias is26190 for(int iApproachLoop = 0; iApproachLoop < NUM_MAJOR_CIV_APPROACHES; iApproachLoop++)26191 {26192 eMajorCivApproach = (MajorCivApproachTypes) iApproachLoop;2619326194 switch(eMajorCivApproach)26195 {26196 case MAJOR_CIV_APPROACH_WAR:26197 strTemp.Format("War");26198 break;26199 case MAJOR_CIV_APPROACH_HOSTILE:26200 strTemp.Format("Hostile");26201 break;26202 case MAJOR_CIV_APPROACH_DECEPTIVE:26203 strTemp.Format("Deceptive");26204 break;26205 case MAJOR_CIV_APPROACH_GUARDED:26206 strTemp.Format("Guarded");26207 break;26208 case MAJOR_CIV_APPROACH_AFRAID:26209 strTemp.Format("Afraid");26210 break;26211 case MAJOR_CIV_APPROACH_FRIENDLY:26212 strTemp.Format("Friendly");26213 break;26214 case MAJOR_CIV_APPROACH_NEUTRAL:26215 strTemp.Format("Neutral");26216 break;26217 default:26218 strTemp.Format("XXX");26219 break;26220 }26221 strOutBuf = strBaseString + ", " + strTemp;2622226223 strTemp.Format("%d", GetPersonalityMajorCivApproachBias(eMajorCivApproach));26224 strOutBuf += ", " + strTemp;26225 pLog->Msg(strOutBuf);26226 }2622726228 MinorCivApproachTypes eMinorCivApproach;2622926230 // Loop through all Approaches to see what this player's bias is26231 for(int iApproachLoop = 0; iApproachLoop < NUM_MINOR_CIV_APPROACHES; iApproachLoop++)26232 {26233 eMinorCivApproach = (MinorCivApproachTypes) iApproachLoop;2623426235 switch(eMinorCivApproach)26236 {26237 case MINOR_CIV_APPROACH_IGNORE:26238 strTemp.Format("Ignore");26239 break;26240 case MINOR_CIV_APPROACH_FRIENDLY:26241 strTemp.Format("Friendly");26242 break;26243 case MINOR_CIV_APPROACH_PROTECTIVE:26244 strTemp.Format("Protective");26245 break;26246 case MINOR_CIV_APPROACH_CONQUEST:26247 strTemp.Format("Conquest");26248 break;26249 case MINOR_CIV_APPROACH_BULLY:26250 strTemp.Format("Bully");26251 break;26252 default:26253 strTemp.Format("XXX");26254 break;26255 }26256 strOutBuf = strBaseString + ", " + strTemp;2625726258 strTemp.Format("%d", GetPersonalityMinorCivApproachBias(eMinorCivApproach));26259 strOutBuf += ", " + strTemp;26260 pLog->Msg(strOutBuf);26261 }2626226263 strTemp.Format("VICTORY COMPETITIVENESS, %d", GetVictoryCompetitiveness());26264 strOutBuf = strBaseString + ", " + strTemp;26265 pLog->Msg(strOutBuf);2626626267 strTemp.Format("WONDER COMPETITIVENESS, %d", GetWonderCompetitiveness());26268 strOutBuf = strBaseString + ", " + strTemp;26269 pLog->Msg(strOutBuf);2627026271 strTemp.Format("MINOR CIV COMPETITIVENESS, %d", GetMinorCivCompetitiveness());26272 strOutBuf = strBaseString + ", " + strTemp;26273 pLog->Msg(strOutBuf);2627426275 strTemp.Format("BOLDNESS, %d", GetBoldness());26276 strOutBuf = strBaseString + ", " + strTemp;26277 pLog->Msg(strOutBuf);2627826279 strTemp.Format("DIPLO BALANCE, %d", GetDiploBalance());26280 strOutBuf = strBaseString + ", " + strTemp;26281 pLog->Msg(strOutBuf);2628226283 strTemp.Format("WARMONGER HATE, %d", GetWarmongerHate());26284 strOutBuf = strBaseString + ", " + strTemp;26285 pLog->Msg(strOutBuf);2628626287 strTemp.Format("DENOUNCE, %d", GetDenounceWillingness());26288 strOutBuf = strBaseString + ", " + strTemp;26289 pLog->Msg(strOutBuf);2629026291 strTemp.Format("DoF, %d", GetDoFWillingness());26292 strOutBuf = strBaseString + ", " + strTemp;26293 pLog->Msg(strOutBuf);2629426295 strTemp.Format("LOYALTY, %d", GetLoyalty());26296 strOutBuf = strBaseString + ", " + strTemp;26297 pLog->Msg(strOutBuf);2629826299 strTemp.Format("NEEDINESS, %d", GetNeediness());26300 strOutBuf = strBaseString + ", " + strTemp;26301 pLog->Msg(strOutBuf);2630226303 strTemp.Format("FORGIVENESS, %d", GetForgiveness());26304 strOutBuf = strBaseString + ", " + strTemp;26305 pLog->Msg(strOutBuf);2630626307 strTemp.Format("CHATTINESS, %d", GetChattiness());26308 strOutBuf = strBaseString + ", " + strTemp;26309 pLog->Msg(strOutBuf);2631026311 strTemp.Format("MEANNESS, %d", GetMeanness());26312 strOutBuf = strBaseString + ", " + strTemp;26313 pLog->Msg(strOutBuf);26314 }26315}