diff --git a/citadel.dme b/citadel.dme index 8e62d621674..97305cff74d 100644 --- a/citadel.dme +++ b/citadel.dme @@ -3886,6 +3886,7 @@ #include "code\modules\species\station\standard\tajaran.dm" #include "code\modules\species\station\standard\teshari.dm" #include "code\modules\species\station\standard\unathi.dm" +#include "code\modules\species\station\standard\unathidigi.dm" #include "code\modules\species\station\standard\vulpkanin.dm" #include "code\modules\species\station\standard\zaddat.dm" #include "code\modules\species\station\standard\zorren.dm" @@ -3948,6 +3949,7 @@ #include "code\modules\sprite_accessories\hair\tajaran_hair.dm" #include "code\modules\sprite_accessories\hair\teshari_hair.dm" #include "code\modules\sprite_accessories\hair\unathi_hair.dm" +#include "code\modules\sprite_accessories\hair\unathidigi_hair.dm" #include "code\modules\sprite_accessories\hair\vox_hair.dm" #include "code\modules\sprite_accessories\hair\vulpakin_hair.dm" #include "code\modules\sprite_accessories\hair\xenomorph_hybrid_domes.dm" diff --git a/code/__DEFINES/inventory/bodytypes.dm b/code/__DEFINES/inventory/bodytypes.dm index 891a84d5404..6844649493b 100644 --- a/code/__DEFINES/inventory/bodytypes.dm +++ b/code/__DEFINES/inventory/bodytypes.dm @@ -68,6 +68,8 @@ #define BODYTYPE_WEREBEAST (1<<17) /// xenomorph hybrid #define BODYTYPE_XENOHYBRID (1<<18) +/// digitigrade unathi +#define BODYTYPE_UNATHI_DIGI (1<<19) // todo: what are we going to do with these? //? we should probably standardize bodytypes as entirely different sprites, and also @@ -91,6 +93,7 @@ #define BODYTYPE_STRING_TESHARI "teshari" #define BODYTYPE_STRING_ADHERENT "adherent" #define BODYTYPE_STRING_UNATHI "unathi" +#define BODYTYPE_STRING_UNATHI_DIGI "unathidigi" #define BODYTYPE_STRING_TAJARAN "tajaran" #define BODYTYPE_STRING_VULPKANIN "vulpkanin" #define BODYTYPE_STRING_SKRELL "skrell" @@ -116,6 +119,8 @@ return BODYTYPE_STRING_ADHERENT if(BODYTYPE_UNATHI) return BODYTYPE_STRING_UNATHI + if(BODYTYPE_UNATHI_DIGI) + return BODYTYPE_STRING_UNATHI_DIGI if(BODYTYPE_TAJARAN) return BODYTYPE_STRING_TAJARAN if(BODYTYPE_VULPKANIN) diff --git a/code/__DEFINES/species/species.dm b/code/__DEFINES/species/species.dm index 2a2f5220e53..feb7b3f417a 100644 --- a/code/__DEFINES/species/species.dm +++ b/code/__DEFINES/species/species.dm @@ -43,6 +43,7 @@ #define SPECIES_ID_TAJARAN "tajaran" #define SPECIES_ID_TESHARI "teshari" #define SPECIES_ID_UNATHI "unathi" +#define SPECIES_ID_UNATHI_DIGI "unathidigi" #define SPECIES_ID_VASILISSAN "vasilissan" #define SPECIES_ID_VIRTUAL_REALITY "virtual_reality" #define SPECIES_ID_VIRTUAL_REALITY_DIONA "virtual_reality_diona" @@ -118,6 +119,7 @@ #define SPECIES_TAJ "Tajara" #define SPECIES_TESHARI "Teshari" #define SPECIES_UNATHI "Unathi" +#define SPECIES_UNATHI_DIGI "Digitigrade Unathi" #define SPECIES_VASILISSAN "Vasilissan" #define SPECIES_VOX "Vox" #define SPECIES_VR "Virtual Reality Avatar" diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 8064fcfba29..af65a3d1da4 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -378,6 +378,7 @@ var/global/list/fancy_release_sounds = list( var/global/list/global_vore_egg_types = list( SPECIES_UNATHI = UNATHI_EGG, + SPECIES_UNATHI_DIGI = UNATHI_EGG, "Tajaran" = TAJARAN_EGG, SPECIES_AKULA = AKULA_EGG, SPECIES_SKRELL = SKRELL_EGG, @@ -391,6 +392,7 @@ var/global/list/global_vore_egg_types = list( var/global/list/tf_vore_egg_types = list( SPECIES_UNATHI = /obj/structure/closet/secure_closet/egg/unathi, + SPECIES_UNATHI_DIGI = /obj/structure/closet/secure_closet/egg/unathi, SPECIES_TAJ = /obj/structure/closet/secure_closet/egg/tajaran, SPECIES_AKULA = /obj/structure/closet/secure_closet/egg/shark, SPECIES_SKRELL = /obj/structure/closet/secure_closet/egg/skrell, diff --git a/code/game/antagonist/antagonist.dm b/code/game/antagonist/antagonist.dm index ce173d6e53e..4f353751afd 100644 --- a/code/game/antagonist/antagonist.dm +++ b/code/game/antagonist/antagonist.dm @@ -53,7 +53,7 @@ var/flags = 0 // Various runtime options. // Used for setting appearance. - var/list/valid_species = list(SPECIES_UNATHI,SPECIES_TAJ,SPECIES_SKRELL,SPECIES_HUMAN,SPECIES_DIONA,SPECIES_TESHARI) + var/list/valid_species = list(SPECIES_UNATHI,SPECIES_UNATHI_DIGI,SPECIES_TAJ,SPECIES_SKRELL,SPECIES_HUMAN,SPECIES_DIONA,SPECIES_TESHARI) // Runtime vars. var/datum/mind/leader // Current leader, if any. diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index f78cf36bd45..ae846b74151 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -241,7 +241,7 @@ if(malfunctioning && prob(30)) // Alien Tech is a hell of a drug. malfunctioned = TRUE - var/possible_species = list(SPECIES_HUMAN, SPECIES_VOX, SPECIES_SKRELL, SPECIES_ZADDAT, SPECIES_UNATHI, SPECIES_GOLEM, SPECIES_SHADOW) + var/possible_species = list(SPECIES_HUMAN, SPECIES_VOX, SPECIES_SKRELL, SPECIES_ZADDAT, SPECIES_UNATHI, SPECIES_UNATHI_DIGI, SPECIES_GOLEM, SPECIES_SHADOW) var/new_species = pick(possible_species) var/datum/species/S = SScharacters.resolve_species_name(new_species) if(!S) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index f2e44a3d746..4020817cf7e 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -118,6 +118,9 @@ switch(target_species) if(SPECIES_HUMAN, SPECIES_SKRELL) //humanoid bodytypes species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_PROMETHEAN, SPECIES_HUMAN_SPACER, SPECIES_HUMAN_GRAV, SPECIES_HUMAN_VATBORN) //skrell/humans can wear each other's suits + if (SPECIES_UNATHI) + //For the sake of gameplay, unathi is unathi + species_restricted = list(SPECIES_UNATHI, SPECIES_UNATHI_DIGI) else species_restricted = list(target_species) @@ -138,6 +141,9 @@ switch(target_species) if(SPECIES_HUMAN, SPECIES_SKRELL) //humanoid bodytypes species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_PROMETHEAN, SPECIES_HUMAN_SPACER, SPECIES_HUMAN_GRAV, SPECIES_HUMAN_VATBORN) //skrell/humans can wear each other's suits + if (SPECIES_UNATHI) + //For the sake of gameplay, unathi is unathi + species_restricted = list(SPECIES_UNATHI, SPECIES_UNATHI_DIGI) else species_restricted = list(target_species) diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index 15b02cd80bd..522ec1d1510 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -16,12 +16,14 @@ species_restricted = list(SPECIES_HUMAN, SPECIES_PROMETHEAN, SPECIES_ALRAUNE) sprite_sheets_refit = list( SPECIES_UNATHI = 'icons/mob/clothing/species/unathi/helmet.dmi', + SPECIES_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/head.dmi', SPECIES_TAJ = 'icons/mob/clothing/species/tajaran/helmet.dmi', SPECIES_SKRELL = 'icons/mob/clothing/species/skrell/helmet.dmi' //Teshari have a general sprite sheet defined in modules/clothing/clothing.dm ) sprite_sheets_obj = list( SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/hats.dmi', + SPECIES_UNATHI_DIGI = 'icons/obj/clothing/species/unathi/hats.dmi', SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/hats.dmi', SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/hats.dmi', SPECIES_TESHARI = 'icons/obj/clothing/species/teshari/hats.dmi', @@ -46,6 +48,7 @@ species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_PROMETHEAN) sprite_sheets_refit = list( SPECIES_UNATHI = 'icons/mob/clothing/species/unathi/suits.dmi', + SPECIES_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/suits.dmi', SPECIES_TAJ = 'icons/mob/clothing/species/tajaran/suits.dmi', SPECIES_SKRELL = 'icons/mob/clothing/species/skrell/suits.dmi' //Teshari have a general sprite sheet defined in modules/clothing/clothing.dm @@ -54,6 +57,7 @@ SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/suits.dmi', SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/suits.dmi', SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/suits.dmi', + SPECIES_UNATHI_DIGI = 'icons/obj/clothing/species/unathi/suits.dmi', SPECIES_TESHARI = 'icons/obj/clothing/species/teshari/suits.dmi', SPECIES_NEVREAN = 'icons/obj/clothing/species/nevrean/suits.dmi', SPECIES_AKULA = 'icons/obj/clothing/species/akula/suits.dmi', diff --git a/code/modules/clothing/spacesuits/void/void_vr.dm b/code/modules/clothing/spacesuits/void/void_vr.dm index 885b4065d3c..a6cfe797608 100644 --- a/code/modules/clothing/spacesuits/void/void_vr.dm +++ b/code/modules/clothing/spacesuits/void/void_vr.dm @@ -10,6 +10,7 @@ SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/hats.dmi', SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/hats.dmi', SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/hats.dmi', + SPECIES_UNATHI_DIGI = 'icons/obj/clothing/species/unathi/hats.dmi', SPECIES_TESHARI = 'icons/obj/clothing/species/teshari/hats.dmi', SPECIES_NEVREAN = 'icons/obj/clothing/species/nevrean/hats.dmi', SPECIES_AKULA = 'icons/obj/clothing/species/akula/hats.dmi', @@ -32,6 +33,7 @@ SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/suits.dmi', SPECIES_TESHARI = 'icons/obj/clothing/species/teshari/suits.dmi', SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/suits.dmi', + SPECIES_UNATHI_DIGI = 'icons/obj/clothing/species/unathi/suits.dmi', SPECIES_VOX = 'icons/obj/clothing/species/vox/suits.dmi', SPECIES_VULPKANIN = 'icons/obj/clothing/species/vulpkanin/suits.dmi', SPECIES_ZORREN_FLAT = 'icons/obj/clothing/species/fennec/suits.dmi', @@ -60,6 +62,7 @@ SPECIES_TAJ, SPECIES_TESHARI, SPECIES_UNATHI, + SPECIES_UNATHI_DIGI, SPECIES_VASILISSAN, SPECIES_VOX, SPECIES_VULPKANIN, @@ -89,6 +92,7 @@ SPECIES_TAJ, SPECIES_TESHARI, SPECIES_UNATHI, + SPECIES_UNATHI_DIGI, SPECIES_VASILISSAN, SPECIES_VOX, SPECIES_VULPKANIN, @@ -177,6 +181,7 @@ SPECIES_TAJ = 'icons/obj/clothing/hats.dmi', SPECIES_TESHARI = 'icons/obj/clothing/hats.dmi', SPECIES_UNATHI = 'icons/obj/clothing/hats.dmi', + SPECIES_UNATHI_DIGI = 'icons/obj/clothing/hats.dmi', SPECIES_VULPKANIN = 'icons/obj/clothing/hats.dmi', SPECIES_XENOHYBRID = 'icons/obj/clothing/hats.dmi', SPECIES_ZORREN_HIGH = 'icons/obj/clothing/hats.dmi', diff --git a/code/modules/mob/inventory/slot_meta.dm b/code/modules/mob/inventory/slot_meta.dm index c193f490240..b34f0525518 100644 --- a/code/modules/mob/inventory/slot_meta.dm +++ b/code/modules/mob/inventory/slot_meta.dm @@ -241,6 +241,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_DEFAULT = 'icons/mob/clothing/back.dmi', BODYTYPE_STRING_TESHARI = 'icons/mob/clothing/species/teshari/back.dmi', BODYTYPE_STRING_WEREBEAST = 'icons/mob/clothing/species/werebeast/back.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/back.dmi', ) render_fallback = list( BODYTYPE_STRING_TESHARI = "_fallback_" @@ -263,6 +264,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_TESHARI = 'icons/mob/clothing/species/teshari/uniform.dmi', BODYTYPE_STRING_VOX = 'icons/mob/clothing/species/vox/uniform.dmi', BODYTYPE_STRING_WEREBEAST = 'icons/mob/clothing/species/werebeast/uniform.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/uniform.dmi', ) render_fallback = list( BODYTYPE_STRING_TESHARI = "_fallback_", @@ -363,6 +365,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_XENOHYBRID = 'icons/mob/clothing/species/unathi/helmet.dmi', BODYTYPE_STRING_ZORREN_FLAT = 'icons/mob/clothing/species/fennec/helmet.dmi', BODYTYPE_STRING_ZORREN_HIGH = 'icons/mob/clothing/species/fox/helmet.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/head.dmi', ) render_layer = HEAD_LAYER @@ -396,6 +399,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_ZORREN_HIGH = 'icons/mob/clothing/species/fox/suits.dmi', BODYTYPE_STRING_WEREBEAST = 'icons/mob/clothing/species/werebeast/suits.dmi', BODYTYPE_STRING_ZADDAT = 'icons/mob/clothing/species/zaddat/suits.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/suits.dmi', ) render_layer = SUIT_LAYER @@ -414,6 +418,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_DEFAULT = 'icons/mob/clothing/belt.dmi', BODYTYPE_STRING_TESHARI = 'icons/mob/clothing/species/teshari/belt.dmi', BODYTYPE_STRING_WEREBEAST = 'icons/mob/clothing/species/werebeast/belt.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/belt.dmi', ) render_layer = list(BELT_LAYER, BELT_LAYER_ALT) @@ -460,6 +465,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) render_default_icons = list( BODYTYPE_STRING_DEFAULT = 'icons/mob/mob.dmi', BODYTYPE_STRING_TESHARI = 'icons/mob/clothing/species/teshari/id.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/id.dmi', ) render_fallback = list( BODYTYPE_STRING_TESHARI = "_fallback_" @@ -483,6 +489,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_VOX = 'icons/mob/clothing/species/vox/shoes.dmi', BODYTYPE_STRING_WEREBEAST = 'icons/mob/clothing/species/werebeast/feet.dmi', BODYTYPE_STRING_ZADDAT = 'icons/mob/clothing/species/zaddat/shoes.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/feet.dmi', ) render_fallback = list( BODYTYPE_STRING_TESHARI = "_fallback_" // this doesn't actually exist, so item becomes invis @@ -505,6 +512,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_TESHARI = 'icons/mob/clothing/species/teshari/gloves.dmi', BODYTYPE_STRING_VOX = 'icons/mob/clothing/species/vox/gloves.dmi', BODYTYPE_STRING_WEREBEAST = 'icons/mob/clothing/species/werebeast/hands.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/hands.dmi', ) render_fallback = list( BODYTYPE_STRING_TESHARI = "_fallback_" @@ -527,6 +535,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_TESHARI = 'icons/mob/clothing/species/teshari/eyes.dmi', BODYTYPE_STRING_VOX = 'icons/mob/clothing/species/vox/eyes.dmi', BODYTYPE_STRING_WEREBEAST = 'icons/mob/clothing/species/werebeast/eyes.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/eyes.dmi', ) render_fallback = list( BODYTYPE_STRING_TESHARI = "_fallback_" @@ -564,6 +573,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_TESHARI = 'icons/mob/clothing/species/teshari/ears.dmi', BODYTYPE_STRING_WEREBEAST = 'icons/mob/clothing/species/werebeast/ears.dmi', BODYTYPE_STRING_VOX = 'icons/mob/clothing/species/vox/ears.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/ears.dmi', ) render_fallback = list( BODYTYPE_STRING_TESHARI = "_fallback_" @@ -616,6 +626,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) BODYTYPE_STRING_XENOCHIMERA = 'icons/mob/clothing/species/tajaran/mask.dmi', BODYTYPE_STRING_ZORREN_FLAT = 'icons/mob/clothing/species/fennec/mask.dmi', BODYTYPE_STRING_ZORREN_HIGH = 'icons/mob/clothing/species/fox/mask.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/mask.dmi', ) render_layer = FACEMASK_LAYER @@ -635,6 +646,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) render_default_icons = list( BODYTYPE_STRING_DEFAULT = 'icons/mob/mob.dmi', BODYTYPE_STRING_TESHARI = 'icons/mob/clothing/species/teshari/handcuffs.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/handcuffs.dmi', ) render_layer = HANDCUFF_LAYER @@ -651,6 +663,7 @@ GLOBAL_LIST_EMPTY(inventory_slot_type_cache) render_default_icons = list( BODYTYPE_STRING_DEFAULT = 'icons/mob/mob.dmi', BODYTYPE_STRING_TESHARI = 'icons/mob/clothing/species/teshari/handcuffs.dmi', + BODYTYPE_STRING_UNATHI_DIGI = 'icons/mob/clothing/species/unathidigi/handcuffs.dmi' ) render_layer = LEGCUFF_LAYER diff --git a/code/modules/organs/external/species/unathi.dm b/code/modules/organs/external/species/unathi.dm index d875f49433c..4de1f000753 100644 --- a/code/modules/organs/external/species/unathi.dm +++ b/code/modules/organs/external/species/unathi.dm @@ -14,3 +14,7 @@ eye_icon = "eyes_s" force = 5 throw_force = 10 + +/obj/item/organ/external/head/unathi/digi + eye_icon = "eyes_lizard" + eye_icon_location = 'icons/mob/species/unathidigi/eyes.dmi' diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 36375b83305..1e8bef00fc4 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -281,6 +281,8 @@ temp_img = icon('icons/obj/butts.dmi', "tajaran") if(SPECIES_UNATHI) temp_img = icon('icons/obj/butts.dmi', "unathi") + if(SPECIES_UNATHI_DIGI) + temp_img = icon('icons/obj/butts.dmi', "unathi") if(SPECIES_SKRELL) temp_img = icon('icons/obj/butts.dmi', "skrell") if(SPECIES_VOX) diff --git a/code/modules/rigsuits/rig_pieces.dm b/code/modules/rigsuits/rig_pieces.dm index f2b28c8b8e9..913620f2132 100644 --- a/code/modules/rigsuits/rig_pieces.dm +++ b/code/modules/rigsuits/rig_pieces.dm @@ -32,6 +32,7 @@ SPECIES_TAJ, SPECIES_TESHARI, SPECIES_UNATHI, + SPECIES_UNATHI_DIGI, SPECIES_VASILISSAN, SPECIES_VOX, SPECIES_VULPKANIN, @@ -65,6 +66,7 @@ SPECIES_TAJ, SPECIES_TESHARI, SPECIES_UNATHI, + SPECIES_UNATHI_DIGI, SPECIES_VASILISSAN, SPECIES_VOX, SPECIES_VULPKANIN, @@ -101,6 +103,7 @@ SPECIES_TAJ, SPECIES_TESHARI, SPECIES_UNATHI, + SPECIES_UNATHI_DIGI, SPECIES_VASILISSAN, SPECIES_VOX, SPECIES_VULPKANIN, @@ -151,6 +154,7 @@ SPECIES_TAJ, SPECIES_TESHARI, SPECIES_UNATHI, + SPECIES_UNATHI_DIGI, SPECIES_VASILISSAN, SPECIES_VOX, SPECIES_VULPKANIN, diff --git a/code/modules/rigsuits/suits/alien.dm b/code/modules/rigsuits/suits/alien.dm index ce6b0c1a848..20b85c5c1ea 100644 --- a/code/modules/rigsuits/suits/alien.dm +++ b/code/modules/rigsuits/suits/alien.dm @@ -28,14 +28,14 @@ siemens_coefficient = 0.2 /obj/item/clothing/head/helmet/space/rig/breacher - species_restricted = list(SPECIES_UNATHI) + species_restricted = list(SPECIES_UNATHI, SPECIES_UNATHI_DIGI) force = 5 /obj/item/clothing/suit/space/rig/breacher - species_restricted = list(SPECIES_UNATHI) + species_restricted = list(SPECIES_UNATHI, SPECIES_UNATHI_DIGI) /obj/item/clothing/shoes/magboots/rig/breacher - species_restricted = list(SPECIES_UNATHI) + species_restricted = list(SPECIES_UNATHI, SPECIES_UNATHI_DIGI) /* * VOX diff --git a/code/modules/species/outsider/replicant.dm b/code/modules/species/outsider/replicant.dm index 877664241be..66b0f9522f8 100644 --- a/code/modules/species/outsider/replicant.dm +++ b/code/modules/species/outsider/replicant.dm @@ -40,7 +40,7 @@ species_spawn_flags = SPECIES_SPAWN_SPECIAL species_appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_UNDERWEAR - valid_transform_species = list(SPECIES_HUMAN, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_MONKEY, SPECIES_VOX) + valid_transform_species = list(SPECIES_HUMAN, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_UNATHI_DIGI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_MONKEY, SPECIES_VOX) inherent_verbs = list( /mob/living/carbon/human/proc/shapeshifter_select_shape, diff --git a/code/modules/species/promethean/promethean.dm b/code/modules/species/promethean/promethean.dm index 96ed6fbd78e..02fa9bb57db 100644 --- a/code/modules/species/promethean/promethean.dm +++ b/code/modules/species/promethean/promethean.dm @@ -136,7 +136,7 @@ var/datum/species/shapeshifter/promethean/prometheans ) valid_transform_species = list( - SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL, + SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_UNATHI_DIGI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_MONKEY, SPECIES_SERGAL, SPECIES_AKULA, SPECIES_NEVREAN, SPECIES_ZORREN_HIGH, SPECIES_ZORREN_FLAT, SPECIES_VULPKANIN, SPECIES_VASILISSAN, diff --git a/code/modules/species/station/standard/unathidigi.dm b/code/modules/species/station/standard/unathidigi.dm new file mode 100644 index 00000000000..51e9b225828 --- /dev/null +++ b/code/modules/species/station/standard/unathidigi.dm @@ -0,0 +1,32 @@ +/datum/species/unathi/digi + uid = SPECIES_ID_UNATHI_DIGI + name = SPECIES_UNATHI_DIGI + name_plural = SPECIES_UNATHI_DIGI + default_bodytype = BODYTYPE_UNATHI_DIGI + + icobase = 'icons/mob/species/unathidigi/body.dmi' + deform = 'icons/mob/species/unathidigi/deformed_body.dmi' + husk_icon = 'icons/mob/species/unathidigi/husk.dmi' + preview_icon = 'icons/mob/species/unathidigi/preview.dmi' + tail = "sogtail" + tail_animation = 'icons/mob/species/unathidigi/tail.dmi' + + blurb = {" + As a result of the many challenges of living on Moghes and other worlds, Unathi have become morphologically diverse. + While some unathi are plantigrade and almost resemble humans in their silhouette, others are more hulking; a digitigrade, beastial and alien creature. + "} + + organs_icon = 'icons/mob/species/unathidigi/organs.dmi' + has_limbs = list( + BP_TORSO = list("path" = /obj/item/organ/external/chest/unathi), + BP_GROIN = list("path" = /obj/item/organ/external/groin/unathi), + BP_HEAD = list("path" = /obj/item/organ/external/head/unathi/digi), + BP_L_ARM = list("path" = /obj/item/organ/external/arm), + BP_R_ARM = list("path" = /obj/item/organ/external/arm/right), + BP_L_LEG = list("path" = /obj/item/organ/external/leg), + BP_R_LEG = list("path" = /obj/item/organ/external/leg/right), + BP_L_HAND = list("path" = /obj/item/organ/external/hand), + BP_R_HAND = list("path" = /obj/item/organ/external/hand/right), + BP_L_FOOT = list("path" = /obj/item/organ/external/foot), + BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right), + ) diff --git a/code/modules/species/virtual_reality/avatar.dm b/code/modules/species/virtual_reality/avatar.dm index ba8a8db3eb9..44f0daffdb0 100644 --- a/code/modules/species/virtual_reality/avatar.dm +++ b/code/modules/species/virtual_reality/avatar.dm @@ -24,7 +24,7 @@ male_sneeze_sound = 'sound/effects/mob_effects/sneeze.ogg' female_sneeze_sound = 'sound/effects/mob_effects/f_sneeze.ogg' - valid_transform_species = list(SPECIES_HUMAN, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_VOX, SPECIES_MONKEY, SPECIES_SKELETON) + valid_transform_species = list(SPECIES_HUMAN, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_UNATHI_DIGI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_VOX, SPECIES_MONKEY, SPECIES_SKELETON) unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch, /datum/unarmed_attack/bite) has_organ = list(O_BRAIN = /obj/item/organ/internal/brain/slime, O_EYES = /obj/item/organ/internal/eyes) // Slime core. diff --git a/code/modules/species/xenochimera/xenochimera.dm b/code/modules/species/xenochimera/xenochimera.dm index 41f3ed64c66..0ea4e3a9981 100644 --- a/code/modules/species/xenochimera/xenochimera.dm +++ b/code/modules/species/xenochimera/xenochimera.dm @@ -74,7 +74,7 @@ ) valid_transform_species = list( - SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL, + SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_UNATHI_DIGI, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_MONKEY,SPECIES_SERGAL, SPECIES_AKULA,SPECIES_NEVREAN,SPECIES_ZORREN_HIGH, SPECIES_ZORREN_FLAT, SPECIES_VULPKANIN, SPECIES_VASILISSAN, diff --git a/code/modules/sprite_accessories/hair/unathidigi_hair.dm b/code/modules/sprite_accessories/hair/unathidigi_hair.dm new file mode 100644 index 00000000000..9b090e3129e --- /dev/null +++ b/code/modules/sprite_accessories/hair/unathidigi_hair.dm @@ -0,0 +1,81 @@ +//Normal and digitigrade unathi get different hair because of their different head shape. + +/datum/sprite_accessory/hair/una_digi_spines_short + name = "Short Digitigrade Unathi Spines" + icon_state = "soghun_shortspines_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE + +/datum/sprite_accessory/hair/una_digi_spines_long + name = "Long Digitigrade Unathi Spines" + icon_state = "soghun_longspines_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE + +/datum/sprite_accessory/hair/una_digi_finhawk + name = "Digitigrade Unathi Finhawk" + icon_state = "fin_hawk_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE + +/datum/sprite_accessory/hair/una_digi_demonhorns + name = "Digitigrade Unathi Demon Horns" + icon_state = "demon_horn_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE + +/datum/sprite_accessory/hair/una_digi_swepthorns + name = "Digitigrade Unathi Swept Horns" + icon_state = "swept_horn_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE + +/datum/sprite_accessory/hair/una_digi_ramhorns + name = "Digitigrade Unathi Ram Horns" + icon_state = "ram_horn_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE + +/datum/sprite_accessory/hair/una_digi_frills_long + name = "Long Digitigrade Unathi Frills" + icon_state = "soghun_longfrills_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE + +/datum/sprite_accessory/hair/una_digi_frills_short + name = "Short Digitigrade Unathi Frills" + icon_state = "soghun_shortfrills_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE + +/datum/sprite_accessory/hair/una_digi_horns + name = "Digitigrade Unathi Horns" + icon_state = "soghun_horns_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE + +/datum/sprite_accessory/hair/una_digi_frills_big + name = "Big Digitigrade Unathi Frills" + icon_state = "big_frills_digi" + icon = 'icons/mob/species/unathidigi/hair.dmi' + icon_add = null + species_allowed = list(SPECIES_UNATHI_DIGI, SPECIES_XENOCHIMERA, SPECIES_PROTEAN) + apply_restrictions = TRUE diff --git a/icons/mob/clothing/species/unathidigi/accessories.dmi b/icons/mob/clothing/species/unathidigi/accessories.dmi new file mode 100644 index 00000000000..bdc592b211d Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/accessories.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/back.dmi b/icons/mob/clothing/species/unathidigi/back.dmi new file mode 100644 index 00000000000..f33115332bb Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/back.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/belt.dmi b/icons/mob/clothing/species/unathidigi/belt.dmi new file mode 100644 index 00000000000..c0c6d6b9ef3 Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/belt.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/ears.dmi b/icons/mob/clothing/species/unathidigi/ears.dmi new file mode 100644 index 00000000000..412e8982f9c Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/ears.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/eyes.dmi b/icons/mob/clothing/species/unathidigi/eyes.dmi new file mode 100644 index 00000000000..421e3f1c99b Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/eyes.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/feet.dmi b/icons/mob/clothing/species/unathidigi/feet.dmi new file mode 100644 index 00000000000..46461c52880 Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/feet.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/handcuffs.dmi b/icons/mob/clothing/species/unathidigi/handcuffs.dmi new file mode 100644 index 00000000000..6afd19085ab Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/handcuffs.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/hands.dmi b/icons/mob/clothing/species/unathidigi/hands.dmi new file mode 100644 index 00000000000..e135d2882f1 Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/hands.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/head.dmi b/icons/mob/clothing/species/unathidigi/head.dmi new file mode 100644 index 00000000000..3d28d9ee6e0 Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/head.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/id.dmi b/icons/mob/clothing/species/unathidigi/id.dmi new file mode 100644 index 00000000000..6445aeb8083 Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/id.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/mask.dmi b/icons/mob/clothing/species/unathidigi/mask.dmi new file mode 100644 index 00000000000..5d46b5c12b7 Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/mask.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/suits.dmi b/icons/mob/clothing/species/unathidigi/suits.dmi new file mode 100644 index 00000000000..6a9efb74215 Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/suits.dmi differ diff --git a/icons/mob/clothing/species/unathidigi/uniform.dmi b/icons/mob/clothing/species/unathidigi/uniform.dmi new file mode 100644 index 00000000000..20a19b7786c Binary files /dev/null and b/icons/mob/clothing/species/unathidigi/uniform.dmi differ diff --git a/icons/mob/species/unathi/body_new.dmi b/icons/mob/species/unathi/body_new.dmi deleted file mode 100644 index ba19b6c7731..00000000000 Binary files a/icons/mob/species/unathi/body_new.dmi and /dev/null differ diff --git a/icons/mob/species/unathi/eyes_new.dmi b/icons/mob/species/unathi/eyes_new.dmi deleted file mode 100644 index 71f9a6a88e4..00000000000 Binary files a/icons/mob/species/unathi/eyes_new.dmi and /dev/null differ diff --git a/icons/mob/species/unathi/hair_new.dmi b/icons/mob/species/unathi/hair_new.dmi deleted file mode 100644 index f3db642fcef..00000000000 Binary files a/icons/mob/species/unathi/hair_new.dmi and /dev/null differ diff --git a/icons/mob/species/unathi/preview_new.dmi b/icons/mob/species/unathi/preview_new.dmi deleted file mode 100644 index f5faa466cdd..00000000000 Binary files a/icons/mob/species/unathi/preview_new.dmi and /dev/null differ diff --git a/icons/mob/species/unathi/unathi_tail_new.dmi b/icons/mob/species/unathi/unathi_tail_new.dmi deleted file mode 100644 index 50405060001..00000000000 Binary files a/icons/mob/species/unathi/unathi_tail_new.dmi and /dev/null differ diff --git a/icons/mob/species/unathidigi/body.dmi b/icons/mob/species/unathidigi/body.dmi new file mode 100644 index 00000000000..010be48dd23 Binary files /dev/null and b/icons/mob/species/unathidigi/body.dmi differ diff --git a/icons/mob/species/unathi/default_markings_new.dmi b/icons/mob/species/unathidigi/default_markings.dmi similarity index 100% rename from icons/mob/species/unathi/default_markings_new.dmi rename to icons/mob/species/unathidigi/default_markings.dmi diff --git a/icons/mob/species/unathi/deformed_body_new.dmi b/icons/mob/species/unathidigi/deformed_body.dmi similarity index 100% rename from icons/mob/species/unathi/deformed_body_new.dmi rename to icons/mob/species/unathidigi/deformed_body.dmi diff --git a/icons/mob/species/unathidigi/eyes.dmi b/icons/mob/species/unathidigi/eyes.dmi new file mode 100644 index 00000000000..a06952bd270 Binary files /dev/null and b/icons/mob/species/unathidigi/eyes.dmi differ diff --git a/icons/mob/species/unathidigi/hair.dmi b/icons/mob/species/unathidigi/hair.dmi new file mode 100644 index 00000000000..eed76e6627c Binary files /dev/null and b/icons/mob/species/unathidigi/hair.dmi differ diff --git a/icons/mob/species/unathi/husk_new.dmi b/icons/mob/species/unathidigi/husk.dmi similarity index 100% rename from icons/mob/species/unathi/husk_new.dmi rename to icons/mob/species/unathidigi/husk.dmi diff --git a/icons/mob/species/unathidigi/organs.dmi b/icons/mob/species/unathidigi/organs.dmi new file mode 100644 index 00000000000..f5a0299d4ea Binary files /dev/null and b/icons/mob/species/unathidigi/organs.dmi differ diff --git a/icons/mob/species/unathidigi/preview.dmi b/icons/mob/species/unathidigi/preview.dmi new file mode 100644 index 00000000000..5ac177718d1 Binary files /dev/null and b/icons/mob/species/unathidigi/preview.dmi differ diff --git a/icons/mob/species/unathidigi/tail.dmi b/icons/mob/species/unathidigi/tail.dmi new file mode 100644 index 00000000000..d96d50c9b6d Binary files /dev/null and b/icons/mob/species/unathidigi/tail.dmi differ