mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 16:18:01 +01:00
Fixes for #91346
This commit is contained in:
@@ -1 +1,4 @@
|
||||
#define SPECIES_PROTEAN "protean"
|
||||
|
||||
#define MUTATION_SOURCE_SPECIES "species"
|
||||
#define MUTATION_SOURCE_QUIRK "quirk"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user