Commit graph

5 commits

Author SHA1 Message Date
James R
600aec3449 renderhitbox: shown MF_PAPERCOLLISION correctly 2023-11-15 14:48:53 -08:00
James R
61cad641bb Invincible player punts hazardous/solid things, unless MF_ELEMENTAL
If player is in one of these states:

- Invincibility
- Grow (K_IsBigger)
- Flame Shield dash
- Over 200% speed

And the other object:

- Does not have MF_DONTPUNT

Then, touching a solid object:

- Punts the object, unless the object has MF_ELEMENTAL
- Fizzles the object, if the object has MF_ELEMENTAL

Or, when an object damages the player:

- That object is punted, unless it has MF_ELEMENTAL
- The object fizzles, if it has MF_ELEMENTAL

Punting means:

- A copy of the object is made
- Both the player and copy receive 5 tics of hitlag
- The copy is thrust away from the player at a minimum of
  60 FU, or 2x either the player's or object's momentum,
  whichever is ultimately greater
- The copy despawns after 2 seconds
- The copy flickers constantly, while thrust away

Fizzling means:

- The object disappears completely
- A puff of smoke is spawned in place of the object
- No hitlag is applied to the player

Both punting and fizzling:

- Hide the original object (intangible and invisible)
- The original object reppears after 30 seconds
- For 2 seconds before reappearing, the object flickers
  back in, but is still intangible
2023-11-13 22:18:35 -08:00
Eidolon
68a8f2b274 Multithread software drawing 2023-10-14 15:26:52 -05:00
Eidolon
0f3ede7fed Always clamp texturecolumn in sprite draw 2023-09-24 14:39:12 -05:00
Eidolon
1ffc7d7c82 r_things.c -> r_things.cpp 2023-09-24 14:30:41 -05:00
Renamed from src/r_things.c (Browse further)