Bazaar developer reference

CvMinorCivAI::DoUpdateAlliesResourceBonus(PlayerTypes, PlayerTypes)

Defined in
CvMinorCivAI.cpp, line 6433
Class
CvMinorCivAI
Hook name
CivHooks::CvMinorCivAI_DoUpdateAlliesResourceBonus

Hooks

static bool BeforeCvMinorCivAI_DoUpdateAlliesResourceBonus(CvMinorCivAI* self, PlayerTypes eNewAlly, PlayerTypes eOldAlly);static void AfterCvMinorCivAI_DoUpdateAlliesResourceBonus(CvMinorCivAI* self, PlayerTypes eNewAlly, PlayerTypes eOldAlly);static void ReplaceCvMinorCivAI_DoUpdateAlliesResourceBonus(void (*original)(CvMinorCivAI*, PlayerTypes, PlayerTypes), CvMinorCivAI* self, PlayerTypes eNewAlly, PlayerTypes eOldAlly);CivRegisterBefore<CivHooks::CvMinorCivAI_DoUpdateAlliesResourceBonus>(host, &BeforeCvMinorCivAI_DoUpdateAlliesResourceBonus);CivRegisterAfter<CivHooks::CvMinorCivAI_DoUpdateAlliesResourceBonus>(host, &AfterCvMinorCivAI_DoUpdateAlliesResourceBonus);CivRegisterReplace<CivHooks::CvMinorCivAI_DoUpdateAlliesResourceBonus>(host, &ReplaceCvMinorCivAI_DoUpdateAlliesResourceBonus);

Code

6432/// Update Best Relations Resource Bonus6433void CvMinorCivAI::DoUpdateAlliesResourceBonus(PlayerTypes eNewAlly, PlayerTypes eOldAlly)6434{6435	FAssertMsg(eNewAlly != NO_PLAYER || eOldAlly != NO_PLAYER, "MINOR CIV AI: Updating Allied resource bonus and both players are not defined!");64366437	// Change gifted Resources6438	ResourceTypes eResource;6439	ResourceUsageTypes eUsage;6440	int iResourceQuantity;6441	for(int iResourceLoop = 0; iResourceLoop < GC.getNumResourceInfos(); iResourceLoop++)6442	{6443		eResource = (ResourceTypes) iResourceLoop;64446445		const CvResourceInfo* pkResourceInfo = GC.getResourceInfo(eResource);6446		if (pkResourceInfo == NULL)6447			continue;64486449		eUsage = pkResourceInfo->getResourceUsage();64506451		if(eUsage == RESOURCEUSAGE_STRATEGIC || eUsage == RESOURCEUSAGE_LUXURY)6452		{6453			// Someone is losing the bonus :(6454			if(eOldAlly != NO_PLAYER)6455			{6456				iResourceQuantity = GetPlayer()->getResourceExport(eResource);64576458				if(iResourceQuantity > 0)6459				{6460					GET_PLAYER(eOldAlly).changeResourceFromMinors(eResource, -iResourceQuantity);6461					GetPlayer()->changeResourceExport(eResource, -iResourceQuantity);6462				}6463			}64646465			// Someone new is getting the bonus :D6466			if(eNewAlly != NO_PLAYER)6467			{6468				iResourceQuantity = GetPlayer()->getNumResourceTotal(eResource);64696470				if(iResourceQuantity > 0)6471				{6472					GET_PLAYER(eNewAlly).changeResourceFromMinors(eResource, iResourceQuantity);6473					GetPlayer()->changeResourceExport(eResource, iResourceQuantity);6474				}6475			}6476		}6477	}6478}

Calls

Called by