Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions modular_pentest/master_files/code/modules/assembly/assembly.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/obj/item/assembly/attackby(obj/item/W, mob/user, params)
if(isassembly(W))
var/obj/item/assembly/A = W
if(!istype(A, /obj/item/assembly/distress_beacon))
if((!A.secured) && (!secured))
holder = new/obj/item/assembly_holder(get_turf(src))
holder.assemble(src,A,user)
to_chat(user, span_notice("You attach and secure \the [A] to \the [src]!"))
else
to_chat(user, span_warning("Both devices must be in attachable mode to be attached together."))
else
to_chat(user, span_warning("Distress beacon cannot be attached"))
return
..()
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/obj/item/assembly/distress_beacon
name = "distress beacon"
desc = "Used for triggering a distress signal in response to health sensor activation."
icon_state = "radio"
custom_materials = list(/datum/material/iron=800, /datum/material/glass=200)
attachable = TRUE

/obj/item/assembly/distress_beacon/examine(mob/user)
. = ..()
. += "This is a distress beacon assembly part."
. += "Attach a health sensor to this beacon and turn it on to activate the beacon's monitoring function."
. += "BE ADVISED! Health sensor should be set to 'detect death' setting to avoid premature calls!"

/obj/item/assembly/distress_beacon/attackby(obj/item/W, mob/user, params)
if(isassembly(W))
var/obj/item/assembly/A = W
if(istype(A, /obj/item/assembly/health))
if((!A.secured) && (!secured))
holder = new/obj/item/assembly_holder(get_turf(src))
holder.assemble(src,A,user)
to_chat(user, span_notice("You attach and secure \the [A] to \the [src]!"))
else
to_chat(user, span_warning("Both devices must be in attachable mode to be attached together."))
else
to_chat(user, span_warning("Distress beacon can only accept health sensor as its receiver module"))
return
..()

/obj/item/assembly/distress_beacon/activate()
create_distress_beacon(get_overmap_location())
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,13 @@
name = "Plasmaman Internals Crate"
desc = "Contains a Plasmaman belt tank, for when you just can't bear to refill a normal tank with plasma. Plasma canisters sold separately."
crate_name = "plasmaman internals crate"

/datum/supply_pack/emergency/distress_beacon_assembly
name = "Distress Beacon Kit"
desc = "Contains a distress beacon and a health sensor assembly parts for sending an automatic distress signal in case of death."
cost = 500
contains = list(
/obj/item/assembly/distress_beacon,
/obj/item/assembly/health
)
crate_name = "distress beacon crate"
2 changes: 2 additions & 0 deletions modular_pentest/~pentest.dme
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@
#include "master_files\code\game\turfs\walls\reinf_plastitanium.dm"
#include "master_files\code\modules\antagonists\changeling\changeling.dm"
#include "master_files\code\modules\antagonists\wizard\equipment\spellbook.dm"
#include "master_files\code\modules\assembly\assembly.dm"
#include "master_files\code\modules\assembly\distress_beacon.dm"
#include "master_files\code\modules\assembly\flash.dm"
#include "master_files\code\modules\atmospherics\auxgm\gas_types.dm"
#include "master_files\code\modules\atmospherics\gasmixtures\reactions.dm"
Expand Down
Loading