]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Handle force reduction by damageforcescale for vehicles
authorJakob MG <jakob_mg@hotmail.com>
Wed, 15 Aug 2012 21:08:02 +0000 (23:08 +0200)
committerJakob MG <jakob_mg@hotmail.com>
Wed, 15 Aug 2012 21:08:02 +0000 (23:08 +0200)
qcsrc/server/vehicles/bumblebee.qc
qcsrc/server/vehicles/racer.qc
qcsrc/server/vehicles/raptor.qc
qcsrc/server/vehicles/spiderbot.qc
qcsrc/server/vehicles/vehicles.qc

index 028aac66bea33bfe4fc12aae192d2d0ac0ff4033..0d2538d77bdaf44b7337bb3c2deeebd313f7c47d 100644 (file)
@@ -800,6 +800,8 @@ void bumb_spawn(float _f)
        self.solid          = SOLID_BBOX;
        self.movetype           = MOVETYPE_BOUNCEMISSILE;
        self.vehicle_impact = bumb_impact;
+       self.damageforcescale = 0.025;
+       
        setorigin(self, self.origin + '0 0 25');
 }
 
index ff129a4e48c85d68a55dd615b18098cb61f09fb0..792be585023d064650cad8f9360b771d1d16a4f0 100644 (file)
@@ -623,6 +623,7 @@ void racer_spawn(float _spawnflag)
     self.bouncefactor = autocvar_g_vehicle_racer_bouncefactor;
     self.bouncestop = autocvar_g_vehicle_racer_bouncestop;
     self.vehicle_impact = racer_impact;
+    self.damageforcescale = 0.5;
     //self.destvec = autocvar_g_vehicle_racer_bouncepain;
 }
 
index c47c0ca3ad16f59a11f38d693a794bb26c461bf1..a623bd540727afbe8f054c6b7fb65ec277004e14 100644 (file)
@@ -876,6 +876,7 @@ void raptor_spawn(float _f)
     self.bouncefactor = autocvar_g_vehicle_raptor_bouncefactor;
     self.bouncestop = autocvar_g_vehicle_raptor_bouncestop;    
     self.vehicle_impact = raptor_impact;    
+    self.damageforcescale = 0.25;
 }
 
 void spawnfunc_vehicle_raptor()
index 9906f527129ca9aad9b10e785352a2c26c6cfc88..71e57a037f88213efee91d2f8a7091607c3abfe9 100644 (file)
@@ -809,11 +809,12 @@ void spiderbot_spawn(float _f)
     self.movetype           = MOVETYPE_WALK;
     self.solid              = SOLID_SLIDEBOX;
     self.alpha              = self.tur_head.alpha = self.gun1.alpha = self.gun2.alpha = 1;
-    self.tur_head.angles    = '0 0 0';
+    self.tur_head.angles    = '0 0 0';    
 
     setorigin(self, self.pos1 + '0 0 128');
     self.angles = self.pos2;
     self.vehicle_impact = spider_impact;
+    self.damageforcescale = 0.03;
 }
 
 void spawnfunc_vehicle_spiderbot()
index 663921b208ef2941289618616ccfb8a0b173eec6..84de8f4a0e0006511eb21735bc4e6a6b42076cb2 100644 (file)
@@ -946,8 +946,11 @@ void vehicles_damage(entity inflictor, entity attacker, float damage, float deat
         if(sound_allowed(MSG_BROADCAST, attacker))
             spamsound (self, CH_PAIN, "onslaught/ons_hit2.wav", VOL_BASE, ATTN_NORM);  // FIXME: PLACEHOLDER
     }
-
-    self.velocity += force; // * (vlen(force) / self.mass);
+    
+       if(self.damageforcescale < 1 && self.damageforcescale > 0)
+               self.velocity += force * self.damageforcescale;
+       else
+               self.velocity += force;
 
     if(self.vehicle_health <= 0)
     {