Feature: Clown recycler, a new Cmag effect (#28233)

* banana touched recycler

* 2 returns

* droppable clothing

* no more clown genes

* foghorn sound effect

* ITS HARMLESS

* review

* Update code/datums/spells/banana_touch.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Toastical <vnndvp@gmail.com>

* Update code/datums/spells/banana_touch.dm

oh theyre 2

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Toastical <vnndvp@gmail.com>

---------

Signed-off-by: Toastical <vnndvp@gmail.com>
Co-authored-by: Toastical <toastical@toaster.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
Toastical
2025-02-10 02:56:18 +00:00
committed by GitHub
co-authored by Luc Toastical
parent 7da09f5e72
commit 404f11fa4c
2 changed files with 64 additions and 2 deletions
+30 -2
View File
@@ -49,7 +49,10 @@
. = ..()
. += "<span class='notice'>The power light is [(stat & NOPOWER) ? "<b>off</b>" : "<b>on</b>"]."
. += "The operation light is [emergency_mode ? "<b>off</b>. [src] has detected a forbidden object with its sensors, and has shut down temporarily." : "<b>on</b>. [src] is active."]"
. += "The safety sensor light is [emagged ? "<b>off</b>!" : "<b>on</b>."]</span>"
if(HAS_TRAIT(src, TRAIT_CMAGGED))
. += "The safety sensor light is <font color=red>R</font><font color=green>G</font><font color=blue>B</font>.</span>"
else
. += "The safety sensor light is [emagged ? "<b>off</b>!" : "<b>on</b>."]</span>"
. += "The recycler current accepts items from [dir2text(eat_dir)]."
/obj/machinery/recycler/power_change()
@@ -77,9 +80,23 @@
if(default_unfasten_wrench(user, I, time = 6 SECONDS))
return TRUE
/obj/machinery/recycler/cmag_act(mob/user)
if(emagged)
to_chat(user, "<span class='warning'>The board is completely fried.</span>")
return FALSE
if(!HAS_TRAIT(src, TRAIT_CMAGGED))
ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG)
if(emergency_mode)
emergency_mode = FALSE
update_icon(UPDATE_ICON_STATE)
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
to_chat(user, "<span class='notice'>You use the jestographic sequencer on [src].</span>")
return TRUE
/obj/machinery/recycler/emag_act(mob/user)
if(HAS_TRAIT(src, TRAIT_CMAGGED))
to_chat(user, "<span class='warning'>The access panel is coated in yellow ooze...</span>")
return FALSE
if(!emagged)
emagged = TRUE
if(emergency_mode)
@@ -127,6 +144,8 @@
else if(isliving(AM))
if(emagged)
crush_living(AM)
else if(HAS_TRAIT(src, TRAIT_CMAGGED))
bananafication(AM)
else
emergency_stop(AM)
else if(isitem(AM))
@@ -165,6 +184,15 @@
emergency_mode = FALSE
update_icon(UPDATE_ICON_STATE)
/obj/machinery/recycler/proc/bananafication(mob/living/L)
L.loc = loc
if(!iscarbon(L))
playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
return
var/mob/living/carbon/human/victim = L
playsound(src, 'sound/items/AirHorn.ogg', 100, TRUE, -1)
victim.bananatouched_harmless()
/obj/machinery/recycler/proc/crush_living(mob/living/L)
L.loc = loc