Bazaar developer reference

CvUnit::isNukeVictim(const CvPlot *, TeamTypes) const

Defined in
CvUnit.cpp, line 6406
Class
CvUnit
Hook name
CivHooks::CvUnit_isNukeVictim

Hooks

static bool BeforeCvUnit_isNukeVictim(const CvUnit* self, const CvPlot* pPlot, TeamTypes eTeam, bool& result);static void AfterCvUnit_isNukeVictim(const CvUnit* self, const CvPlot* pPlot, TeamTypes eTeam, bool& result);static bool ReplaceCvUnit_isNukeVictim(bool (*original)(const CvUnit*, const CvPlot*, TeamTypes), const CvUnit* self, const CvPlot* pPlot, TeamTypes eTeam);CivRegisterBefore<CivHooks::CvUnit_isNukeVictim>(host, &BeforeCvUnit_isNukeVictim);CivRegisterAfter<CivHooks::CvUnit_isNukeVictim>(host, &AfterCvUnit_isNukeVictim);CivRegisterReplace<CivHooks::CvUnit_isNukeVictim>(host, &ReplaceCvUnit_isNukeVictim);

Code

6406bool CvUnit::isNukeVictim(const CvPlot* pPlot, TeamTypes eTeam) const6407{6408	VALIDATE_OBJECT6409	CvPlot* pLoopPlot;6410	int iDX, iDY;64116412	if(!(GET_TEAM(eTeam).isAlive()))6413	{6414		return false;6415	}64166417	if(eTeam == getTeam())6418	{6419		return false;6420	}64216422	int iBlastRadius = /*2*/ GC.getNUKE_BLAST_RADIUS();64236424	for(iDX = -(iBlastRadius); iDX <= iBlastRadius; iDX++)6425	{6426		for(iDY = -(iBlastRadius); iDY <= iBlastRadius; iDY++)6427		{6428			pLoopPlot	= plotXYWithRangeCheck(pPlot->getX(), pPlot->getY(), iDX, iDY, iBlastRadius);64296430			if(pLoopPlot != NULL)6431			{6432				if(pLoopPlot->getTeam() == eTeam)6433				{6434					return true;6435				}64366437				if(pLoopPlot->plotCheck(PUF_isCombatTeam, eTeam, getTeam()) != NULL)6438				{6439					return true;6440				}6441			}6442		}6443	}64446445	return false;6446}

Calls

Called by