Bazaar developer reference

PUF_canDeclareWar(const CvUnit *, int, int)

Defined in
CvGameCoreUtils.cpp, line 778
Hook name
CivHooks::PUF_canDeclareWar

Hooks

static bool BeforePUF_canDeclareWar(const CvUnit* pUnit, int iData1, int iData2, bool& result);static void AfterPUF_canDeclareWar(const CvUnit* pUnit, int iData1, int iData2, bool& result);static bool ReplacePUF_canDeclareWar(bool (*original)(const CvUnit*, int, int), const CvUnit* pUnit, int iData1, int iData2);CivRegisterBefore<CivHooks::PUF_canDeclareWar>(host, &BeforePUF_canDeclareWar);CivRegisterAfter<CivHooks::PUF_canDeclareWar>(host, &AfterPUF_canDeclareWar);CivRegisterReplace<CivHooks::PUF_canDeclareWar>(host, &ReplacePUF_canDeclareWar);

Code

778bool PUF_canDeclareWar(const CvUnit* pUnit, int iData1, int iData2)779{780	CvAssertMsg(iData1 != -1, "Invalid data argument, should be >= 0");781	CvAssertMsg(iData2 != -1, "Invalid data argument, should be >= 0");782783	TeamTypes eOtherTeam = GET_PLAYER((PlayerTypes)iData1).getTeam();784	TeamTypes eOurTeam = GET_PLAYER(pUnit->getCombatOwner(eOtherTeam, *(pUnit->plot()))).getTeam();785786	if(pUnit->canCoexistWithEnemyUnit(eOtherTeam))787	{788		return false;789	}790791#if defined(MOD_EVENTS_WAR_AND_PEACE)792	return (iData2 ? false : GET_TEAM(eOtherTeam).canDeclareWar(eOurTeam, (PlayerTypes)iData1));793#else794	return (iData2 ? false : GET_TEAM(eOtherTeam).canDeclareWar(eOurTeam));795#endif796}

Calls

Called by