Replaces typesof(path) - path with subtypesof(path) in obvious places. I was a bit conservative, there's probably a few more places that could use this.
Why use replacetext with no arguments? I have no idea.
This wasn't runtiming because of the bygex stuff I guess.
Thanks octareroon91 for reporting this to me ingame.
For finding a spawn point, it will now use this logic to find a spawn point, stopping at the first one it finds
Empty job spawn point
Filled up job spawn point (spawning them on top of eachother if it can't find enough spawn points)
Late join spawn point
Random tile in the arrivals shuttle area.
If it hits either of those two final points it will pop a message in the runtime log.
This should enable more murder death kill at round end before the next round starts.
New servers will default to 90 seconds while old servers will default to the old 25 seconds until they import the config option to their server.
Previously, security officer scaling was between 5-12 no matter what was configured.
Now, security officers will have (spawn positions)-12 spawn and total position slots.
This can be set in jobs.txt or admin set through the jobs controller while in the lobby.
This is only used when officer scaling is set.
Also, the number of extra security equipment closets spawned is relative to the number of total job positions configured, with or without officer scaling. Previously if officer scaling was not set, no additional closets could spawn.
Adds myself to admins.txt after like 3 years of contributing
The jobs controller's list of occupations was reset during roundstart which completely undid that whole load from file thing. It also would have undone any admin edits done while sitting in the lobby.
Also fixed a couple instances where people thought that lists get copied with the = operator instead of passing by reference.
It would lock up the MC for 30 seconds while it was compiling, meanwhile ticks are queuing.
After the map was compiled, there would be 15 mob ticks, 15 object subsystem ticks, 15 mechinery ticks, 60 atmo ticks, etc all queued up and would attempt to fire all at once.
Beds (and chairs) now have buildstacktype and buildstackamount vars to handle how many sheets of what they should drop on deconstruction.
They also have a foldabletype var to handle folding into item (currently only used by roller beds) so that people can add foldable chairs in the future.
Fixes swivel chairs not dropping the correct amount of metal sheets.
Fixes some other potential issues coming from changing a few del() to qdel().
Fixes not being able to shoot mob on same tile as the shooter.
Fixes being able to shoot oneself by simply clicking our mob.
Fixes not being able to shoot non human mobs right next to us.
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.
be_special and antag defines are no longer limited to 16 values (1 - 32768) by being changed from a bitfield to a list, an appropriate block of code exists to automatically update bitfield versions to the new list format. the list format allows us to have (functionally) infinite antag types.