diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index 4ffe2a33052..1d6e07b04c6 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -28,7 +28,7 @@
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
component_parts += new /obj/item/stack/cable_coil(null, 2)
RefreshParts()
-
+
/obj/machinery/bodyscanner/upgraded/New()
..()
component_parts = list()
@@ -129,9 +129,9 @@
usr << "[L.name] will not fit into the body scanner because they have a slime latched onto their head."
return
if(L == user)
- visible_message("[user] climbs into the body scanner.", 3)
+ visible_message("[user] climbs into the body scanner.")
else
- visible_message("[user] puts [L.name] into the body scanner.", 3)
+ visible_message("[user] puts [L.name] into the body scanner.")
if (L.client)
L.client.perspective = EYE_PERSPECTIVE
@@ -350,21 +350,21 @@
/obj/machinery/body_scanconsole/attack_ai(user as mob)
return attack_hand(user)
-
+
/obj/machinery/body_scanconsole/attack_ghost(user as mob)
return attack_hand(user)
/obj/machinery/body_scanconsole/attack_hand(user as mob)
if(stat & (NOPOWER|BROKEN))
return
-
+
if (panel_open)
user << "Close the maintenance panel first."
return
-
+
if(!src.connected)
findscanner()
-
+
if (src.connected)
if(!connected.occupant)
user << "The scanner is empty."
diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm
index e20a8d1c491..9905345926b 100644
--- a/code/modules/reagents/newchem/medicine.dm
+++ b/code/modules/reagents/newchem/medicine.dm
@@ -513,16 +513,25 @@ datum/reagent/morphine/addiction_act_stage4(var/mob/living/M as mob)
datum/reagent/oculine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- M.eye_blurry = max(M.eye_blurry-5 , 0)
- M.eye_blind = max(M.eye_blind-5 , 0)
- if(ishuman(M))
- var/mob/living/carbon/human/H = M
- var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"]
- if(istype(E))
- if(E.damage > 0)
- E.damage -= 1
+ if(prob(80))
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"]
+ if(istype(E))
+ E.damage = max(E.damage-1, 0)
+ M.eye_blurry = max(M.eye_blurry-1 , 0)
+ M.ear_damage = max(M.ear_damage-1, 0)
+ if(prob(50))
+ M.disabilities &= ~NEARSIGHTED
+ if(prob(30))
+ M.sdisabilities &= ~BLIND
+ M.eye_blind = 0
+ if(M.ear_damage <= 25)
+ if(prob(30))
+ M.ear_deaf = 0
..()
return
+
/datum/chemical_reaction/oculine
name = "Oculine"
id = "oculine"
diff --git a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_med.dm b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_med.dm
index 02e1f4a65cd..809a8dfd34d 100644
--- a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_med.dm
+++ b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_med.dm
@@ -30,13 +30,6 @@
result_amount = 2
mix_message = "The solvent extracts an antibiotic compound from the fungus."
- audioline
- name = "Audioline"
- id = "audioline"
- result = "audioline"
- required_reagents = list("spaceacillin" = 1, "salglu_solution" = 1, "epinephrine" = 1)
- result_amount = 3
-
rezadone
name = "Rezadone"
id = "rezadone"
diff --git a/code/modules/reagents/oldchem/reagents/reagents_med.dm b/code/modules/reagents/oldchem/reagents/reagents_med.dm
index 696fa6354a5..2bd1ec2c939 100644
--- a/code/modules/reagents/oldchem/reagents/reagents_med.dm
+++ b/code/modules/reagents/oldchem/reagents/reagents_med.dm
@@ -61,20 +61,6 @@
..()
return
-/datum/reagent/audioline
- name = "Audioline"
- id = "audioline"
- description = "Heals ear damage."
- reagent_state = LIQUID
- color = "#6600FF" // rgb: 100, 165, 255
-
-/datum/reagent/audioline/on_mob_life(var/mob/living/M as mob)
- if(!M) M = holder.my_atom
- M.ear_damage = 0
- M.ear_deaf = 0
- ..()
- return
-
/datum/reagent/mitocholide
name = "Mitocholide"
id = "mitocholide"
@@ -91,7 +77,7 @@
for(var/name in H.internal_organs_by_name)
var/obj/item/organ/I = H.internal_organs_by_name[name]
if(I.damage > 0)
- I.damage -= 0.20
+ I.damage = max(I.damage-0.2, 0)
..()
return
diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm
index 6fe84897c3b..d0f70b6482b 100644
--- a/code/modules/surgery/organs_internal.dm
+++ b/code/modules/surgery/organs_internal.dm
@@ -156,6 +156,14 @@
"\blue You treat damage to [target]'s [I.name] with [tool_name]." )
I.damage = 0
+ if(target_zone == "head")
+ target.disabilities &= ~NEARSIGHTED
+ target.sdisabilities &= ~BLIND
+ target.eye_blurry = 0
+ target.eye_blind = 0
+ target.ear_damage = 0
+ target.ear_deaf = 0
+
fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
if (!hasorgans(target))
@@ -193,7 +201,7 @@
if (!..())
return 0
-
+
var/obj/item/organ/external/affected = target.get_organ(target_zone)
if(!(affected && !(affected.status & ORGAN_ROBOT)))
@@ -310,7 +318,7 @@
if(!istype(O))
return 0
-
+
if((affected.status & ORGAN_ROBOT) && !(O.status & ORGAN_ROBOT))
user << "You cannot install a naked organ into a robotic body."
return 2