Skip to content

Commit

Permalink
Merge pull request #5909 from Trilbyspaceclone/hydro_tweaks
Browse files Browse the repository at this point in the history
hydrotweaks: more regnant interactions + borg qol + balance tweaks
  • Loading branch information
Trilbyspaceclone authored Dec 28, 2024
2 parents b1d59d9 + a50e753 commit e1b6807
Show file tree
Hide file tree
Showing 12 changed files with 187 additions and 71 deletions.
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

0 comments on commit e1b6807

Please sign in to comment.