Adds what I hope to be able to make a sort of intelligent system that in the future will be able to decide what event would be the best to choose at any given moment. A lot of this will probably get rewritten later.
You can use the new debug verb Show GM Status to have it show some data about itself, such as player activity across the whole server.
Currently, the system cannot actually run any events, as they don't exist and it's been disabled. The plan is to have the events themselves do most of the heavy lifting for stuff like set-up and weights.
When the overarching system is more refined, a lot of new events will be madem and most of our old ones will be ported, and improved upon too.
For now, adding this lets me see what the system thinks about a round that has people playing on it and not just me on a test server.
Changes some magic numbers to be bigger magic numbers, in the hopes that more stuff happens during a low-pop round, and that some rare events like drones and meteors will fire more often.
Adds a new type of turf, which is a cracked asteroid floor. It is functionally a space tile, which means air can escape through the cracks and into the void. These cracks can be plugged by building a floor over them using rods and tiles. The cracks are generated randomly along with the asteroid whenever a floor is placed, with a 1 in 10 chance of it being a cracked floor.
- Added unarmored versions of the grey and brown trenchcoats to the loadout.
- Added their accompanying fedoras as well.
- Added a unarmored variant of the 'gentlemen's coat' to the loadout as well, called grey jacket.
Drone assembly can be made in RnD now.
Adds injector component, which does what it implies, and injects a reagent into someone or something nearby.
Adds reagent pump, similar to the above but meant for moving reagents around different containers, inside or outside of the machine.
Adds adjacent locator, which can find specific objects next to the machine.
Adds two flavors of the reagent storage component, which does what it says. The second variant is a cryo-beaker version.
Ports PsiOmegaDelta's port of integrated circuits, which has several improvements in code quality.
Ports a few small things like the weakref datum and some macros.
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.
Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it. This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files. In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.
The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.