diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 6bacc5c7..5d07c7f5 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -202,12 +202,12 @@ //GS13 - fullness alerts /obj/screen/alert/bloated name = "Bloated stomach" - desc = "Your stomach is a bit too full" + desc = "Your stomach is bloated, eating more would probably make your stomach pop." icon_state = "Stuffed" /obj/screen/alert/stuffed name = "Completely stuffed" - desc = "Whatever you ate, you ate too much. Your stomach has stretched to accomodate its contents, forming a very obvious belly" + desc = "Whatever you ate, you ate too much. Your stomach has stretched to accomodate its contents, forming a very obvious stuffed belly, eating more would cause hindered movement." icon_state = "Bloated" /obj/screen/alert/beegbelly diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 46130a49..61a27c10 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -128,7 +128,7 @@ return examine(user) //Start growing a human clone in the pod! -/obj/machinery/clonepod/proc/growclone(ckey, clonename, ui, mutation_index, mindref, datum/species/mrace, list/features, factions, list/quirks, experimental = FALSE) +/obj/machinery/clonepod/proc/growclone(ckey, clonename, ui, mutation_index, mindref, datum/species/mrace, list/features, factions, list/quirks, experimental = FALSE, fatness) if(panel_open) return FALSE if(mess || attempting) @@ -223,6 +223,9 @@ var/mob/living/current = clonemind.current //gets body of current mind if(!isnull(current)) size = current.size_multiplier * 100 + + if(fatness) + H.fatness_real = fatness return TRUE diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index ef98704f..35e71ace 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -76,7 +76,7 @@ if(pod.occupant) continue //how though? - if(pod.growclone(R.fields["ckey"], R.fields["name"], R.fields["UI"], R.fields["SE"], R.fields["mind"], R.fields["mrace"], R.fields["features"], R.fields["factions"], R.fields["quirks"])) + if(pod.growclone(R.fields["ckey"], R.fields["name"], R.fields["UI"], R.fields["SE"], R.fields["mind"], R.fields["mrace"], R.fields["features"], R.fields["factions"], R.fields["quirks"], fatness=R.fields["fatness"])) temp = "[R.fields["name"]] => Cloning cycle in progress..." records -= R @@ -416,7 +416,7 @@ else if(pod.occupant) temp = "Cloning cycle already in progress." playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) - else if(pod.growclone(C.fields["ckey"], C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["features"], C.fields["factions"], C.fields["quirks"])) + else if(pod.growclone(C.fields["ckey"], C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["features"], C.fields["factions"], C.fields["quirks"], fatness=C.fields["fatness"])) temp = "[C.fields["name"]] => Cloning cycle in progress..." playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) records.Remove(C) @@ -495,6 +495,11 @@ R.fields["features"] = dna.features R.fields["factions"] = mob_occupant.faction R.fields["quirks"] = list() + R.fields["fatness"] = FALSE + var/mob/living/carbon/human/human_occupant = mob_occupant + if(istype(human_occupant)) + R.fields["fatness"] = human_occupant.fatness_real + for(var/V in mob_occupant.roundstart_quirks) var/datum/quirk/T = V R.fields["quirks"][T.type] = T.clone_data() diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm index f013495b..0b150315 100644 --- a/code/modules/cargo/bounties/assistant.dm +++ b/code/modules/cargo/bounties/assistant.dm @@ -237,9 +237,9 @@ required_count = 5 wanted_types = list(/obj/structure/chair/plaswood) -/datum/bounty/item/assistant/condom - name = "Filled Condom" - description = "Something wack is happening at Central Command, and now they requested some filled condoms?" - reward = 1150 - required_count = 5 - wanted_types = list(/obj/item/condom/filled) \ No newline at end of file +//datum/bounty/item/assistant/condom +// name = "Filled Condom" +// description = "Something wack is happening at Central Command, and now they requested some filled condoms?" +// reward = 1150 +// required_count = 5 +// wanted_types = list(/obj/item/condom/filled) diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm index 5b5ff4c5..d233ded3 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm @@ -105,6 +105,14 @@ result = /obj/item/reagent_containers/food/snacks/baguette subcategory = CAT_MISCFOOD + +/datum/crafting_recipe/food/peel + name = "Peel Egg-Plants" + time = 20 + reqs = list(/obj/item/reagent_containers/food/snacks/grown/shell/eggy) + result = /obj/item/reagent_containers/food/snacks/egg + subcategory = CAT_MISCFOOD + ////////////////////////////////////////////////TOAST//////////////////////////////////////////////// /datum/crafting_recipe/food/slimetoast diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index c1db1314..2f4c540f 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1369,6 +1369,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(fatty, "You have become thin enough to regain some of your mobility.") REMOVE_TRAIT(fatty, TRAIT_NO_MOVE, HELPLESSNESS_TRAIT) + else + if(HAS_TRAIT_FROM(fatty, TRAIT_NO_MOVE, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_NO_MOVE, HELPLESSNESS_TRAIT) + if(preferences.helplessness_clumsy) if(!HAS_TRAIT_FROM(fatty, TRAIT_CLUMSY, HELPLESSNESS_TRAIT)) @@ -1380,6 +1384,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(fatty, "You feel like you have lost enough weight to recover your dexterity.") REMOVE_TRAIT(fatty, TRAIT_CLUMSY, HELPLESSNESS_TRAIT) + else + if(HAS_TRAIT_FROM(fatty, TRAIT_CLUMSY, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_CLUMSY, HELPLESSNESS_TRAIT) + if(preferences.helplessness_nearsighted) if(!HAS_TRAIT_FROM(fatty, TRAIT_NEARSIGHT, HELPLESSNESS_TRAIT)) @@ -1391,6 +1399,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(fatty, "You are thin enough to see your enviornment again. ") fatty.cure_nearsighted(HELPLESSNESS_TRAIT) + else + if(HAS_TRAIT_FROM(fatty, TRAIT_NEARSIGHT, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_NEARSIGHT, HELPLESSNESS_TRAIT) + if(preferences.helplessness_hidden_face) if(!HAS_TRAIT_FROM(fatty, TRAIT_DISFIGURED, HELPLESSNESS_TRAIT)) @@ -1402,6 +1414,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(fatty, "You have lost enough weight to allow people to now recognize your face.") REMOVE_TRAIT(fatty, TRAIT_DISFIGURED, HELPLESSNESS_TRAIT) + else + if(HAS_TRAIT_FROM(fatty, TRAIT_DISFIGURED, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_DISFIGURED, HELPLESSNESS_TRAIT) + if(preferences.helplessness_mute) if(!HAS_TRAIT_FROM(fatty, TRAIT_MUTE, HELPLESSNESS_TRAIT)) @@ -1413,6 +1429,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(fatty, "You are thin enough now to be able to speak again. ") REMOVE_TRAIT(fatty, TRAIT_MUTE, HELPLESSNESS_TRAIT) + else + if(HAS_TRAIT_FROM(fatty, TRAIT_MUTE, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_MUTE, HELPLESSNESS_TRAIT) + if(preferences.helplessness_immobile_arms) if(!HAS_TRAIT_FROM(fatty, TRAIT_PARALYSIS_L_ARM, HELPLESSNESS_TRAIT)) @@ -1428,6 +1448,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) REMOVE_TRAIT(fatty, TRAIT_PARALYSIS_R_ARM, HELPLESSNESS_TRAIT) fatty.update_disabled_bodyparts() + else + if(HAS_TRAIT_FROM(fatty, TRAIT_PARALYSIS_L_ARM, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_PARALYSIS_L_ARM, HELPLESSNESS_TRAIT) + if(preferences.helplessness_clothing_jumpsuit) if(!HAS_TRAIT_FROM(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT)) @@ -1443,6 +1467,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(fatty, "You feel thin enough to put on jumpsuits now. ") REMOVE_TRAIT(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT) + else + if(HAS_TRAIT_FROM(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT) + if(preferences.helplessness_clothing_misc) if(!HAS_TRAIT_FROM(fatty, TRAIT_NO_MISC, HELPLESSNESS_TRAIT)) @@ -1468,6 +1496,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(fatty, "You feel thin enough to put on suits, shoes, and gloves now. ") REMOVE_TRAIT(fatty, TRAIT_NO_MISC, HELPLESSNESS_TRAIT) + else + if(HAS_TRAIT_FROM(fatty, TRAIT_NO_MISC, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_NO_MISC, HELPLESSNESS_TRAIT) + if(preferences.helplessness_clothing_back) if(!HAS_TRAIT_FROM(fatty, TRAIT_NO_BACKPACK, HELPLESSNESS_TRAIT)) @@ -1482,6 +1514,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(fatty, "You feel thin enough to hold items on your back now. ") REMOVE_TRAIT(fatty, TRAIT_NO_BACKPACK, HELPLESSNESS_TRAIT) + else + if(HAS_TRAIT_FROM(fatty, TRAIT_NO_BACKPACK, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_NO_BACKPACK, HELPLESSNESS_TRAIT) + if(preferences.helplessness_no_buckle) if(!HAS_TRAIT_FROM(fatty, TRAIT_NO_BUCKLE, HELPLESSNESS_TRAIT)) @@ -1493,6 +1529,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) to_chat(fatty, "You feel thin enough to sit on things again. ") REMOVE_TRAIT(fatty, TRAIT_NO_BUCKLE, HELPLESSNESS_TRAIT) + else + if(HAS_TRAIT_FROM(fatty, TRAIT_NO_BUCKLE, HELPLESSNESS_TRAIT)) + REMOVE_TRAIT(fatty, TRAIT_NO_BUCKLE, HELPLESSNESS_TRAIT) + /datum/species/proc/handle_fatness(mob/living/carbon/human/H) handle_helplessness(H) diff --git a/hyperstation/code/modules/mob/dead/new_player/cosmetic_parts.dm b/hyperstation/code/modules/mob/dead/new_player/cosmetic_parts.dm new file mode 100644 index 00000000..7b71ff33 --- /dev/null +++ b/hyperstation/code/modules/mob/dead/new_player/cosmetic_parts.dm @@ -0,0 +1,163 @@ +/* +COSMETIC PARTS + +this system allows you to change the _base_ appearance of a limb independent +of species or markings. this, for example, allows us to create "hybrids" like a +mammal with avian legs. + +keep in mind that this does not change the species of a leg! in the above example, +the mammal's bird-legs are still mammal legs. this matters in some places, like +body part transplants; mis-matched species will cause extra damage if the surgery +fails and the part is rejected. so you can't attach mammal-bird legs to avians +safely. +*/ + +/datum/cosmetic_part + /** A unique string that is used to identify this part for save files. Allows name changes without breaking saves */ + var/id + /** The name of the cosmetic part. This shows up in the preferences dropdown. */ + var/name + var/icon = 'hyperstation/icons/mob/char_parts.dmi' + var/icon_state + /** How colors are determined for this part. MUTCOLORS for base color, MATRIXED to allow multiple channels. */ + var/color_src = MUTCOLORS + /** Whether or not this cosmetic part has an alternate form for digitigrade legs. */ + var/support_digitigrade = TRUE + /** + WE + HATE + GENDER!!!!!!!!!! + */ + var/support_gender = null + /** Species IDs that support this cosmetic part. Bypassed with "show mismatched markings" option. */ + var/list/supported_species + +/datum/cosmetic_part/head +/datum/cosmetic_part/chest +/datum/cosmetic_part/arms +/datum/cosmetic_part/legs + +// HEADS +// ========================================= + +/datum/cosmetic_part/head/default + id = "default" + name = "default" + icon = null + +/datum/cosmetic_part/head/ipc_round + id = "ipc_round" + name = "round ipc head" + icon_state = "ipc_round" + supported_species = list("ipc") + support_gender = FALSE + + +// CHESTS +// ========================================= + +/datum/cosmetic_part/chest/default + id = "default" + name = "default" + icon = null + +/datum/cosmetic_part/chest/ipc_sleek + id = "ipc_sleek" + name = "sleek ipc chest" + icon_state = "ipc_sleek" + supported_species = list("ipc") + color_src = MATRIXED + support_gender = FALSE + +/datum/cosmetic_part/chest/ipc_jointed + id = "ipc_jointed" + name = "jointed ipc chest" + icon_state = "ipc_jointed" + supported_species = list("ipc") + color_src = MATRIXED + support_gender = FALSE + + +// ARMS +// ========================================= + +/datum/cosmetic_part/arms/default + id = "default" + name = "default" + icon = null + +/datum/cosmetic_part/arms/avian_alt + id = "avian_alt" + name = "avian claws" + icon_state = "avian_alt" + supported_species = list("mammal", "avian", "aquatic", "insect", "xeno", "synthliz") + +/datum/cosmetic_part/arms/insect + id = "insect" + name = "insect arms" + icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' + icon_state = "insect" + supported_species = list("mammal", "avian", "aquatic", "insect", "xeno", "synthliz") + +/datum/cosmetic_part/arms/ipc_sleek + id = "ipc_sleek" + name = "sleek ipc arms" + icon_state = "ipc_sleek" + supported_species = list("ipc") + color_src = MATRIXED + +/datum/cosmetic_part/arms/ipc_jointed + id = "ipc_jointed" + name = "jointed ipc arms" + icon_state = "ipc_jointed" + supported_species = list("ipc") + color_src = MATRIXED + + +// LEGS +// ========================================= + +/datum/cosmetic_part/legs/default + id = "default" + name = "default" + icon = null + +/datum/cosmetic_part/legs/avian + id = "avian" + name = "avian legs" + icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' + icon_state = "avian" + supported_species = list("mammal", "avian", "aquatic", "insect", "xeno", "synthliz") + support_digitigrade = FALSE + +/datum/cosmetic_part/legs/mammal + id = "mammal" + name = "mammal legs" + icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' + icon_state = "mammal" + supported_species = list("mammal", "avian", "aquatic", "insect", "xeno", "synthliz") + support_digitigrade = TRUE + +/datum/cosmetic_part/legs/insect + id = "insect" + name = "insect legs" + icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' + icon_state = "insect" + supported_species = list("mammal", "avian", "aquatic", "insect", "xeno", "synthliz") + support_digitigrade = TRUE + +/datum/cosmetic_part/legs/ipc_sleek + id = "ipc_sleek" + name = "sleek ipc legs" + icon_state = "ipc_sleek" + supported_species = list("ipc") + color_src = MATRIXED + support_digitigrade = FALSE + +/datum/cosmetic_part/legs/ipc_jointed + id = "ipc_jointed" + name = "jointed ipc legs" + icon_state = "ipc_jointed" + supported_species = list("ipc") + color_src = MATRIXED + support_digitigrade = FALSE diff --git a/hyperstation/code/modules/mob/dead/new_player/roleplay.dm b/hyperstation/code/modules/mob/dead/new_player/roleplay.dm new file mode 100644 index 00000000..e69de29b diff --git a/hyperstation/code/modules/mob/dead/new_player/sprite_accessories.dm b/hyperstation/code/modules/mob/dead/new_player/sprite_accessories.dm new file mode 100644 index 00000000..932d4780 --- /dev/null +++ b/hyperstation/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -0,0 +1,575 @@ +/* +from modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm: +/datum/sprite_accessory + var/extra = FALSE + var/extra_color_src = MUTCOLORS2 //The color source for the extra overlay. + var/extra2 = FALSE + var/extra_icon = 'modular_citadel/icons/mob/mam_tails.dmi' + var/extra2_icon = 'modular_citadel/icons/mob/mam_tails.dmi' + var/extra2_color_src = MUTCOLORS3 + var/list/ckeys_allowed + +we use the "citadel" versions of mutant/species parts, which usually (but not always) +begins with "mam_" somewhere. stuff that's built for only humans/lizards in other parts +of the code are from TG, don't use those. + +keep everything in alphabetical order, please! +*/ + +// TODO: code it so that we don't have to type in "icon = 'hyperstation/icons/mob/etc'" +// manually for hyperstation parts + + +/* +SNOUTS +========================================================== +*/ + +/datum/sprite_accessory/mam_snouts/bigmandible // sarcoph @ hyperstation, march 2022 + name = "Big Mandibles (Hyper)" + icon_state = "bigmandible" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_snouts/proboscis // sarcoph @ hyperstation, march 2022 + name = "Proboscis (Hyper)" + icon_state = "proboscis" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_snouts/rhinobeetle // sarcoph @ hyperstation, march 2022 + name = "Rhino Beetle (Hyper)" + icon_state = "rhinobeetle" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_snouts/scarab // sarcoph @ hyperstation, march 2022 + name = "Scarab Beetle (Hyper)" + icon_state = "scarab" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_snouts/smallmandible // sarcoph @ hyperstation, march 2022 + name = "Small Mandibles (Hyper)" + icon_state = "smallmandible" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_snouts/spider // sarcoph @ hyperstation, march 2022 + name = "Spider (Hyper)" + icon_state = "spider" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_snouts/tarantula // sarcoph @ hyperstation, march 2022 + name = "Tarantula (Hyper)" + icon_state = "tarantula" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_snouts/easterndragon + name = "Eastern Dragon (Hyper)" + icon_state = "easterndw" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + +/datum/sprite_accessory/mam_snouts/feasterndragon + name = "Eastern Dragon (Top) (Hyper)" + icon_state = "feasterndw" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + +/datum/sprite_accessory/mam_snouts/easterndragonnowhiskers + name = "Eastern Dragon - No Whiskers (Hyper)" + icon_state = "easterndnw" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + +/datum/sprite_accessory/mam_snouts/feasterndragonnowhiskers + name = "Eastern Dragon - No Whiskers (Top) (Hyper)" + icon_state = "feasterndnw" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + +/datum/sprite_accessory/mam_snouts/knshuttle // Dahlular and Arcstaisia @ hyperstation, april 2022. Feel free to remove comment. Just remember this is snowflakey Kinaris stuff. + name = "Kinaris - Shuttle (Hyper)" + icon_state = "knshuttle" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + +/datum/sprite_accessory/mam_snouts/fchemlight + name = "RadDog (Top) (Hyper)" + icon_state = "fchemlight" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + +/datum/sprite_accessory/mam_snouts/chemlight + name = "RadDog (Hyper)" + icon_state = "chemlight" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + +/datum/sprite_accessory/mam_snouts/pinata + name = "pinata (Hyper)" + icon_state = "pinata" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + +/datum/sprite_accessory/mam_snouts/pinatasmile + name = "pinata Smile (Hyper)" + icon_state = "pinatasmile" + icon = 'hyperstation/icons/mob/char_snouts.dmi' + +/* +EARS +========================================================== +*/ + +/datum/sprite_accessory/mam_ears/faceant // sarcoph @ hyperstation, march 2022 + name = "Face Antennae (Hyper)" + icon_state = "faceant" + icon = 'hyperstation/icons/mob/char_ears.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_ears/faceant2 // sarcoph @ hyperstation, march 2022 + name = "Face Antennae 2 (Hyper)" + icon_state = "faceant2" + icon = 'hyperstation/icons/mob/char_ears.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_ears/moth + name = "Moth Antennae (Hyper)" + icon_state = "moth" + icon = 'hyperstation/icons/mob/char_ears.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_ears/plumeant // sarcoph @ hyperstation, march 2022 + name = "Plume Antennae (Hyper)" + icon_state = "plumeant" + icon = 'hyperstation/icons/mob/char_ears.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_ears/roundant // sarcoph @ hyperstation, march 2022 + name = "Round Antennae (Hyper)" + icon_state = "roundant" + icon = 'hyperstation/icons/mob/char_ears.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_ears/thinant // sarcoph @ hyperstation, march 2022 + name = "Thin Antennae (Hyper)" + icon_state = "thinant" + icon = 'hyperstation/icons/mob/char_ears.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_ears/easterndragon + name = "Eastern Dragon (Hyper)" + icon_state = "easternd" + icon = 'hyperstation/icons/mob/char_ears.dmi' + +/datum/sprite_accessory/mam_ears/knshuttle // Dahlular and Arcstaisia @ hyperstation, april 2022. Feel free to remove comment. Just remember this is snowflakey Kinaris stuff. + name = "Kinaris - Shuttle (Hyper)" + icon_state = "knshuttle" + icon = 'hyperstation/icons/mob/char_ears.dmi' + +/datum/sprite_accessory/mam_ears/chemlight + name = "RadDog (Hyper)" + icon_state = "chemlight" + icon = 'hyperstation/icons/mob/char_ears.dmi' + +/* +WINGS +========================================================== +*/ + +/datum/sprite_accessory/deco_wings/beetle // sarcoph @ hyperstation, march 2022 + name = "Beetle (Hyper)" + icon_state = "beetle" + icon = 'hyperstation/icons/mob/char_wings.dmi' + +/datum/sprite_accessory/moth_wings/beetle + name = "Beetle (Hyper)" + icon_state = "beetle" + icon = 'hyperstation/icons/mob/char_wings.dmi' + +/datum/sprite_accessory/deco_wings/beetle2 // sarcoph @ hyperstation, march 2022 + name = "Beetle - 2-toned (Hyper)" + icon_state = "beetle2" + icon = 'hyperstation/icons/mob/char_wings.dmi' + color_src = MATRIXED + +/datum/sprite_accessory/moth_wings/beetle2 + name = "Beetle - 2-toned (Hyper)" + icon_state = "beetle2" + icon = 'hyperstation/icons/mob/char_wings.dmi' + color_src = MATRIXED + +/datum/sprite_accessory/deco_wings/insect // sarcoph @ hyperstation, march 2022 + name = "Insect (Hyper)" + icon_state = "insect" + icon = 'hyperstation/icons/mob/char_wings.dmi' + +/datum/sprite_accessory/moth_wings/insect + name = "Insect (Hyper)" + icon_state = "insect" + icon = 'hyperstation/icons/mob/char_wings.dmi' + +/datum/sprite_accessory/deco_wings/knshuttle // Dahlular and Arcstaisia @ hyperstation, april 2022. Feel free to remove comment. Just remember this is snowflakey Kinaris stuff. + name = "Kinaris - Shuttle (Hyper)" + icon_state = "knshuttle" + icon = 'hyperstation/icons/mob/char_wings.dmi' + //recommended_species = list("synthliz") need to give synths a deco wing slot + color_src = MATRIXED + +/datum/sprite_accessory/deco_wings/minibat // sarcoph @ hyperstation, march 2022 + name = "Mini Bat (Hyper)" + icon_state = "minibat" + icon = 'hyperstation/icons/mob/char_wings.dmi' + +/datum/sprite_accessory/deco_wings/minifeather // sarcoph @ hyperstation, march 2022 + name = "Mini Feather (Hyper)" + icon_state = "minifeather" + icon = 'hyperstation/icons/mob/char_wings.dmi' + +/datum/sprite_accessory/deco_wings/tinybat // sarcoph @ hyperstation, march 2022 + name = "Tiny Bat (Hyper)" + icon_state = "tinybat" + icon = 'hyperstation/icons/mob/char_wings.dmi' + +/datum/sprite_accessory/deco_wings/tinyfeather // sarcoph @ hyperstation, march 2022 + name = "Tiny Feather (Hyper)" + icon_state = "tinyfeather" + icon = 'hyperstation/icons/mob/char_wings.dmi' + +/datum/sprite_accessory/deco_wings/sylveon // Aphast @ hyperstation, november 2022 + name = "Sylveon Ribbons" + icon_state = "sylveon_bow" + icon = 'hyperstation/icons/mob/char_wings.dmi' + color_src = MATRIXED + +/datum/sprite_accessory/horns/sylveon // Aphast @ hyperstation, november 2022, best place to put this due to being a pair and no horn slots here + name = "Sylveon Bow" + icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi' + icon_state = "sylveon_bow" + color_src = MATRIXED + +/* +TAILS + ANIMATED TAILS +========================================================== +*/ + +/datum/sprite_accessory/mam_tails/bee // sarcoph @ hyperstation, march 2022 + name = "Bee (Hyper)" + icon_state = "bee" + icon = 'hyperstation/icons/mob/char_tails.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_tails_animated/bee + name = "Bee (Hyper)" + icon_state = "bee" + icon = 'hyperstation/icons/mob/char_tails.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_tails/bee2 // sarcoph @ hyperstation, march 2022 + name = "Bee w/ Stinger (Hyper)" + icon_state = "bee2" + icon = 'hyperstation/icons/mob/char_tails.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_tails_animated/bee2 + name = "Bee w/ Stinger (Hyper)" + icon_state = "bee2" + icon = 'hyperstation/icons/mob/char_tails.dmi' + recommended_species = list("insect") + +// "fan" bird tail, short +/datum/sprite_accessory/mam_tails/shorthawk // sarcoph @ hyperstation, jan 2022 + name = "Hawk - Short (Hyper)" + icon_state = "shorthawk" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails_animated/shorthawk + name = "Hawk - Short (Hyper)" + icon_state = "shorthawk" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails/insect // sarcoph @ hyperstation, march 2022 + name = "Insect (Hyper)" + icon_state = "insect" + icon = 'hyperstation/icons/mob/char_tails.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_tails_animated/insect + name = "Insect (Hyper)" + icon_state = "insect" + icon = 'hyperstation/icons/mob/char_tails.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_tails/bug2tone // sarcoph @ hyperstation, march 2022 + name = "Insect - 2-tone (Hyper)" + icon_state = "bug2tone" + icon = 'hyperstation/icons/mob/char_tails.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_tails_animated/bug2tone + name = "Insect - 2-tone (Hyper)" + icon_state = "bug2tone" + icon = 'hyperstation/icons/mob/char_tails.dmi' + recommended_species = list("insect") + +// "narrow" bird tail, long +/datum/sprite_accessory/mam_tails/longpigeon // sarcoph @ hyperstation, jan 2022 + name = "Pigeon - Long (Hyper)" + icon_state = "longpigeon" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails_animated/longpigeon + name = "Pigeon - Long (Hyper)" + icon_state = "longpigeon" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +// "narrow" bird tail, short +/datum/sprite_accessory/mam_tails/shortpigeon // sarcoph @ hyperstation, jan 2022 + name = "Pigeon - Short (Hyper)" + icon_state = "shortpigeon" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails_animated/shortpigeon + name = "Pigeon - Short (Hyper)" + icon_state = "shortpigeon" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +// "forked" bird tail, long +/datum/sprite_accessory/mam_tails/swallow // sarcoph @ hyperstation, jan 2022 + name = "Swallow (Hyper)" + icon_state = "swallow" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails_animated/swallow + name = "Swallow (Hyper)" + icon_state = "swallow" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +// forked bird tail, long; special stripe markings +/datum/sprite_accessory/mam_tails/swallowstriped // sarcoph @ hyperstation, jan 2022 + name = "Swallow - Striped (Hyper)" + icon_state = "swallowstriped" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails_animated/swallowstriped + name = "Swallow - Striped (Hyper)" + icon_state = "swallowstriped" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails/easterndragon //Pulled base from Virgo, seriously love the server and love you guys, stay lovely. + name = "Eastern Dragon (Hyper)" + icon_state = "easternd" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails_animated/easterndragon + name = "Eastern Dragon (Hyper)" + icon_state = "easternd" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails/knshuttle // Dahlular and Arcstaisia @ hyperstation, april 2022. Feel free to remove comment. Just remember this is snowflakey Kinaris stuff. + name = "Kinaris - Shuttle (Hyper)" + icon_state = "knshuttle" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails_animated/knshuttle + name = "Kinaris - Shuttle (Hyper)" + icon_state = "knshuttle" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails/chemlight + name = "RadDog (Hyper)" + icon_state = "chemlight" + icon = 'hyperstation/icons/mob/char_tails.dmi' + +/datum/sprite_accessory/mam_tails_animated/chemlight + name = "RadDog (Hyper)" + icon_state = "chemlight" + icon = 'hyperstation/icons/mob/char_tails.dmi' + + +/* +BODY MARKINGS +========================================================== +*/ + +/* +from modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm: +/datum/sprite_accessory/mam_body_markings + extra = FALSE + extra2 = FALSE + color_src = MATRIXED + gender_specific = 0 + icon = 'modular_citadel/icons/mob/mam_markings.dmi' + recommended_species = list("mammal", "xeno", "slimeperson", "podweak", "avian", "aquatic") +*/ + +/datum/sprite_accessory/mam_body_markings/bee // sarcoph @ hyperstation, march 2022 + name = "Bee (Hyper)" + icon_state = "bee" + icon = 'hyperstation/icons/mob/char_markings.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_body_markings/bee_fluff // sarcoph @ hyperstation, march 2022 + name = "Bee - Fluffy (Hyper)" + icon_state = "bee_fluff" + icon = 'hyperstation/icons/mob/char_markings.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_body_markings/bug3tone // sarcoph @ hyperstation, march 2022 + name = "Beetle - 3-tone (Hyper)" + icon_state = "bug3tone" + icon = 'hyperstation/icons/mob/char_markings.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_body_markings/moth // sarcoph @ hyperstation, jan 2022 + name = "Moth (Hyper)" + icon_state = "moth" + icon = 'hyperstation/icons/mob/char_markings.dmi' + recommended_species = list("insect") + +/datum/sprite_accessory/mam_body_markings/empty + name = "None (Hyper)" + icon_state = "empty" + recommended_species = list("podweak", /*"mammal",*/ "avian", "aquatic", "insect", "xeno", "synthliz", "slimeperson") + // mammals are cursed to no empty markings until they get their heads fixed. + +/datum/sprite_accessory/mam_body_markings/pigeon // sarcoph @ hyperstation, jan 2022 + name = "Pigeon (Hyper)" + icon_state = "pigeon" + icon = 'hyperstation/icons/mob/char_markings.dmi' + recommended_species = list("avian") + +/datum/sprite_accessory/mam_body_markings/shrike // sarcoph @ hyperstation, jan 2022 + name = "Shrike (Hyper)" + icon_state = "shrike" + icon = 'hyperstation/icons/mob/char_markings.dmi' + recommended_species = list("avian") + +/datum/sprite_accessory/mam_body_markings/easterndragon + name = "Eastern Dragon (Hyper)" + icon_state = "easternd" + icon = 'hyperstation/icons/mob/char_markings.dmi' + +/datum/sprite_accessory/mam_body_markings/knshuttle // Dahlular and Arcstaisia @ hyperstation, april 2022. Feel free to remove comment. Just remember this is snowflakey Kinaris stuff. + name = "Kinaris - Shuttle (Hyper)" + icon_state = "knshuttle" + icon = 'hyperstation/icons/mob/char_markings.dmi' + +//doged was here +/datum/sprite_accessory/mam_body_markings/chemlight + name = "RadDog (Hyper)" + icon_state = "chemlight" + icon = 'hyperstation/icons/mob/char_markings.dmi' + +//racc do a code maybe it won't explode +/datum/sprite_accessory/mam_body_markings/raccalt + name = "RaccAlt (Hyper)" + icon_state = "raccalt" + icon = 'hyperstation/icons/mob/char_markings.dmi' + +/datum/sprite_accessory/mam_body_markings/pinata + name = "pinata (Hyper)" + icon_state = "pinata" + icon = 'hyperstation/icons/mob/char_markings.dmi' + +/* +TAUR BODIES +========================================================== +*/ + +/* +from modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm: +/datum/sprite_accessory/taur + icon = 'modular_citadel/icons/mob/mam_taur.dmi' + extra_icon = 'modular_citadel/icons/mob/mam_taur.dmi' + extra = TRUE + extra2_icon = 'modular_citadel/icons/mob/mam_taur.dmi' + extra2 = TRUE + center = TRUE + dimension_x = 64 + var/taur_mode = NOT_TAURIC + color_src = MATRIXED + recommended_species = list("human", "lizard", "insect", "mammal", "xeno", "jelly", "slimeperson", "podweak", "avian", "aquatic") +*/ +/datum/sprite_accessory/taur/chemnaga //Chemlight experimental sprites for future spriting + name = "RadDog Naga (Hyper)" + icon_state = "chemnaga" + taur_mode = SNEK_TAURIC + ckeys_allowed = list("chemlight") + +/datum/sprite_accessory/taur/chemlight + name = "RadDog Taur (Hyper)" + icon_state = "chemlight" + taur_mode = PAW_TAURIC + ckeys_allowed = list("chemlight") + + +/* +IPCS +========================================================== +*/ + +/* +from modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm: + +/datum/sprite_accessory/antenna + icon = 'modular_citadel/icons/mob/ipc_antennas.dmi' + color_src = MUTCOLORS3 + recommended_species = list("ipc") + +/datum/sprite_accessory/screen + icon = 'modular_citadel/icons/mob/ipc_screens.dmi' + color_src = null +*/ + +/datum/sprite_accessory/antenna/idog_down + name = "Dog, down (Hyper)" + icon_state = "idog_down" + color_src = MATRIXED + +/datum/sprite_accessory/antenna/idog_up + name = "Dog, up (Hyper)" + icon_state = "idog_up" + color_src = MATRIXED + +/datum/sprite_accessory/antenna/headset + name = "Headphones (Hyper)" + icon_state = "headset" + color_src = MATRIXED + +/datum/sprite_accessory/antenna/aquatic + name = "Fins (Hyper)" + icon_state = "aquatic" + color_src = MATRIXED + +/datum/sprite_accessory/screen/ghost + name = "Ghost (Hyper)" + icon_state = "ghost" + +/datum/sprite_accessory/screen/heartbeat + name = "Heartbeat (Hyper)" + icon_state = "heartbeat" + +/datum/sprite_accessory/screen/ocean + name = "Ocean (Hyper)" + icon_state = "ocean" + +/datum/sprite_accessory/antenna/catears + name = "Pointy Ears (Hyper)" + icon_state = "catears" + color_src = MATRIXED + +/datum/sprite_accessory/screen/valley + name = "Valley (Hyper)" + icon_state = "valley" + +/* +BEARDS +========================================================== +*/ + +/* +/datum/sprite_accessory/facial_hair + icon = 'icons/mob/human_face.dmi' + gender = MALE // barf (unless you're a dorf, dorfs dig chix w/ beards :P) +*/ + +/datum/sprite_accessory/facial_hair/mane + name = "Neckfluff (Hyper)" + icon_state = "facial_neckfluff" diff --git a/hyperstation/icons/mob/char_ears.dmi b/hyperstation/icons/mob/char_ears.dmi new file mode 100644 index 00000000..b4b572a0 Binary files /dev/null and b/hyperstation/icons/mob/char_ears.dmi differ diff --git a/hyperstation/icons/mob/char_markings.dmi b/hyperstation/icons/mob/char_markings.dmi new file mode 100644 index 00000000..5aff5e4d Binary files /dev/null and b/hyperstation/icons/mob/char_markings.dmi differ diff --git a/hyperstation/icons/mob/char_parts.dmi b/hyperstation/icons/mob/char_parts.dmi new file mode 100644 index 00000000..4982376a Binary files /dev/null and b/hyperstation/icons/mob/char_parts.dmi differ diff --git a/hyperstation/icons/mob/char_snouts.dmi b/hyperstation/icons/mob/char_snouts.dmi new file mode 100644 index 00000000..92b3163d Binary files /dev/null and b/hyperstation/icons/mob/char_snouts.dmi differ diff --git a/hyperstation/icons/mob/char_tails.dmi b/hyperstation/icons/mob/char_tails.dmi new file mode 100644 index 00000000..0695ae63 Binary files /dev/null and b/hyperstation/icons/mob/char_tails.dmi differ diff --git a/hyperstation/icons/mob/char_wings.dmi b/hyperstation/icons/mob/char_wings.dmi new file mode 100644 index 00000000..49feac58 Binary files /dev/null and b/hyperstation/icons/mob/char_wings.dmi differ diff --git a/icons/emoji.dmi b/icons/emoji.dmi index 33059f2a..278ef57d 100644 Binary files a/icons/emoji.dmi and b/icons/emoji.dmi differ diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index f5751d0d..ca6a7a97 100644 Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index 0c5359fa..af482fc0 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -254,7 +254,7 @@ datum/gear/lyricalpawsring name = "Empty Toolbelt" category = SLOT_IN_BACKPACK path = /obj/item/storage/belt/utility - ckeywhitelist = list("Killmewitha22") + ckeywhitelist = list("killmewitha22") /obj/item/toy/sword/chloesabre/halsey name = "Halsey's Sabre" diff --git a/tgstation.dme b/tgstation.dme index 2618e0d8..7416e1e3 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3220,6 +3220,9 @@ #include "hyperstation\code\modules\mining\shelters.dm" #include "hyperstation\code\modules\mining\equipment\survival_pod.dm" #include "hyperstation\code\modules\mob\mob_helpers.dm" +#include "hyperstation\code\modules\mob\dead\new_player\cosmetic_parts.dm" +#include "hyperstation\code\modules\mob\dead\new_player\roleplay.dm" +#include "hyperstation\code\modules\mob\dead\new_player\sprite_accessories.dm" #include "hyperstation\code\modules\mob\living\status_indicators.dm" #include "hyperstation\code\modules\mob\living\silicon\robot\robot.dm" #include "hyperstation\code\modules\mob\living\silicon\robot\robot_modules.dm"