Files
CHOMPStation2/code/modules/hydroponics/seed_packets.dm
Neerti 828dacf485 Centralizes weight class definitions
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.

Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it.  This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files.  In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.

The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
2016-09-22 00:51:51 -04:00

283 lines
5.8 KiB
Plaintext

var/global/list/plant_seed_sprites = list()
//Seed packet object/procs.
/obj/item/seeds
name = "packet of seeds"
icon = 'icons/obj/seeds.dmi'
icon_state = "blank"
w_class = ITEMSIZE_SMALL
var/seed_type
var/datum/seed/seed
var/modified = 0
/obj/item/seeds/New()
while(!plant_controller)
sleep(30)
update_seed()
..()
//Grabs the appropriate seed datum from the global list.
/obj/item/seeds/proc/update_seed()
if(!seed && seed_type && !isnull(plant_controller.seeds) && plant_controller.seeds[seed_type])
seed = plant_controller.seeds[seed_type]
update_appearance()
//Updates strings and icon appropriately based on seed datum.
/obj/item/seeds/proc/update_appearance()
if(!seed) return
// Update icon.
overlays.Cut()
var/is_seeds = ((seed.seed_noun in list("seeds","pits","nodes")) ? 1 : 0)
var/image/seed_mask
var/seed_base_key = "base-[is_seeds ? seed.get_trait(TRAIT_PLANT_COLOUR) : "spores"]"
if(plant_seed_sprites[seed_base_key])
seed_mask = plant_seed_sprites[seed_base_key]
else
seed_mask = image('icons/obj/seeds.dmi',"[is_seeds ? "seed" : "spore"]-mask")
if(is_seeds) // Spore glass bits aren't coloured.
seed_mask.color = seed.get_trait(TRAIT_PLANT_COLOUR)
plant_seed_sprites[seed_base_key] = seed_mask
var/image/seed_overlay
var/seed_overlay_key = "[seed.get_trait(TRAIT_PRODUCT_ICON)]-[seed.get_trait(TRAIT_PRODUCT_COLOUR)]"
if(plant_seed_sprites[seed_overlay_key])
seed_overlay = plant_seed_sprites[seed_overlay_key]
else
seed_overlay = image('icons/obj/seeds.dmi',"[seed.get_trait(TRAIT_PRODUCT_ICON)]")
seed_overlay.color = seed.get_trait(TRAIT_PRODUCT_COLOUR)
plant_seed_sprites[seed_overlay_key] = seed_overlay
overlays |= seed_mask
overlays |= seed_overlay
if(is_seeds)
src.name = "packet of [seed.seed_name] [seed.seed_noun]"
src.desc = "It has a picture of [seed.display_name] on the front."
else
src.name = "sample of [seed.seed_name] [seed.seed_noun]"
src.desc = "It's labelled as coming from [seed.display_name]."
/obj/item/seeds/examine(mob/user)
..(user)
if(seed && !seed.roundstart)
user << "It's tagged as variety #[seed.uid]."
/obj/item/seeds/cutting
name = "cuttings"
desc = "Some plant cuttings."
/obj/item/seeds/cutting/update_appearance()
..()
src.name = "packet of [seed.seed_name] cuttings"
/obj/item/seeds/random
seed_type = null
/obj/item/seeds/random/New()
seed = plant_controller.create_random_seed()
seed_type = seed.name
update_seed()
/obj/item/seeds/replicapod
seed_type = "diona"
/obj/item/seeds/chiliseed
seed_type = "chili"
/obj/item/seeds/plastiseed
seed_type = "plastic"
/obj/item/seeds/grapeseed
seed_type = "grapes"
/obj/item/seeds/greengrapeseed
seed_type = "greengrapes"
/obj/item/seeds/peanutseed
seed_type = "peanut"
/obj/item/seeds/cabbageseed
seed_type = "cabbage"
/obj/item/seeds/shandseed
seed_type = "shand"
/obj/item/seeds/mtearseed
seed_type = "mtear"
/obj/item/seeds/berryseed
seed_type = "berries"
/obj/item/seeds/glowberryseed
seed_type = "glowberries"
/obj/item/seeds/bananaseed
seed_type = "banana"
/obj/item/seeds/eggplantseed
seed_type = "eggplant"
/obj/item/seeds/bloodtomatoseed
seed_type = "bloodtomato"
/obj/item/seeds/tomatoseed
seed_type = "tomato"
/obj/item/seeds/killertomatoseed
seed_type = "killertomato"
/obj/item/seeds/bluetomatoseed
seed_type = "bluetomato"
/obj/item/seeds/bluespacetomatoseed
seed_type = "bluespacetomato"
/obj/item/seeds/cornseed
seed_type = "corn"
/obj/item/seeds/poppyseed
seed_type = "poppies"
/obj/item/seeds/potatoseed
seed_type = "potato"
/obj/item/seeds/icepepperseed
seed_type = "icechili"
/obj/item/seeds/soyaseed
seed_type = "soybean"
/obj/item/seeds/wheatseed
seed_type = "wheat"
/obj/item/seeds/riceseed
seed_type = "rice"
/obj/item/seeds/carrotseed
seed_type = "carrot"
/obj/item/seeds/reishimycelium
seed_type = "reishi"
/obj/item/seeds/amanitamycelium
seed_type = "amanita"
/obj/item/seeds/angelmycelium
seed_type = "destroyingangel"
/obj/item/seeds/libertymycelium
seed_type = "libertycap"
/obj/item/seeds/chantermycelium
seed_type = "mushrooms"
/obj/item/seeds/towermycelium
seed_type = "towercap"
/obj/item/seeds/glowshroom
seed_type = "glowshroom"
/obj/item/seeds/plumpmycelium
seed_type = "plumphelmet"
/obj/item/seeds/nettleseed
seed_type = "nettle"
/obj/item/seeds/deathnettleseed
seed_type = "deathnettle"
/obj/item/seeds/weeds
seed_type = "weeds"
/obj/item/seeds/harebell
seed_type = "harebells"
/obj/item/seeds/sunflowerseed
seed_type = "sunflowers"
/obj/item/seeds/lavenderseed
seed_type = "lavender"
/obj/item/seeds/brownmold
seed_type = "mold"
/obj/item/seeds/appleseed
seed_type = "apple"
/obj/item/seeds/poisonedappleseed
seed_type = "poisonapple"
/obj/item/seeds/goldappleseed
seed_type = "goldapple"
/obj/item/seeds/ambrosiavulgarisseed
seed_type = "ambrosia"
/obj/item/seeds/ambrosiadeusseed
seed_type = "ambrosiadeus"
/obj/item/seeds/whitebeetseed
seed_type = "whitebeet"
/obj/item/seeds/sugarcaneseed
seed_type = "sugarcane"
/obj/item/seeds/watermelonseed
seed_type = "watermelon"
/obj/item/seeds/pumpkinseed
seed_type = "pumpkin"
/obj/item/seeds/limeseed
seed_type = "lime"
/obj/item/seeds/lemonseed
seed_type = "lemon"
/obj/item/seeds/orangeseed
seed_type = "orange"
/obj/item/seeds/poisonberryseed
seed_type = "poisonberries"
/obj/item/seeds/deathberryseed
seed_type = "deathberries"
/obj/item/seeds/grassseed
seed_type = "grass"
/obj/item/seeds/cocoapodseed
seed_type = "cocoa"
/obj/item/seeds/cherryseed
seed_type = "cherry"
/obj/item/seeds/tobaccoseed
seed_type = "tobacco"
/obj/item/seeds/kudzuseed
seed_type = "kudzu"
/obj/item/seeds/jurlmah
seed_type = "jurlmah"
/obj/item/seeds/amauri
seed_type = "amauri"
/obj/item/seeds/gelthi
seed_type = "gelthi"
/obj/item/seeds/vale
seed_type = "vale"
/obj/item/seeds/surik
seed_type = "surik"
/obj/item/seeds/telriis
seed_type = "telriis"
/obj/item/seeds/thaadra
seed_type = "thaadra"