]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/triggers/trigger/impulse.qc
Merge branch 'master' into terencehill/hud_shake_fix
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / triggers / trigger / impulse.qc
index d45a82b53c41dc2450710f8bc2d3397ea4fbaadd..91381f4877c9954ccc54ca618640503cd32bd058 100644 (file)
@@ -5,7 +5,7 @@ void trigger_impulse_touch1(entity this)
        float pushdeltatime;
        float str;
 
-       if (self.active != ACTIVE_ACTIVE)
+       if (this.active != ACTIVE_ACTIVE)
                return;
 
        if (!isPushable(other))
@@ -13,55 +13,55 @@ void trigger_impulse_touch1(entity this)
 
        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
@@ -78,7 +78,7 @@ void trigger_impulse_touch2(entity this)
 {
        float pushdeltatime;
 
-       if (self.active != ACTIVE_ACTIVE)
+       if (this.active != ACTIVE_ACTIVE)
                return;
 
        if (!isPushable(other))
@@ -93,11 +93,11 @@ void trigger_impulse_touch2(entity this)
 
        // 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
 }
 
@@ -107,7 +107,7 @@ void trigger_impulse_touch3(entity this)
        float pushdeltatime;
        float str;
 
-       if (self.active != ACTIVE_ACTIVE)
+       if (this.active != ACTIVE_ACTIVE)
                return;
 
        if (!isPushable(other))
@@ -120,27 +120,27 @@ void trigger_impulse_touch3(entity this)
        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
 }