From 9beae92ef30d3b2d0c6eb717f16e5bae608f24e4 Mon Sep 17 00:00:00 2001 From: Haha26315 Date: Mon, 12 Sep 2022 08:43:56 -0400 Subject: [PATCH] Power fix Fixes a bug with power draw in machines, where if they didn't have an overwritten process procedure they wouldn't draw power. Ex. Chem Masters. This fixes power draw for the safety tether Safety tether now draws roughly balanced amount of power. draws 1kw default, drains about a fourth the apc cell's charge if unupgraded when teleporting. --- code/datums/components/chasm.dm | 2 - code/game/machinery/_machinery.dm | 9 +++- .../code/game/machinery/safety_tether.dm | 46 +++++++----------- .../icons/obj/machinery/safety_tether.dmi | Bin 5472 -> 5474 bytes 4 files changed, 24 insertions(+), 33 deletions(-) diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index 60bf66dcd..1bcbc48b8 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -137,8 +137,6 @@ var/tether_number = GLOB.safety_tethers_list.len - priority_announce("[tether_number] tethers present.") - //If safety tethers are present, get one from the global list to teleport the body to if operational if(tether_number > 0) if(tether_number == 1) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 114492543..cd18282d5 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -157,8 +157,13 @@ Class Procs: /obj/machinery/proc/locate_machinery() return -/obj/machinery/process()//If you dont use process or power why are you here - return PROCESS_KILL +/obj/machinery/process() + + //Here because if the machine doesn't have a process code attached to it or if PROCESS_KILL is returned it will no longer draw power. + if(is_operational()) + return 1 + else + return 0 /obj/machinery/proc/process_atmos()//If you dont use process why are you here return PROCESS_KILL diff --git a/hyperstation/code/game/machinery/safety_tether.dm b/hyperstation/code/game/machinery/safety_tether.dm index cabf2d2e2..e2f6f9ea7 100644 --- a/hyperstation/code/game/machinery/safety_tether.dm +++ b/hyperstation/code/game/machinery/safety_tether.dm @@ -72,10 +72,10 @@ use_power = IDLE_POWER_USE power_channel = EQUIP - idle_power_usage = 500 - var/teleport_power_usage = 10000 + idle_power_usage = 1000 + var/teleport_power_usage = 1000000 //Uses about a fourth of the upgraded power cell plus default in APCs - var/critical_machine = FALSE //If this machine is critical to station operation and should have the area be excempted from power failures. + critical_machine = FALSE //If this machine is critical to station operation and should have the area be excempted from power failures. var/internal_radio = TRUE var/obj/item/radio/radio @@ -101,31 +101,24 @@ //ensures light is properly centered around the tether. Removes lighting system's pixel approximation that breaks it. light_source = get_turf(src) update_icon() + power_change() //Here to start lights on ititialization. + +/obj/machinery/safety_tether/Destroy() + QDEL_NULL(radio) + GLOB.safety_tethers_list -= src + . = ..() /obj/machinery/safety_tether/doMove(atom/destination) . = ..() //ensures light is properly centered around the tether. Removes lighting system's pixel approximation that breaks it. light_source = get_turf(src) - return . -/obj/machinery/safety_tether/Destroy() - QDEL_NULL(radio) - - GLOB.safety_tethers_list -= src - - //if made into connected machine later, like gravgen - //if(connected) - // connected.DetachCloner(src) - - . = ..() - /obj/machinery/safety_tether/update_icon() cut_overlays() if(is_operational()) add_overlay("operational_overlay") -//Clonepod /obj/machinery/safety_tether/examine(mob/user) . = ..() @@ -141,21 +134,18 @@ //Returns true if teleport is successful, false otherwise /obj/machinery/safety_tether/proc/bungee_teleport(mob/living/M) - priority_announce("Tether bungee activated!") - if(ismovableatom(M) && is_operational() != 0 && do_teleport(M, get_turf(src), channel = TELEPORT_CHANNEL_BLUESPACE)) use_power(teleport_power_usage) M.spawn_gibs() M.emote("scream") + //priority_announce("[M] ([key_name(M)]) had a tether mishap") + if(iscarbon(M)) var/mob/living/carbon/Carbon = M - //Rework to teleporter mishap - priority_announce("[Carbon] ([key_name(Carbon)]) had a tether mishap") - to_chat(Carbon, "Buzzing static snaps taut on your chest....") Carbon.adjustCloneLoss(rand(40,75)) @@ -209,8 +199,6 @@ else if(issilicon(M)) var/mob/living/silicon/S = M - //Rework to teleporter mishap - priority_announce("[S] ([key_name(S)]) had a tether mishap") to_chat(S, "Your circuits spark, slag, and pop as overwhelming white noise crackles and YANKS...") S.apply_damage_type(damage = rand(silicon_burn_min, silicon_burn_max), damagetype = BURN) @@ -229,10 +217,11 @@ //Updates machine icon and lighting every time power in the area changes /obj/machinery/safety_tether/power_change() . = ..() - if(stat & NOPOWER) - light_source.set_light(0) - else - light_source.set_light(brightness_on, light_power, light_color) + if(light_source) + if(stat & NOPOWER) + light_source.set_light(0) + else + light_source.set_light(brightness_on, light_power, light_color) update_icon() //possible emagging or other interactions later, like EMPs @@ -316,5 +305,4 @@ //#undef SPEAK #undef SPEAKMEDICAL -#undef SPEAKSCIENCE - +#undef SPEAKSCIENCE \ No newline at end of file diff --git a/hyperstation/icons/obj/machinery/safety_tether.dmi b/hyperstation/icons/obj/machinery/safety_tether.dmi index cd56af83cc3e58e9219deb98be4665a1338a0230..fcf4b788be35a1cd6cb842a085ee9ecdcb2aeb49 100644 GIT binary patch delta 5246 zcmbVOcT`i|m!$|O#n7u5K*d6dG!cPN1Va_%lOipMhAQ~+g$~K1sB}URQ4j)BL^=v0 zic+LVlTHw&h87|vA(VtbCjMs4n%|oFXV$#6?pyEeb6WEF; zwr0=wfLEBXO2>rdET2Ev_Ue9^p86f2UY{)$Lk$2^2)944KPW3zE}WvwF#7iP&I4@p zS?N4%*yy&#u=Mh)gQF>G#glQ>_soK?Q+A4#G<31sR|XCaj?kk34jSP0#@NSC$LdeE z80lf#wIp`Tmt_Txw6^v}8TMyWs`-i|!&Hb=h~ms5)G#z7ewUa!&@<%R!QddZChsM5_-8JWwkHIMTo zkZYPBzoJ*y&3Q6YmT`IWogIoo6DymDPHKRm^k&ub|U)QoK9ie*08Ea$Da zO1w82GF%@Zt4HXE+aFovpfq*2hIMNB`wII8L`&nYoWsUqrZIlYoidY{TF?_+%n zeL2OfzU4)d52&PD9C=GO)r1+5pbUV~qb;9ChGAshot_xlKAXdNN4u`Iv;)KWZjYc&Z*vocLAm zB0~|vSdzbip>SenO6pd)B5^%#uNY@2MwX(qfyMi2>dJHWo&~P-db+O*)%MJY5%0Dz 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 YI?<~`mm$1S*};3xow;C9X67FAZ_SgaKL7v#