From 15c9959e907031c936f6e36aa35f41993e75a8bb Mon Sep 17 00:00:00 2001 From: Sylvette <96358436+SylvetteSylph@users.noreply.github.com> Date: Wed, 2 Oct 2024 01:03:11 -0400 Subject: [PATCH 1/5] HELP NAAKA HELP ME I BEG --- .../~doppler_defines/mutant_variations.dm | 2 + code/~doppler_earliest_defines.dm | 10 +++ .../ramatan_body_markings.dm | 2 +- .../code/ramatan_accessories/ramatan_ears.dm | 30 ++++++++ .../ramatan_accessories/ramatan_frills.dm | 8 +-- .../code/ramatan_accessories/ramatan_horns.dm | 28 -------- .../code/ramatan_accessories/ramatan_snout.dm | 6 +- .../code/ramatan_accessories/ramatan_tail.dm | 10 +-- .../{ramatan_horns.dmi => ramatan_ears.dmi} | Bin 1164 -> 1164 bytes .../icons/ramatan/ramatan_frills.dmi | Bin 704 -> 706 bytes .../icons/ramatan/ramatan_markings.dmi | Bin 470 -> 472 bytes .../icons/ramatan/ramatan_snout.dmi | Bin 593 -> 594 bytes .../icons/ramatan/ramatan_tail.dmi | Bin 3137 -> 3139 bytes .../organs/external/tail.dm | 14 +++- .../organs/internal/ears.dm | 9 +++ .../modular_customization/preferences/ears.dm | 31 +++++++++ .../modular_customization/preferences/tail.dm | 32 +++++++++ .../modular_customization/tri_color/ears.dm | 5 ++ .../modular_customization/tri_color/tail.dm | 5 ++ .../species_types/ramatae/ramatan.dm | 65 +++++++++--------- tgstation.dme | 2 +- .../dopplershift_preferences/mutant_ears.tsx | 9 +++ 22 files changed, 194 insertions(+), 74 deletions(-) create mode 100644 modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm delete mode 100644 modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_horns.dm rename modular_doppler/modular_customization/accessories/icons/ramatan/{ramatan_horns.dmi => ramatan_ears.dmi} (83%) diff --git a/code/__DEFINES/~doppler_defines/mutant_variations.dm b/code/__DEFINES/~doppler_defines/mutant_variations.dm index bf37e6d6dc00a..3abce437e6910 100644 --- a/code/__DEFINES/~doppler_defines/mutant_variations.dm +++ b/code/__DEFINES/~doppler_defines/mutant_variations.dm @@ -14,6 +14,7 @@ #define BUG "bug" #define SYNTHETIC "synthetic" #define HUMANOID "humanoid" +#define RAMATAN "ramatan" /// This list gets read by the dropdown pref when a player chooses what type of sprite accessory to access GLOBAL_LIST_INIT(mutant_variations, list( @@ -30,6 +31,7 @@ GLOBAL_LIST_INIT(mutant_variations, list( MONKEY, MOUSE, SYNTHETIC, + RAMATAN, )) /// This list gets read by the animalistic preference for genemod and anthros diff --git a/code/~doppler_earliest_defines.dm b/code/~doppler_earliest_defines.dm index 69ed89b627cae..b4bf1e2571992 100644 --- a/code/~doppler_earliest_defines.dm +++ b/code/~doppler_earliest_defines.dm @@ -96,6 +96,11 @@ name = DOPPLER_SPRITE_ACCESSORY_NOEARS icon_state = /datum/sprite_accessory/ears/none::icon_state +/datum/sprite_accessory/ears_more/ramatan/none + icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' + name = DOPPLER_SPRITE_ACCESSORY_NOEARS + icon_state = /datum/sprite_accessory/ears/none::icon_state + /// Tail time /datum/sprite_accessory/tails/none icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' @@ -167,6 +172,11 @@ name = DOPPLER_SPRITE_ACCESSORY_NOTAIL icon_state = /datum/sprite_accessory/tails/none::icon_state +/datum/sprite_accessory/tails/ramatan/none + icon = /datum/sprite_accessory/tails/none::icon + name = DOPPLER_SPRITE_ACCESSORY_NOTAIL + icon_state = /datum/sprite_accessory/tails/none::icon_state + /// Lizard exclusive 🦎 /datum/sprite_accessory/snouts/none icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_body_markings.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_body_markings.dm index 160b6a7bb6174..6837f57bd1c71 100644 --- a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_body_markings.dm +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_body_markings.dm @@ -1,5 +1,5 @@ /datum/sprite_accessory/lizard_markings/ramatan icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_markings.dmi' name = "Ramatan Underbelly" - icon_state = "scug_lbelly" + icon_state = "ramatan_lbelly" gender_specific = TRUE diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm new file mode 100644 index 0000000000000..dfbe87c85e62e --- /dev/null +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm @@ -0,0 +1,30 @@ +/datum/sprite_accessory/ears_more/ramatan + icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_ears.dmi' + +/datum/sprite_accessory/ears_more/ramatan/standard + name = "Ramatan" + icon_state = "ramatan_standard" + +/datum/sprite_accessory/ears_more/ramatan/tall + name = "Ramatan Tall" + icon_state = "ramatan_tall" + +/datum/sprite_accessory/ears_more/ramatan/sharp + name = "Ramatan Sharp" + icon_state = "ramatan_sharp" + +/datum/sprite_accessory/ears_more/ramatan/forward + name = "Ramatan Droopy" + icon_state = "ramatan_forward" + +/datum/sprite_accessory/ears_more/ramatan/flopped + name = "Ramatan Long Flop" + icon_state = "ramatan_flopped" + +/datum/sprite_accessory/ears_more/ramatan/fluffy + name = "Ramatan Fluffy" + icon_state = "ramatan_fluffy" + +/datum/sprite_accessory/ears_more/ramatan/short + name = "Ramatan Short" + icon_state = "ramatan_short" diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_frills.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_frills.dm index d63f5ab88c2e2..c22474b7f09c2 100644 --- a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_frills.dm +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_frills.dm @@ -1,16 +1,16 @@ /datum/sprite_accessory/frills/ramatan icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_frills.dmi' name = "Ramatan" - icon_state = "scug_aquatic" + icon_state = "ramatan_aquatic" /datum/sprite_accessory/frills/ramatan/sharp name = "Ramatan Sharp" - icon_state = "scug_sharp" + icon_state = "ramatan_sharp" /datum/sprite_accessory/frills/ramatan/fluffy name = "Ramatan Fluffy" - icon_state = "scug_fluffy" + icon_state = "ramatan_fluffy" /datum/sprite_accessory/frills/ramatan/draconic name = "Ramatan Draconic" - icon_state = "scug_dragon" + icon_state = "ramatan_dragon" diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_horns.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_horns.dm deleted file mode 100644 index d7f58fbdad6a9..0000000000000 --- a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_horns.dm +++ /dev/null @@ -1,28 +0,0 @@ -/datum/sprite_accessory/horns/ramatan - icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_horns.dmi' - name = "Ramatan" - icon_state = "scug_standard" - -/datum/sprite_accessory/horns/ramatan/tall - name = "Ramatan Tall" - icon_state = "scug_tall" - -/datum/sprite_accessory/horns/ramatan/sharp - name = "Ramatan Sharp" - icon_state = "scug_sharp" - -/datum/sprite_accessory/horns/ramatan/forward - name = "Ramatan Droopy" - icon_state = "scug_forward" - -/datum/sprite_accessory/horns/ramatan/flopped - name = "Ramatan Long Flop" - icon_state = "scug_flopped" - -/datum/sprite_accessory/horns/ramatan/fluffy - name = "Ramatan Fluffy" - icon_state = "scug_fluffy" - -/datum/sprite_accessory/horns/ramatan/short - name = "Ramatan Short" - icon_state = "scug_short" diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_snout.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_snout.dm index 6e73f4ba2c774..8dde412c47240 100644 --- a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_snout.dm +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_snout.dm @@ -1,12 +1,12 @@ /datum/sprite_accessory/snouts/ramatan icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_snout.dmi' name = "Ramatan" - icon_state = "scug_standard" + icon_state = "ramatan_standard" /datum/sprite_accessory/snouts/ramatan/sharp name = "Ramatan Sharp" - icon_state = "scug_sharp" + icon_state = "ramatan_sharp" /datum/sprite_accessory/snouts/ramatan/round name = "Ramatan Round" - icon_state = "scug_round" + icon_state = "ramatan_round" diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm index 1b6d2d884d50c..24f667d7ba69f 100644 --- a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm @@ -1,8 +1,10 @@ -/datum/sprite_accessory/tails/lizard/ramatan +/datum/sprite_accessory/tails/ramatan icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_tail.dmi' + +/datum/sprite_accessory/tails/ramatan/standard name = "Ramatan" - icon_state = "scug_std" + icon_state = "ramatan_std" -/datum/sprite_accessory/tails/lizard/ramatan/thick +/datum/sprite_accessory/tails/ramatan/thick name = "Ramatan Thick" - icon_state = "scug_thick" + icon_state = "ramatan_thick" diff --git a/modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_horns.dmi b/modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_ears.dmi similarity index 83% rename from modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_horns.dmi rename to modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_ears.dmi index 83cf2eeeeeee786c6ebcf8d244a57d2af8fd891d..44051f6d9435db0b030545acc59e03dbf6c6ae54 100644 GIT binary patch delta 193 zcmV;y06zbW35*Gla)0Mj$aWvKcH2d<5ewQY$N@ElZHk^6y?xSH>#ESZ|LFPnI7ck# zsX4bDt*48?8Ey*U$QH5e(l1vGGQ#cnM0Y!*;PBN~Y4{=8_>0l6Z{xn$V z1)})dH!uOtvv30lBMavv2glj5zN~B&&9X9%zqwy)^=7lLlSDc&9XON?h+3 vn&9n?wIa>CqAA|Hl+QHnLZ-Z|arjGG(59>3AMXX~R2LJ}l0)>fCIMyx-i=)v delta 193 zcmV;y06zbW35*Gla)0$HWV?@AyX~Ubhz0ExL{d}Orl@Q5_DN%{tKxX~pTqh1I7iIM zsXjL?sjdxv2Zy zCqfW^=X$D)8$9*5@lIoR;LLG)tS&2A0!doH*uc6DZd@p+%{43LY{G&I2K7nfrlga8 vfnaB6tQ9HF6@)uSDW56Ig@eDOap9LRCv{uBzt;R9JLGWpiV4X>fFDZ*Bkpc$}S)K?=e!5JlI?DMGs!t=+m% zQc4ATg)o?;38ZOFri!;WSkRr)?%rqq<1Z#>r>bsR#xD)Ms}Swr*@2atEhP^t(WJ01 zC^5=*2ImkFP$kSVN~8@j;f@j=pjR`03L`j$sQ&hPp@VfUiZgTr1TSQOZt&vB&tJD( t?22N!4Yvu9{N?7XYWe$5FEbQ`o)`>HhqD3!z5)4^RxAJj delta 189 zcmV;u07C!51;7Q6Qh%pfFDZ*Bkpc$}S)%L>9U6hzm_SA=#iTDx_j zv`7W}3*pi{A$^$KDE_^{g6@=dcLwG#i^sUPEsWlk=p!2_#89< delta 58 zcmV-A0LA~<1J(nOOaXu=1502-PqaL$2?o!8coJ!v*ujGkJ6ilweFQc@2J=Hh{ajIk&%659C~cNpCqALX3W!o=?qK>pkt znKw27^Vcx2I5mPh!4CAikWD7Zsz2B|lU3YJD|A0twrc`2MV$?1#a$K?mMgk|UqwsO V_VoRIFUDiXD#4sZMY9wEJ^@VSOwIrR diff --git a/modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_tail.dmi b/modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_tail.dmi index 845736ceec5896bb40a3ce48c165fcfd8439005b..fbe95e98e5f0e4109c22d7977d80940cbf0c10e9 100644 GIT binary patch delta 239 zcmVfFDZ*Bkpc$}@1y9&ZU5Jl_VuUL{+#77zn z8%fj@MiBcjx?{5Bp=<_&fA4BQ3nf_}Oml~s%N-7kD`vqWjD)`m`5ASkj-{9iuRq|d zR+3WFj7OZMsFIYLrXnCT(s4MGN>@e>IXh@5u+fi&6XZyQonw1NOrY}EOn{(_E0Xan zScZ}Rbb8j#`DPt$ZH+Y~i7FHOXv0Nf4wswmy%c8}YgJ0?td?UZElKZlb{Zi={V8rr p)jsfFDZ*Bkpc$}@1JqyAx5QgXESA=#I@uQ1_ zi?nJ7D~NlE&6$RND9LH@-&-x{ptP|_miORZp5uYIY!R%&i20k4UO^jmD%qTQ!x1Hw z5}4M*bV5lAN~YKh2020<9fuO3w5j8mlB4DYH2Jk~<~blj=V4wEBUgEBl8cNDig*#M z!^nTvJiFR*w~h9;t%^&jN@)qLbqL7$?U4r`j}i@)Duo@W<;+sR;D3qkJk?sY%Yw*%{*OBki0Z`i*})gHHvtR_{E~DE diff --git a/modular_doppler/modular_customization/organs/external/tail.dm b/modular_doppler/modular_customization/organs/external/tail.dm index 82778fca75ea8..d377f30f9b78c 100644 --- a/modular_doppler/modular_customization/organs/external/tail.dm +++ b/modular_doppler/modular_customization/organs/external/tail.dm @@ -187,7 +187,6 @@ /datum/bodypart_overlay/mutant/tail/synthetic/get_global_feature_list() return SSaccessories.tails_list_synth - /// Humanoid tail // /obj/item/organ/external/tail/humanoid @@ -200,3 +199,16 @@ /datum/bodypart_overlay/mutant/tail/humanoid/get_global_feature_list() return SSaccessories.tails_list_humanoid + +/// Ramatan tail +// +/obj/item/organ/external/tail/ramatan + preference = "feature_ramatan_tail" + dna_block = null + bodypart_overlay = /datum/bodypart_overlay/mutant/tail/ramatan + +/datum/bodypart_overlay/mutant/tail/ramatan + feature_key = "tail_other" + +/datum/bodypart_overlay/mutant/tail/ramatan/get_global_feature_list() + return SSaccessories.tails_list_ramatan diff --git a/modular_doppler/modular_customization/organs/internal/ears.dm b/modular_doppler/modular_customization/organs/internal/ears.dm index cbba36f110097..1cd046eb67013 100644 --- a/modular_doppler/modular_customization/organs/internal/ears.dm +++ b/modular_doppler/modular_customization/organs/internal/ears.dm @@ -114,4 +114,13 @@ /datum/bodypart_overlay/mutant/ears/synthetic_ears/get_global_feature_list() return SSaccessories.ears_list_synthetic +/// Ramatan ears +// +/obj/item/organ/internal/ears/ramatan + preference = "feature_ramatan_ears" + bodypart_overlay = /datum/bodypart_overlay/mutant/ears/ramatan_ears + +/datum/bodypart_overlay/mutant/ears/ramatan_ears/get_global_feature_list() + return SSaccessories.ears_list_ramatan + diff --git a/modular_doppler/modular_customization/preferences/ears.dm b/modular_doppler/modular_customization/preferences/ears.dm index ae19d4a998c4f..3ce07d635a2a3 100644 --- a/modular_doppler/modular_customization/preferences/ears.dm +++ b/modular_doppler/modular_customization/preferences/ears.dm @@ -12,6 +12,7 @@ var/list/ears_list_bug var/list/ears_list_humanoid var/list/ears_list_synthetic + var/list/ears_list_ramatan /datum/controller/subsystem/accessories/setup_lists() . = ..() @@ -27,6 +28,7 @@ ears_list_bug = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/bug)["default_sprites"] ears_list_humanoid = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/humanoid)["default_sprites"] ears_list_synthetic = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/synthetic)["default_sprites"] + ears_list_ramatan = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/ramatan)["default_sprites"] /datum/dna /// This variable is read by the regenerate_organs() proc to know what organ subtype to give @@ -454,6 +456,35 @@ var/datum/sprite_accessory/chosen_ears = SSaccessories.ears_list_synthetic[value] return generate_ears_icon(chosen_ears) +// Ramatan +/datum/preference/choiced/ramatan_ears + savefile_key = "feature_ramatan_ears" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_CLOTHING + relevant_external_organ = null + should_generate_icons = TRUE + main_feature_name = "Ears" + +/datum/preference/choiced/ramatan_ears/init_possible_values() + return assoc_to_keys_features(SSaccessories.ears_list_ramatan) + +/datum/preference/choiced/ramatan_ears/is_accessible(datum/preferences/preferences) + . = ..() + var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) + if(chosen_variation == RAMATAN) + return TRUE + return FALSE + +/datum/preference/choiced/ramatan_ears/create_default_value() + return /datum/sprite_accessory/ears_more/ramatan/none::name + +/datum/preference/choiced/ramatan_ears/apply_to_human(mob/living/carbon/human/target, value) + if(target.dna.ear_type == RAMATAN) + target.dna.features["ears"] = value + +/datum/preference/choiced/ramatan_ears/icon_for(value) + var/datum/sprite_accessory/chosen_ears = SSaccessories.ears_list_ramatan[value] + return generate_ears_icon(chosen_ears) /// Proc to gen that icon // We don't wanna copy paste this diff --git a/modular_doppler/modular_customization/preferences/tail.dm b/modular_doppler/modular_customization/preferences/tail.dm index aead2b774c7b5..5cc91a7006922 100644 --- a/modular_doppler/modular_customization/preferences/tail.dm +++ b/modular_doppler/modular_customization/preferences/tail.dm @@ -10,6 +10,7 @@ var/list/tails_list_bug var/list/tails_list_synth var/list/tails_list_humanoid + var/list/tails_list_ramatan /datum/controller/subsystem/accessories/setup_lists() . = ..() @@ -23,6 +24,7 @@ tails_list_bug = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/bug)["default_sprites"] tails_list_synth = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/synthetic)["default_sprites"] tails_list_humanoid = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/humanoid)["default_sprites"] + tails_list_ramatan = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/ramatan)["default_sprites"] /datum/dna /// This variable is read by the regenerate_organs() proc to know what organ subtype to give @@ -474,6 +476,36 @@ var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_humanoid[value] return generate_back_icon(chosen_tail, "tail") +// Ramatan +/datum/preference/choiced/ramatan_tail + savefile_key = "feature_ramatan_tail" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_CLOTHING + relevant_external_organ = null + should_generate_icons = TRUE + main_feature_name = "Tail" + +/datum/preference/choiced/ramatan_tail/init_possible_values() + return assoc_to_keys_features(SSaccessories.tails_list_ramatan) + +/datum/preference/choiced/ramatan_tail/is_accessible(datum/preferences/preferences) + . = ..() + var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) + if(chosen_variation == RAMATAN) + return TRUE + return FALSE + +/datum/preference/choiced/ramatan_tail/create_default_value() + return /datum/sprite_accessory/tails/ramatan/none::name + +/datum/preference/choiced/ramatan_tail/apply_to_human(mob/living/carbon/human/target, value) + if(target.dna.tail_type == RAMATAN) + target.dna.features["tail_other"] = value + +/datum/preference/choiced/ramatan_tail/icon_for(value) + var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_ramatan[value] + return generate_back_icon(chosen_tail, "tail") + #define WIDTH_WINGS_FILE 45 #define HEIGHT_WINGS_FILE 34 #define WIDTH_BIGTAILS_FILE 64 diff --git a/modular_doppler/modular_customization/tri_color/ears.dm b/modular_doppler/modular_customization/tri_color/ears.dm index 4cda12643b892..7f28a8462a197 100644 --- a/modular_doppler/modular_customization/tri_color/ears.dm +++ b/modular_doppler/modular_customization/tri_color/ears.dm @@ -64,6 +64,11 @@ data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/ears_color::savefile_key return data +/datum/preference/choiced/ramatan_ears/compile_constant_data() + var/list/data = ..() + data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/ears_color::savefile_key + return data + /// Ears colors! /datum/preference/tri_color/ears_color diff --git a/modular_doppler/modular_customization/tri_color/tail.dm b/modular_doppler/modular_customization/tri_color/tail.dm index 42052b60ba59b..7482365ac5a14 100644 --- a/modular_doppler/modular_customization/tri_color/tail.dm +++ b/modular_doppler/modular_customization/tri_color/tail.dm @@ -65,6 +65,11 @@ data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/tail_color::savefile_key return data +/datum/preference/choiced/ramatan_tail/compile_constant_data() + var/list/data = ..() + data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/tail_color::savefile_key + return data + /// Tail colors! /datum/preference/tri_color/tail_color diff --git a/modular_doppler/modular_species/species_types/ramatae/ramatan.dm b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm index c60b3efefe620..1f127f66bd86c 100644 --- a/modular_doppler/modular_species/species_types/ramatae/ramatan.dm +++ b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm @@ -15,7 +15,7 @@ name = "\improper Ramatan" plural_form = "Ramatae" id = SPECIES_RAMATAN - preview_outfit = /datum/outfit/scug_preview + preview_outfit = /datum/outfit/ramatan_preview inherent_traits = list( TRAIT_MUTANT_COLORS, TRAIT_TACKLING_TAILED_DEFENDER, @@ -25,7 +25,7 @@ inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID body_markings = list(/datum/bodypart_overlay/simple/body_marking/lizard = "None") mutant_organs = list( - /obj/item/organ/external/horns = "Ramatan", + /obj/item/organ/internal/ears = "Ramatan", /obj/item/organ/external/frills = "None", /obj/item/organ/external/snout = "Ramatan", /obj/item/organ/external/tail/lizard = "Ramatan", @@ -76,7 +76,7 @@ return to_add -/datum/outfit/scug_preview +/datum/outfit/ramatan_preview name = "Ramatan (Species Preview)" head = /obj/item/clothing/head/beret/doppler_command/science neck = /obj/item/clothing/neck/doppler_mantle/science @@ -85,32 +85,33 @@ . = ..() new_ramatan.AddComponent(/datum/component/sign_language) -/datum/species/ramatan/prepare_human_for_preview(mob/living/carbon/human/scug_for_preview) - scug_for_preview.dna.features["lizard_markings"] = "Ramatan Underbelly" - scug_for_preview.dna.features["body_markings_color_1"] = "#ccecff" - scug_for_preview.dna.features["mcolor"] = "#FFFFFF" - scug_for_preview.dna.features["frills"] = "Ramatan" - scug_for_preview.dna.features["frills_color_1"] = "#ccecff" - scug_for_preview.dna.features["snout"] = "Ramatan" - scug_for_preview.dna.features["snout_color_1"] = "#ffffff" - scug_for_preview.dna.features["snout_color_2"] = "#dddddd" - scug_for_preview.dna.features["snout_color_3"] = "#9a9b9e" - scug_for_preview.dna.features["horns"] = "Ramatan" - scug_for_preview.dna.features["horns_color_1"] = "#ffffff" - scug_for_preview.dna.features["horns_color_2"] = "#dddddd" - scug_for_preview.eye_color_left = "#CCECFF" - scug_for_preview.eye_color_right = "#CCECFF" - regenerate_organs(scug_for_preview) - scug_for_preview.update_body(is_creating = TRUE) +/datum/species/ramatan/prepare_human_for_preview(mob/living/carbon/human/ramatan_for_preview) + ramatan_for_preview.dna.features["lizard_markings"] = "Ramatan Underbelly" + ramatan_for_preview.dna.features["body_markings_color_1"] = "#ccecff" + ramatan_for_preview.dna.features["mcolor"] = "#FFFFFF" + ramatan_for_preview.dna.ear_type = RAMATAN + ramatan_for_preview.dna.features["ears_color_1"] = "#ffffff" + ramatan_for_preview.dna.features["ears_color_2"] = "#dddddd" + ramatan_for_preview.dna.features["frills"] = "Ramatan" + ramatan_for_preview.dna.features["frills_color_1"] = "#ccecff" + ramatan_for_preview.dna.features["snout"] = "Ramatan" + ramatan_for_preview.dna.features["snout_color_1"] = "#ffffff" + ramatan_for_preview.dna.features["snout_color_2"] = "#dddddd" + ramatan_for_preview.dna.features["snout_color_3"] = "#9a9b9e" + ramatan_for_preview.dna.tail_type = RAMATAN + ramatan_for_preview.eye_color_left = "#CCECFF" + ramatan_for_preview.eye_color_right = "#CCECFF" + regenerate_organs(ramatan_for_preview) + ramatan_for_preview.update_body(is_creating = TRUE) /// SOUNDS BREAKER -/datum/species/ramatan/get_scream_sound(mob/living/carbon/human/scug) +/datum/species/ramatan/get_scream_sound(mob/living/carbon/human/ramatan) return pick( 'modular_doppler/modular_species/species_types/ramatae/sounds/scugscream_1.ogg', ) -/datum/species/ramatan/get_cough_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) +/datum/species/ramatan/get_cough_sound(mob/living/carbon/human/ramatan) + if(ramatan.physique == FEMALE) return pick( 'sound/mobs/humanoids/human/cough/female_cough1.ogg', 'sound/mobs/humanoids/human/cough/female_cough2.ogg', @@ -128,8 +129,8 @@ 'sound/mobs/humanoids/human/cough/male_cough6.ogg', ) -/datum/species/ramatan/get_cry_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) +/datum/species/ramatan/get_cry_sound(mob/living/carbon/human/ramatan) + if(ramatan.physique == FEMALE) return pick( 'sound/mobs/humanoids/human/cry/female_cry1.ogg', 'sound/mobs/humanoids/human/cry/female_cry2.ogg', @@ -140,21 +141,21 @@ 'sound/mobs/humanoids/human/cry/male_cry3.ogg', ) -/datum/species/ramatan/get_sneeze_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) +/datum/species/ramatan/get_sneeze_sound(mob/living/carbon/human/ramatan) + if(ramatan.physique == FEMALE) return 'sound/mobs/humanoids/human/sneeze/female_sneeze1.ogg' return 'sound/mobs/humanoids/human/sneeze/male_sneeze1.ogg' -/datum/species/ramatan/get_laugh_sound(mob/living/carbon/human/scug) +/datum/species/ramatan/get_laugh_sound(mob/living/carbon/human/ramatan) return 'modular_doppler/modular_species/species_types/ramatae/sounds/scuglaugh_1.ogg' -/datum/species/ramatan/get_sigh_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) +/datum/species/ramatan/get_sigh_sound(mob/living/carbon/human/ramatan) + if(ramatan.physique == FEMALE) return 'sound/mobs/humanoids/human/sigh/female_sigh.ogg' return 'sound/mobs/humanoids/human/sigh/male_sigh.ogg' -/datum/species/ramatan/get_sniff_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) +/datum/species/ramatan/get_sniff_sound(mob/living/carbon/human/ramatan) + if(ramatan.physique == FEMALE) return 'sound/mobs/humanoids/human/sniff/female_sniff.ogg' return 'sound/mobs/humanoids/human/sniff/male_sniff.ogg' /// SOUNDS BREAKER END diff --git a/tgstation.dme b/tgstation.dme index 569b561220457..350601ec34177 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6746,8 +6746,8 @@ #include "modular_doppler\modular_customization\accessories\code\non_species_specific\murid_accessories\murid_ears.dm" #include "modular_doppler\modular_customization\accessories\code\non_species_specific\murid_accessories\murid_tail.dm" #include "modular_doppler\modular_customization\accessories\code\ramatan_accessories\ramatan_body_markings.dm" +#include "modular_doppler\modular_customization\accessories\code\ramatan_accessories\ramatan_ears.dm" #include "modular_doppler\modular_customization\accessories\code\ramatan_accessories\ramatan_frills.dm" -#include "modular_doppler\modular_customization\accessories\code\ramatan_accessories\ramatan_horns.dm" #include "modular_doppler\modular_customization\accessories\code\ramatan_accessories\ramatan_snout.dm" #include "modular_doppler\modular_customization\accessories\code\ramatan_accessories\ramatan_tail.dm" #include "modular_doppler\modular_customization\accessories\code\synthetic_accessories\synth_ears.dm" diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx index 1713bf56dae75..3f0f9df2e166b 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx @@ -112,3 +112,12 @@ export const feature_synth_ears: FeatureChoiced = { return ; }, }; + +export const feature_ramatan_ears: FeatureChoiced = { + name: 'Ears', + component: ( + props: FeatureValueProps, + ) => { + return ; + }, +}; From 92b9abe740cd4ab383aff8be129eeab82fb47c68 Mon Sep 17 00:00:00 2001 From: "Lila S." Date: Thu, 3 Oct 2024 13:33:48 +0200 Subject: [PATCH 2/5] correction+bugsolve --- .../~doppler_defines/mutant_variations.dm | 2 -- code/~doppler_earliest_defines.dm | 5 ---- .../code/lizard_accessories/lizard_tail.dm | 1 - .../code/ramatan_accessories/ramatan_ears.dm | 17 +++++------ .../code/ramatan_accessories/ramatan_tail.dm | 8 ++--- .../organs/external/tail.dm | 13 -------- .../organs/internal/ears.dm | 11 ------- .../modular_customization/preferences/ears.dm | 29 ------------------ .../modular_customization/preferences/tail.dm | 30 ------------------- .../modular_customization/tri_color/ears.dm | 5 ---- .../modular_customization/tri_color/tail.dm | 5 ---- .../species_types/ramatae/ramatan.dm | 4 +-- 12 files changed, 13 insertions(+), 117 deletions(-) diff --git a/code/__DEFINES/~doppler_defines/mutant_variations.dm b/code/__DEFINES/~doppler_defines/mutant_variations.dm index 3abce437e6910..bf37e6d6dc00a 100644 --- a/code/__DEFINES/~doppler_defines/mutant_variations.dm +++ b/code/__DEFINES/~doppler_defines/mutant_variations.dm @@ -14,7 +14,6 @@ #define BUG "bug" #define SYNTHETIC "synthetic" #define HUMANOID "humanoid" -#define RAMATAN "ramatan" /// This list gets read by the dropdown pref when a player chooses what type of sprite accessory to access GLOBAL_LIST_INIT(mutant_variations, list( @@ -31,7 +30,6 @@ GLOBAL_LIST_INIT(mutant_variations, list( MONKEY, MOUSE, SYNTHETIC, - RAMATAN, )) /// This list gets read by the animalistic preference for genemod and anthros diff --git a/code/~doppler_earliest_defines.dm b/code/~doppler_earliest_defines.dm index b4bf1e2571992..fba03bd3ef6fe 100644 --- a/code/~doppler_earliest_defines.dm +++ b/code/~doppler_earliest_defines.dm @@ -172,11 +172,6 @@ name = DOPPLER_SPRITE_ACCESSORY_NOTAIL icon_state = /datum/sprite_accessory/tails/none::icon_state -/datum/sprite_accessory/tails/ramatan/none - icon = /datum/sprite_accessory/tails/none::icon - name = DOPPLER_SPRITE_ACCESSORY_NOTAIL - icon_state = /datum/sprite_accessory/tails/none::icon_state - /// Lizard exclusive 🦎 /datum/sprite_accessory/snouts/none icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' diff --git a/modular_doppler/modular_customization/accessories/code/lizard_accessories/lizard_tail.dm b/modular_doppler/modular_customization/accessories/code/lizard_accessories/lizard_tail.dm index f638278203df5..ed35380cdbc9c 100644 --- a/modular_doppler/modular_customization/accessories/code/lizard_accessories/lizard_tail.dm +++ b/modular_doppler/modular_customization/accessories/code/lizard_accessories/lizard_tail.dm @@ -25,7 +25,6 @@ name = "Rattlesnake" icon_state = "rattlesnake" - /datum/sprite_accessory/tails/lizard/big icon = 'modular_doppler/modular_customization/accessories/icons/lizard/lizard_tail_big.dmi' name = "Shadekin (Big)" diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm index dfbe87c85e62e..266e953c27252 100644 --- a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm @@ -1,30 +1,29 @@ -/datum/sprite_accessory/ears_more/ramatan - icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_ears.dmi' -/datum/sprite_accessory/ears_more/ramatan/standard +/datum/sprite_accessory/ears_more/lizard/ramatan name = "Ramatan" icon_state = "ramatan_standard" + icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_ears.dmi' -/datum/sprite_accessory/ears_more/ramatan/tall +/datum/sprite_accessory/ears_more/lizard/ramatan/tall name = "Ramatan Tall" icon_state = "ramatan_tall" -/datum/sprite_accessory/ears_more/ramatan/sharp +/datum/sprite_accessory/ears_more/lizard/ramatan/sharp name = "Ramatan Sharp" icon_state = "ramatan_sharp" -/datum/sprite_accessory/ears_more/ramatan/forward +/datum/sprite_accessory/ears_more/lizard/ramatan/forward name = "Ramatan Droopy" icon_state = "ramatan_forward" -/datum/sprite_accessory/ears_more/ramatan/flopped +/datum/sprite_accessory/ears_more/lizard/ramatan/flopped name = "Ramatan Long Flop" icon_state = "ramatan_flopped" -/datum/sprite_accessory/ears_more/ramatan/fluffy +/datum/sprite_accessory/ears_more/lizard/ramatan/fluffy name = "Ramatan Fluffy" icon_state = "ramatan_fluffy" -/datum/sprite_accessory/ears_more/ramatan/short +/datum/sprite_accessory/ears_more/lizard/ramatan/short name = "Ramatan Short" icon_state = "ramatan_short" diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm index 24f667d7ba69f..5bb90d7432b99 100644 --- a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm @@ -1,10 +1,8 @@ -/datum/sprite_accessory/tails/ramatan - icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_tail.dmi' - -/datum/sprite_accessory/tails/ramatan/standard +/datum/sprite_accessory/tails/lizard/ramatan name = "Ramatan" icon_state = "ramatan_std" + icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_tail.dmi' -/datum/sprite_accessory/tails/ramatan/thick +/datum/sprite_accessory/tails/lizard/ramatan/thick name = "Ramatan Thick" icon_state = "ramatan_thick" diff --git a/modular_doppler/modular_customization/organs/external/tail.dm b/modular_doppler/modular_customization/organs/external/tail.dm index d377f30f9b78c..527b2854f4c83 100644 --- a/modular_doppler/modular_customization/organs/external/tail.dm +++ b/modular_doppler/modular_customization/organs/external/tail.dm @@ -199,16 +199,3 @@ /datum/bodypart_overlay/mutant/tail/humanoid/get_global_feature_list() return SSaccessories.tails_list_humanoid - -/// Ramatan tail -// -/obj/item/organ/external/tail/ramatan - preference = "feature_ramatan_tail" - dna_block = null - bodypart_overlay = /datum/bodypart_overlay/mutant/tail/ramatan - -/datum/bodypart_overlay/mutant/tail/ramatan - feature_key = "tail_other" - -/datum/bodypart_overlay/mutant/tail/ramatan/get_global_feature_list() - return SSaccessories.tails_list_ramatan diff --git a/modular_doppler/modular_customization/organs/internal/ears.dm b/modular_doppler/modular_customization/organs/internal/ears.dm index 1cd046eb67013..70b2a2e1153a8 100644 --- a/modular_doppler/modular_customization/organs/internal/ears.dm +++ b/modular_doppler/modular_customization/organs/internal/ears.dm @@ -113,14 +113,3 @@ /datum/bodypart_overlay/mutant/ears/synthetic_ears/get_global_feature_list() return SSaccessories.ears_list_synthetic - -/// Ramatan ears -// -/obj/item/organ/internal/ears/ramatan - preference = "feature_ramatan_ears" - bodypart_overlay = /datum/bodypart_overlay/mutant/ears/ramatan_ears - -/datum/bodypart_overlay/mutant/ears/ramatan_ears/get_global_feature_list() - return SSaccessories.ears_list_ramatan - - diff --git a/modular_doppler/modular_customization/preferences/ears.dm b/modular_doppler/modular_customization/preferences/ears.dm index 3ce07d635a2a3..144eeb309b53e 100644 --- a/modular_doppler/modular_customization/preferences/ears.dm +++ b/modular_doppler/modular_customization/preferences/ears.dm @@ -456,35 +456,6 @@ var/datum/sprite_accessory/chosen_ears = SSaccessories.ears_list_synthetic[value] return generate_ears_icon(chosen_ears) -// Ramatan -/datum/preference/choiced/ramatan_ears - savefile_key = "feature_ramatan_ears" - savefile_identifier = PREFERENCE_CHARACTER - category = PREFERENCE_CATEGORY_CLOTHING - relevant_external_organ = null - should_generate_icons = TRUE - main_feature_name = "Ears" - -/datum/preference/choiced/ramatan_ears/init_possible_values() - return assoc_to_keys_features(SSaccessories.ears_list_ramatan) - -/datum/preference/choiced/ramatan_ears/is_accessible(datum/preferences/preferences) - . = ..() - var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) - if(chosen_variation == RAMATAN) - return TRUE - return FALSE - -/datum/preference/choiced/ramatan_ears/create_default_value() - return /datum/sprite_accessory/ears_more/ramatan/none::name - -/datum/preference/choiced/ramatan_ears/apply_to_human(mob/living/carbon/human/target, value) - if(target.dna.ear_type == RAMATAN) - target.dna.features["ears"] = value - -/datum/preference/choiced/ramatan_ears/icon_for(value) - var/datum/sprite_accessory/chosen_ears = SSaccessories.ears_list_ramatan[value] - return generate_ears_icon(chosen_ears) /// Proc to gen that icon // We don't wanna copy paste this diff --git a/modular_doppler/modular_customization/preferences/tail.dm b/modular_doppler/modular_customization/preferences/tail.dm index 5cc91a7006922..68acee2e39ffe 100644 --- a/modular_doppler/modular_customization/preferences/tail.dm +++ b/modular_doppler/modular_customization/preferences/tail.dm @@ -24,7 +24,6 @@ tails_list_bug = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/bug)["default_sprites"] tails_list_synth = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/synthetic)["default_sprites"] tails_list_humanoid = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/humanoid)["default_sprites"] - tails_list_ramatan = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/ramatan)["default_sprites"] /datum/dna /// This variable is read by the regenerate_organs() proc to know what organ subtype to give @@ -476,35 +475,6 @@ var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_humanoid[value] return generate_back_icon(chosen_tail, "tail") -// Ramatan -/datum/preference/choiced/ramatan_tail - savefile_key = "feature_ramatan_tail" - savefile_identifier = PREFERENCE_CHARACTER - category = PREFERENCE_CATEGORY_CLOTHING - relevant_external_organ = null - should_generate_icons = TRUE - main_feature_name = "Tail" - -/datum/preference/choiced/ramatan_tail/init_possible_values() - return assoc_to_keys_features(SSaccessories.tails_list_ramatan) - -/datum/preference/choiced/ramatan_tail/is_accessible(datum/preferences/preferences) - . = ..() - var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) - if(chosen_variation == RAMATAN) - return TRUE - return FALSE - -/datum/preference/choiced/ramatan_tail/create_default_value() - return /datum/sprite_accessory/tails/ramatan/none::name - -/datum/preference/choiced/ramatan_tail/apply_to_human(mob/living/carbon/human/target, value) - if(target.dna.tail_type == RAMATAN) - target.dna.features["tail_other"] = value - -/datum/preference/choiced/ramatan_tail/icon_for(value) - var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_ramatan[value] - return generate_back_icon(chosen_tail, "tail") #define WIDTH_WINGS_FILE 45 #define HEIGHT_WINGS_FILE 34 diff --git a/modular_doppler/modular_customization/tri_color/ears.dm b/modular_doppler/modular_customization/tri_color/ears.dm index 7f28a8462a197..4cda12643b892 100644 --- a/modular_doppler/modular_customization/tri_color/ears.dm +++ b/modular_doppler/modular_customization/tri_color/ears.dm @@ -64,11 +64,6 @@ data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/ears_color::savefile_key return data -/datum/preference/choiced/ramatan_ears/compile_constant_data() - var/list/data = ..() - data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/ears_color::savefile_key - return data - /// Ears colors! /datum/preference/tri_color/ears_color diff --git a/modular_doppler/modular_customization/tri_color/tail.dm b/modular_doppler/modular_customization/tri_color/tail.dm index 7482365ac5a14..42052b60ba59b 100644 --- a/modular_doppler/modular_customization/tri_color/tail.dm +++ b/modular_doppler/modular_customization/tri_color/tail.dm @@ -65,11 +65,6 @@ data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/tail_color::savefile_key return data -/datum/preference/choiced/ramatan_tail/compile_constant_data() - var/list/data = ..() - data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/tail_color::savefile_key - return data - /// Tail colors! /datum/preference/tri_color/tail_color diff --git a/modular_doppler/modular_species/species_types/ramatae/ramatan.dm b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm index 1f127f66bd86c..28a325fb7a01d 100644 --- a/modular_doppler/modular_species/species_types/ramatae/ramatan.dm +++ b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm @@ -89,7 +89,8 @@ ramatan_for_preview.dna.features["lizard_markings"] = "Ramatan Underbelly" ramatan_for_preview.dna.features["body_markings_color_1"] = "#ccecff" ramatan_for_preview.dna.features["mcolor"] = "#FFFFFF" - ramatan_for_preview.dna.ear_type = RAMATAN + ramatan_for_preview.dna.ear_type = LIZARD + ramatan_for_preview.dna.features["ears"] = "Ramatan" ramatan_for_preview.dna.features["ears_color_1"] = "#ffffff" ramatan_for_preview.dna.features["ears_color_2"] = "#dddddd" ramatan_for_preview.dna.features["frills"] = "Ramatan" @@ -98,7 +99,6 @@ ramatan_for_preview.dna.features["snout_color_1"] = "#ffffff" ramatan_for_preview.dna.features["snout_color_2"] = "#dddddd" ramatan_for_preview.dna.features["snout_color_3"] = "#9a9b9e" - ramatan_for_preview.dna.tail_type = RAMATAN ramatan_for_preview.eye_color_left = "#CCECFF" ramatan_for_preview.eye_color_right = "#CCECFF" regenerate_organs(ramatan_for_preview) From 09904f6f288fd4be9d3224cca17bce2716a24583 Mon Sep 17 00:00:00 2001 From: "Lila S." Date: Thu, 3 Oct 2024 13:39:32 +0200 Subject: [PATCH 3/5] forgot these --- code/~doppler_earliest_defines.dm | 6 ------ .../accessories/code/lizard_accessories/lizard_tail.dm | 1 + .../modular_customization/organs/external/tail.dm | 1 + .../modular_customization/organs/internal/ears.dm | 2 ++ .../modular_customization/preferences/ears.dm | 2 -- .../modular_customization/preferences/tail.dm | 2 -- .../features/dopplershift_preferences/mutant_ears.tsx | 9 --------- 7 files changed, 4 insertions(+), 19 deletions(-) diff --git a/code/~doppler_earliest_defines.dm b/code/~doppler_earliest_defines.dm index fba03bd3ef6fe..281f0fcc3faa8 100644 --- a/code/~doppler_earliest_defines.dm +++ b/code/~doppler_earliest_defines.dm @@ -80,7 +80,6 @@ name = DOPPLER_SPRITE_ACCESSORY_NOEARS icon_state = /datum/sprite_accessory/ears/none::icon_state - /datum/sprite_accessory/ears_more/bug/none icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' name = DOPPLER_SPRITE_ACCESSORY_NOEARS @@ -96,11 +95,6 @@ name = DOPPLER_SPRITE_ACCESSORY_NOEARS icon_state = /datum/sprite_accessory/ears/none::icon_state -/datum/sprite_accessory/ears_more/ramatan/none - icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' - name = DOPPLER_SPRITE_ACCESSORY_NOEARS - icon_state = /datum/sprite_accessory/ears/none::icon_state - /// Tail time /datum/sprite_accessory/tails/none icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' diff --git a/modular_doppler/modular_customization/accessories/code/lizard_accessories/lizard_tail.dm b/modular_doppler/modular_customization/accessories/code/lizard_accessories/lizard_tail.dm index ed35380cdbc9c..f638278203df5 100644 --- a/modular_doppler/modular_customization/accessories/code/lizard_accessories/lizard_tail.dm +++ b/modular_doppler/modular_customization/accessories/code/lizard_accessories/lizard_tail.dm @@ -25,6 +25,7 @@ name = "Rattlesnake" icon_state = "rattlesnake" + /datum/sprite_accessory/tails/lizard/big icon = 'modular_doppler/modular_customization/accessories/icons/lizard/lizard_tail_big.dmi' name = "Shadekin (Big)" diff --git a/modular_doppler/modular_customization/organs/external/tail.dm b/modular_doppler/modular_customization/organs/external/tail.dm index 527b2854f4c83..82778fca75ea8 100644 --- a/modular_doppler/modular_customization/organs/external/tail.dm +++ b/modular_doppler/modular_customization/organs/external/tail.dm @@ -187,6 +187,7 @@ /datum/bodypart_overlay/mutant/tail/synthetic/get_global_feature_list() return SSaccessories.tails_list_synth + /// Humanoid tail // /obj/item/organ/external/tail/humanoid diff --git a/modular_doppler/modular_customization/organs/internal/ears.dm b/modular_doppler/modular_customization/organs/internal/ears.dm index 70b2a2e1153a8..cbba36f110097 100644 --- a/modular_doppler/modular_customization/organs/internal/ears.dm +++ b/modular_doppler/modular_customization/organs/internal/ears.dm @@ -113,3 +113,5 @@ /datum/bodypart_overlay/mutant/ears/synthetic_ears/get_global_feature_list() return SSaccessories.ears_list_synthetic + + diff --git a/modular_doppler/modular_customization/preferences/ears.dm b/modular_doppler/modular_customization/preferences/ears.dm index 144eeb309b53e..ae19d4a998c4f 100644 --- a/modular_doppler/modular_customization/preferences/ears.dm +++ b/modular_doppler/modular_customization/preferences/ears.dm @@ -12,7 +12,6 @@ var/list/ears_list_bug var/list/ears_list_humanoid var/list/ears_list_synthetic - var/list/ears_list_ramatan /datum/controller/subsystem/accessories/setup_lists() . = ..() @@ -28,7 +27,6 @@ ears_list_bug = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/bug)["default_sprites"] ears_list_humanoid = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/humanoid)["default_sprites"] ears_list_synthetic = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/synthetic)["default_sprites"] - ears_list_ramatan = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/ramatan)["default_sprites"] /datum/dna /// This variable is read by the regenerate_organs() proc to know what organ subtype to give diff --git a/modular_doppler/modular_customization/preferences/tail.dm b/modular_doppler/modular_customization/preferences/tail.dm index 68acee2e39ffe..aead2b774c7b5 100644 --- a/modular_doppler/modular_customization/preferences/tail.dm +++ b/modular_doppler/modular_customization/preferences/tail.dm @@ -10,7 +10,6 @@ var/list/tails_list_bug var/list/tails_list_synth var/list/tails_list_humanoid - var/list/tails_list_ramatan /datum/controller/subsystem/accessories/setup_lists() . = ..() @@ -475,7 +474,6 @@ var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_humanoid[value] return generate_back_icon(chosen_tail, "tail") - #define WIDTH_WINGS_FILE 45 #define HEIGHT_WINGS_FILE 34 #define WIDTH_BIGTAILS_FILE 64 diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx index 3f0f9df2e166b..1713bf56dae75 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx @@ -112,12 +112,3 @@ export const feature_synth_ears: FeatureChoiced = { return ; }, }; - -export const feature_ramatan_ears: FeatureChoiced = { - name: 'Ears', - component: ( - props: FeatureValueProps, - ) => { - return ; - }, -}; From 719dfcc51aead340db47c9efecefcb088e10aadc Mon Sep 17 00:00:00 2001 From: Sylvette <96358436+SylvetteSylph@users.noreply.github.com> Date: Thu, 3 Oct 2024 22:30:28 -0400 Subject: [PATCH 4/5] ALIEN TIME WOOOOO its alien time!!!! --- .../~doppler_defines/mutant_variations.dm | 2 ++ code/~doppler_earliest_defines.dm | 10 ++++++ .../code/ramatan_accessories/ramatan_ears.dm | 14 ++++---- .../code/ramatan_accessories/ramatan_tail.dm | 4 +-- .../organs/external/tail.dm | 14 ++++++++ .../organs/internal/ears.dm | 8 +++++ .../modular_customization/preferences/ears.dm | 32 +++++++++++++++++++ .../modular_customization/preferences/tail.dm | 32 +++++++++++++++++++ .../modular_customization/tri_color/ears.dm | 5 +++ .../modular_customization/tri_color/tail.dm | 5 +++ .../species_types/ramatae/ramatan.dm | 4 +-- .../dopplershift_preferences/mutant_ears.tsx | 9 ++++++ 12 files changed, 128 insertions(+), 11 deletions(-) diff --git a/code/__DEFINES/~doppler_defines/mutant_variations.dm b/code/__DEFINES/~doppler_defines/mutant_variations.dm index bf37e6d6dc00a..df917caf41a24 100644 --- a/code/__DEFINES/~doppler_defines/mutant_variations.dm +++ b/code/__DEFINES/~doppler_defines/mutant_variations.dm @@ -14,6 +14,7 @@ #define BUG "bug" #define SYNTHETIC "synthetic" #define HUMANOID "humanoid" +#define ALIEN "alien" /// This list gets read by the dropdown pref when a player chooses what type of sprite accessory to access GLOBAL_LIST_INIT(mutant_variations, list( @@ -30,6 +31,7 @@ GLOBAL_LIST_INIT(mutant_variations, list( MONKEY, MOUSE, SYNTHETIC, + ALIEN, )) /// This list gets read by the animalistic preference for genemod and anthros diff --git a/code/~doppler_earliest_defines.dm b/code/~doppler_earliest_defines.dm index 281f0fcc3faa8..677b8c5977843 100644 --- a/code/~doppler_earliest_defines.dm +++ b/code/~doppler_earliest_defines.dm @@ -95,6 +95,11 @@ name = DOPPLER_SPRITE_ACCESSORY_NOEARS icon_state = /datum/sprite_accessory/ears/none::icon_state +/datum/sprite_accessory/ears_more/alien/none + icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' + name = DOPPLER_SPRITE_ACCESSORY_NOEARS + icon_state = /datum/sprite_accessory/ears/none::icon_state + /// Tail time /datum/sprite_accessory/tails/none icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' @@ -166,6 +171,11 @@ name = DOPPLER_SPRITE_ACCESSORY_NOTAIL icon_state = /datum/sprite_accessory/tails/none::icon_state +/datum/sprite_accessory/tails/alien/none + icon = /datum/sprite_accessory/tails/none::icon + name = DOPPLER_SPRITE_ACCESSORY_NOTAIL + icon_state = /datum/sprite_accessory/tails/none::icon_state + /// Lizard exclusive 🦎 /datum/sprite_accessory/snouts/none icon = 'modular_doppler/modular_customization/accessories/code/~overrides/icons/fallbacks.dmi' diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm index 266e953c27252..ccb938fe7ffa4 100644 --- a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_ears.dm @@ -1,29 +1,29 @@ -/datum/sprite_accessory/ears_more/lizard/ramatan +/datum/sprite_accessory/ears_more/alien/ramatan name = "Ramatan" icon_state = "ramatan_standard" icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_ears.dmi' -/datum/sprite_accessory/ears_more/lizard/ramatan/tall +/datum/sprite_accessory/ears_more/alien/ramatan/tall name = "Ramatan Tall" icon_state = "ramatan_tall" -/datum/sprite_accessory/ears_more/lizard/ramatan/sharp +/datum/sprite_accessory/ears_more/alien/ramatan/sharp name = "Ramatan Sharp" icon_state = "ramatan_sharp" -/datum/sprite_accessory/ears_more/lizard/ramatan/forward +/datum/sprite_accessory/ears_more/alien/ramatan/forward name = "Ramatan Droopy" icon_state = "ramatan_forward" -/datum/sprite_accessory/ears_more/lizard/ramatan/flopped +/datum/sprite_accessory/ears_more/alien/ramatan/flopped name = "Ramatan Long Flop" icon_state = "ramatan_flopped" -/datum/sprite_accessory/ears_more/lizard/ramatan/fluffy +/datum/sprite_accessory/ears_more/alien/ramatan/fluffy name = "Ramatan Fluffy" icon_state = "ramatan_fluffy" -/datum/sprite_accessory/ears_more/lizard/ramatan/short +/datum/sprite_accessory/ears_more/alien/ramatan/short name = "Ramatan Short" icon_state = "ramatan_short" diff --git a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm index 5bb90d7432b99..15a9478d4c743 100644 --- a/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm @@ -1,8 +1,8 @@ -/datum/sprite_accessory/tails/lizard/ramatan +/datum/sprite_accessory/tails/alien/ramatan name = "Ramatan" icon_state = "ramatan_std" icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_tail.dmi' -/datum/sprite_accessory/tails/lizard/ramatan/thick +/datum/sprite_accessory/tails/alien/ramatan/thick name = "Ramatan Thick" icon_state = "ramatan_thick" diff --git a/modular_doppler/modular_customization/organs/external/tail.dm b/modular_doppler/modular_customization/organs/external/tail.dm index 82778fca75ea8..afc8ea7c30201 100644 --- a/modular_doppler/modular_customization/organs/external/tail.dm +++ b/modular_doppler/modular_customization/organs/external/tail.dm @@ -200,3 +200,17 @@ /datum/bodypart_overlay/mutant/tail/humanoid/get_global_feature_list() return SSaccessories.tails_list_humanoid + + +/// Alien tail +// +/obj/item/organ/external/tail/alien + preference = "feature_alien_tail" + dna_block = null + bodypart_overlay = /datum/bodypart_overlay/mutant/tail/alien + +/datum/bodypart_overlay/mutant/tail/alien + feature_key = "tail_other" + +/datum/bodypart_overlay/mutant/tail/alien/get_global_feature_list() + return SSaccessories.tails_list_alien diff --git a/modular_doppler/modular_customization/organs/internal/ears.dm b/modular_doppler/modular_customization/organs/internal/ears.dm index cbba36f110097..75478d96e6090 100644 --- a/modular_doppler/modular_customization/organs/internal/ears.dm +++ b/modular_doppler/modular_customization/organs/internal/ears.dm @@ -114,4 +114,12 @@ /datum/bodypart_overlay/mutant/ears/synthetic_ears/get_global_feature_list() return SSaccessories.ears_list_synthetic +/// Alien ears +// +/obj/item/organ/internal/ears/alien + preference = "feature_alien_ears" + bodypart_overlay = /datum/bodypart_overlay/mutant/ears/alien_ears + +/datum/bodypart_overlay/mutant/ears/alien_ears/get_global_feature_list() + return SSaccessories.ears_list_alien diff --git a/modular_doppler/modular_customization/preferences/ears.dm b/modular_doppler/modular_customization/preferences/ears.dm index ae19d4a998c4f..459099545c80b 100644 --- a/modular_doppler/modular_customization/preferences/ears.dm +++ b/modular_doppler/modular_customization/preferences/ears.dm @@ -12,6 +12,7 @@ var/list/ears_list_bug var/list/ears_list_humanoid var/list/ears_list_synthetic + var/list/ears_list_alien /datum/controller/subsystem/accessories/setup_lists() . = ..() @@ -27,6 +28,7 @@ ears_list_bug = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/bug)["default_sprites"] ears_list_humanoid = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/humanoid)["default_sprites"] ears_list_synthetic = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/synthetic)["default_sprites"] + ears_list_alien = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_more/alien)["default_sprites"] /datum/dna /// This variable is read by the regenerate_organs() proc to know what organ subtype to give @@ -454,6 +456,36 @@ var/datum/sprite_accessory/chosen_ears = SSaccessories.ears_list_synthetic[value] return generate_ears_icon(chosen_ears) +// Alien +/datum/preference/choiced/alien_ears + savefile_key = "feature_alien_ears" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_CLOTHING + relevant_external_organ = null + should_generate_icons = TRUE + main_feature_name = "Ears" + +/datum/preference/choiced/alien_ears/init_possible_values() + return assoc_to_keys_features(SSaccessories.ears_list_alien) + +/datum/preference/choiced/alien_ears/is_accessible(datum/preferences/preferences) + . = ..() + var/chosen_variation = preferences.read_preference(/datum/preference/choiced/ear_variation) + if(chosen_variation == ALIEN) + return TRUE + return FALSE + +/datum/preference/choiced/alien_ears/create_default_value() + return /datum/sprite_accessory/ears_more/alien/none::name + +/datum/preference/choiced/alien_ears/apply_to_human(mob/living/carbon/human/target, value) + if(target.dna.ear_type == ALIEN) + target.dna.features["ears"] = value + +/datum/preference/choiced/alien_ears/icon_for(value) + var/datum/sprite_accessory/chosen_ears = SSaccessories.ears_list_alien[value] + return generate_ears_icon(chosen_ears) + /// Proc to gen that icon // We don't wanna copy paste this diff --git a/modular_doppler/modular_customization/preferences/tail.dm b/modular_doppler/modular_customization/preferences/tail.dm index aead2b774c7b5..a582045636623 100644 --- a/modular_doppler/modular_customization/preferences/tail.dm +++ b/modular_doppler/modular_customization/preferences/tail.dm @@ -10,6 +10,7 @@ var/list/tails_list_bug var/list/tails_list_synth var/list/tails_list_humanoid + var/list/tails_list_alien /datum/controller/subsystem/accessories/setup_lists() . = ..() @@ -23,6 +24,7 @@ tails_list_bug = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/bug)["default_sprites"] tails_list_synth = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/synthetic)["default_sprites"] tails_list_humanoid = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/humanoid)["default_sprites"] + tails_list_alien = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/alien)["default_sprites"] /datum/dna /// This variable is read by the regenerate_organs() proc to know what organ subtype to give @@ -474,6 +476,36 @@ var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_humanoid[value] return generate_back_icon(chosen_tail, "tail") +// Alien +/datum/preference/choiced/alien_tail + savefile_key = "feature_alien_tail" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_CLOTHING + relevant_external_organ = null + should_generate_icons = TRUE + main_feature_name = "Tail" + +/datum/preference/choiced/alien_tail/init_possible_values() + return assoc_to_keys_features(SSaccessories.tails_list_alien) + +/datum/preference/choiced/alien_tail/is_accessible(datum/preferences/preferences) + . = ..() + var/chosen_variation = preferences.read_preference(/datum/preference/choiced/tail_variation) + if(chosen_variation == ALIEN) + return TRUE + return FALSE + +/datum/preference/choiced/alien_tail/create_default_value() + return /datum/sprite_accessory/tails/alien/none::name + +/datum/preference/choiced/alien_tail/apply_to_human(mob/living/carbon/human/target, value) + if(target.dna.tail_type == ALIEN) + target.dna.features["tail_other"] = value + +/datum/preference/choiced/alien_tail/icon_for(value) + var/datum/sprite_accessory/chosen_tail = SSaccessories.tails_list_alien[value] + return generate_back_icon(chosen_tail, "tail") + #define WIDTH_WINGS_FILE 45 #define HEIGHT_WINGS_FILE 34 #define WIDTH_BIGTAILS_FILE 64 diff --git a/modular_doppler/modular_customization/tri_color/ears.dm b/modular_doppler/modular_customization/tri_color/ears.dm index 4cda12643b892..2a0481cba3369 100644 --- a/modular_doppler/modular_customization/tri_color/ears.dm +++ b/modular_doppler/modular_customization/tri_color/ears.dm @@ -64,6 +64,11 @@ data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/ears_color::savefile_key return data +/datum/preference/choiced/alien_ears/compile_constant_data() + var/list/data = ..() + data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/ears_color::savefile_key + return data + /// Ears colors! /datum/preference/tri_color/ears_color diff --git a/modular_doppler/modular_customization/tri_color/tail.dm b/modular_doppler/modular_customization/tri_color/tail.dm index 42052b60ba59b..5d955a42fa9d8 100644 --- a/modular_doppler/modular_customization/tri_color/tail.dm +++ b/modular_doppler/modular_customization/tri_color/tail.dm @@ -65,6 +65,11 @@ data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/tail_color::savefile_key return data +/datum/preference/choiced/alien_tail/compile_constant_data() + var/list/data = ..() + data[SUPPLEMENTAL_FEATURE_KEY] = /datum/preference/tri_color/tail_color::savefile_key + return data + /// Tail colors! /datum/preference/tri_color/tail_color diff --git a/modular_doppler/modular_species/species_types/ramatae/ramatan.dm b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm index 28a325fb7a01d..a4f0a96df9dc0 100644 --- a/modular_doppler/modular_species/species_types/ramatae/ramatan.dm +++ b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm @@ -28,7 +28,7 @@ /obj/item/organ/internal/ears = "Ramatan", /obj/item/organ/external/frills = "None", /obj/item/organ/external/snout = "Ramatan", - /obj/item/organ/external/tail/lizard = "Ramatan", + /obj/item/organ/external/tail/alien = "Ramatan", ) payday_modifier = 1.0 mutanttongue = /obj/item/organ/internal/tongue/ramatan @@ -89,7 +89,7 @@ ramatan_for_preview.dna.features["lizard_markings"] = "Ramatan Underbelly" ramatan_for_preview.dna.features["body_markings_color_1"] = "#ccecff" ramatan_for_preview.dna.features["mcolor"] = "#FFFFFF" - ramatan_for_preview.dna.ear_type = LIZARD + ramatan_for_preview.dna.ear_type = ALIEN ramatan_for_preview.dna.features["ears"] = "Ramatan" ramatan_for_preview.dna.features["ears_color_1"] = "#ffffff" ramatan_for_preview.dna.features["ears_color_2"] = "#dddddd" diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx index 1713bf56dae75..fbb026571686f 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/dopplershift_preferences/mutant_ears.tsx @@ -112,3 +112,12 @@ export const feature_synth_ears: FeatureChoiced = { return ; }, }; + +export const feature_alien_ears: FeatureChoiced = { + name: 'Ears', + component: ( + props: FeatureValueProps, + ) => { + return ; + }, +}; From fbb7c7c0bab97b1baafd76144c71d82dd4fe3b90 Mon Sep 17 00:00:00 2001 From: Sylvette <96358436+SylvetteSylph@users.noreply.github.com> Date: Thu, 3 Oct 2024 23:07:37 -0400 Subject: [PATCH 5/5] TRAIT_MUTE bc juni forgot it --- modular_doppler/modular_species/species_types/ramatae/ramatan.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/modular_doppler/modular_species/species_types/ramatae/ramatan.dm b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm index a4f0a96df9dc0..16d2264c07873 100644 --- a/modular_doppler/modular_species/species_types/ramatae/ramatan.dm +++ b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm @@ -21,6 +21,7 @@ TRAIT_TACKLING_TAILED_DEFENDER, TRAIT_EXPERT_FISHER, TRAIT_BEAST_EMPATHY, + TRAIT_MUTE, ) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID body_markings = list(/datum/bodypart_overlay/simple/body_marking/lizard = "None")