Engines will now be randomly placed on mapload, maintainers will need to update the server config to enable the system.
Add this to Config:
\# Control which submaps are loaded for the Dynamic Engine system
ENGINE_MAP Supermatter Engine,Edison's Bane
This will load either Supermatter or Tesla based on randomization. If you'd prefer to just stick with SM, remove "Edison's Bane" from the config file and leave in Supermatter Engine.
The way this is done DOES require the engine load system to be used, but it should pave the way for more modular engines in the future!
This also allows older maps to be loaded with hard-coded engines, if you comment out the line in config to disable it, it will skip engine loading.
If there's any issues, refer to the relevant submaps to tweak 'em. <3
TL;DR - Supermatter is now changed to on-mapload, Tesla added as option for mapload engine start. Remove the "Edison's Bane" from config and put the entire line into your config to make the engine work now. :blep:
Please merge this quickly, it will produce conflicts.
- Fixes Paper and font tags stacking across rounds, as shown in: 
- Fixes Persistence being always-on because of if("persistence_enabled") config.persistence_enabled = 1. As explained:
> it's on by default, which means config.txt will be read and if it's not there it stays at 1. If it is there,it gets set to 1. There is no way to disable it
- Adds config options to enable/disable **Persistence for Maploaded objects**, as well as a verb to toggle such.
- Adds Persistence to config.
Currently IGNORE_MAPLOAD for Persistance is **Disabled.**
Maploaded objects/dirt/etc will be saved by persistence, preserving current behavior.
You will need to update config.txt with the following lines:
\## Uncomment this to DISABLE persistence
\#PERSISTENCE_DISABLED
\## Uncomment this to DISABLE maploaded trash/paper/etc from being saved by the persistence system.
\#PERSISTENCE_IGNORE_MAPLOAD
Adds a HUD for observers
Adds a HUD for rigs and mechs
Adds up/down buttons for AI hud
Add more tg style alerts
Fix some bugs with the tg alerts
Improve icon_states usage by caching it
Redo how respawning works, add a button to ghost hud for it
- There is a new option in the player panel labeled "Send back to
Lobby", which will send a given player back to the lobby.
- The player panel also has a shortcut to the "Spawn Character" verb.
- Finally, there's a new config option that disables the warning
message about multikeying if two mobs with the same CID are found;
this option should NOT be enabled if multikeying is prohibited by the
server rules. It is simply a developer tool, as multikeying is
sometimes necessary to test new features that require two clients
interacting.
Ported from https://github.com/VOREStation/VOREStation/pull/6451
Code done by Aronai
Adds IP reputation checking to detect Tor, proxy, and VPN usage and block it if so configured.
It's disabled by default, but if enabled the default settings are to block all VPN/Proxy/Tor to connect unless the player has been a player for 5 days on a 'normal' connection so that people who legitimately sometimes use a VPN for *reasons* can continue to do so. You can also have it check reputations and just log bad ones, without disconnecting the users.
Whether or not it allows 'existing' players, the length of time they must have played, what's considered a 'bad' IP score, etc, are configurable. You **must** put an e-mail address if you use this, otherwise the service will likely ban you. This is the e-mail address they will send e-mails to if you're performing too many checks or they need to speak to you.
Adds config options, here's a paste from the example config:
```
## IP Reputation Checking
# Enable/disable IP reputation checking (present/nonpresent)
#IP_REPUTATION
# Set the e-mail address problems can go to for IPR checks (e-mail address)
IPR_EMAIL whatever@whatever.com
# Above this value, reputation scores are considered 'bad' (number)
IPR_BAD_SCORE 1
# If you want the people disconnected. Otherwise it just logs. (present/nonpresent)
IPR_BLOCK_BAD_IPS
# If players of a certain length of playtime are allowed anyway (REQUIRES DATABASE) (present/nonpresent)
IPR_ALLOW_EXISTING
# And what that age is (number)
IPR_MINIMUM_AGE 5
```
As you can see, it's off by default, so if you're a downstream this won't change anything for you unless you decide to turn it on. If you want the features, just copypaste the new config lines out of the example and uncomment IP_REPUTATION.
Downstreams can replace the /client/proc/update_ip_reputation() proc with your own, if you'd like to substitute your own service! Just set the client's ip_reputation var at the end of your proc.
* Fixes autostart solars, adds new config-controlled solars.
* Tweaks map to use config-controlled solar panels, and makes it work.
* If true, Neerti finishes comment.
* Allows AIs to control maint/construction drones.
* Radio control online.
* Things Not Saving
* Drone control respects intellicores.
* Config control, AI drones are disableable if the AI isn't an antag.
* There's a diff so it must have saved. Right?
* No un/wrenching of the core.
* Complies to Replies.
Adds the PARANOIA_LOGGING setting to config.txt (and PANIC_BUNKER which was missing for some reason) and updates example.
PARANOIA_LOGGING (also available as a verb for admins in Server) begins notifying admins of any 0day byond accounts, or users who have never joined before. For when you don't quite want to panic bunker.
Also makes this information available in player panel. Requires SQL connection.
* Multiple loadout slots
Ported from Bay. Each character can have 3 (number can be overridden by config) loadout slots. This way, you can have different outfits for different situations without needing to have a separate character slot or edit your loadout every time.
Tested here, works as intended. The current loadout is set as slot 1, so you don't need to worry about remaking it. This also ports the to_file and from_file macros to make it work, I'm assuming they could later be used elsewhere as well.
* Log of Changing
* Optimized garbage collection of radiation sources until we get qdel() hints.
* Made the RADIATION_LOWER_LIMIT configurable (option for people to save some cpu time)
* Added some comments and broke the proccessor into separate procs for profiling purposes
* Added a changelog.
* Its much easier to test out and decide what explosion scalar is nice if you can configure it.
* As an added bonus, by setting it to zero this lets you disable multi-z explosions altogether without turning off all of multi-z.
* Adds system for turfs to have "footstep sounds" that play when someone walks over them.
* Adds system for floor types (the kind of turfs where you can put tiles on them) to support the footstep sounds.
* Adds sounds to plating, tiles, wood, and carpet floor types.
* Footstep sound system is configurable in game_options.txt, it can be turned off completely or the volume adjusted.
Links many map-specific details such as the station name, z-level information, and allowed jobs from global vars to map datum vars, which should help us maintain multiple maps at once in the future, which will be needed for the future Southern Cross.
Note that a config change will be needed to change GENERATE_ASTEROID to GENERATE_MAP, otherwise no changes should be required to continue normal map usage.
To change to a different map, it's suggested to tick the file that ticks all the other needed files, which for the Northern Star is called northern_star.dm.