Changes the toggle helmet camera verb to a proc
Adds a check in the initialization of spacesuit helmets to see if it has a camera network.
Removes said check from the proc itself.
Basically this means you won't get the toggle-camera verb if you don't have one on your helmet.
Welding in a RIG/spacesuit is currently broken. This PR fixes it. It was broken for two reasons.
First, the proc to get flash protection assumed the RIG was a clothing item, and as such thought it had variables it doesn't. So it would runtime.
Second, spacesuit helmets lost their flash protection for some reason. This has been reversed.
Do I really need to explain why it's dumb for this to appear on Syndie
suits, or NASA suits, or CentCom suits, or any other suits that don't
explicitly belong to the station?
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.
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.
Makes the name of the starsystem and station generic such that it can be modified in global.dm and replace the strings where it is used. This won't have an effect on Polaris itself, but makes changing the name much more simple for forks. Using string concat constants on the advice of Psi.
Fixes mistake involving belts.
Fixes mistake involving bags allowing w_class 5 items, which was from the manual merge.
Polaris tweaks
Makes inflatables w_class 3.
Spacesuits and RIGs are now w_class 5.
Both sniper weapons are now w_class 5.
Makes more inventories able to use the volume based system.
Cleans up the cig part of the port a bit.
Clothes now have a flash protection and tint level. If one is wearing multiple items with these modifiers they do stack.
Glasses also have a number of additional additions such as sight flags, see_invis level, and so forth.
Flash protection comes in 4 levels: Reduced, none, moderate, major.
Reduced protection, for example, means the user takes increased damaged from welding.
Moderate protection safeguards mobs from flashes, flash grenades, projectors, etc.
Major protection protects from the above as well as welding.
Tint also comes in 4 levels: None, moderate, heavy, blind
Moderate tint will apply the nearsighted overlay.
Major tint will apply the welding overlay.
Blind will apply the blindness overlay.
The end result is an attempt of less type checking. Any set of glasses may now also contain HUD glasses.
This should make a future rewrite of HUD glasses easier (could have the HUD functionality be a datum rather than separate item).