Bazaar developer reference

CvPlayer::changeGoldenAgeTurns(int)

Defined in
CvPlayer.cpp, line 13764
Class
CvPlayer
Hook name
CivHooks::CvPlayer_changeGoldenAgeTurns
Lua events
GameEvents.PlayerGoldenAge

Hooks

static bool BeforeCvPlayer_changeGoldenAgeTurns(CvPlayer* self, int iChange);static void AfterCvPlayer_changeGoldenAgeTurns(CvPlayer* self, int iChange);static void ReplaceCvPlayer_changeGoldenAgeTurns(void (*original)(CvPlayer*, int), CvPlayer* self, int iChange);CivRegisterBefore<CivHooks::CvPlayer_changeGoldenAgeTurns>(host, &BeforeCvPlayer_changeGoldenAgeTurns);CivRegisterAfter<CivHooks::CvPlayer_changeGoldenAgeTurns>(host, &AfterCvPlayer_changeGoldenAgeTurns);CivRegisterReplace<CivHooks::CvPlayer_changeGoldenAgeTurns>(host, &ReplaceCvPlayer_changeGoldenAgeTurns);

Code

13764void CvPlayer::changeGoldenAgeTurns(int iChange)13765{13766	Localization::String locString;13767	Localization::String locSummaryString;1376813769	bool bOldGoldenAge;1377013771	if(iChange != 0)13772	{13773		bOldGoldenAge = isGoldenAge();1377413775		m_iGoldenAgeTurns = (m_iGoldenAgeTurns + iChange);13776		CvAssert(getGoldenAgeTurns() >= 0);1377713778		if(bOldGoldenAge != isGoldenAge())13779		{13780			GC.getMap().updateYield();	// Do the entire map, so that any potential golden age bonus is reflected in the yield icons.1378113782			if(isGoldenAge())13783			{13784				ChangeNumGoldenAges(1);1378513786				locString = Localization::Lookup("TXT_KEY_NOTIFICATION_GOLDEN_AGE_BEGUN");13787				locString << getCivilizationAdjectiveKey();13788				GC.getGame().addReplayMessage(REPLAY_MESSAGE_MAJOR_EVENT, GetID(), locString.toUTF8(), -1, -1);1378913790				gDLL->GameplayGoldenAgeStarted();1379113792#if defined(MOD_EVENTS_GOLDEN_AGE)13793				if (MOD_EVENTS_GOLDEN_AGE) {13794					GAMEEVENTINVOKE_HOOK(GAMEEVENT_PlayerGoldenAge, GetID(), true, iChange);13795				}13796#endif13797			}13798			else13799			{13800				gDLL->GameplayGoldenAgeEnded();1380113802#if defined(MOD_EVENTS_GOLDEN_AGE)13803				if (MOD_EVENTS_GOLDEN_AGE) {13804					GAMEEVENTINVOKE_HOOK(GAMEEVENT_PlayerGoldenAge, GetID(), false, 0);13805				}13806#endif13807			}1380813809			CvNotifications* pNotifications = GetNotifications();13810			if(pNotifications)13811			{13812				NotificationTypes eNotification = NO_NOTIFICATION_TYPE;1381313814				if(isGoldenAge())13815				{13816					eNotification = NOTIFICATION_GOLDEN_AGE_BEGUN_ACTIVE_PLAYER;13817					locString = Localization::Lookup("TXT_KEY_NOTIFICATION_GOLDEN_AGE_BEGUN_ACTIVE_PLAYER");13818					locSummaryString = Localization::Lookup("TXT_KEY_NOTIFICATION_SUMMARY_GOLDEN_AGE_BEGUN_ACTIVE_PLAYER");13819				}13820				else13821				{13822					eNotification = NOTIFICATION_GOLDEN_AGE_ENDED_ACTIVE_PLAYER;13823					locString = Localization::Lookup("TXT_KEY_NOTIFICATION_GOLDEN_AGE_ENDED_ACTIVE_PLAYER");13824					locSummaryString = Localization::Lookup("TXT_KEY_NOTIFICATION_SUMMARY_GOLDEN_AGE_ENDED_ACTIVE_PLAYER");13825				}1382613827				pNotifications->Add(eNotification, locString.toUTF8(), locSummaryString.toUTF8(), -1, -1, -1);13828			}13829		}1383013831		if(GetID() == GC.getGame().getActivePlayer())13832		{13833			GC.GetEngineUserInterface()->setDirty(GameData_DIRTY_BIT, true);13834		}13835	}13836}

Calls

Called by