diff --git a/baystation12.dme b/baystation12.dme
index 8493df70958..3bfd0149a7d 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -1696,6 +1696,7 @@
#include "code\modules\spells\targeted\projectile\magic_missile.dm"
#include "code\modules\spells\targeted\projectile\projectile.dm"
#include "code\modules\supermatter\supermatter.dm"
+#include "code\modules\surgery\_defines.dm"
#include "code\modules\surgery\bones.dm"
#include "code\modules\surgery\encased.dm"
#include "code\modules\surgery\face.dm"
@@ -1707,6 +1708,7 @@
#include "code\modules\surgery\robotics.dm"
#include "code\modules\surgery\slimes.dm"
#include "code\modules\surgery\surgery.dm"
+#include "code\modules\surgery\~defines.dm"
#include "code\modules\tables\flipping.dm"
#include "code\modules\tables\interactions.dm"
#include "code\modules\tables\presets.dm"
diff --git a/code/modules/surgery/_defines.dm b/code/modules/surgery/_defines.dm
new file mode 100644
index 00000000000..900f3e45456
--- /dev/null
+++ b/code/modules/surgery/_defines.dm
@@ -0,0 +1 @@
+#define SURGERY_FAILURE -1
diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm
index d352c4aed48..b73509ddd21 100644
--- a/code/modules/surgery/organs_internal.dm
+++ b/code/modules/surgery/organs_internal.dm
@@ -273,11 +273,11 @@
if((affected.status & ORGAN_ROBOT) && !(O.status & ORGAN_ROBOT))
user << "You cannot install a naked organ into a robotic body."
- return 2
+ return SURGERY_FAILURE
if(!target.species)
user << "\red You have no idea what species this person is. Report this on the bug tracker."
- return 2
+ return SURGERY_FAILURE
var/o_is = (O.gender == PLURAL) ? "are" : "is"
var/o_a = (O.gender == PLURAL) ? "" : "a "
@@ -289,22 +289,22 @@
if(O.damage > (O.max_damage * 0.75))
user << "\red \The [O.organ_tag] [o_is] in no state to be transplanted."
- return 2
+ return SURGERY_FAILURE
if(!target.internal_organs_by_name[O.organ_tag])
organ_missing = 1
else
user << "\red \The [target] already has [o_a][O.organ_tag]."
- return 2
+ return SURGERY_FAILURE
if(O && affected.limb_name == O.parent_organ)
organ_compatible = 1
else
user << "\red \The [O.organ_tag] [o_do] normally go in \the [affected.name]."
- return 2
+ return SURGERY_FAILURE
else
user << "\red You're pretty sure [target.species.name_plural] don't normally have [o_a][O.organ_tag]."
- return 2
+ return SURGERY_FAILURE
return ..() && organ_missing && organ_compatible
diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm
index dc626ec60ae..acdec5f2fd0 100644
--- a/code/modules/surgery/robotics.dm
+++ b/code/modules/surgery/robotics.dm
@@ -171,7 +171,7 @@
if(istype(C))
if(!C.get_amount() >= 3)
user << "You need three or more cable pieces to repair this damage."
- return 2
+ return SURGERY_FAILURE
C.use(3)
return 1
return 0
@@ -383,23 +383,23 @@
if(!M.brainmob || !M.brainmob.client || !M.brainmob.ckey || M.brainmob.stat >= DEAD)
user << "That brain is not usable."
- return 2
+ return SURGERY_FAILURE
if(!(affected.status & ORGAN_ROBOT))
user << "You cannot install a computer brain into a meat skull."
- return 2
+ return SURGERY_FAILURE
if(!target.species)
user << "You have no idea what species this person is. Report this on the bug tracker."
- return 2
+ return SURGERY_FAILURE
if(!target.species.has_organ["brain"])
user << "You're pretty sure [target.species.name_plural] don't normally have a brain."
- return 2
+ return SURGERY_FAILURE
if(!isnull(target.internal_organs["brain"]))
user << "Your subject already has a brain."
- return 2
+ return SURGERY_FAILURE
return 1
diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm
index 6e57a4f37b4..116f15b4c34 100644
--- a/code/modules/surgery/surgery.dm
+++ b/code/modules/surgery/surgery.dm
@@ -91,7 +91,7 @@ proc/do_surgery(mob/living/carbon/M, mob/living/user, obj/item/tool)
if(S.tool_quality(tool))
var/step_is_valid = S.can_use(user, M, zone, tool)
if(step_is_valid && S.is_valid_target(M))
- if(step_is_valid == 2) // This is a failure that already has a message for failing.
+ if(step_is_valid == SURGERY_FAILURE) // This is a failure that already has a message for failing.
return 1
M.op_stage.in_progress += zone
S.begin_step(user, M, zone, tool) //start on it
diff --git a/code/modules/surgery/~defines.dm b/code/modules/surgery/~defines.dm
new file mode 100644
index 00000000000..6b27ac56f5b
--- /dev/null
+++ b/code/modules/surgery/~defines.dm
@@ -0,0 +1 @@
+#undef SURGERY_FAILURE