X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcl_impulse.qc;h=7446b7022a229c2c46589d7cfc9c1d92423a05c2;hb=9a6a0128b84883350982d582b14f5c25fa5a6881;hp=a4376bd418a101096d5fdf7d2e68c76070796578;hpb=d2aa2e833adeef6854046076d65472310ac9f542;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cl_impulse.qc b/qcsrc/server/cl_impulse.qc index a4376bd41..7446b7022 100644 --- a/qcsrc/server/cl_impulse.qc +++ b/qcsrc/server/cl_impulse.qc @@ -46,8 +46,9 @@ void ImpulseCommands (void) return; self.impulse = 0; - // forbid impulses when not in round time + // allow only weapon change impulses when not in round time if(round_handler_IsActive() && !round_handler_IsRoundStarted()) + if(imp == 17 || (imp >= 20 && imp < 200) || imp > 253) return; if (timeout_status == TIMEOUT_ACTIVE) //don't allow any impulses while the game is paused @@ -55,8 +56,8 @@ void ImpulseCommands (void) if(self.vehicle) if(self.vehicle.deadflag == DEAD_NO) - if(self.vehicle.vehicles_impusle) - if(self.vehicle.vehicles_impusle(imp)) + if(self.vehicle.vehicles_impulse) + if(self.vehicle.vehicles_impulse(imp)) return; if(CheatImpulse(imp)) @@ -67,8 +68,8 @@ void ImpulseCommands (void) // weapon switching impulses if(self.deadflag == DEAD_NO) W_NextWeaponOnImpulse(imp); - else - self.impulse = imp; // retry in next frame + //else + // self.impulse = imp; // retry in next frame } else if(imp >= 10 && imp <= 20) { @@ -77,37 +78,37 @@ void ImpulseCommands (void) switch(imp) { case 10: - W_NextWeapon (0); + W_NextWeapon(0); break; case 11: W_LastWeapon(); break; case 12: - W_PreviousWeapon (0); + W_PreviousWeapon(0); break; case 13: - W_SwitchWeapon (w_getbestweapon(self)); + W_SwitchWeapon(w_getbestweapon(self)); break; case 14: W_NextWeaponOnImpulse(0); break; case 15: - W_NextWeapon (2); + W_NextWeapon(2); break; case 16: - W_PreviousWeapon (2); + W_PreviousWeapon(2); break; case 17: W_ThrowWeapon(W_CalculateProjectileVelocity(self.velocity, v_forward * 750, FALSE), '0 0 0', TRUE); break; case 18: - W_NextWeapon (1); + W_NextWeapon(1); break; case 19: - W_PreviousWeapon (1); + W_PreviousWeapon(1); break; case 20: - W_TriggerReload (); + if(!forbidWeaponUse()) { WEP_ACTION(self.weapon, WR_RELOAD); } break; } } @@ -123,7 +124,7 @@ void ImpulseCommands (void) if(self.deadflag == DEAD_NO) { // custom order weapon cycling - i = mod(imp, 10); + i = imp % 10; m = (imp - (210 + i)); // <0 for prev, =0 for best, >0 for next W_CycleWeapon(self.(cvar_cl_weaponpriorities[i]), m); }