Talk:Arch-Vile gluing monsters together

A technical discussion of this issue may need to make a distinction between visible sprites and Thing radius (a subject which seems to be a bit beyond my grasp, although I did understand section 3H of the BFG FAQ). Ryan W 04:30, 30 Sep 2005 (UTC)

When I wrote the first paragraph of this article, I was sure I'd seen this happen in real play. I was sure. Then I started looking for it on purpose to make a demo, and now I'm wondering if I imagined the whole thing... I can't even find a reference to it on the rest of the web.

Maybe it only works with ghost monsters, since they don't clip?

Can anybody here educate me? :7

Ryan W 23:05, 11 Oct 2005 (UTC)

This article is wrong
This article is incorrect on several points. First, the idea that a creature doesn't become solid until the end of its resurrection frames is refuted by the fact that in the function, which starts the resurrection process, the corpse's flags are restored to their defaults from the monster's corresponding mobjinfo_t record. This is the line below reading. In addition to this, the function  makes sure that the monster fits. If anything is standing over it, the vile ignores the corpse for the time being.

In addition, the idea that the vile and the monster aren't touching is incorrect. PIT_VileCheck does a somewhat rough distance determination and if the monster is too far away, it is ignored.

I believe there is a reason for this misconception however. In MBF, Lee Killough made a change to P_CheckPosition's PIT_CheckThing callback which broke Nightmare respawning, Arch-vile resurrections, and any other checks involving non-solid objects, but only while in actual game play -- because of a demo_compatibility check around the bugged code in question, it did not affect demo compatibility and thus went unnoticed -- and was unwittingly adopted into many other source ports -- for a very long period of time. This can be dramatically demonstrated by playing the MBF demo level which contains two boss brains (one friendly, one evil) for an extended period of time. Groups of monsters will eventually become glued together near the spawn points.

Code from A_VileChase:

Code from PIT_VileCheck:

Lee Killough's bugged PIT_CheckThing change from MBF. This code is wrong because it assumes the non-solid object is moving and will no longer be blocked in the future. This is not the case when doing Nightmare respawns, Archvile resurrections, or other similar things:

--Quasar 06:58, 7 June 2006 (UTC)