From 781a4801392080b460c363eb1b317c493f85498d Mon Sep 17 00:00:00 2001 From: Mircea Kitsune Date: Tue, 10 May 2011 15:34:03 +0300 Subject: [PATCH] Weapon glowmod initiative, code part. Aimed at making weapons glow-modded, just like players. Weapon textures to follow. --- qcsrc/server/cl_client.qc | 19 +++++++++++++++++++ qcsrc/server/cl_weapons.qc | 1 - qcsrc/server/w_nex.qc | 14 -------------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index bd1149b62..04e22bb46 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -2743,7 +2743,26 @@ void PlayerPreThink (void) self.glowmod_z = -1; } else + { + // set weapon and player glowmod self.glowmod = colormapPaletteColor(self.clientcolors & 0x0F, TRUE) * 2; + + if(self.weapon == WEP_NEX && autocvar_g_balance_nex_charge) + { + self.weaponentity_glowmod_x = autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_red_half * min(1, self.nex_charge / autocvar_g_balance_nex_charge_animlimit); + self.weaponentity_glowmod_y = autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_green_half * min(1, self.nex_charge / autocvar_g_balance_nex_charge_animlimit); + self.weaponentity_glowmod_z = autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_blue_half * min(1, self.nex_charge / autocvar_g_balance_nex_charge_animlimit); + + if(self.nex_charge > autocvar_g_balance_nex_charge_animlimit) + { + self.weaponentity_glowmod_x = self.weaponentity_glowmod_x + autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_red_full * (self.nex_charge - autocvar_g_balance_nex_charge_animlimit) / (1 - autocvar_g_balance_nex_charge_animlimit); + self.weaponentity_glowmod_y = self.weaponentity_glowmod_y + autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_green_full * (self.nex_charge - autocvar_g_balance_nex_charge_animlimit) / (1 - autocvar_g_balance_nex_charge_animlimit); + self.weaponentity_glowmod_z = self.weaponentity_glowmod_z + autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_blue_full * (self.nex_charge - autocvar_g_balance_nex_charge_animlimit) / (1 - autocvar_g_balance_nex_charge_animlimit); + } + } + else + self.weaponentity_glowmod = self.glowmod; + } player_powerups(); } diff --git a/qcsrc/server/cl_weapons.qc b/qcsrc/server/cl_weapons.qc index e605a0637..61b7e6ff8 100644 --- a/qcsrc/server/cl_weapons.qc +++ b/qcsrc/server/cl_weapons.qc @@ -407,7 +407,6 @@ void W_WeaponFrame() v_forward = fo; v_right = ri; v_up = up; - self.weaponentity_glowmod = '0 0 0'; // reset glowmod, weapon think function only *might* set it weapon_action(self.weapon, WR_THINK); } if (time + self.weapon_frametime * 0.5 >= self.weapon_nextthink) diff --git a/qcsrc/server/w_nex.qc b/qcsrc/server/w_nex.qc index 476d3e676..04a115191 100644 --- a/qcsrc/server/w_nex.qc +++ b/qcsrc/server/w_nex.qc @@ -194,20 +194,6 @@ float w_nex(float req) } } } - - if(autocvar_g_balance_nex_charge) - { - self.weaponentity_glowmod_x = autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_red_half * min(1, self.nex_charge / autocvar_g_balance_nex_charge_animlimit); - self.weaponentity_glowmod_y = autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_green_half * min(1, self.nex_charge / autocvar_g_balance_nex_charge_animlimit); - self.weaponentity_glowmod_z = autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_blue_half * min(1, self.nex_charge / autocvar_g_balance_nex_charge_animlimit); - - if(self.nex_charge > autocvar_g_balance_nex_charge_animlimit) - { - self.weaponentity_glowmod_x = self.weaponentity_glowmod_x + autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_red_full * (self.nex_charge - autocvar_g_balance_nex_charge_animlimit) / (1 - autocvar_g_balance_nex_charge_animlimit); - self.weaponentity_glowmod_y = self.weaponentity_glowmod_y + autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_green_full * (self.nex_charge - autocvar_g_balance_nex_charge_animlimit) / (1 - autocvar_g_balance_nex_charge_animlimit); - self.weaponentity_glowmod_z = self.weaponentity_glowmod_z + autocvar_g_weapon_charge_colormod_hdrmultiplier * autocvar_g_weapon_charge_colormod_blue_full * (self.nex_charge - autocvar_g_balance_nex_charge_animlimit) / (1 - autocvar_g_balance_nex_charge_animlimit); - } - } } else if (req == WR_PRECACHE) { -- 2.39.2