From a90d5c8eff9eed08356817f2b29992337b9145bd Mon Sep 17 00:00:00 2001 From: AlManiak Date: Thu, 24 Oct 2024 14:27:48 +0200 Subject: [PATCH 1/9] Added Big gulps --- .../drinks/drinks/drinkingglass.dm | 52 +++++++++++++++++++ ...utolathe_designs_medical_and_dinnerware.dm | 41 +++++++++++++++ code/modules/vending/boozeomat.dm | 6 ++- 3 files changed, 98 insertions(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index f51530a972..4eab03a37d 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -132,3 +132,55 @@ reagents.clear_reagents() return +//GS 13 - Port +/obj/item/reagent_containers/food/drinks/flask/paper_cup + name = "paper cup" + icon = 'GainStation13/icons/obj/paper_cups.dmi' + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50) + volume = 50 + reagent_flags = OPENCONTAINER + spillable = TRUE + container_HP = 5 + + pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' + drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/small + name = "Small Gulp Cup" + desc = "A paper cup. It can hold up to 50 units. It's not very strong." + icon_state = "small" + materials = list(MAT_PLASTIC=200) + w_class = WEIGHT_CLASS_SMALL + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/medium + name = "Medium Gulp Cup" + desc = "It's a paper cup, but you wouldn't call it 'medium' though. It can hold up to 75 units. It's not very strong." + icon_state = "medium" + volume = 75 + materials = list(MAT_PLASTIC=300) + w_class = WEIGHT_CLASS_SMALL + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/big + name = "Big Gulp Cup" + desc = "A huge paper cup, a normal person would struggle to drink it all in one sitting. It can hold up to 120 units. It's not very strong." + icon_state = "big" + volume = 120 + materials = list(MAT_PLASTIC=500) + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big + name = "Extra Big Gulp Cup" + desc = "A comically large paper cup. It can hold up to 160 units. It's not very strong." + icon_state = "extra_big" + volume = 160 + materials = list(MAT_PLASTIC=600) + w_class = WEIGHT_CLASS_BULKY + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/super_extra_big + name = "Super Extra Big Gulp Cup" + desc = "Its called a paper 'cup', but it looks more like an oversized bucket to you. It can hold up to 250 units. It's not very strong." + icon_state = "super_extra_big" + volume = 250 + materials = list(MAT_PLASTIC=1000) + w_class = WEIGHT_CLASS_HUGE diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm index fbfd626ae7..a32af4d9a7 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm @@ -77,6 +77,47 @@ build_path = /obj/item/reagent_containers/food/drinks/shaker category = list("initial","Dinnerware") +//GS13 Port - Add gulp cups +/datum/design/small_cup + name = "Small Gulp Cup" + id = "Small_Gulp" + build_type = AUTOLATHE + materials = list(MAT_PLASTIC=200) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/small + category = list("initial","Dinnerware") + +/datum/design/medium_cup + name = "Medium Gulp Cup" + id = "Medium_Gulp" + build_type = AUTOLATHE + materials = list(MAT_PLASTIC=300) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/medium + category = list("initial","Dinnerware") + +/datum/design/small_cup + name = "Big Gulp Cup" + id = "Big_Gulp" + build_type = AUTOLATHE + materials = list(MAT_PLASTIC=500) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/big + category = list("initial","Dinnerware") + +/datum/design/extra_big_cup + name = "Extra Big Gulp Cup" + id = "Extra_Big_Gulp" + build_type = AUTOLATHE + materials = list(MAT_PLASTIC=600) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big + category = list("initial","Dinnerware") + +/datum/design/super_extra_big_cup + name = "Super Extra Big Gulp Cup" + id = "Super_Extra_Big_Gulp" + build_type = AUTOLATHE + materials = list(MAT_PLASTIC=1000) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/super_extra_big + category = list("initial","Dinnerware") + //////////// ///Medical// //////////// diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm index c3e5f6ce0e..a71cc8750f 100644 --- a/code/modules/vending/boozeomat.dm +++ b/code/modules/vending/boozeomat.dm @@ -35,7 +35,11 @@ /obj/item/reagent_containers/food/drinks/soda_cans/sol_dry = 8, /obj/item/reagent_containers/food/drinks/ice = 10, /obj/item/reagent_containers/food/drinks/flask = 3, - /obj/item/reagent_containers/food/drinks/beer = 6) + /obj/item/reagent_containers/food/drinks/beer = 6, + /obj/item/reagent_containers/food/drinks/flask/paper_cup/small = 20, + /obj/item/reagent_containers/food/drinks/flask/paper_cup/medium = 20, + /obj/item/reagent_containers/food/drinks/flask/paper_cup/big = 20, + /obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big = 15) contraband = list(/obj/item/reagent_containers/food/drinks/mug/tea = 12, /obj/item/reagent_containers/food/drinks/bottle/fernet = 5) premium = list(/obj/item/reagent_containers/glass/bottle/ethanol = 4, From 19f4c34381b037a4d0ad39c69a3955fcb27bca72 Mon Sep 17 00:00:00 2001 From: AlManiak Date: Thu, 24 Oct 2024 17:03:27 +0200 Subject: [PATCH 2/9] Added Big Gulps Fixed earshattering fryer sound overshadowing ding sound --- code/datums/looping_sounds/machinery_sounds.dm | 9 +-------- .../drinks/drinks/drinkingglass.dm | 11 +++++------ .../autolathe_designs_medical_and_dinnerware.dm | 10 +++++----- sound/items/handling/cardboardbox_drop.ogg | Bin 0 -> 7134 bytes sound/items/handling/cardboardbox_pickup.ogg | Bin 0 -> 9824 bytes 5 files changed, 11 insertions(+), 19 deletions(-) create mode 100644 sound/items/handling/cardboardbox_drop.ogg create mode 100644 sound/items/handling/cardboardbox_pickup.ogg diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index 6edb0ab5ea..4dfc65946b 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -54,7 +54,7 @@ mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1) mid_length = 2 end_sound = 'sound/machines/fryer/deep_fryer_emerge.ogg' - volume = 15 + volume = 5 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -66,13 +66,6 @@ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -/datum/looping_sound/deep_fryer - mid_length = 2 - mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1) - volume = 30 - -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /datum/looping_sound/microwave start_sound = 'sound/machines/microwave/microwave-start.ogg' start_length = 10 diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 4eab03a37d..204f7b01a9 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -142,7 +142,6 @@ reagent_flags = OPENCONTAINER spillable = TRUE container_HP = 5 - pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' @@ -150,7 +149,7 @@ name = "Small Gulp Cup" desc = "A paper cup. It can hold up to 50 units. It's not very strong." icon_state = "small" - materials = list(MAT_PLASTIC=200) + custom_materials = list(/datum/material/plastic=200) w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/drinks/flask/paper_cup/medium @@ -158,7 +157,7 @@ desc = "It's a paper cup, but you wouldn't call it 'medium' though. It can hold up to 75 units. It's not very strong." icon_state = "medium" volume = 75 - materials = list(MAT_PLASTIC=300) + custom_materials = list(/datum/material/plastic=300) w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/drinks/flask/paper_cup/big @@ -166,7 +165,7 @@ desc = "A huge paper cup, a normal person would struggle to drink it all in one sitting. It can hold up to 120 units. It's not very strong." icon_state = "big" volume = 120 - materials = list(MAT_PLASTIC=500) + custom_materials = list(/datum/material/plastic=500) w_class = WEIGHT_CLASS_NORMAL /obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big @@ -174,7 +173,7 @@ desc = "A comically large paper cup. It can hold up to 160 units. It's not very strong." icon_state = "extra_big" volume = 160 - materials = list(MAT_PLASTIC=600) + custom_materials = list(/datum/material/plastic=600) w_class = WEIGHT_CLASS_BULKY /obj/item/reagent_containers/food/drinks/flask/paper_cup/super_extra_big @@ -182,5 +181,5 @@ desc = "Its called a paper 'cup', but it looks more like an oversized bucket to you. It can hold up to 250 units. It's not very strong." icon_state = "super_extra_big" volume = 250 - materials = list(MAT_PLASTIC=1000) + custom_materials = list(/datum/material/plastic=1000) w_class = WEIGHT_CLASS_HUGE diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm index a32af4d9a7..ed598fbee7 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm @@ -82,7 +82,7 @@ name = "Small Gulp Cup" id = "Small_Gulp" build_type = AUTOLATHE - materials = list(MAT_PLASTIC=200) + materials = list(/datum/material/plastic=200) build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/small category = list("initial","Dinnerware") @@ -90,7 +90,7 @@ name = "Medium Gulp Cup" id = "Medium_Gulp" build_type = AUTOLATHE - materials = list(MAT_PLASTIC=300) + materials = list(/datum/material/plastic=300) build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/medium category = list("initial","Dinnerware") @@ -98,7 +98,7 @@ name = "Big Gulp Cup" id = "Big_Gulp" build_type = AUTOLATHE - materials = list(MAT_PLASTIC=500) + materials = list(/datum/material/plastic=500) build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/big category = list("initial","Dinnerware") @@ -106,7 +106,7 @@ name = "Extra Big Gulp Cup" id = "Extra_Big_Gulp" build_type = AUTOLATHE - materials = list(MAT_PLASTIC=600) + materials = list(/datum/material/plastic=600) build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big category = list("initial","Dinnerware") @@ -114,7 +114,7 @@ name = "Super Extra Big Gulp Cup" id = "Super_Extra_Big_Gulp" build_type = AUTOLATHE - materials = list(MAT_PLASTIC=1000) + materials = list(/datum/material/plastic=1000) build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/super_extra_big category = list("initial","Dinnerware") diff --git a/sound/items/handling/cardboardbox_drop.ogg b/sound/items/handling/cardboardbox_drop.ogg new file mode 100644 index 0000000000000000000000000000000000000000..7070ba1c3422012e9a44b689346a177fefa914ae GIT binary patch literal 7134 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 u_02a$hs}!wnp?7U4nC;C}!pCPUT$ literal 0 HcmV?d00001 diff --git a/sound/items/handling/cardboardbox_pickup.ogg b/sound/items/handling/cardboardbox_pickup.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aa4e72129b0d21219d29df9980086eb22b62a832 GIT binary patch literal 9824 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 W4FSl>%v*o=wfyELAaTqv@P7bUyanC> literal 0 HcmV?d00001 From bba2ef4de6434efe16cbf1d136498983761fd779 Mon Sep 17 00:00:00 2001 From: AlManiak Date: Thu, 24 Oct 2024 18:02:10 +0200 Subject: [PATCH 3/9] Added missing traits in heat extra productive genitals headpat slut Do Not Clone Strong Legs universal diet --- code/__DEFINES/traits.dm | 7 +++ .../mood_events/generic_negative_events.dm | 6 ++ code/datums/traits/good.dm | 2 +- code/datums/traits/negative.dm | 9 +++ code/datums/traits/neutral.dm | 57 +++++++++++++++++++ code/game/machinery/computer/cloning.dm | 5 ++ .../mob/living/carbon/carbon_defense.dm | 40 +++++++++---- .../mob/living/carbon/human/examine.dm | 5 ++ hyperstation/code/modules/traits.dm | 1 - tgstation.dme | 1 + 10 files changed, 121 insertions(+), 12 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 18ecc5942c..2bc634bb61 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -289,6 +289,13 @@ #define TRAIT_WATER_SPONGE "water_sponge" #define TRAIT_FATROUSAL "fatrousal" +//GS13 Port +#define TRAIT_HEADPAT_SLUT "headpat_slut" +#define TRAIT_NEVER_CLONE "donotclone" +#define TRAIT_HEAT "heat" +#define TRAIT_DISTANT "headpat_hater" +#define TRAIT_CUM_PLUS "cum_plus" + // mobility flag traits // IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it) // BUT FOR NOW, THESE ARE HOOKED TO DO update_mobility() VIA COMSIG IN living_mobility.dm diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 680d48f8bf..22cff78624 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -335,3 +335,9 @@ description = "Those darn savages!\n" mood_change = -5 timeout = 2 MINUTES + +//GS13 Port +/datum/mood_event/lewd_headpat + description = "I love headpats so much!\n" + mood_change = 3 + timeout = 2 MINUTES diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm index 5b00d2e71e..e0793e952a 100644 --- a/code/datums/traits/good.dm +++ b/code/datums/traits/good.dm @@ -190,7 +190,7 @@ // Get targets var/obj/item/organ/eyes/old_eyes = quirk_holder.getorganslot(ORGAN_SLOT_EYES) var/obj/item/organ/eyes/robotic/glow/new_eyes = new - + // Replace eyes qdel(old_eyes) new_eyes.Insert(quirk_holder) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 6a68334c85..659fccdb1e 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -464,6 +464,15 @@ GLOBAL_LIST_EMPTY(family_heirlooms) lose_text = "Your mind finally feels calm." medical_record_text = "Patient's mind is in a vulnerable state, and cannot recover from traumatic events." +//GS13 Port +//Port from Shadow +/datum/quirk/donotclone + name = "DNC" + desc = "You have filed a Do Not Clone order, stating that you do not wish to be cloned. You can still be revived by other means." + value = -2 + mob_trait = TRAIT_NEVER_CLONE + medical_record_text = "Patient has a DNC (Do not clone) order on file, and cannot be cloned as a result." + /datum/quirk/blindness name = "Blind" desc = "You are completely blind, nothing can counteract this." diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index e5a41c7b7b..20caf514ea 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -162,6 +162,7 @@ gain_text = "You feel like munching on a can of soda." lose_text = "You no longer feel like you should be eating trash." mob_trait = TRAIT_TRASHCAN + medical_record_text = "Patient has been observed eating inedible garbage." // GS13 EDIT START /datum/quirk/trashcan/add() @@ -188,3 +189,59 @@ /datum/quirk/dullahan/post_add() quirk_holder.AddComponent(/datum/component/dullahan) + +//GS13 Port +/datum/quirk/inheat + name = "In Heat" + desc = "Your system burns with the desire to be bred, your body will betray you and alert others' to your desire when examining you. Satisfying your lust will make you happy, but ignoring it may cause you to become sad and needy." + value = 0 + mob_trait = TRAIT_HEAT + gain_text = "You body burns with the desire to be bred." + lose_text = "You feel more in control of your body and thoughts." + +/datum/quirk/headpat_slut + name = "Headpat Slut" + desc = "You like headpats, alot, maybe even a little bit too much. Headpats give you a bigger mood boost and cause arousal" + mob_trait = TRAIT_HEADPAT_SLUT + value = 0 + medical_record_text = "Patient seems overly affectionate." + +/datum/quirk/headpat_hater + name = "Distant" + desc = "You don't seem to show much care for being touched. Whether it's because you're reserved or due to self control, you won't wag your tail outside of your own control should you possess one." + mob_trait = TRAIT_DISTANT + value = 0 + medical_record_text = "Patient cares little with or dislikes being touched." + +/datum/quirk/universal_diet + name = "Universal diet" + desc = "You are fine with eating just about anything normally edible, you have no strong dislikes in food. Toxic food will still hurt you, though." + value = 0 + gain_text = "You feel like you can eat any food type." + lose_text = "You start to dislike certain food types again." + medical_record_text = "Patient reports no strong dietary dislikes." + +/datum/quirk/universal_diet/add() + var/mob/living/carbon/human/H = quirk_holder + var/datum/species/species = H.dna.species + species.disliked_food = null + +/datum/quirk/universal_diet/remove() + var/mob/living/carbon/human/H = quirk_holder + if(H) + var/datum/species/species = H.dna.species + species.disliked_food = initial(species.disliked_food) + +/datum/quirk/fatness_liker //GS13 + name = "Fat Affinity" + desc = "You like being fat, alot, maybe even a little bit too much. Being fat gives you a bigger mood boost." + mob_trait = TRAIT_FAT_GOOD + value = 0 + medical_record_text = "Patient seems overly content with gaining weight." + +/datum/quirk/fatness_hater //GS13 + name = "Fat Aversion" + desc = "You dislike being fat. Being fat brings your mood down, alot." + mob_trait = TRAIT_FAT_BAD + value = 0 + medical_record_text = "Patient seems distressed by gaining weight." diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index e9bdce6679..9b2d5b6f5d 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -413,6 +413,11 @@ if(!can_scan(dna, mob_occupant, FALSE, has_bank_account)) return + if(HAS_TRAIT(mob_occupant, TRAIT_NEVER_CLONE)) + scantemp = "Subject has an active DNC record on file. Unable to clone." + playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0) + return + var/datum/data/record/R = new() if(dna.species) // We store the instance rather than the path, because some diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index e6aa6abf45..ce240c0e35 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -297,19 +297,39 @@ else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD) var/datum/species/S if(ishuman(src)) + var/mob/living/carbon/human/H = src S = dna.species - M.visible_message("[M] gives [src] a pat on the head to make [p_them()] feel better!", \ - "You give [src] a pat on the head to make [p_them()] feel better!", target = src, - target_message = "[M] gives you a pat on the head to make you feel better!") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat) + if(HAS_TRAIT(src, TRAIT_DISTANT)) //No mood buff since you're not really liking it. + M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better! They seem annoyed...", \ + "You give [H] a pat on the head to make [p_them()] feel better! They seem annoyed as they're now glaring towards you...") + H.adjustArousal(-5) //Why are you touching me? + if(prob(5)) + M.visible_message("[H] quickly twists [M]\'s arm!", \ + "Your arm gets twisted in [H]\'s grasp. Maybe you should have taken the hint...") + playsound(get_turf(H), 'sound/weapons/thudswoosh.ogg', 50, 1, -1) + M.emote("scream") + M.dropItemToGround(M.get_active_held_item()) + M.apply_damage(50, STAMINA, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) + M.Knockdown(60)//STOP TOUCHING ME! For those spam head pat individuals + else if(HAS_TRAIT(H, TRAIT_HEADPAT_SLUT)) + M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better! They seem incredibly pleased!", \ + "You give [H] a pat on the head to make [p_them()] feel better! They seem to like it way too much") + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "lewd_headpat", /datum/mood_event/lewd_headpat) + H.adjustArousal(5) //Headpats are hot af + else + M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better!", \ + "You give [H] a pat on the head to make [p_them()] feel better!") + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat) + friendly_check = TRUE - if(!(client?.prefs.cit_toggles & NO_AUTO_WAG)) - if(S?.can_wag_tail(src) && !dna.species.is_wagging_tail()) - var/static/list/many_tails = list("tail_human", "tail_lizard", "mam_tail") - for(var/T in many_tails) - if(S.mutant_bodyparts[T] && dna.features[T] != "None") - emote("wag") + if(!(HAS_TRAIT(src, TRAIT_DISTANT))) + if(!(client?.prefs.cit_toggles & NO_AUTO_WAG)) + if(S?.can_wag_tail(src) && !dna.species.is_wagging_tail()) + var/static/list/many_tails = list("tail_human", "tail_lizard", "mam_tail") + for(var/T in many_tails) + if(S.mutant_bodyparts[T] && dna.features[T] != "None") + emote("wag") else if(check_zone(M.zone_selected) == BODY_ZONE_R_ARM || check_zone(M.zone_selected) == BODY_ZONE_L_ARM) if((pulling == M) && (grab_state == GRAB_PASSIVE)) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index d727d9cfff..4aeb1daa86 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -107,6 +107,11 @@ if(wear_id) . += "[t_He] [t_is] wearing [wear_id.get_examine_string(user)]." + //GS13 Port + //Heat Detection + //if(breedable) + if(HAS_TRAIT(src, TRAIT_HEAT)) + . += "[t_He] [t_is] currently in heat." //Status effects var/effects_exam = status_effect_examines() if(!isnull(effects_exam)) diff --git a/hyperstation/code/modules/traits.dm b/hyperstation/code/modules/traits.dm index 60d97af45a..cd0844fffb 100644 --- a/hyperstation/code/modules/traits.dm +++ b/hyperstation/code/modules/traits.dm @@ -5,7 +5,6 @@ name = "Extra productive genitals" desc = "Your lower bits produce more and hold more than normal." value = 0 - category = CATEGORY_SEXUAL mob_trait = TRAIT_CUM_PLUS gain_text = "You feel pressure in your groin." lose_text = "You feel a weight lifted from your groin." diff --git a/tgstation.dme b/tgstation.dme index 9a03dfd2cd..ccc42eae71 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4075,6 +4075,7 @@ #include "hyperstation\code\modules\resize\sizechems.dm" #include "hyperstation\code\modules\resize\sizegun.dm" #include "hyperstation\code\modules\surgery\organs\augments_arms.dm" +#include "hyperstation\code\modules\traits.dm" #include "hyperstation\code\obj\ashtray.dm" #include "hyperstation\code\obj\decal.dm" #include "hyperstation\code\obj\fleshlight.dm" From 30f539cb69ba6594cabe12e8b702064c888d858b Mon Sep 17 00:00:00 2001 From: AlManiak Date: Thu, 24 Oct 2024 19:33:18 +0200 Subject: [PATCH 4/9] Fixed DNC Fixed Arousal enabled when in prefs disabled --- code/game/machinery/computer/cloning.dm | 8 ++++---- code/modules/client/preferences.dm | 6 ++++++ code/modules/mob/living/carbon/carbon_defense.dm | 9 ++++----- code/modules/mob/living/carbon/human/species.dm | 7 ------- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 9b2d5b6f5d..78c4789e68 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -410,12 +410,12 @@ if(isbrain(mob_occupant)) dna = B.stored_dna - if(!can_scan(dna, mob_occupant, FALSE, has_bank_account)) + if(HAS_TRAIT(mob_occupant, TRAIT_NEVER_CLONE)) + scantemp = "Subject has an active DNC record on file. Unable to clone." + playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0) return - if(HAS_TRAIT(mob_occupant, TRAIT_NEVER_CLONE)) - scantemp = "Subject has an active DNC record on file. Unable to clone." - playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0) + if(!can_scan(dna, mob_occupant, FALSE, has_bank_account)) return var/datum/data/record/R = new() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 82f533df3b..88c00ccbbf 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -3704,6 +3704,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(character.custom_body_size) character.resize(character.custom_body_size) + //GS13 Port - Add back arousal + if(NOAROUSAL in pref_species.species_traits) + character.canbearoused = FALSE + else + character.canbearoused = arousable + //speech stuff if(custom_tongue != "default") var/new_tongue = GLOB.roundstart_tongues[custom_tongue] diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index ce240c0e35..0f1f307242 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -296,11 +296,10 @@ else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD) var/datum/species/S + S = dna.species if(ishuman(src)) var/mob/living/carbon/human/H = src - S = dna.species - - if(HAS_TRAIT(src, TRAIT_DISTANT)) //No mood buff since you're not really liking it. + if(HAS_TRAIT(H, TRAIT_DISTANT)) //No mood buff since you're not really liking it. M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better! They seem annoyed...", \ "You give [H] a pat on the head to make [p_them()] feel better! They seem annoyed as they're now glaring towards you...") H.adjustArousal(-5) //Why are you touching me? @@ -315,12 +314,12 @@ else if(HAS_TRAIT(H, TRAIT_HEADPAT_SLUT)) M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better! They seem incredibly pleased!", \ "You give [H] a pat on the head to make [p_them()] feel better! They seem to like it way too much") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "lewd_headpat", /datum/mood_event/lewd_headpat) + SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "lewd_headpat", /datum/mood_event/lewd_headpat) H.adjustArousal(5) //Headpats are hot af else M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better!", \ "You give [H] a pat on the head to make [p_them()] feel better!") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat) + SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat) friendly_check = TRUE if(!(HAS_TRAIT(src, TRAIT_DISTANT))) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index b62a7f5277..a7113c1a06 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -546,13 +546,6 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species) - //GS13 Port - Add back arousal - if(NOAROUSAL in species_traits) - C.canbearoused = FALSE - else - if(C.client) - C.canbearoused = C.client?.prefs?.arousable - /datum/species/proc/update_species_slowdown(mob/living/carbon/human/H) H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/species, TRUE, multiplicative_slowdown = speedmod) From 7a53d88f6735c4f3858cf7bda1f0703f89c4aa4b Mon Sep 17 00:00:00 2001 From: AlManiak Date: Fri, 25 Oct 2024 12:41:16 +0200 Subject: [PATCH 5/9] Put lewd headpat in wrong file --- code/datums/mood_events/generic_negative_events.dm | 6 ------ code/datums/mood_events/generic_positive_events.dm | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 22cff78624..680d48f8bf 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -335,9 +335,3 @@ description = "Those darn savages!\n" mood_change = -5 timeout = 2 MINUTES - -//GS13 Port -/datum/mood_event/lewd_headpat - description = "I love headpats so much!\n" - mood_change = 3 - timeout = 2 MINUTES diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index b0d73615b9..227cc2722c 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -225,3 +225,9 @@ description = "The gods are pleased with this offering!\n" mood_change = 5 timeout = 3 MINUTES + +//GS13 Port +/datum/mood_event/lewd_headpat + description = "I love headpats so much!\n" + mood_change = 3 + timeout = 2 MINUTES From 800f0d35a74033dbece1d274de3526ef57d5f977 Mon Sep 17 00:00:00 2001 From: AlManiak Date: Fri, 25 Oct 2024 15:36:10 +0200 Subject: [PATCH 6/9] Tweaked extra productive genitals, amounts had a different baseline old code vs new code, causing climaxing to not spill onto floor --- code/modules/arousal/organs/testicles.dm | 1 + hyperstation/code/modules/traits.dm | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/arousal/organs/testicles.dm b/code/modules/arousal/organs/testicles.dm index 2fdb0fb2c2..d47020c8b2 100644 --- a/code/modules/arousal/organs/testicles.dm +++ b/code/modules/arousal/organs/testicles.dm @@ -6,6 +6,7 @@ zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_TESTICLES size = BALLS_SIZE_MIN + fluid_max_volume = 10 arousal_verb = "Your balls ache a little" unarousal_verb = "Your balls finally stop aching, again" linked_organ_slot = ORGAN_SLOT_PENIS diff --git a/hyperstation/code/modules/traits.dm b/hyperstation/code/modules/traits.dm index cd0844fffb..c7c8d169b4 100644 --- a/hyperstation/code/modules/traits.dm +++ b/hyperstation/code/modules/traits.dm @@ -15,14 +15,14 @@ if(M?.getorganslot("testicles")) var/obj/item/organ/genital/testicles/T = M?.getorganslot("testicles") T?.fluid_mult = 1.5 //Base is 1 - T?.fluid_max_volume = 5 + T?.fluid_max_volume = 20 /datum/quirk/cum_plus/remove() var/mob/living/carbon/M = quirk_holder if(quirk_holder.getorganslot("testicles")) var/obj/item/organ/genital/testicles/T = M?.getorganslot("testicles") T?.fluid_mult = 1 //Base is 1 - T?.fluid_max_volume = 3 //Base is 3 + T?.fluid_max_volume = 10 //Base is 3 /datum/quirk/cum_plus/on_process() var/mob/living/carbon/M = quirk_holder //If you get balls later, then this will still proc @@ -30,4 +30,4 @@ var/obj/item/organ/genital/testicles/T = M?.getorganslot("testicles") if(T?.fluid_max_volume <= 5 || T?.fluid_mult <= 0.2) //INVALID EXPRESSION? T?.fluid_mult = 1.5 //Base is 0.133 - T?.fluid_max_volume = 5 + T?.fluid_max_volume = 20 From e86c52cb2b999f0894318aac43f90e05ff085e38 Mon Sep 17 00:00:00 2001 From: AlManiak Date: Mon, 28 Oct 2024 16:50:08 +0100 Subject: [PATCH 7/9] Moved ported functionality to GS13 code when applicable --- .../code/datums/mood_events/needs_events.dm | 6 ++ GainStation13/code/datums/traits.dm | 64 +++++++++++++++++++ GainStation13/code/obj/items/minor_items.dm | 52 +++++++++++++++ .../mood_events/generic_positive_events.dm | 6 -- code/datums/traits/negative.dm | 9 --- code/datums/traits/neutral.dm | 56 ---------------- .../drinks/drinks/drinkingglass.dm | 52 --------------- 7 files changed, 122 insertions(+), 123 deletions(-) diff --git a/GainStation13/code/datums/mood_events/needs_events.dm b/GainStation13/code/datums/mood_events/needs_events.dm index 880b45f95f..102a3c2d9b 100644 --- a/GainStation13/code/datums/mood_events/needs_events.dm +++ b/GainStation13/code/datums/mood_events/needs_events.dm @@ -5,3 +5,9 @@ /datum/mood_event/fat_good description = "I'm so fat!\n" mood_change = 4 + +//GS13 Port +/datum/mood_event/lewd_headpat + description = "I love headpats so much!\n" + mood_change = 3 + timeout = 2 MINUTES diff --git a/GainStation13/code/datums/traits.dm b/GainStation13/code/datums/traits.dm index 40f5b77b57..87ee915516 100644 --- a/GainStation13/code/datums/traits.dm +++ b/GainStation13/code/datums/traits.dm @@ -94,3 +94,67 @@ if(H) var/datum/species/species = H.dna.species species.disliked_food = initial(species.disliked_food) + +//GS13 Port +//Port from Shadow +/datum/quirk/donotclone + name = "DNC" + desc = "You have filed a Do Not Clone order, stating that you do not wish to be cloned. You can still be revived by other means." + value = -2 + mob_trait = TRAIT_NEVER_CLONE + medical_record_text = "Patient has a DNC (Do not clone) order on file, and cannot be cloned as a result." + +/datum/quirk/inheat + name = "In Heat" + desc = "Your system burns with the desire to be bred, your body will betray you and alert others' to your desire when examining you. Satisfying your lust will make you happy, but ignoring it may cause you to become sad and needy." + value = 0 + mob_trait = TRAIT_HEAT + gain_text = "You body burns with the desire to be bred." + lose_text = "You feel more in control of your body and thoughts." + +/datum/quirk/headpat_slut + name = "Headpat Slut" + desc = "You like headpats, alot, maybe even a little bit too much. Headpats give you a bigger mood boost and cause arousal" + mob_trait = TRAIT_HEADPAT_SLUT + value = 0 + medical_record_text = "Patient seems overly affectionate." + +/datum/quirk/headpat_hater + name = "Distant" + desc = "You don't seem to show much care for being touched. Whether it's because you're reserved or due to self control, you won't wag your tail outside of your own control should you possess one." + mob_trait = TRAIT_DISTANT + value = 0 + medical_record_text = "Patient cares little with or dislikes being touched." + +/datum/quirk/universal_diet + name = "Universal diet" + desc = "You are fine with eating just about anything normally edible, you have no strong dislikes in food. Toxic food will still hurt you, though." + value = 0 + gain_text = "You feel like you can eat any food type." + lose_text = "You start to dislike certain food types again." + medical_record_text = "Patient reports no strong dietary dislikes." + +/datum/quirk/universal_diet/add() + var/mob/living/carbon/human/H = quirk_holder + var/datum/species/species = H.dna.species + species.disliked_food = null + +/datum/quirk/universal_diet/remove() + var/mob/living/carbon/human/H = quirk_holder + if(H) + var/datum/species/species = H.dna.species + species.disliked_food = initial(species.disliked_food) + +/datum/quirk/fatness_liker //GS13 + name = "Fat Affinity" + desc = "You like being fat, alot, maybe even a little bit too much. Being fat gives you a bigger mood boost." + mob_trait = TRAIT_FAT_GOOD + value = 0 + medical_record_text = "Patient seems overly content with gaining weight." + +/datum/quirk/fatness_hater //GS13 + name = "Fat Aversion" + desc = "You dislike being fat. Being fat brings your mood down, alot." + mob_trait = TRAIT_FAT_BAD + value = 0 + medical_record_text = "Patient seems distressed by gaining weight." diff --git a/GainStation13/code/obj/items/minor_items.dm b/GainStation13/code/obj/items/minor_items.dm index 29efce6407..f45f9d80fb 100644 --- a/GainStation13/code/obj/items/minor_items.dm +++ b/GainStation13/code/obj/items/minor_items.dm @@ -171,3 +171,55 @@ icon = 'icons/obj/module.dmi' icon_state = "datadisk0" desc = "A dusty disk, desconstruction will be needed to recover data." + +//GS 13 Port - Big gulps in all sizes +/obj/item/reagent_containers/food/drinks/flask/paper_cup + name = "paper cup" + icon = 'GainStation13/icons/obj/paper_cups.dmi' + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50) + volume = 50 + reagent_flags = OPENCONTAINER + spillable = TRUE + container_HP = 5 + pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' + drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/small + name = "Small Gulp Cup" + desc = "A paper cup. It can hold up to 50 units. It's not very strong." + icon_state = "small" + custom_materials = list(/datum/material/plastic=200) + w_class = WEIGHT_CLASS_SMALL + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/medium + name = "Medium Gulp Cup" + desc = "It's a paper cup, but you wouldn't call it 'medium' though. It can hold up to 75 units. It's not very strong." + icon_state = "medium" + volume = 75 + custom_materials = list(/datum/material/plastic=300) + w_class = WEIGHT_CLASS_SMALL + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/big + name = "Big Gulp Cup" + desc = "A huge paper cup, a normal person would struggle to drink it all in one sitting. It can hold up to 120 units. It's not very strong." + icon_state = "big" + volume = 120 + custom_materials = list(/datum/material/plastic=500) + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big + name = "Extra Big Gulp Cup" + desc = "A comically large paper cup. It can hold up to 160 units. It's not very strong." + icon_state = "extra_big" + volume = 160 + custom_materials = list(/datum/material/plastic=600) + w_class = WEIGHT_CLASS_BULKY + +/obj/item/reagent_containers/food/drinks/flask/paper_cup/super_extra_big + name = "Super Extra Big Gulp Cup" + desc = "Its called a paper 'cup', but it looks more like an oversized bucket to you. It can hold up to 250 units. It's not very strong." + icon_state = "super_extra_big" + volume = 250 + custom_materials = list(/datum/material/plastic=1000) + w_class = WEIGHT_CLASS_HUGE diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 227cc2722c..b0d73615b9 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -225,9 +225,3 @@ description = "The gods are pleased with this offering!\n" mood_change = 5 timeout = 3 MINUTES - -//GS13 Port -/datum/mood_event/lewd_headpat - description = "I love headpats so much!\n" - mood_change = 3 - timeout = 2 MINUTES diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 659fccdb1e..6a68334c85 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -464,15 +464,6 @@ GLOBAL_LIST_EMPTY(family_heirlooms) lose_text = "Your mind finally feels calm." medical_record_text = "Patient's mind is in a vulnerable state, and cannot recover from traumatic events." -//GS13 Port -//Port from Shadow -/datum/quirk/donotclone - name = "DNC" - desc = "You have filed a Do Not Clone order, stating that you do not wish to be cloned. You can still be revived by other means." - value = -2 - mob_trait = TRAIT_NEVER_CLONE - medical_record_text = "Patient has a DNC (Do not clone) order on file, and cannot be cloned as a result." - /datum/quirk/blindness name = "Blind" desc = "You are completely blind, nothing can counteract this." diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 20caf514ea..064febb2d2 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -189,59 +189,3 @@ /datum/quirk/dullahan/post_add() quirk_holder.AddComponent(/datum/component/dullahan) - -//GS13 Port -/datum/quirk/inheat - name = "In Heat" - desc = "Your system burns with the desire to be bred, your body will betray you and alert others' to your desire when examining you. Satisfying your lust will make you happy, but ignoring it may cause you to become sad and needy." - value = 0 - mob_trait = TRAIT_HEAT - gain_text = "You body burns with the desire to be bred." - lose_text = "You feel more in control of your body and thoughts." - -/datum/quirk/headpat_slut - name = "Headpat Slut" - desc = "You like headpats, alot, maybe even a little bit too much. Headpats give you a bigger mood boost and cause arousal" - mob_trait = TRAIT_HEADPAT_SLUT - value = 0 - medical_record_text = "Patient seems overly affectionate." - -/datum/quirk/headpat_hater - name = "Distant" - desc = "You don't seem to show much care for being touched. Whether it's because you're reserved or due to self control, you won't wag your tail outside of your own control should you possess one." - mob_trait = TRAIT_DISTANT - value = 0 - medical_record_text = "Patient cares little with or dislikes being touched." - -/datum/quirk/universal_diet - name = "Universal diet" - desc = "You are fine with eating just about anything normally edible, you have no strong dislikes in food. Toxic food will still hurt you, though." - value = 0 - gain_text = "You feel like you can eat any food type." - lose_text = "You start to dislike certain food types again." - medical_record_text = "Patient reports no strong dietary dislikes." - -/datum/quirk/universal_diet/add() - var/mob/living/carbon/human/H = quirk_holder - var/datum/species/species = H.dna.species - species.disliked_food = null - -/datum/quirk/universal_diet/remove() - var/mob/living/carbon/human/H = quirk_holder - if(H) - var/datum/species/species = H.dna.species - species.disliked_food = initial(species.disliked_food) - -/datum/quirk/fatness_liker //GS13 - name = "Fat Affinity" - desc = "You like being fat, alot, maybe even a little bit too much. Being fat gives you a bigger mood boost." - mob_trait = TRAIT_FAT_GOOD - value = 0 - medical_record_text = "Patient seems overly content with gaining weight." - -/datum/quirk/fatness_hater //GS13 - name = "Fat Aversion" - desc = "You dislike being fat. Being fat brings your mood down, alot." - mob_trait = TRAIT_FAT_BAD - value = 0 - medical_record_text = "Patient seems distressed by gaining weight." diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 204f7b01a9..0449a09c92 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -131,55 +131,3 @@ reagents.reaction(target, TOUCH) reagents.clear_reagents() return - -//GS 13 - Port -/obj/item/reagent_containers/food/drinks/flask/paper_cup - name = "paper cup" - icon = 'GainStation13/icons/obj/paper_cups.dmi' - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50) - volume = 50 - reagent_flags = OPENCONTAINER - spillable = TRUE - container_HP = 5 - pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' - drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' - -/obj/item/reagent_containers/food/drinks/flask/paper_cup/small - name = "Small Gulp Cup" - desc = "A paper cup. It can hold up to 50 units. It's not very strong." - icon_state = "small" - custom_materials = list(/datum/material/plastic=200) - w_class = WEIGHT_CLASS_SMALL - -/obj/item/reagent_containers/food/drinks/flask/paper_cup/medium - name = "Medium Gulp Cup" - desc = "It's a paper cup, but you wouldn't call it 'medium' though. It can hold up to 75 units. It's not very strong." - icon_state = "medium" - volume = 75 - custom_materials = list(/datum/material/plastic=300) - w_class = WEIGHT_CLASS_SMALL - -/obj/item/reagent_containers/food/drinks/flask/paper_cup/big - name = "Big Gulp Cup" - desc = "A huge paper cup, a normal person would struggle to drink it all in one sitting. It can hold up to 120 units. It's not very strong." - icon_state = "big" - volume = 120 - custom_materials = list(/datum/material/plastic=500) - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big - name = "Extra Big Gulp Cup" - desc = "A comically large paper cup. It can hold up to 160 units. It's not very strong." - icon_state = "extra_big" - volume = 160 - custom_materials = list(/datum/material/plastic=600) - w_class = WEIGHT_CLASS_BULKY - -/obj/item/reagent_containers/food/drinks/flask/paper_cup/super_extra_big - name = "Super Extra Big Gulp Cup" - desc = "Its called a paper 'cup', but it looks more like an oversized bucket to you. It can hold up to 250 units. It's not very strong." - icon_state = "super_extra_big" - volume = 250 - custom_materials = list(/datum/material/plastic=1000) - w_class = WEIGHT_CLASS_HUGE From ef935959389571b5dce2c60ff5982ca8a7d96769 Mon Sep 17 00:00:00 2001 From: AlManiak Date: Mon, 28 Oct 2024 17:53:36 +0100 Subject: [PATCH 8/9] Review commentary resolution --- GainStation13/code/datums/traits.dm | 19 --------- .../modules/research/designs/autolathe.dm | 40 ++++++++++++++++++ .../datums/looping_sounds/machinery_sounds.dm | 7 ++++ code/game/machinery/computer/cloning.dm | 1 + .../mob/living/carbon/carbon_defense.dm | 1 + ...utolathe_designs_medical_and_dinnerware.dm | 41 ------------------- 6 files changed, 49 insertions(+), 60 deletions(-) diff --git a/GainStation13/code/datums/traits.dm b/GainStation13/code/datums/traits.dm index 87ee915516..16235aac18 100644 --- a/GainStation13/code/datums/traits.dm +++ b/GainStation13/code/datums/traits.dm @@ -126,25 +126,6 @@ value = 0 medical_record_text = "Patient cares little with or dislikes being touched." -/datum/quirk/universal_diet - name = "Universal diet" - desc = "You are fine with eating just about anything normally edible, you have no strong dislikes in food. Toxic food will still hurt you, though." - value = 0 - gain_text = "You feel like you can eat any food type." - lose_text = "You start to dislike certain food types again." - medical_record_text = "Patient reports no strong dietary dislikes." - -/datum/quirk/universal_diet/add() - var/mob/living/carbon/human/H = quirk_holder - var/datum/species/species = H.dna.species - species.disliked_food = null - -/datum/quirk/universal_diet/remove() - var/mob/living/carbon/human/H = quirk_holder - if(H) - var/datum/species/species = H.dna.species - species.disliked_food = initial(species.disliked_food) - /datum/quirk/fatness_liker //GS13 name = "Fat Affinity" desc = "You like being fat, alot, maybe even a little bit too much. Being fat gives you a bigger mood boost." diff --git a/GainStation13/code/modules/research/designs/autolathe.dm b/GainStation13/code/modules/research/designs/autolathe.dm index dddaf1b041..2ee2cd4dba 100644 --- a/GainStation13/code/modules/research/designs/autolathe.dm +++ b/GainStation13/code/modules/research/designs/autolathe.dm @@ -5,3 +5,43 @@ materials = list(/datum/material/iron = 1000, /datum/material/glass = 500) build_path = /obj/item/assembly/infra/fat category = list("initial", "Misc") + +/datum/design/small_cup + name = "Small Gulp Cup" + id = "Small_Gulp" + build_type = AUTOLATHE + materials = list(/datum/material/plastic=200) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/small + category = list("initial","Dinnerware") + +/datum/design/medium_cup + name = "Medium Gulp Cup" + id = "Medium_Gulp" + build_type = AUTOLATHE + materials = list(/datum/material/plastic=300) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/medium + category = list("initial","Dinnerware") + +/datum/design/small_cup + name = "Big Gulp Cup" + id = "Big_Gulp" + build_type = AUTOLATHE + materials = list(/datum/material/plastic=500) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/big + category = list("initial","Dinnerware") + +/datum/design/extra_big_cup + name = "Extra Big Gulp Cup" + id = "Extra_Big_Gulp" + build_type = AUTOLATHE + materials = list(/datum/material/plastic=600) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big + category = list("initial","Dinnerware") + +/datum/design/super_extra_big_cup + name = "Super Extra Big Gulp Cup" + id = "Super_Extra_Big_Gulp" + build_type = AUTOLATHE + materials = list(/datum/material/plastic=1000) + build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/super_extra_big + category = list("initial","Dinnerware") diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index 4dfc65946b..b715bd4df2 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -65,6 +65,13 @@ volume = 50 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/* +/datum/looping_sound/deep_fryer + mid_length = 2 + mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1) + volume = 30 +*/ +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /datum/looping_sound/microwave start_sound = 'sound/machines/microwave/microwave-start.ogg' diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 78c4789e68..e91504d806 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -410,6 +410,7 @@ if(isbrain(mob_occupant)) dna = B.stored_dna + //GS13 Port - DNC if(HAS_TRAIT(mob_occupant, TRAIT_NEVER_CLONE)) scantemp = "Subject has an active DNC record on file. Unable to clone." playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 0f1f307242..936f8182a6 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -299,6 +299,7 @@ S = dna.species if(ishuman(src)) var/mob/living/carbon/human/H = src + //GS13 Port - Headpat slut stuff if(HAS_TRAIT(H, TRAIT_DISTANT)) //No mood buff since you're not really liking it. M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better! They seem annoyed...", \ "You give [H] a pat on the head to make [p_them()] feel better! They seem annoyed as they're now glaring towards you...") diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm index ed598fbee7..fbfd626ae7 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_medical_and_dinnerware.dm @@ -77,47 +77,6 @@ build_path = /obj/item/reagent_containers/food/drinks/shaker category = list("initial","Dinnerware") -//GS13 Port - Add gulp cups -/datum/design/small_cup - name = "Small Gulp Cup" - id = "Small_Gulp" - build_type = AUTOLATHE - materials = list(/datum/material/plastic=200) - build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/small - category = list("initial","Dinnerware") - -/datum/design/medium_cup - name = "Medium Gulp Cup" - id = "Medium_Gulp" - build_type = AUTOLATHE - materials = list(/datum/material/plastic=300) - build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/medium - category = list("initial","Dinnerware") - -/datum/design/small_cup - name = "Big Gulp Cup" - id = "Big_Gulp" - build_type = AUTOLATHE - materials = list(/datum/material/plastic=500) - build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/big - category = list("initial","Dinnerware") - -/datum/design/extra_big_cup - name = "Extra Big Gulp Cup" - id = "Extra_Big_Gulp" - build_type = AUTOLATHE - materials = list(/datum/material/plastic=600) - build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/extra_big - category = list("initial","Dinnerware") - -/datum/design/super_extra_big_cup - name = "Super Extra Big Gulp Cup" - id = "Super_Extra_Big_Gulp" - build_type = AUTOLATHE - materials = list(/datum/material/plastic=1000) - build_path = /obj/item/reagent_containers/food/drinks/flask/paper_cup/super_extra_big - category = list("initial","Dinnerware") - //////////// ///Medical// //////////// From d19e37fd2a31f9fa20dcb03879edc10febf6163f Mon Sep 17 00:00:00 2001 From: AlManiak Date: Mon, 28 Oct 2024 17:57:13 +0100 Subject: [PATCH 9/9] Removed duplicates --- GainStation13/code/datums/traits.dm | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/GainStation13/code/datums/traits.dm b/GainStation13/code/datums/traits.dm index 16235aac18..ef7e361a9c 100644 --- a/GainStation13/code/datums/traits.dm +++ b/GainStation13/code/datums/traits.dm @@ -125,17 +125,3 @@ mob_trait = TRAIT_DISTANT value = 0 medical_record_text = "Patient cares little with or dislikes being touched." - -/datum/quirk/fatness_liker //GS13 - name = "Fat Affinity" - desc = "You like being fat, alot, maybe even a little bit too much. Being fat gives you a bigger mood boost." - mob_trait = TRAIT_FAT_GOOD - value = 0 - medical_record_text = "Patient seems overly content with gaining weight." - -/datum/quirk/fatness_hater //GS13 - name = "Fat Aversion" - desc = "You dislike being fat. Being fat brings your mood down, alot." - mob_trait = TRAIT_FAT_BAD - value = 0 - medical_record_text = "Patient seems distressed by gaining weight."