Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Mordeth

[BUG] Polyobj 9302 does damage

Recommended Posts

There are three different types of polyobject spawnspots: 9301 which is normal, 9302 which will do crushing damage if a player blocks it while moving and 9303 which will always damage the player on contact.

A moving type 9302 now does damage whenever a player bumps into it against the travel direction. It does not do damage if the player stands still and lets the polyobject hit it, regardless of travel orientation. The polyobject will push the player without damage, until the player blocks due to space restrictions... and then the polyobject stops without damage instead of moving on and crushing the player.

This is very noticeable with (9302) polyobjects constructed from 2S linedefs (PolyObj_ExplicitLine). A head-on collision just outright kills a 100/0 player. Classic polyobjects (PolyObj_StartLine) most of times do not do damage, unless the player 'escapes' an incoming polyobject but still brushes lightly against its corner.

I've had no time to test all kinds of combinations or different builds.

Share this post


Link to post

Posted issue on GitHub issue tracker, which includes example wads.
https://github.com/team-eternity/eternity/issues/125

I'm not entirely clear on why this happens, but it can be mitigated by shaving the angles on the polyobj to be less sharp in the meantime; bear in mind that changing angles does not change the fact that being pushed into a wall on that runs parallel to the motion of the polyobj damages you.

Share this post


Link to post

Hopefully fixed. It was caused by a difference in blockmap behaviour from Hexen's polyobjects to Eternity's, unrelated to my polyobject portal change. I hope I didn't introduce regressions that the aforementioned difference was maybe meant to prevent.

Share this post


Link to post

This did indeed fix the errant damage behaviour. Still, polyobjects don't quite behave like I expect them to. In a short discussion with Quasar the conclusion was that things need some "rethinking".

For example, you would use crushing polyobjects for "Indiana Jones" style tricks like walls closing in, or a trap wall shoving the player into an abyss like done in Hexen. As it stands, rather than acting like a bulldozer these polyobjects can be completely blocked by the player moving in the opposite direction. This circumvents, trivializes or just completely breaks an encounter.

Share this post


Link to post

Yay, is this a new feature request? "Polyobjects which can't be stopped". I would happily add it if it turns out well.

Yeah, sure there can be extra complexity, such as barons of hell who are strong enough to hold a polyobject in place, unlike lighter beings such as imps and marines. But that's unsolicited so far.

Share this post


Link to post

Thought crushing polyobjects (unlike normal polyobjects, commonly used for swinging doors) ought to not stop for sentient things in the first place. Because being able to stop them completely defeats the purpose of having crushing polyobjects in the first place and leads to bizarre in-game behaviour.

It's also not mass that seems to be an issue here, but speed. Having to push an idle player around already slows down a crushing polyobject a bit; applying more and more pressure by running counter slows it down to a full stop.

Haven't checked how ZDoom does this.

But yes, I'd like a crushing polyobject type that does not slow down when pushing sentient things around and inflicts damage when said thing cannot move.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×