]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix monsters taking damage when dead
authorMario <mario.mario@y7mail.com>
Mon, 15 Apr 2013 10:33:57 +0000 (20:33 +1000)
committerMario <mario.mario@y7mail.com>
Mon, 15 Apr 2013 10:33:57 +0000 (20:33 +1000)
qcsrc/client/monsters.qc
qcsrc/server/command/cmd.qc
qcsrc/server/monsters/lib/monsters.qc

index 53292d28ea1e74d3907a428dbc40ca7256641c9f..bc77b9c30c5be582b1b765fd1e0aab8349ae7afd 100644 (file)
@@ -374,6 +374,8 @@ void ent_monster()
                        monster_changeteam();
                }
                
+               self.alpha = ReadByte();
+               
                _tmp = ReadByte();
                
                if(_tmp == 0 && self.health != 0)
index 35bb12cbb7a086ecc255f0a9b8d0c1507d25ff4c..ada0dd8002c0369452ddc1821e92c02216e80363 100644 (file)
@@ -292,7 +292,7 @@ void ClientCommand_mobspawn(float request, float argc)
                                makevectors(self.v_angle);
                                WarpZone_TraceLine(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 150, MOVE_NORMAL, self);
                        
-                               e = spawnmonster(tospawn, self, self, trace_endpos, FALSE, moveflag);
+                               e = spawnmonster(tospawn, self, self, trace_endpos, TRUE, moveflag);
                                if(mname) e.netname = strzone(mname);
                        
                                sprint(self, strcat("Spawned 1 ", tospawn, "\n"));
index 6abddbb1f1bf0fc0dee498689270e42563fd077b..b9a0df7027db869bf3b9b1b296e8fd260c53e335 100644 (file)
@@ -302,13 +302,14 @@ void Monster_Fade ()
                        self.pos1 = self.origin;
                        self.pos2 = self.angles;
                }
+               self.event_damage = func_null;
+               self.takedamage = DAMAGE_NO;
                setorigin(self, self.pos1);
                self.angles = self.pos2;
                self.health = self.max_health; // TODO: check if resetting to max_health is wise here
+               self.SendFlags |= MSF_MOVE;
                return;
        }
-       self.think = SUB_Remove;
-       self.nextthink = time + 4;
        SUB_SetFade(self, time + 3, 1);
 }