Hooks
static bool BeforeCvTeam_announceTechToPlayers(CvTeam* self, TechTypes eIndex, bool bPartial);static void AfterCvTeam_announceTechToPlayers(CvTeam* self, TechTypes eIndex, bool bPartial);static void ReplaceCvTeam_announceTechToPlayers(void (*original)(CvTeam*, TechTypes, bool), CvTeam* self, TechTypes eIndex, bool bPartial);CivRegisterBefore<CivHooks::CvTeam_announceTechToPlayers>(host, &BeforeCvTeam_announceTechToPlayers);CivRegisterAfter<CivHooks::CvTeam_announceTechToPlayers>(host, &AfterCvTeam_announceTechToPlayers);CivRegisterReplace<CivHooks::CvTeam_announceTechToPlayers>(host, &ReplaceCvTeam_announceTechToPlayers);
Code
5394void CvTeam::announceTechToPlayers(TechTypes eIndex, bool bPartial)5395{5396 CvTechEntry* pkTechInfo = GC.getTechInfo(eIndex);5397 if(pkTechInfo == NULL)5398 return;53995400 const char* szTechTextKey = pkTechInfo->GetTextKey();54015402 bool bSound = (GC.getGame().isNetworkMultiPlayer() && !bPartial);5403 for(int iI = 0; iI < MAX_PLAYERS; iI++)5404 {5405 const PlayerTypes ePlayer = static_cast<PlayerTypes>(iI);5406 CvPlayerAI& kPlayer = GET_PLAYER(ePlayer);54075408 if(kPlayer.isAlive() && kPlayer.getTeam() == GetID())5409 {5410 if(ePlayer == GC.getGame().getActivePlayer())5411 {5412 CvString strBuffer = GetLocalizedText((bPartial ? "TXT_KEY_MISC_PROGRESS_TOWARDS_TECH" : "TXT_KEY_MISC_YOU_DISCOVERED_TECH"), szTechTextKey);5413 DLLUI->AddMessage(0, ePlayer, false, (bSound ? GC.getEVENT_MESSAGE_TIME() : -1), strBuffer/*, (bSound ? GC.getTechInfo(eIndex)->GetSoundMP() : NULL), MESSAGE_TYPE_MAJOR_EVENT, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_TECH_TEXT")*/);5414 }5415 }5416 }5417}