X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fphysics%2Fplayer.qc;h=2fd66af671f54ea1bb85cbde7f8b7a04f0d3ba7a;hb=4eab3f0253a063bdbd4e1ff64c4b2b08077c44c4;hp=13fcc670f3225e87d1d941faaa906db6041b5145;hpb=b7873b3470e961ee95d5823de13a87a63e7e0f3b;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/physics/player.qc b/qcsrc/common/physics/player.qc index 13fcc670f..2fd66af67 100644 --- a/qcsrc/common/physics/player.qc +++ b/qcsrc/common/physics/player.qc @@ -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;