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
Fun and simple papersprite buffoonery
Hey remember when the author of this commit thought papersprites would be a one-off side feature
Also fixes a potential invalid dereference when getting the color for MT_SIDETRICK
A rising tornado swirling the opposite direction.
Sprites do not currently exist, but it's a one-line emergency-break-glass change if there's any danger of not shopping with them
- Copiously reuses from MT_MAGICIANBOX, gomen
- Also set the lookback frame, for extra toaster-swag zaza
- Because this feature is so old it predates lookback!?
- Abstract K_TrickCatholocismBlast into its own function
- Spawn one at an askance angle when you fail a trick for any reason
- Indicator is slightly closer to the player
- Smaller indicator base scale
- Indicator becomes more translucent the larger it is
- Swipe is at 1.5 scale relative to the indicator
- Set colour in K_DoPogoSpring based on relevant vertical momentum
- Similar but seperate colour list to Dash Rings
- Improve interp state handling when starting a Trick
- Don't set to S_INVISIBLE every non-tricking frame
- Don't follow the player's movement during the very end of a swipe animation
- Add a catholocism blast of the outer D-Pad ring while tricking