Bazaar developer reference

CvDiplomacyAI::DoUpdateWonderDisputeLevels()

Defined in
CvDiplomacyAI.cpp, line 8843
Class
CvDiplomacyAI
Hook name
CivHooks::CvDiplomacyAI_DoUpdateWonderDisputeLevels

Hooks

static bool BeforeCvDiplomacyAI_DoUpdateWonderDisputeLevels(CvDiplomacyAI* self);static void AfterCvDiplomacyAI_DoUpdateWonderDisputeLevels(CvDiplomacyAI* self);static void ReplaceCvDiplomacyAI_DoUpdateWonderDisputeLevels(void (*original)(CvDiplomacyAI*), CvDiplomacyAI* self);CivRegisterBefore<CivHooks::CvDiplomacyAI_DoUpdateWonderDisputeLevels>(host, &BeforeCvDiplomacyAI_DoUpdateWonderDisputeLevels);CivRegisterAfter<CivHooks::CvDiplomacyAI_DoUpdateWonderDisputeLevels>(host, &AfterCvDiplomacyAI_DoUpdateWonderDisputeLevels);CivRegisterReplace<CivHooks::CvDiplomacyAI_DoUpdateWonderDisputeLevels>(host, &ReplaceCvDiplomacyAI_DoUpdateWonderDisputeLevels);

Code

8842/// Updates what is our level of Dispute with a player is over Wonder8843void CvDiplomacyAI::DoUpdateWonderDisputeLevels()8844{8845	PlayerTypes ePlayer;88468847	DisputeLevelTypes eDisputeLevel;88488849	int iWonderDisputeWeight;88508851	// Loop through all (known) Players8852	for(int iPlayerLoop = 0; iPlayerLoop < MAX_CIV_PLAYERS; iPlayerLoop++)8853	{8854		ePlayer = (PlayerTypes) iPlayerLoop;88558856		if(IsPlayerValid(ePlayer))8857		{8858			eDisputeLevel = DISPUTE_LEVEL_NONE;88598860			iWonderDisputeWeight = GetNumWondersBeatenTo(ePlayer);88618862			// Add weight for Player's competitiveness (0 - 10)8863			iWonderDisputeWeight *= GetWonderCompetitiveness();88648865			// Now See what our new Dispute Level should be8866			if(iWonderDisputeWeight >= /*10*/ GC.getWONDER_DISPUTE_FIERCE_THRESHOLD())8867				eDisputeLevel = DISPUTE_LEVEL_FIERCE;8868			else if(iWonderDisputeWeight >= /*7*/ GC.getWONDER_DISPUTE_STRONG_THRESHOLD())8869				eDisputeLevel = DISPUTE_LEVEL_STRONG;8870			else if(iWonderDisputeWeight >= /*5*/ GC.getWONDER_DISPUTE_WEAK_THRESHOLD())8871				eDisputeLevel = DISPUTE_LEVEL_WEAK;88728873			// Actually set the Level8874			SetWonderDisputeLevel(ePlayer, eDisputeLevel);8875		}8876	}8877}

Calls

Called by