mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 10:03:50 +01:00
Adds a number of new implants (#14348)
* adds CNS jumpstarter, hacking arm, janitorial arm and botanical arm implants. * Update code/modules/surgery/organs/augments_arms.dm Co-authored-by: RedWolfie <13683223+RedWolfie@users.noreply.github.com> * Update augments_internal.dm * Update augments_internal.dm * error correction. * new name for jumpstarter * Update augments_internal.dm * grammar * taking some suggestions. * adding a safe spraycleaner for the implant. * more suggestions * evenmoarsuggestions Co-authored-by: RedWolfie <13683223+RedWolfie@users.noreply.github.com>
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
volume = 250
|
||||
possible_transfer_amounts = null
|
||||
|
||||
|
||||
/obj/item/reagent_containers/spray/afterattack(atom/A, mob/user)
|
||||
if(istype(A, /obj/item/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/rack) || istype(A, /obj/structure/closet) \
|
||||
|| istype(A, /obj/item/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/hydroponics))
|
||||
@@ -113,6 +112,19 @@
|
||||
desc = "BLAM!-brand non-foaming space cleaner!"
|
||||
list_reagents = list("cleaner" = 250)
|
||||
|
||||
/obj/item/reagent_containers/spray/cleaner/safety
|
||||
desc = "BLAM!-brand non-foaming space cleaner! This spray bottle can only accept space cleaner."
|
||||
|
||||
/obj/item/reagent_containers/spray/cleaner/safety/on_reagent_change()
|
||||
for(var/filth in reagents.reagent_list)
|
||||
var/datum/reagent/R = filth
|
||||
if(R.id != "cleaner") //all chems other than space cleaner are filthy.
|
||||
reagents.del_reagent(R.id)
|
||||
if(ismob(loc))
|
||||
to_chat(loc, "<span class='warning'>[src] identifies and removes a filthy substance.</span>")
|
||||
else
|
||||
visible_message("<span class='warning'>[src] identifies and removes a filthy substance.</span>")
|
||||
|
||||
/obj/item/reagent_containers/spray/cleaner/drone
|
||||
name = "space cleaner"
|
||||
desc = "BLAM!-brand non-foaming space cleaner!"
|
||||
|
||||
@@ -323,6 +323,39 @@
|
||||
build_path = /obj/item/organ/internal/cyberimp/arm/toolset
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/cyberimp_janitorial
|
||||
name = "Janitorial Toolset Implant"
|
||||
desc = "A set of janitorial tools hidden behind a concealed panel on the user's arm."
|
||||
id = "ci-janitorial"
|
||||
req_tech = list("materials" = 3, "engineering" = 4, "biotech" = 4)
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
materials = list(MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
|
||||
construction_time = 200
|
||||
build_path = /obj/item/organ/internal/cyberimp/arm/janitorial
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/cyberimp_botanical
|
||||
name = "Botanical Toolset Implant"
|
||||
desc = "A set of botanical tools hidden behind a concealed panel on the user's arm."
|
||||
id = "ci-botanical"
|
||||
req_tech = list("materials" = 3, "engineering" = 4, "biotech" = 4)
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
materials = list(MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
|
||||
construction_time = 200
|
||||
build_path = /obj/item/organ/internal/cyberimp/arm/botanical
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/cyberimp_hacking
|
||||
name = "Hacking Arm Implant"
|
||||
desc = "A small arm implant containing an advanced screwdriver, wirecutters, and multitool designed for engineers and on-the-field machine modification. Actually legal, despite what the name may make you think."
|
||||
id = "ci-hacking"
|
||||
req_tech = list("materials" = 3, "engineering" = 5, "biotech" = 4, "programming" = 4, "abductor" = 4)
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
|
||||
construction_time = 200
|
||||
build_path = /obj/item/organ/internal/cyberimp/arm/hacking
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/cyberimp_diagnostic_hud
|
||||
name = "Diagnostic HUD implant"
|
||||
desc = "These cybernetic eye implants will display a diagnostic HUD over everything you see. Wiggle eyes to control."
|
||||
@@ -402,7 +435,7 @@
|
||||
|
||||
/datum/design/cyberimp_antistun
|
||||
name = "CNS Rebooter implant"
|
||||
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned."
|
||||
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned. Incompatible with the Neural Jumpstarter."
|
||||
id = "ci-antistun"
|
||||
req_tech = list("materials" = 6, "programming" = 5, "biotech" = 6)
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
@@ -411,6 +444,17 @@
|
||||
build_path = /obj/item/organ/internal/cyberimp/brain/anti_stun
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/cyberimp_antisleep
|
||||
name = "Neural Jumperstarter implant"
|
||||
desc = "This implant will automatically attempt to jolt you awake when it detects you have fallen unconscious. Has a short cooldown, incompatible with the CNS Rebooter."
|
||||
id = "ci-antisleep"
|
||||
req_tech = list("materials" = 6, "programming" = 5, "biotech" = 6)
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
construction_time = 60
|
||||
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000)
|
||||
build_path = /obj/item/organ/internal/cyberimp/brain/anti_sleep
|
||||
category = list("Medical")
|
||||
|
||||
/datum/design/cyberimp_clownvoice
|
||||
name = "Comical implant"
|
||||
desc = "<span class='sans'>Uh oh.</span>"
|
||||
|
||||
@@ -212,6 +212,17 @@
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/hacking
|
||||
name = "hacking arm implant"
|
||||
desc = "A small arm implant containing an advanced screwdriver, wirecutters, and multitool designed for engineers and on-the-field machine modification. Actually legal, despite what the name may make you think."
|
||||
origin_tech = "materials=3;engineering=4;biotech=3;powerstorage=4;abductor=3"
|
||||
contents = newlist(/obj/item/screwdriver/cyborg, /obj/item/wirecutters/cyborg, /obj/item/multitool/abductor)
|
||||
action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/device.dmi')
|
||||
action_icon_state = list(/datum/action/item_action/organ_action/toggle = "hacktool")
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/hacking/l
|
||||
parent_organ = "l_arm"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/esword
|
||||
name = "arm-mounted energy blade"
|
||||
desc = "An illegal, and highly dangerous cybernetic implant that can project a deadly blade of concentrated enregy."
|
||||
@@ -278,6 +289,30 @@
|
||||
parent_organ = "l_arm"
|
||||
slot = "l_arm_device"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/janitorial
|
||||
name = "janitorial toolset implant"
|
||||
desc = "A set of janitorial tools hidden behind a concealed panel on the user's arm"
|
||||
contents = newlist(/obj/item/mop/advanced, /obj/item/soap, /obj/item/lightreplacer, /obj/item/holosign_creator, /obj/item/melee/flyswatter, /obj/item/reagent_containers/spray/cleaner/safety)
|
||||
origin_tech = "materials=3;engineering=4;biotech=3"
|
||||
action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/clothing/belts.dmi')
|
||||
action_icon_state = list(/datum/action/item_action/organ_action/toggle = "janibelt")
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/janitorial/l
|
||||
parent_organ = "l_arm"
|
||||
slot = "l_arm_device"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/botanical
|
||||
name = "botanical toolset implant"
|
||||
desc = "A set of botanical tools hidden behind a concealed panel on the user's arm"
|
||||
contents = newlist(/obj/item/plant_analyzer, /obj/item/cultivator, /obj/item/hatchet, /obj/item/shovel/spade, /obj/item/wirecutters, /obj/item/wrench)
|
||||
origin_tech = "materials=3;engineering=4;biotech=3"
|
||||
action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/clothing/belts.dmi')
|
||||
action_icon_state = list(/datum/action/item_action/organ_action/toggle = "botanybelt")
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/botanical/l
|
||||
parent_organ = "l_arm"
|
||||
slot = "l_arm_device"
|
||||
|
||||
// lets make IPCs even *more* vulnerable to EMPs!
|
||||
/obj/item/organ/internal/cyberimp/arm/power_cord
|
||||
name = "APC-compatible power adapter implant"
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stun
|
||||
name = "CNS Rebooter implant"
|
||||
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned."
|
||||
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned. Incompatible with the Neural Jumpstarter."
|
||||
implant_color = "#FFFF00"
|
||||
slot = "brain_antistun"
|
||||
origin_tech = "materials=5;programming=4;biotech=5"
|
||||
@@ -161,6 +161,54 @@
|
||||
origin_tech = "materials=6;programming=5;biotech=5"
|
||||
emp_proof = TRUE
|
||||
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_sleep
|
||||
name = "Nerual Jumpstarter implant"
|
||||
desc = "This implant will automatically attempt to jolt you awake when it detects you have fallen unconscious. Has a short cooldown, incompatible with the CNS Rebooter."
|
||||
implant_color = "#0356fc"
|
||||
slot = "brain_antistun" //one or the other not both.
|
||||
origin_tech = "materials=5;programming=4;biotech=5"
|
||||
var/cooldown = FALSE
|
||||
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_sleep/on_life()
|
||||
..()
|
||||
if(crit_fail)
|
||||
return
|
||||
if(owner.stat == UNCONSCIOUS && cooldown == FALSE)
|
||||
owner.AdjustSleeping(-100, FALSE)
|
||||
owner.AdjustParalysis(-100, FALSE)
|
||||
to_chat(owner, "<span class='notice'>You feel a rush of energy course through your body!</span>")
|
||||
cooldown = TRUE
|
||||
addtimer(CALLBACK(src, .proc/sleepy_timer_end), 50)
|
||||
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_sleep/proc/sleepy_timer_end()
|
||||
cooldown = FALSE
|
||||
to_chat(owner, "<span class='notice'>You hear a small beep in your head as your Neural Jumpstarter finishes recharging.</span>")
|
||||
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_sleep/emp_act(severity)
|
||||
. = ..()
|
||||
if(crit_fail || emp_proof)
|
||||
return
|
||||
crit_fail = TRUE
|
||||
owner.AdjustSleeping(200)
|
||||
cooldown = TRUE
|
||||
addtimer(CALLBACK(src, .proc/reboot), 90 / severity)
|
||||
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_sleep/proc/reboot()
|
||||
crit_fail = FALSE
|
||||
cooldown = FALSE
|
||||
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_sleep/hardened
|
||||
name = "Hardened Neural Jumpstarter implant"
|
||||
desc = "A military-grade version of the standard implant, for NT's more elite forces."
|
||||
origin_tech = "materials=6;programming=5;biotech=5"
|
||||
emp_proof = TRUE
|
||||
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_sleep/hardened/compatible
|
||||
name = "Hardened Neural Jumpstarter implant"
|
||||
desc = "A military-grade version of the standard implant, for NT's more elite forces. This one is compatible with the CNS Rebooter implant"
|
||||
slot = "brain_antisleep"
|
||||
emp_proof = TRUE
|
||||
|
||||
/obj/item/organ/internal/cyberimp/brain/clown_voice
|
||||
name = "Comical implant"
|
||||
desc = "<span class='sans'>Uh oh.</span>"
|
||||
|
||||
Reference in New Issue
Block a user