This is because although the map value per gametype is decreased by 4 (VOTE_NUM_LEVELS) to account for 4 vote selections, it doesn't account for the prevmap being one of those four levels, so we decrease by one to account for that also.
Each map now just has a countdown for when they'll reappear (stored in mapheader), which gets decremented each time a new map is played. This means it's now compatible across gametype switches, is a lot less complex, and is easy to retrieve the value for a specific map without needing to iterate constantly.
Lots of the old unused code surrounding this function was also removed. Lastly, added a PARANOIA check for callAgainSoon being mishandled.
NEP: I've added back map hell and gametype switching here since it was not in RR
Reveals the next Round in the queue via server shout message.
Can be used manually, or with automate commands for tournament rulesets that permit foreknowledge of the next Round without requiring the host to work off memory or document.
It was technically possible for custom clients to spoil future rounds of a tournament queued while they are connected to a server.
Making it a PT direct packet to the servernode both solves this problem AND reduces irrelevant NetXCmd traffic for clients.
- Death-based damage types (DMG_DEATHMASK) only accept "should damage" responses from the ShouldDamage hook
- SRB2K never had a "damage value" system for spinouts, squishes, and explosions to begin with
- In Lua compatibility mode, death-based damage types force the damage value to be 10000 when a player is being killed
- Can be used to clear all entries in the round queue
- Stores the special state in the gametype field
- Returns a message if the queue is already empty
- Full valid format: queuemap [name/num] -gametype [name] -encore -force
- Server is fully authoriative about the order of maps in the round-queue
- Server sends XD_MAPQUEUE (which contains gametype, encore, and ordering)
- Admin clients have to send XD_REQMAPQUEUE (which contains gametype, encore, and mapnum)
- Servers spit out a processed XD_MAPQUEUE on reciept
- Done this way just in case an XD_MAPQUEUE is not recieved and has to be resent, guarantees ordering
- Will create a UI for this post-launch, this is primarily for testing but may be useful for user-ran tournaments
* Remove the "pivot offset difference" system; this
really only ever becomes a concern for pre-scaled affines,
and caused janky visuals (especially for flipovers)
* Make OGL offsetting actually respect horizontal flips
instead of a direct homing attack (prone to very strange velocity changing), now is a boost that gets stronger if you're driving in the direction of your target
this boost shouldn't bypass offroad
todo:
hi-power mode should deal damage on contact
new targeting logic that has a LoS check
slight aim assist?
expose to cvars