* event set wip
* Update polaris.dme
* event suits ui set complete
* all onmob states imported
* comments on suit perks/balance
* minor suit pixel fixes
tails are fiddly yo
* minor taj suit polish
* set up suit-slot permitted item lists
* resolve dmi conflicts
* Make intercom power change stateful
* Clean up air tank processing and initialize
* Optimize flashlight processing
* Optimize suit cooler processing
* Optimize geiger counter processing
* Optimize lighting processing
* Only process rigs on a person
* One more rig cleanup
* Adds Rank and Dept Slots
Since BYOND increased the maximum of bitwise operations, it is possible to add a few new slots. I decided to port Bay's Rank and Dept slots, as well as remove the now defunct Torso slot.
* Adds some Terran uniforms
* Ah screw it I am overhauling this
* Renames marine icon
* adds crude clothing sprite for jumpers
* Fixes previous commit
* Renames all army stuff to marines
* Fixes an oversight
* Purges extraneous icons
* Removes duplicate sprites
- Instead of using auto_use_power to re-tally up machinery's power usage every cycle, track the steady "static" load separately from the transient "oneoff" usage. Machines then only need to inform the area when they use oneoff power or *change* their steady usage.
- Remove auto_use_power and stop SSmachines from calling it.
- Add vars to track "static" usage for each of the three power channels to /area
- Rename the existing three vars to "oneoff" so its clear what they mean (and to catch people accidentally updating them directly)
- Update area power procs and APCs to use the new variables.
- Rename /area/proc/use_power() to use_power_oneoff() to make it clear what it is doing.
- Deprecate /obj/machinery/use_power() in favor of use_power_oneoff() but don't delete yet. Can transition gradually.
- Add logic to the update_power procs on machines to calculate the deltas and update static area power whenever their usage changes.
- Add logic to machines to update area power when they are created, destroyed, or move.
- Moved /obj/machinery procs related to area power usage into machinery_power.dm to make them easier to find.
- Added or updated comments in several places to explain what is going on and how to use it.
This adds a system for picture-in-picture UI windows using
vis_contents. Essentially, it allows you to make UI windows that show an area of turfs. It also refactors how cameranet visibility works.
Currently, this is implemented on AIs. They gain two new UI buttons - "Enter Multicam Mode", and "Create Multicam". When they go into Multicam Mode, they see a background of animated binary numbers, and they are allowed to create an infinite amount of these picture in picture windows, which subsequently creates an AI Eye for each one. They are able to control each AI eye individually, by first clicking on the PIP window to select it as "active" and then using the normal arrow key controls. The PIP windows can be freely resized and moved around the area.
You can control everything inside these PIP windows EXACTLY the same as you can using a traditional AI Eye, as demonstrated below.
For admins, there is a config option to disable PIP entirely - simply set `var/multicam_allowed = TRUE` to FALSE if you wish to disable it from being used. (Please be reasonable.) <3
You can see an example of how this works here:

AI Multicam functionality.
Do note that if the lightbulb in the AI core is busted, the multicam room is dark(er) than it would be, but you can still see your camera windows just fine. (I'll probably fix this later.) It only affects the "matrix" backdrop, the PIP windows are still fine.
This has been runtime-tested with the latest `master` revision and produces 0 runtimes, and has no noticeable impact on server CPU usage.
Polarisport is here! Port of https://github.com/VOREStation/VOREStation/pull/7752
* Large amount of work; Animal taming, shearing. Random animal spawns on sif grass/forest turfs. New PoIs, thermal poncho.
* Combat drone DMI moved to drones folder. Mining Drone subtype added. "Tameable" with ores, will collect and store ores when not in active combat.
* Move gameticker to subsystem folder before editing to track history thru rename.
* Refactor the gameticker into SSticker
- Instead of independently spawn'd while/sleep loops, it stores its state and lets the MC fire it.
- Convert relative path indentation procs to absolute path as per modern style standards.
- Break apart the inner loops into separate procs so you can see what is actually going on.
- It now shows up in MC tab, along with stats about what phase it is in.
* Revamp Start Now admin verb to actually wait until init is done before starting.
* Update Lobby stat panel to show voting and server init status.
* Fix: Only call autogamemode vote once.
* Spawn statistic_cycle off to not sleep SSticker.
* Add SStickere changelog
* Change to use to_world and add wrapping spans.
* Added filtering spans by specific request of Polaris.
- Adds circuit boards for shuttle consoles. (Ferry, Multi, and Overmap).
- Deconstructing a console saves the linked shuttle tag in the board for when it is re-constructed. New boards start blank but will auto-link if you build the console on a shuttle.
- Boards know what type of shuttle they can control and will only auto-link with a shuttle if it is the appropriate type.
Note: By default the only mapped-in shuttle consoles that are deconstrutable are overmap and multi shuttle consoles. For any others, consoles built mid-game will be deconstrutable but the mapped-in ones will not. That way the arrival, escape, supply ferry shuttles etc won't be messed with unless the mapper specifically chooses to override and make them that way.
- Infinite powersource, Infinite grid load (powersink without boom) and APC dummy load.
- Not buildable, intended primarily for debugging or admin shenanigans. For mapped-in variants setting show_extended_information = FALSE is recommended.
- Existing consoles remain for now, only refactored to use a shared nano_module. Included by default on engineering consoles, downloadable by anyone with basic engineering access.
- Tidies up the UI a bit, prevents manual toggling of valves when they are in Auto mode (as it would immediately toggle back)
* Port ParadiseSS13/Paradise#2100 - Saycode refactor
* Removed unused old carbon slimes code
* Port ParadiseSS13/Paradise#5099 - Saycode part 2
* Ported ParadiseSS13/Paradise#7170's /datum/browser Check Known Languages
* Port ParadiseSS13/Paradise#9240 - Get rid of alt_name in favor of GetAltName()
* Port ParadiseSS13/Paradise#10330 - You can now use multiple languages in one message
* Addressed Atermonera's review.
Translators now print the full message if they find any languages within the
message that the user doesn't understand, minus languages it cannot translate.
Additionally, the combine_message proc has been significantly simplified
by eliminating an ugly tree structure with the help of a little helper
proc.
The removal of the extra span inside each piece doesn't seem to have
visually changed the messages in any other way than changing where the
wordwrap happens, strangely enough. Must be something in IE's code being
picky about invisible elements. On the bright side, it splits *later*
than it did before, thus reducing the lines a message will take up by a
tiny amount.
Also, a bunch of things now have the 'filter_say' class from
PolarisSS13/Polaris#6998. Since span classes with no definition are
totally valid and just don't do anything, this PR does **not** depend on
that PR being merged first.
* Always gotta be one
- The emergencyShuttle process controller (/datum/controller/process/emergencyShuttle) was just a wrapper around the true workhorse emergency_shuttle anyway.
- The emergency_shuttle (/datum/emergency_shuttle_controller) is the actual controller and it only needs to process during the tiny fraction of the round when the shuttle is getting ready to launch. Therefore we leave it non-processing, and just register/deregister with SSprocessing when it actually needs to.
- Fixes the dropdown options of the /list VV page to actually do anything.
- Fixes the E,C,- links next to each list entry on the /list VV page to actually do anything.
- Fixes the Refresh link on the /list VV page to actually refresh.