mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-20 18:47:20 +01:00
* Many botany QoL changes. * Give observers a plant analyzer. * Hooks should be executable. * Completely new botany mutation mechanics. * Minor fixes, changed vendor contents. * Add charcoal to NutriMax extended inventory. * Lint. * Reset somatoray beam effects in a few more places. * Mapped in seed sorting trays and mutrient. * Slimmed down the seed sorting tray. * Update unsorted seeds with analyzer, ghost-analyzer, and HUD support. * Make english_list null-safe (and slightly faster). * Fixed a mutation focus bug, added plant anayzer attackby to unsorted seeds. * Made self-sufficient trays display their nutrient as Earthsblood. * Improved descriptions and on-use texts. * Added 5 dropers and 3 seed sorting trays to NutriMax. * Mark stuff as notices, special case for duplicate doping. * New way to get kudzu, QoL changes. * Yield somatoray adds a message to the yield stat. * Unsorted seeds produce a message when you try to put them in a tray or machine. * Potassium iodide and pentetic acid will now neutralize the tray's mutagen. * Using a plant bag on a seed extractor will now process plants into seeds if there are no seeds in it. * Bonk. * Don't try to extract no seeds. * Butterfingers. * Bonk more. * Add seed sorting trays to perma. * Upgraded Seed Extractor GUI. * Do not drop that which you do not extract. * Don't bug out when removing the last seed. * You want a tgui rebuild? Have a tgui rebuild. * Drop trait-adding threshold by 10. Before: Needs modified mutation level >50. With the x2 from 9+ seeds, this happens at base mutation level 25. With maximum mutation level of 35 (L4Z+mutagen+somatoray), chance was 20%. Required either L4Z (yield set to 1), or a somatoray (external help) for any chance. After: Needs modified mutation level >40. With the x2 from 9+ seeds, this happens at base mutation level 20. With maximum mutation level of 35 (L4Z+mutagen+somatoray), chance is 30%. Can get 10% chance with mutation level 25 (Mut+mutagen). * Renamed mutagen level -> mutagen tank * Left-align seed extractor, more efficient icon sending. * New sprite thanks to McRamon. * tgui rebuild --------- Co-authored-by: FunnyMan3595 (Charlie Nolan) <funnyman@google.com>
217 lines
6.7 KiB
Plaintext
217 lines
6.7 KiB
Plaintext
// Starthistle
|
|
/obj/item/seeds/starthistle
|
|
name = "pack of starthistle seeds"
|
|
desc = "A robust species of weed that often springs up in-between the cracks of spaceship parking lots"
|
|
icon_state = "seed-starthistle"
|
|
species = "starthistle"
|
|
plantname = "Starthistle"
|
|
lifespan = 70
|
|
endurance = 50 // damm pesky weeds
|
|
maturation = 5
|
|
production = 1
|
|
yield = 2
|
|
potency = 10
|
|
growthstages = 3
|
|
growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi'
|
|
genes = list(/datum/plant_gene/trait/plant_type/weed_hardy)
|
|
|
|
/obj/item/seeds/starthistle/harvest(mob/user)
|
|
var/obj/machinery/hydroponics/parent = loc
|
|
var/output_loc = parent.Adjacent(user) ? user.loc : parent.loc
|
|
var/seed_count = getYield()
|
|
for(var/i in 1 to seed_count)
|
|
var/obj/item/seeds/starthistle/harvestseeds = Copy()
|
|
harvestseeds.forceMove(output_loc)
|
|
|
|
parent.update_tray(user, seed_count)
|
|
|
|
// Lettuce
|
|
/obj/item/seeds/lettuce
|
|
name = "pack of lettuce seeds"
|
|
desc = "These seeds grow into lettuces."
|
|
icon_state = "seed-lettuce"
|
|
species = "cabbage"
|
|
plantname = "Lettuces"
|
|
product = /obj/item/food/snacks/grown/lettuce
|
|
lifespan = 50
|
|
endurance = 25
|
|
maturation = 3
|
|
production = 5
|
|
yield = 4
|
|
growthstages = 1
|
|
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
|
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
|
reagents_add = list("vitamin" = 0.04, "plantmatter" = 0.1)
|
|
|
|
/obj/item/food/snacks/grown/lettuce
|
|
seed = /obj/item/seeds/lettuce
|
|
name = "lettuce"
|
|
desc = "Often confused with cabbages."
|
|
icon_state = "lettuce"
|
|
filling_color = "#419541"
|
|
bitesize_mod = 2
|
|
tastes = list("lettuce" = 1)
|
|
wine_power = 0.2
|
|
|
|
// Cabbage
|
|
/obj/item/seeds/cabbage
|
|
name = "pack of cabbage seeds"
|
|
desc = "These seeds grow into cabbages."
|
|
icon_state = "seed-lettuce"
|
|
species = "cabbage"
|
|
plantname = "Cabbages"
|
|
product = /obj/item/food/snacks/grown/cabbage
|
|
lifespan = 50
|
|
endurance = 25
|
|
maturation = 3
|
|
production = 5
|
|
yield = 4
|
|
growthstages = 1
|
|
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
|
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
|
mutatelist = list(/obj/item/seeds/replicapod)
|
|
reagents_add = list("vitamin" = 0.04, "plantmatter" = 0.1)
|
|
|
|
/obj/item/food/snacks/grown/cabbage
|
|
seed = /obj/item/seeds/cabbage
|
|
name = "cabbage"
|
|
desc = "Ewwwwwwwwww. Cabbage."
|
|
icon_state = "cabbage"
|
|
filling_color = "#90EE90"
|
|
bitesize_mod = 2
|
|
tastes = list("cabbage" = 1)
|
|
wine_power = 0.2
|
|
|
|
|
|
// Sugarcane
|
|
/obj/item/seeds/sugarcane
|
|
name = "pack of sugarcane seeds"
|
|
desc = "These seeds grow into sugarcane."
|
|
icon_state = "seed-sugarcane"
|
|
species = "sugarcane"
|
|
plantname = "Sugarcane"
|
|
product = /obj/item/food/snacks/grown/sugarcane
|
|
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
|
lifespan = 60
|
|
endurance = 50
|
|
maturation = 3
|
|
yield = 4
|
|
growthstages = 3
|
|
reagents_add = list("sugar" = 0.25)
|
|
|
|
/obj/item/food/snacks/grown/sugarcane
|
|
seed = /obj/item/seeds/sugarcane
|
|
name = "sugarcane"
|
|
desc = "Sickly sweet."
|
|
icon_state = "sugarcane"
|
|
filling_color = "#FFD700"
|
|
bitesize_mod = 2
|
|
tastes = list("sugarcane" = 1)
|
|
distill_reagent = "rum"
|
|
|
|
/obj/item/seeds/bamboo
|
|
name = "pack of bamboo seeds"
|
|
desc = "A plant known for its flexible and resistant logs."
|
|
icon_state = "seed-bamboo"
|
|
species = "bamboo"
|
|
plantname = "Bamboo"
|
|
product = /obj/item/grown/log/bamboo
|
|
lifespan = 80
|
|
endurance = 70
|
|
maturation = 15
|
|
production = 2
|
|
yield = 5
|
|
potency = 50
|
|
growthstages = 3
|
|
growing_icon = 'icons/obj/hydroponics/growing.dmi'
|
|
icon_dead = "bamboo-dead"
|
|
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
|
mutatelist = null
|
|
|
|
/obj/item/grown/log/bamboo
|
|
seed = /obj/item/seeds/bamboo
|
|
name = "bamboo log"
|
|
desc = "A long and resistant bamboo log."
|
|
icon_state = "bamboo"
|
|
plank_type = /obj/item/stack/sheet/bamboo // this needs to get datumized :)
|
|
plank_name = "bamboo sticks"
|
|
|
|
// Gatfruit
|
|
/obj/item/seeds/gatfruit
|
|
name = "pack of gatfruit seeds"
|
|
desc = "These seeds grow into .357 revolvers."
|
|
icon_state = "seed-gatfruit"
|
|
species = "gatfruit"
|
|
plantname = "Gatfruit Tree"
|
|
product = /obj/item/food/snacks/grown/shell/gatfruit
|
|
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
|
lifespan = 20
|
|
endurance = 20
|
|
maturation = 40
|
|
production = 10
|
|
yield = 2
|
|
potency = 60
|
|
growthstages = 2
|
|
rarity = 60 // Obtainable only with xenobio+superluck.
|
|
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
|
reagents_add = list("sulfur" = 0.1, "carbon" = 0.1, "nitrogen" = 0.07, "potassium" = 0.05)
|
|
|
|
/obj/item/food/snacks/grown/shell/gatfruit
|
|
seed = /obj/item/seeds/gatfruit
|
|
name = "gatfruit"
|
|
desc = "It smells like burning."
|
|
icon_state = "gatfruit"
|
|
origin_tech = "combat=6"
|
|
trash = /obj/item/gun/projectile/revolver/overgrown
|
|
tastes = list("2nd amendment" = 1, "freedom" = 1)
|
|
bitesize_mod = 2
|
|
wine_power = 0.9 //It burns going down, too.
|
|
|
|
//Cherry Bombs
|
|
/obj/item/seeds/cherry/bomb
|
|
name = "pack of cherry bomb pits"
|
|
desc = "They give you vibes of dread and frustration."
|
|
icon_state = "seed-cherry_bomb"
|
|
species = "cherry_bomb"
|
|
plantname = "Cherry Bomb Tree"
|
|
product = /obj/item/food/snacks/grown/cherry_bomb
|
|
mutatelist = list()
|
|
reagents_add = list("plantmatter" = 0.1, "sugar" = 0.1, "blackpowder" = 0.7)
|
|
rarity = 60 //See above
|
|
|
|
/obj/item/food/snacks/grown/cherry_bomb
|
|
name = "cherry bombs"
|
|
desc = "You think you can hear the hissing of a tiny fuse."
|
|
icon_state = "cherry_bomb"
|
|
filling_color = rgb(20, 20, 20)
|
|
seed = /obj/item/seeds/cherry/bomb
|
|
bitesize_mod = 2
|
|
tastes = list("cherry" = 1, "explosion" = 1)
|
|
volume = 125 //Gives enough room for the black powder at max potency
|
|
max_integrity = 40
|
|
wine_power = 0.8
|
|
|
|
/obj/item/food/snacks/grown/cherry_bomb/attack_self(mob/living/user)
|
|
var/area/A = get_area(user)
|
|
user.visible_message("<span class='warning'>[user] plucks the stem from [src]!</span>", "<span class='userdanger'>You pluck the stem from [src], which begins to hiss loudly!</span>")
|
|
message_admins("[user] ([user.key ? user.key : "no key"]) primed a cherry bomb for detonation at [A] ([user.x], [user.y], [user.z]) <A href='byond://?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>(JMP)</a>")
|
|
log_game("[user] ([user.key ? user.key : "no key"]) primed a cherry bomb for detonation at [A] ([user.x],[user.y],[user.z]).")
|
|
if(iscarbon(user))
|
|
var/mob/living/carbon/C = user
|
|
C.throw_mode_on()
|
|
prime()
|
|
|
|
/obj/item/food/snacks/grown/cherry_bomb/deconstruct(disassembled = TRUE)
|
|
if(!disassembled)
|
|
prime()
|
|
if(!QDELETED(src))
|
|
qdel(src)
|
|
|
|
/obj/item/food/snacks/grown/cherry_bomb/ex_act(severity)
|
|
qdel(src) //Ensuring that it's deleted by its own explosion. Also prevents mass chain reaction with piles of cherry bombs
|
|
|
|
/obj/item/food/snacks/grown/cherry_bomb/proc/prime()
|
|
icon_state = "cherry_bomb_lit"
|
|
playsound(src, 'sound/goonstation/misc/fuse.ogg', seed.potency, 0)
|
|
reagents.set_reagent_temp(1000) //Sets off the black powder
|