Skip to content

Commit

Permalink
you can't implant yourself with a motion detector anymore (#3767)
Browse files Browse the repository at this point in the history
this was covered by a rule clarification for ages but im trying to get
rid of as many stupid niche rule clarifications as possible

:cl:
add: you can no longer implant yourself with a motion detector
/:cl:
  • Loading branch information
harryob authored Jun 30, 2023
1 parent 6a457d9 commit 4ad91f2
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
3 changes: 3 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,9 @@
//ie. naming a regulation tape "example" will become regulation tape (example)
#define TRAIT_ITEM_RENAME_SPECIAL "t_item_rename_special"

// This item can't be implanted into someone, regardless of the size of the item.
#define TRAIT_ITEM_NOT_IMPLANTABLE "t_item_not_implantable"

//-- structure traits --
// TABLE TRAITS
/// If the table is being flipped, prevent any changes that will mess with adjacency handling
Expand Down
3 changes: 2 additions & 1 deletion code/game/objects/items/devices/motion_detector.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
item_state = "motion_detector"
flags_atom = FPRINT| CONDUCT
flags_equip_slot = SLOT_WAIST
inherent_traits = list(TRAIT_ITEM_NOT_IMPLANTABLE)
var/list/blip_pool = list()
var/detector_range = 14
var/detector_mode = MOTION_DETECTOR_LONG
Expand Down Expand Up @@ -309,7 +310,7 @@
name = "hacked motion detector"
desc = "A device that usually picks up non-USCM signals, but this one's been hacked to detect all non-freelancer movement instead. Fight fire with fire!"
iff_signal = FACTION_MERCENARY

/obj/item/device/motiondetector/hacked/pmc
name = "corporate motion detector"
desc = "A device that usually picks up non-USCM signals, but this one's been reprogrammed to detect all non-PMC movement instead. Very corporate."
Expand Down
2 changes: 2 additions & 0 deletions code/modules/surgery/implant.dm
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@
if(.)
if(is_surgery_tool(tool)) //Make sure you still have all your tools after a surgery.
return FALSE
if(HAS_TRAIT(tool, TRAIT_ITEM_NOT_IMPLANTABLE))
return FALSE
if(tool.w_class > get_max_wclass(surgery))
to_chat(user, SPAN_WARNING("[tool] is too big to implant into [surgery.target]'s [surgery.affected_limb.cavity]!"))
return FALSE
Expand Down

0 comments on commit 4ad91f2

Please sign in to comment.