]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/vehicles/vehicles.qc
No more EF_LOWPRECISION, its effin fugly
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / vehicles / vehicles.qc
index 2062c1726befd18afe0b667ae6ad0ecbd871e0b7..20f731db2bb2cbd88f6426c3948565bf69d70b81 100644 (file)
@@ -628,6 +628,7 @@ void vehicles_exit(float eject)
         setorigin(self.owner.flagcarried, FLAG_CARRY_POS);
     }
     
+    sound (self, CHAN_TRIGGER, "misc/null.wav", 1, ATTN_NORM);
     self.vehicle_exit(eject);
     self.owner = world;
     
@@ -662,6 +663,30 @@ void shieldhit_think()
     }
 }
 
+void vehicles_painframe()
+{
+//.float       pain_finished;                  //Added by Supajoe
+    
+    if(self.owner.vehicle_health <= 50)
+    if(self.pain_frame < time)
+    {  
+        float _ftmp;  
+        _ftmp = self.owner.vehicle_health / 50;
+        self.pain_frame = time + 0.1 + (random() * 0.5 * _ftmp);
+        pointparticles(particleeffectnum("smoke_small"), (self.origin + (randomvec() * 80)), '0 0 0', 1);
+        
+        if(self.vehicle_flags & VHF_DMGSHAKE)
+            self.velocity += randomvec() * 30;
+        
+        if(self.vehicle_flags & VHF_DMGROLL)
+            if(self.vehicle_flags & VHF_DMGHEADROLL)
+                self.tur_head.angles += randomvec();
+            else
+                self.angles += randomvec();
+        
+    }    
+}
+
 void vehicles_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
 {
     self.dmg_time = time;
@@ -785,8 +810,7 @@ void vehicles_showwp()
     
     WaypointSprite_Spawn("vehicle", 0, 0, self, '0 0 64', world, 0, self, waypointsprite_attached, TRUE);
     if(self.waypointsprite_attached)
-    {
-        
+    {        
         if(teamplay && self.team)
             WaypointSprite_UpdateTeamRadar(self.waypointsprite_attached, RADARICON_POWERUP, TeamColor(self.team));
         else
@@ -794,10 +818,7 @@ void vehicles_showwp()
         
         WaypointSprite_UpdateRule(self.waypointsprite_attached, self.enemy.team, SPRITERULE_DEFAULT);        
         if(oldself == world)
-        {
             WaypointSprite_UpdateBuildFinished(self.waypointsprite_attached, self.nextthink);        
-            dprint("Oldies is goldies\n");
-        }
             
         WaypointSprite_Ping(self.waypointsprite_attached);
     }    
@@ -867,7 +888,7 @@ void vehicles_reset_colors()
     {
         if(e != self.vehicle_shieldent)
         {
-            e.effects   = _effects  | EF_LOWPRECISION;
+            e.effects   = _effects; //  | EF_LOWPRECISION;
             e.colormod  = _colormod;
             e.colormap  = _colormap;
             e.alpha     = 1;
@@ -875,7 +896,7 @@ void vehicles_reset_colors()
         e = e.chain;
     }
 
-    self.vehicle_hudmodel.effects  = self.effects  = _effects | EF_LOWPRECISION;
+    self.vehicle_hudmodel.effects  = self.effects  = _effects; // | EF_LOWPRECISION;
     self.vehicle_hudmodel.colormod = self.colormod = _colormod;
     self.vehicle_hudmodel.colormap = self.colormap = _colormap;
     self.vehicle_viewport.effects = (EF_ADDITIVE | EF_DOUBLESIDED | EF_FULLBRIGHT | EF_NODEPTHTEST | EF_NOGUNBOB | EF_NOSHADOW | EF_LOWPRECISION | EF_SELECTABLE | EF_TELEPORT_BIT);
@@ -932,7 +953,7 @@ float vehicle_initialize(string  net_name,
         self.team = 0;
 
     self.vehicle_flags |= VHF_ISVEHICLE;
-
+    
     setmodel(self, bodymodel);
 
     self.vehicle_viewport   = spawn();