float pushdeltatime;
float str;
- if (self.active != ACTIVE_ACTIVE)
+ if (this.active != ACTIVE_ACTIVE)
return;
if (!isPushable(other))
EXACTTRIGGER_TOUCH;
- targ = find(world, targetname, self.target);
+ targ = find(NULL, targetname, this.target);
if(!targ)
{
- objerror("trigger_force without a (valid) .target!\n");
- remove(self);
+ objerror(this, "trigger_force without a (valid) .target!\n");
+ remove(this);
return;
}
#ifdef SVQC
- str = min(self.radius, vlen(self.origin - other.origin));
+ str = min(this.radius, vlen(this.origin - other.origin));
#elif defined(CSQC)
- str = min(self.radius, vlen(self.origin - other.move_origin));
+ str = min(this.radius, vlen(this.origin - other.move_origin));
#endif
- if(self.falloff == 1)
- str = (str / self.radius) * self.strength;
- else if(self.falloff == 2)
- str = (1 - (str / self.radius)) * self.strength;
+ if(this.falloff == 1)
+ str = (str / this.radius) * this.strength;
+ else if(this.falloff == 2)
+ str = (1 - (str / this.radius)) * this.strength;
else
- str = self.strength;
+ str = this.strength;
pushdeltatime = time - other.lastpushtime;
if (pushdeltatime > 0.15) pushdeltatime = 0;
other.lastpushtime = time;
if(!pushdeltatime) return;
- if(self.spawnflags & 64)
+ if(this.spawnflags & 64)
{
#ifdef SVQC
- float addspeed = str - other.velocity * normalize(targ.origin - self.origin);
+ float addspeed = str - other.velocity * normalize(targ.origin - this.origin);
if (addspeed > 0)
{
float accelspeed = min(8 * pushdeltatime * str, addspeed);
- other.velocity += accelspeed * normalize(targ.origin - self.origin);
+ other.velocity += accelspeed * normalize(targ.origin - this.origin);
}
#elif defined(CSQC)
- float addspeed = str - other.move_velocity * normalize(targ.origin - self.origin);
+ float addspeed = str - other.move_velocity * normalize(targ.origin - this.origin);
if (addspeed > 0)
{
float accelspeed = min(8 * pushdeltatime * str, addspeed);
- other.move_velocity += accelspeed * normalize(targ.origin - self.origin);
+ other.move_velocity += accelspeed * normalize(targ.origin - this.origin);
}
#endif
}
else
#ifdef SVQC
- other.velocity = other.velocity + normalize(targ.origin - self.origin) * str * pushdeltatime;
+ other.velocity = other.velocity + normalize(targ.origin - this.origin) * str * pushdeltatime;
#elif defined(CSQC)
- other.move_velocity = other.move_velocity + normalize(targ.origin - self.origin) * str * pushdeltatime;
+ other.move_velocity = other.move_velocity + normalize(targ.origin - this.origin) * str * pushdeltatime;
#endif
#ifdef SVQC
{
float pushdeltatime;
- if (self.active != ACTIVE_ACTIVE)
+ if (this.active != ACTIVE_ACTIVE)
return;
if (!isPushable(other))
// div0: ticrate independent, 1 = identity (not 20)
#ifdef SVQC
- other.velocity = other.velocity * pow(self.strength, pushdeltatime);
+ other.velocity = other.velocity * pow(this.strength, pushdeltatime);
UpdateCSQCProjectile(other);
#elif defined(CSQC)
- other.move_velocity = other.move_velocity * pow(self.strength, pushdeltatime);
+ other.move_velocity = other.move_velocity * pow(this.strength, pushdeltatime);
#endif
}
float pushdeltatime;
float str;
- if (self.active != ACTIVE_ACTIVE)
+ if (this.active != ACTIVE_ACTIVE)
return;
if (!isPushable(other))
other.lastpushtime = time;
if(!pushdeltatime) return;
- setsize(self, '-1 -1 -1' * self.radius,'1 1 1' * self.radius);
+ setsize(this, '-1 -1 -1' * this.radius,'1 1 1' * this.radius);
#ifdef SVQC
- str = min(self.radius, vlen(self.origin - other.origin));
+ str = min(this.radius, vlen(this.origin - other.origin));
#elif defined(CSQC)
- str = min(self.radius, vlen(self.origin - other.move_origin));
+ str = min(this.radius, vlen(this.origin - other.move_origin));
#endif
- if(self.falloff == 1)
- str = (1 - str / self.radius) * self.strength; // 1 in the inside
- else if(self.falloff == 2)
- str = (str / self.radius) * self.strength; // 0 in the inside
+ if(this.falloff == 1)
+ str = (1 - str / this.radius) * this.strength; // 1 in the inside
+ else if(this.falloff == 2)
+ str = (str / this.radius) * this.strength; // 0 in the inside
else
- str = self.strength;
+ str = this.strength;
#ifdef SVQC
- other.velocity = other.velocity + normalize(other.origin - self.origin) * str * pushdeltatime;
+ other.velocity = other.velocity + normalize(other.origin - this.origin) * str * pushdeltatime;
UpdateCSQCProjectile(other);
#elif defined(CSQC)
- other.move_velocity = other.move_velocity + normalize(other.move_origin - self.origin) * str * pushdeltatime;
+ other.move_velocity = other.move_velocity + normalize(other.move_origin - this.origin) * str * pushdeltatime;
#endif
}