diff --git a/code/__DEFINES/~doppler_defines/is_helpers.dm b/code/__DEFINES/~doppler_defines/is_helpers.dm index 5494dcecba5e8..b5acc5258dd11 100644 --- a/code/__DEFINES/~doppler_defines/is_helpers.dm +++ b/code/__DEFINES/~doppler_defines/is_helpers.dm @@ -4,5 +4,6 @@ #define isinsectoid(A) (is_species(A, /datum/species/insectoid)) #define issnail(A) (is_species(A, /datum/species/snail)) #define ishemophage(A) (is_species(A, /datum/species/genemod/hemophage)) +#define isramatan(A) (is_species(A, /datum/species/ramatan)) //Species with green blood #define hasgreenblood(A) (isinsectoid(A) || issnail(A) || HAS_TRAIT(A, TRAIT_GREEN_BLOOD)) diff --git a/code/__DEFINES/~doppler_defines/species.dm b/code/__DEFINES/~doppler_defines/species.dm index a3ed2dd062f18..6c6e26d2dc9f3 100644 --- a/code/__DEFINES/~doppler_defines/species.dm +++ b/code/__DEFINES/~doppler_defines/species.dm @@ -1,6 +1,6 @@ #define SPECIES_GENEMOD "genemod" #define SPECIES_GENEMOD_PRIMITIVE "primitive_genemod" -#define SPECIES_SLUGCAT "slugcat" +#define SPECIES_RAMATAN "ramatan" #define SPECIES_ANTHROMORPH "anthromorph" #define SPECIES_AQUATIC "aquatic" #define SPECIES_INSECTOID "insectoid" diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 9ce851a248665..30abadeba2bdb 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -371,7 +371,7 @@ */ /datum/emote/proc/should_play_sound(mob/user, intentional = FALSE) if(emote_type & EMOTE_AUDIBLE && !hands_use_check) - if(HAS_TRAIT(user, TRAIT_MUTE)) + if(HAS_TRAIT(user, TRAIT_MUTE) && !isramatan(user)) // DOPPLER EDIT ADDITION - Allows Ramatae to use verbal emotes despite being mute. :3 return FALSE if(ishuman(user)) var/mob/living/carbon/human/loud_mouth = user diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_slugcat.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ramatan.png similarity index 100% rename from code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_slugcat.png rename to code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_ramatan.png diff --git a/config/game_options.txt b/config/game_options.txt index 0328addb0a581..6bb1f54c92783 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -364,7 +364,7 @@ ROUNDSTART_RACES lizard ROUNDSTART_RACES moth ROUNDSTART_RACES plasmaman #ROUNDSTART_RACES shadow -ROUNDSTART_RACES slugcat +ROUNDSTART_RACES ramatan ROUNDSTART_RACES anthromorph ROUNDSTART_RACES aquatic ROUNDSTART_RACES insectoid diff --git a/modular_doppler/loadout_categories/categories/inhands.dm b/modular_doppler/loadout_categories/categories/inhands.dm index e6bb65a69c4f1..1ab5375ec4960 100644 --- a/modular_doppler/loadout_categories/categories/inhands.dm +++ b/modular_doppler/loadout_categories/categories/inhands.dm @@ -30,3 +30,7 @@ /datum/loadout_item/inhand/slimpack name = "Custom Flatpack" item_path = /obj/item/storage/backpack/satchel/flat/empty/custom + +/datum/loadout_item/inhand/translationgloves + name = "Translation Gloves" + item_path = /obj/item/clothing/gloves/radio diff --git a/modular_doppler/loadout_categories/categories/undersuit.dm b/modular_doppler/loadout_categories/categories/undersuit.dm index c5c3e717d2eb7..9b97bd86f0735 100644 --- a/modular_doppler/loadout_categories/categories/undersuit.dm +++ b/modular_doppler/loadout_categories/categories/undersuit.dm @@ -87,6 +87,10 @@ name = "Camo Pants" item_path = /obj/item/clothing/under/pants/camo +/datum/loadout_item/undersuit/pants/big_pants + name = "JUNCO megacargo pants" + item_path = /obj/item/clothing/under/pants/big_pants + /* * BUTTONDOWNS */ @@ -163,3 +167,11 @@ /datum/loadout_item/undersuit/dress/strapless name = "Strapless Dress" item_path = /obj/item/clothing/under/dress/doppler/strapless + +/* +* MISCELLANEOUS +*/ + +/datum/loadout_item/undersuit/gear_harness + name = "Gear Harness" + item_path = /obj/item/clothing/under/misc/gear_harness diff --git a/modular_doppler/modular_cosmetics/code/clothing_overrides.dm b/modular_doppler/modular_cosmetics/code/clothing_overrides.dm new file mode 100644 index 0000000000000..7f185e7ebcdd0 --- /dev/null +++ b/modular_doppler/modular_cosmetics/code/clothing_overrides.dm @@ -0,0 +1,7 @@ +/obj/item/clothing + var/attachment_slot_override = NONE + +/obj/item/clothing/accessory/can_attach_accessory(obj/item/clothing/clothing_item, mob/user) + if(!attachment_slot || (clothing_item?.attachment_slot_override & attachment_slot)) + return TRUE + return ..() diff --git a/modular_doppler/modular_cosmetics/code/under/miscellania.dm b/modular_doppler/modular_cosmetics/code/under/miscellania.dm index b991c1d4d1f95..e23b3609480a3 100644 --- a/modular_doppler/modular_cosmetics/code/under/miscellania.dm +++ b/modular_doppler/modular_cosmetics/code/under/miscellania.dm @@ -39,3 +39,19 @@ greyscale_colors = "#874f16" flags_1 = IS_PLAYER_COLORABLE_1 alternate_worn_layer = LOW_FACEMASK_LAYER + +/obj/item/clothing/under/misc/gear_harness + name = "gear harness" + desc = "A simple, inconspicuous harness replacement for a jumpsuit." + icon = 'modular_doppler/modular_cosmetics/icons/obj/under/miscellania.dmi' + worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/under/miscellania.dmi' + icon_state = "gear_harness" + body_parts_covered = NONE + attachment_slot_override = CHEST + can_adjust = FALSE + slot_flags = ITEM_SLOT_ICLOTHING | ITEM_SLOT_OCLOTHING + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + +/obj/item/clothing/under/misc/gear_harness/Initialize(mapload) + . = ..() + allowed += GLOB.colonist_suit_allowed diff --git a/modular_doppler/modular_cosmetics/icons/mob/under/miscellania.dmi b/modular_doppler/modular_cosmetics/icons/mob/under/miscellania.dmi index a2ae66531a9d7..6d3a12dc352e4 100644 Binary files a/modular_doppler/modular_cosmetics/icons/mob/under/miscellania.dmi and b/modular_doppler/modular_cosmetics/icons/mob/under/miscellania.dmi differ diff --git a/modular_doppler/modular_cosmetics/icons/obj/under/miscellania.dmi b/modular_doppler/modular_cosmetics/icons/obj/under/miscellania.dmi index 4f6c080c55a1f..8ae4e4773eafe 100644 Binary files a/modular_doppler/modular_cosmetics/icons/obj/under/miscellania.dmi and b/modular_doppler/modular_cosmetics/icons/obj/under/miscellania.dmi differ diff --git a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_body_markings.dm b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_body_markings.dm similarity index 51% rename from modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_body_markings.dm rename to modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_body_markings.dm index eae00dc6aded6..160b6a7bb6174 100644 --- a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_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/slugcat - icon = 'modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_markings.dmi' - name = "Slugcat Underbelly" +/datum/sprite_accessory/lizard_markings/ramatan + icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_markings.dmi' + name = "Ramatan Underbelly" icon_state = "scug_lbelly" gender_specific = TRUE 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 new file mode 100644 index 0000000000000..d63f5ab88c2e2 --- /dev/null +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_frills.dm @@ -0,0 +1,16 @@ +/datum/sprite_accessory/frills/ramatan + icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_frills.dmi' + name = "Ramatan" + icon_state = "scug_aquatic" + +/datum/sprite_accessory/frills/ramatan/sharp + name = "Ramatan Sharp" + icon_state = "scug_sharp" + +/datum/sprite_accessory/frills/ramatan/fluffy + name = "Ramatan Fluffy" + icon_state = "scug_fluffy" + +/datum/sprite_accessory/frills/ramatan/draconic + name = "Ramatan Draconic" + icon_state = "scug_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 new file mode 100644 index 0000000000000..d7f58fbdad6a9 --- /dev/null +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_horns.dm @@ -0,0 +1,28 @@ +/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 new file mode 100644 index 0000000000000..6e73f4ba2c774 --- /dev/null +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_snout.dm @@ -0,0 +1,12 @@ +/datum/sprite_accessory/snouts/ramatan + icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_snout.dmi' + name = "Ramatan" + icon_state = "scug_standard" + +/datum/sprite_accessory/snouts/ramatan/sharp + name = "Ramatan Sharp" + icon_state = "scug_sharp" + +/datum/sprite_accessory/snouts/ramatan/round + name = "Ramatan Round" + icon_state = "scug_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 new file mode 100644 index 0000000000000..1b6d2d884d50c --- /dev/null +++ b/modular_doppler/modular_customization/accessories/code/ramatan_accessories/ramatan_tail.dm @@ -0,0 +1,8 @@ +/datum/sprite_accessory/tails/lizard/ramatan + icon = 'modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_tail.dmi' + name = "Ramatan" + icon_state = "scug_std" + +/datum/sprite_accessory/tails/lizard/ramatan/thick + name = "Ramatan Thick" + icon_state = "scug_thick" diff --git a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_frills.dm b/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_frills.dm deleted file mode 100644 index e2ec556318d3a..0000000000000 --- a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_frills.dm +++ /dev/null @@ -1,16 +0,0 @@ -/datum/sprite_accessory/frills/slugcat - icon = 'modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_frills.dmi' - name = "Slugcat" - icon_state = "scug_aquatic" - -/datum/sprite_accessory/frills/slugcat/sharp - name = "Slugcat Sharp" - icon_state = "scug_sharp" - -/datum/sprite_accessory/frills/slugcat/fluffy - name = "Slugcat Fluffy" - icon_state = "scug_fluffy" - -/datum/sprite_accessory/frills/slugcat/draconic - name = "Slugcat Draconic" - icon_state = "scug_dragon" diff --git a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_horns.dm b/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_horns.dm deleted file mode 100644 index 6eb862b9482fc..0000000000000 --- a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_horns.dm +++ /dev/null @@ -1,28 +0,0 @@ -/datum/sprite_accessory/horns/slugcat - icon = 'modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_horns.dmi' - name = "Slugcat" - icon_state = "scug_standard" - -/datum/sprite_accessory/horns/slugcat/tall - name = "Slugcat Tall" - icon_state = "scug_tall" - -/datum/sprite_accessory/horns/slugcat/sharp - name = "Slugcat Sharp" - icon_state = "scug_sharp" - -/datum/sprite_accessory/horns/slugcat/forward - name = "Slugcat Droopy" - icon_state = "scug_forward" - -/datum/sprite_accessory/horns/slugcat/flopped - name = "Slugcat Long Flop" - icon_state = "scug_flopped" - -/datum/sprite_accessory/horns/slugcat/fluffy - name = "Slugcat Fluffy" - icon_state = "scug_fluffy" - -/datum/sprite_accessory/horns/slugcat/short - name = "Slugcat Short" - icon_state = "scug_short" diff --git a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_snout.dm b/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_snout.dm deleted file mode 100644 index 77a9300697b3c..0000000000000 --- a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_snout.dm +++ /dev/null @@ -1,12 +0,0 @@ -/datum/sprite_accessory/snouts/slugcat - icon = 'modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_snout.dmi' - name = "Slugcat" - icon_state = "scug_standard" - -/datum/sprite_accessory/snouts/slugcat/sharp - name = "Slugcat Sharp" - icon_state = "scug_sharp" - -/datum/sprite_accessory/snouts/slugcat/round - name = "Slugcat Round" - icon_state = "scug_round" diff --git a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_tail.dm b/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_tail.dm deleted file mode 100644 index 0f3a6b566bc45..0000000000000 --- a/modular_doppler/modular_customization/accessories/code/slugcat_accessories/slugcat_tail.dm +++ /dev/null @@ -1,8 +0,0 @@ -/datum/sprite_accessory/tails/lizard/slugcat - icon = 'modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_tail.dmi' - name = "Slugcat" - icon_state = "scug_std" - -/datum/sprite_accessory/tails/lizard/slugcat/thick - name = "Slugcat Thick" - icon_state = "scug_thick" diff --git a/modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_frills.dmi b/modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_frills.dmi similarity index 100% rename from modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_frills.dmi rename to modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_frills.dmi diff --git a/modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_horns.dmi b/modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_horns.dmi similarity index 100% rename from modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_horns.dmi rename to modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_horns.dmi diff --git a/modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_markings.dmi b/modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_markings.dmi similarity index 100% rename from modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_markings.dmi rename to modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_markings.dmi diff --git a/modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_snout.dmi b/modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_snout.dmi similarity index 100% rename from modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_snout.dmi rename to modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_snout.dmi diff --git a/modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_tail.dmi b/modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_tail.dmi similarity index 100% rename from modular_doppler/modular_customization/accessories/icons/slugcat/slugcat_tail.dmi rename to modular_doppler/modular_customization/accessories/icons/ramatan/ramatan_tail.dmi diff --git a/modular_doppler/modular_customization/bodypart/bodypart_overrides.dm b/modular_doppler/modular_customization/bodypart/bodypart_overrides.dm index c5a17d90d3671..6b7fa91ebddda 100644 --- a/modular_doppler/modular_customization/bodypart/bodypart_overrides.dm +++ b/modular_doppler/modular_customization/bodypart/bodypart_overrides.dm @@ -1,6 +1,6 @@ /// If you need to make edits to existing bodyparts, do so in here. /obj/item/bodypart/head - /// Override of the eyes icon file - used for slugcats as test dummies, followed by teshies, vox, possibly moths & insects, and more! + /// Override of the eyes icon file - used for ramatae as test dummies, followed by teshies, vox, possibly moths & insects, and more! var/eyes_icon /obj/item/bodypart/head/lizard diff --git a/modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi b/modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi similarity index 84% rename from modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi rename to modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi index bd748505773f4..fe96b935c5907 100644 Binary files a/modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi and b/modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi differ diff --git a/modular_doppler/modular_species/species_types/slugcats/icons/slugcat_eyes.dmi b/modular_doppler/modular_species/species_types/ramatae/icons/ramatan_eyes.dmi similarity index 100% rename from modular_doppler/modular_species/species_types/slugcats/icons/slugcat_eyes.dmi rename to modular_doppler/modular_species/species_types/ramatae/icons/ramatan_eyes.dmi diff --git a/modular_doppler/modular_species/species_types/ramatae/ramatan.dm b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm new file mode 100644 index 0000000000000..c60b3efefe620 --- /dev/null +++ b/modular_doppler/modular_species/species_types/ramatae/ramatan.dm @@ -0,0 +1,184 @@ +/// Ramatan language holder - they are adept in understanding machines, though unable to speak the tongue themselves. +/datum/language_holder/ramatan + understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM), + /datum/language/movespeak = list(LANGUAGE_ATOM), + /datum/language/machine = list(LANGUAGE_ATOM), + /datum/language/drone = list(LANGUAGE_ATOM)) + spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), + /datum/language/movespeak = list(LANGUAGE_ATOM)) + + +/mob/living/carbon/human/species/ramatan + race = /datum/species/ramatan +/datum/species/ramatan + // The Ramatae of Aadia III - The Origin + name = "\improper Ramatan" + plural_form = "Ramatae" + id = SPECIES_RAMATAN + preview_outfit = /datum/outfit/scug_preview + inherent_traits = list( + TRAIT_MUTANT_COLORS, + TRAIT_TACKLING_TAILED_DEFENDER, + TRAIT_EXPERT_FISHER, + TRAIT_BEAST_EMPATHY, + ) + 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/external/frills = "None", + /obj/item/organ/external/snout = "Ramatan", + /obj/item/organ/external/tail/lizard = "Ramatan", + ) + payday_modifier = 1.0 + mutanttongue = /obj/item/organ/internal/tongue/ramatan + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + death_sound = 'modular_doppler/modular_species/species_types/ramatae/sounds/scugdeath.ogg' + species_language_holder = /datum/language_holder/ramatan + digitigrade_customization = DIGITIGRADE_OPTIONAL + + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/ramatan, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/ramatan, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/lizard/ramatan, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/lizard/ramatan, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/lizard/ramatan, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/lizard/ramatan, + ) + digi_leg_overrides = list( + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/digitigrade/ramatan, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/digitigrade/ramatan, + ) + +/datum/species/ramatan/create_pref_unique_perks() + var/list/to_add = list() + + to_add += list( + list( + SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, + SPECIES_PERK_ICON = "bone", + SPECIES_PERK_NAME = "50% Boneless", + SPECIES_PERK_DESC = "Ramatae have cartilage skeletons, making bone wounds barely a concern.", + ), + list( + SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, + SPECIES_PERK_ICON = "fa-volume-xmark", + SPECIES_PERK_NAME = "Keep Quiet", + SPECIES_PERK_DESC = "Ramatae, while adept at sign language and making /noises,/ have underdeveloped larynxes incapable of verbal speech.", + ), + list( + SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, + SPECIES_PERK_ICON = "fa-fish", + SPECIES_PERK_NAME = "Survivalist", + SPECIES_PERK_DESC = "Ramatae are naturally adept at living off the land; catching fish and taming beasts better than others." + ), + ) + + return to_add + +/datum/outfit/scug_preview + name = "Ramatan (Species Preview)" + head = /obj/item/clothing/head/beret/doppler_command/science + neck = /obj/item/clothing/neck/doppler_mantle/science + +/datum/species/ramatan/on_species_gain(mob/living/carbon/human/new_ramatan, datum/species/old_species, pref_load) + . = ..() + 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) + +/// SOUNDS BREAKER +/datum/species/ramatan/get_scream_sound(mob/living/carbon/human/scug) + 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) + return pick( + 'sound/mobs/humanoids/human/cough/female_cough1.ogg', + 'sound/mobs/humanoids/human/cough/female_cough2.ogg', + 'sound/mobs/humanoids/human/cough/female_cough3.ogg', + 'sound/mobs/humanoids/human/cough/female_cough4.ogg', + 'sound/mobs/humanoids/human/cough/female_cough5.ogg', + 'sound/mobs/humanoids/human/cough/female_cough6.ogg', + ) + return pick( + 'sound/mobs/humanoids/human/cough/male_cough1.ogg', + 'sound/mobs/humanoids/human/cough/male_cough2.ogg', + 'sound/mobs/humanoids/human/cough/male_cough3.ogg', + 'sound/mobs/humanoids/human/cough/male_cough4.ogg', + 'sound/mobs/humanoids/human/cough/male_cough5.ogg', + 'sound/mobs/humanoids/human/cough/male_cough6.ogg', + ) + +/datum/species/ramatan/get_cry_sound(mob/living/carbon/human/scug) + if(scug.physique == FEMALE) + return pick( + 'sound/mobs/humanoids/human/cry/female_cry1.ogg', + 'sound/mobs/humanoids/human/cry/female_cry2.ogg', + ) + return pick( + 'sound/mobs/humanoids/human/cry/male_cry1.ogg', + 'sound/mobs/humanoids/human/cry/male_cry2.ogg', + 'sound/mobs/humanoids/human/cry/male_cry3.ogg', + ) + +/datum/species/ramatan/get_sneeze_sound(mob/living/carbon/human/scug) + if(scug.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) + 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) + 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) + return 'sound/mobs/humanoids/human/sniff/female_sniff.ogg' + return 'sound/mobs/humanoids/human/sniff/male_sniff.ogg' +/// SOUNDS BREAKER END + +/datum/species/ramatan/get_species_description() + return "Nimble, silent, omnivores with a natural aptitude for talking to machines, the Ramatae and their many tribes are a rare sight in systems far from their homeworld of Aadia III. \ + Ramatae are known for being crafty and intelligent, but equally deeply spiritual, firmly believing in their roles as reincarnated embodiments of their own, distant soul. \ + They have been in friendly contact with a machine intelligence of a long-gone culture, VISHVA, for twenty thousand years, owing their capacity for spaceflight to their symbiosis with it." + +/datum/species/ramatan/get_species_lore() + return list( + "Ramatae, individually Ramatan, are a species of opportunistic humanoid omnivores, native to Aadia III. A species of simultaneous hermaphrodites, Ramatae stand at around four to five feet tall, known for their strange morphology. \ + Their skeletons are made of cartilage, able to flex and bend in almost any way they need. Their bodies are highly adapted for 'arboreal' three-dimensional movement-- three long and flexible digits paired with semi-retractile claws on both hand and foot, mostly good for climbing. \ + However, while Ramatae have been shown to be in every way as cognitively capable as other races of the Orion Spur, their larynxes are heavily underdeveloped, only good for a few cries or trilling sounds; leaving them incapable of verbal communication.", + + "They're typically rather slender, with the exception of their tails; fat and heavy, nearly as long as they are tall, and where the vast majority of their fat is stored. \ + Ramataen bodies constantly produce a slick mucus, predominantly serving to prevent them from being snatched by predators. \ + Some develop an extra fine coat of fur similar to a viverrid, others a double layer giving them a very oily and fluffed-up appearance.", + + "Ramatae are a heavily spiritual people, having a belief system focused around the concept of reincarnation. Tying in with their natural nomadic instincts, their culture holds that their bodies are a vessel for their soul to wander; \ + their soul remembering what their bodies do not. They believe themselves to be sent to the material world to gain particular experiences, to gain particular viewpoints, and to live particular lives-- \ + all in the service of their eventual 'ascension' as they become 'complete people.' Plural Ramatae are particularly revered, thought of as multiple sharing one experience together.", + + "While they hold traditional names amongst their tribes, a Ramatan is particularly known by their self-sought epithet; examples such as The Sage, The Archivist, The Justice, The Kind, The Magician, The Digger, The Reclaimer, The Vessel... \ + These epithets are typically carried throughout a Ramatan's life, the personal meaning of these titles shifting over time, and it being their job to find out what their name and role means to them. \ + They embody what an individual Ramatan aspires to be and do in the world, and only in response to major life events will they ever change.", + ) diff --git a/modular_doppler/modular_species/species_types/ramatae/ramatan_bodyparts.dm b/modular_doppler/modular_species/species_types/ramatae/ramatan_bodyparts.dm new file mode 100644 index 0000000000000..1d463f97391d1 --- /dev/null +++ b/modular_doppler/modular_species/species_types/ramatae/ramatan_bodyparts.dm @@ -0,0 +1,49 @@ +/obj/item/bodypart/head/ramatan + icon_greyscale = 'modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi' + limb_id = SPECIES_RAMATAN + is_dimorphic = FALSE + eyes_icon = 'modular_doppler/modular_species/species_types/ramatae/icons/ramatan_eyes.dmi' + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/chest/ramatan + icon_greyscale = 'modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi' + limb_id = SPECIES_RAMATAN + is_dimorphic = TRUE + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/arm/left/lizard/ramatan + icon_greyscale = 'modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi' + limb_id = SPECIES_RAMATAN + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/arm/right/lizard/ramatan + icon_greyscale = 'modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi' + limb_id = SPECIES_RAMATAN + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/left/lizard/ramatan + icon_greyscale = 'modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi' + limb_id = SPECIES_RAMATAN + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/left/digitigrade/ramatan/ + icon_greyscale = 'modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi' + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/left/digitigrade/ramatan/update_limb(dropping_limb = FALSE, is_creating = FALSE) + . = ..() + if(limb_id == SPECIES_LIZARD) + limb_id = SPECIES_RAMATAN + +/obj/item/bodypart/leg/right/lizard/ramatan + icon_greyscale = 'modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi' + limb_id = SPECIES_RAMATAN + biological_state = (BIO_FLESH|BIO_BLOODED) + +/obj/item/bodypart/leg/right/digitigrade/ramatan/ + icon_greyscale = 'modular_doppler/modular_species/species_types/ramatae/icons/bodyparts.dmi' + +/obj/item/bodypart/leg/right/digitigrade/ramatan/update_limb(dropping_limb = FALSE, is_creating = FALSE) + . = ..() + if(limb_id == SPECIES_LIZARD) + limb_id = SPECIES_RAMATAN diff --git a/modular_doppler/modular_species/species_types/ramatae/ramatan_organs.dm b/modular_doppler/modular_species/species_types/ramatae/ramatan_organs.dm new file mode 100644 index 0000000000000..bdfd82932f775 --- /dev/null +++ b/modular_doppler/modular_species/species_types/ramatae/ramatan_organs.dm @@ -0,0 +1,5 @@ +/obj/item/organ/internal/tongue/ramatan + name = "ramatan tongue" + desc = "A long tongue found in Ramatae; generally rarely used for speech." + liked_foodtypes = RAW | MEAT | SEAFOOD | BUGS | FRUIT + disliked_foodtypes = GRAIN | CLOTH | GROSS diff --git a/modular_doppler/modular_species/species_types/slugcats/sounds/scugdeath.ogg b/modular_doppler/modular_species/species_types/ramatae/sounds/scugdeath.ogg similarity index 100% rename from modular_doppler/modular_species/species_types/slugcats/sounds/scugdeath.ogg rename to modular_doppler/modular_species/species_types/ramatae/sounds/scugdeath.ogg diff --git a/modular_doppler/modular_species/species_types/slugcats/sounds/scuglaugh_1.ogg b/modular_doppler/modular_species/species_types/ramatae/sounds/scuglaugh_1.ogg similarity index 100% rename from modular_doppler/modular_species/species_types/slugcats/sounds/scuglaugh_1.ogg rename to modular_doppler/modular_species/species_types/ramatae/sounds/scuglaugh_1.ogg diff --git a/modular_doppler/modular_species/species_types/slugcats/sounds/scugscream_1.ogg b/modular_doppler/modular_species/species_types/ramatae/sounds/scugscream_1.ogg similarity index 100% rename from modular_doppler/modular_species/species_types/slugcats/sounds/scugscream_1.ogg rename to modular_doppler/modular_species/species_types/ramatae/sounds/scugscream_1.ogg diff --git a/modular_doppler/modular_species/species_types/slugcats/slugcat.dm b/modular_doppler/modular_species/species_types/slugcats/slugcat.dm deleted file mode 100644 index acc99870aadbe..0000000000000 --- a/modular_doppler/modular_species/species_types/slugcats/slugcat.dm +++ /dev/null @@ -1,153 +0,0 @@ -/// Slugcat language holder - they are adept in understanding machines, though unable to speak the tongue themselves. -/datum/language_holder/slugcat - understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM), - /datum/language/movespeak = list(LANGUAGE_ATOM), - /datum/language/machine = list(LANGUAGE_ATOM), - /datum/language/drone = list(LANGUAGE_ATOM)) - spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), - /datum/language/movespeak = list(LANGUAGE_ATOM)) - - -/mob/living/carbon/human/species/slugcat - race = /datum/species/slugcat -/datum/species/slugcat - // The Slugcats of Talon III - name = "\improper Slugcat" - plural_form = "Slugcats" - id = SPECIES_SLUGCAT - preview_outfit = /datum/outfit/scug_preview - inherent_traits = list( - TRAIT_MUTANT_COLORS, - TRAIT_TACKLING_TAILED_DEFENDER, - ) - 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 = "Slugcat", - /obj/item/organ/external/frills = "None", - /obj/item/organ/external/snout = "Slugcat", - /obj/item/organ/external/tail/lizard = "Slugcat", - ) - payday_modifier = 1.0 - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT - inert_mutation = /datum/mutation/human/mute - death_sound = 'modular_doppler/modular_species/species_types/slugcats/sounds/scugdeath.ogg' - species_language_holder = /datum/language_holder/slugcat - digitigrade_customization = DIGITIGRADE_OPTIONAL - - bodypart_overrides = list( - BODY_ZONE_HEAD = /obj/item/bodypart/head/slugcat, - BODY_ZONE_CHEST = /obj/item/bodypart/chest/slugcat, - BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/lizard/slugcat, - BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/lizard/slugcat, - BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/lizard/slugcat, - BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/lizard/slugcat, - ) - digi_leg_overrides = list( - BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/digitigrade/slugcat, - BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/digitigrade/slugcat, - ) - -/datum/outfit/scug_preview - name = "Slugcat (Species Preview)" - head = /obj/item/clothing/head/beret/doppler_command/science - neck = /obj/item/clothing/neck/doppler_mantle/science - -/datum/species/slugcat/prepare_human_for_preview(mob/living/carbon/human/scug_for_preview) - scug_for_preview.dna.features["lizard_markings"] = "Slugcat Underbelly" - scug_for_preview.dna.features["body_markings_color_1"] = "#ccecff" - scug_for_preview.dna.features["mcolor"] = "#FFFFFF" - scug_for_preview.dna.features["frills"] = "Slugcat" - scug_for_preview.dna.features["frills_color_1"] = "#ccecff" - scug_for_preview.dna.features["snout"] = "Slugcat" - 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"] = "Slugcat" - 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) - -/// SOUNDS BREAKER -/datum/species/slugcat/get_scream_sound(mob/living/carbon/human/scug) - return pick( - 'modular_doppler/modular_species/species_types/slugcats/sounds/scugscream_1.ogg', - ) - -/datum/species/slugcat/get_cough_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) - return pick( - 'sound/mobs/humanoids/human/cough/female_cough1.ogg', - 'sound/mobs/humanoids/human/cough/female_cough2.ogg', - 'sound/mobs/humanoids/human/cough/female_cough3.ogg', - 'sound/mobs/humanoids/human/cough/female_cough4.ogg', - 'sound/mobs/humanoids/human/cough/female_cough5.ogg', - 'sound/mobs/humanoids/human/cough/female_cough6.ogg', - ) - return pick( - 'sound/mobs/humanoids/human/cough/male_cough1.ogg', - 'sound/mobs/humanoids/human/cough/male_cough2.ogg', - 'sound/mobs/humanoids/human/cough/male_cough3.ogg', - 'sound/mobs/humanoids/human/cough/male_cough4.ogg', - 'sound/mobs/humanoids/human/cough/male_cough5.ogg', - 'sound/mobs/humanoids/human/cough/male_cough6.ogg', - ) - -/datum/species/slugcat/get_cry_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) - return pick( - 'sound/mobs/humanoids/human/cry/female_cry1.ogg', - 'sound/mobs/humanoids/human/cry/female_cry2.ogg', - ) - return pick( - 'sound/mobs/humanoids/human/cry/male_cry1.ogg', - 'sound/mobs/humanoids/human/cry/male_cry2.ogg', - 'sound/mobs/humanoids/human/cry/male_cry3.ogg', - ) - -/datum/species/lizard/get_sneeze_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) - return 'sound/mobs/humanoids/human/sneeze/female_sneeze1.ogg' - return 'sound/mobs/humanoids/human/sneeze/male_sneeze1.ogg' - -/datum/species/lizard/get_laugh_sound(mob/living/carbon/human/scug) - return 'modular_doppler/modular_species/species_types/slugcats/sounds/scuglaugh_1.ogg' - -/datum/species/lizard/get_sigh_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) - return 'sound/mobs/humanoids/human/sigh/female_sigh.ogg' - return 'sound/mobs/humanoids/human/sigh/male_sigh.ogg' - -/datum/species/lizard/get_sniff_sound(mob/living/carbon/human/scug) - if(scug.physique == FEMALE) - return 'sound/mobs/humanoids/human/sniff/female_sniff.ogg' - return 'sound/mobs/humanoids/human/sniff/male_sniff.ogg' -/// SOUNDS BREAKER END - -/datum/species/slugcat/get_species_description() - return "Nimble omnivores frequently cursed with chronic mutism and a natural aptitude for talking to machines, the Slugcats are a rare sight in systems far from their homeworld of Talon III. \ - Genetically engineered over untold cycles by the manipulation of their homeworld's Resonance field, Slugcats are crafty and intelligent, with incredible capabilities yet incredible fragility, \ - still carrying the scars of their homeworld's brush with death long, long ago." - -/datum/species/slugcat/get_species_lore() - return list( - "Nimble omnivores, both predator and prey, they served as the eyes and ears of the great mechanical minds, the Iterators, as they worked to uncover the secrets of the progenitor species who once ruled their homeworld. \ - Over time, Iterators began to see Slugcats as more than mere servants, treating them as friends and trusted allies despite their small stature. Gazes At Satellites, the leader \ - of the Primary Group began a research project in tandem with 6 Small Stones to try and further guide the growth & evolution of Slugcats.", - - "After many cycles of study & untold many, many more of natural adaptation, Slugcats have ascended to a more recognizable humanoid form, trading some of their nimbleness for craftiness \ - and intelligence to more than rival their most notable compeititors, the Scavs. When exploration probes from 4CA's Ministry of Contact entered orbit of Tallon III, \ - they were contacted by Gazes At Satellites, and soon Slugcats entered the collective consciousness of the galaxy...and due to their history, the baleful gaze of the AIA.", - - "Slugcats remain uncommonly seen beyond the Talon system, as their numbers remain few despite improvements that have been made to the safety and stability of the so-called \"Rain World's\" eco-system. \ - As such, those who do choose to venture beyond their world must do so with their Iterator's express approval and guidance, and typically seek employ and residence within outposts near the Talon system. \ - Slugcats who venture beyond Talon III typically retain the titles given to them by their tribe & Iterator, such as \"The Hunter\" or \"The Artificer\", although some take on the names given to them by their compatriots beyond the stars.", - - "Most of those who do venture beyond remain independents primarily tied to their homeworld, or within the service of the Fourth Celestial Alignment. The Iterators hold a steadfast neutral stance- \ - Talon III remains officially neutral & unaligned, which is how both they & the Slugcats prefer it. This has drawn intense ire from the AIA, whose attempts to convince Slugcats to join them have thus far failed; \ - the entire AIA playbook is based around collective trauma & hatred of uplifting factions...yet amongst the Slugcats' closest allies and confidantes are the Iterators, themselves such a faction. \ - As such, most Slugcats hold a strong dislike & distrust of the AIA, despite their official stance of neutrality.", - ) diff --git a/modular_doppler/modular_species/species_types/slugcats/slugcat_bodyparts.dm b/modular_doppler/modular_species/species_types/slugcats/slugcat_bodyparts.dm deleted file mode 100644 index 8ad5281b3ffbb..0000000000000 --- a/modular_doppler/modular_species/species_types/slugcats/slugcat_bodyparts.dm +++ /dev/null @@ -1,42 +0,0 @@ -/obj/item/bodypart/head/slugcat - icon_greyscale = 'modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi' - limb_id = SPECIES_SLUGCAT - is_dimorphic = FALSE - eyes_icon = 'modular_doppler/modular_species/species_types/slugcats/icons/slugcat_eyes.dmi' - -/obj/item/bodypart/chest/slugcat - icon_greyscale = 'modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi' - limb_id = SPECIES_SLUGCAT - is_dimorphic = TRUE - -/obj/item/bodypart/arm/left/lizard/slugcat - icon_greyscale = 'modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi' - limb_id = SPECIES_SLUGCAT - -/obj/item/bodypart/arm/right/lizard/slugcat - icon_greyscale = 'modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi' - limb_id = SPECIES_SLUGCAT - -/obj/item/bodypart/leg/left/lizard/slugcat - icon_greyscale = 'modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi' - limb_id = SPECIES_SLUGCAT - -/obj/item/bodypart/leg/left/digitigrade/slugcat/ - icon_greyscale = 'modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi' - -/obj/item/bodypart/leg/left/digitigrade/slugcat/update_limb(dropping_limb = FALSE, is_creating = FALSE) - . = ..() - if(limb_id == SPECIES_LIZARD) - limb_id = SPECIES_SLUGCAT - -/obj/item/bodypart/leg/right/lizard/slugcat - icon_greyscale = 'modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi' - limb_id = SPECIES_SLUGCAT - -/obj/item/bodypart/leg/right/digitigrade/slugcat/ - icon_greyscale = 'modular_doppler/modular_species/species_types/slugcats/icons/bodyparts.dmi' - -/obj/item/bodypart/leg/right/digitigrade/slugcat/update_limb(dropping_limb = FALSE, is_creating = FALSE) - . = ..() - if(limb_id == SPECIES_LIZARD) - limb_id = SPECIES_SLUGCAT diff --git a/modular_doppler/research/designs/limbgrower_designs.dm b/modular_doppler/research/designs/limbgrower_designs.dm index af1590b6949ed..224265fd68a0b 100644 --- a/modular_doppler/research/designs/limbgrower_designs.dm +++ b/modular_doppler/research/designs/limbgrower_designs.dm @@ -1,23 +1,32 @@ /obj/machinery/limbgrower/Initialize(mapload) - categories += list(SPECIES_SNAIL, SPECIES_SLUGCAT, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) + categories += list(SPECIES_SNAIL, SPECIES_RAMATAN, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) return ..() /datum/design/leftarm/New() - category += list(SPECIES_SNAIL, SPECIES_SLUGCAT, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) + category += list(SPECIES_SNAIL, SPECIES_RAMATAN, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) return ..() /datum/design/rightarm/New() - category += list(SPECIES_SNAIL, SPECIES_SLUGCAT, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) + category += list(SPECIES_SNAIL, SPECIES_RAMATAN, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) return ..() /datum/design/leftleg/New() - category += list(SPECIES_SNAIL, SPECIES_SLUGCAT, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) + category += list(SPECIES_SNAIL, SPECIES_RAMATAN, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) return ..() /datum/design/rightleg/New() - category += list(SPECIES_SNAIL, SPECIES_SLUGCAT, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) + category += list(SPECIES_SNAIL, SPECIES_RAMATAN, SPECIES_ANTHROMORPH, SPECIES_INSECTOID, SPECIES_AQUATIC) return ..() +/datum/design/tongue/ramatan + name = "Ramatan Tongue" + id = "ramatantongue" + build_path = /obj/item/organ/internal/tongue/ramatan + category = list( + SPECIES_RAMATAN, + RND_CATEGORY_INITIAL, + ) + /datum/design/tongue/snail name = "Snail Tongue" id = "snailtongue" diff --git a/tgstation.dme b/tgstation.dme index 40b9d41ffd116..569b561220457 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6659,6 +6659,7 @@ #include "modular_doppler\modular_antagonists\sapper_gang\code\paper_premade.dm" #include "modular_doppler\modular_antagonists\sapper_gang\code\sapperpad.dm" #include "modular_doppler\modular_cosmetics\toggle_clothes.dm" +#include "modular_doppler\modular_cosmetics\code\clothing_overrides.dm" #include "modular_doppler\modular_cosmetics\code\garment_bag_overrides.dm" #include "modular_doppler\modular_cosmetics\code\jacket_pockets.dm" #include "modular_doppler\modular_cosmetics\code\towels.dm" @@ -6744,11 +6745,11 @@ #include "modular_doppler\modular_customization\accessories\code\non_species_specific\leporid_accessories\leporid_tail.dm" #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\slugcat_accessories\slugcat_body_markings.dm" -#include "modular_doppler\modular_customization\accessories\code\slugcat_accessories\slugcat_frills.dm" -#include "modular_doppler\modular_customization\accessories\code\slugcat_accessories\slugcat_horns.dm" -#include "modular_doppler\modular_customization\accessories\code\slugcat_accessories\slugcat_snout.dm" -#include "modular_doppler\modular_customization\accessories\code\slugcat_accessories\slugcat_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_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" #include "modular_doppler\modular_customization\accessories\code\synthetic_accessories\synth_tail.dm" #include "modular_doppler\modular_customization\accessories\code\underwear_accessories\bras.dm" @@ -6870,8 +6871,9 @@ #include "modular_doppler\modular_species\species_types\mothmen\mothmen.dm" #include "modular_doppler\modular_species\species_types\plasmamen\plasmamen.dm" #include "modular_doppler\modular_species\species_types\primitive_genemod\primitive_genemod.dm" -#include "modular_doppler\modular_species\species_types\slugcats\slugcat.dm" -#include "modular_doppler\modular_species\species_types\slugcats\slugcat_bodyparts.dm" +#include "modular_doppler\modular_species\species_types\ramatae\ramatan.dm" +#include "modular_doppler\modular_species\species_types\ramatae\ramatan_bodyparts.dm" +#include "modular_doppler\modular_species\species_types\ramatae\ramatan_organs.dm" #include "modular_doppler\modular_species\species_types\snails\modular_snail.dm" #include "modular_doppler\modular_species\species_types\snails\snail_bodyparts.dm" #include "modular_doppler\modular_species\species_types\snails\organs\snail_heart.dm"