- Fixed: When trying to unmorph a monster, make sure the morphed version doesn't have the

TOUCHY flag set, or checking the position of the unmorphed version will kill the morphed
  version, since they will both exist in the same place at the same time, and TOUCHY is
  really touchy about that.

SVN r4219 (trunk)
This commit is contained in:
Randy Heit 2013-04-16 20:39:54 +00:00
parent d99517292b
commit c069295f19

View file

@ -437,10 +437,13 @@ bool P_UndoMonsterMorph (AMorphedMonster *beast, bool force)
actor->SetOrigin (beast->x, beast->y, beast->z);
actor->flags |= MF_SOLID;
beast->flags &= ~MF_SOLID;
int beastflags6 = beast->flags6;
beast->flags6 &= ~MF6_TOUCHY;
if (!force && !P_TestMobjLocation (actor))
{ // Didn't fit
actor->flags &= ~MF_SOLID;
beast->flags |= MF_SOLID;
beast->flags6 = beastflags6;
beast->UnmorphTime = level.time + 5*TICRATE; // Next try in 5 seconds
return false;
}