NB. In some cases we go from a more complex image() to a single icon_state string and I assume this works for every case but do not care to check because of the sheer scale of extra fiddly effort. Buyer beware, not my code.
* get_tool_quality has numerical meaning
* Basic tools set tool quality
* Toolspeed is replaced by tool quality checks
* Addresses assorted results from live test
* Extra cleanup
Fixes for:
Basic NTnet cards being unable to reach telecomms from the station
Shuttles not showing location details when landed
Ship sensors printing blank papers
Certain shuttles not clearing weather visuals on landing
Ninja/merc elite shuttles being unable to dock
Mislabeled west solar SMES
Engine flow/pump sensors not connected to cooling system computer
Fixes a few non-cold tiles in telecomms compartment
Adds a few missing rails
Also, tweaks surgery rooms a bit
This makes it identical to it's real-life counterpart, and brings some actual sprite improvements upstream from Virgo.
Earlyport of https://github.com/VOREStation/VOREStation/pull/8812 with an actual rename of the gas, ID, and sprite used.
- 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.
- 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)
- This mirrors original sources from Bay. Nano file was apparently moved from there, but code file was not.
- As for intent of this function (i coded it originally on Bay), EPR can be considered "Amount of canisters worth of gas in the core chamber", hence the weird 23.1 constant. Unlike pressure reading, this does not change with temperature, so it can be used to accurately monitor actual amount of gas in the chamber without having to take temperature in effect.
- I know the constant is kind of shady. It could possibly be recalculated using atmos constants, but i suck at math too much to do that. If anyone who knows atmos math can find a better alternative, i will gladly toss it in instead.
- This will let us react to the change appropriately.
- While we're here, lets define some constants so we can stop using bare numbers.
- Always use those constants when calling update_use_power()
* Somewhat cleans up a piece of job code, makes new ID computers not be awful.
* Changes ROLE_ defines to DEPARTMENT_ to be clearer. Backports the new ID computer's assignment section of its UI to the old ID computer.
* Swaps back to southern cross map.
* Removes a block of commented code.