X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fweaponsystem.qc;h=d3b11cf184e7a66fcdc2a97668d7db1fd7437d68;hp=4f072c4c085bb7e829c6355da495a14c0ad33888;hb=ae2c1407ec9a05e4f501a6604a7cce8e1030df9f;hpb=129fa209a7798b37270a888523974533c1b4aa87 diff --git a/qcsrc/server/weapons/weaponsystem.qc b/qcsrc/server/weapons/weaponsystem.qc index 4f072c4c08..d3b11cf184 100644 --- a/qcsrc/server/weapons/weaponsystem.qc +++ b/qcsrc/server/weapons/weaponsystem.qc @@ -28,11 +28,9 @@ float W_WeaponRateFactor() { - float t; - t = 1.0 / g_weaponratefactor; + float t = 1.0 / g_weaponratefactor; - weapon_rate = t; - MUTATOR_CALLHOOK(WeaponRateFactor); + MUTATOR_CALLHOOK(WeaponRateFactor, t); t = weapon_rate; return t; @@ -40,11 +38,9 @@ float W_WeaponRateFactor() float W_WeaponSpeedFactor() { - float t; - t = 1.0 * g_weaponspeedfactor; + float t = 1.0 * g_weaponspeedfactor; - ret_float = t; - MUTATOR_CALLHOOK(WeaponSpeedFactor); + MUTATOR_CALLHOOK(WeaponSpeedFactor, t); t = ret_float; return t; @@ -476,11 +472,11 @@ float weapon_prepareattack_checkammo(float secondary) { // always keep the Mine Layer if we placed mines, so that we can detonate them entity mine; - if(self.weapon == WEP_MINE_LAYER) + if(self.weapon == WEP_MINE_LAYER.m_id) for(mine = world; (mine = find(mine, classname, "mine")); ) if(mine.owner == self) return false; - if(self.weapon == WEP_SHOTGUN) + if(self.weapon == WEP_SHOTGUN.m_id) if(!secondary && WEP_CVAR(shotgun, secondary) == 1) return false; // no clicking, just allow @@ -641,7 +637,7 @@ void weapon_thinkf(float fr, float t, void() func) if((fr == WFRAME_FIRE1 || fr == WFRAME_FIRE2) && t) { - if((self.weapon == WEP_SHOCKWAVE || self.weapon == WEP_SHOTGUN) && fr == WFRAME_FIRE2) + if((self.weapon == WEP_SHOCKWAVE.m_id || self.weapon == WEP_SHOTGUN.m_id) && fr == WFRAME_FIRE2) animdecide_setaction(self, ANIMACTION_MELEE, restartanim); else animdecide_setaction(self, ANIMACTION_SHOOT, restartanim); @@ -653,17 +649,17 @@ void weapon_thinkf(float fr, float t, void() func) } } -float forbidWeaponUse() +float forbidWeaponUse(entity player) { if(time < game_starttime && !autocvar_sv_ready_restart_after_countdown) return 1; if(round_handler_IsActive() && !round_handler_IsRoundStarted()) return 1; - if(self.player_blocked) + if(player.player_blocked) return 1; - if(self.frozen) + if(player.frozen) return 1; - if(self.weapon_blocked) + if(player.weapon_blocked) return 1; return 0; } @@ -678,7 +674,7 @@ void W_WeaponFrame() if (!self.weaponentity || self.health < 1) return; // Dead player can't use weapons and injure impulse commands - if(forbidWeaponUse()) + if(forbidWeaponUse(self)) if(self.weaponentity.state != WS_CLEAR) { w_ready();