示例#1
0
CBotSpySapBuildingSched :: CBotSpySapBuildingSched ( edict_t *pBuilding, eEngiBuild id )
{
	CFindPathTask *findpath = new CFindPathTask(pBuilding);

	addTask(findpath); // first
	addTask(new CBotTF2SpySap(pBuilding,id)); // second

	findpath->setDangerPoint(CWaypointLocations::NearestWaypoint(CBotGlobals::entityOrigin(pBuilding),200.0f,-1));
}
示例#2
0
CBotAttackPointSched :: CBotAttackPointSched ( Vector vPoint, int iRadius, int iArea, bool bHasRoute, Vector vRoute, bool bNest, edict_t *pLastEnemySentry )
{
	int iDangerWpt = -1;

	if ( pLastEnemySentry != NULL )
		iDangerWpt = CWaypointLocations::NearestWaypoint(CBotGlobals::entityOrigin(pLastEnemySentry),200.0f,-1,true,true);

	// First find random route 
	if ( bHasRoute )
	{
		CFindPathTask *toRoute = new CFindPathTask(vRoute);
		addTask(toRoute); // first
		toRoute->setDangerPoint(iDangerWpt);

		if ( bNest )
			addTask(new CBotNest());
	}

	CFindPathTask *toPoint = new CFindPathTask(vPoint);
	addTask(toPoint); // second / first
	toPoint->setDangerPoint(iDangerWpt);
	addTask(new CBotTF2AttackPoint(iArea,vPoint,iRadius)); // third / second 
}