diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm
index ff35a795b5a..81557f597c1 100644
--- a/code/modules/mob/living/bot/bot.dm
+++ b/code/modules/mob/living/bot/bot.dm
@@ -88,13 +88,13 @@
/mob/living/bot/attackby(var/obj/item/O, var/mob/user)
if(O.GetID())
- if(access_scanner.allowed(user) && !open && !emagged)
+ if(access_scanner.allowed(user) && !open)
locked = !locked
to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]")
attack_hand(user)
- else
if(emagged)
- to_chat(user, "ERROR")
+ to_chat(user, "ERROR! SYSTEMS COMPROMISED!")
+ else
if(open)
to_chat(user, "Please close the access panel before locking it.")
else
@@ -111,7 +111,15 @@
else if(istype(O, /obj/item/weapon/weldingtool))
if(health < getMaxHealth())
if(open)
- health = min(getMaxHealth(), health + 10)
+ if(getBruteLoss() < 10)
+ bruteloss = 0
+ else
+ bruteloss = bruteloss - 10
+ if(getFireLoss() < 10)
+ fireloss = 0
+ else
+ fireloss = fireloss - 10
+ updatehealth()
user.visible_message("[user] repairs [src].","You repair [src].")
playsound(src, O.usesound, 50, 1)
else
@@ -119,6 +127,13 @@
else
to_chat(user, "[src] does not need a repair.")
return
+ else if(istype(O, /obj/item/device/assembly/prox_sensor) && emagged)
+ if(open)
+ to_chat(user, "You repair the bot's systems.")
+ emagged = 0
+ qdel(O)
+ else
+ to_chat(user, "Unable to repair with the maintenance panel closed.")
else
..()
diff --git a/html/changelogs/Nalarac - Bot Repairing.yml b/html/changelogs/Nalarac - Bot Repairing.yml
new file mode 100644
index 00000000000..77ed797ef9f
--- /dev/null
+++ b/html/changelogs/Nalarac - Bot Repairing.yml
@@ -0,0 +1,37 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+#################################
+
+# Your name.
+author: Nalarac
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - bugfix: "Repairing bots (like Beepsky) works now."
+ - rscadd: "Emagged bots can be repaired with proximity sensors."