+#include "steerlib.qh"
#if defined(CSQC)
#elif defined(MENUQC)
#elif defined(SVQC)
return direction * (1-(distance / maximal_distance));
}
-vector steerlib_attract2(vector point, float min_influense,float max_distance,float max_influense)
-{SELFPARAM();
+vector steerlib_attract2(entity this, vector point, float min_influense,float max_distance,float max_influense)
+{
float distance;
vector direction;
float influense;
- distance = bound(0.00001,vlen(self.origin - point),max_distance);
- direction = normalize(point - self.origin);
+ distance = bound(0.00001,vlen(this.origin - point),max_distance);
+ direction = normalize(point - this.origin);
influense = 1 - (distance / max_distance);
influense = min_influense + (influense * (max_influense - min_influense));
void spawn_flocker()
{SELFPARAM();
- entity flocker;
-
- flocker = spawn ();
+ entity flocker = new(flocker);
setorigin(flocker, self.origin + '0 0 32');
setmodel (flocker, MDL_FLOCKER);
setsize (flocker, '-3 -3 -3', '3 3 3');
flocker.flock_id = self.flock_id;
- flocker.classname = "flocker";
flocker.owner = self;
flocker.think = flocker_think;
flocker.nextthink = time + random() * 5;
self.angles_x = self.angles.x * -1;
if(self.enemy)
- if(vlen(self.enemy.origin - self.origin) < 64)
+ if(vdist(self.enemy.origin - self.origin, <, 64))
{
ee = self.enemy;
ee.health = -1;
self.think = flockerspawn_think;
self.nextthink = time + 0.25;
- self.enemy = spawn();
+ self.enemy = new(FLock Hunter);
setmodel(self.enemy, MDL_FLOCKER);
setorigin(self.enemy,self.origin + '0 0 768' + (randomvec() * 128));
- self.enemy.classname = "FLock Hunter";
self.enemy.scale = 3;
self.enemy.effects = EF_LOWPRECISION;
self.enemy.movetype = MOVETYPE_BOUNCEMISSILE;