diff --git a/citadel.dme b/citadel.dme index d9fff80cfd1f..8045b2031ec9 100644 --- a/citadel.dme +++ b/citadel.dme @@ -2936,12 +2936,12 @@ #include "code\modules\language\languages\species\adherent.dm" #include "code\modules\language\languages\species\akula.dm" #include "code\modules\language\languages\species\alraune.dm" -#include "code\modules\language\languages\species\altevian.dm" #include "code\modules\language\languages\species\birdsong.dm" #include "code\modules\language\languages\species\celestial.dm" #include "code\modules\language\languages\species\diona.dm" #include "code\modules\language\languages\species\human.dm" #include "code\modules\language\languages\species\keisani.dm" +#include "code\modules\language\languages\species\krisitik.dm" #include "code\modules\language\languages\species\moth.dm" #include "code\modules\language\languages\species\naramadi.dm" #include "code\modules\language\languages\species\phoronoid.dm" @@ -4446,6 +4446,7 @@ #include "code\modules\species\station\standard\akula.dm" #include "code\modules\species\station\standard\human.dm" #include "code\modules\species\station\standard\human_subspecies.dm" +#include "code\modules\species\station\standard\krisitik.dm" #include "code\modules\species\station\standard\moth.dm" #include "code\modules\species\station\standard\naramadi.dm" #include "code\modules\species\station\standard\nevrean.dm" diff --git a/code/__DEFINES/inventory/bodytypes.dm b/code/__DEFINES/inventory/bodytypes.dm index 7ff9548807aa..60b3c39cd06e 100644 --- a/code/__DEFINES/inventory/bodytypes.dm +++ b/code/__DEFINES/inventory/bodytypes.dm @@ -60,6 +60,8 @@ #define BODYTYPE_XENOHYBRID "xenohybrid" /// digitigrade unathi #define BODYTYPE_UNATHI_DIGI "unathi-digi" +/// krisitik +#define BODYTYPE_KRISITIK "krisitik" //! keep this number (count) up to date #define BODYTYPES_TOTAL 19 @@ -112,6 +114,7 @@ #define BODYTYPE_STRING_PHORONOID "phoronoid" #define BODYTYPE_STRING_WEREBEAST "werebeast" #define BODYTYPE_STRING_XENOHYBRID "xenohybrid" +#define BODYTYPE_STRING_KRISITIK "krisitik" //Currently Unused until I can do Suit Sprites /proc/bodytype_to_string(bodytype) // todo: assoc list lookup @@ -154,5 +157,7 @@ return BODYTYPE_STRING_WEREBEAST if(BODYTYPE_XENOHYBRID) return BODYTYPE_STRING_XENOHYBRID + if(BODYTYPE_KRISITIK) + return BODYTYPE_STRING_VULPKANIN //Borrowing Vulp Sprites until I can sprite all the space suits. else CRASH("unknown bodytype: [bodytype]") diff --git a/code/__DEFINES/languages/ids.dm b/code/__DEFINES/languages/ids.dm index f4ee6f66a0e3..33231003b3cd 100644 --- a/code/__DEFINES/languages/ids.dm +++ b/code/__DEFINES/languages/ids.dm @@ -23,8 +23,6 @@ #define LANGUAGE_ID_ADHERENT "adherent" /// akula #define LANGUAGE_ID_AKULA "akula" -/// altevians -#define LANGUAGE_ID_ALTEVIAN "altevian" /// ???????? #define LANGUAGE_ID_BIRDSONG "birdsong" /// aurils @@ -45,6 +43,8 @@ #define LANGUAGE_ID_NARAMADI "naramadi" /// phoronoids #define LANGUAGE_ID_PHORONOID "phoronoid" +/// krisitik +#define LANGUAGE_ID_SQUEAKISH "squeakish" /// shadekin #define LANGUAGE_ID_SHADEKIN_HIVEMIND "shadekin_global" /// skrell diff --git a/code/__DEFINES/species/species.dm b/code/__DEFINES/species/species.dm index bc47f0e1b5bd..b26ff8e66f6a 100644 --- a/code/__DEFINES/species/species.dm +++ b/code/__DEFINES/species/species.dm @@ -18,6 +18,7 @@ #define SPECIES_ID_HUMAN_GRAV "human_grav" #define SPECIES_ID_HUMAN_SPACE "human_space" #define SPECIES_ID_HUMAN_VAT "human_vat" +#define SPECIES_ID_KRISITIK "krisitik" #define SPECIES_ID_MONKEY "monkey" #define SPECIES_ID_MOTH "moth" #define SPECIES_ID_MOTH_DARK "moth_dark" @@ -95,6 +96,7 @@ #define SPECIES_HUMAN_GRAV "grav-adapted Human" #define SPECIES_HUMAN_SPACER "space-adapted Human" #define SPECIES_HUMAN_VATBORN "Vatborn" +#define SPECIES_KRISITIK "Krisitik" #define SPECIES_MONKEY "Monkey" #define SPECIES_MONKEY_AKULA "Sobaka" #define SPECIES_MONKEY_NEVREAN "Sparra" diff --git a/code/game/machinery/suit_storage/suit_cycler.dm b/code/game/machinery/suit_storage/suit_cycler.dm index e0a6abcbdf15..b4b7c4aa84de 100644 --- a/code/game/machinery/suit_storage/suit_cycler.dm +++ b/code/game/machinery/suit_storage/suit_cycler.dm @@ -26,7 +26,7 @@ //Departments that the cycler can paint suits to look like. var/list/departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control","Director","Head of Security", "No Change") //Species that the suits can be configured to fit. - var/list/species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_ALRAUNE, SPECIES_NEVREAN, SPECIES_RAPALA, SPECIES_SERGAL, SPECIES_VASILISSAN, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VOX, SPECIES_AURIL, SPECIES_DREMACHIR, SPECIES_APIDAEN) + var/list/species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_ALRAUNE, SPECIES_NEVREAN, SPECIES_RAPALA, SPECIES_SERGAL, SPECIES_VASILISSAN, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VOX, SPECIES_AURIL, SPECIES_DREMACHIR, SPECIES_APIDAEN, SPECIES_KRISITIK) var/target_department var/target_species @@ -252,7 +252,7 @@ //Clear the access reqs, disable the safeties, and open up all paintjobs. to_chat(user, "You run the sequencer across the interface, corrupting the operating protocols.") departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Crowd Control","Emergency Medical Response","^%###^%$", "Charring", "No Change") - species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_ALRAUNE, SPECIES_NEVREAN, SPECIES_RAPALA, SPECIES_SERGAL, SPECIES_VASILISSAN, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VOX, SPECIES_AURIL, SPECIES_DREMACHIR, SPECIES_APIDAEN) + species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_ALRAUNE, SPECIES_NEVREAN, SPECIES_RAPALA, SPECIES_SERGAL, SPECIES_VASILISSAN, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VOX, SPECIES_AURIL, SPECIES_DREMACHIR, SPECIES_APIDAEN, SPECIES_KRISITIK) emagged = 1 safeties = 0 diff --git a/code/modules/catalogue/catalogue_data.dm b/code/modules/catalogue/catalogue_data.dm index ad7644189a68..4384759d3f0b 100644 --- a/code/modules/catalogue/catalogue_data.dm +++ b/code/modules/catalogue/catalogue_data.dm @@ -229,6 +229,24 @@ GLOBAL_DATUM_INIT(catalogue_data, /datum/category_collection/catalogue, new) and as such many things about them have yet to be comprehensively studied." value = CATALOGUER_REWARD_TRIVIAL +/datum/category_item/catalogue/fauna/krisitik + name = "Sapients - Krisitik" + desc = "Krisitik are a species of subterranean mammals from the planet of Murith. \ + Their unstable genetics mean the species has a varied appearance, though they \ + can generally be described as murine. Their unstable genetics also mean \ + they are prone to cancers and lethal mutations, which is aggravated by the species' \ + reliance on nuclear energy. \ +

