From 2b093fa4382f8d570c1658d54abac3e8e3ab41db Mon Sep 17 00:00:00 2001 From: 1080pCat <96908085+1080pCat@users.noreply.github.com> Date: Tue, 20 Aug 2024 07:20:37 +1000 Subject: [PATCH] You can now feel how hot the damage medbeam is. and slightly changes the description (#26439) * You can now feel how hot the damage medbeam is. and tweaks the description slightly * updates the description a little more * Update code/modules/projectiles/guns/medbeam.dm Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> Signed-off-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> * Update code/modules/projectiles/guns/medbeam.dm Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> Signed-off-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> --------- Signed-off-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> --- code/modules/projectiles/guns/medbeam.dm | 25 +++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm index 6c5836846ce..1c19cb35602 100644 --- a/code/modules/projectiles/guns/medbeam.dm +++ b/code/modules/projectiles/guns/medbeam.dm @@ -137,7 +137,7 @@ /obj/item/gun/medbeam/damaged name = "damaged beamgun" - desc = "Delivers volatile medical nanites in a focused beam. Don't cross the beams! It is damaged and will rapidly overheat." + desc = "Delivers volatile medical nanites in a focused beam. Don't cross the beams!" ///How hot the beamgun is, if it hits max heat it will break var/current_heat = 0 ///How much heat the beamgun needs to break @@ -157,10 +157,10 @@ /obj/item/gun/medbeam/damaged/examine(mob/user) //The 8 Trials of Asclepius . = ..() - if(!broken) - return - - . += "It is broken, and will not function without repairs." + . += "This ones cooling systems are damaged beyond repair, and will overheat rapidly. \ + Despite the damaged cooling system, it's still mostly functional. However, if overheated, it will need to be repaired." + if(broken) + . += "It is broken, and will not function without repairs." switch(broken) if(SCREWDRIVER_OPEN) . += "The panel can be screwed open to access the internals." @@ -179,6 +179,19 @@ if(SCREWDRIVER_CLOSED) . += "The panel needs to be screwed shut before it is usable." + if(!in_range(src, user)) + return + var/heat_percent = (current_heat / max_heat) * 100 + switch(heat_percent) + if(20 to 39) + . += "[src] feels warm." + if(40 to 59) + . += "[src] feels hot." + if(60 to 74) // i want it to be in the 'smoke' range at ~40 heat so as magic smoke is sudden but quick reaction time can stop it + . += "[src] is so hot it hurts to hold." + if(75 to INFINITY) + . += "[src] is emitting its magic smoke and is practically melting." + /obj/item/gun/medbeam/damaged/process() . = ..() if(current_target) @@ -197,6 +210,8 @@ if(current_heat >= max_heat) user.visible_message("[src] pops as it shuts off!", "[src] pops and hisses as it shuts off. It is broken.") broken = SCREWDRIVER_OPEN + playsound(src, 'sound/effects/snap.ogg', 70, TRUE) // that didn't sound good... + user.adjustFireLoss(30) // you do NOT want to be holding this if it breaks. 5 more damage than hive lord cores heal, so not /thattt/ bad user.adjust_fire_stacks(20) user.IgniteMob() LoseTarget()