diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index 9617dd5a7..6f4542aa0 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -123,7 +123,8 @@ var/mob/living/L = AM L.notransform = TRUE L.Stun(200) - L.resting = TRUE + if(!issilicon(AM)) + L.resting = TRUE if(L.client && check_rights_for(L.client, R_FUN)) playsound(AM, pick('hyperstation/sound/misc/yodadeath.ogg', 'hyperstation/sound/misc/fallingthroughclouds.ogg', 'hyperstation/sound/misc/goofy.ogg', 'hyperstation/sound/misc/wilhelm.ogg'), 100, 0) @@ -173,6 +174,8 @@ L.notransform = FALSE else finishdrop(AM, oldtransform, oldcolor, oldalpha) + else + finishdrop(AM, oldtransform, oldcolor, oldalpha) /datum/component/chasm/proc/finishdrop(atom/movable/AM, oldalpha = "", oldcolor = "", oldtransform = "") diff --git a/hyperstation/code/game/machinery/safety_tether.dm b/hyperstation/code/game/machinery/safety_tether.dm index 89e16aba9..8db7fa0ca 100644 --- a/hyperstation/code/game/machinery/safety_tether.dm +++ b/hyperstation/code/game/machinery/safety_tether.dm @@ -37,9 +37,17 @@ var/cloneloss_min = 45 var/cloneloss_max = 70 - //Max and min amounts of burn damage for silicates - var/silicon_burn_min = 60 - var/silicon_burn_max = 80 + //Max and min amounts of burn damage for silicates. + /* + Cyborg health guide + 100; max health + <50; module 3 offline + <0; module 2 offline + <-50; module 3 offline + -100+; death + */ + var/silicon_burn_min = 120 + var/silicon_burn_max = 140 var/internal_radio = TRUE var/obj/item/radio/radio @@ -67,6 +75,9 @@ radio.canhear_range = 0 radio.recalculateChannels() + var/matrix/M = src.transform + src.transform = M.Translate(-32,-32) + update_icon() /obj/machinery/safety_tether/Destroy() @@ -111,6 +122,7 @@ M.emote("scream") if(iscarbon(M)) + var/mob/living/carbon/Carbon = M //Rework to teleporter mishap @@ -162,24 +174,25 @@ //animate(M, transform = oldtransform, alpha = oldalpha, color = oldcolor, time = 10) - M.transform = oldtransform - M.alpha = oldalpha - M.color = oldcolor + //M.transform = oldtransform + //M.alpha = oldalpha + //M.color = oldcolor + 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) - return TRUE - 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) + if(internal_radio) - if(internal_radio) + //Area name gotten just in case the locale of it's moved from engineering when mapmaking. + var/area/A = get_area(get_turf(src)) + var/area_name = A.name + SPEAKSCIENCE("The safety tether's caught the would-be crater [M] at the [area_name].") - //Area name gotten just in case the locale of it's moved from engineering when mapmaking. - var/area/A = get_area(get_turf(src)) - var/area_name = A.name - SPEAKSCIENCE("The safety tether's caught the would-be crater [M] at the [area_name].") + return TRUE else //drop them to their doom