From 3078639173118b13d463eef4cf363fb0efe52455 Mon Sep 17 00:00:00 2001 From: K3L <135052649+K3Licia@users.noreply.github.com> Date: Wed, 20 May 2026 08:15:34 -0500 Subject: [PATCH 1/6] Add files via upload Signed-off-by: K3L <135052649+K3Licia@users.noreply.github.com> --- .../luminescent/luminescent_quirk.dm | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm diff --git a/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm b/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm new file mode 100644 index 00000000000000..3450967f15cd6a --- /dev/null +++ b/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm @@ -0,0 +1,73 @@ +GLOBAL_LIST_INIT(possible_quirk_extracts, list( + "Grey" = /obj/item/slime_extract/grey, + "Green" = /obj/item/slime_extract/green, + "Cerulean" = /obj/item/slime_extract/cerulean, + "Blue" = /obj/item/slime_extract/blue, + "Dark Blue" = /obj/item/slime_extract/darkblue, + "Purple" = /obj/item/slime_extract/purple, + "Dark Purple" = /obj/item/slime_extract/darkpurple, + "Orange" = /obj/item/slime_extract/orange, + "Yellow" = /obj/item/slime_extract/yellow, + "Red" = /obj/item/slime_extract/red, + "Pink" = /obj/item/slime_extract/pink, + "Light Pink" = /obj/item/slime_extract/pink, + "Black" = /obj/item/slime_extract/black, + "Oil" = /obj/item/slime_extract/oil, + "Sepia" = /obj/item/slime_extract/sepia, + "Bluespace" = /obj/item/slime_extract/bluespace, + "Rainbow" = /obj/item/slime_extract/rainbow, + "Metal" = /obj/item/slime_extract/metal, + "Silver" = /obj/item/slime_extract/silver, + "Gold" = /obj/item/slime_extract/gold, + "Adamantine" = /obj/item/slime_extract/adamantine, + "Pyrite" = /obj/item/slime_extract/pyrite, +)) + +/datum/quirk/item_quirk/luminescent + name = "Luminescent" + desc = "You are more resonant-inclined than the rest of your slimy peers, and gain one slime extract of your choosing. Exclusive to Slimepeople." + value = 2 + icon = FA_ICON_MAGIC + gain_text = span_notice("You feel a power welling up within your core.") + lose_text = span_warning("The power in your core fades...") + medical_record_text = "Patient possesses a unique core." + quirk_flags = QUIRK_HUMAN_ONLY + +/datum/quirk/item_quirk/luminescent/add_unique(client/client_source) + var/mob/living/carbon/human/human_holder = quirk_holder + desired_extract = GLOB.possible_quirk_extracts[client_source?.prefs?.read_preference(/datum/preference/choiced/luminescent_extract)] + give_item_to_holder(GLOB.possible_quirk_extracts, list(LOCATION_RPOCKET, LOCATION_LPOCKET, LOCATION_BACKPACK, LOCATION_HANDS)) + +/datum/quirk/item_quirk/luminescent/remove() + +var/obj/item/slime_extract/desired_extract + +/datum/quirk/luminescent/is_species_appropriate(datum/species/mob_species) + if(mob_species != /datum/species/jelly) + return FALSE + return ..() + +/datum/quirk_constant_data/luminescent + associated_typepath = /datum/quirk/item_quirk/luminescent + customization_options = list(/datum/preference/choiced/luminescent_extract) + +/datum/preference/choiced/luminescent_extract + category = PREFERENCE_CATEGORY_MANUALLY_RENDERED + savefile_key = "luminescent_extract" + savefile_identifier = PREFERENCE_CHARACTER + can_randomize = FALSE + +/datum/preference/choiced/luminescent_extract/init_possible_values() + return list("Random") + assoc_to_keys(GLOB.possible_quirk_extracts) + +/datum/preference/choiced/luminescent_extract/create_default_value() + return "Random" + +/datum/preference/choiced/luminescent_extract/is_accessible(datum/preferences/preferences) + if (!..()) + return FALSE + + return "Luminescent" in preferences.all_quirks + +/datum/preference/choiced/luminescent/apply_to_human(mob/living/carbon/human/target, value) + return From 137c7f71a024b56b369a6638f04f3e6165577da7 Mon Sep 17 00:00:00 2001 From: K3L <135052649+K3Licia@users.noreply.github.com> Date: Wed, 20 May 2026 08:16:09 -0500 Subject: [PATCH 2/6] Add files via upload Signed-off-by: K3L <135052649+K3Licia@users.noreply.github.com> --- .../features/dopplershift_preferences/luminescent.tsx | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/luminescent.tsx diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/luminescent.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/luminescent.tsx new file mode 100644 index 00000000000000..57a7691ab4b3de --- /dev/null +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/luminescent.tsx @@ -0,0 +1,7 @@ +import { FeatureChoiced } from '../base'; +import { FeatureDropdownInput } from '../dropdowns'; + +export const luminescent_extract: FeatureChoiced = { + name: 'Extract', + component: FeatureDropdownInput, +}; From 6736cbbef761987c9bec4997a4a7a79cde2a13a5 Mon Sep 17 00:00:00 2001 From: K3L <135052649+K3Licia@users.noreply.github.com> Date: Wed, 20 May 2026 08:17:52 -0500 Subject: [PATCH 3/6] Add luminescent quirk to tgstation.dme Signed-off-by: K3L <135052649+K3Licia@users.noreply.github.com> --- tgstation.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/tgstation.dme b/tgstation.dme index dd28a59c785235..0cd46e1cb2d7af 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7535,6 +7535,7 @@ #include "modular_doppler\modular_quirks\limping\limping.dm" #include "modular_doppler\modular_quirks\limping\preferences.dm" #include "modular_doppler\modular_quirks\linguist\linguist.dm" +#include "modular_doppler\modular_quirks\luminescent\luminescent_quirk.dm" #include "modular_doppler\modular_quirks\night_vision\night_vision.dm" #include "modular_doppler\modular_quirks\oversized\oversized.dm" #include "modular_doppler\modular_quirks\overwrites\equipping.dm" From e58ff3e8b42cb332ffe7f6dee2ae53bc0216be31 Mon Sep 17 00:00:00 2001 From: K3L <135052649+K3Licia@users.noreply.github.com> Date: Wed, 20 May 2026 09:13:54 -0500 Subject: [PATCH 4/6] Update luminescent_quirk.dm Signed-off-by: K3L <135052649+K3Licia@users.noreply.github.com> --- .../luminescent/luminescent_quirk.dm | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm b/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm index 3450967f15cd6a..a2279df081daad 100644 --- a/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm +++ b/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm @@ -26,23 +26,27 @@ GLOBAL_LIST_INIT(possible_quirk_extracts, list( /datum/quirk/item_quirk/luminescent name = "Luminescent" desc = "You are more resonant-inclined than the rest of your slimy peers, and gain one slime extract of your choosing. Exclusive to Slimepeople." - value = 2 + value = 1 icon = FA_ICON_MAGIC gain_text = span_notice("You feel a power welling up within your core.") lose_text = span_warning("The power in your core fades...") medical_record_text = "Patient possesses a unique core." quirk_flags = QUIRK_HUMAN_ONLY + // a variable holding the extract spawned so we can keep track of it + var/object/item/slime_extract/spawned_extract /datum/quirk/item_quirk/luminescent/add_unique(client/client_source) var/mob/living/carbon/human/human_holder = quirk_holder - desired_extract = GLOB.possible_quirk_extracts[client_source?.prefs?.read_preference(/datum/preference/choiced/luminescent_extract)] - give_item_to_holder(GLOB.possible_quirk_extracts, list(LOCATION_RPOCKET, LOCATION_LPOCKET, LOCATION_BACKPACK, LOCATION_HANDS)) + // fetch the quirk + var/extract_path = GLOB.possible_quirk_extracts[client_source.prefs?.read_preference(/datum/preference/choiced/luminescent_extract)] + // instantiate it in nullspace + spawned_extract = new extract_path() + // activate it + spawned.extract.activate(quirk_human,quirk_human.dna.species, SLIME_ACTIVATE_MAJOR) + // or put in hands + give_item_to_holder(spawned_extract, list(LOCATION_RPOCKET, LOCATION_LPOCKET, LOCATION_BACKPACK, LOCATION_HANDS)) -/datum/quirk/item_quirk/luminescent/remove() - -var/obj/item/slime_extract/desired_extract - -/datum/quirk/luminescent/is_species_appropriate(datum/species/mob_species) +/datum/quirk/item_quirk/luminescent/is_species_appropriate(datum/species/mob_species) if(mob_species != /datum/species/jelly) return FALSE return ..() From 09c7346e6049f27a57a6a56ebe100072ec392e4e Mon Sep 17 00:00:00 2001 From: K3L <135052649+K3Licia@users.noreply.github.com> Date: Wed, 20 May 2026 09:40:20 -0500 Subject: [PATCH 5/6] Update luminescent_quirk.dm Signed-off-by: K3L <135052649+K3Licia@users.noreply.github.com> --- .../modular_quirks/luminescent/luminescent_quirk.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm b/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm index a2279df081daad..df9590d89792ba 100644 --- a/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm +++ b/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm @@ -33,8 +33,7 @@ GLOBAL_LIST_INIT(possible_quirk_extracts, list( medical_record_text = "Patient possesses a unique core." quirk_flags = QUIRK_HUMAN_ONLY // a variable holding the extract spawned so we can keep track of it - var/object/item/slime_extract/spawned_extract - + var/obj/item/slime_extract/spawned_extract /datum/quirk/item_quirk/luminescent/add_unique(client/client_source) var/mob/living/carbon/human/human_holder = quirk_holder // fetch the quirk From 1449cb0d5c22f604786d5bc4dda761a14b237153 Mon Sep 17 00:00:00 2001 From: K3L <135052649+K3Licia@users.noreply.github.com> Date: Wed, 20 May 2026 11:55:51 -0500 Subject: [PATCH 6/6] Update luminescent_quirk.dm Signed-off-by: K3L <135052649+K3Licia@users.noreply.github.com> --- .../modular_quirks/luminescent/luminescent_quirk.dm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm b/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm index df9590d89792ba..ea7b4a7529bdc9 100644 --- a/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm +++ b/modular_doppler/modular_quirks/luminescent/luminescent_quirk.dm @@ -31,25 +31,17 @@ GLOBAL_LIST_INIT(possible_quirk_extracts, list( gain_text = span_notice("You feel a power welling up within your core.") lose_text = span_warning("The power in your core fades...") medical_record_text = "Patient possesses a unique core." - quirk_flags = QUIRK_HUMAN_ONLY // a variable holding the extract spawned so we can keep track of it var/obj/item/slime_extract/spawned_extract /datum/quirk/item_quirk/luminescent/add_unique(client/client_source) - var/mob/living/carbon/human/human_holder = quirk_holder + if(isjelly(quirk_holder)) // fetch the quirk var/extract_path = GLOB.possible_quirk_extracts[client_source.prefs?.read_preference(/datum/preference/choiced/luminescent_extract)] // instantiate it in nullspace spawned_extract = new extract_path() - // activate it - spawned.extract.activate(quirk_human,quirk_human.dna.species, SLIME_ACTIVATE_MAJOR) - // or put in hands + // put in hands give_item_to_holder(spawned_extract, list(LOCATION_RPOCKET, LOCATION_LPOCKET, LOCATION_BACKPACK, LOCATION_HANDS)) -/datum/quirk/item_quirk/luminescent/is_species_appropriate(datum/species/mob_species) - if(mob_species != /datum/species/jelly) - return FALSE - return ..() - /datum/quirk_constant_data/luminescent associated_typepath = /datum/quirk/item_quirk/luminescent customization_options = list(/datum/preference/choiced/luminescent_extract)