From ff971fb75c3c3af914b5da911e81af5e66197797 Mon Sep 17 00:00:00 2001
From: Eneocho <67024428+Eneocho@users.noreply.github.com>
Date: Wed, 7 Aug 2024 18:47:59 -0400
Subject: [PATCH] New plant and reagent: Squash (#36754)
* adds squash reagent
* squash
* squash tackle boosts
* squash define
* squash recipe for chemistry
* squash icon
* squash
* squash namechange 1/2
* namechange 2/2
---
__DEFINES/reagents.dm | 1 +
code/modules/hydroponics/seeds.dm | 22 ++++++++
.../modules/mob/living/carbon/human/combat.dm | 6 ++
code/modules/reagents/Chemistry-Recipes.dm | 7 +++
.../reagent_containers/food/snacks/grown.dm | 7 +++
.../reagents/reagents/reagents_drug.dm | 53 ++++++++++++++++++
icons/obj/hydroponics/squash.dmi | Bin 0 -> 929 bytes
7 files changed, 96 insertions(+)
create mode 100644 icons/obj/hydroponics/squash.dmi
diff --git a/__DEFINES/reagents.dm b/__DEFINES/reagents.dm
index 2b3848d21d6..0e15a23062c 100644
--- a/__DEFINES/reagents.dm
+++ b/__DEFINES/reagents.dm
@@ -527,6 +527,7 @@
#define MIMOSA "mimosa"
#define LEMONDROP "lemondrop"
#define FEVERFEW "feverfew"
+#define SQUASH "squash"
#define ACRYLIC "acrylic"
#define ACETONE "acetone"
diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm
index ce0d7f0dc67..ea49ed139d5 100644
--- a/code/modules/hydroponics/seeds.dm
+++ b/code/modules/hydroponics/seeds.dm
@@ -359,6 +359,11 @@
seed_type = "pumpkin"
vending_cat = "vegetables"
+/obj/item/seeds/squashseed
+ name = "packet of slammed squash seeds"
+ seed_type = "squash"
+ vending_cat = "vegetables"
+
/obj/item/seeds/limeseed
name = "packet of lime seeds"
seed_type = "lime"
@@ -1451,6 +1456,23 @@
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin)
harvest_repeat = 1
chems = list(NUTRIMENT = list(1,6))
+ mutants = list("squash")
+ lifespan = 50
+ maturation = 6
+ production = 6
+ yield = 3
+ potency = 10
+ growth_stages = 3
+ fluid_consumption = 6
+
+/datum/seed/squash
+ name = "squash"
+ seed_name = "squash"
+ display_name = "slammed squash vine"
+ plant_dmi = 'icons/obj/hydroponics/squash.dmi'
+ products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/squash)
+ harvest_repeat = 1
+ chems = list(NUTRIMENT = list(1,12), SQUASH = list(1,6)) //half of the nutrients turn into SQUASH
lifespan = 50
maturation = 6
diff --git a/code/modules/mob/living/carbon/human/combat.dm b/code/modules/mob/living/carbon/human/combat.dm
index 0f6bf4938c8..bee19e0e6e8 100644
--- a/code/modules/mob/living/carbon/human/combat.dm
+++ b/code/modules/mob/living/carbon/human/combat.dm
@@ -305,6 +305,8 @@
tF += C.offenseTackleBonus()
if(species)
tF += species.tacklePower
+ if(reagents.has_reagent(SQUASH))
+ tF *= 1.5
return tF
/mob/living/carbon/human/bonusTackleDefense(var/tD = 0)
@@ -313,6 +315,8 @@
tD += C.defenseTackleBonus()
if(species)
tD += species.tacklePower
+ if(reagents.has_reagent(SQUASH))
+ tD *= 1.5
return tD
/mob/living/carbon/human/bonusTackleRange(var/tR = 0)
@@ -325,6 +329,8 @@
var/obj/item/slowSuit = wear_suit
if(slowSuit.slowdown > NO_SLOWDOWN)
tR -= 1
+ if(reagents.has_reagent(SQUASH))
+ tR *= 2
if(reagents.get_sportiness()>=5)
tR += 1
return max(0, tR)
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index deee2b9d6ec..5113fc34299 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -4225,5 +4225,12 @@
required_catalysts = list(ZOMBIEPOWDER = 5)
result_amount = 5
+/datum/chemical_reaction/squash
+ name = "Squash"
+ id = SQUASH
+ result = SQUASH
+ required_reagents = list(MANLYDORF = 1, DEGENERATECALCIUM = 1, HYPERZINE = 1)
+ result_amount = 2
+
#undef ALERT_AMOUNT_ONLY
#undef ALERT_ALL_REAGENTS
diff --git a/code/modules/reagents/reagent_containers/food/snacks/grown.dm b/code/modules/reagents/reagent_containers/food/snacks/grown.dm
index c4da7c85bd9..fb828a32b89 100644
--- a/code/modules/reagents/reagent_containers/food/snacks/grown.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks/grown.dm
@@ -569,6 +569,13 @@ var/list/strange_seed_product_blacklist = subtypesof(/obj/item/weapon/reagent_co
qdel(src)
return
+/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/squash
+ name = "slammed squash"
+ desc = "Sometimes used to stop zombies invading your lawn."
+ potency = 10
+ filling_color = "#F5CD62"
+ plantname = "squash"
+
/obj/item/weapon/reagent_containers/food/snacks/grown/lime
name = "lime"
desc = "It's so sour, your face will twist."
diff --git a/code/modules/reagents/reagents/reagents_drug.dm b/code/modules/reagents/reagents/reagents_drug.dm
index d1b9ba91e93..cca4db5b7d3 100644
--- a/code/modules/reagents/reagents/reagents_drug.dm
+++ b/code/modules/reagents/reagents/reagents_drug.dm
@@ -508,3 +508,56 @@
reagent_state = REAGENT_STATE_SOLID
color = "#4c1e00" //rgb: 76, 30, 0
density = 1.01
+
+/datum/reagent/squash
+ name = "Squash"
+ id = SQUASH
+ description = "High quality squash, makes you thick and stout, but can have extreme recoil on non-dwarves."
+ reagent_state = REAGENT_STATE_LIQUID
+ color = "#F5CD62" //rgb: 245, 205, 98
+ density = 4 //thick?
+ custom_metabolism = 0.05
+ var/keklookatthisdude = 0
+
+/datum/reagent/squash/on_mob_life(var/mob/living/M)
+ if(..())
+ return 1
+
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ if(prob(1))
+ H.say(pick("ROCK AND STONE!", "I am a dwarf and I'm digging a hole!"))
+ if((H.dna.GetSEState(SMALLSIZEBLOCK)) == FALSE) //you skip all this shit if you are a dwarf
+ switch(tick)
+ if(1 to 15)
+ H.adjustBruteLoss(rand(2,6))
+ H.Jitter(5)
+ if(prob(15) && H.feels_pain())
+ to_chat(H, "Your bones itch!")
+ if(16 to INFINITY)
+ if(!keklookatthisdude)
+ H.dna.SetSEState(SMALLSIZEBLOCK, TRUE)
+ domutcheck(H,null,MUTCHK_FORCED)
+ to_chat(H,"You feel as tough as a dwarf and suddenly shrink!")
+ message_admins("Look at this dude: [key_name(M)] became tiny (on squash (dwarf reagent))! ([formatJumpTo(M)])")
+ keklookatthisdude = 1
+
+/datum/reagent/squash/reagent_deleted()
+ if(..())
+ return 1
+
+ if(!holder)
+ return
+ var/mob/M = holder.my_atom
+
+ if(ishuman(M))
+ if(keklookatthisdude) //you skip this if you were a TRVE (gene) dwarf
+ var/mob/living/carbon/human/H = M
+ keklookatthisdude = 0
+ H.dna.SetSEState(SMALLSIZEBLOCK, FALSE)
+ domutcheck(H,null,MUTCHK_FORCED)
+ for (var/datum/organ/external/E in H.organs)
+ if(E.min_broken_damage == E.max_damage) //You went out of your way to harden your bones, your bones are safe
+ return
+ else
+ E.fracture() //every bone in me body is broke - demoman
diff --git a/icons/obj/hydroponics/squash.dmi b/icons/obj/hydroponics/squash.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..982c4436c04c1f4712a531b033c725f2aedbf748
GIT binary patch
literal 929
zcmV;S177@zP)HnE;o)g#Ts$jAKj7ub#M(d-%Ch;ExLX*O|VH
zaN?Zg`@Sal+I{%aYxT`y^}jFj#Z>giR`<_o`QnZ6!&33YQ}Vbd|BD?000001bW%=J
z06^y0W&i*Hk$O~EbVOxyV{&P5bZKvH004NLQ&wi#LHARVwGbOXA7|1o`;!G<_%uR)`
z5sFF@(^GW~iBxAqq&j1Q>M|0G%2JC<2&zj-O(g7zf};GC(&SWJ>Xa2+{anC72mqo;
zTsBFbp05A^0#ZptK~!jg?U&(l;xG(^9jJYcNkY;w0ou~O|6879IiXD?T-xg9et4Oo
zomsM5Z=s0rd?)$`zIe
zOSgnKte*h8n9l)8>>~=c|fQxgHBOs#hqVK$C%BZ%}qr4S1885aT
zHd1H;_-^)Lt5$@on2Td?rxvdPur&)`+UxJiFaJ}^7w>{!11J%Sii(PgioPPt&4YLN
zd4NyTz%(D;>3>0S=%J~DottugR3ldaa+ZcB?)sc>OdH=i5fHDM=KJ;Vmh;=LgX~TQ
zz-2ZLd~vnh8gqW^Plr8f1q_VObbes3-uJhCL&;4nM%W6NUA<+`FGD}{NSOR#;1imz
zH7%cRv2Gl`+53IyKlw;w^Pz&ad3xgVV{aXW&`Dt7L*@s6&mr0dyMx=^EUTb=Je{Qe
zF1l~
z!1Vd_ZL>J8=KQSee7Ktf?((x*eta2_^NWg#ihfZJe%V#?;Y%zWGzrFq@fb7#hw*e)
z1q5}#Q5S#(JnI3%X@mmwDhMwTpp_p|zE+3AE9UEUD7+p{V+3dwa7YEHb?5~PxF`aS
zP{8G)cay>+Fh0LQzT#baJfAh6GGpEYN-w{t=s(q8Ad@0{aiByR00000NkvXXu0mjf
DgZZ?c
literal 0
HcmV?d00001