Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds Joywire & Mindscrew Cybernetic Implants #2948

Merged
merged 15 commits into from
May 20, 2024
Merged
Show file tree
Hide file tree
Changes from 14 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
1 change: 1 addition & 0 deletions code/__DEFINES/DNA.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
10 changes: 10 additions & 0 deletions code/datums/mood_events/generic_negative_events.dm
Original file line number Diff line number Diff line change
Expand Up @@ -292,3 +292,13 @@
description = "<span class='warning'>I was forced to eat cement...</span>\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
5 changes: 5 additions & 0 deletions code/datums/mood_events/generic_positive_events.dm
Original file line number Diff line number Diff line change
Expand Up @@ -239,3 +239,8 @@
description = "Fishing is relaxing"
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
11 changes: 11 additions & 0 deletions code/modules/research/designs/medical_designs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand Down
2 changes: 1 addition & 1 deletion code/modules/research/techweb/all_nodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
30 changes: 30 additions & 0 deletions code/modules/surgery/organs/augments_internal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading