Bazaar developer reference

isBeforeUnitCycle(const CvUnit *, const CvUnit *)

Defined in
CvGameCoreUtils.cpp, line 195
Hook name
CivHooks::isBeforeUnitCycle

Hooks

static bool BeforeisBeforeUnitCycle(const CvUnit* pFirstUnit, const CvUnit* pSecondUnit, bool& result);static void AfterisBeforeUnitCycle(const CvUnit* pFirstUnit, const CvUnit* pSecondUnit, bool& result);static bool ReplaceisBeforeUnitCycle(bool (*original)(const CvUnit*, const CvUnit*), const CvUnit* pFirstUnit, const CvUnit* pSecondUnit);CivRegisterBefore<CivHooks::isBeforeUnitCycle>(host, &BeforeisBeforeUnitCycle);CivRegisterAfter<CivHooks::isBeforeUnitCycle>(host, &AfterisBeforeUnitCycle);CivRegisterReplace<CivHooks::isBeforeUnitCycle>(host, &ReplaceisBeforeUnitCycle);

Code

195bool isBeforeUnitCycle(const CvUnit* pFirstUnit, const CvUnit* pSecondUnit)196{197	CvAssert(pFirstUnit != NULL);198	CvAssert(pSecondUnit != NULL);199	CvAssert(pFirstUnit != pSecondUnit);200201	if(!pFirstUnit || !pSecondUnit)202		return false;203204	if(pFirstUnit->getOwner() != pSecondUnit->getOwner())205	{206		return (pFirstUnit->getOwner() < pSecondUnit->getOwner());207	}208209	if(pFirstUnit->getDomainType() != pSecondUnit->getDomainType())210	{211		return (pFirstUnit->getDomainType() < pSecondUnit->getDomainType());212	}213214	if(pFirstUnit->GetBaseCombatStrength() != pSecondUnit->GetBaseCombatStrength())215	{216		return (pFirstUnit->GetBaseCombatStrength() > pSecondUnit->GetBaseCombatStrength());217	}218219	if(pFirstUnit->getUnitType() != pSecondUnit->getUnitType())220	{221		return (pFirstUnit->getUnitType() > pSecondUnit->getUnitType());222	}223224	if(pFirstUnit->getLevel() != pSecondUnit->getLevel())225	{226		return (pFirstUnit->getLevel() > pSecondUnit->getLevel());227	}228229#if defined(MOD_UNITS_XP_TIMES_100)230	if (pFirstUnit->getExperienceTimes100() != pSecondUnit->getExperienceTimes100())231	{232		return (pFirstUnit->getExperienceTimes100() > pSecondUnit->getExperienceTimes100());233	}234#else235	if (pFirstUnit->getExperience() != pSecondUnit->getExperience())236	{237		return (pFirstUnit->getExperience() > pSecondUnit->getExperience());238	}239#endif240241	return (pFirstUnit->GetID() < pSecondUnit->GetID());242}

Calls

Called by