Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hydrotweaks: more regnant interactions + borg qol + balance tweaks #5909

Open
wants to merge 5 commits 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
3 changes: 2 additions & 1 deletion code/__DEFINES/_hydro_setup.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,10 @@
#define TRAIT_FLESH_COLOUR "39"
#define TRAIT_CHEM_SPRAYER "40"
#define TRAIT_WALL_HUGGER "41"
#define TRAIT_INVASIVE "42"//Allows to invade already seeded tiles
#define TRAIT_INVASIVE "42" //Allows to invade already seeded tiles
#define TRAIT_BOOSTED_GROWTH "43" // 1 by default, increase it to boost plant growth
#define TRAIT_LARGE "44"
#define TRAIT_CHEM_PRODUCTION "45"
#define TRAIT_COMPANION_PLANT "46" //tray_process.dm for how this one works

#define WALL_HUG_OFFSET 12 //How many pixels a wallhugging plant is offset towards a wall
20 changes: 10 additions & 10 deletions code/datums/craft/recipes/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,29 +126,29 @@
)

/datum/craft_recipe/consumer/cement_bag
name = "Quick-Cement Bag"
name = "Bag: Quick-Cement"
result = /obj/item/cement_bag
steps = list(
list(/obj/item/stack/ore/glass, 2),
list(/obj/item/stack/rods, 2),
list(/obj/item/stack/ore, 3),
list(/obj/item/stack/ore/glass, 2, "time" = 2),
list(/obj/item/stack/rods, 1, "time" = 2),
list(/obj/item/stack/ore, 1, "time" = 2),
list(QUALITY_HAMMERING, 1, 12),
list(QUALITY_SHOVELING, 1, 15)
)

/datum/craft_recipe/consumer/hydro_tray_plant_bag_water
name = "Woodchips Bag"
name = "Bag: Woodchips"
result = /obj/item/hydro_tray_plant_bag_water
steps = list(
list(CRAFT_MATERIAL, 10, MATERIAL_WOOD),
list(QUALITY_CUTTING, 10, 10)
list(CRAFT_MATERIAL, 10, MATERIAL_WOOD, "time" = 15),
list(QUALITY_CUTTING, 5, 5)
)

/datum/craft_recipe/consumer/hydro_tray_plant_bag_nutrient
name = "Mealworms Bag"
name = "Bag: Mealworms"
result = /obj/item/hydro_tray_plant_bag_nutrient
steps = list(
list(/obj/item/stack/ore, 2),
list(/obj/item/reagent_containers/food/snacks/meat, 2), // 10u oil per meat
list(/obj/item/stack/ore, 2, "time" = 15),
list(/obj/item/reagent_containers/food/snacks/meat, 2, "time" = 2),
list(QUALITY_CUTTING, 10, 10)
)
8 changes: 8 additions & 0 deletions code/game/objects/items/devices/scanners/plant.dm
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,9 @@
if(2)
dat += "<br>It is carnivorous and poses a significant threat to living things around it."

if(grown_seed.get_trait(TRAIT_COMPANION_PLANT))
dat += "<br>It will yields, production, and growth of other plants close to itself."

if(grown_seed.get_trait(TRAIT_PARASITE))
dat += "<br>It is capable of parisitizing and gaining sustenance from tray weeds."

Expand Down Expand Up @@ -233,6 +236,11 @@
dat += "<br>Expected reagent production: [chem_exspection]x (i.e mult)."


if(grown_seed.companions)
for(var/friends in grown_seed.companions)
dat += "<br>This plant has benefits when growing next to [friends]."


return JOINTEXT(dat)

// A special paper that we can scan with the science tool
Expand Down
47 changes: 25 additions & 22 deletions code/modules/hydroponics/seed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,26 +32,27 @@

