diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index d90ce051b49..c1839937dc3 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -268,9 +268,6 @@
if(!do_mob(user, H, 50))
return
item_heal_robotic(H, user, 5, 0)
- return
- else
- return
else
return ..()
diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm
index 819d8ac9975..2fa1416c129 100644
--- a/code/modules/clothing/masks/hailer.dm
+++ b/code/modules/clothing/masks/hailer.dm
@@ -12,6 +12,7 @@
visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
visor_flags_inv = HIDEFACE
flags_cover = MASKCOVERSMOUTH
+ visor_flags_cover = MASKCOVERSMOUTH
var/aggressiveness = 2
var/cooldown_special
var/recent_uses = 0
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 2d95d154002..584fa91045b 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -63,9 +63,9 @@ There are several things that need to be remembered:
for(var/X in bodyparts)
var/obj/item/bodypart/BP = X
if(BP.brutestate)
- standing.overlays += "[dmgoverlaytype][BP.icon_state]_[BP.brutestate]0" //we're adding icon_states of the base image as overlays
+ standing.overlays += "[dmgoverlaytype][BP.body_zone]_[BP.brutestate]0" //we're adding icon_states of the base image as overlays
if(BP.burnstate)
- standing.overlays += "[dmgoverlaytype][BP.icon_state]_0[BP.burnstate]"
+ standing.overlays += "[dmgoverlaytype][BP.body_zone]_0[BP.burnstate]"
apply_overlay(DAMAGE_LAYER)
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index f9f5561661f..83e650ed67d 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -414,28 +414,21 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
alert_overlay.layer = FLOAT_LAYER
A.overlays += alert_overlay
-/proc/item_heal_robotic(mob/living/carbon/human/H, mob/user, brute, burn)
+/proc/item_heal_robotic(mob/living/carbon/human/H, mob/user, brute_heal, burn_heal)
var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected))
-
- var/dam //changes repair text based on how much brute/burn was supplied
-
- if(brute > burn)
- dam = 1
- else
- dam = 0
-
if(affecting && affecting.status == ORGAN_ROBOTIC)
- if((brute > 0 && affecting.brute_dam > 0) || (burn > 0 && affecting.burn_dam > 0))
- affecting.heal_damage(brute,burn,1)
- H.update_damage_overlays(0)
- H.updatehealth()
+ var/dam //changes repair text based on how much brute/burn was supplied
+ if(brute_heal > burn_heal)
+ dam = 1
+ else
+ dam = 0
+ if((brute_heal > 0 && affecting.brute_dam > 0) || (burn_heal > 0 && affecting.burn_dam > 0))
+ affecting.heal_damage(brute_heal,burn_heal,1)
user.visible_message("[user] has fixed some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting].", "You fix some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting].")
- return
+ return 1 //successful heal
else
user << "[H]'s [affecting] is already in good condition!"
- return
- else
- return
+
/proc/IsAdminGhost(var/mob/user)
if(!user) //Are they a mob? Auto interface updates call this with a null src
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 51b6eb9558f..fb20f6c8ee1 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -517,8 +517,8 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \
user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.name].", "You start fixing some of the wires in [H]'s [affecting.name].")
if(!do_mob(user, H, 50))
return
- item_heal_robotic(H, user, 0, 5)
- src.use(1)
+ if(item_heal_robotic(H, user, 0, 5))
+ use(1)
return
else
return ..()
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index dfd361a885b..e51445ce616 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -522,6 +522,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
griefProtection()
var/choice = alert("R&D Console Database Reset", "Are you sure you want to reset the R&D console's database? Data lost cannot be recovered.", "Continue", "Cancel")
if(choice == "Continue")
+ message_admins("[key_name_admin(usr)] reset \the [src.name]'s database")
+ log_game("[key_name_admin(usr)] reset \the [src.name]'s database")
screen = 0.0
qdel(files)
files = new /datum/research(src)
diff --git a/icons/mob/augments.dmi b/icons/mob/augments.dmi
index 2b7239ba1a9..8cbb3f03d5e 100644
Binary files a/icons/mob/augments.dmi and b/icons/mob/augments.dmi differ