diff --git a/code/modules/hydroponics/_hydro_setup.dm b/code/__DEFINES/hydroponics.dm similarity index 96% rename from code/modules/hydroponics/_hydro_setup.dm rename to code/__DEFINES/hydroponics.dm index a3fd4604a66..a53e66f0a0f 100644 --- a/code/modules/hydroponics/_hydro_setup.dm +++ b/code/__DEFINES/hydroponics.dm @@ -55,4 +55,5 @@ #define TRAIT_PRODUCT_COLOUR 35 #define TRAIT_BIOLUM 36 #define TRAIT_BIOLUM_COLOUR 37 -#define TRAIT_IMMUTABLE 38 \ No newline at end of file +#define TRAIT_IMMUTABLE 38 +#define TRAIT_RARITY 39 \ No newline at end of file diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 78b78c26e27..b8f0db0fefb 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -856,8 +856,8 @@ /obj/item/weapon/gun/projectile/shotgun/combat = 2,/obj/item/weapon/gun/projectile/automatic/gyropistol = 1, /obj/item/weapon/gun/projectile/shotgun = 2,/obj/item/weapon/gun/projectile/automatic/ar = 2) premium = list(/obj/item/ammo_box/magazine/smgm9mm = 2,/obj/item/ammo_box/magazine/m50 = 4,/obj/item/ammo_box/magazine/m45 = 2,/obj/item/ammo_box/magazine/m75 = 2) - contraband = list(/obj/item/clothing/under/patriotsuit = 1,/obj/item/weapon/bedsheet/patriot = 3) - + contraband = list(/obj/item/clothing/under/patriotsuit = 1,/obj/item/weapon/bedsheet/patriot = 3) + /obj/machinery/vending/cigarette name = "Cigarette machine" //OCD had to be uppercase to look nice with the new formating desc = "If you want to get cancer, might as well do it in style" @@ -967,15 +967,14 @@ product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!" product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!" icon_state = "seeds" - - products = list(/obj/item/seeds/bananaseed = 3,/obj/item/seeds/berryseed = 3,/obj/item/seeds/carrotseed = 3,/obj/item/seeds/chantermycelium = 3,/obj/item/seeds/chiliseed = 3, - /obj/item/seeds/cornseed = 3, /obj/item/seeds/eggplantseed = 3, /obj/item/seeds/potatoseed = 3, /obj/item/seeds/replicapod = 3,/obj/item/seeds/soyaseed = 3, - /obj/item/seeds/sunflowerseed = 3,/obj/item/seeds/tomatoseed = 3,/obj/item/seeds/towermycelium = 3,/obj/item/seeds/wheatseed = 3,/obj/item/seeds/appleseed = 3, - /obj/item/seeds/poppyseed = 3,/obj/item/seeds/ambrosiavulgarisseed = 3,/obj/item/seeds/whitebeetseed = 3,/obj/item/seeds/watermelonseed = 3,/obj/item/seeds/limeseed = 3, - /obj/item/seeds/lemonseed = 3,/obj/item/seeds/orangeseed = 3,/obj/item/seeds/grassseed = 3,/obj/item/seeds/cocoapodseed = 3, - /obj/item/seeds/cabbageseed = 3,/obj/item/seeds/grapeseed = 3,/obj/item/seeds/pumpkinseed = 3,/obj/item/seeds/cherryseed = 3,/obj/item/seeds/plastiseed = 3,/obj/item/seeds/riceseed = 3, - /obj/item/seeds/tobaccoseed = 3, /obj/item/seeds/coffeeaseed = 3, /obj/item/seeds/teaasperaseed = 3,/obj/item/seeds/peanutseed = 3) - + products = list(/obj/item/seeds/ambrosiavulgarisseed = 3,/obj/item/seeds/appleseed = 3,/obj/item/seeds/bananaseed = 3,/obj/item/seeds/berryseed = 3, + /obj/item/seeds/cabbageseed = 3,/obj/item/seeds/carrotseed = 3,/obj/item/seeds/cherryseed = 3,/obj/item/seeds/chantermycelium = 3, + /obj/item/seeds/chiliseed = 3,/obj/item/seeds/cocoapodseed = 3,/obj/item/seeds/coffeeaseed = 3,/obj/item/seeds/cornseed = 3, + /obj/item/seeds/eggplantseed = 3,/obj/item/seeds/grapeseed = 3,/obj/item/seeds/grassseed = 3,/obj/item/seeds/lemonseed = 3, + /obj/item/seeds/limeseed = 3,/obj/item/seeds/orangeseed = 3,/obj/item/seeds/peanutseed = 3,/obj/item/seeds/potatoseed = 3,/obj/item/seeds/poppyseed = 3, + /obj/item/seeds/pumpkinseed = 3,/obj/item/seeds/replicapod = 3,/obj/item/seeds/riceseed = 3,/obj/item/seeds/soyaseed = 3,/obj/item/seeds/sunflowerseed = 3, + /obj/item/seeds/teaasperaseed = 3,/obj/item/seeds/tobaccoseed = 3,/obj/item/seeds/tomatoseed = 3, + /obj/item/seeds/towermycelium = 3,/obj/item/seeds/watermelonseed = 3,/obj/item/seeds/wheatseed = 3,/obj/item/seeds/whitebeetseed = 3) contraband = list(/obj/item/seeds/amanitamycelium = 2,/obj/item/seeds/glowshroom = 2,/obj/item/seeds/libertymycelium = 2,/obj/item/seeds/nettleseed = 2, /obj/item/seeds/plumpmycelium = 2,/obj/item/seeds/reishimycelium = 2) premium = list(/obj/item/weapon/reagent_containers/spray/waterflower = 1) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 2c427d62e40..7960132730e 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -153,6 +153,7 @@ var/list/mechtoys = list( var/points_per_intel = 250 //points gained per intel returned var/points_per_design = 25 //points gained per max reliability research design returned (only for initilally unreliable designs) + var/list/discoveredPlants = list() //Typepaths for unusual plants we've already sent CentComm, associated with their potencies var/list/techLevels = list() var/list/researchDesigns = list() //control @@ -260,6 +261,18 @@ var/list/mechtoys = list( points += points_per_design researchDesigns += design.id + // Sell exotic plants + if(istype(A, /obj/item/seeds)) + var/obj/item/seeds/S = A + if(discoveredPlants[S.type]) // This species has already been sent to CentComm + var/potDiff = S.seed.get_trait(TRAIT_POTENCY) - discoveredPlants[S.type] // Compare it to the previous best + if(potDiff > 0) // This sample is better + discoveredPlants[S.type] = S.seed.get_trait(TRAIT_POTENCY) + points += potDiff + else // This is a new discovery! + discoveredPlants[S.type] = S.seed.get_trait(TRAIT_POTENCY) + points += S.seed.get_trait(TRAIT_RARITY) // That's right, no bonus for potency. Send a crappy sample first to "show improvement" later + // If you send something in a crate, centcom's keeping it! - fixes secure crates being sent to centom to open them qdel(A) qdel(MA) @@ -753,4 +766,4 @@ var/list/mechtoys = list( status_signal.transmission_method = 1 status_signal.data["command"] = command - frequency.post_signal(src, status_signal) + frequency.post_signal(src, status_signal) \ No newline at end of file diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 9c19f780199..15ee4a1d395 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -47,6 +47,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_RARITY, 0) // How rare the plant is. Used for giving points to cargo when shipping off to Centcom. 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. diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index dd744858635..fb10cb8de10 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -33,6 +33,7 @@ set_trait(TRAIT_MATURATION,4) set_trait(TRAIT_PRODUCTION,4) set_trait(TRAIT_PRODUCT_COLOUR,"#00EDC6") + set_trait(TRAIT_RARITY,20) /datum/seed/chili/ghost name = "ghostchili" @@ -49,6 +50,7 @@ set_trait(TRAIT_PRODUCTION,10) set_trait(TRAIT_YIELD,3) set_trait(TRAIT_PRODUCT_COLOUR,"#00EDC6") + set_trait(TRAIT_RARITY,20) // Berry plants/variants. /datum/seed/berry @@ -90,6 +92,7 @@ set_trait(TRAIT_YIELD,2) set_trait(TRAIT_POTENCY,10) set_trait(TRAIT_PRODUCT_COLOUR,"c9fa16") + set_trait(TRAIT_RARITY,20) /datum/seed/berry/poison name = "poisonberries" @@ -103,6 +106,7 @@ /datum/seed/berry/poison/New() ..() set_trait(TRAIT_PRODUCT_COLOUR,"#6DC961") + set_trait(TRAIT_RARITY,10) // Mildly poisonous berries are common in reality /datum/seed/berry/poison/death name = "deathberries" @@ -117,6 +121,7 @@ set_trait(TRAIT_YIELD,3) set_trait(TRAIT_POTENCY,50) set_trait(TRAIT_PRODUCT_COLOUR,"#7A5454") + set_trait(TRAIT_RARITY,30) // Nettles/variants. /datum/seed/nettle @@ -155,6 +160,7 @@ set_trait(TRAIT_YIELD,2) set_trait(TRAIT_PRODUCT_COLOUR,"#8C5030") set_trait(TRAIT_PLANT_COLOUR,"#634941") + set_trait(TRAIT_RARITY,10) //Tomatoes/variants. /datum/seed/tomato @@ -192,6 +198,7 @@ ..() set_trait(TRAIT_YIELD,3) set_trait(TRAIT_PRODUCT_COLOUR,"#FF0000") + set_trait(TRAIT_RARITY,20) /datum/seed/tomato/killer name = "killertomato" @@ -206,6 +213,7 @@ ..() set_trait(TRAIT_YIELD,2) set_trait(TRAIT_PRODUCT_COLOUR,"#A86747") + set_trait(TRAIT_RARITY,30) /datum/seed/tomato/blue name = "bluetomato" @@ -219,6 +227,7 @@ ..() set_trait(TRAIT_PRODUCT_COLOUR,"#4D86E8") set_trait(TRAIT_PLANT_COLOUR,"#070AAD") + set_trait(TRAIT_RARITY,20) /datum/seed/tomato/blue/teleport name = "bluespacetomato" @@ -234,6 +243,7 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#00E5FF") set_trait(TRAIT_BIOLUM,1) set_trait(TRAIT_BIOLUM_COLOUR,"#4DA4A8") + set_trait(TRAIT_RARITY,50) //Eggplants/varieties. /datum/seed/eggplant @@ -299,6 +309,7 @@ set_trait(TRAIT_YIELD,3) set_trait(TRAIT_PRODUCT_COLOUR,"#FFDD00") set_trait(TRAIT_PLANT_COLOUR,"#D6B44D") + set_trait(TRAIT_RARITY,40) // Alchemy! //Ambrosia/varieties. /datum/seed/ambrosia @@ -330,6 +341,10 @@ kitchen_tag = "ambrosiadeus" preset_icon = "ambrosiadeus" +/datum/seed/ambrosia/deus/New() + ..() + set_trait(TRAIT_RARITY,40) + //Tobacco/varieties /datum/seed/tobacco name = "tobacco" @@ -366,6 +381,7 @@ set_trait(TRAIT_POTENCY, 5) set_trait(TRAIT_PRODUCT_COLOUR,"#A3F0AD") set_trait(TRAIT_PLANT_COLOUR,"#2A9C61") + set_trait(TRAIT_RARITY,20) //Tea/varieties /datum/seed/teaaspera @@ -405,6 +421,7 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#A3F0AD") set_trait(TRAIT_PLANT_COLOUR,"#2A9C61") set_trait(TRAIT_PLANT_ICON,"tree6") + set_trait(TRAIT_RARITY,20) //Coffee/varieties /datum/seed/coffeea @@ -445,6 +462,7 @@ set_trait(TRAIT_PRODUCT_ICON,"coffee") set_trait(TRAIT_PRODUCT_COLOUR,"#A22043") set_trait(TRAIT_PLANT_ICON,"bush8") + set_trait(TRAIT_RARITY,20) //Mushrooms/varieties. /datum/seed/mushroom @@ -519,6 +537,7 @@ set_trait(TRAIT_YIELD,1) set_trait(TRAIT_PRODUCT_COLOUR,"#FAC0F2") set_trait(TRAIT_PLANT_COLOUR,"#C4B1C2") + set_trait(TRAIT_RARITY,30) /datum/seed/mushroom/hallucinogenic name = "reishi" @@ -594,6 +613,7 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#EDE8EA") set_trait(TRAIT_PLANT_COLOUR,"#E6D8DD") set_trait(TRAIT_PLANT_ICON,"mushroom5") + set_trait(TRAIT_RARITY,30) /datum/seed/mushroom/towercap name = "towercap" @@ -631,6 +651,7 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#DDFAB6") set_trait(TRAIT_PLANT_COLOUR,"#EFFF8A") set_trait(TRAIT_PLANT_ICON,"mushroom7") + set_trait(TRAIT_RARITY,20) /datum/seed/mushroom/plastic name = "plastic" @@ -716,6 +737,7 @@ set_trait(TRAIT_PRODUCT_ICON,"flower2") set_trait(TRAIT_PRODUCT_COLOUR,"#B5ABDD") set_trait(TRAIT_PLANT_ICON,"flower2") + set_trait(TRAIT_RARITY,10) /datum/seed/flower/novaflower name = "novaflowers" @@ -805,6 +827,7 @@ set_trait(TRAIT_PRODUCT_ICON,"bean") set_trait(TRAIT_PRODUCT_COLOUR,"#EBE7C0") set_trait(TRAIT_PLANT_ICON,"stalk") + set_trait(TRAIT_RARITY,20) //Everything else /datum/seed/peanuts @@ -1178,6 +1201,7 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#96D278") set_trait(TRAIT_PLANT_COLOUR,"#6F7A63") set_trait(TRAIT_PLANT_ICON,"vine2") + set_trait(TRAIT_RARITY,30) /datum/seed/diona name = "diona" diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index 137d724f9cd..a18ed380196 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -113,6 +113,7 @@ dat += "Maturation time[grown_seed.get_trait(TRAIT_MATURATION)]" dat += "Production time[grown_seed.get_trait(TRAIT_PRODUCTION)]" dat += "Potency[grown_seed.get_trait(TRAIT_POTENCY)]" + dat += "Species Discovery Value[grown_seed.get_trait(TRAIT_RARITY)]" //--FalseIncarnate //Tray-specific stats like Age and Mutation Modifier, not shown if target was not a hydroponics tray or soil diff --git a/paradise.dme b/paradise.dme index 81669c187d9..dba397639c5 100644 --- a/paradise.dme +++ b/paradise.dme @@ -25,6 +25,7 @@ #include "code\__DEFINES\game.dm" #include "code\__DEFINES\genetics.dm" #include "code\__DEFINES\hud.dm" +#include "code\__DEFINES\hydroponics.dm" #include "code\__DEFINES\language.dm" #include "code\__DEFINES\lighting.dm" #include "code\__DEFINES\machines.dm" @@ -1180,7 +1181,6 @@ #include "code\modules\garbage collection\gc_testing.dm" #include "code\modules\holiday\christmas.dm" #include "code\modules\holiday\holiday.dm" -#include "code\modules\hydroponics\_hydro_setup.dm" #include "code\modules\hydroponics\grown.dm" #include "code\modules\hydroponics\grown_inedible.dm" #include "code\modules\hydroponics\grown_predefined.dm"