]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/physics/player.qc
Rename t_items.qc to items.qc
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / physics / player.qc
index 13fcc670f3225e87d1d941faaa906db6041b5145..2fd66af671f54ea1bb85cbde7f8b7a04f0d3ba7a 100644 (file)
@@ -56,10 +56,10 @@ void Physics_UpdateStats(entity this)
        bool q3dfcompat = autocvar_sv_q3defragcompat && autocvar_sv_q3defragcompat_changehitbox; // NOTE: these hitboxes are off by 1 due to engine differences
        STAT(PL_MIN, this) = (q3dfcompat) ? '-15 -15 -20' : autocvar_sv_player_mins;
        STAT(PL_MAX, this) = (q3dfcompat) ? '15 15 36' : autocvar_sv_player_maxs;
-       STAT(PL_VIEW_OFS, this) = (q3dfcompat) ? '0 0 26' : autocvar_sv_player_viewoffset;
+       STAT(PL_VIEW_OFS, this) = (q3dfcompat) ? '0 0 30' : autocvar_sv_player_viewoffset;
        STAT(PL_CROUCH_MIN, this) = (q3dfcompat) ? '-15 -15 -20' : autocvar_sv_player_crouch_mins;
        STAT(PL_CROUCH_MAX, this) = (q3dfcompat) ? '15 15 20' : autocvar_sv_player_crouch_maxs;
-       STAT(PL_CROUCH_VIEW_OFS, this) = (q3dfcompat) ? '0 0 12' : autocvar_sv_player_crouch_viewoffset;
+       STAT(PL_CROUCH_VIEW_OFS, this) = (q3dfcompat) ? '0 0 16' : autocvar_sv_player_crouch_viewoffset;
 
        // old stats
        // fix some new settings
@@ -325,6 +325,9 @@ bool PlayerJump(entity this)
        if (PHYS_FROZEN(this))
                return true; // no jumping in freezetag when frozen
 
+       if(PHYS_INPUT_BUTTON_CHAT(this) || PHYS_INPUT_BUTTON_MINIGAME(this))
+               return true; // no jumping while typing
+
 #ifdef SVQC
        if (this.player_blocked)
                return true; // no jumping while blocked
@@ -475,7 +478,7 @@ void CheckPlayerJump(entity this)
                bool playerjump = PlayerJump(this); // required
 
                bool air_jump = !playerjump || M_ARGV(2, bool);
-               bool activate = JETPACK_JUMP(this) && air_jump && PHYS_INPUT_BUTTON_JUMP(this) || PHYS_INPUT_BUTTON_JETPACK(this);
+               bool activate = (JETPACK_JUMP(this) && air_jump && PHYS_INPUT_BUTTON_JUMP(this)) || PHYS_INPUT_BUTTON_JETPACK(this);
                bool has_fuel = !PHYS_JETPACK_FUEL(this) || PHYS_AMMO_FUEL(this) || (ITEMS_STAT(this) & IT_UNLIMITED_AMMO);
 
                if (!(ITEMS_STAT(this) & ITEM_Jetpack.m_itemid)) { }
@@ -617,13 +620,6 @@ void PM_check_frozen(entity this)
        }
        else
                PHYS_CS(this).movement = '0 0 0';
-
-       if(this.waterlevel >= WATERLEVEL_SWIMMING)
-       {
-               this.velocity = this.velocity * 0.5;
-               if(this.waterlevel >= WATERLEVEL_SUBMERGED)
-                       this.velocity.z = 160;
-       }
 }
 
 void PM_check_hitground(entity this)
@@ -632,7 +628,7 @@ void PM_check_hitground(entity this)
        if (!this.wasFlying) return;
     this.wasFlying = false;
     if (this.waterlevel >= WATERLEVEL_SWIMMING) return;
-    if (time < this.ladder_time) return;
+    if (this.ladder_entity) return;
     for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
     {
        .entity weaponentity = weaponentities[slot];
@@ -687,6 +683,8 @@ void PM_check_slick(entity this)
 
 void PM_check_blocked(entity this)
 {
+       if(PHYS_INPUT_BUTTON_CHAT(this) || PHYS_INPUT_BUTTON_MINIGAME(this))
+               PHYS_CS(this).movement = '0 0 0';
 #ifdef SVQC
        if (!this.player_blocked)
                return;