Bazaar developer reference

CvGame::GetResearchAgreementCost(PlayerTypes, PlayerTypes)

Defined in
CvGame.cpp, line 10631
Class
CvGame
Hook name
CivHooks::CvGame_GetResearchAgreementCost

Hooks

static bool BeforeCvGame_GetResearchAgreementCost(CvGame* self, PlayerTypes ePlayer1, PlayerTypes ePlayer2, int& result);static void AfterCvGame_GetResearchAgreementCost(CvGame* self, PlayerTypes ePlayer1, PlayerTypes ePlayer2, int& result);static int ReplaceCvGame_GetResearchAgreementCost(int (*original)(CvGame*, PlayerTypes, PlayerTypes), CvGame* self, PlayerTypes ePlayer1, PlayerTypes ePlayer2);CivRegisterBefore<CivHooks::CvGame_GetResearchAgreementCost>(host, &BeforeCvGame_GetResearchAgreementCost);CivRegisterAfter<CivHooks::CvGame_GetResearchAgreementCost>(host, &AfterCvGame_GetResearchAgreementCost);CivRegisterReplace<CivHooks::CvGame_GetResearchAgreementCost>(host, &ReplaceCvGame_GetResearchAgreementCost);

Code

10631int CvGame::GetResearchAgreementCost(PlayerTypes ePlayer1, PlayerTypes ePlayer2)10632{10633	CvAssertMsg(ePlayer1 > NO_PLAYER, "Invalid player. Please show Jon this.");10634	CvAssertMsg(ePlayer1 <= MAX_MAJOR_CIVS, "Invalid player. Please show Jon this.");10635	CvAssertMsg(ePlayer2 > NO_PLAYER, "Invalid player. Please show Jon this.");10636	CvAssertMsg(ePlayer2 <= MAX_MAJOR_CIVS, "Invalid player. Please show Jon this.");1063710638	EraTypes ePlayer1Era = GET_TEAM(GET_PLAYER(ePlayer1).getTeam()).GetCurrentEra();10639	EraTypes ePlayer2Era = GET_TEAM(GET_PLAYER(ePlayer2).getTeam()).GetCurrentEra();10640	EraTypes eHighestEra = max(ePlayer1Era, ePlayer2Era);1064110642	int iCost = GC.getEraInfo(eHighestEra)->getResearchAgreementCost();1064310644	iCost *= getGameSpeedInfo().getGoldPercent();10645	iCost /= 100;1064610647	return iCost;10648}

Calls

Called by