From 45f2a06fba3ba83b5a835b771a413a70328c8678 Mon Sep 17 00:00:00 2001 From: Mario Date: Fri, 19 Apr 2013 03:25:18 +1000 Subject: [PATCH] Add untested fix for monster corpses not disappearing --- qcsrc/client/monsters.qc | 4 ++++ qcsrc/server/monsters/lib/monsters.qc | 3 +++ qcsrc/server/monsters/monster/spider.qc | 8 ++------ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/qcsrc/client/monsters.qc b/qcsrc/client/monsters.qc index 36fc3b016..58585a8b6 100644 --- a/qcsrc/client/monsters.qc +++ b/qcsrc/client/monsters.qc @@ -349,6 +349,10 @@ void ent_monster() monster_changeteam(); } + _tmp = ReadByte(); + if(_tmp == 4) // respawning + self.alpha = 0; + _tmp = ReadByte(); if(_tmp == 0 && self.health != 0) diff --git a/qcsrc/server/monsters/lib/monsters.qc b/qcsrc/server/monsters/lib/monsters.qc index fb7db139f..d99b415ed 100644 --- a/qcsrc/server/monsters/lib/monsters.qc +++ b/qcsrc/server/monsters/lib/monsters.qc @@ -291,6 +291,7 @@ void Monster_Fade () self.monster_respawned = TRUE; self.think = self.monster_spawnfunc; self.nextthink = time + self.respawntime; + self.deadflag = DEAD_RESPAWNING; if(self.spawnflags & MONSTER_RESPAWN_DEATHPOINT) { self.pos1 = self.origin; @@ -767,6 +768,8 @@ float monster_send(entity to, float sf) WriteByte(MSG_ENTITY, self.skin); WriteByte(MSG_ENTITY, self.team); + + WriteByte(MSG_ENTITY, self.deadflag); if(self.health <= 0) WriteByte(MSG_ENTITY, 0); diff --git a/qcsrc/server/monsters/monster/spider.qc b/qcsrc/server/monsters/monster/spider.qc index d6ce296c3..6cd4ea45c 100644 --- a/qcsrc/server/monsters/monster/spider.qc +++ b/qcsrc/server/monsters/monster/spider.qc @@ -93,17 +93,13 @@ void spider_shootweb(float ptype) break; } - vector fmins = ((self.scale >= 2) ? '-16 -16 -16' : '-4 -4 -4'), fmaxs = ((self.scale >= 2) ? '16 16 16' : '4 4 4'); - - entity proj = world; - - makevectors(self.angles); + vector fmins = ((self.scale >= 2) ? '-16 -16 -16' : '-4 -4 -4'), fmaxs = ((self.scale >= 2) ? '16 16 16' : '4 4 4'); W_SetupShot_ProjectileSize(self, fmins, fmaxs, FALSE, 2, snd, CH_WEAPON_A, 0); w_shotdir = v_forward; // no TrueAim for grenades please - proj = spawn (); + entity proj = spawn (); proj.classname = "plasma"; proj.owner = proj.realowner = self; proj.use = spider_web_touch; -- 2.39.2