diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index a03289c78b1..7b84ddcfe3f 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -47,8 +47,7 @@
/obj/machinery/optable/attack_hand(mob/user as mob)
if (HULK in usr.mutations)
- usr << text("\blue You destroy the table.")
- visible_message("\red [usr] destroys the operating table!")
+ visible_message("\The [usr] destroys the operating table!")
src.density = 0
qdel(src)
return
@@ -89,7 +88,7 @@
if (C == user)
user.visible_message("[user] climbs on the operating table.","You climb on the operating table.")
else
- visible_message("\red [C] has been laid on the operating table by [user].", 3)
+ visible_message("\The [C] has been laid on the operating table by [user].", 3)
if (C.client)
C.client.perspective = EYE_PERSPECTIVE
C.client.eye = src
@@ -134,12 +133,11 @@
return
/obj/machinery/optable/proc/check_table(mob/living/carbon/patient as mob)
- if(src.victim)
- usr << "\blue The table is already occupied!"
+ check_victim()
+ if(src.victim && get_turf(victim) == get_turf(src) && victim.lying)
+ usr << "The table is already occupied!"
return 0
-
if(patient.buckled)
- usr << "\blue Unbuckle first!"
+ usr << "Unbuckle first!"
return 0
-
return 1
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index be178632e65..24e0ca02413 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -77,11 +77,11 @@
"\blue You bandage [W.desc] on [M]'s [affecting.name]." )
//H.add_side_effect("Itch")
else if (istype(W,/datum/wound/bruise))
- user.visible_message( "\blue [user] places bruise patch over [W.desc] on [M]'s [affecting.name].", \
- "\blue You place bruise patch over [W.desc] on [M]'s [affecting.name]." )
+ user.visible_message( "\blue [user] places a bruise patch over [W.desc] on [M]'s [affecting.name].", \
+ "\blue You place a bruise patch over [W.desc] on [M]'s [affecting.name]." )
else
- user.visible_message( "\blue [user] places bandaid over [W.desc] on [M]'s [affecting.name].", \
- "\blue You place bandaid over [W.desc] on [M]'s [affecting.name]." )
+ user.visible_message( "\blue [user] places a bandaid over [W.desc] on [M]'s [affecting.name].", \
+ "\blue You place a bandaid over [W.desc] on [M]'s [affecting.name]." )
use(1)
else
if (can_operate(H)) //Checks if mob is lying down on table for surgery
@@ -143,22 +143,22 @@
var/disinfected = affecting.disinfect()
if(!(bandaged || disinfected))
- user << "\red The wounds on [M]'s [affecting.name] have already been treated."
+ user << "The wounds on [M]'s [affecting.name] have already been treated."
return 1
else
for (var/datum/wound/W in affecting.wounds)
if (W.internal)
continue
if (W.current_stage <= W.max_bleeding_stage)
- user.visible_message( "\blue [user] cleans [W.desc] on [M]'s [affecting.name] and seals edges with bioglue.", \
- "\blue You clean and seal [W.desc] on [M]'s [affecting.name]." )
+ user.visible_message("\The [user] cleans [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.", \
+ "You clean and seal [W.desc] on [M]'s [affecting.name]." )
//H.add_side_effect("Itch")
else if (istype(W,/datum/wound/bruise))
- user.visible_message( "\blue [user] places medicine patch over [W.desc] on [M]'s [affecting.name].", \
- "\blue You place medicine patch over [W.desc] on [M]'s [affecting.name]." )
+ user.visible_message("\The [user] places a medical patch over [W.desc] on [M]'s [affecting.name].", \
+ "You place a medical patch over [W.desc] on [M]'s [affecting.name]." )
else
- user.visible_message( "\blue [user] smears some bioglue over [W.desc] on [M]'s [affecting.name].", \
- "\blue You smear some bioglue over [W.desc] on [M]'s [affecting.name]." )
+ user.visible_message("\The [user] smears some bioglue over [W.desc] on [M]'s [affecting.name].", \
+ "You smear some bioglue over [W.desc] on [M]'s [affecting.name]." )
if (bandaged)
affecting.heal_damage(heal_brute,0)
use(1)
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 2bf69d31e70..14b4e64462c 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -24,8 +24,8 @@
force = 5.0
throwforce = 7.0
w_class = 2.0
- origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINERING = 1)
- matter = list(DEFAULT_WALL_MATERIAL = 150)
+ origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINERING = 1)
+ matter = list(DEFAULT_WALL_MATERIAL = 150)
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
@@ -103,8 +103,8 @@
throw_speed = 2
throw_range = 9
w_class = 2.0
- origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINERING = 1)
- matter = list(DEFAULT_WALL_MATERIAL = 80)
+ origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINERING = 1)
+ matter = list(DEFAULT_WALL_MATERIAL = 80)
attack_verb = list("pinched", "nipped")
sharp = 1
edge = 1
@@ -366,22 +366,22 @@
/obj/item/weapon/weldingtool/largetank
name = "industrial welding tool"
max_fuel = 40
- origin_tech = list(TECH_ENGINERING = 2)
- matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 60)
+ origin_tech = list(TECH_ENGINERING = 2)
+ matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 60)
/obj/item/weapon/weldingtool/hugetank
name = "upgraded welding tool"
max_fuel = 80
w_class = 3.0
- origin_tech = list(TECH_ENGINERING = 3)
- matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120)
+ origin_tech = list(TECH_ENGINERING = 3)
+ matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120)
/obj/item/weapon/weldingtool/experimental
name = "experimental welding tool"
max_fuel = 40
w_class = 3.0
- origin_tech = list(TECH_ENGINERING = 4, TECH_PHORON = 3)
- matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120)
+ origin_tech = list(TECH_ENGINERING = 4, TECH_PHORON = 3)
+ matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120)
var/last_gen = 0
@@ -407,8 +407,8 @@
throwforce = 7.0
item_state = "crowbar"
w_class = 2.0
- origin_tech = list(TECH_ENGINERING = 1)
- matter = list(DEFAULT_WALL_MATERIAL = 50)
+ origin_tech = list(TECH_ENGINERING = 1)
+ matter = list(DEFAULT_WALL_MATERIAL = 50)
attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked")
/obj/item/weapon/crowbar/red
@@ -416,11 +416,11 @@
icon_state = "red_crowbar"
item_state = "crowbar_red"
-/obj/item/weapon/weldingtool/attack(mob/M as mob, mob/user as mob)
+/obj/item/weapon/weldingtool/afterattack(mob/M as mob, mob/user as mob)
- if(hasorgans(M))
-
- var/obj/item/organ/external/S = M:organs_by_name[user.zone_sel.selecting]
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ var/obj/item/organ/external/S = H.organs_by_name[user.zone_sel.selecting]
if (!S) return
if(!(S.status & ORGAN_ROBOT) || user.a_intent != I_HELP)
@@ -429,12 +429,12 @@
if(S.brute_dam)
if(S.brute_dam < ROBOLIMB_SELF_REPAIR_CAP)
S.heal_damage(15,0,0,1)
- user.visible_message("\red \The [user] patches some dents on \the [M]'s [S.name] with \the [src].")
- else
- user << "\red The damage is far too severe to patch over externally."
- return
- else
- user << "Nothing to fix!"
+ user.visible_message("\The [user] patches some dents on \the [M]'s [S.name] with \the [src].")
+ else if(!S.open)
+ user << "The damage is far too severe to patch over externally."
+ return 1
+ else if(!S.open)
+ user << "Nothing to fix!"
else
return ..()
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index d883054b1bd..6fcef97abfb 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -513,21 +513,24 @@ obj/structure/cable/proc/cableColor(var/colorC)
//you can use wires to heal robotics
/obj/item/stack/cable_coil/attack(mob/M as mob, mob/user as mob)
- if(istype(M,/mob/living/carbon/human))
+
+ if(ishuman(M))
var/mob/living/carbon/human/H = M
- var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting)
- if(!(S.status & ORGAN_ROBOT) || user.a_intent != "help")
+ var/obj/item/organ/external/S = H.organs_by_name[user.zone_sel.selecting]
+
+ if (!S) return
+ if(!(S.status & ORGAN_ROBOT) || user.a_intent != I_HELP)
return ..()
- if(S.burn_dam > 0 && use(1))
+ if(S.burn_dam)
if(S.burn_dam < ROBOLIMB_SELF_REPAIR_CAP)
S.heal_damage(0,15,0,1)
- user.visible_message("\red \The [user] repairs some burn damage on \the [M]'s [S.name] with \the [src].")
- else
- user << "\red The damage is far too severe to patch over externally."
- return
- else
- user << "Nothing to fix!"
+ user.visible_message("\The [user] repairs some burn damage on \the [M]'s [S.name] with \the [src].")
+ else if(!S.open)
+ user << "The damage is far too severe to patch over externally."
+ return 1
+ else if(!S.open)
+ user << "Nothing to fix!"
else
return ..()
diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm
index 11babd42e42..d1b6ce4ada6 100644
--- a/code/modules/surgery/robotics.dm
+++ b/code/modules/surgery/robotics.dm
@@ -146,7 +146,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("\blue [user] finishes patching damage to [target]'s [affected.name] with \the [tool].", \
"\blue You finish patching damage to [target]'s [affected.name] with \the [tool].")
- affected.heal_damage(rand(30,50),0)
+ affected.heal_damage(rand(30,50),0,1,1)
fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone)
@@ -177,7 +177,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("\blue [user] finishes splicing cable into [target]'s [affected.name].", \
"\blue You finishes splicing new cable into [target]'s [affected.name].")
- affected.heal_damage(0,rand(30,50))
+ affected.heal_damage(0,rand(30,50),1,1)
fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/obj/item/organ/external/affected = target.get_organ(target_zone)