]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/ecs/systems/sv_physics.qc
Merge branch 'master' into martin-t/shuffleteams
[xonotic/xonotic-data.pk3dir.git] / qcsrc / ecs / systems / sv_physics.qc
index fe053a22eda17f17443e09ff2a5a34f415bcd49e..4973a182973a0f002b77691a8f93ba8133da09da 100644 (file)
@@ -6,15 +6,15 @@ void sys_phys_fix(entity this, float dt)
        Physics_UpdateStats(this, PHYS_HIGHSPEED(this));
 }
 
-bool sys_phys_override(entity this)
+bool sys_phys_override(entity this, float dt)
 {
        int buttons = PHYS_INPUT_BUTTON_MASK(this);
        if (PM_check_specialcommand(this, buttons)) { return true; }
-       if (this.PlayerPhysplug && this.PlayerPhysplug(this)) { return true; }
+       if (this.PlayerPhysplug && this.PlayerPhysplug(this, dt)) { return true; }
        return false;
 }
 
-void sys_phys_monitor(entity this)
+void sys_phys_monitor(entity this, float dt)
 {
        int buttons = PHYS_INPUT_BUTTON_MASK(this);
        anticheat_physics(this);
@@ -24,7 +24,7 @@ void sys_phys_monitor(entity this)
                    || this.v_angle != this.v_angle_old) { this.parm_idlesince = time; }
        }
        PM_check_nickspam(this);
-       PM_check_punch(this);
+       PM_check_punch(this, dt);
 }
 
 void sys_phys_ai(entity this)
@@ -37,7 +37,7 @@ void sys_phys_ai(entity this)
 void sys_phys_pregame_hold(entity this)
 {
        if (!IS_PLAYER(this)) { return; }
-       const bool allowed_to_move = (time >= game_starttime);
+       const bool allowed_to_move = (time >= game_starttime && !gameover);
        if (!allowed_to_move) {
                this.velocity = '0 0 0';
                set_movetype(this, MOVETYPE_NONE);