From: Mario Date: Thu, 18 Apr 2013 17:25:18 +0000 (+1000) Subject: Add untested fix for monster corpses not disappearing X-Git-Tag: xonotic-v0.8.0~241^2^2~340 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=45f2a06fba3ba83b5a835b771a413a70328c8678;p=xonotic%2Fxonotic-data.pk3dir.git Add untested fix for monster corpses not disappearing --- 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;