## About The Pull Request
Fixes revert_next_map() not actually reverting the map vote. Also added
an admin verb for it for ease of access.
## Why It's Good For The Game
Fix bug, revert map vote without having to poke around in the subsystem.
## Changelog
🆑 LT3
fix: Revert next map command actually reverts the map vote
admin: Admins now have a verb to revert the map vote
/🆑
## About The Pull Request
The map loading function was ignoring JSON values when a map's config
file was custom loaded. (things like - minetype, planetary, etc.)
To resolve this I just made the loadConfig return a json and then use
that json.
## Why It's Good For The Game
Better custom map support!
## Changelog
🆑
fix: Fix custom map loading ignoring JSON values that were ignored
previously. (minetype, planetary, etc.)
/🆑
## About The Pull Request
Changes map votes to be based on a persistent tally count.
Tallies for maps are cached between rounds and are added to by map
votes.
When a map is chosen, and it wasn't the only valid one, the tallies for
said chosen map will be reset.
Refactors map vote handling and moves it from SSmapping to SSmap_vote.
Rock the Vote has been removed as a result of this refactor.
## Why It's Good For The Game
Makes it more likely that all maps will be played over the course of a
server instead of always being truly random.
Removes some clutter off of SSmapping.
🆑
refactor: Map Votes are now carried over between rounds. When a map vote
is actually a contest, the winning map will have its votes reset.
/🆑
## About The Pull Request
Damn that's a long title.
Admin Verbs can be used in the verb bar with hyphens instead of spaces
again.
## Why It's Good For The Game
Admin muscle memory
## Changelog
## About The Pull Request
By default, all custom maps are assigned one standard configuration.
This option rather limits the possibilities for creating custom levels.
For example, you can not use multilevel maps, because with this
configuration will always be loaded only one level. With this PR I want
to provide the ability to load a configuration file for a custom map
similar to the standard map.json configs.

## Why It's Good For The Game
Allows administrators to flexibly configure custom maps. For example for
events, etc.
## Changelog
🆑
admin: Adding the ability to load the configuration of custom maps
/🆑
Co-authored-by: twilightwanderer <twilightwanderer@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
* Rocking The Boat, er, Map Vote
Hey there,
A while ago, I spooke (typo intentional) to some other people. One frustration I heard was the fact that people would sometimes sneak through map votes during the very start of a shift, during a high-paced portion, or just as a meme. People in OOC would then flood the vote, putting in any given station. However, if a vote happens 10 minutes in- and the round goes for 70 minutes and not many of the original players are around, then it's not particularly fair to those who have to play next shift on a map they bemoan.
So, we can rock the vote! If a player isn't particularly chuffed with the hand they are given, they can poll the players to see if they want to change the map as well. If rocking the vote goes through, huzzah, you get the ability to vote for the map again. If it doesn't go through: tough luck. You can rock the vote one time per shift by default, and server operators can change the amount of times you can call to rock the map vote at their discretion. Calling to rock the vote either successfully or non-successfully counts as a "call", and when that limit is exceeded: no more calls.
Does this mean that we will only rotate between two maps because pissants will keep rocking the vote until they get what they like? Maybe? I still see people bemoan getting Tram or shit the bed over IceBox, but I think enough people get sick of bread-on-butter to take the server where it need to go. If operators don't really like seeing only two maps play, they can always adjust the config to ensure it doesn't happen.
* makes the grammar grammar
it would be "Rock the Vote vote" otherwise
About The Pull Request
Converts more inputs to TGUI. Possibly all user-facing input lists in the game.
Did any surrounding text/number inputs as well
Added null choice support so users can press cancel.
Added some misc TGUI input fixes
Fixed custom vendors while I was there
I refactored a lot of code while just poking around.
Primarily, usage of .len in files where I was already working on lists.
Some code was just awful - look at guardian.dm and its non use of early returns
If there are any disputes, I can revert it just fine, those changes are not integral to the PR.
Why It's Good For The Game
Fixes#63629Fixes#63307
Fixes custom vendors /again/
Text input is more performant.
Part of a long series of TGUI conversion to make the game more visually appealing
Changelog
cl
refactor: The majority of user facing input lists have been converted to TGUI.
refactor: Tgui text inputs now scale with entered input.
fix: Many inputs now properly accept cancelling out of the menu.
fix: Fixes an edge case where users could not press enter on number inputs.
fix: Custom vendor bluescreen.
fix: You can now press ENTER on text inputs without an entry to cancel.
/cl
This PR fixes a bunch of the code for load_map_config(), documenting it better and removing a deprecated (I hope) parameter that was also a security concern along the way, while also making another proc for just loading the default map config, which is supposed to always be functional.
Bring _HELPERS/_lists.dm to latest standards by:
-Adding proper documentation and fixing existing one
-Giving vars proper names
-Procs now use snake case as per standard (many files that use those procs will be affected)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.
Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.
(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* Adds sorting to most input() lists.
* Sorted some global lists, added more input sorting
* Should now use correct sort everywhere.
* compiles
* Last fixes.
* Dynamic map loading prototype
* Get the title screen working
* Fixes the random pod bugs
* map configs
* Add back the asteroid
* Ignore the rotate file
* Fix some shit
* More shit fixes
* Babby's first json
* Cyberboss confirmed shitcoder
* Makes map rotation great again
* Moves the map defines
* Delete tgstation2.dm
* Convert runtimestation
* Convert PubbyStation
* Convert OmegaStation
* Convert Metastation
* Convert Delta Station
* Lol file extensions
* Reee line endings
* Take out the trash
* Fix loadallmaps.dm
* Deltaassssssstation?
* Fix travis
* Did I ASK you to change the line endings?
* Remove votable maps
* Cleanup
* Previous config. Load configs in New. Fix splash
* Fix this
* More generic minetype
* STOP TOUCHING THE LINE ENDINGS!!!
* Add some flexibility to /obj/screen/splash
* Fix the shit
* Update gitignore
* Smooth transition from last map
* Better check
* Missed this map rotate check
* Remove these checks too
* Prep for a future request by @kevinz000
* Fix z2 line endings
* Solution for custom .dms
* Rename some things, trim some fat
* Fixes default map_config
* Remove stale comment
* Delete the previous config after loading
* Don't try to open a non-existent file
* Delete the old rotator script
* And references to it
* Line endings
* More line endings
* Del checks from when m-config may have not existed
* LINE ENDINGS
* Update the default map config
* Map load error checking for what it's worth
* Small cleanup
* For case sensitive
* File systems
* Strip maprotate stuff from build script
* Spruce up the _maps tree. Compile some empty space
* Make travis simpler
* LINEARU ENDARU!!!
* tgstation TWO!!!
* Lowercase mine type
* Dummy dm's for testmerging
* Fixes job ordering
* If ghosts wanna watch the map load so be it
* Let them know what's going on
* Fixes z-transitions
* Optimize z expansion further
* Remove this old var
* Fix wiznerd teleportation
* Rmove butt
* Does the thing
* Moved temp configs to the data dir
* Un-touch gitignore
* Forgot templates.dm
* Forgot to include the includer
* Fair enough
* SILENCE IMBECILE!
* @Cyberboss still a fuckboi
* Speed things up a bit
* Fix a potential bug with the error message
* Whatever
Fixes mutiple rotate operations from breaking the server, map rotation will properly detect rotation operations as well as update operations and abort.
Fixes max pop being treated as minpop
Adds more feedback to admin verbs.
Adds a config option for the map rotation chance.
Ups default rotation chance from 50% of round length to 75% of round length.
Moves the procs around.
Adds two new admin verbs:
Force map rotation.
Change map.