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}