X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcl_weapons.qc;h=db79588cf503959ac3dd5e43ea3da31793ce55b9;hb=84ed74c67feac494d89a5e2b49ac3684ce8814a5;hp=04b656c9a134e0daf0ee956dff64e7dd5251b753;hpb=cd26b923d56f6a6e94366c1b3ede890c489efe06;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cl_weapons.qc b/qcsrc/server/cl_weapons.qc index 04b656c9a..db79588cf 100644 --- a/qcsrc/server/cl_weapons.qc +++ b/qcsrc/server/cl_weapons.qc @@ -121,9 +121,9 @@ void W_NextWeaponOnImpulse(float imp) void W_NextWeapon(float list) { if(list == 0) - W_CycleWeapon(weaponpriority_hudselector_0, -1); + W_CycleWeapon(weaponorder_byid, -1); else if(list == 1) - W_CycleWeapon(weaponpriority_hudselector_1, -1); + W_CycleWeapon(self.weaponorder_byimpulse, -1); else if(list == 2) W_CycleWeapon(self.cvar_cl_weaponpriority, -1); } @@ -132,25 +132,13 @@ void W_NextWeapon(float list) void W_PreviousWeapon(float list) { if(list == 0) - W_CycleWeapon(weaponpriority_hudselector_0, +1); + W_CycleWeapon(weaponorder_byid, +1); else if(list == 1) - W_CycleWeapon(weaponpriority_hudselector_1, +1); + W_CycleWeapon(self.weaponorder_byimpulse, +1); else if(list == 2) W_CycleWeapon(self.cvar_cl_weaponpriority, +1); } -string W_FixWeaponOrder_AllowIncomplete(string order) -{ - return W_FixWeaponOrder(order, 0); -} - -string W_FixWeaponOrder_ForceComplete(string order) -{ - if(order == "") - order = W_NumberWeaponOrder(cvar_string("cl_weaponpriority")); - return W_FixWeaponOrder(order, 1); -} - float w_getbestweapon(entity e) { return W_GetCycleWeapon(e, e.cvar_cl_weaponpriority, 0, -1, FALSE, TRUE); @@ -283,17 +271,17 @@ void W_ThrowWeapon(vector velo, vector delta, float doreduce) return; if (g_nexball && w == WEP_GRENADE_LAUNCHER) return; - if (!cvar("g_pickup_items")) + if (!autocvar_g_pickup_items) return; if (g_ca) return; - if(!cvar("g_weapon_throwable")) + if(!autocvar_g_weapon_throwable) return; - if(cvar("g_weapon_stay") == 1) + if(autocvar_g_weapon_stay == 1) return; if(!W_IsWeaponThrowable(w)) return; - if(self.weaponentity.state != WS_READY) + if(self.deadflag == DEAD_NO && self.weaponentity.state != WS_READY) return; wb = W_WeaponBit(w); @@ -322,7 +310,10 @@ void W_WeaponFrame() if (frametime) self.weapon_frametime = frametime; - if(((arena_roundbased || g_ca) && time < warmup) || ((time < game_starttime) && !cvar("sv_ready_restart_after_countdown"))) + if(((arena_roundbased || g_ca || g_freezetag) && time < warmup) || ((time < game_starttime) && !autocvar_sv_ready_restart_after_countdown)) + return; + + if(g_freezetag && self.freezetag_frozen == 1) return; if (!self.weaponentity || self.health < 1) @@ -352,7 +343,7 @@ void W_WeaponFrame() weapon_action(self.switchweapon, WR_SETUP); // VorteX: add player model weapon select frame here // setcustomframe(PlayerWeaponRaise); - weapon_thinkf(WFRAME_IDLE, cvar("g_balance_weaponswitchdelay"), w_ready); + weapon_thinkf(WFRAME_IDLE, autocvar_g_balance_weaponswitchdelay, w_ready); weapon_boblayer1(PLAYER_WEAPONSELECTION_SPEED, '0 0 0'); } else if (self.weaponentity.state == WS_READY) @@ -365,7 +356,7 @@ void W_WeaponFrame() sound (self, CHAN_WEAPON2, "weapons/weapon_switch.wav", VOL_BASE, ATTN_NORM); self.weaponentity.state = WS_DROP; // set up weapon switch think in the future, and start drop anim - weapon_thinkf(WFRAME_DONTCHANGE, cvar("g_balance_weaponswitchdelay"), w_clear); + weapon_thinkf(WFRAME_DONTCHANGE, autocvar_g_balance_weaponswitchdelay, w_clear); weapon_boblayer1(PLAYER_WEAPONSELECTION_SPEED, PLAYER_WEAPONSELECTION_RANGE); #ifndef INDEPENDENT_ATTACK_FINISHED } @@ -385,7 +376,7 @@ void W_WeaponFrame() // server framerate is very low and the weapon fire rate very high local float c; c = 0; - while (c < 5) + while (c < W_TICSPERFRAME) { c = c + 1; if(wb && ((self.weapons & wb) == 0)) @@ -398,7 +389,9 @@ void W_WeaponFrame() v_forward = fo; v_right = ri; v_up = up; + self.weaponentity.weaponentity.glowmod = '0 0 0'; // reset glowmod, weapon think function only *might* set it weapon_action(self.weapon, WR_THINK); + self.exteriorweaponentity.glowmod = self.weaponentity.weaponentity.glowmod; // exterior weaponmodel has the same glowmod } if (time + self.weapon_frametime * 0.5 >= self.weapon_nextthink) {