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"