mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 14:08:31 +01:00
Bubber Edits for mutant bodypart PR #2903
This is all the edits done squashed together.
This commit is contained in:
@@ -36,11 +36,6 @@
|
||||
/// Scarring on the left eye
|
||||
#define LEFT_EYE_SCAR (1<<1)
|
||||
|
||||
/// Scarring on the right eye
|
||||
#define RIGHT_EYE_SCAR (1<<0)
|
||||
/// Scarring on the left eye
|
||||
#define LEFT_EYE_SCAR (1<<1)
|
||||
|
||||
/// Helper to figure out if a limb is organic
|
||||
#define IS_ORGANIC_LIMB(limb) (limb.bodytype & BODYTYPE_ORGANIC)
|
||||
/// Helper to figure out if a limb is robotic
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// Additional message types for TGUI chat panel filtering
|
||||
#define MESSAGE_TYPE_LOOC "looc"
|
||||
#define MESSAGE_TYPE_REMOTE_LOOC "rlooc"
|
||||
#define MESSAGE_TYPE_SUBTLE "subtle"
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#define span_subtle(str) ("<span class='subtle'>" + str + "</span>")
|
||||
#define span_subtlepda(str) ("<span class='subtlepda'>" + str + "</span>")
|
||||
#define span_subtler(str) ("<span class='subtler'>" + str + "</span>")
|
||||
#define span_velvet(str) ("<span class='velvet>" + str + "</span>")
|
||||
#define span_velvet_notice(str) ("<span class='velvet_notice'>" + str + "</span>")
|
||||
#define vote_font(str) ("<span class='vote'>" + str + "</span>")
|
||||
|
||||
@@ -89,6 +89,7 @@ GLOBAL_LIST_INIT(icemoon_ambience,list(
|
||||
'sound/ambience/icemoon/ambiicesting3.ogg',
|
||||
'sound/ambience/icemoon/ambiicesting4.ogg',
|
||||
'sound/ambience/icemoon/ambiicesting5.ogg',
|
||||
'modular_zubbers/sound/ambiance/bangle-freezer.ogg', // Bubber Edit - Credit: Bangle
|
||||
))
|
||||
|
||||
GLOBAL_LIST_INIT(medical_ambience,list(
|
||||
|
||||
@@ -52,18 +52,18 @@ SUBSYSTEM_DEF(pai)
|
||||
return FALSE
|
||||
switch(action)
|
||||
if("submit")
|
||||
candidate.comments = trim(params["comments"], MAX_BROADCAST_LEN)
|
||||
candidate.description = trim(params["description"], MAX_BROADCAST_LEN)
|
||||
candidate.name = trim(params["name"], MAX_NAME_LEN)
|
||||
candidate.comments = reject_bad_name(params["comments"], allow_numbers = TRUE, max_length = MAX_BROADCAST_LEN, strict = TRUE, cap_after_symbols = FALSE) || "Unknown"
|
||||
candidate.description = reject_bad_name(params["description"], allow_numbers = TRUE, max_length = MAX_BROADCAST_LEN, strict = TRUE, cap_after_symbols = FALSE) || "Unknown"
|
||||
candidate.name = reject_bad_name(params["name"], allow_numbers = TRUE, max_length = MAX_NAME_LEN, strict = TRUE, cap_after_symbols = FALSE) || "Unknown"
|
||||
candidate.ckey = user.ckey
|
||||
candidate.ready = TRUE
|
||||
ui.close()
|
||||
submit_alert(user)
|
||||
return TRUE
|
||||
if("save")
|
||||
candidate.comments = params["comments"]
|
||||
candidate.description = params["description"]
|
||||
candidate.name = params["name"]
|
||||
candidate.comments = reject_bad_name(params["comments"], allow_numbers = TRUE, max_length = MAX_BROADCAST_LEN, strict = TRUE, cap_after_symbols = FALSE) || "Unknown"
|
||||
candidate.description = reject_bad_name(params["description"], allow_numbers = TRUE, max_length = MAX_BROADCAST_LEN, strict = TRUE, cap_after_symbols = FALSE) || "Unknown"
|
||||
candidate.name = reject_bad_name(params["name"], allow_numbers = TRUE, max_length = MAX_NAME_LEN, strict = TRUE, cap_after_symbols = FALSE) || "Unknown"
|
||||
candidate.savefile_save(user)
|
||||
return TRUE
|
||||
if("load")
|
||||
|
||||
@@ -27,16 +27,16 @@
|
||||
if(imprint_on_next_insertion) //We only want this set *once*
|
||||
var/feature_name = receiver.dna.features[feature_key]
|
||||
if (isnull(feature_name))
|
||||
/* NOVA EDIT - Customization - ORIGINAL:
|
||||
/* SKYRAT EDIT - Customization - ORIGINAL:
|
||||
feature_name = receiver.dna.species.mutant_organs[parent.type]
|
||||
*/ // NOVA EDIT START
|
||||
*/ // SKYRAT EDIT START
|
||||
if(!set_appearance_from_dna(receiver.dna))
|
||||
set_appearance_from_name(receiver.dna.species.mutant_organs[parent.type])
|
||||
// NOVA EDIT END
|
||||
// NOVA EDIT START - Puts the following line in an else block
|
||||
set_appearance_from_name(receiver.dna.species.mutant_organs[parent.type] || pick(get_global_feature_list()))
|
||||
// SKYRAT EDIT END
|
||||
// SKYRAT EDIT START - Puts the following line in an else block
|
||||
else
|
||||
set_appearance_from_name(feature_name)
|
||||
// NOVA EDIT END
|
||||
// SKYRAT EDIT END
|
||||
imprint_on_next_insertion = FALSE
|
||||
|
||||
/datum/bodypart_overlay/mutant/get_overlay(layer, obj/item/bodypart/limb)
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
// Save the old DNA
|
||||
transforming.dna.copy_dna(old_dna)
|
||||
// Makes them into the new DNA
|
||||
transforming.visual_only_organs = TRUE // NOVA EDIT ADDITION - Customization
|
||||
transforming.visual_only_organs = TRUE // SKYRAT EDIT ADDITION - Customization
|
||||
new_dna.transfer_identity(transforming)
|
||||
transforming.visual_only_organs = FALSE // NOVA EDIT ADDITION - Customization
|
||||
transforming.visual_only_organs = FALSE // SKYRAT EDIT ADDITION - Customization
|
||||
transforming.real_name = new_dna.real_name
|
||||
transforming.name = transforming.get_visible_name()
|
||||
transforming.updateappearance(mutcolor_update = TRUE)
|
||||
@@ -46,9 +46,9 @@
|
||||
var/mob/living/carbon/transforming = owner
|
||||
|
||||
if(!QDELING(owner)) // Don't really need to do appearance stuff if we're being deleted
|
||||
transforming.visual_only_organs = TRUE // NOVA EDIT ADDITION - Customization
|
||||
transforming.visual_only_organs = TRUE // SKYRAT EDIT ADDITION - Customization
|
||||
old_dna.transfer_identity(transforming)
|
||||
transforming.visual_only_organs = FALSE // NOVA EDIT ADDITION - Customization
|
||||
transforming.visual_only_organs = FALSE // SKYRAT EDIT ADDITION - Customization
|
||||
transforming.updateappearance(mutcolor_update = TRUE)
|
||||
transforming.domutcheck()
|
||||
|
||||
|
||||
@@ -101,7 +101,9 @@
|
||||
if("add_note")
|
||||
if(!params["content"])
|
||||
return FALSE
|
||||
var/content = trim(params["content"], MAX_MESSAGE_LEN)
|
||||
var/content = reject_bad_name(params["content"], allow_numbers = TRUE, max_length = MAX_MESSAGE_LEN, strict = TRUE, cap_after_symbols = FALSE)
|
||||
if(!content)
|
||||
return FALSE
|
||||
|
||||
var/datum/medical_note/new_note = new(usr.name, content)
|
||||
while(length(target.medical_notes) > 2)
|
||||
|
||||
@@ -41,9 +41,9 @@
|
||||
if(!field || !(field in target?.vars))
|
||||
return FALSE
|
||||
|
||||
var/value = trim(params["value"], MAX_BROADCAST_LEN)
|
||||
investigate_log("[key_name(user)] changed the field: \"[field]\" with value: \"[target.vars[field]]\" to new value: \"[value || "Unknown"]\"", INVESTIGATE_RECORDS)
|
||||
target.vars[field] = value || "Unknown"
|
||||
var/value = reject_bad_name(params["value"], allow_numbers = TRUE, max_length = MAX_BROADCAST_LEN, strict = TRUE, cap_after_symbols = FALSE) || "Unknown"
|
||||
investigate_log("[key_name(user)] changed the field: \"[field]\" with value: \"[target.vars[field]]\" to new value: \"[value]\"", INVESTIGATE_RECORDS)
|
||||
target.vars[field] = value
|
||||
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -953,10 +953,10 @@
|
||||
user.regenerate_icons()
|
||||
user.name = user.get_visible_name()
|
||||
current_profile = chosen_profile
|
||||
// NOVA EDIT START
|
||||
user.visual_only_organs = TRUE // NOVA EDIT ADDITION - Customization
|
||||
// SKYRAT EDIT START
|
||||
user.visual_only_organs = TRUE // SKYRAT EDIT ADDITION - Customization
|
||||
chosen_dna.transfer_identity(user, TRUE)
|
||||
user.visual_only_organs = FALSE // NOVA EDIT ADDITION - Customization
|
||||
user.visual_only_organs = FALSE // SKYRAT EDIT ADDITION - Customization
|
||||
user.updateappearance(mutcolor_update = TRUE, eyeorgancolor_update = TRUE)
|
||||
user.regenerate_icons()
|
||||
user.name = user.get_visible_name()
|
||||
|
||||
@@ -276,7 +276,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
if (istype(requested_preference, /datum/preference/name))
|
||||
tainted_character_profiles = TRUE
|
||||
//SKYRAT EDIT
|
||||
update_mutant_bodyparts(requested_preference)
|
||||
update_body_parts(requested_preference)
|
||||
for (var/datum/preference_middleware/preference_middleware as anything in middleware)
|
||||
if (preference_middleware.post_set_preference(usr, requested_preference_key, value))
|
||||
return TRUE
|
||||
|
||||
@@ -333,7 +333,7 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key())
|
||||
|
||||
if ( \
|
||||
!isnull(relevant_inherent_trait) \
|
||||
|| !isnull(relevant_mutant_bodypart) /* NOVA EDIT ADDITION - Since we still use relevant_mutant_bodypart, we need it here. */ \
|
||||
|| !isnull(relevant_mutant_bodypart) /* SKYRAT EDIT ADDITION - Since we still use relevant_mutant_bodypart, we need it here. */ \
|
||||
|| !isnull(relevant_external_organ) \
|
||||
|| !isnull(relevant_head_flag) \
|
||||
|| !isnull(relevant_body_markings) \
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
//SKYRAT EDIT ADDITION
|
||||
var/soft_player_cap = CONFIG_GET(number/player_soft_cap)
|
||||
if(soft_player_cap >= TGS_CLIENT_COUNT)
|
||||
if(soft_player_cap && TGS_CLIENT_COUNT >= soft_player_cap)
|
||||
INVOKE_ASYNC(src, PROC_REF(connect_to_second_server))
|
||||
//SKYRAT EDIT END
|
||||
|
||||
|
||||
@@ -311,7 +311,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
|
||||
qdel(existing_organ)
|
||||
continue
|
||||
|
||||
if(existing_organ && !disallow_customizable_dna_features) // NOVA EDIT CHANGE - Though sometimes we might want to do that. - ORIGINAL: if(existing_organ)
|
||||
if(existing_organ) // SKYRAT EDIT CHANGE - Though sometimes we might want to do that. - ORIGINAL: if(existing_organ)
|
||||
// we dont want to remove organs that were not from the old species (such as from freak surgery or prosthetics)
|
||||
if(existing_organ.type != old_organ_type && !replace_current)
|
||||
continue
|
||||
@@ -387,7 +387,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
|
||||
if(old_species.type != type)
|
||||
replace_body(human_who_gained_species, src)
|
||||
|
||||
regenerate_organs(human_who_gained_species, old_species, replace_current = human_who_gained_species.visual_only_organs, visual_only = human_who_gained_species.visual_only_organs) // NOVA EDIT - Allows existing organs to be properly removed when regenerating organs - ORIGINAL: regenerate_organs(human_who_gained_species, old_species, replace_current = FALSE, visual_only = human_who_gained_species.visual_only_organs)
|
||||
regenerate_organs(human_who_gained_species, old_species, replace_current = human_who_gained_species.visual_only_organs, visual_only = human_who_gained_species.visual_only_organs) // SKYRAT EDIT - Allows existing organs to be properly removed when regenerating organs - ORIGINAL: regenerate_organs(human_who_gained_species, old_species, replace_current = FALSE, visual_only = human_who_gained_species.visual_only_organs)
|
||||
// Update locked slots AFTER all organ and body stuff is handled
|
||||
human_who_gained_species.hud_used?.update_locked_slots()
|
||||
// Drop the items the new species can't wear
|
||||
@@ -404,7 +404,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
|
||||
//Resets blood if it is excessively high so they don't gib
|
||||
normalize_blood(human_who_gained_species)
|
||||
|
||||
//add_body_markings(human_who_gained_species) // NOVA EDIT REMOVAL - We do this differently
|
||||
//add_body_markings(human_who_gained_species) // SKYRAT EDIT REMOVAL - We do this differently
|
||||
|
||||
if(length(inherent_traits))
|
||||
human_who_gained_species.add_traits(inherent_traits, SPECIES_TRAIT)
|
||||
@@ -532,7 +532,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
|
||||
species_human.apply_overlay(BODY_LAYER)
|
||||
update_body_markings(species_human)
|
||||
*/
|
||||
//NOVA EDIT REMOVAL END
|
||||
//SKYRAT EDIT REMOVAL END
|
||||
|
||||
//This exists so sprite accessories can still be per-layer without having to include that layer's
|
||||
//number in their sprite name, which causes issues when those numbers change.
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
TRAIT_MUTANT_COLORS,
|
||||
)
|
||||
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_REPTILE
|
||||
mutant_bodyparts = list("body_markings" = "None", "legs" = "Normal Legs") // NOVA EDIT CHANGE - ORIGINAL: body_markings = list(/datum/bodypart_overlay/simple/body_marking/lizard = "None")
|
||||
mutant_bodyparts = list("body_markings" = "None", "legs" = "Normal Legs") // SKYRAT EDIT CHANGE - ORIGINAL: body_markings = list(/datum/bodypart_overlay/simple/body_marking/lizard = "None")
|
||||
mutant_organs = list(
|
||||
/obj/item/organ/external/horns = "None",
|
||||
/obj/item/organ/external/frills = "None",
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
plural_form = "Mothmen"
|
||||
id = SPECIES_MOTH
|
||||
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG
|
||||
mutant_bodyparts = list("moth_markings" = "None") // NOVA EDIT CHANGE - ORIGINAL: body_markings = list(/datum/bodypart_overlay/simple/body_marking/moth = "None")
|
||||
//mutant_organs = list(/obj/item/organ/external/wings/moth = "Plain", /obj/item/organ/external/antennae = "Plain") // NOVA EDIT REMOVAL - Fixing moths
|
||||
mutant_bodyparts = list("moth_markings" = "None") // SKYRAT EDIT CHANGE - ORIGINAL: body_markings = list(/datum/bodypart_overlay/simple/body_marking/moth = "None")
|
||||
//mutant_organs = list(/obj/item/organ/external/wings/moth = "Plain", /obj/item/organ/external/antennae = "Plain") // SKYRAT EDIT REMOVAL - Fixing moths
|
||||
meat = /obj/item/food/meat/slab/human/mutant/moth
|
||||
mutanttongue = /obj/item/organ/internal/tongue/moth
|
||||
mutanteyes = /obj/item/organ/internal/eyes/moth
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
TRAIT_PLANT_SAFE,
|
||||
)
|
||||
mutant_organs = list(
|
||||
// /obj/item/organ/external/pod_hair = "None", // NOVA EDIT REMOVAL - Customization (it messes up unit tests.)
|
||||
// /obj/item/organ/external/pod_hair = "None", // SKYRAT EDIT REMOVAL - Customization (it messes up unit tests.)
|
||||
)
|
||||
inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_PLANT
|
||||
inherent_factions = list(FACTION_PLANTS, FACTION_VINES)
|
||||
|
||||
@@ -254,7 +254,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
|
||||
QDEL_NULL(radio)
|
||||
QDEL_NULL(countdown)
|
||||
if(is_main_engine && GLOB.main_supermatter_engine == src)
|
||||
SSpersistence.reset_delam_counter() // NOVA EDIT ADDITION BEGIN - DELAM SCRAM
|
||||
SSpersistence.reset_delam_counter() // SKYRAT EDIT ADDITION BEGIN - DELAM SCRAM
|
||||
GLOB.main_supermatter_engine = null
|
||||
QDEL_NULL(soundloop)
|
||||
return ..()
|
||||
|
||||
@@ -994,7 +994,7 @@
|
||||
markings_alpha = owner_species.markings_alpha
|
||||
else
|
||||
markings = list()
|
||||
// NOVA EDIT END
|
||||
// SKYRAT EDIT END
|
||||
recolor_bodypart_overlays()
|
||||
return TRUE
|
||||
|
||||
|
||||
+3
-3
@@ -67,9 +67,9 @@
|
||||
// SKYRAT EDIT ADDITION START
|
||||
if(!bodypart.owner.dna.mutant_bodyparts["spines"])
|
||||
bodypart.owner.dna.mutant_bodyparts["spines"] = list(MUTANT_INDEX_NAME = "None", MUTANT_INDEX_COLOR_LIST = list("#886600", "#886600", "#886600"))
|
||||
// NOVA EDIT ADDITION END
|
||||
var/feature_name = bodypart.owner.dna.mutant_bodyparts["spines"][MUTANT_INDEX_NAME] // NOVA EDIT CHANGE - ORIGINAL: var/feature_name = bodypart.owner.dna.features["spines"] //tail spines don't live in DNA, but share feature names with regular spines
|
||||
tail_spines_overlay.set_appearance_from_dna(bodypart.owner.dna, feature_name, feature_key = "spines") // NOVA EDIT CHANGE - ORIGINAL: tail_spines_overlay.set_appearance_from_name(feature_name)
|
||||
// SKYRAT EDIT ADDITION END
|
||||
var/feature_name = bodypart.owner.dna.mutant_bodyparts["spines"][MUTANT_INDEX_NAME] // SKYRAT EDIT CHANGE - ORIGINAL: var/feature_name = bodypart.owner.dna.features["spines"] //tail spines don't live in DNA, but share feature names with regular spines
|
||||
tail_spines_overlay.set_appearance_from_dna(bodypart.owner.dna, feature_name, feature_key = "spines") // SKYRAT EDIT CHANGE - ORIGINAL: tail_spines_overlay.set_appearance_from_name(feature_name)
|
||||
bodypart.add_bodypart_overlay(tail_spines_overlay)
|
||||
|
||||
/// If we have a tail spines overlay, delete it
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
|
||||
preference = "feature_human_ears"
|
||||
|
||||
//dna_block = DNA_EARS_BLOCK // NOVA EDIT REMOVAL - Customization - We have our own system to handle DNA.
|
||||
//dna_block = DNA_EARS_BLOCK // SKYRAT EDIT REMOVAL - Customization - We have our own system to handle DNA.
|
||||
|
||||
bodypart_overlay = /datum/bodypart_overlay/mutant/cat_ears
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
var/inner_layer = EXTERNAL_FRONT
|
||||
|
||||
/datum/bodypart_overlay/mutant/cat_ears/get_global_feature_list()
|
||||
return SSaccessories.sprite_accessories["ears"] // NOVA EDIT - Customization - ORIGINAL: return SSaccessories.ears_list
|
||||
return SSaccessories.sprite_accessories["ears"] // SKYRAT EDIT - Customization - ORIGINAL: return SSaccessories.ears_list
|
||||
|
||||
/datum/bodypart_overlay/mutant/cat_ears/can_draw_on_bodypart(mob/living/carbon/human/human)
|
||||
if((human.head?.flags_inv & HIDEHAIR) || (human.wear_mask?.flags_inv & HIDEHAIR))
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
/// indication that the eyes are undergoing some negative effect
|
||||
var/damaged = FALSE
|
||||
/// Native FOV that will be applied if a config is enabled
|
||||
var/native_fov = NONE //NOVA EDIT CHANGE - ORIGINAL: var/native_fov = FOV_90_DEGREES
|
||||
var/native_fov = NONE //SKYRAT EDIT CHANGE - ORIGINAL: var/native_fov = FOV_90_DEGREES
|
||||
/// Scarring on this organ
|
||||
var/scarring = NONE
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
organ_owner.update_tint()
|
||||
organ_owner.update_sight()
|
||||
is_emissive = FALSE // NOVA EDIT ADDITION
|
||||
is_emissive = FALSE // SKYRAT EDIT ADDITION
|
||||
UnregisterSignal(organ_owner, COMSIG_ATOM_BULLET_ACT)
|
||||
|
||||
/obj/item/organ/internal/eyes/proc/on_bullet_act(datum/source, obj/projectile/proj, def_zone)
|
||||
|
||||
@@ -38,13 +38,13 @@
|
||||
for(var/datum/infuser_entry/infuser_entry as anything in flatten_list(GLOB.infuser_entries))
|
||||
var/output_organs = infuser_entry.output_organs
|
||||
var/mob/living/carbon/human/lab_rat = allocate(/mob/living/carbon/human/consistent)
|
||||
// NOVA EDIT ADDITION START - Customization
|
||||
// SKYRAT EDIT ADDITION START - Customization
|
||||
lab_rat.dna.mutant_bodyparts["moth_antennae"] = list(MUTANT_INDEX_NAME = "Plain", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF"), MUTANT_INDEX_EMISSIVE_LIST = list(FALSE))
|
||||
lab_rat.dna.mutant_bodyparts["tail"] = list(MUTANT_INDEX_NAME = "Light Tiger", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF", "#FFFFFF", "#FFFFFF"))
|
||||
lab_rat.dna.mutant_bodyparts["snout"] = list(MUTANT_INDEX_NAME = "Sharp + Light", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF", "#FFFFFF", "#FFFFFF"))
|
||||
lab_rat.dna.mutant_bodyparts["horns"] = list(MUTANT_INDEX_NAME = "Simple", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF", "#FFFFFF", "#FFFFFF"))
|
||||
lab_rat.dna.mutant_bodyparts["frills"] = list(MUTANT_INDEX_NAME = "Aquatic", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF", "#FFFFFF", "#FFFFFF"))
|
||||
// NOVA EDIT END
|
||||
// SKYRAT EDIT END
|
||||
var/list/obj/item/organ/inserted_organs = list()
|
||||
|
||||
// Attempt to insert entire list of mutant organs for the given infusion_entry.
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "LT3"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscdel: "Pun Pun's suit sensors are off by default"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "StrangeWeirdKitten"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Subtler will now filter out clientless mobs"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "StrangeWeirdKitten, Bangle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Adds another ambiance track to Icebox called Freezer, by Bangle."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "MosleyTheMalO"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "makes the softcap config disableable again"
|
||||
@@ -143,3 +143,19 @@
|
||||
- rscadd: 911 responder budget increased; they now have PDAs, holoprojectors, an
|
||||
inducer, and... the marshal and SWAT teams no longer go in literally bare-handed
|
||||
(the government finally paid for their gloves).
|
||||
2025-01-13:
|
||||
Cephalopod222:
|
||||
- rscadd: Congratulations Homosexuals, Pride Scarves are now available to all crew!
|
||||
LT3:
|
||||
- rscdel: Pun Pun's suit sensors are off by default
|
||||
- sound: Subtle now has a sound notification alongside subtler
|
||||
- qol: Subtle/subtler now has a TG chat filter
|
||||
- qol: Subtle and subtler messages are brighter when using dark mode
|
||||
MosleyTheMalO:
|
||||
- bugfix: Makes condoms work
|
||||
- bugfix: fixes some lewd checks using the sex toy preference instead of the preference
|
||||
they should
|
||||
- bugfix: fixes all erp toggles resetting arousal.
|
||||
- bugfix: makes toggling off sex toys actually remove the sex toys from your inventory.
|
||||
StrangeWeirdKitten:
|
||||
- bugfix: Subtler will now filter out clientless mobs
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
/datum/preference/toggle/erp/apply_to_client_updated(client/client, value)
|
||||
. = ..()
|
||||
var/mob/living/carbon/human/target = client?.mob
|
||||
if(!value && istype(target))
|
||||
if(!value && istype(target) && (src.type == /datum/preference/toggle/erp))
|
||||
target.arousal = 0
|
||||
target.pain = 0
|
||||
target.pleasure = 0
|
||||
@@ -74,13 +74,17 @@
|
||||
if(ishuman(client.mob))
|
||||
var/mob/living/carbon/human/target = client.mob
|
||||
if(target.vagina != null)
|
||||
target.dropItemToGround(target.vagina, TRUE, target.loc, TRUE, FALSE, TRUE)
|
||||
target.dropItemToGround(target.vagina, TRUE, TRUE, FALSE)
|
||||
target.vagina = null
|
||||
if(target.anus != null)
|
||||
target.dropItemToGround(target.anus, TRUE, target.loc, TRUE, FALSE, TRUE)
|
||||
target.dropItemToGround(target.anus, TRUE, TRUE, FALSE)
|
||||
target.anus = null
|
||||
if(target.nipples != null)
|
||||
target.dropItemToGround(target.nipples, TRUE, target.loc, TRUE, FALSE, TRUE)
|
||||
target.dropItemToGround(target.nipples, TRUE, TRUE, FALSE)
|
||||
target.nipples = null
|
||||
if(target.penis != null)
|
||||
target.dropItemToGround(target.penis, TRUE, target.loc, TRUE, FALSE, TRUE)
|
||||
target.dropItemToGround(target.penis, TRUE, TRUE, FALSE)
|
||||
target.penis = null
|
||||
|
||||
|
||||
client.mob.hud_used.hidden_inventory_update(client.mob)
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
savefile_key = "feature_ears"
|
||||
relevant_mutant_bodypart = "ears"
|
||||
type_to_check = /datum/preference/toggle/mutant_toggle/ears
|
||||
default_accessory_type = /datum/sprite_accessory/ears
|
||||
default_accessory_type = /datum/sprite_accessory/ears/none
|
||||
|
||||
/datum/preference/tri_color/ears
|
||||
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
|
||||
|
||||
@@ -288,7 +288,7 @@
|
||||
save_data["modular_version"] = MODULAR_SAVEFILE_VERSION_MAX
|
||||
|
||||
|
||||
/datum/preferences/proc/update_mutant_bodyparts(datum/preference/preference)
|
||||
/datum/preferences/proc/update_body_parts(datum/preference/preference)
|
||||
if (!preference.relevant_mutant_bodypart)
|
||||
return
|
||||
var/part = preference.relevant_mutant_bodypart
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@
|
||||
has_inner = TRUE
|
||||
|
||||
/datum/sprite_accessory/ears/mutant
|
||||
icon = 'modular_nova/master_files/icons/mob/sprite_accessory/ears.dmi'
|
||||
icon = 'modular_skyrat/master_files/icons/mob/sprite_accessory/ears.dmi'
|
||||
organ_type = /obj/item/organ/internal/ears/mutant
|
||||
color_src = USE_MATRIXED_COLORS
|
||||
recommended_species = list(SPECIES_MAMMAL, SPECIES_HUMAN, SPECIES_SYNTH, SPECIES_FELINE, SPECIES_HUMANOID, SPECIES_GHOUL)
|
||||
|
||||
+2
-2
@@ -328,7 +328,7 @@
|
||||
alter_parts(alterer)
|
||||
|
||||
alterer.mutant_renderkey = "" //Just in case
|
||||
alterer.update_mutant_bodyparts()
|
||||
alterer.update_body_parts()
|
||||
|
||||
/**
|
||||
* Alter parts lets you adjust mutant bodyparts
|
||||
@@ -401,7 +401,7 @@
|
||||
alterer.dna.species.mutant_bodyparts[chosen_key] = new_acc_list
|
||||
alterer.dna.mutant_bodyparts[chosen_key] = new_acc_list.Copy()
|
||||
alterer.dna.update_uf_block(SSaccessories.dna_mutant_bodypart_blocks[chosen_key])
|
||||
alterer.update_mutant_bodyparts()
|
||||
alterer.update_body_parts()
|
||||
alterer.update_clothing(ALL) // for any clothing that has alternate versions (e.g. muzzled masks)
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
color = mutantpart_info[MUTANT_INDEX_COLOR_LIST][1]
|
||||
|
||||
/obj/item/organ/external/Remove(mob/living/carbon/organ_owner, special, movement_flags)
|
||||
// NOVA EDIT ADDITION START
|
||||
// SKYRAT EDIT ADDITION START
|
||||
if(mutantpart_key)
|
||||
transfer_mutantpart_info(organ_owner, special)
|
||||
// NOVA EDIT ADDITION END
|
||||
// SKYRAT EDIT ADDITION END
|
||||
return ..()
|
||||
|
||||
/// Copies the organ's mutantpart_info to the owner's mutant_bodyparts
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
to_chat(user, span_warning("You need to aggressively grab someone to hypnotize them."))
|
||||
return FALSE
|
||||
|
||||
if(!target_human.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy))
|
||||
if(!target_human.client?.prefs?.read_preference(/datum/preference/toggle/erp/hypnosis))
|
||||
to_chat(user, span_warning("[target_human] doesn't want to be hypnotized."))
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
if(refractory_period > REALTIMEOFDAY)
|
||||
return
|
||||
refractory_period = REALTIMEOFDAY + 30 SECONDS
|
||||
if(has_status_effect(/datum/status_effect/climax_cooldown) || !client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy))
|
||||
if(has_status_effect(/datum/status_effect/climax_cooldown) || !client?.prefs?.read_preference(/datum/preference/toggle/erp))
|
||||
return
|
||||
|
||||
if(HAS_TRAIT(src, TRAIT_NEVERBONER) || has_status_effect(/datum/status_effect/climax_cooldown) || (!has_vagina() && !has_penis()))
|
||||
@@ -60,7 +60,7 @@
|
||||
span_userlove("You orgasm, it feels great, but nothing comes out of your penis!"))
|
||||
|
||||
else if(is_wearing_condom())
|
||||
var/obj/item/clothing/sextoy/condom/condom = get_item_by_slot(LEWD_SLOT_PENIS)
|
||||
var/obj/item/clothing/sextoy/condom/condom = src.penis // bruh 💀⚰️💀⚰️💀⚰️💀⚰️💀
|
||||
condom.condom_use()
|
||||
visible_message(span_userlove("[src] shoots [self_their] load into the [condom], filling it up!"), \
|
||||
span_userlove("You shoot your thick load into the [condom] and it catches it all!"))
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@
|
||||
alert_type = null
|
||||
|
||||
/datum/status_effect/climax/tick(seconds_between_ticks)
|
||||
if(!owner.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy))
|
||||
if(!owner.client?.prefs?.read_preference(/datum/preference/toggle/erp))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/affected_mob = owner
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
// This one should not leave decals on the floor. Used in case if character cumming in beaker.
|
||||
/datum/status_effect/masturbation_climax/tick(seconds_between_ticks)
|
||||
if(!owner.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy))
|
||||
if(!owner.client?.prefs?.read_preference(/datum/preference/toggle/erp))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/affected_mob = owner
|
||||
|
||||
+3
-3
@@ -20,7 +20,7 @@
|
||||
|
||||
/datum/status_effect/body_fluid_regen/vagina/tick(seconds_between_ticks)
|
||||
var/mob/living/carbon/human/affected_human = owner
|
||||
if(owner.stat >= DEAD || !owner.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy) || !istype(affected_human))
|
||||
if(owner.stat >= DEAD || !owner.client?.prefs?.read_preference(/datum/preference/toggle/erp) || !istype(affected_human))
|
||||
return FALSE
|
||||
|
||||
var/obj/item/organ/external/genital/vagina/vagina = owner.get_organ_slot(ORGAN_SLOT_VAGINA)
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
/datum/status_effect/body_fluid_regen/testes/tick(seconds_between_ticks)
|
||||
var/mob/living/carbon/human/affected_human = owner
|
||||
if(owner.stat >= DEAD || !owner.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy) || !istype(affected_human))
|
||||
if(owner.stat >= DEAD || !owner.client?.prefs?.read_preference(/datum/preference/toggle/erp) || !istype(affected_human))
|
||||
return FALSE
|
||||
|
||||
var/obj/item/organ/external/genital/testicles/testes = owner.get_organ_slot(ORGAN_SLOT_TESTICLES)
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
/datum/status_effect/body_fluid_regen/breasts/tick(seconds_between_ticks)
|
||||
var/mob/living/carbon/human/affected_human = owner
|
||||
if(owner.stat >= DEAD || !owner.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy) || !istype(affected_human))
|
||||
if(owner.stat >= DEAD || !owner.client?.prefs?.read_preference(/datum/preference/toggle/erp) || !istype(affected_human))
|
||||
return FALSE
|
||||
|
||||
var/obj/item/organ/external/genital/breasts/breasts = owner.get_organ_slot(ORGAN_SLOT_BREASTS)
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
victim = user
|
||||
if(!(slot & ITEM_SLOT_EYES))
|
||||
return
|
||||
if(!(iscarbon(victim) && victim.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy)))
|
||||
if(!(iscarbon(victim) && victim.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy) && victim.client?.prefs?.read_preference(/datum/preference/toggle/erp/hypnosis)))
|
||||
return
|
||||
if(codephrase != "")
|
||||
victim.gain_trauma(new /datum/brain_trauma/very_special/induced_hypnosis(codephrase), TRAUMA_RESILIENCE_MAGIC)
|
||||
|
||||
@@ -371,7 +371,7 @@
|
||||
return FALSE
|
||||
|
||||
var/obj/item/clothing/sextoy/condom/condom = penis
|
||||
return condom.condom_state == TRAIT_CONDOM_BROKEN
|
||||
return condom.condom_state != TRAIT_CONDOM_BROKEN
|
||||
|
||||
// For handling things that don't already have handcuff handlers.
|
||||
/mob/living/carbon/human/set_handcuffed(new_value)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/item/organ/internal/brain/on_life(seconds_per_tick, times_fired) //All your horny is here *points to the head*
|
||||
. = ..()
|
||||
var/mob/living/carbon/human/brain_owner = owner
|
||||
if(istype(brain_owner, /mob/living/carbon/human) && brain_owner.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy))
|
||||
if(istype(brain_owner, /mob/living/carbon/human) && brain_owner.client?.prefs?.read_preference(/datum/preference/toggle/erp))
|
||||
if(!(organ_flags & ORGAN_FAILING))
|
||||
brain_owner.dna.species.handle_arousal(brain_owner, seconds_per_tick, times_fired)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
/// Handles throwing the arousal alerts to screen.
|
||||
/datum/species/proc/handle_arousal(mob/living/carbon/human/target_human, atom/movable/screen/alert/aroused)
|
||||
if(!target_human.client?.prefs?.read_preference(/datum/preference/toggle/erp/sex_toy))
|
||||
if(!target_human.client?.prefs?.read_preference(/datum/preference/toggle/erp))
|
||||
return
|
||||
|
||||
var/atom/movable/screen/alert/aroused/arousal_alert = target_human.alerts[AROUSED_ALERT]
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
//When condom equipped we doing stuff
|
||||
/obj/item/clothing/sextoy/condom/lewd_equipped(mob/user, slot, initial)
|
||||
. = ..()
|
||||
if((slot == LEWD_SLOT_PENIS) && condom_state == "unused")
|
||||
if((slot == ORGAN_SLOT_PENIS) && condom_state == "unused")
|
||||
condom_state = "used"
|
||||
update_icon_state()
|
||||
update_icon()
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
/obj/item/clothing/glasses/thin = 5,
|
||||
/obj/item/clothing/glasses/hud/ar/projector = 5,
|
||||
/obj/item/clothing/neck/face_scarf = 5,
|
||||
/obj/item/clothing/neck/scarf/pride = 5, //BUBBER EDIT: ADDS PRIDE SCARVES
|
||||
/obj/item/clothing/gloves/bracer/wraps,
|
||||
),
|
||||
),
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
reagent_flags = PROCESS_SYNTHETIC
|
||||
payday_modifier = 1.0 // Matches the rest of the pay penalties the non-human crew have
|
||||
species_language_holder = /datum/language_holder/machine
|
||||
mutant_organs = list(/obj/item/organ/internal/cyberimp/arm/power_cord/left_arm)
|
||||
mutantbrain = /obj/item/organ/internal/brain/synth
|
||||
mutantstomach = /obj/item/organ/internal/stomach/synth
|
||||
mutantears = /obj/item/organ/internal/ears/synth
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
var/space = should_have_space_before_emote(html_decode(subtle_emote)[1]) ? " " : ""
|
||||
|
||||
subtle_message = span_emote("<b>[user]</b>[space]<i>[user.say_emphasis(subtle_message)]</i>")
|
||||
subtle_message = span_subtle("<b>[user]</b>[space]<i>[user.say_emphasis(subtle_message)]</i>")
|
||||
|
||||
var/list/viewers = get_hearers_in_view(SUBTLE_ONE_TILE, user)
|
||||
|
||||
@@ -55,10 +55,15 @@
|
||||
|
||||
for(var/mob/ghost as anything in GLOB.dead_mob_list)
|
||||
if((ghost.client?.prefs.chat_toggles & CHAT_GHOSTSIGHT) && !(ghost in viewers))
|
||||
ghost.show_message(subtle_message)
|
||||
to_chat(ghost, "[FOLLOW_LINK(ghost, user)] [subtle_message]")
|
||||
|
||||
for(var/mob/receiver in viewers)
|
||||
receiver.show_message(subtle_message, alt_msg = subtle_message)
|
||||
// Optional sound notification
|
||||
if(!isobserver(receiver))
|
||||
var/datum/preferences/prefs = receiver.client?.prefs
|
||||
if(prefs && prefs.read_preference(/datum/preference/toggle/subtler_sound))
|
||||
receiver.playsound_local(get_turf(receiver), 'sound/effects/achievement/glockenspiel_ping.ogg', 50)
|
||||
|
||||
return TRUE
|
||||
|
||||
@@ -132,7 +137,7 @@
|
||||
|
||||
var/space = should_have_space_before_emote(html_decode(subtler_emote)[1]) ? " " : ""
|
||||
|
||||
subtler_message = span_emote("<b>[user]</b>[space]<i>[user.say_emphasis(subtler_message)]</i>")
|
||||
subtler_message = span_subtler("<b>[user]</b>[space]<i>[user.say_emphasis(subtler_message)]</i>")
|
||||
|
||||
if(istype(target, /mob))
|
||||
var/mob/target_mob = target
|
||||
@@ -140,7 +145,7 @@
|
||||
var/obj/effect/overlay/holo_pad_hologram/hologram = GLOB.hologram_impersonators[user]
|
||||
if((get_dist(user.loc, target_mob.loc) <= subtler_range) || (hologram && get_dist(hologram.loc, target_mob.loc) <= subtler_range))
|
||||
target_mob.show_message(subtler_message, alt_msg = subtler_message)
|
||||
// Subtler sounds
|
||||
// Optional sound notification
|
||||
var/datum/preferences/prefs = target_mob.client?.prefs
|
||||
if(prefs && prefs.read_preference(/datum/preference/toggle/subtler_sound))
|
||||
target_mob.playsound_local(get_turf(target_mob), 'sound/effects/achievement/glockenspiel_ping.ogg', 50)
|
||||
@@ -150,7 +155,7 @@
|
||||
var/obj/effect/overlay/holo_pad_hologram/hologram = target
|
||||
if(hologram.Impersonation?.client)
|
||||
hologram.Impersonation.show_message(subtler_message, alt_msg = subtler_message)
|
||||
// Subtler sounds
|
||||
// Optional sound notification
|
||||
var/datum/preferences/prefs = hologram.Impersonation.client?.prefs
|
||||
if(prefs && prefs.read_preference(/datum/preference/toggle/subtler_sound))
|
||||
hologram.Impersonation.playsound_local(get_turf(hologram.Impersonation), 'sound/effects/achievement/glockenspiel_ping.ogg', 50)
|
||||
@@ -167,7 +172,7 @@
|
||||
|
||||
for(var/mob/receiver in ghostless)
|
||||
receiver.show_message(subtler_message, alt_msg = subtler_message)
|
||||
// Subtler sounds
|
||||
// Optional sound notification
|
||||
var/datum/preferences/prefs = receiver.client?.prefs
|
||||
if(prefs && prefs.read_preference(/datum/preference/toggle/subtler_sound))
|
||||
receiver.playsound_local(get_turf(receiver), 'sound/effects/achievement/glockenspiel_ping.ogg', 50)
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
// Apply Appearance
|
||||
user.regenerate_organs() // Actually regenerates the mutant_bodyparts.
|
||||
user.update_body(TRUE) // Outfit and underware, also body.
|
||||
user.update_mutant_bodyparts(TRUE) // Lizard tails etc
|
||||
user.update_body_parts(TRUE) // Lizard tails etc
|
||||
|
||||
RegisterSignal(user, COMSIG_HUMAN_GET_VISIBLE_NAME, PROC_REF(return_disguise_name))
|
||||
|
||||
|
||||
@@ -559,3 +559,26 @@
|
||||
greyscale_colors = null
|
||||
is_tied = TRUE
|
||||
clip_on = TRUE
|
||||
|
||||
//PRIDE SCARVES, SPRITES BY Cephalopod222 OF BUBBERSTATION
|
||||
/obj/item/clothing/neck/scarf/pride
|
||||
name = "pride scarf"
|
||||
desc = "A Nanotrasen made nano-weave scarf to show off your favourite flavour of gay and keep you nice and warm! Congratulations!"
|
||||
icon = 'modular_zubbers/icons/obj/clothing/neck/neck.dmi'
|
||||
icon_preview = 'modular_zubbers/icons/obj/clothing/neck/neck.dmi'
|
||||
worn_icon = 'modular_zubbers/icons/mob/clothing/neck/neck.dmi'
|
||||
icon_state = "scarf_rainbow"
|
||||
icon_state_preview = "scarf_rainbow"
|
||||
greyscale_colors = null
|
||||
greyscale_config = null
|
||||
greyscale_config_worn = null
|
||||
obj_flags = UNIQUE_RENAME | INFINITE_RESKIN
|
||||
unique_reskin = list(
|
||||
"Rainbow Scarf" = "scarf_rainbow",
|
||||
"Bisexual Scarf" = "scarf_bi",
|
||||
"Pansexual Scarf" = "scarf_pan",
|
||||
"Asexual Scarf" = "scarf_ace",
|
||||
"Gay Scarf" = "scarf_gay",
|
||||
"Transgender Scarf" = "scarf_trans",
|
||||
"Lesbian Scarf" = "scarf_lesbian",
|
||||
)
|
||||
|
||||
@@ -18,3 +18,8 @@
|
||||
/datum/loadout_item/neck/bunnypendant
|
||||
name = "Rabbit Pendant"
|
||||
item_path = /obj/item/clothing/neck/bunny_pendant
|
||||
|
||||
/datum/loadout_item/neck/scarf/pride
|
||||
name = "Pride Scarf"
|
||||
item_path = /obj/item/clothing/neck/scarf/pride
|
||||
can_be_reskinned = TRUE
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 7.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 7.7 KiB |
Binary file not shown.
@@ -42,6 +42,7 @@ export const MESSAGE_TYPE_DEBUG = 'debug';
|
||||
export const MESSAGE_TYPE_MENTOR = 'mentor';
|
||||
export const MESSAGE_TYPE_LOOC = 'looc';
|
||||
export const MESSAGE_TYPE_REMOTE_LOOC = 'rlooc';
|
||||
export const MESSAGE_TYPE_SUBTLE = 'subtle';
|
||||
// BUBBER EDIT ADDITION END
|
||||
|
||||
// Metadata for each message type
|
||||
@@ -107,6 +108,12 @@ export const MESSAGE_TYPES = [
|
||||
description: 'Local OOC messages.',
|
||||
selector: '.looc',
|
||||
},
|
||||
{
|
||||
type: MESSAGE_TYPE_SUBTLE,
|
||||
name: 'Subtle',
|
||||
description: 'Subtle and Subtler actions.',
|
||||
selector: '.subtle, .subtler',
|
||||
},
|
||||
{
|
||||
type: MESSAGE_TYPE_MENTOR,
|
||||
name: 'Mentor Log',
|
||||
|
||||
@@ -1315,7 +1315,7 @@ $border-width-px: $border-width * 1px;
|
||||
background-color: darken(map.get($alert-stripe-colors, $color-name), 5);
|
||||
}
|
||||
}
|
||||
/* SKYRAT EDIT ADDITION START - DARK MODE CLASSES */
|
||||
/* BUBBER EDIT ADDITION START - DARK MODE CLASSES */
|
||||
|
||||
.mentor {
|
||||
color: #8a2be2;
|
||||
@@ -1413,9 +1413,13 @@ $border-width-px: $border-width * 1px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
// SKYRAT EDIT ADDITION END
|
||||
.subtle {
|
||||
color: #abc6ec;
|
||||
}
|
||||
|
||||
/* BUBBER EDIT ADDITION BEGIN - DARK MODE CLASSES */
|
||||
.subtler {
|
||||
color: #e2c1ff;
|
||||
}
|
||||
|
||||
.subtlepda {
|
||||
color: #eb6bff;
|
||||
|
||||
@@ -1332,6 +1332,14 @@ $border-width-px: $border-width * 1px;
|
||||
}
|
||||
}
|
||||
|
||||
.subtle {
|
||||
color: #000099;
|
||||
}
|
||||
|
||||
.subtler {
|
||||
color: #4a00b3;
|
||||
}
|
||||
|
||||
.subtlepda {
|
||||
color: #9e008c;
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
import { CheckboxInput, FeatureToggle } from '../../base';
|
||||
|
||||
export const subtler_sound: FeatureToggle = {
|
||||
name: 'Toggle Subtler Sound',
|
||||
name: 'Toggle Subtle/r Sound',
|
||||
category: 'SOUND',
|
||||
description: 'Toggles whether you hear subtler emote sound effects',
|
||||
description: 'Toggles whether you hear subtle/r emote sound effects',
|
||||
component: CheckboxInput,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user