]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add untested fix for monster corpses not disappearing
authorMario <mario.mario@y7mail.com>
Thu, 18 Apr 2013 17:25:18 +0000 (03:25 +1000)
committerMario <mario.mario@y7mail.com>
Thu, 18 Apr 2013 17:25:18 +0000 (03:25 +1000)
qcsrc/client/monsters.qc
qcsrc/server/monsters/lib/monsters.qc
qcsrc/server/monsters/monster/spider.qc

index 36fc3b016bfa3d18b1f5af4c6acd4b3be5864dc4..58585a8b6348749a6dc0f685336cb5a680e58ac9 100644 (file)
@@ -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)
index fb7db139fd95357f4b6cb10bd20e24373fe648de..d99b415ed45da39897ba613c6ad6c96ca083c0fc 100644 (file)
@@ -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);
index d6ce296c36817c2a76a68155b93315d63c436def..6cd4ea45cc0be443d640562bc9468e5d37761924 100644 (file)
@@ -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;