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}