diff --git a/code/datums/hydroponics/plants_alien.dm b/code/datums/hydroponics/plants_alien.dm index c12323c3..97f6c13a 100644 --- a/code/datums/hydroponics/plants_alien.dm +++ b/code/datums/hydroponics/plants_alien.dm @@ -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("[POT.name] meows!") + + if (POT.growth > (P.harvtime + DNA.harvtime + 10)) + var/obj/critter/cat/synth/C = new(POT.loc) + C.health = POT.health + POT.visible_message("The synthcat climbs out of the tray!") + 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("[POT.name] hisses!") + // Weird Shit /datum/plant/maneater diff --git a/code/datums/hydroponics/plants_flower.dm b/code/datums/hydroponics/plants_flower.dm new file mode 100644 index 00000000..c74a97ed --- /dev/null +++ b/code/datums/hydroponics/plants_flower.dm @@ -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) \ No newline at end of file diff --git a/code/datums/hydroponics/plants_fruit.dm b/code/datums/hydroponics/plants_fruit.dm index 4e260f53..13b90ff2 100644 --- a/code/datums/hydroponics/plants_fruit.dm +++ b/code/datums/hydroponics/plants_fruit.dm @@ -231,4 +231,36 @@ endurance = 1 genome = 18 nectarlevel = 10 - assoc_reagents = list("juice_strawberry") \ No newline at end of file + 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) + diff --git a/code/obj/critter/pets_small_animals.dm b/code/obj/critter/pets_small_animals.dm index 4cc84fe4..60abc0d0 100644 --- a/code/obj/critter/pets_small_animals.dm +++ b/code/obj/critter/pets_small_animals.dm @@ -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." diff --git a/code/obj/item/food/plants.dm b/code/obj/item/food/plants.dm index a95effd2..426f43b1 100644 --- a/code/obj/item/food/plants.dm +++ b/code/obj/item/food/plants.dm @@ -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." diff --git a/code/obj/item/plants.dm b/code/obj/item/plants.dm index 09740650..067c5651 100644 --- a/code/obj/item/plants.dm +++ b/code/obj/item/plants.dm @@ -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, "You prick yourself on [src]'s thorns trying to pick it up!") + 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, "You snip off [src]'s thorns.") + src.thorned = 0 + src.desc += " Its thorns have been snipped off." + return + ..() + return \ No newline at end of file diff --git a/code/obj/item/seeds.dm b/code/obj/item/seeds.dm index 801093bf..5215c778 100644 --- a/code/obj/item/seeds.dm +++ b/code/obj/item/seeds.dm @@ -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 @@ -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) \ No newline at end of file diff --git a/code/obj/submachine/seed.dm b/code/obj/submachine/seed.dm index a5c9bee1..6787acdf 100644 --- a/code/obj/submachine/seed.dm +++ b/code/obj/submachine/seed.dm @@ -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() diff --git a/goonstation.dme b/goonstation.dme index c49da5f1..79eb7eff 100644 --- a/goonstation.dme +++ b/goonstation.dme @@ -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" @@ -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 diff --git a/icons/misc/critter.dmi b/icons/misc/critter.dmi index fac7e0ea..19b3ea18 100644 Binary files a/icons/misc/critter.dmi and b/icons/misc/critter.dmi differ diff --git a/icons/obj/foodNdrink/food_produce.dmi b/icons/obj/foodNdrink/food_produce.dmi index f11585aa..89b4e975 100644 Binary files a/icons/obj/foodNdrink/food_produce.dmi and b/icons/obj/foodNdrink/food_produce.dmi differ diff --git a/icons/obj/hydroponics/hydro_alien.dmi b/icons/obj/hydroponics/hydro_alien.dmi index 9915b54b..7f19c1ad 100644 Binary files a/icons/obj/hydroponics/hydro_alien.dmi and b/icons/obj/hydroponics/hydro_alien.dmi differ diff --git a/icons/obj/hydroponics/hydromisc.dmi b/icons/obj/hydroponics/hydromisc.dmi index 03d618af..866e7b76 100644 Binary files a/icons/obj/hydroponics/hydromisc.dmi and b/icons/obj/hydroponics/hydromisc.dmi differ diff --git a/icons/obj/hydroponics/hydroponics.dmi b/icons/obj/hydroponics/hydroponics.dmi index d67ee845..b22062ee 100644 Binary files a/icons/obj/hydroponics/hydroponics.dmi and b/icons/obj/hydroponics/hydroponics.dmi differ