diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index dde2f168b0..d878dd74fe 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -75,11 +75,11 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(affecting.open)
- user << "The [affecting.name] is cut open, you'll need more than a bandage!"
+ to_chat(user, "The [affecting.name] is cut open, you'll need more than a bandage!")
return
if(affecting.is_bandaged())
- user << "The wounds on [M]'s [affecting.name] have already been bandaged."
+ to_chat(user, "The wounds on [M]'s [affecting.name] have already been bandaged.")
return 1
else
user.visible_message("\The [user] starts treating [M]'s [affecting.name].", \
@@ -93,9 +93,13 @@
if(used == amount)
break
if(!do_mob(user, M, W.damage/5))
- user << "You must stand still to bandage wounds."
+ to_chat(user, "You must stand still to bandage wounds.")
break
+ if(affecting.is_bandaged()) // We do a second check after the delay, in case it was bandaged after the first check.
+ to_chat(user, "The wounds on [M]'s [affecting.name] have already been bandaged.")
+ return 1
+
if (W.current_stage <= W.max_bleeding_stage)
user.visible_message("\The [user] bandages \a [W.desc] on [M]'s [affecting.name].", \
"You bandage \a [W.desc] on [M]'s [affecting.name]." )
@@ -111,9 +115,9 @@
affecting.update_damages()
if(used == amount)
if(affecting.is_bandaged())
- user << "\The [src] is used up."
+ to_chat(user, "\The [src] is used up.")
else
- user << "\The [src] is used up, but there are more wounds to treat on \the [affecting.name]."
+ to_chat(user, "\The [src] is used up, but there are more wounds to treat on \the [affecting.name].")
use(used)
/obj/item/stack/medical/ointment
@@ -135,17 +139,20 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(affecting.open)
- user << "The [affecting.name] is cut open, you'll need more than a bandage!"
+ to_chat(user, "The [affecting.name] is cut open, you'll need more than a bandage!")
return
if(affecting.is_salved())
- user << "The wounds on [M]'s [affecting.name] have already been salved."
+ to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.")
return 1
else
user.visible_message("\The [user] starts salving wounds on [M]'s [affecting.name].", \
"You start salving the wounds on [M]'s [affecting.name]." )
if(!do_mob(user, M, 10))
- user << "You must stand still to salve wounds."
+ to_chat(user, "You must stand still to salve wounds.")
+ return 1
+ if(affecting.is_salved()) // We do a second check after the delay, in case it was bandaged after the first check.
+ to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.")
return 1
user.visible_message("[user] salved wounds on [M]'s [affecting.name].", \
"You salved wounds on [M]'s [affecting.name]." )
@@ -169,11 +176,11 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(affecting.open)
- user << "The [affecting.name] is cut open, you'll need more than a bandage!"
+ to_chat(user, "The [affecting.name] is cut open, you'll need more than a bandage!")
return
if(affecting.is_bandaged() && affecting.is_disinfected())
- user << "The wounds on [M]'s [affecting.name] have already been treated."
+ to_chat(user, "The wounds on [M]'s [affecting.name] have already been treated.")
return 1
else
user.visible_message("\The [user] starts treating [M]'s [affecting.name].", \
@@ -187,8 +194,11 @@
if(used == amount)
break
if(!do_mob(user, M, W.damage/5))
- user << "You must stand still to bandage wounds."
+ to_chat(user, "You must stand still to bandage wounds.")
break
+ if(affecting.is_bandaged() && affecting.is_disinfected()) // We do a second check after the delay, in case it was bandaged after the first check.
+ to_chat(user, "The wounds on [M]'s [affecting.name] have already been bandaged.")
+ return 1
if (W.current_stage <= W.max_bleeding_stage)
user.visible_message("\The [user] cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.", \
"You clean and seal \a [W.desc] on [M]'s [affecting.name]." )
@@ -205,9 +215,9 @@
affecting.update_damages()
if(used == amount)
if(affecting.is_bandaged())
- user << "\The [src] is used up."
+ to_chat(user, "\The [src] is used up.")
else
- user << "\The [src] is used up, but there are more wounds to treat on \the [affecting.name]."
+ to_chat(user, "\The [src] is used up, but there are more wounds to treat on \the [affecting.name].")
use(used)
/obj/item/stack/medical/advanced/ointment
@@ -228,16 +238,19 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if(affecting.open)
- user << "The [affecting.name] is cut open, you'll need more than a bandage!"
+ to_chat(user, "The [affecting.name] is cut open, you'll need more than a bandage!")
if(affecting.is_salved())
- user << "The wounds on [M]'s [affecting.name] have already been salved."
+ to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.")
return 1
else
user.visible_message("\The [user] starts salving wounds on [M]'s [affecting.name].", \
"You start salving the wounds on [M]'s [affecting.name]." )
if(!do_mob(user, M, 10))
- user << "You must stand still to salve wounds."
+ to_chat(user, "You must stand still to salve wounds.")
+ return 1
+ if(affecting.is_salved()) // We do a second check after the delay, in case it was bandaged after the first check.
+ to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.")
return 1
user.visible_message( "[user] covers wounds on [M]'s [affecting.name] with regenerative membrane.", \
"You cover wounds on [M]'s [affecting.name] with regenerative membrane." )
@@ -264,20 +277,23 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
var/limb = affecting.name
if(!(affecting.organ_tag in splintable_organs))
- user << "You can't use \the [src] to apply a splint there!"
+ to_chat(user, "You can't use \the [src] to apply a splint there!")
return
if(affecting.splinted)
- user << "[M]'s [limb] is already splinted!"
+ to_chat(user, "[M]'s [limb] is already splinted!")
return
if (M != user)
user.visible_message("[user] starts to apply \the [src] to [M]'s [limb].", "You start to apply \the [src] to [M]'s [limb].", "You hear something being wrapped.")
else
if(( !user.hand && (affecting.organ_tag in list(BP_R_ARM, BP_R_HAND)) || \
user.hand && (affecting.organ_tag in list(BP_L_ARM, BP_L_HAND)) ))
- user << "You can't apply a splint to the arm you're using!"
+ to_chat(user, "You can't apply a splint to the arm you're using!")
return
user.visible_message("[user] starts to apply \the [src] to their [limb].", "You start to apply \the [src] to your [limb].", "You hear something being wrapped.")
if(do_after(user, 50, M))
+ if(affecting.splinted)
+ to_chat(user, "[M]'s [limb] is already splinted!")
+ return
if(M == user && prob(75))
user.visible_message("\The [user] fumbles [src].", "You fumble [src].", "You hear something being wrapped.")
return