- Players moving into a gate with a lot of momentum would
offset the origin point from its intended position
- Find intersection of player movement and gate
- Correct origin point between loop entry and exit by
interpolating the difference between player position on
entry and intersection point
Gamedata minor version was updated again.
(God this was a weirdly big amount of work and it's not even polished.)
- Condition1 = PrisonEggCD [Level that has to be unlocked]
- Approximately every 30 Prison Eggs destroyed, you get a shot at a Prison Egg Drop.
- The only Prison Egg Drop implemented right now is an Alt Music CD.
- Your [Wild Prize] is guaranteed to be selected only from conditions associated with levels that are unlocked!
- Only spawns in Grand Prix Bonus Rounds, for netsync and game design.
- The number is fuzzed. If you start the level with 0 Prison Eggs to destroy, it selects a random number of Prisons in the level to bust.
- If you miss the pickup (such as into a deathpit), you'll get another shot in the immediate next Bonus Round you play.
Also:
- The number of Chao Keys you start your gamedata with is now part of the header file, not buried in the wiping function.
- Removed the ACTUAL last object definition vestiges of the Emerald Hunt gamemode.
- There's a freeze cheat bool to freeze everything except for players.
- There's a level freeze bool to freeze literally everything.
- There's a frozen bool on mobj_t to explicitly control freeze status on an object.
- Add checkpointId to player_t and netsave
- checkpointId persists if the map is reloaded, but not if
the map is changed or if "resetplayers" is ticked
- Players spawn at the last touched checkpoint instead of
at a player start
- Tether sparkles fly out of the player in a circle
Replaced all mentions of starpostnum and Starpost w/ cheatchecknum and CheatCheck (so Ivo can stop asking why we still need it when its going to save our asses on release patches)
- Store a netsynced SINT8 `hudrings` on the player struct which stores the last rings the player has during play
- So this doesn't get updated after you finish the level
- Fixes the issue where the bot ghost that inhabits your body after finishing will use your rings, muddying how many you took into the total
- Fixed order of operations that prevented lives earned with GP rings from being given
- Also uses hudrings for consistency
- Make the life-give context in P_DoPlayerExit cleaner
- GPEVENT_NONE
- no GTR_SPHERES
- Fix the last few bugs I could find with thing args
- Move version update code
- Rename internal variables to `thing_[string]args` to make older code merge issues more obvious
SRB2 uses a LOT of mapthing args compared to Hexen (which has none) and ZDoom (which only has them on objects that will never ever activate scripts). So we really badly needed to separate the two if we want attaching scripts to things to be useful.
- Save retry condition in G_BeginLevelExit
- Apply condition in G_FinishExitLevel
Preparation for ACS level end scripts, since the exit
condition will need be known when the countdown starts,
not when it ends (that'd be too late to do anything in the
level).
- Replaces a few D00DKart objects because the doomednum specifically replaced one of these
- Reports on load if the map has too many, or if one's assigned but the object doesn't exist