Skip to content
This repository has been archived by the owner on Apr 16, 2021. It is now read-only.

UM-033 - Pears, Peaches, Roses, And Cats #181

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions code/datums/hydroponics/plants_alien.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,47 @@
endurance = 20
assoc_reagents = list("omnizine")

/datum/plant/artifact/cat
name = "Synthetic Cat"
special_icon = "cat"
crop = /obj/critter/cat/synth
unique_seed = /obj/item/seed/alien/cat
starthealth = 90 // 9 lives
growtime = 100
harvtime = 150
endurance = 30
special_proc = 1
attacked_proc = 1
harvestable = 0

HYPspecial_proc(var/obj/machinery/plantpot/POT)
..()
if (.) return
var/datum/plant/P = POT.current
var/datum/plantgenes/DNA = POT.plantgenes

if (POT.growth > (P.growtime + DNA.growtime) && prob(16))
playsound(get_turf(POT),'sound/effects/cat.ogg',30,1,-1)
POT.visible_message("<span style=\"color:red\"><b>[POT.name]</b> meows!</span>")

if (POT.growth > (P.harvtime + DNA.harvtime + 10))
var/obj/critter/cat/synth/C = new(POT.loc)
C.health = POT.health
POT.visible_message("<span style=\"color:blue\">The synthcat climbs out of the tray!</span>")
POT.HYPdestroyplant()
return

HYPattacked_proc(var/obj/machinery/plantpot/POT,var/mob/user)
..()
if (.) return
var/datum/plant/P = POT.current
var/datum/plantgenes/DNA = POT.plantgenes

if (POT.growth < (P.growtime + DNA.growtime)) return 0

playsound(get_turf(POT),'sound/effects/cat_hiss.ogg',30,1,-1)
POT.visible_message("<span style=\"color:red\"><b>[POT.name]</b> hisses!</span>")

// Weird Shit

/datum/plant/maneater
Expand Down
15 changes: 15 additions & 0 deletions code/datums/hydroponics/plants_flower.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/datum/plant/rose
name = "Rose"
category = "Flower" //????
seedcolor = "#AA2222"
crop = /obj/item/plant/flower/rose
starthealth = 20
growtime = 30
harvtime = 100
cropsize = 5
harvests = 1
endurance = 0
nectarlevel = 12
genome = 7
mutations = list()
commuts = list(/datum/plant_gene_strain/immunity_radiation,/datum/plant_gene_strain/damage_res/bad)
34 changes: 33 additions & 1 deletion code/datums/hydroponics/plants_fruit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -231,4 +231,36 @@
endurance = 1
genome = 18
nectarlevel = 10
assoc_reagents = list("juice_strawberry")
assoc_reagents = list("juice_strawberry")

/datum/plant/pear
name = "Pear"
category = "Fruit"
seedcolor = "#3FB929"
crop = /obj/item/reagent_containers/food/snacks/plant/pear
starthealth = 40
growtime = 200
harvtime = 260
cropsize = 3
harvests = 10
endurance = 5
genome = 19
nectarlevel = 10
commuts = list(/datum/plant_gene_strain/quality)

/datum/plant/peach
name = "Peach"
category = "Fruit"
seedcolor = "#DEBA5F"
crop = /obj/item/reagent_containers/food/snacks/plant/peach
starthealth = 40
growtime = 200
harvtime = 260
cropsize = 3
harvests = 10
endurance = 5
genome = 19
nectarlevel = 10
assoc_reagents = list("juice_peach")
commuts = list(/datum/plant_gene_strain/quality)

