Fixed [2.1.20] FOFs cause ground below's Each Time trigger to fire

Status
Not open for further replies.

sims

i would rather not
Picture a floor that uses Linedef Type 301 (Each Time) to trigger a linedef, it doesn't matter what's being triggered. If an FOF is placed above this floor, said FOF will also trigger the effect even if the control sector isn't tagged or has the proper sector special.

Link to a test level that demonstrates the bug
Link to a .gif showcasing the bug

The left FOF showcases the bug, using an Each Time trigger. The right FOF uses a Continuous trigger, which does not have this bug. Both sectors are using the Floor Touch sector special and are triggering the Award Score effect (though I've tested, and it seems to happen with other effects like Teleport), and neither control sector for the FOF interacts with the executors in any way. There's no way the executor is being triggered unintentionally due to something I did, as far as I can tell.
 
Last edited by a moderator:
This happens because the special thinker for Each Time uses P_IsObjectOnGroundIn to determine on-groundness ...which does not distinguish between normal ground and an FOF "ground". So yeah, definitely the game's fault in this case.

Fun other extra bug I found with P_IsObjectOnGroundIn itself: turns out it even counts touching the top of intangible FOFs as being on the ground (blame stupid coding). This means Each Time triggers for the normal ground are activated for those too!
 
Oh wow, forgot I merged the fix above to "next" 4 weeks ago. Yeah, this bug will be fixed now for the next release or patch.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 0, Members: 0, Guests: 0)

Back
Top