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()