From 47b18da60883ce9075a0f0feed01c9458188ceb2 Mon Sep 17 00:00:00 2001 From: div0 Date: Mon, 26 Jan 2009 22:44:45 +0000 Subject: [PATCH] fix invis git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5674 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/cl_client.qc | 3 ++- data/qcsrc/server/cl_weaponsystem.qc | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index e26aecb55..9e07e2d6f 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -2112,7 +2112,8 @@ void PlayerPreThink (void) if(time > self.teleport_time) { self.teleport_time = 0; - self.effects = self.effects - (self.effects & EF_NODRAW); + if(! (self.items & IT_STRENGTH)) + self.effects = self.effects - (self.effects & EF_NODRAW); if(self.weaponentity) self.weaponentity.flags = self.weaponentity.flags - (self.weaponentity.flags & EF_NODRAW); } diff --git a/data/qcsrc/server/cl_weaponsystem.qc b/data/qcsrc/server/cl_weaponsystem.qc index 28c51c5fa..38ad8e93f 100644 --- a/data/qcsrc/server/cl_weaponsystem.qc +++ b/data/qcsrc/server/cl_weaponsystem.qc @@ -285,6 +285,15 @@ void CL_Weaponentity_Think() self.alpha = self.owner.alpha; else self.alpha = 1; + + /* Minstagib invis doesnt set alpha with perfect invis, + * but only sets EF_NODRAW, so we have to copy it, too. + */ + if(self.owner.effects & EF_NODRAW) + self.effects |= EF_NODRAW; + else + self.effects -= self.effects & EF_NODRAW; + self.colormap = self.owner.colormap; self.angles = '0 0 0'; @@ -344,6 +353,15 @@ void CL_ExteriorWeaponentity_Think() self.alpha = self.owner.alpha; else self.alpha = 1; + + /* Minstagib invis doesnt set alpha with perfect invis, + * but only sets EF_NODRAW, so we have to copy it, too. + */ + if(self.owner.effects & EF_NODRAW) + self.effects |= EF_NODRAW; + else + self.effects -= self.effects & EF_NODRAW; + self.colormap = self.owner.colormap; }; -- 2.39.2