From 6c9b52d5a40322fe489982ade96ef0e64659c01a Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Mon, 20 May 2024 01:58:46 -0700 Subject: [PATCH] Adds Joywire & Mindscrew Cybernetic Implants (#2948) ## About The Pull Request YIPPEE Cyberware dealer on your block rips your head open and places a little device into your brain. Sure, you can't taste, but your life is full of WHIMSY. Mood buff is Pretty Big but its mostly so smaller moodlets won't bother you (probably). Subject to change (addiction? lower action speed like rimworld? jittering?). Now with Mindscrews to Ruin Your Day Its available through RND through a fairly early node (Cybernetic Implants) ## Why It's Good For The Game I've always wanted a joywire to slap in peoples heads to fill them full of WHIMSY. Its a staple of a lot of dystopian sci fi settings especially when people tend to tune out from it, and they'd be some material for people to roleplay around. Alternatively, you can also install mindscrews to instill Horrific Vibes in that poor sod who tried fucking around and Found Out ## Changelog :cl: add: Add mood-boosting vivifier cybernetic implants to boost your mood to Cybernetic Implants node. Preservation of the sense of taste not included add: Adds a hacked variant of the above (not yet obtainable) to give terrible mood to those installed with it! /:cl: --------- Signed-off-by: generalthrax <139387950+generalthrax@users.noreply.github.com> Signed-off-by: thgvr <81882910+thgvr@users.noreply.github.com> Co-authored-by: thgvr <81882910+thgvr@users.noreply.github.com> --- code/__DEFINES/DNA.dm | 1 + .../mood_events/generic_negative_events.dm | 10 +++++++ .../mood_events/generic_positive_events.dm | 5 ++++ .../research/designs/medical_designs.dm | 11 +++++++ code/modules/research/techweb/all_nodes.dm | 2 +- .../surgery/organs/augments_internal.dm | 30 +++++++++++++++++++ 6 files changed, 58 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 204e24daeab6..30bcd4e253c8 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -156,6 +156,7 @@ #define ORGAN_SLOT_HEART_AID "heartdrive" #define ORGAN_SLOT_BRAIN_ANTIDROP "brain_antidrop" #define ORGAN_SLOT_BRAIN_ANTISTUN "brain_antistun" +#define ORGAN_SLOT_BRAIN_JOYWIRE "brain_joywire" #define ORGAN_SLOT_TAIL "tail" #define ORGAN_SLOT_WINGS "wings" #define ORGAN_SLOT_PARASITE_EGG "parasite_egg" diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 84fca0443ca0..f5e51d1d59f4 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -292,3 +292,13 @@ description = "I was forced to eat cement...\n" mood_change = -6 timeout = 4 MINUTES + +/datum/mood_event/joywire_emp + description = span_boldwarning("IT'S GONE!! IT'S GONE!!\n") + mood_change = -30 + timeout = 5 MINUTES + +/datum/mood_event/mindscrew + description = span_boldwarning("It isn't ending... it isn't ending, come on...\n") + mood_change = -18 + timeout = 3 MINUTES diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index d79847ea04c8..899c617a99d2 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -240,6 +240,11 @@ mood_change = 5 timeout = 3 MINUTES +/datum/mood_event/joywire + description = span_boldnicegreen("I feel so joyous! Oh, so joyous!\n") + mood_change = 8 + timeout = 10 SECONDS + /datum/mood_event/root description = span_nicegreen("I rooted recently, it feels good to charge naturally.\n") mood_change = 5 diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 6e4a1b61d06f..343ff920df20 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -395,6 +395,17 @@ category = list("Misc", "Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE +/datum/design/cyberimp_joywire + name = "\improper Midi-Sed pleasure vivifier" + desc = "A widely popular (and addictive) implant produced by Miditeke-Sedari Tokoce that stimulates the brain's pleasure centers. Dramatically increases mood, but interferes with taste reception even if uninstalled." + id = "ci-joywire" + build_type = PROTOLATHE | MECHFAB + construction_time = 60 + materials = list(/datum/material/iron = 600, /datum/material/glass = 600, /datum/material/gold = 500, /datum/material/silver = 500) + build_path = /obj/item/organ/cyberimp/brain/joywire + category = list("Misc", "Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + /datum/design/cyberimp_nutriment name = "Nutriment Pump Implant" desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are starving." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index aac9842415c5..af76ef1d00fa 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -521,7 +521,7 @@ display_name = "Cybernetic Implants" description = "Electronic implants that improve humans." prereq_ids = list("adv_biotech", "datatheory") - design_ids = list("ci-nutriment", "ci-breather", "ci-gloweyes", "ci-welding", "ci-medhud", "ci-sechud", "ci-diaghud") + design_ids = list("ci-nutriment", "ci-breather", "ci-gloweyes", "ci-welding", "ci-medhud", "ci-sechud", "ci-diaghud", "ci-joywire") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index f623bb67606b..022292c282b8 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -137,6 +137,36 @@ /obj/item/organ/cyberimp/brain/anti_stun/proc/reboot() organ_flags &= ~ORGAN_FAILING +/obj/item/organ/cyberimp/brain/joywire + name = "\improper Midi-Sed pleasure vivifier" + desc = "A widely popular (and addictive) implant produced by Miditeke-Sedari Tokoce that stimulates the brain's pleasure centers. Dramatically increases mood, but interferes with taste reception even if uninstalled." + implant_color = "#FFABE0" + slot = ORGAN_SLOT_BRAIN_JOYWIRE + +/obj/item/organ/cyberimp/brain/joywire/on_life() + if(owner || !(organ_flags & ORGAN_FAILING)) + SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "joywire", /datum/mood_event/joywire) + ADD_TRAIT(owner, TRAIT_AGEUSIA, TRAIT_GENERIC) + +/obj/item/organ/cyberimp/brain/joywire/emp_act(severity) + . = ..() + if(!owner || . & EMP_PROTECT_SELF) + return + organ_flags |= ORGAN_FAILING + SEND_SIGNAL(owner, COMSIG_CLEAR_MOOD_EVENT, "joywire") + SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "joywire_emp", /datum/mood_event/joywire_emp) + to_chat(owner, span_boldwarning("That feeling of dream-like, distilled joy is suddenly diluted. Misery sets in...")) + +/obj/item/organ/cyberimp/brain/mindscrew + name = "\improper Midi-Sed MNDFCK implant" + desc = "A horrific after-market modification of Midi-Sed's pleasure vivifier that stimulates intense pain in the brain. Dramatically hurts a user's mood and mental state, and lingers for a time after removal." + implant_color = "#5E1108" + slot = ORGAN_SLOT_BRAIN_JOYWIRE + +/obj/item/organ/cyberimp/brain/mindscrew/on_life() + if(owner || !(organ_flags & ORGAN_FAILING)) + SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "mindscrew", /datum/mood_event/mindscrew) + //[[[[MOUTH]]]] /obj/item/organ/cyberimp/mouth zone = BODY_ZONE_PRECISE_MOUTH