]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/sv_main.qc
Merge branch 'master' into terencehill/vehicles_fixes
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / sv_main.qc
index e22cba6bbf773ac645c04ac2e793f994d9e081af..84fcb63783ec7e6e3e5f290ae9f7ea690dfd4f47 100644 (file)
@@ -61,7 +61,7 @@ void CreatureFrame (void)
                                                if (self.watersound_finished < time)
                                                {
                                                        self.watersound_finished = time + 0.5;
-                                                       sound (self, CH_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM);
+                                                       sound (self, CH_PLAYER, "player/lava.wav", VOL_BASE, ATTEN_NORM);
                                                }
                                                Damage (self, world, world, autocvar_g_balance_contents_playerdamage_lava * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
                                        }
@@ -70,7 +70,7 @@ void CreatureFrame (void)
                                                if (self.watersound_finished < time)
                                                {
                                                        self.watersound_finished = time + 0.5;
-                                                       sound (self, CH_PLAYER, "player/slime.wav", VOL_BASE, ATTN_NORM);
+                                                       sound (self, CH_PLAYER, "player/slime.wav", VOL_BASE, ATTEN_NORM);
                                                }
                                                Damage (self, world, world, autocvar_g_balance_contents_playerdamage_slime * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
                                        }
@@ -82,7 +82,7 @@ void CreatureFrame (void)
                        if (self.flags & FL_INWATER)
                        {
                                // play leave water sound
-                               self.flags &~= FL_INWATER;
+                               self.flags &= ~FL_INWATER;
                                self.dmgtime = 0;
                        }
                        self.air_finished = time + 12;
@@ -93,7 +93,7 @@ void CreatureFrame (void)
                {
                        // check for falling damage
                        float velocity_len = vlen(self.velocity);
-                       if(!self.hook.state && !g_ca && !(g_cts && !autocvar_g_cts_selfdamage))
+                       if(!self.hook.state && !(g_cts && !autocvar_g_cts_selfdamage))
                        {
                                dm = vlen(self.oldvelocity) - velocity_len; // dm is now the velocity DECREASE. Velocity INCREASE should never cause a sound or any damage.
                                if (self.deadflag)
@@ -106,6 +106,34 @@ void CreatureFrame (void)
 
                        if(autocvar_g_maxspeed > 0 && velocity_len > autocvar_g_maxspeed)
                                Damage (self, world, world, 100000, DEATH_SHOOTING_STAR, self.origin, '0 0 0');
+                       // play stupid sounds
+                       if (g_footsteps)
+                       if (!gameover)
+                       if (self.flags & FL_ONGROUND)
+                       if (velocity_len > autocvar_sv_maxspeed * 0.6)
+                       if (!self.deadflag)
+                       if (time < self.lastground + 0.2)
+                       {
+                               if((time > self.nextstep) || (time < (self.nextstep - 10.0)))
+                               {
+                                       self.nextstep = time + 0.3 + random() * 0.1;
+                                       trace_dphitq3surfaceflags = 0;
+                                       tracebox(self.origin, self.mins, self.maxs, self.origin - '0 0 1', MOVE_NOMONSTERS, self);
+                                       /*
+                                       if(trace_fraction == 1)
+                                               dprint("nohit\n");
+                                       else
+                                               dprint(ftos(trace_dphitq3surfaceflags), "\n");
+                                       */
+                                       if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
+                                       {
+                                               if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
+                                                       GlobalSound(globalsound_metalstep, CH_PLAYER, VOICETYPE_PLAYERSOUND);
+                                               else
+                                                       GlobalSound(globalsound_step, CH_PLAYER, VOICETYPE_PLAYERSOUND);
+                                       }
+                               }
+                       }
                }
                
         self.oldvelocity = self.velocity;