]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/projectile.qc
Add cvars for bouncefactor/bouncestop of GL secondary
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / projectile.qc
index 97debdfacd388320f8ea8e9b325685c17b102a07..b22a5b9dbd1242e952ca26ff79ac4dc2bdcde629 100644 (file)
@@ -158,9 +158,11 @@ void Ent_RemoveProjectile()
        }
 }
 
+.float bouncefactor;
+.float bouncestop;
 void Ent_Projectile()
 {
-       float f;
+       float f, s;
 
        // projectile properties:
        //   kind (interpolated, or clientside)
@@ -215,8 +217,18 @@ void Ent_Projectile()
                        self.velocity_z = ReadCoord();
                        self.gravity = ReadCoord();
 
+                       s = ReadByte();
+
+                       if (s & 1)
+                       {
+                               self.bouncefactor = ReadCoord();
+                               self.bouncestop = ReadCoord();
+                       }
+
                        self.move_origin = self.origin;
                        self.move_velocity = self.velocity;
+                       self.move_bounce_factor = self.bouncefactor;
+                       self.move_bounce_stopspeed = self.bouncestop;
                }
 
                if(time == self.spawntime || (self.count & 0x80) || (f & 0x10))
@@ -249,14 +261,14 @@ void Ent_Projectile()
                self.traileffect = 0;
                switch(self.cnt)
                {
-                       case PROJECTILE_ELECTRO: setmodel(self, "models/ebomb.mdl");self.traileffect = particleeffectnum("TR_XONOTICPLASMA"); break;
+                       case PROJECTILE_ELECTRO: setmodel(self, "models/ebomb.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
                        case PROJECTILE_ROCKET: setmodel(self, "models/rocket.md3");self.traileffect = particleeffectnum("TR_ROCKET"); self.scale = 2; break;
                        case PROJECTILE_BULLET: setmodel(self, "models/tracer.mdl");self.traileffect = particleeffectnum("tr_bullet"); break;
                        case PROJECTILE_BULLET_GLOWING: setmodel(self, "models/tracer.mdl");self.traileffect = particleeffectnum("tr_bullet"); break;
                        case PROJECTILE_BULLET_GLOWING_TRACER: setmodel(self, "models/tracer.mdl");self.traileffect = particleeffectnum("tr_rifle"); break;
                        case PROJECTILE_CRYLINK: setmodel(self, "models/plasmatrail.mdl");self.traileffect = particleeffectnum("TR_CRYLINKPLASMA"); break;
                        case PROJECTILE_CRYLINK_BOUNCING: setmodel(self, "models/plasmatrail.mdl");self.traileffect = particleeffectnum("TR_CRYLINKPLASMA"); break;
-                       case PROJECTILE_ELECTRO_BEAM: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_XONOTICPLASMA"); break;
+                       case PROJECTILE_ELECTRO_BEAM: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break;
                        case PROJECTILE_GRENADE: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_GRENADE"); break;
                        case PROJECTILE_GRENADE_BOUNCING: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_GRENADE"); break;
                        case PROJECTILE_LASER: setmodel(self, "models/laser.mdl");self.traileffect = particleeffectnum(""); break;