From 141a587ba663b9898aea7e8c91272626af606c21 Mon Sep 17 00:00:00 2001 From: Sonoida Date: Thu, 23 Mar 2023 00:56:59 +0100 Subject: [PATCH] made a new burp/anti-burp chem AND new drinks - made a new burp chem, Fizulphite - new variables to account for "slurburping" - new anti-burp / anti-fullness chem, Soothseltz - two new drinks in GATO COLA machine (Fizz Wizz, Soothseltz) - some sprites for the cans - also removed leftover mention of dogborgs --- .../modules/food_and_drinks/drinks/drinks.dm | 26 +++++++++++ .../chemistry/reagents/consumable_reagents.dm | 41 ++++++++++++++++++ .../reagents/chemistry/recipes/fatchem.dm | 21 +++++++++ .../code/modules/vending/gatocola.dm | 3 +- GainStation13/icons/obj/drinks.dmi | Bin 0 -> 891 bytes GainStation13/icons/obj/food_lefthand.dmi | Bin 0 -> 411 bytes GainStation13/icons/obj/food_righthand.dmi | Bin 0 -> 403 bytes code/__DEFINES/combat.dm | 1 + code/modules/client/preferences.dm | 1 - .../mob/living/carbon/carbon_defines.dm | 1 + code/modules/mob/living/carbon/human/human.dm | 1 + code/modules/mob/living/carbon/life.dm | 3 ++ code/modules/mob/living/damage_procs.dm | 6 ++- code/modules/mob/living/living_defines.dm | 1 + code/modules/mob/living/say.dm | 3 ++ code/modules/mob/mob_helpers.dm | 41 ++++++++++++++++++ tgstation.dme | 1 + 17 files changed, 147 insertions(+), 3 deletions(-) create mode 100644 GainStation13/code/modules/food_and_drinks/drinks/drinks.dm create mode 100644 GainStation13/icons/obj/drinks.dmi create mode 100644 GainStation13/icons/obj/food_lefthand.dmi create mode 100644 GainStation13/icons/obj/food_righthand.dmi diff --git a/GainStation13/code/modules/food_and_drinks/drinks/drinks.dm b/GainStation13/code/modules/food_and_drinks/drinks/drinks.dm new file mode 100644 index 00000000..626e64fb --- /dev/null +++ b/GainStation13/code/modules/food_and_drinks/drinks/drinks.dm @@ -0,0 +1,26 @@ +//////////////////////////////////////////////////////////////////////////////// +/// GS13 Drinks +//////////////////////////////////////////////////////////////////////////////// + +/obj/item/reagent_containers/food/drinks/soda_cans/fizzwiz + name = "Fizz Wiz" + desc = "Unleash your inner magic!" + icon = 'GainStation13/icons/obj/drinks.dmi' + lefthand_file = 'GainStation13/icons/obj/food_lefthand.dmi' + righthand_file = 'GainStation13/icons/obj/food_righthand.dmi' + icon_state = "fizzwiz" + list_reagents = list(/datum/reagent/consumable/space_cola = 25, /datum/reagent/consumable/fizulphite = 15) + foodtype = SUGAR + price = 3 + + +/obj/item/reagent_containers/food/drinks/soda_cans/soothseltz + name = "Soothing Seltzer" + desc = "A useful drink that helps relieve a bloated stomach." + icon = 'GainStation13/icons/obj/drinks.dmi' + lefthand_file = 'GainStation13/icons/obj/food_lefthand.dmi' + righthand_file = 'GainStation13/icons/obj/food_righthand.dmi' + icon_state = "soothseltz" + list_reagents = list(/datum/reagent/consumable/space_cola = 25, /datum/reagent/consumable/extilphite = 15) + foodtype = SUGAR + price = 3 diff --git a/GainStation13/code/modules/reagents/chemistry/reagents/consumable_reagents.dm b/GainStation13/code/modules/reagents/chemistry/reagents/consumable_reagents.dm index e77d7ed1..cb556971 100644 --- a/GainStation13/code/modules/reagents/chemistry/reagents/consumable_reagents.dm +++ b/GainStation13/code/modules/reagents/chemistry/reagents/consumable_reagents.dm @@ -12,3 +12,44 @@ /datum/reagent/consumable/lipoifier/on_mob_life(mob/living/carbon/M) M.adjust_fatness(10, FATTENING_TYPE_CHEM) return ..() + + +//BURPY CHEM + +/datum/reagent/consumable/fizulphite + name = "Fizulphite" + description = "A strange chemical that produces large amounts of gas when in contact with organic, typically fleshy environments." + color = "#4cffed" // rgb: 102, 99, 0 + reagent_state = LIQUID + taste_description = "fizziness" + metabolization_rate = 2 * REAGENTS_METABOLISM + +/datum/reagent/consumable/fizulphite/on_mob_life(mob/living/carbon/M) + if(M && M?.client?.prefs.weight_gain_chems) + M.burpslurring = max(M.burpslurring,50) + M.burpslurring += 2 + else + M.burpslurring += 0 + ..() + +//ANTI-BURPY CHEM + +/datum/reagent/consumable/extilphite + name = "Extilphite" + description = "A very useful chemical that helps soothe bloated stomachs." + color = "#2aed96" + reagent_state = LIQUID + taste_description = "smoothness" + metabolization_rate = 0.8 * REAGENTS_METABOLISM + +/datum/reagent/consumable/extilphite/on_mob_life(mob/living/carbon/M) + if(M && M?.client?.prefs.weight_gain_chems) + M.burpslurring -= 3 + else + M.burpslurring -= 0 + + if(M.fullness>10) + M.fullness -= 6 + else + M.fullness -= 0 + ..() diff --git a/GainStation13/code/modules/reagents/chemistry/recipes/fatchem.dm b/GainStation13/code/modules/reagents/chemistry/recipes/fatchem.dm index af04badf..79ed2dc7 100644 --- a/GainStation13/code/modules/reagents/chemistry/recipes/fatchem.dm +++ b/GainStation13/code/modules/reagents/chemistry/recipes/fatchem.dm @@ -1,5 +1,26 @@ +//GS13 - fat chems + + +//WG chem /datum/chemical_reaction/lipoifier name = "lipoifier" id = /datum/reagent/consumable/lipoifier results = list(/datum/reagent/consumable/lipoifier = 3) required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/cornoil = 1, /datum/reagent/medicine/synthflesh = 1) + + +//BURP CHEM + +/datum/chemical_reaction/fizulphite + name = "fizulphite" + id = /datum/reagent/consumable/fizulphite + results = list(/datum/reagent/consumable/fizulphite = 3) + required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/nitrogen = 1, /datum/reagent/oxygen = 3) + +//ANTI-BURP / ANTI-FULLNESS CHEM + +/datum/chemical_reaction/extilphite + name = "extilphite" + id = /datum/reagent/consumable/extilphite + results = list(/datum/reagent/consumable/extilphite = 3) + required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/sodium = 2, /datum/reagent/carbon = 2) diff --git a/GainStation13/code/modules/vending/gatocola.dm b/GainStation13/code/modules/vending/gatocola.dm index b8d91b9f..a484830e 100644 --- a/GainStation13/code/modules/vending/gatocola.dm +++ b/GainStation13/code/modules/vending/gatocola.dm @@ -18,7 +18,8 @@ ) premium = list( /obj/item/reagent_containers/food/drinks/soda_cans/air = 20, - + /obj/item/reagent_containers/food/drinks/soda_cans/fizzwiz = 5, + /obj/item/reagent_containers/food/drinks/soda_cans/soothseltz = 8, ) refill_canister = /obj/item/vending_refill/mealdor diff --git a/GainStation13/icons/obj/drinks.dmi b/GainStation13/icons/obj/drinks.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d24ee43bc26c0749e19da8779a9273ccac6d0356 GIT binary patch literal 891 zcmV->1BCpEP)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex7wuvIWN;^NFm z%}mcIfpCgT5=&AQY!#H!GOMb}Gpm%iI8!omXyleC$Hxi>ZxKIbT1&H?%LefR@%{K5ukGYPZ5ubXzCw?UY>!t89b`J*;} zn;Wmoh5lkr$^_vxpzmtXBDRglWA=GWG?f(kf;NBK9{!jdzeD6*AP{|M0(^e*tSJ62 zWzh3z95P$zqZ4K8fIxK6;-7w7%x@UgfKb;3ptM^+%77K$T>$F0o2lRIwSsFE8w3gZoy3w^ z<`?V^*!<1q)5oQ9mGmx<@qM&**3Vd5g%C?-3HqId4k!gu9nhF=<@>4S-9T5;`mN9{ zkne!}8X$Z1LBfFf^<^3updkghReKF6JO#?{!2G&ZbkOf4chv5HN<9WWOW85QiLoV*Gg1g-wgB*K z)J3$Zk#SK0GRTj_7QbbNOz|LL!2gCr|3#>3fNBA%Q8hrd0M)1(pjv=x`~fDr;I3J) R*F69L002ovPDHLkV1n^dsrvu` literal 0 HcmV?d00001 diff --git a/GainStation13/icons/obj/food_lefthand.dmi b/GainStation13/icons/obj/food_lefthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b694235417e1abfe9c0ccb2d4e3a09b8f5a868c4 GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeE3?v1%WpM*3tpJ}8*8>L*%$zy%^y$+K|7WIM z`_FJ@EyMq`*4EaI8#gN6W4K?a#;{S)?;ZnCS%^j;3s4thNswPKgTu2MX+TazRY*jM zOKNd)QD#9&W_}(}WKM8cK~d@VFTn*Lzdq6O*3~+9=6vvmP=kxc4<6~9_t8AbP}I}A z!@@Yo__DE=!kkBwj!X(s2-eiyylR!rX0Og}W7W+oB$o7c8?V(cG#5Q$=CVTj+l-$Pg0~vl`R3A0KsU_xba4!cXiZL#U|pOb62NGn#d%>>PRtNaNS|9aAUWjX-^Zx3-<|;-`wm4I+MZE)z4*}Q$iB}hs&6U literal 0 HcmV?d00001 diff --git a/GainStation13/icons/obj/food_righthand.dmi b/GainStation13/icons/obj/food_righthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b758ecd6735c14acdb7da9027234f2081a73e74c GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeE3?v1%WpM*3tpJ}8*8>L*%$zy%^y$-S*Zwp7 zpUH4$EyMq`*4EaI8#mrBR8zdiz_3x!?;ZnCnYV-DVxTU@k|4ie28U-i(twK zhlO#F@nvH#g*lHV9hnrO5Ui=YdDSYL&0d||#;TiFNG$2?HeRb?XfArh%w>i4x%2ub zHT=$M9$Xm`dGP9a);DYn1#dO9^UbB1fNq%V>Eaj?(VCnf!MZp>B!I0&WFv=>7UzQp z1_lPR6D}S|>N#Uv<}k73=%PkZS59w+t`sdZUd|IXW+A)_Z)KPzD95{eW2Qxe`{BGCDYFL`!K#6_F$h1<{
" dat += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
" - dat += "Voracious MediHound sleepers: [(cit_toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"]
" dat += "Hear Vore Sounds: [(cit_toggles & EATING_NOISES) ? "Yes" : "No"]
" dat += "Hear Vore Digestion Sounds: [(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"]
" dat += "Allow trash forcefeeding (requires Trashcan quirk) [(cit_toggles & TRASH_FORCEFEED) ? "Yes" : "No"]
" diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index f5b00200..563f7dd8 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -64,3 +64,4 @@ var/drunkenness = 0 //Overall drunkenness - check handle_alcohol() in life.dm for effects + var/burpyness = 0 // GS13 - dumb name, I know. Trying to keep it closely related to "drunkenness" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 89b05771..3aeedfb9 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -812,6 +812,7 @@ remove_all_embedded_objects() set_heartattack(FALSE) drunkenness = 0 + burpyness = 0 //GS13 - lil GS13 addition for(var/datum/mutation/human/HM in dna.mutations) if(HM.quality != POSITIVE) dna.remove_mutation(HM.name) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index ca11c14d..048fb2a4 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -624,6 +624,9 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put if(slurring || drunkenness) slurring = max(slurring-1,0,drunkenness) + if(burpslurring) + burpslurring = max(burpslurring-1,0) + if(cultslurring) cultslurring = max(cultslurring-1, 0) diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 60ba3cb7..dd54990c 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -94,6 +94,8 @@ radiation += max(effect * hit_percent, 0) if(EFFECT_SLUR) slurring = max(slurring,(effect * hit_percent)) + if(EFFECT_BURPSLUR) + burpslurring = max(burpslurring,(effect * hit_percent)) //GS13 if(EFFECT_STUTTER) if((status_flags & CANSTUN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) // stun is usually associated with stutter stuttering = max(stuttering,(effect * hit_percent)) @@ -107,7 +109,7 @@ return 1 -/mob/living/proc/apply_effects(stun = 0, knockdown = 0, unconscious = 0, irradiate = 0, slur = 0, stutter = 0, eyeblur = 0, drowsy = 0, blocked = FALSE, stamina = 0, jitter = 0, kd_stamoverride, kd_stammax) +/mob/living/proc/apply_effects(stun = 0, knockdown = 0, unconscious = 0, irradiate = 0, slur = 0, burpslur = 0, stutter = 0, eyeblur = 0, drowsy = 0, blocked = FALSE, stamina = 0, jitter = 0, kd_stamoverride, kd_stammax) if(blocked >= 100) return 0 if(stun) @@ -120,6 +122,8 @@ apply_effect(irradiate, EFFECT_IRRADIATE, blocked) if(slur) apply_effect(slur, EFFECT_SLUR, blocked) + if(burpslur) + apply_effect(burpslur, EFFECT_BURPSLUR, blocked) //GS13 if(stutter) apply_effect(stutter, EFFECT_STUTTER, blocked) if(eyeblur) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 0de4cc2e..8f77323b 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -100,6 +100,7 @@ //Speech var/stuttering = 0 var/slurring = 0 + var/burpslurring = 0 //GS13 var/cultslurring = 0 var/derpspeech = 0 diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index ab9409e2..7694e7f8 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -369,6 +369,9 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(slurring) message = slur(message,slurring) + if(burpslurring) + message = burpslur(message,burpslurring) //GS13 + if(cultslurring) message = cultslur(message) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 42048e65..a03d5883 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -104,6 +104,47 @@ . += "[newletter]" return sanitize(.) + +//GS13 - BURP SLURRING, USED IN SOME CHEMS OR EFFECTS + +/proc/burpslur(phrase, strength = 50) + strength = min(50, strength) + phrase = html_decode(phrase) + var/leng = length(phrase) + . = "" + var/newletter = "" + var/rawchar = "" + for(var/i = 1, i <= leng, i += length(rawchar)) + rawchar = newletter = phrase[i] + if(rand(1,100)<=strength * 0.5) + var/lowerletter = lowertext(newletter) + if(lowerletter == "o") + newletter = " -*BURRP*- " + else if(lowerletter == "s") + newletter = " -*URP*- " + else if(lowerletter == "a") + newletter = " -*GWUURRP*- " + else if(lowerletter == "u") + newletter = " -*BUUUURRP*- " + else if(lowerletter == "c") + newletter = " -*BURP*- " + if(rand(1,100) <= strength * 0.25) + if(newletter == " ") + newletter = "...*GWWUUARRP*..." + else if(newletter == ".") + newletter = " -*BWUUARRP*-." + switch(rand(1,100) <= strength * 0.5) + if(1) + newletter += " -*BURRP*- " + if(10) + newletter += "[newletter]" + if(20) + newletter += "[newletter][newletter]" + . += "[newletter]" + return sanitize(.) + +///////////////////////// + /// Makes you talk like you got cult stunned, which is slurring but with some dark messages /proc/cultslur(phrase) // Inflicted on victims of a stun talisman phrase = html_decode(phrase) diff --git a/tgstation.dme b/tgstation.dme index 0f6a1b3d..104053fe 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3337,6 +3337,7 @@ #include "GainStation13\code\obj\items\minor_items.dm" #include "GainStation13\code\obj\structure\scale.dm" #include "GainStation13\code\obj\weapons\fatoray.dm" +#include "GainStation13\code\modules\food_and_drinks\drinks\drinks.dm" #include "hyperstation\code\__DEFINES\economy.dm" #include "hyperstation\code\__DEFINES\wendigo.dm" #include "hyperstation\code\controllers\subsystem\economy.dm"