11 changes: 11 additions & 0 deletions code/obj/critter/pets_small_animals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,17 @@ var/list/cat_names = list("Gary", "Mittens", "Mr. Jingles", "Rex", "Jasmine", "L
spawn(10)
src.attacking = 0

/obj/critter/cat/synth
icon_state = "catsynth"
cattype = "synth"
randomize_cat = 0
generic = 0
desc = "Although this cat is vegan, it's still a carnivore."

New()
name = pick(cat_names)
..()

/obj/critter/dog/george
name = "George"
desc = "Good dog."
Expand Down
27 changes: 27 additions & 0 deletions code/obj/item/food/plants.dm
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,33 @@
food_color = "#FF2244"
plant_reagent = "juice_strawberry"

/obj/item/reagent_containers/food/snacks/plant/pear/
name = "pear"
desc = "Whether or not you like the taste, its freshness is appearant."
icon_state = "pear"
planttype = /datum/plant/pear
amount = 1
heal_amt = 2
brewable = 1
brew_result = "cider" // pear cider is delicious, fuck you.
food_color = "#3FB929"

/obj/item/reagent_containers/food/snacks/plant/peach/
name = "peach"
desc = "Feelin' peachy now, but after you eat it it's the pits."
icon_state = "peach"
planttype = /datum/plant/peach
amount = 1
heal_amt = 2
food_color = "#DEBA5F"

New()
..()
if(prob(10)) // For Sartorius
src.desc = pick("These peaches do not come from a can, they were not put there by a man.",
"Millions of peaches, peaches for me. Millions of peaches, peaches for free.",
"If I had my little way, I'd each peaches every day.", "Nature's candy in my hand, or a can, or a pie")

/obj/item/reagent_containers/food/snacks/plant/apple/
name = "apple"
desc = "Implied by folklore to repel medical staff."
Expand Down
42 changes: 42 additions & 0 deletions code/obj/item/plants.dm
Original file line number Diff line number Diff line change
Expand Up @@ -198,3 +198,45 @@
brew_result = "catdrugs"
module_research = list("vice" = 3)
module_research_type = /obj/item/plant/herb/cannabis

// FLOWERS //

/obj/item/plant/flower
// PLACEHOLDER FOR FLOURISH'S PLANT PLOT STUFF

/obj/item/plant/flower/rose
name = "rose"
desc = "By any other name, would smell just as sweet. This one likes to be called "
icon_state = "rose"
var/thorned = 1
var/list/names = list("Emma", "Olivia", "Ava", "Isabella", "Sophia", "Charlotte", "Mia", "Amelia",
"Harper", "Evelyn", "Abigail", "Emily", "Elizabeth", "Mila", "Dakota", "Avery",
"Sofia", "Camila", "Aria", "Scarlett", "Liam", "Noah", "William", "James",
"Oliver", "Benjamin", "Elijah", "Lucas", "Mason", "Logan", "Alexander", "Ethan",
"Jacob", "Michael", "Daniel", "Henry", "Jackson", "Sebastian", "Aiden", "Matthew")

New()
..()
desc = desc + pick(names) + "."

attack_hand(mob/user as mob)
var/mob/living/carbon/human/H = user
if(src.thorned)
if(istype(H))
if(H.gloves)
..()
return
boutput(user, "<span style=\"color:red\">You prick yourself on [src]'s thorns trying to pick it up!</span>")
random_brute_damage(user, 3)
take_bleeding_damage(user,null,3,DAMAGE_STAB)
else
..()

attackby(obj/item/W as obj, mob/user as mob)
if (istype(W, /obj/item/wirecutters/) && src.thorned)
boutput(user, "<span style=\"color:blue\">You snip off [src]'s thorns.</span>")
src.thorned = 0
src.desc += " Its thorns have been snipped off."
return
..()
return
8 changes: 7 additions & 1 deletion code/obj/item/seeds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,13 @@
New()
if (src.type == /obj/item/seed/alien)
// let's make the base seed randomise itself for fun and also for functionality
switch(rand(1,5))
switch(rand(1,6))
if (1) src.planttype = HY_get_species_from_path(/datum/plant/artifact/pukeplant)
if (2) src.planttype = HY_get_species_from_path(/datum/plant/artifact/dripper)
if (3) src.planttype = HY_get_species_from_path(/datum/plant/artifact/rocks)
if (4) src.planttype = HY_get_species_from_path(/datum/plant/artifact/litelotus)
if (5) src.planttype = HY_get_species_from_path(/datum/plant/artifact/peeker)
if (6) src.planttype = HY_get_species_from_path(/datum/plant/artifact/cat)
..()

/obj/item/seed/alien/pukeplant
Expand All @@ -159,3 +160,8 @@
New()
..()
src.planttype = HY_get_species_from_path(/datum/plant/artifact/peeker)

/obj/item/seed/alien/cat
New()
..()
src.planttype = HY_get_species_from_path(/datum/plant/artifact/cat)
2 changes: 1 addition & 1 deletion code/obj/submachine/seed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,7 @@
if(href_list["category"])
if (src.category) src.category = null
else
var/filter = input(usr, "Filter by which category?", "[src.name]", 0) in list("Fruit","Vegetable","Herb","Miscellaneous")
var/filter = input(usr, "Filter by which category?", "[src.name]", 0) in list("Fruit","Vegetable","Herb","Flower","Miscellaneous")
if(!filter) return
src.category = filter
src.updateUsrDialog()
Expand Down
2 changes: 1 addition & 1 deletion goonstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,7 @@ var/datum/preMapLoad/preMapLoad = new
#include "code\datums\hydroponics\plants.dm"
#include "code\datums\hydroponics\plants_alien.dm"
#include "code\datums\hydroponics\plants_crop.dm"
#include "code\datums\hydroponics\plants_flower.dm"
#include "code\datums\hydroponics\plants_fruit.dm"
#include "code\datums\hydroponics\plants_herb.dm"
#include "code\datums\hydroponics\plants_veg.dm"
Expand Down Expand Up @@ -1199,7 +1200,6 @@ var/datum/preMapLoad/preMapLoad = new
#include "libs\Base64\hexadecimal.dm"
#include "libs\Base64\text.dm"
#include "maps\_disposaltester.dm"
#include "maps\adv_test.dmm"
#include "maps\config\map.dm"
#include "maps\placeholders\map_placeholders.dm"
// END_INCLUDE
Binary file modified icons/misc/critter.dmi
Binary file not shown.
Binary file modified icons/obj/foodNdrink/food_produce.dmi
Binary file not shown.
Binary file modified icons/obj/hydroponics/hydro_alien.dmi
Binary file not shown.
Binary file modified icons/obj/hydroponics/hydromisc.dmi
Binary file not shown.
Binary file modified icons/obj/hydroponics/hydroponics.dmi
Binary file not shown.