mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 16:10:02 +01:00
Lag War Day 4: Under Pressure, High Voltage (#21878)
Replace /datum/gas_mixture/proc/return_pressure with XGM_PRESSURE(xgm) macro. Having such a relatively simple statement contributing proc overhead to procs called millions of times is ridiculous Rename /datum/gas_mixture/proc/zburn to react, deleting the old react which was just an alias for it. Free proc overhead Turn check_combustibility into a macro CHECK_COMBUSTIBLE(is_cmb, xgm). also rewrite it slightly so that it only needs to do one pass. Its a bit nasty so I apologize for that, but speeeeed. Delete most powernet and obj/machinery/power procs for handling power, replacing them with macros. The fact that we were unironically calling a draw_power() on APCs to call draw_power() on their terminals to call draw_power() on their powernet every single process tick was insane. Turn `between` into a macro alias for clamp() since the param order is different turn `Percent` into a macro AS_PCT Rewrite significant chunks of update_canmove so its not quite as horrifying of a proc and hopefully doesn't eat the entire mob subsystem every movement now
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
return
|
||||
. += "The valve is dialed to <b>[pressure_setting]%</b>."
|
||||
if(tank)
|
||||
. += "The tank dial reads <b>[tank.air_contents.return_pressure()] kPa</b>."
|
||||
. += "The tank dial reads <b>[XGM_PRESSURE(tank.air_contents)] kPa</b>."
|
||||
else
|
||||
. += "Nothing is attached to the tank valve!"
|
||||
|
||||
@@ -101,9 +101,9 @@
|
||||
if(T)
|
||||
var/datum/gas_mixture/environment = T.return_air()
|
||||
if(environment)
|
||||
environment_pressure = environment.return_pressure()
|
||||
environment_pressure = XGM_PRESSURE(environment)
|
||||
|
||||
fire_pressure = (tank.air_contents.return_pressure() - environment_pressure)*pressure_setting/100
|
||||
fire_pressure = (XGM_PRESSURE(tank.air_contents) - environment_pressure)*pressure_setting/100
|
||||
if(fire_pressure < 10)
|
||||
to_chat(user, "There isn't enough gas in the tank to fire [src].")
|
||||
return null
|
||||
|
||||
Reference in New Issue
Block a user