X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fsv_main.qc;h=84fcb63783ec7e6e3e5f290ae9f7ea690dfd4f47;hb=105c4e2c93cadac6c8b09a998333e2f5fe11a533;hp=e22cba6bbf773ac645c04ac2e793f994d9e081af;hpb=5d4c4e0d5ffc50d7e10c0a355988eebeff3b065b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/sv_main.qc b/qcsrc/server/sv_main.qc index e22cba6bb..84fcb6378 100644 --- a/qcsrc/server/sv_main.qc +++ b/qcsrc/server/sv_main.qc @@ -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;