mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code. * our changes * yes * 0 * Update blackmesa.dmm Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
96 lines
2.9 KiB
Plaintext
96 lines
2.9 KiB
Plaintext
/obj/item/implant/weapons_auth
|
|
name = "firearms authentication implant"
|
|
desc = "Lets you shoot your guns."
|
|
icon_state = "auth"
|
|
actions_types = null
|
|
|
|
/obj/item/implant/weapons_auth/get_data()
|
|
var/dat = {"<b>Implant Specifications:</b><BR>
|
|
<b>Name:</b> Firearms Authentication Implant<BR>
|
|
<b>Life:</b> 4 hours after death of host<BR>
|
|
<b>Implant Details:</b> <BR>
|
|
<b>Function:</b> Allows operation of implant-locked weaponry, preventing equipment from falling into enemy hands."}
|
|
return dat
|
|
|
|
/obj/item/implant/emp
|
|
name = "emp implant"
|
|
desc = "Triggers an EMP."
|
|
icon_state = "emp"
|
|
uses = 3
|
|
|
|
/obj/item/implant/emp/activate()
|
|
. = ..()
|
|
uses--
|
|
empulse(imp_in, 3, 5)
|
|
if(!uses)
|
|
qdel(src)
|
|
|
|
/obj/item/implanter/emp
|
|
name = "implanter" // Skyrat edit, was implanter (EMP)
|
|
imp_type = /obj/item/implant/emp
|
|
special_desc_requirement = EXAMINE_CHECK_SYNDICATE // Skyrat edit
|
|
special_desc = "A Syndicate implanter used for a EMP implant" // Skyrat edit
|
|
|
|
/obj/item/implant/radio
|
|
name = "internal radio implant"
|
|
var/obj/item/radio/radio
|
|
var/radio_key
|
|
var/subspace_transmission = FALSE
|
|
icon = 'icons/obj/radio.dmi'
|
|
icon_state = "walkietalkie"
|
|
|
|
/obj/item/implant/radio/activate()
|
|
. = ..()
|
|
// needs to be GLOB.deep_inventory_state otherwise it won't open
|
|
radio.ui_interact(usr, state = GLOB.deep_inventory_state)
|
|
|
|
/obj/item/implant/radio/Initialize(mapload)
|
|
. = ..()
|
|
|
|
radio = new(src)
|
|
// almost like an internal headset, but without the
|
|
// "must be in ears to hear" restriction.
|
|
radio.name = "internal radio"
|
|
radio.subspace_transmission = subspace_transmission
|
|
radio.canhear_range = 0
|
|
if(radio_key)
|
|
radio.keyslot = new radio_key
|
|
radio.recalculateChannels()
|
|
|
|
/obj/item/implant/radio/Destroy()
|
|
QDEL_NULL(radio)
|
|
return ..()
|
|
|
|
/obj/item/implant/radio/mining
|
|
radio_key = /obj/item/encryptionkey/headset_cargo
|
|
|
|
/obj/item/implant/radio/syndicate
|
|
desc = "Are you there God? It's me, Syndicate Comms Agent."
|
|
radio_key = /obj/item/encryptionkey/syndicate
|
|
subspace_transmission = TRUE
|
|
|
|
/obj/item/implant/radio/slime
|
|
name = "slime radio"
|
|
icon = 'icons/obj/surgery.dmi'
|
|
icon_state = "adamantine_resonator"
|
|
radio_key = /obj/item/encryptionkey/headset_sci
|
|
subspace_transmission = TRUE
|
|
|
|
/obj/item/implant/radio/get_data()
|
|
var/dat = {"<b>Implant Specifications:</b><BR>
|
|
<b>Name:</b> Internal Radio Implant<BR>
|
|
<b>Life:</b> 24 hours<BR>
|
|
<b>Implant Details:</b> Allows user to use an internal radio, useful if user expects equipment loss, or cannot equip conventional radios."}
|
|
return dat
|
|
|
|
/obj/item/implanter/radio
|
|
name = "implanter (internal radio)"
|
|
imp_type = /obj/item/implant/radio
|
|
|
|
/obj/item/implanter/radio/syndicate
|
|
name = "implanter" // Skyrat edit , was originally implanter (internal syndicate radio)
|
|
imp_type = /obj/item/implant/radio/syndicate
|
|
special_desc_requirement = EXAMINE_CHECK_SYNDICATE // Skyrat edit
|
|
special_desc = "A Syndicate implanter used for a internal radio implant" // Skyrat edit
|
|
|