From 94dcce468cc2458ed8f241cca70ae0bf2806cfc9 Mon Sep 17 00:00:00 2001 From: WTF-Kaiji-Itou-died-on-Donbass??? <75693686+DenchikPozhiloyTranslator@users.noreply.github.com> Date: Sun, 24 Oct 2021 10:38:29 +0600 Subject: [PATCH] new global REVOLUTIONARY update: shit and piss now added to the game literally fucking shitcode --- .../code/modules/food&drinks/drinks/drinks.dm | 1 + .../modules/mob/living/carbon/human/emote.dm | 8 + .../mob/living/carbon/human/species.dm | 1 + STALKER 12/code/modules/mob/shit_piss.dm | 403 ++++++++++++++++++ STALKER 12/icons/effects/pooeffect.dmi | Bin 0 -> 17545 bytes STALKER 12/icons/obj/cum.dmi | Bin 0 -> 3803 bytes STALKER 12/icons/obj/poop.dmi | Bin 0 -> 820 bytes STALKER 12/sound/effects/poo2.ogg | Bin 0 -> 5374 bytes STALKER 12/ss13_stalker.dme | 1 + 9 files changed, 414 insertions(+) create mode 100644 STALKER 12/code/modules/mob/shit_piss.dm create mode 100644 STALKER 12/icons/effects/pooeffect.dmi create mode 100644 STALKER 12/icons/obj/cum.dmi create mode 100644 STALKER 12/icons/obj/poop.dmi create mode 100644 STALKER 12/sound/effects/poo2.ogg diff --git a/STALKER 12/code/modules/food&drinks/drinks/drinks.dm b/STALKER 12/code/modules/food&drinks/drinks/drinks.dm index b00ac3c..fb497fd 100644 --- a/STALKER 12/code/modules/food&drinks/drinks/drinks.dm +++ b/STALKER 12/code/modules/food&drinks/drinks/drinks.dm @@ -46,6 +46,7 @@ var/fraction = min(gulp_size/reagents.total_volume, 1) reagents.reaction(M, INGEST, fraction) reagents.trans_to(M, gulp_size) + M.bladder += reagents.total_volume * 2 //For pissing playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) return 1 diff --git a/STALKER 12/code/modules/mob/living/carbon/human/emote.dm b/STALKER 12/code/modules/mob/living/carbon/human/emote.dm index 118e3f6..685f24f 100644 --- a/STALKER 12/code/modules/mob/living/carbon/human/emote.dm +++ b/STALKER 12/code/modules/mob/living/carbon/human/emote.dm @@ -317,6 +317,14 @@ message = "[src] yawns." m_type = 2 + if ("shit","shits") + handle_shit() + m_type = 1 + + if ("piss","pisses") + handle_piss() + m_type = 1 + if("wag","wags") if(dna && dna.species && (("tail_lizard" in dna.species.mutant_bodyparts) || ((dna.features["tail_human"] != "None") && !("waggingtail_human" in dna.species.mutant_bodyparts)))) message = "[src] wags \his tail." diff --git a/STALKER 12/code/modules/mob/living/carbon/human/species.dm b/STALKER 12/code/modules/mob/living/carbon/human/species.dm index eb66d53..b1e2111 100644 --- a/STALKER 12/code/modules/mob/living/carbon/human/species.dm +++ b/STALKER 12/code/modules/mob/living/carbon/human/species.dm @@ -643,6 +643,7 @@ H.Jitter(5) hunger_rate = 3 * HUNGER_FACTOR H.nutrition = max (0, H.nutrition - hunger_rate) + H.bowels += H.nutrition * 0.003 //For pooping if (H.nutrition > NUTRITION_LEVEL_FULL) if(H.overeatduration < 600) //capped so people don't take forever to unfat diff --git a/STALKER 12/code/modules/mob/shit_piss.dm b/STALKER 12/code/modules/mob/shit_piss.dm new file mode 100644 index 0000000..82981a9 --- /dev/null +++ b/STALKER 12/code/modules/mob/shit_piss.dm @@ -0,0 +1,403 @@ +/*#####SHIT AND PISS##### +##Ok there's a lot of stupid shit here. Literally, but let me explain a bit why I put this here. +##I feel like poo and pee add a degree of autistic realism that you wouldn't otherwise get. And I'm autistic about that kind of thing. +##This file contains all the reagents, decals, objects and life procs. These procs are used in human/life.dm and human/emote.dm +##Have some shitty fun. - Matt +*/ + +//Counters for the end of the round. +var/global/times_came = 0 +var/global/shit_left = 0 +var/global/piss_left = 0 +var/global/deaths_in_space = 0 +var/global/total_deaths = 0 +var/global/teeth_lost = 0 + +//####DEFINES#### + +/mob + var/bladder = 0 + var/bowels = 0 + +//#####DECALS##### +/obj/effect/decal/cleanable/poo + name = "poo stain" + desc = "Well that stinks." + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/pooeffect.dmi' + icon_state = "floor1" + random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7", "floor8") + var/dried = 0 + + +/obj/effect/decal/cleanable/poo/New() + icon = 'icons/effects/pooeffect.dmi' + icon_state = pick(src.random_icon_states) + for(var/obj/effect/decal/cleanable/poo/shit in src.loc) + if(shit != src) + qdel(shit) + spawn(6000) + dried = 1 + name = "dried poo stain" + desc = "It's a dried poo stain..." + + +/obj/effect/decal/cleanable/poo/tracks + icon_state = "tracks" + random_icon_states = null + +/obj/effect/decal/cleanable/poo/drip + name = "drips of poo" + desc = "It's brown." + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/pooeffect.dmi' + icon_state = "drip1" + random_icon_states = list("drip1", "drip2", "drip3", "drip4", "drip5") + +//This proc is really deprecated. +/*/obj/effect/decal/cleanable/poo/proc/streak(var/list/directions) + spawn (0) + var/direction = pick(directions) + for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++) + sleep(3) + if (i > 0) + new /obj/effect/decal/cleanable/poo(src.loc) + if (step_to(src, get_step(src, direction), 0)) + break +*/ + +/obj/effect/decal/cleanable/poo/Crossed(AM as mob|obj, var/forceslip = 0) + if (istype(AM, /mob/living/carbon) && src.dried == 0) + var/mob/living/carbon/M = AM + if (M.m_intent == "walk") + return + + if(prob(5)) + M.slip("poo") + +//These aren't needed for now. +///obj/effect/decal/cleanable/poo/tracks/Crossed(AM as mob|obj) +// return + +//obj/effect/decal/cleanable/poo/drip/Crossed(AM as mob|obj) +// return + +/obj/effect/decal/cleanable/urine + name = "urine stain" + desc = "Someone couldn't hold it.." + density = 0 + anchored = 1 + layer = 2 + icon = 'icons/effects/pooeffect.dmi' + icon_state = "pee1" + random_icon_states = list("pee1", "pee2", "pee3") + var/dried = 0 + +/obj/effect/decal/cleanable/urine/Crossed(AM as mob|obj) + if (istype(AM, /mob/living/carbon)) + var/mob/living/carbon/M = AM + if ((ishuman(M) && istype(M:shoes, /obj/item/clothing/shoes/galoshes)) || M.m_intent == "walk") + return + + if((!dried) && prob(5)) + M.slip("urine") + +/obj/effect/decal/cleanable/urine/New() + ..() + icon_state = pick(random_icon_states) + //spawn(10) src.reagents.add_reagent("urine",5) + for(var/obj/effect/decal/cleanable/urine/piss in src.loc) + if(piss != src) + qdel(piss) + + spawn(800) + dried = 1 + name = "dried urine stain" + desc = "That's a dried crusty urine stain. Fucking janitors." + + + +/obj/effect/decal/cleanable/cum + name = "cum" + desc = "It's pie cream from a cream pie. Or not..." + density = 0 + layer = 2 + icon = 'icons/obj/cum.dmi' + blood_DNA = list() + anchored = 1 + random_icon_states = list("cum1", "cum3", "cum4", "cum5", "cum6", "cum7", "cum8", "cum9", "cum10", "cum11", "cum12") + + +/obj/effect/decal/cleanable/cum/New() + ..() + icon_state = pick(random_icon_states) + for(var/obj/effect/decal/cleanable/cum/jizz in src.loc) + if(jizz != src) + qdel(jizz) + + +//#####REAGENTS##### + +//SHIT +/datum/reagent/poo + name = "poo" + id = "poo" + description = "It's poo." + reagent_state = LIQUID + color = "#643200" + + +/datum/reagent/poo/on_mob_life(var/mob/living/M) + if(!M) + M = holder.my_atom + + M.adjustToxLoss(1) + holder.remove_reagent(src.id, 0.2) + ..() + return + +//TO MAKE add_poo() PROC +/* reaction_mob(var/mob/M, var/method=TOUCH, var/volume) + src = null + if(istype(M, /mob/living/carbon/human) && method==TOUCH) + if(M:wear_suit) M:wear_suit.add_poo() + if(M:w_uniform) M:w_uniform.add_poo() + if(M:shoes) M:shoes.add_poo() + if(M:gloves) M:gloves.add_poo() + if(M:head) M:head.add_poo() + //if(method==INGEST) + // if(prob(20)) + // M.contract_disease(new /datum/disease/gastric_ejections) + // holder.add_reagent("gastricejections", 1) + // M:toxloss += 0.1 + // holder.remove_reagent(src.id, 0.2) +*/ + +/datum/reagent/poo/reaction_turf(var/turf/T) + src = null + if(!istype(T, /turf/space)) + new /obj/effect/decal/cleanable/poo(T) + +//URINE +/datum/reagent/urine + name = "urine" + id = "urine" + description = "It's pee." + reagent_state = LIQUID + color = COLOR_YELLOW + +/datum/reagent/urine/reaction_turf(var/turf/T) + src = null + if(!istype(T, /turf/space)) + new /obj/effect/decal/cleanable/urine(T) + +//SEMEN +/datum/reagent/semen + name = "semen" + id = "semen" + description = "It's semen." + reagent_state = LIQUID + color = COLOR_WHITE + +/datum/reagents/proc/reaction_turf(var/turf/target) + if(!target || !istype(target)) + return + +/datum/reagent/semen/reaction_turf(var/turf/T) + src = null + if(!istype(T, /turf/space)) + new /obj/effect/decal/cleanable/cum(T) + +/obj/item/weapon/reagent_containers/food/snacks/poo + name = "poo" + desc = "A chocolately surprise!" + icon = 'icons/obj/poop.dmi' + icon_state = "poop2" + item_state = "poop" + +/obj/item/weapon/reagent_containers/food/snacks/poo/New() + ..() + icon_state = pick("poop1", "poop2", "poop3", "poop4", "poop5", "poop6", "poop7") + reagents.add_reagent("poo", 10) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/poo/throw_impact(atom/hit_atom) + //if(prob(50)) //this is so we actually have a chance of recovering some from disposal. + // return + playsound(src.loc, "sound/effects/squishy.ogg", 40, 1) + var/turf/T = src.loc + if(!istype(T, /turf/space)) + new /obj/effect/decal/cleanable/poo(T) + //qdel(src) THIS IS BAD AND YOU SHOULD FEEL BAD. + ..() + +//#####BOTTLES##### + +//PISS +/obj/item/weapon/reagent_containers/glass/bottle/urine + name = "urine bottle" + desc = "A small bottle. Contains urine." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle15" + + New() + ..() + reagents.add_reagent("urine", 30) + + +//#####LIFE PROCS##### + +//poo and pee counters. This is called in human/handle_stomach. +/mob/living/carbon/human/proc/handle_excrement() + if(bowels <= 0) + bowels = 0 + if(bladder <= 0) + bladder = 0 + + if(bowels >= 250) + switch(bowels) + if(250 to 400) + if(prob(5)) + src << "You need to use the bathroom." + bowels += 15 + if(400 to 450) + if(prob(5)) + src << "You really need to use the restroom!" + bowels += 15 + if(450 to 500) + if(prob(2)) + handle_shit() + else if(prob(10)) + src << "You're about to shit yourself!" + bowels += 25 + if(500 to 550) + if(prob(15)) + handle_shit() + else if(prob(30)) + src << "OH MY GOD YOU HAVE TO SHIT!" + bowels += 35 + if(550 to INFINITY) + handle_shit() + + if(bladder >= 100)//Your bladder is smaller than your colon + switch(bladder) + if(100 to 250) + if(prob(5)) + src << "You need to use the bathroom." + bladder += 15 + if(250 to 400) + if(prob(5)) + src << "You really need to use the restroom!" + bladder += 15 + if(400 to 500) + if(prob(2)) + handle_piss() + else if(prob(10)) + src << "You're about to piss yourself!" + bladder += 25 + if(500 to 550) + if(prob(15)) + handle_piss() + else if(prob(30)) + src << "OH MY GOD YOU HAVE TO PEE!" + bladder += 35 + if(550 to INFINITY) + handle_piss() + +//Shitting +/mob/living/carbon/human/proc/handle_shit() + var/message = null + if (src.bowels >= 30) + + //Poo in the loo. // yeah i actually don't want to look for toilet objects so for now i'll just comment that section, if anyone wants - go ahead and add some shitters + //var/obj/item/trash/konserva/T = locate() in src.loc + //var/obj/item/trash/konserva/shproti/T2 = locate() in src.loc + var/mob/living/M = locate() in src.loc + //if(T) + // message = "[src] defecates into \the [T]." + + //else if (T2) + // message = "[src] defecates into \the [T2]." + // var/obj/item/weapon/reagent_containers/food/snacks/poo/V = new/obj/item/weapon/reagent_containers/food/snacks/poo(src.loc) + // if(reagents) + // reagents.trans_to(V, rand(1,5)) + + // if(T2.CanInsertItem(src)) //attempt to insert the shit into the toilet. + // V.forceMove(T2) + // else + // shit_left++ + + if(w_uniform) + message = "[src] shits \his pants." + reagents.add_reagent("poo", 10) + + //Poo on the face. + else if(M != src && M.lying)//Can only shit on them if they're lying down. + message = "[src] shits right on [M]'s face!" + M.reagents.add_reagent("poo", 10) + + //Poo on the floor. + else + message = "[src] [pick("shits", "craps", "poops")]." + var/obj/item/weapon/reagent_containers/food/snacks/poo/V = new/obj/item/weapon/reagent_containers/food/snacks/poo(src.loc) + if(reagents) + reagents.trans_to(V, rand(1,5)) + + shit_left++//Global var for round end, not how much piss is left. + + playsound(src.loc, 'sound/effects/poo2.ogg', 60, 1) + bowels -= rand(60,80) + + else + src << "You don't have to." + return + + visible_message("[message]") + +//Peeing +/mob/living/carbon/human/proc/handle_piss() + var/message = null + if (bladder < 30) + src << "You don't have to." + return + +// var/obj/structure/urinal/U = locate() in src.loc +// var/obj/machinery/disposal/toilet/T = locate() in src.loc +// var/obj/machinery/disposal/toilet/T2 = locate() in src.loc +// var/obj/structure/sink/S = locate() in src.loc +// var/obj/item/weapon/reagent_containers/RC = locate() in src.loc +// if((U || S) && gender != FEMALE)//In the urinal or sink. +// message = "[src] urinates into [U ? U : S]." +// reagents.remove_any(rand(1,8)) + +// else if( (T && T.open) || (T2 && T2.open) )//In the toilet. +// message = "[src] urinates into [T]." +// reagents.remove_any(rand(1,8)) + +// else if(RC && (istype(RC,/obj/item/weapon/reagent_containers/food/drinks || istype(RC,/obj/item/weapon/reagent_containers/glass)))) +// if(RC.is_open_container()) +// //Inside a beaker, glass, drink, etc. +// message = "[src] urinates into [RC]." +// var/amount = rand(1,8) +// RC.reagents.add_reagent("urine", amount) +// if(reagents) +// reagents.trans_to(RC, amount) + + if(w_uniform)//In your pants. + message = "[src] pisses \his pants." + + else//On the floor. + var/turf/TT = src.loc + var/obj/effect/decal/cleanable/urine/D = new/obj/effect/decal/cleanable/urine(src.loc) + if(reagents) + reagents.trans_to(D, rand(1,8)) + message = "[src] pisses on the [TT.name]." + piss_left++//Global var for round end, not how much piss is left. + + bladder -= 50 + visible_message("[message]") + diff --git a/STALKER 12/icons/effects/pooeffect.dmi b/STALKER 12/icons/effects/pooeffect.dmi new file mode 100644 index 0000000000000000000000000000000000000000..7eb00045a58c3ca18f820f74fdb40d84909c4ff6 GIT binary patch literal 17545 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 literal 0 HcmV?d00001 diff --git a/STALKER 12/ss13_stalker.dme b/STALKER 12/ss13_stalker.dme index dc93184..dcf6ace 100644 --- a/STALKER 12/ss13_stalker.dme +++ b/STALKER 12/ss13_stalker.dme @@ -1189,6 +1189,7 @@ #include "code\modules\mob\mob_movement.dm" #include "code\modules\mob\mob_transformation_simple.dm" #include "code\modules\mob\say.dm" +#include "code\modules\mob\shit_piss.dm" #include "code\modules\mob\transform_procs.dm" #include "code\modules\mob\update_icons.dm" #include "code\modules\mob\camera\camera.dm"