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 7 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 class='boldwarning'>ITS GONE!! ITS GONE!! I'm... I'm never getting it back...</span>\n"
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
mood_change = -30
timeout = 5 MINUTES

/datum/mood_event/mindscrew
description = "<span class='boldwarning'>...SHIIIIIT. It isn't ending... it isn't ending, come on...</span>\n"
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
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 class='boldnicegreen'>I feel so joyous! Oh, so joyous! WOOOOOOOOOOOOOOOOOOOOOO!!</span>\n"
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
mood_change = 16
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
timeout = 10 SECONDS
22 changes: 22 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,28 @@
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE

/datum/design/cyberimp_joywire
name = "Joywire Implant"
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
desc = "A widely popular (and addictive) implant that stimulates the brain's pleasure centers. Dramatically increases mood, but interferes with taste reception even if uninstalled."
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
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_mindscrew
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
name = "Mindscrew Implant"
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
desc = "A horrific after-market modification of the Joywire Implant that stimulates intense pain in the brain. Dramatically, dramatically hurts mood, and lingers for a time after removal."
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
id = "ci-mindscrew"
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/mindscrew
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", "ci-mindscrew")
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 = "joywire implant"
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
desc = "A widely popular (and addictive) implant that stimulates the brain's pleasure centers. Dramatically increases mood, but interferes with taste reception even if uninstalled."
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
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)
thgvr marked this conversation as resolved.
Show resolved Hide resolved

/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 class='boldwarning'>That feeling of dream-like, distilled joy is suddenly diluted, lesser now, to sit by a growing, seething pain! Oh, how miserable it is now!</span>")
generalthrax marked this conversation as resolved.
Show resolved Hide resolved

/obj/item/organ/cyberimp/brain/mindscrew
name = "mindscrew implant"
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
desc = "A horrific after-market modification of the Joywire Implant that stimulates intense pain in the brain. Dramatically, dramatically hurts mood, and lingers for a time after removal."
generalthrax marked this conversation as resolved.
Show resolved Hide resolved
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