/datum/seed
//Tracking.
var/uid // Unique identifier.
var/name // Index for global list.
var/seed_name // Plant name for seed packet.
var/seed_noun = "seeds" // Descriptor for packet.
var/display_name // Prettier name.
var/roundstart // If set, seed will not display variety number.
var/mysterious // Only used for the random seed packets.
var/can_self_harvest = 0 // Mostly used for living mobs.
var/growth_stages = 0 // Number of stages the plant passes through before it is mature.
var/list/materials // List used to determine material values for recycling in autolathe
var/list/origin_tech = list() // List used to determine research values for recyling in deconstructive analyzer
var/list/traits = list() // Initialized in New()
var/list/mutants // Possible predefined mutant varieties, if any.
var/list/greatMutants // Possible floral gun mutations
var/list/evolutions =list() // Possible floral evolutions
var/list/chems // Chemicals that plant produces in products/injects into victim.
var/list/consume_gasses // The plant will absorb these gasses during its life.
var/list/exude_gasses // The plant will exude these gasses during its life.
var/kitchen_tag // Used by the reagent grinder.
var/trash_type // Garbage item produced when eaten.
var/uid // Unique identifier.
var/name // Index for global list.
var/seed_name // Plant name for seed packet.
var/seed_noun = "seeds" // Descriptor for packet.
var/display_name // Prettier name.
var/roundstart // If set, seed will not display variety number.
var/mysterious // Only used for the random seed packets.
var/can_self_harvest = 0 // Mostly used for living mobs.
var/growth_stages = 0 // Number of stages the plant passes through before it is mature.
var/list/materials // List used to determine material values for recycling in autolathe
var/list/origin_tech =list() // List used to determine research values for recyling in deconstructive analyzer
var/list/traits = list() // Initialized in New()
var/list/mutants // Possible predefined mutant varieties, if any.
var/list/greatMutants // Possible floral gun mutations
var/list/evolutions =list() // Possible floral evolutions
var/list/chems // Chemicals that plant produces in products/injects into victim.
var/list/consume_gasses // The plant will absorb these gasses during its life.
var/list/exude_gasses // The plant will exude these gasses during its life.
var/list/companions =list() // What plants this one gets boosts *This is for the plant itself not affecting others*
var/kitchen_tag // Used by the reagent grinder.
var/trash_type // Garbage item produced when eaten.
var/splat_type = /obj/effect/decal/cleanable/fruit_smudge // Graffiti decal.
var/has_mob_product
var/force_layer
Expand All @@ -78,7 +79,7 @@
set_trait(TRAIT_PLANT_ICON, 0) // Icon to use for the plant growing in the tray.
set_trait(TRAIT_PRODUCT_COLOUR, 0) // Colour to apply to product icon.
set_trait(TRAIT_BIOLUM_COLOUR, 0) // The colour of the plant's radiance.
set_trait(TRAIT_CHEM_SPRAYER, 0) // The ability to spray its chemicals on movement.
set_trait(TRAIT_CHEM_SPRAYER, 0) // The ability to spray its chemicals on movement.
set_trait(TRAIT_POTENCY, 1) // General purpose plant strength value.
set_trait(TRAIT_REQUIRES_NUTRIENTS, 1) // The plant can starve.
set_trait(TRAIT_REQUIRES_WATER, 1) // The plant can become dehydrated.
Expand Down Expand Up @@ -521,6 +522,8 @@
set_trait(TRAIT_BIOLUM_COLOUR,get_random_colour(0,75,190))
if(prob(1))
set_trait(TRAIT_CHEM_PRODUCTION,1)
if(prob(10))
set_trait(TRAIT_COMPANION_PLANT,1)

set_trait(TRAIT_ENDURANCE,rand(60,100))
set_trait(TRAIT_YIELD,rand(3,15))
Expand Down Expand Up @@ -709,7 +712,7 @@
if(GENE_PIGMENT)
traits_to_copy = list(TRAIT_PLANT_COLOUR,TRAIT_PRODUCT_COLOUR,TRAIT_BIOLUM_COLOUR)
if(GENE_STRUCTURE)
traits_to_copy = list(TRAIT_PLANT_ICON,TRAIT_PRODUCT_ICON,TRAIT_HARVEST_REPEAT)
traits_to_copy = list(TRAIT_PLANT_ICON,TRAIT_PRODUCT_ICON,TRAIT_HARVEST_REPEAT, TRAIT_COMPANION_PLANT)
if(GENE_FRUIT)
traits_to_copy = list(TRAIT_STINGS,TRAIT_EXPLOSIVE,TRAIT_FLESH_COLOUR,TRAIT_JUICY,TRAIT_CHEM_SPRAYER)
if(GENE_SPECIAL)
Expand Down
Loading
Loading