- 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.
- Circuit boards should use type paths not strings.
- Use standard default component creation pattern.
- Fix race condition between /datum/ntnet/New and NTNet relay Initialize()
- New() on atoms needs to call parent.
- Destroy() needs to return a qdel hint.
- Only add yourself to processing in Initialize() to make sure globals are instantiated.
- Fix missing scrubber in engineering.
- Shutter added to Kitchen door.
- Pressure Regulators at atmospheric cutoffs start unregulated at roundstart.
- Set Modular Computers layer to 2.9 to bring them inline with regular computer layering.
- Pump to distro set to 301 kpa to help offset issues with cutoff valves.
- One phase pistol to each explorer locker.
- One holster to each explorer locker.
* Combat Mechs Can Punch More Things
Removes the var to check for the 5 things it can attack, instead it can punch anything (but not everything will take damage).
Gives punching objects a check so you don't accidently smash something without meaning to.
Gives closets and canisters a proc to take_damage so they'll actually get smashed by the mechs.
* Take_Damage Boogaloo
* More take_damage Stuff
Adds click delay on attacking barriers.
Proper noises when attacking material doors and barricades.
More stuff can be broken by mech punch and simple mobs.
* Adds changelong
* usr to user