This does not prevent you from using the respawn button to
summon a Ring Shooter.
- Ring Shooter only tracks the last player who touched it,
to prevent that player from reusing it
- If another player touches the Ring Shooter, it loses
track of the original user
- Near a Block Lightsnake waypoint, this would enter an
endless loop where both players are able to touch the
Ring Shooter and use it to respawn, placing them right
above the Ring Shooter (and the cycle repeats)
- Order of operations; it is possible in specific
circumstances to respawn (K_DoIngameRespawn) before the
lap increments
- In this case, the lap would be reset to lastsafelap and
then incremented afterward
- This would allow someone to skip the first lap
- It was possible to do this in many maps where the finish
line intersects a respawn line, by driving into the
corner where the lines meet
- `Condition1 = Faulted Yes`
- `FAULT during POSITION`
- for example, combine with "& finish in 1st"
- `Condition1 = Faulted No`
- `don't FAULT during POSITION`
Reuses most of the anti-grief code, but with a very low timer (5sec) and they simply hold Y when reaching it until they eventually respawn from the ring shooter.
K_RespawnOffset is called before the player is actually at
the waypoint's position, so even if P_GetMobjGravity is
called there to check, it reflects the player's current
sector, which may not necessarily be the waypoint's
sector.
- Y is now additionally another macro for HOLD!
- Disable HOLD! drop from respawning when done with Ring Shooter.
- Immediate release Ring Shooter now goes back a waypoint, and does not have a minimum distance to go forward anymore.
New:
- GTR_POWERSTONES
- Handles spawning in Battle Emeralds (currently only works stacked with GTR_PAPERITEMS)
- GTR_ENCORE
- Codifies that Race can use Encore and Battle can't.
- GTR_CLOSERPLAYERS
- A gametype where players are encouraged/expected to be closer together. (All of the following was GT_BATTLE specific)
- Drafting/tether has increased strength/effective distance
- Spindashing is stronger
- Invincibility chaining has less effect
- Grow has a lower total duration
- Flame shield is more uncontrollable
Extra functionality
- GTR_CAPSULES
- Prevents usage of lives in Grand Prix (so Race, and the upcoming Special and Boss gametypes, can have 'em)
- GTR_CIRCUIT
- When not present, Flame Shield has perma-full meter
- When not present, overrides gamespeed with KARTSPEED_EASY
- Presence of Best Lap sticker in Time Attack menu
- Seperation between Time Attack and Break The Capsules modeattacking roulettes
- GTR_POINTLIMIT
- Handles the switch between a gametype recording/displaying Times and Scores in a few places
- Handles displaying "WANTED" players on the minimap
Missing simple substitutions
- A whole bunch of cases where player->bumpers was checked with gametype == GT_BATTLE rather than GTR_BUMPER
- GTR_OVERTIME handles the overtime special icon on the minimap
- GTR_BATTLESTARTS is honoured in K_DoIngamerespawn
- The Replay hut is closer to supporting custom gametypes
Removals
- GTR_LIVES
- GTR_SPECIALBOTS
- Given that grand prix persists between modes, these are special game-controlled features and not gametype-specific.
- GTR_WANTED
- WANTED as it existed is functionally dead