\ + Their society is highly competitive, and the frequent disasters in their underground \ + cities mean the species as a whole has a degree of paranoia far above average for \ + most sapients, instinctively prepping for any kind of disaster. \ +

\ + Even before their discovery of FTL, the Krisitik had a very advanced society. \ + Their discovery of FTL was likely delayed due to the subterranean nature of Krisitik \ + society and the toxic atmosphere of their homeworld. This edge has meant the Krisitik \ + have faired better as an independent species than other 'newcomers' to the galaxy. " + value = CATALOGUER_REWARD_TRIVIAL + /datum/category_item/catalogue/fauna/vox name = "Sapients - Vox" desc = "Probably the best known of these aliens are the Vox, a bird-like species \ diff --git a/code/modules/hardsuits/rig_pieces.dm b/code/modules/hardsuits/rig_pieces.dm index c4070fef4f73..14cab10a5182 100644 --- a/code/modules/hardsuits/rig_pieces.dm +++ b/code/modules/hardsuits/rig_pieces.dm @@ -26,6 +26,7 @@ SPECIES_AURIL, SPECIES_DREMACHIR, SPECIES_HUMAN, + SPECIES_KRISITIK, SPECIES_NEVREAN, SPECIES_PHORONOID, SPECIES_PROMETHEAN, @@ -63,6 +64,7 @@ SPECIES_AURIL, SPECIES_DREMACHIR, SPECIES_HUMAN, + SPECIES_KRISITIK, SPECIES_NEVREAN, SPECIES_PHORONOID, SPECIES_PROMETHEAN, @@ -103,6 +105,7 @@ SPECIES_AURIL, SPECIES_DREMACHIR, SPECIES_HUMAN, + SPECIES_KRISITIK, SPECIES_NEVREAN, SPECIES_PHORONOID, SPECIES_PROMETHEAN, @@ -155,6 +158,7 @@ SPECIES_AURIL, SPECIES_DREMACHIR, SPECIES_HUMAN, + SPECIES_KRISITIK, SPECIES_NEVREAN, SPECIES_PHORONOID, SPECIES_PROMETHEAN, diff --git a/code/modules/language/languages/species/altevian.dm b/code/modules/language/languages/species/altevian.dm deleted file mode 100644 index 81e1522d3ed9..000000000000 --- a/code/modules/language/languages/species/altevian.dm +++ /dev/null @@ -1,13 +0,0 @@ -/datum/language/squeakish - id = LANGUAGE_ID_ALTEVIAN - name = LANGUAGE_SQUEAKISH - translation_class = TRANSLATION_CLASS_DEFAULT_STANDARD_RACE - desc = "A language native to the Altevians, it has been adopted by other rodent faring species over time." - key = "E" - colour = "squeakish" - speech_verb = "squeaks" - whisper_verb = "squiks" - exclaim_verb = "squeaks loudly" - syllables = list ("sque", "uik", "squeak", "squee", "eak", "eek", "uek", "squik", - "squeek", "sq", "eek", "squeee", "ee", "ek", "ak", "ueak", "squea") - shorthand = "SQ" diff --git a/code/modules/language/languages/species/krisitik.dm b/code/modules/language/languages/species/krisitik.dm new file mode 100644 index 000000000000..f20761bd1cf4 --- /dev/null +++ b/code/modules/language/languages/species/krisitik.dm @@ -0,0 +1,17 @@ +/datum/language/squeakish + id = LANGUAGE_ID_SQUEAKISH + name = LANGUAGE_SQUEAKISH + translation_class = TRANSLATION_CLASS_DEFAULT_STANDARD_RACE + desc = "A language native to the Krisitik. It is composed of many squeakish whistles and nuzzles that is very hard to learn for non-native speakers. \ + It has in recent times adopted words from Tyrmalin." + key = "E" + colour = "squeakish" + speech_verb = "squeaks" + whisper_verb = "squiks" + exclaim_verb = "squeaks loudly" + syllables = list ("sque", "uik", "squeak", "squee", "eak", "uek", "squik", + "squeek", "sq", "eek", "ee", "ek", "ak", "ueak", "squea", "tik", + "kris", "it", "rus", "gris", "mur", "ith", "vol", "voth", "nar", + "ik", "ine", "quol", "quee", "zre", "tch", "ol", "sk", "rat", + "arc", "cra", "kr", "ah", "sin", "si") + shorthand = "SQ" diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm index 851aafc70aca..2432afa01cbf 100644 --- a/code/modules/mob/living/carbon/human/human_species.dm +++ b/code/modules/mob/living/carbon/human/human_species.dm @@ -81,3 +81,6 @@ /mob/living/carbon/human/adherent species = /datum/species/adherent + +/mob/living/carbon/human/krisitik + species = /datum/species/krisitik diff --git a/code/modules/species/station/standard/krisitik.dm b/code/modules/species/station/standard/krisitik.dm new file mode 100644 index 000000000000..67cc3db42f19 --- /dev/null +++ b/code/modules/species/station/standard/krisitik.dm @@ -0,0 +1,70 @@ +/datum/species/krisitik + uid = SPECIES_ID_KRISITIK + id = SPECIES_ID_KRISITIK + name = SPECIES_KRISITIK + name_plural = SPECIES_KRISITIK + default_bodytype = BODYTYPE_KRISITIK + + icobase = 'icons/mob/species/krisitik/body.dmi' + deform = 'icons/mob/species/krisitik/body.dmi' // They don't have a proper one for some reason... + preview_icon = 'icons/mob/species/krisitik/preview.dmi' + husk_icon = 'icons/mob/species/krisitik/husk.dmi' + + tail = "tail" + icobase_tail = 1 + + max_additional_languages = 3 + name_language = LANGUAGE_ID_SQUEAKISH + intrinsic_languages = LANGUAGE_ID_SQUEAKISH + + vision_innate = /datum/vision/baseline/species_tier_2 + + color_mult = 1 + + blurb = {" + Krisitik are a race of subterranean murine people from the Perseus Arm. Already significantly advanced + even before developing FTL, the Krisitik have exploded onto the galaxy using their mastery of nuclear technology + to bridge the gap between them and the galactic superpowers. The crowding in the massive underground\ + cities of their toxic homeworld of Murith has led many Krisitik to emigrate to their colonies or towards the + corporate frontier. As their isolationist government becomes more open, this emigration is only increasing. + + The Krisitik are highly varied people owing to their unstable genetics, which can result in lethal defects + if left untreated. They are a competitive, survivalist, and paranoid people known to stretch, bend, and + break the rules if it means being prepared for disasters to come, even if they are unlikely."} + + + // wikilink = "" + catalogue_data = list(/datum/category_item/catalogue/fauna/krisitik) + + + species_spawn_flags = SPECIES_SPAWN_CHARACTER + species_appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR + + flesh_color = "#AFA59E" + base_color = "B2B2B2" + + slowdown = -0.35 + + brute_mod = 1.1 + burn_mod = 1.1 + flash_mod = 1.5 //Cave creatures don't like bright lights + radiation_mod = 0.75 //Hardened Genes + + gluttonous = 1 + + max_age = 100 + + unarmed_types = list( + /datum/unarmed_attack/stomp, + /datum/unarmed_attack/kick, + /datum/unarmed_attack/claws, + /datum/unarmed_attack/bite/sharp, + ) + + inherent_verbs = list( + /mob/living/proc/shred_limb, + /mob/living/carbon/human/proc/tie_hair, + /mob/living/carbon/human/proc/hide_horns, + /mob/living/carbon/human/proc/hide_wings, + /mob/living/carbon/human/proc/hide_tail, + ) diff --git a/icons/mob/species/krisitik/body.dmi b/icons/mob/species/krisitik/body.dmi new file mode 100644 index 000000000000..3e64b0e768d4 Binary files /dev/null and b/icons/mob/species/krisitik/body.dmi differ diff --git a/icons/mob/species/krisitik/husk.dmi b/icons/mob/species/krisitik/husk.dmi new file mode 100644 index 000000000000..cbd1ec1ec583 Binary files /dev/null and b/icons/mob/species/krisitik/husk.dmi differ diff --git a/icons/mob/species/krisitik/preview.dmi b/icons/mob/species/krisitik/preview.dmi new file mode 100644 index 000000000000..014b76abe6b3 Binary files /dev/null and b/icons/mob/species/krisitik/preview.dmi differ