From 3d433aa7e57ef9114b8f8ebc1b26d74cdc7b3e32 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Sat, 22 Feb 2025 19:24:54 +0100 Subject: [PATCH] added icons (by AlManiak), lighting and sound, as well as made it dense --- .../code/modules/power/energy_harvester.dm | 23 ++++++++++++++---- GainStation13/icons/obj/energy_harvester.dmi | Bin 0 -> 1775 bytes 2 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 GainStation13/icons/obj/energy_harvester.dmi diff --git a/GainStation13/code/modules/power/energy_harvester.dm b/GainStation13/code/modules/power/energy_harvester.dm index 54af763bb1..74ccf93a82 100644 --- a/GainStation13/code/modules/power/energy_harvester.dm +++ b/GainStation13/code/modules/power/energy_harvester.dm @@ -5,12 +5,12 @@ /obj/machinery/power/energy_harvester desc = "A Device which upon connection to a node, will harvest the energy and send it to engineerless stations in return for credits, derived from a syndicate powersink model. The instructions say to never use more than 4 harvesters at a time." name = "Energy Harvesting Module" - density = FALSE + density = TRUE use_power = NO_POWER_USE - // anchored = FALSE - icon = 'GainStation13/icons/obj/adipoelectric_transformer.dmi' - icon_state = "state_off" + icon = 'GainStation13/icons/obj/energy_harvester.dmi' // by AlManiak + icon_state = "off" circuit = /obj/item/circuitboard/machine/energy_harvester + var/datum/looping_sound/generator/soundloop var/maximum_net_drain_percentage = 0.05 @@ -21,6 +21,7 @@ /obj/machinery/power/energy_harvester/Initialize(mapload) . = ..() + soundloop = new(src, active) RefreshParts() if(anchored) connect_to_network() @@ -31,6 +32,10 @@ return power_available = avail() +/obj/machinery/power/energy_harvester/Destroy() + QDEL_NULL(soundloop) + return ..() + /obj/machinery/power/energy_harvester/RefreshParts() var/capacitor_rating = 0 var/manipulator_rating = 0 @@ -95,7 +100,7 @@ return TRUE if(!active) - default_deconstruction_screwdriver(user, "state_open", "state_off", I) + default_deconstruction_screwdriver(user, "open", "off", I) return TRUE return FALSE @@ -150,6 +155,14 @@ playsound(src, 'sound/machines/buzz-two.ogg', 50) return active = !active + if(active) + icon_state = "on" + set_light(1, 1, "#9999FF") + soundloop.start() + else + icon_state = "off" + set_light(0) + soundloop.stop() . = TRUE if("drain_percentage") var/target = params["target"] diff --git a/GainStation13/icons/obj/energy_harvester.dmi b/GainStation13/icons/obj/energy_harvester.dmi new file mode 100644 index 0000000000000000000000000000000000000000..07ca91a822ba918cd992ead064d27fa573a6016d GIT binary patch literal 1775 zcmVK@nE;o;$P(b0X}-2D9fis|Wt;^K_!>zSFE zhK7d0!NG1d4Kp({YRJf;p`nyU5>ZW4X=-XPFE8Y59M_6fdv$e`l$2gxUfG>=->;70 z&AvN3JAr|LadB}~R91w3hmeYttf#KZ$IOf?D{ew0ytOAXSr@D_GOT1W`|>twzA*m) z0842v6a;oPOCZ)68UJYj*3#LrcpG2K=Xc%fUd-uf&);9o<&L0KmY&4@$JV00001bW%=J06^y0W&i*He0o$^bVOxy zV{&P5bZKvH004NLQ&wG2rI&tr+nv+-w z64rr2E@cH*KNqlj0l=>@S%@gs)c^nl^+`lQRA_@;2X{XfQZK_D)YFyh&>KX#r3E4(`ApaVF+0|2C~(KHMo zF%@s!`^=R3w>$Sgmqbu;%iOVAU&s=48eiU*B~b8guhr`9$PzRf@)am}&+PTAT}guK z=fJkf#{+xsq0ApVY8sEKaGU%f-s?;K4bU{e{`TCCHU>Db9Erc{x=q8~Z&c$p=H{;Z zRfF4=u?{{$S9}C=ZX@39gMm1{0ftRuD6UZnZdzW+H z4!|W4*FeP|qdQ@TavNQ@b~Zj*Ar2s{ftq{3v|?`Cb~-+-fVc)_xaUPRDl}99QUXy8 z%J5zvIF5kh#ghPn8kFK)3jnY9ULzGi-)5)=`$cOk!3W-GG(t5h;N$sBDS1i|UE`SHow+1WSWqRq+i{Mjkm zIje_*5ZSpuM@A>$k$;Z&*2Bp`T%7xh%gZ^j%gcp-evvMsCTA0tSI?hcEyV$@>suSFhi^eH{w<@|Sl7 z{s51IF!cQ;TH>!)%cbv!A=#Pbi?=vKDCEWdHF*7<-B$8kClwe^gTqsdn>vA$NtxUN)p&&eGdVIP{N6k{@}eN!Oe=-_b~c^kd4#& ze;s|S*KCiZKiF)@$Ahlb=MFj^!DxKI^K~*}IZ~WAHaDg3A)lgvCkf(lQGb9Bj!n(z zdq|HiiJ#%??5M~;N9+?oeP1~t7#>=Ej0(*Q>_1Ux(;&w!xiN)?HyMDsaHP24E_hMi`P-@H%hwhx>;O#3Hc;{jH$rsc32Y&P`fSPOXS0P!i!@@$DC{V&w_ ztUnmw8l+Al{flzG#@P%+-{VGItpA;xhfc)#OAN;TH+|keeJv4vZ(B0`?-2b@c`gC= zce-MKvci#E|MUF;ccnn)?@9UxS^=59&+7m9UWKtgxa0Vm`OAtT*m%L}viLZJ;pc_AWKOlYnuNR-{d-?N!T~oau&^6Wj0WDMY z2fESa`d&M}O5f{R8GWy7N_}5b0-^rb4X@Dm+VK_d5426G?{)1zrSG@4e*h0F$2kD3 RZM^^h002ovPDHLkV1gveqnQ8z literal 0 HcmV?d00001