diff --git a/code/__DEFINES/~~bubber_defines/species.dm b/code/__DEFINES/~~bubber_defines/species.dm new file mode 100644 index 00000000000..62a3858d872 --- /dev/null +++ b/code/__DEFINES/~~bubber_defines/species.dm @@ -0,0 +1 @@ +#define SPECIES_SHADEKIN "shadekin" diff --git a/config/game_options.txt b/config/game_options.txt index 16d4b92f611..e72fc3af8c4 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -419,6 +419,7 @@ ROUNDSTART_RACES aquatic ROUNDSTART_RACES insect ROUNDSTART_RACES synth ROUNDSTART_RACES ghoul +ROUNDSTART_RACES shadekin ##------------------------------------------------------------------------------------------- diff --git a/modular_zubbers/code/modules/customization/sprite_accessories/ears.dm b/modular_zubbers/code/modules/customization/sprite_accessories/ears.dm new file mode 100644 index 00000000000..9f97d3a51d2 --- /dev/null +++ b/modular_zubbers/code/modules/customization/sprite_accessories/ears.dm @@ -0,0 +1,5 @@ +/datum/sprite_accessory/ears/shadekin + name = "Shadekin" + icon_state = "shadekin" + color_src = MUTCOLORS + icon = 'modular_zubbers/icons/customization/ears.dmi' diff --git a/modular_zubbers/code/modules/customization/sprite_accessories/tails.dm b/modular_zubbers/code/modules/customization/sprite_accessories/tails.dm new file mode 100644 index 00000000000..6a16de96bc2 --- /dev/null +++ b/modular_zubbers/code/modules/customization/sprite_accessories/tails.dm @@ -0,0 +1,23 @@ +/datum/sprite_accessory/tails/mammal/shadekin + name = "Shadekin" + icon_state = "shadekin" + icon = 'modular_zubbers/icons/customization/tails.dmi' + color_src = MUTCOLORS + +/datum/sprite_accessory/tails/mammal/wagging/shadekin + name = "Shadekin" + icon_state = "shadekin" + icon = 'modular_zubbers/icons/customization/tails.dmi' + color_src = MUTCOLORS + +/datum/sprite_accessory/tails/mammal/wagging/shadekinshort + name = "Shadekin Short" + icon_state = "shadekinshort" + icon = 'modular_zubbers/icons/customization/tails.dmi' + color_src = MUTCOLORS + +/datum/sprite_accessory/tails/mammal/wagging/shadekinshort + name = "Shadekin Short" + icon_state = "shadekinshort" + icon = 'modular_zubbers/icons/customization/tails.dmi' + color_src = MUTCOLORS diff --git a/modular_zubbers/code/modules/customization/sprite_accessories/taurs.dm b/modular_zubbers/code/modules/customization/sprite_accessories/taurs.dm new file mode 100644 index 00000000000..f436c1557d4 --- /dev/null +++ b/modular_zubbers/code/modules/customization/sprite_accessories/taurs.dm @@ -0,0 +1,15 @@ +/datum/sprite_accessory/taur/shadekin + name = "Shadekin Long Tail" + icon_state = "shadekinlong" + icon = 'modular_zubbers/icons/customization/taur.dmi' + taur_mode = STYLE_TAUR_PAW + color_src = MUTCOLORS + extra = FALSE + +/datum/sprite_accessory/taur/shadekin_long + name = "Shadekin Big Tail" + icon_state = "shadekinbig" + icon = 'modular_zubbers/icons/customization/taur.dmi' + taur_mode = STYLE_TAUR_PAW + color_src = MUTCOLORS + extra = FALSE diff --git a/modular_zubbers/code/modules/mob/living/carbon/human/human.dm b/modular_zubbers/code/modules/mob/living/carbon/human/human.dm new file mode 100644 index 00000000000..4ae38094df0 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/carbon/human/human.dm @@ -0,0 +1,2 @@ +/mob/living/carbon/human/species/mammal/shadekin + race = /datum/species/mammal/shadekin diff --git a/modular_zubbers/code/modules/mob/living/carbon/human/species_types/shadekin.dm b/modular_zubbers/code/modules/mob/living/carbon/human/species_types/shadekin.dm new file mode 100644 index 00000000000..bb0f459c361 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/carbon/human/species_types/shadekin.dm @@ -0,0 +1,37 @@ +/datum/species/mammal/shadekin + name = "Shadekin" + id = SPECIES_SHADEKIN + say_mod = "mars" + default_mutant_bodyparts = list( + "tail" = "Shadekin", + "snout" = "None", + "horns" = "None", + "ears" = "Shadekin", + "taur" = "None", + "fluff" = "None", + "wings" = "None", + "head_acc" = "None", + "neck_acc" = "None" + ) + + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/shadekin, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/shadekin, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/shadekin, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/shadekin, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/shadekin, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/shadekin + ) + + +/datum/species/mammal/shadekin/prepare_human_for_preview(mob/living/carbon/human/human) + var/main_color = "#222222" + var/secondary_color = "#b8b8b8" + human.dna.features["mcolor"] = main_color + human.dna.features["mcolor2"] = secondary_color + human.dna.features["mcolor3"] = secondary_color + human.dna.species.mutant_bodyparts["ears"] = list(MUTANT_INDEX_NAME = "Shadekin", MUTANT_INDEX_COLOR_LIST = list(main_color, secondary_color, "#464646")) + human.dna.species.mutant_bodyparts["snout"] = list(MUTANT_INDEX_NAME = "None", MUTANT_INDEX_COLOR_LIST = list(main_color, secondary_color, secondary_color)) + human.dna.species.mutant_bodyparts["tail"] = list(MUTANT_INDEX_NAME = "Shadekin", MUTANT_INDEX_COLOR_LIST = list(main_color, "#4D4D4D", secondary_color)) + human.update_mutant_bodyparts(TRUE) + human.update_body(TRUE) diff --git a/modular_zubbers/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/modular_zubbers/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm new file mode 100644 index 00000000000..8cdb96465f9 --- /dev/null +++ b/modular_zubbers/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -0,0 +1,25 @@ +/obj/item/bodypart/head/shadekin + icon_greyscale = 'modular_zubbers/icons/mob/species/human_parts_greyscale.dmi' + limb_id = SPECIES_SHADEKIN + is_dimorphic = TRUE + +/obj/item/bodypart/chest/shadekin + icon_greyscale = 'modular_zubbers/icons/mob/species/human_parts_greyscale.dmi' + limb_id = SPECIES_SHADEKIN + is_dimorphic = TRUE + +/obj/item/bodypart/arm/left/shadekin + icon_greyscale = 'modular_zubbers/icons/mob/species/human_parts_greyscale.dmi' + limb_id = SPECIES_SHADEKIN + +/obj/item/bodypart/arm/right/shadekin + icon_greyscale = 'modular_zubbers/icons/mob/species/human_parts_greyscale.dmi' + limb_id = SPECIES_SHADEKIN + +/obj/item/bodypart/leg/left/shadekin + icon_greyscale = 'modular_zubbers/icons/mob/species/human_parts_greyscale.dmi' + limb_id = SPECIES_SHADEKIN + +/obj/item/bodypart/leg/right/shadekin + icon_greyscale = 'modular_zubbers/icons/mob/species/human_parts_greyscale.dmi' + limb_id = SPECIES_SHADEKIN diff --git a/modular_zubbers/icons/customization/ears.dmi b/modular_zubbers/icons/customization/ears.dmi new file mode 100644 index 00000000000..97620ad1077 Binary files /dev/null and b/modular_zubbers/icons/customization/ears.dmi differ diff --git a/modular_zubbers/icons/customization/tails.dmi b/modular_zubbers/icons/customization/tails.dmi new file mode 100644 index 00000000000..454f74b294e Binary files /dev/null and b/modular_zubbers/icons/customization/tails.dmi differ diff --git a/modular_zubbers/icons/customization/taur.dmi b/modular_zubbers/icons/customization/taur.dmi new file mode 100644 index 00000000000..b1f531d8b5b Binary files /dev/null and b/modular_zubbers/icons/customization/taur.dmi differ diff --git a/modular_zubbers/icons/mob/species/human_parts_greyscale.dmi b/modular_zubbers/icons/mob/species/human_parts_greyscale.dmi new file mode 100644 index 00000000000..00694463c3c Binary files /dev/null and b/modular_zubbers/icons/mob/species/human_parts_greyscale.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 0fa14d7ecb1..1cfae3298a2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -389,6 +389,7 @@ #include "code\__DEFINES\~skyrat_defines\_HELPERS\lighting.dm" #include "code\__DEFINES\~~bubber_defines\access.dm" #include "code\__DEFINES\~~bubber_defines\quirk_whitelist.dm" +#include "code\__DEFINES\~~bubber_defines\species.dm" #include "code\__DEFINES\~~bubber_defines\traits.dm" #include "code\__HELPERS\_auxtools_api.dm" #include "code\__HELPERS\_lists.dm" @@ -6699,7 +6700,10 @@ #include "modular_zubbers\code\modules\clothing\head\helmet.dm" #include "modular_zubbers\code\modules\clothing\outfits\plasmaman.dm" #include "modular_zubbers\code\modules\clothing\suits\armor.dm" +#include "modular_zubbers\code\modules\customization\sprite_accessories\ears.dm" #include "modular_zubbers\code\modules\customization\sprite_accessories\genitals.dm" +#include "modular_zubbers\code\modules\customization\sprite_accessories\tails.dm" +#include "modular_zubbers\code\modules\customization\sprite_accessories\taurs.dm" #include "modular_zubbers\code\modules\dynamic\midround_rulesets.dm" #include "modular_zubbers\code\modules\food_and_drinks\recipes\tablecraft\recipes_seafood.dm" #include "modular_zubbers\code\modules\fluff\flora\ash_flora.dm" @@ -6707,10 +6711,13 @@ #include "modular_zubbers\code\modules\loadouts\loadout_items\loadout_datum_toys.dm" #include "modular_zubbers\code\modules\mapping\access_helpers.dm" #include "modular_zubbers\code\modules\mob\dead\new_player\sprite_accessories.dm" +#include "modular_zubbers\code\modules\mob\living\carbon\human\human.dm" #include "modular_zubbers\code\modules\mob\living\carbon\human\species_types\felinid.dm" +#include "modular_zubbers\code\modules\mob\living\carbon\human\species_types\shadekin.dm" #include "modular_zubbers\code\modules\mob\mining\goliath.dm" #include "modular_zubbers\code\modules\mod\mod_theme.dm" #include "modular_zubbers\code\modules\mod\mod_types.dm" #include "modular_zubbers\code\modules\projectiles\guns\energy\pulse.dm" +#include "modular_zubbers\code\modules\surgery\bodyparts\species_parts\misc_bodyparts.dm" #include "modular_zubbers\code\modules\vending\wardrobe.dm" // END_INCLUDE