This commit is contained in:
Roxy
2025-06-15 17:22:24 -04:00
parent c6a1f9237d
commit 46cbddba6a
14 changed files with 27 additions and 50 deletions
+3
View File
@@ -1 +1,4 @@
#define SPECIES_PROTEAN "protean"
#define MUTATION_SOURCE_SPECIES "species"
#define MUTATION_SOURCE_QUIRK "quirk"
+4
View File
@@ -48,9 +48,11 @@ GLOBAL_LIST_INIT(features_block_lengths, list(
* Commonly used by the datum/dna/set_uni_identity_block and datum/dna/get_uni_identity_block procs.
*/
GLOBAL_LIST_INIT(total_ui_len_by_block, populate_total_ui_len_by_block())
*/
GLOBAL_LIST_INIT(standard_mutation_sources, list(MUTATION_SOURCE_ACTIVATED, MUTATION_SOURCE_MUTATOR, MUTATION_SOURCE_TIMED_INJECTOR))
/*
/proc/populate_total_ui_len_by_block()
. = list()
var/total_block_len = 1
@@ -454,6 +456,8 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block())
set_uni_feature_block(blocknumber, construct_block(SSaccessories.pod_hair_list.Find(features["pod_hair"]), length(SSaccessories.pod_hair_list)))
if(DNA_FISH_TAIL_BLOCK)
set_uni_feature_block(blocknumber, construct_block(SSaccessories.tails_list_fish.Find(features["fish_tail"]), length(SSaccessories.tails_list_fish)))
*/
//SKYRAT EDIT REMOVAL END
/**
* Checks if two DNAs are practically the same by comparing their most defining features
@@ -957,7 +957,7 @@
current_profile = chosen_profile
// SKYRAT EDIT START
user.visual_only_organs = TRUE
chosen_dna.transfer_identity(user, TRUE)
chosen_dna.copy_dna(user.dna, COPY_DNA_SE|COPY_DNA_SPECIES)
user.visual_only_organs = initial(user.visual_only_organs)
user.updateappearance(mutcolor_update = TRUE, eyeorgancolor_update = TRUE)
user.regenerate_icons()
@@ -1,3 +1,3 @@
/datum/mutation/human
/datum/mutation
/// Is this mutation disabled(can't be got through the DNA console)
var/disabled = FALSE
@@ -1,4 +1,4 @@
/datum/mutation/human/strong_legs
/datum/mutation/strong_legs
name = "Strong Legs"
desc = "Strengtens the calves of the subject, allowing them to leap across gaps."
quality = POSITIVE
@@ -8,7 +8,7 @@
power_path = /datum/action/cooldown/mob_cooldown/leap
instability = 25
/datum/mutation/human/strong_legs/setup()
/datum/mutation/strong_legs/setup()
. = ..()
var/datum/action/cooldown/mob_cooldown/leap/ability = .
if(!istype(ability)) // null or invalid
@@ -100,4 +100,4 @@
/obj/item/dnainjector/strong_legs
name = "\improper DNA injector (Strong Legs)"
desc = "Makes you leap like a bunny."
add_mutations = list(/datum/mutation/human/strong_legs)
add_mutations = list(/datum/mutation/strong_legs)
@@ -1,5 +1,5 @@
// toggleable chameleon skin
/datum/mutation/human/chameleon
/datum/mutation/chameleon
power_path = /datum/action/cooldown/spell/chameleon_skin_activate
/datum/action/cooldown/spell/chameleon_skin_activate
@@ -1,3 +1,3 @@
/datum/mutation/human/hulk
/datum/mutation/hulk
disabled = TRUE
@@ -1,2 +1,2 @@
/datum/mutation/human/thermal
/datum/mutation/thermal
locked = TRUE
@@ -45,20 +45,14 @@
var/mob/living/carbon/human/hearthkin = new_primitive
if(!istype(hearthkin))
return
hearthkin.dna.add_mutation(/datum/mutation/human/olfaction, MUT_NORMAL)
hearthkin.dna.activate_mutation(/datum/mutation/human/olfaction)
// >mfw I take mutadone and my nose clogs
var/datum/mutation/human/olfaction/mutation = locate() in hearthkin.dna.mutations
mutation.mutadone_proof = TRUE
mutation.instability = 0
hearthkin.dna.add_mutation(/datum/mutation/olfaction, MUTATION_SOURCE_SPECIES)
/datum/species/human/felinid/primitive/on_species_loss(mob/living/carbon/former_primitive, datum/species/new_species, pref_load)
. = ..()
var/mob/living/carbon/human/hearthkin = former_primitive
if(!istype(hearthkin))
return
hearthkin.dna.remove_mutation(/datum/mutation/human/olfaction)
hearthkin.dna.remove_mutation(/datum/mutation/olfaction, MUTATION_SOURCE_SPECIES)
/datum/species/human/felinid/primitive/prepare_human_for_preview(mob/living/carbon/human/human_for_preview)
human_for_preview.hairstyle = "Blunt Bangs Alt"
@@ -1,12 +1,12 @@
/datum/mutation/human/adaptation/cold/get_visual_indicator()
/datum/mutation/adaptation/cold/get_visual_indicator()
return
/datum/mutation/human/adaptation/heat/get_visual_indicator()
/datum/mutation/adaptation/heat/get_visual_indicator()
return
/datum/mutation/human/adaptation/thermal/get_visual_indicator()
/datum/mutation/adaptation/thermal/get_visual_indicator()
return
/datum/mutation/human/adaptation/pressure/get_visual_indicator()
/datum/mutation/adaptation/pressure/get_visual_indicator()
return
//Removes the visual indicators for various types of adaptation.
@@ -1,21 +0,0 @@
//Adding class = MUT_OTHER to the various DNA Vault genes to avoid them being saveable
/datum/mutation/human/breathless
class = MUT_OTHER
/datum/mutation/human/quick
class = MUT_OTHER
/datum/mutation/human/tough
class = MUT_OTHER
/datum/mutation/human/dextrous
class = MUT_OTHER
/datum/mutation/human/fire_immunity
class = MUT_OTHER
/datum/mutation/human/quick_recovery
class = MUT_OTHER
/datum/mutation/human/plasmocile
class = MUT_OTHER
@@ -13,7 +13,7 @@
return
//check for genetics telepathy
if(check.dna.check_mutation(/datum/mutation/human/telepathy))
if(check.dna.check_mutation(/datum/mutation/telepathy))
return TRUE
//check for shadekin organs
@@ -1,4 +1,4 @@
/datum/mutation/human/telepathy
/datum/mutation/telepathy
power_path = /datum/action/cooldown/spell/pointed/telepathy
/datum/action/cooldown/spell/pointed/telepathy
@@ -98,7 +98,7 @@
//different messaging if the target has the telepathy mutation themselves themselves
if (ishuman(target))
var/mob/living/carbon/human/human_target = target
var/datum/mutation/human/telepathy/tele_mut = human_target.dna.get_mutation(/datum/mutation/human/telepathy)
var/datum/mutation/telepathy/tele_mut = human_target.dna.get_mutation(/datum/mutation/telepathy)
if (tele_mut)
to_chat(target, span_boldnotice("[caster]'s psychic presence resounds in your mind: \"[span_purple(message)]\""))
@@ -138,9 +138,7 @@
/datum/quirk/telepathic/add(client/client_source)
if (iscarbon(quirk_holder))
var/mob/living/carbon/human/human_holder = quirk_holder
if(!human_holder.dna.activate_mutation(/datum/mutation/human/telepathy))
human_holder.dna.add_mutation(/datum/mutation/human/telepathy, MUT_OTHER)
human_holder.dna.add_mutation(/datum/mutation/telepathy, MUTATION_SOURCE_QUIRK)
else if(issilicon(quirk_holder))
var/mob/living/silicon/robot_holder = quirk_holder
var/datum/action/cooldown/spell/pointed/telepathy/tele_action = new
@@ -154,7 +152,7 @@
tele_action_ref = null
if(iscarbon(quirk_holder))
var/mob/living/carbon/human/human_holder = quirk_holder
human_holder.dna.remove_mutation(/datum/mutation/human/telepathy)
human_holder.dna.remove_mutation(/datum/mutation/telepathy, MUTATION_SOURCE_QUIRK)
else if(issilicon(quirk_holder) && !isnull(tele_action))
QDEL_NULL(tele_action)
tele_action_ref = null
@@ -167,7 +165,7 @@
/datum/emote/living/telepathy_reply/run_emote(mob/living/user, params, type_override, intentional)
if (ishuman(user) && intentional)
var/mob/living/carbon/human/human_user = user
var/datum/mutation/human/telepathy/mutation = human_user.dna.get_mutation(/datum/mutation/human/telepathy)
var/datum/mutation/telepathy/mutation = human_user.dna.get_mutation(/datum/mutation/telepathy)
if (mutation)
var/datum/action/cooldown/spell/pointed/telepathy/tele_action = locate() in user.actions
// just straight up call the right-click action as is
-1
View File
@@ -9300,7 +9300,6 @@
#include "modular_zubbers\code\modules\designs\limbgrower_designs.dm"
#include "modular_zubbers\code\modules\disease\disease_transmission.dm"
#include "modular_zubbers\code\modules\disease\hidden.dm"
#include "modular_zubbers\code\modules\dna_vault\vault_mutation.dm"
#include "modular_zubbers\code\modules\dynamic\midround_rulesets.dm"
#include "modular_zubbers\code\modules\emotes\emotes.dm"
#include "modular_zubbers\code\modules\emotes\hand_items.dm"