Collapsing all fruit into one object type. Refactoring reagent grinder and removing juicer. WIP.

This commit is contained in:
Zuhayr
2015-02-02 00:15:48 +10:30
parent e323bbf6db
commit fdf0360a69
24 changed files with 422 additions and 1364 deletions
-1
View File
@@ -662,7 +662,6 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(M), slot_glasses)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/chaplain_hoodie(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(M), slot_l_store)
M.equip_to_slot_or_del(new /obj/item/weapon/bikehorn(M), slot_r_store)
var/obj/item/weapon/card/id/W = new(M)
+107 -88
View File
@@ -1,60 +1,60 @@
// This dreammaker file includes the food processing machines:
//This dm file includes some food processing machines:
// - I. Mill
// - II. Fermenter
// - III. Still
// - IV. Squeezer
// - V. Centrifuge
// I. The mill is intended to be loaded with produce and returns ground up items. For example: Wheat should become flour and grapes should become raisins.
/obj/machinery/mill
var/list/obj/item/weapon/reagent_containers/food/input = list()
var/list/obj/item/weapon/reagent_containers/food/input = list()
var/list/obj/item/weapon/reagent_containers/food/output = list()
var/obj/item/weapon/reagent_containers/food/milled_item
var/busy = 0
var/busy = 0
var/progress = 0
var/error = 0
var/error = 0
name = "\improper Mill"
desc = "It is a machine that grinds produce."
icon_state = "autolathe"
density = 1
anchored = 1
density = 1
anchored = 1
use_power = 1
idle_power_usage = 10
idle_power_usage = 10
active_power_usage = 1000
/obj/machinery/mill/process()
if (error)
if(error)
return
if (!busy)
if(!busy)
use_power = 1
if (input.len)
if(input.len)
milled_item = input[1]
input -= milled_item
progress = 0
busy = 1
use_power = 2
return
progress++
if (progress < 10) // Edit this value to make milling faster or slower.
return // Not done yet.
switch (milled_item.type)
if (/obj/item/weapon/reagent_containers/food/snacks/grown/wheat) // Wheat becomes flour.
var/obj/item/weapon/reagent_containers/food/snacks/flour/F = new(src)
output += F
if (/obj/item/weapon/reagent_containers/food/snacks/flour) // Flour is still flour.
if(progress < 10) //Edit this value to make milling faster or slower
return //Not done yet.
switch(milled_item.type)
if(/obj/item/weapon/reagent_containers/food/snacks/flour) //Flour is still flour
var/obj/item/weapon/reagent_containers/food/snacks/flour/F = new(src)
output += F
else
error = 1
del(milled_item)
busy = 0
/obj/machinery/mill/attackby(var/obj/item/weapon/W as obj, mob/user as mob)
if (istype(W,/obj/item/weapon/reagent_containers/food))
if(istype(W,/obj/item/weapon/reagent_containers/food))
user.u_equip(W)
W.loc = src
input += W
@@ -62,11 +62,17 @@
..()
/obj/machinery/mill/attack_hand(var/mob/user as mob)
for (var/obj/item/weapon/reagent_containers/food/F in output)
for(var/obj/item/weapon/reagent_containers/food/F in output)
F.loc = src.loc
output -= F
// II. The fermenter is intended to be loaded with food items and returns medium-strength alcohol items, sucha s wine and beer.
/obj/machinery/fermenter
var/list/obj/item/weapon/reagent_containers/food/input = list()
var/list/obj/item/weapon/reagent_containers/food/output = list()
@@ -85,40 +91,40 @@
active_power_usage = 500
/obj/machinery/fermenter/process()
if (error)
if(error)
return
if (!busy)
if(!busy)
use_power = 1
if (input.len)
if(input.len)
fermenting_item = input[1]
input -= fermenting_item
progress = 0
busy = 1
use_power = 2
return
if (!water_level)
if(!water_level)
return
water_level--
progress++
if (progress < 10) // Edit this value to make milling faster or slower.
return // Not done yet.
switch (fermenting_item.type)
if (/obj/item/weapon/reagent_containers/food/snacks/flour) // Flour is still flour.
if(progress < 10) //Edit this value to make milling faster or slower
return //Not done yet.
switch(fermenting_item.type)
if(/obj/item/weapon/reagent_containers/food/snacks/flour) //Flour is still flour
var/obj/item/weapon/reagent_containers/food/drinks/cans/beer/B = new(src)
output += B
else
error = 1
del(fermenting_item)
busy = 0
/obj/machinery/fermenter/attackby(var/obj/item/weapon/W as obj, mob/user as mob)
if (istype(W,/obj/item/weapon/reagent_containers/food))
if(istype(W,/obj/item/weapon/reagent_containers/food))
user.u_equip(W)
W.loc = src
input += W
@@ -126,57 +132,60 @@
..()
/obj/machinery/fermenter/attack_hand(var/mob/user as mob)
for (var/obj/item/weapon/reagent_containers/food/F in output)
for(var/obj/item/weapon/reagent_containers/food/F in output)
F.loc = src.loc
output -= F
// III. The still is a machine that is loaded with food items and returns hard liquor, such as vodka.
/obj/machinery/still
var/list/obj/item/weapon/reagent_containers/food/input = list()
var/list/obj/item/weapon/reagent_containers/food/input = list()
var/list/obj/item/weapon/reagent_containers/food/output = list()
var/obj/item/weapon/reagent_containers/food/distilling_item
var/busy = 0
var/obj/item/weapon/reagent_containers/food/destilling_item
var/busy = 0
var/progress = 0
var/error = 0
var/error = 0
name = "\improper Still"
desc = "It is a machine that produces hard liquor from alcoholic drinks."
icon_state = "autolathe"
density = 1
anchored = 1
density = 1
anchored = 1
use_power = 1
idle_power_usage = 10
active_power_usage = 10000
/obj/machinery/still/process()
if (error)
if(error)
return
if (!busy)
if(!busy)
use_power = 1
if (input.len)
distilling_item = input[1]
input -= distilling_item
if(input.len)
destilling_item = input[1]
input -= destilling_item
progress = 0
busy = 1
use_power = 2
return
progress++
if (progress < 10) // Edit this value to make distilling faster or slower.
return // Not done yet.
switch (distilling_item.type)
if (/obj/item/weapon/reagent_containers/food/drinks/cans/beer) // Flour is still flour.
if(progress < 10) //Edit this value to make distilling faster or slower
return //Not done yet.
switch(destilling_item.type)
if(/obj/item/weapon/reagent_containers/food/drinks/cans/beer) //Flour is still flour
var/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/V = new(src)
output += V
else
error = 1
del(distilling_item)
del(destilling_item)
busy = 0
/obj/machinery/still/attackby(var/obj/item/weapon/W as obj, mob/user as mob)
if (istype(W,/obj/item/weapon/reagent_containers/food))
if(istype(W,/obj/item/weapon/reagent_containers/food))
user.u_equip(W)
W.loc = src
input += W
@@ -184,75 +193,84 @@
..()
/obj/machinery/still/attack_hand(var/mob/user as mob)
for (var/obj/item/weapon/reagent_containers/food/F in output)
for(var/obj/item/weapon/reagent_containers/food/F in output)
F.loc = src.loc
output -= F
// IV. The squeezer is intended to destroy inserted food items, but return some of the reagents they contain.
/obj/machinery/squeezer
var/list/obj/item/weapon/reagent_containers/food/input = list()
var/obj/item/weapon/reagent_containers/food/squeezed_item
var/water_level = 0
var/busy = 0
var/progress = 0
var/error = 0
var/busy = 0
var/progress = 0
var/error = 0
name = "\improper Squeezer"
desc = "It is a machine that squeezes extracts from produce."
icon_state = "autolathe"
density = 1
anchored = 1
density = 1
anchored = 1
use_power = 1
idle_power_usage = 10
idle_power_usage = 10
active_power_usage = 500
// V. The centrifuge spins inserted food items. It is intended to squeeze out the reagents that are common food catalysts (enzymes currently)
/obj/machinery/centrifuge
var/list/obj/item/weapon/reagent_containers/food/input = list()
var/list/obj/item/weapon/reagent_containers/food/output = list()
var/obj/item/weapon/reagent_containers/food/spinning_item
var/busy = 0
var/busy = 0
var/progress = 0
var/error = 0
var/enzymes = 0
var/water = 0
var/error = 0
var/enzymes = 0
var/water = 0
name = "\improper Centrifuge"
desc = "It is a machine that spins produce."
icon_state = "autolathe"
density = 1
anchored = 1
density = 1
anchored = 1
use_power = 1
idle_power_usage = 10
idle_power_usage = 10
active_power_usage = 10000
/obj/machinery/centrifuge/process()
if (error)
if(error)
return
if (!busy)
if(!busy)
use_power = 1
if (input.len)
if(input.len)
spinning_item = input[1]
input -= spinning_item
progress = 0
busy = 1
use_power = 2
return
progress++
if (progress < 10) // Edit this value to make milling faster or slower.
return // Not done yet.
if(progress < 10) //Edit this value to make milling faster or slower
return //Not done yet.
var/transfer_enzymes = spinning_item.reagents.get_reagent_amount("enzyme")
if (transfer_enzymes)
if(transfer_enzymes)
enzymes += transfer_enzymes
spinning_item.reagents.remove_reagent("enzyme",transfer_enzymes)
output += spinning_item
busy = 0
/obj/machinery/centrifuge/attackby(var/obj/item/weapon/W as obj, mob/user as mob)
if (istype(W,/obj/item/weapon/reagent_containers/food))
if(istype(W,/obj/item/weapon/reagent_containers/food))
user.u_equip(W)
W.loc = src
input += W
@@ -260,9 +278,10 @@
..()
/obj/machinery/centrifuge/attack_hand(var/mob/user as mob)
for (var/obj/item/weapon/reagent_containers/food/F in output)
for(var/obj/item/weapon/reagent_containers/food/F in output)
F.loc = src.loc
output -= F
while (enzymes >= 50)
while(enzymes >= 50)
enzymes -= 50
new/obj/item/weapon/reagent_containers/food/condiment/enzyme(src.loc)
+88 -205
View File
@@ -34,24 +34,11 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/boiledegg
/datum/recipe/dionaroast
fruit = list("apple" = 1)
reagents = list("pacid" = 5) //It dissolves the carapace. Still poisonous, though.
items = list(
/obj/item/weapon/holder/diona,
/obj/item/weapon/reagent_containers/food/snacks/grown/apple
)
items = list(/obj/item/weapon/holder/diona)
result = /obj/item/weapon/reagent_containers/food/snacks/dionaroast
/*
/datum/recipe/bananaphone
reagents = list("psilocybin" = 5) //Trippin' balls, man.
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
/obj/item/device/radio
)
result = /obj/item/weapon/reagent_containers/food/snacks/bananaphone
*/
/datum/recipe/jellydonut
reagents = list("berryjuice" = 5, "sugar" = 5)
items = list(
@@ -146,8 +133,7 @@ I said no!
/datum/recipe/clownburger
items = list(
/obj/item/weapon/reagent_containers/food/snacks/bun,
/obj/item/clothing/mask/gas/clown_hat,
/* /obj/item/weapon/reagent_containers/food/snacks/grown/banana, */
/obj/item/clothing/mask/gas/clown_hat
)
result = /obj/item/weapon/reagent_containers/food/snacks/clownburger
@@ -245,12 +231,12 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread
/datum/recipe/bananabread
fruit = list("banana" = 1)
reagents = list("milk" = 5, "sugar" = 15)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
/obj/item/weapon/reagent_containers/food/snacks/dough
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread
@@ -271,19 +257,19 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/muffin
/datum/recipe/eggplantparm
fruit = list("eggplant" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant
)
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
)
result = /obj/item/weapon/reagent_containers/food/snacks/eggplantparm
/datum/recipe/soylenviridians
fruit = list("soybeans" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans
/obj/item/weapon/reagent_containers/food/snacks/flour
)
result = /obj/item/weapon/reagent_containers/food/snacks/soylenviridians
@@ -298,14 +284,12 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/soylentgreen
/datum/recipe/carrotcake
fruit = list("carrot" = 3)
reagents = list("milk" = 5, "sugar" = 15)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/dough
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake
@@ -351,25 +335,23 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/xemeatpie
/datum/recipe/pie
fruit = list("banana" = 1)
reagents = list("sugar" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
)
items = list(/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough)
result = /obj/item/weapon/reagent_containers/food/snacks/pie
/datum/recipe/cherrypie
fruit = list("cherries" = 1)
reagents = list("sugar" = 10)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries,
)
result = /obj/item/weapon/reagent_containers/food/snacks/cherrypie
/datum/recipe/berryclafoutis
fruit = list("berries" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/grown/berries,
)
result = /obj/item/weapon/reagent_containers/food/snacks/berryclafoutis
@@ -434,10 +416,8 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread
/datum/recipe/loadedbakedpotato
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
)
fruit = list("potato" = 1)
items = list(/obj/item/weapon/reagent_containers/food/snacks/cheesewedge)
result = /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato
/datum/recipe/cheesyfries
@@ -448,17 +428,15 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/cheesyfries
/datum/recipe/cubancarp
fruit = list("chili" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/grown/chili,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat
)
result = /obj/item/weapon/reagent_containers/food/snacks/cubancarp
/datum/recipe/popcorn
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/corn
)
fruit = list("corn" = 1)
result = /obj/item/weapon/reagent_containers/food/snacks/popcorn
@@ -494,91 +472,69 @@ I said no!
/datum/recipe/meatsteak
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/meat
)
items = list(/obj/item/weapon/reagent_containers/food/snacks/meat)
result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak
/datum/recipe/syntisteak
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh
)
items = list(/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh)
result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak
/datum/recipe/pizzamargherita
fruit = list("tomato" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita
/datum/recipe/meatpizza
fruit = list("tomato" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza
/datum/recipe/syntipizza
fruit = list("tomato" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza
/datum/recipe/mushroompizza
fruit = list("mushroom" = 5, "tomato" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza
/datum/recipe/vegetablepizza
fruit = list("eggplant" = 1, "carrot" = 1, "corn" = 1, "tomato" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant,
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/grown/corn,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza
/datum/recipe/spacylibertyduff
reagents = list("water" = 5, "vodka" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,
)
reagents = list("water" = 5, "vodka" = 5, "psilocybin" = 5)
result = /obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff
/datum/recipe/amanitajelly
reagents = list("water" = 5, "vodka" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita,
)
reagents = list("water" = 5, "vodka" = 5, "amatoxin" = 5)
result = /obj/item/weapon/reagent_containers/food/snacks/amanitajelly
make_food(var/obj/container as obj)
var/obj/item/weapon/reagent_containers/food/snacks/amanitajelly/being_cooked = ..(container)
@@ -586,30 +542,21 @@ I said no!
return being_cooked
/datum/recipe/meatballsoup
fruit = list("carrot" = 1, "potato" = 1)
reagents = list("water" = 10)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/meatball ,
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
)
items = list(/obj/item/weapon/reagent_containers/food/snacks/meatball)
result = /obj/item/weapon/reagent_containers/food/snacks/meatballsoup
/datum/recipe/vegetablesoup
fruit = list("carrot" = 1, "potato" = 1, "corn" = 1, "eggplant" = 1)
reagents = list("water" = 10)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/grown/corn,
/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant,
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
)
result = /obj/item/weapon/reagent_containers/food/snacks/vegetablesoup
/datum/recipe/nettlesoup
fruit = list("nettle" = 1, "potato" = 1)
reagents = list("water" = 10)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/nettle,
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/egg
)
result = /obj/item/weapon/reagent_containers/food/snacks/nettlesoup
@@ -618,33 +565,23 @@ I said no!
result= /obj/item/weapon/reagent_containers/food/snacks/wishsoup
/datum/recipe/hotchili
items = list(
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/grown/chili,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
)
fruit = list("chili" = 1, "tomato" = 1)
items = list(/obj/item/weapon/reagent_containers/food/snacks/meat)
result = /obj/item/weapon/reagent_containers/food/snacks/hotchili
/datum/recipe/coldchili
items = list(
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
)
fruit = list("icechili" = 1, "tomato" = 1)
items = list(/obj/item/weapon/reagent_containers/food/snacks/meat)
result = /obj/item/weapon/reagent_containers/food/snacks/coldchili
/datum/recipe/amanita_pie
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita,
)
reagents = list("amatoxin" = 5)
items = list(/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough)
result = /obj/item/weapon/reagent_containers/food/snacks/amanita_pie
/datum/recipe/plump_pie
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet,
)
fruit = list("plumphelmet" = 1)
items = list(/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough)
result = /obj/item/weapon/reagent_containers/food/snacks/plump_pie
/datum/recipe/spellburger
@@ -672,12 +609,8 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/bigbiteburger
/datum/recipe/enchiladas
items = list(
/obj/item/weapon/reagent_containers/food/snacks/cutlet,
/obj/item/weapon/reagent_containers/food/snacks/grown/chili,
/obj/item/weapon/reagent_containers/food/snacks/grown/chili,
/obj/item/weapon/reagent_containers/food/snacks/grown/corn,
)
fruit = list("chili" = 2, "corn" = 1)
items = list(/obj/item/weapon/reagent_containers/food/snacks/cutlet)
result = /obj/item/weapon/reagent_containers/food/snacks/enchiladas
/datum/recipe/creamcheesebread
@@ -691,11 +624,11 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread
/datum/recipe/monkeysdelight
fruit = list("banana" = 1)
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/monkeycube,
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
/obj/item/weapon/reagent_containers/food/snacks/monkeycube
)
result = /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight
@@ -755,11 +688,8 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/grilledcheese
/datum/recipe/tomatosoup
fruit = list("tomato" = 2)
reagents = list("water" = 10)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
)
result = /obj/item/weapon/reagent_containers/food/snacks/tomatosoup
/datum/recipe/rofflewaffles
@@ -771,15 +701,9 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles
/datum/recipe/stew
fruit = list("potato" = 1, "tomato" = 1, "carrot" = 1, "eggplant" = 1, "mushroom" = 1)
reagents = list("water" = 10)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
)
items = list(/obj/item/weapon/reagent_containers/food/snacks/meat)
result = /obj/item/weapon/reagent_containers/food/snacks/stew
/datum/recipe/slimetoast
@@ -807,11 +731,10 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/milosoup
/datum/recipe/stewedsoymeat
fruit = list("carrot" = 1, "tomato" = 1)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/soydope,
/obj/item/weapon/reagent_containers/food/snacks/soydope,
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/soydope
)
result = /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat
@@ -837,19 +760,14 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/ricepudding
/datum/recipe/pastatomato
fruit = list("tomato" = 2)
reagents = list("water" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/spagetti,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
)
items = list(/obj/item/weapon/reagent_containers/food/snacks/spagetti)
result = /obj/item/weapon/reagent_containers/food/snacks/pastatomato
/datum/recipe/poppypretzel
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/poppy,
/obj/item/weapon/reagent_containers/food/snacks/dough,
)
fruit = list("poppy" = 1)
items = list(/obj/item/weapon/reagent_containers/food/snacks/dough)
result = /obj/item/weapon/reagent_containers/food/snacks/poppypretzel
/datum/recipe/meatballspagetti
@@ -873,39 +791,34 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/spesslaw
/datum/recipe/superbiteburger
fruit = list("tomato" = 1)
reagents = list("sodiumchloride" = 5, "blackpepper" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger,
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
/obj/item/weapon/reagent_containers/food/snacks/boiledegg,
)
result = /obj/item/weapon/reagent_containers/food/snacks/superbiteburger
/datum/recipe/candiedapple
fruit = list("apple" = 1)
reagents = list("water" = 5, "sugar" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/apple
)
result = /obj/item/weapon/reagent_containers/food/snacks/candiedapple
/datum/recipe/applepie
items = list(
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
/obj/item/weapon/reagent_containers/food/snacks/grown/apple,
)
fruit = list("apple" = 1)
items = list(/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough)
result = /obj/item/weapon/reagent_containers/food/snacks/applepie
/datum/recipe/applecake
fruit = list("apple" = 2)
reagents = list("milk" = 5, "sugar" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/grown/apple,
/obj/item/weapon/reagent_containers/food/snacks/grown/apple,
/obj/item/weapon/reagent_containers/food/snacks/dough
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake
@@ -948,6 +861,7 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry
/datum/recipe/orangecake
fruit = list("orange" = 2)
reagents = list("milk" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/flour,
@@ -955,13 +869,12 @@ I said no!
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/grown/orange,
/obj/item/weapon/reagent_containers/food/snacks/grown/orange,
/obj/item/weapon/reagent_containers/food/snacks/egg
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake
/datum/recipe/limecake
fruit = list("lime" = 2)
reagents = list("milk" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/flour,
@@ -969,13 +882,12 @@ I said no!
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/grown/lime,
/obj/item/weapon/reagent_containers/food/snacks/grown/lime,
/obj/item/weapon/reagent_containers/food/snacks/egg
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake
/datum/recipe/lemoncake
fruit = list("lemon" = 2)
reagents = list("milk" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/flour,
@@ -983,9 +895,7 @@ I said no!
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/grown/lemon,
/obj/item/weapon/reagent_containers/food/snacks/grown/lemon,
/obj/item/weapon/reagent_containers/food/snacks/egg
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake
@@ -1004,11 +914,7 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake
/datum/recipe/bloodsoup
reagents = list("blood" = 10)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato,
/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato,
)
reagents = list("blood" = 30)
result = /obj/item/weapon/reagent_containers/food/snacks/bloodsoup
/datum/recipe/slimesoup
@@ -1070,84 +976,61 @@ I said no!
result = /obj/item/weapon/reagent_containers/food/snacks/mysterysoup
/datum/recipe/pumpkinpie
fruit = list("pumpkin" = 1)
reagents = list("milk" = 5, "sugar" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/egg
)
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie
/datum/recipe/plumphelmetbiscuit
fruit = list("plumphelmet" = 1)
reagents = list("water" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet,
)
items = list(/obj/item/weapon/reagent_containers/food/snacks/flour)
result = /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit
/datum/recipe/mushroomsoup
fruit = list("mushroom" = 1)
reagents = list("water" = 5, "milk" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle,
)
result = /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup
/datum/recipe/chawanmushi
fruit = list("mushroom" = 1)
reagents = list("water" = 5, "soysauce" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle,
/obj/item/weapon/reagent_containers/food/snacks/egg
)
result = /obj/item/weapon/reagent_containers/food/snacks/chawanmushi
/datum/recipe/beetsoup
fruit = list("whitebeet" = 1, "cabbage" = 1)
reagents = list("water" = 10)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet,
/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage,
)
result = /obj/item/weapon/reagent_containers/food/snacks/beetsoup
/datum/recipe/appletart
fruit = list("goldapple" = 1)
reagents = list("sugar" = 5, "milk" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/flour,
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/grown/goldapple,
/obj/item/weapon/reagent_containers/food/snacks/egg
)
result = /obj/item/weapon/reagent_containers/food/snacks/appletart
/datum/recipe/tossedsalad
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage,
/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/grown/apple,
)
fruit = list("cabbage" = 2, "tomato" = 1, "carrot" = 1, "apple" = 1)
result = /obj/item/weapon/reagent_containers/food/snacks/tossedsalad
/datum/recipe/aesirsalad
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus,
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus,
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus,
/obj/item/weapon/reagent_containers/food/snacks/grown/goldapple,
)
fruit = list("goldapple" = 1, "ambrosiadeus" = 1)
result = /obj/item/weapon/reagent_containers/food/snacks/aesirsalad
/datum/recipe/validsalad
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
/obj/item/weapon/reagent_containers/food/snacks/meatball,
)
fruit = list("potato" = 1, "ambrosia" = 3)
items = list(/obj/item/weapon/reagent_containers/food/snacks/meatball)
result = /obj/item/weapon/reagent_containers/food/snacks/validsalad
make_food(var/obj/container as obj)
var/obj/item/weapon/reagent_containers/food/snacks/validsalad/being_cooked = ..(container)
+38 -39
View File
@@ -11,42 +11,41 @@
#define ALL_GENES list(GENE_PRODUCTS,GENE_CONSUMPTION,GENE_ENVIRONMENT,GENE_RESISTANCE,GENE_VIGOUR,GENE_PIGMENT)
//Definitions for traits (individual descriptors)
#define TRAIT_PRODUCTS 1
#define TRAIT_CHEMS 2
#define TRAIT_EXUDE_GASSES 3
#define TRAIT_ALTER_TEMP 4
#define TRAIT_POTENCY 5
#define TRAIT_HARVEST_REPEAT 6
#define TRAIT_PRODUCES_POWER 7
#define TRAIT_JUICY 8
#define TRAIT_PRODUCT_ICON 9
#define TRAIT_PLANT_ICON 10
#define TRAIT_CONSUME_GASSES 11
#define TRAIT_REQUIRES_NUTRIENTS 12
#define TRAIT_NUTRIENT_CONSUMPTION 13
#define TRAIT_REQUIRES_WATER 14
#define TRAIT_WATER_CONSUMPTION 15
#define TRAIT_CARNIVOROUS 16
#define TRAIT_PARASITE 17
#define TRAIT_STINGS 18
#define TRAIT_IDEAL_HEAT 19
#define TRAIT_HEAT_TOLERANCE 20
#define TRAIT_IDEAL_LIGHT 21
#define TRAIT_LIGHT_TOLERANCE 22
#define TRAIT_LOWKPA_TOLERANCE 23
#define TRAIT_HIGHKPA_TOLERANCE 24
#define TRAIT_EXPLOSIVE 25
#define TRAIT_TOXINS_TOLERANCE 26
#define TRAIT_PEST_TOLERANCE 27
#define TRAIT_WEED_TOLERANCE 28
#define TRAIT_ENDURANCE 29
#define TRAIT_YIELD 30
#define TRAIT_SPREAD 31
#define TRAIT_MATURATION 32
#define TRAIT_PRODUCTION 33
#define TRAIT_TELEPORTING 34
#define TRAIT_PLANT_COLOUR 35
#define TRAIT_PRODUCT_COLOUR 36
#define TRAIT_BIOLUM 37
#define TRAIT_BIOLUM_COLOUR 38
#define TRAIT_IMMUTABLE 39
#define TRAIT_CHEMS 1
#define TRAIT_EXUDE_GASSES 2
#define TRAIT_ALTER_TEMP 3
#define TRAIT_POTENCY 4
#define TRAIT_HARVEST_REPEAT 5
#define TRAIT_PRODUCES_POWER 6
#define TRAIT_JUICY 7
#define TRAIT_PRODUCT_ICON 8
#define TRAIT_PLANT_ICON 0
#define TRAIT_CONSUME_GASSES 10
#define TRAIT_REQUIRES_NUTRIENTS 11
#define TRAIT_NUTRIENT_CONSUMPTION 12
#define TRAIT_REQUIRES_WATER 13
#define TRAIT_WATER_CONSUMPTION 14
#define TRAIT_CARNIVOROUS 15
#define TRAIT_PARASITE 16
#define TRAIT_STINGS 17
#define TRAIT_IDEAL_HEAT 18
#define TRAIT_HEAT_TOLERANCE 19
#define TRAIT_IDEAL_LIGHT 20
#define TRAIT_LIGHT_TOLERANCE 21
#define TRAIT_LOWKPA_TOLERANCE 22
#define TRAIT_HIGHKPA_TOLERANCE 23
#define TRAIT_EXPLOSIVE 24
#define TRAIT_TOXINS_TOLERANCE 25
#define TRAIT_PEST_TOLERANCE 26
#define TRAIT_WEED_TOLERANCE 27
#define TRAIT_ENDURANCE 28
#define TRAIT_YIELD 29
#define TRAIT_SPREAD 30
#define TRAIT_MATURATION 31
#define TRAIT_PRODUCTION 32
#define TRAIT_TELEPORTING 33
#define TRAIT_PLANT_COLOUR 34
#define TRAIT_PRODUCT_COLOUR 35
#define TRAIT_BIOLUM 36
#define TRAIT_BIOLUM_COLOUR 37
#define TRAIT_IMMUTABLE 38
+27 -466
View File
@@ -2,8 +2,9 @@
/obj/item/weapon/reagent_containers/food/snacks/grown
name = "fruit"
desc = "It's a fruit."
icon = 'icons/obj/harvest.dmi'
//icon = 'icons/obj/harvest.dmi' //Todo convert to greyscale
icon = 'icons/obj/hydroponics_products.dmi'
desc = "The product of some kind of plant." //Todo store descs for retrieval.
var/plantname
var/datum/seed/seed
@@ -19,18 +20,29 @@
// Fill the object up with the appropriate reagents.
if(planttype)
plantname = planttype
seed = seed_types[plantname]
if(!seed || !seed.chems)
return
potency = seed.get_trait(TRAIT_POTENCY)
if(!plantname)
return
for(var/rid in seed.chems)
var/list/reagent_data = seed.chems[rid]
var/rtotal = reagent_data[1]
if(reagent_data.len > 1 && potency > 0)
rtotal += round(potency/reagent_data[2])
reagents.add_reagent(rid,max(1,rtotal))
seed = seed_types[plantname]
if(!seed)
return
name = "[seed.seed_name]"
icon_state = "[seed.get_trait(TRAIT_PRODUCT_ICON)]"
color = "[seed.get_trait(TRAIT_PRODUCT_COLOUR)]"
if(!seed.chems)
return
potency = seed.get_trait(TRAIT_POTENCY)
for(var/rid in seed.chems)
var/list/reagent_data = seed.chems[rid]
var/rtotal = reagent_data[1]
if(reagent_data.len > 1 && potency > 0)
rtotal += round(potency/reagent_data[2])
reagents.add_reagent(rid,max(1,rtotal))
if(reagents.total_volume > 0)
bitesize = 1+round(reagents.total_volume / 2, 1)
@@ -183,461 +195,10 @@
user.SetLuminosity(user.luminosity - seed.get_trait(TRAIT_BIOLUM))
SetLuminosity(seed.get_trait(TRAIT_BIOLUM))
// Food object defines follow.
/obj/item/weapon/reagent_containers/food/snacks/grown/corn
name = "ear of corn"
desc = "Needs some butter!"
plantname = "corn"
icon_state = "corn"
potency = 40
filling_color = "#FFEE00"
trash = /obj/item/weapon/corncob
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries
name = "cherries"
desc = "Great for toppings!"
icon_state = "cherry"
filling_color = "#FF0000"
gender = PLURAL
plantname = "cherry"
/obj/item/weapon/reagent_containers/food/snacks/grown/poppy
name = "poppy"
desc = "Long-used as a symbol of rest, peace, and death."
icon_state = "poppy"
potency = 30
filling_color = "#CC6464"
plantname = "poppies"
/obj/item/weapon/reagent_containers/food/snacks/grown/harebell
name = "harebell"
desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweetend not thy breath.\""
icon_state = "harebell"
potency = 1
filling_color = "#D4B2C9"
plantname = "harebells"
/obj/item/weapon/reagent_containers/food/snacks/grown/potato
name = "potato"
desc = "Boil 'em! Mash 'em! Stick 'em in a stew!"
icon_state = "potato"
potency = 25
filling_color = "#E6E8DA"
plantname = "potato"
/obj/item/weapon/reagent_containers/food/snacks/grown/grapes
name = "bunch of grapes"
desc = "Nutritious!"
icon_state = "grapes"
filling_color = "#A332AD"
plantname = "grapes"
/obj/item/weapon/reagent_containers/food/snacks/grown/greengrapes
name = "bunch of green grapes"
desc = "Nutritious!"
icon_state = "greengrapes"
potency = 25
filling_color = "#A6FFA3"
plantname = "greengrapes"
/obj/item/weapon/reagent_containers/food/snacks/grown/peanut
name = "peanut"
desc = "Nuts!"
icon_state = "peanut"
filling_color = "857e27"
potency = 25
plantname = "peanut"
/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage
name = "cabbage"
desc = "Ewwwwwwwwww. Cabbage."
icon_state = "cabbage"
potency = 25
filling_color = "#A2B5A1"
plantname = "cabbage"
/obj/item/weapon/reagent_containers/food/snacks/grown/berries
name = "bunch of berries"
desc = "Nutritious!"
icon_state = "berrypile"
filling_color = "#C2C9FF"
plantname = "berries"
/obj/item/weapon/reagent_containers/food/snacks/grown/plastellium
name = "clump of plastellium"
desc = "Hmm, needs some processing"
icon_state = "plastellium"
filling_color = "#C4C4C4"
plantname = "plastic"
/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries
name = "bunch of glow-berries"
desc = "Nutritious!"
filling_color = "#D3FF9E"
icon_state = "glowberrypile"
plantname = "glowberries"
/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod
name = "cocoa pod"
desc = "Can be ground into cocoa powder."
icon_state = "cocoapod"
potency = 50
filling_color = "#9C8E54"
plantname = "cocoa"
/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane
name = "sugarcane"
desc = "Sickly sweet."
icon_state = "sugarcane"
potency = 50
filling_color = "#C0C9AD"
plantname = "sugarcane"
/obj/item/weapon/reagent_containers/food/snacks/grown/poisonberries
name = "bunch of poison-berries"
desc = "Taste so good, you could die!"
icon_state = "poisonberrypile"
gender = PLURAL
potency = 15
filling_color = "#B422C7"
plantname = "poisonberries"
/obj/item/weapon/reagent_containers/food/snacks/grown/deathberries
name = "bunch of death-berries"
desc = "Taste so good, you could die!"
icon_state = "deathberrypile"
gender = PLURAL
potency = 50
filling_color = "#4E0957"
plantname = "deathberries"
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris
name = "ambrosia vulgaris branch"
desc = "This is a plant containing various healing chemicals."
icon_state = "ambrosiavulgaris"
potency = 10
filling_color = "#125709"
plantname = "ambrosia"
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus
name = "ambrosia deus branch"
desc = "Eating this makes you feel immortal!"
icon_state = "ambrosiadeus"
potency = 10
filling_color = "#229E11"
plantname = "ambrosiadeus"
/obj/item/weapon/reagent_containers/food/snacks/grown/apple
name = "apple"
desc = "It's a little piece of Eden."
icon_state = "apple"
potency = 15
filling_color = "#DFE88B"
plantname = "apple"
/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned
name = "apple"
desc = "It's a little piece of Eden."
icon_state = "apple"
potency = 15
filling_color = "#B3BD5E"
plantname = "poisonapple"
/obj/item/weapon/reagent_containers/food/snacks/grown/goldapple
name = "golden apple"
desc = "Emblazoned upon the apple is the word 'Kallisti'."
icon_state = "goldapple"
potency = 15
filling_color = "#F5CB42"
plantname = "goldapple"
/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon
name = "watermelon"
desc = "It's full of watery goodness."
icon_state = "watermelon"
potency = 10
filling_color = "#FA2863"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/watermelonslice
slices_num = 5
plantname = "watermelon"
/obj/item/weapon/reagent_containers/food/snacks/grown/lime
name = "lime"
desc = "It's so sour, your face will twist."
icon_state = "lime"
potency = 20
filling_color = "#28FA59"
plantname = "lime"
/obj/item/weapon/reagent_containers/food/snacks/grown/lemon
name = "lemon"
desc = "When life gives you lemons, be grateful they aren't limes."
icon_state = "lemon"
potency = 20
filling_color = "#FAF328"
plantname = "lemon"
/obj/item/weapon/reagent_containers/food/snacks/grown/orange
name = "orange"
desc = "It's a tangy fruit."
icon_state = "orange"
potency = 20
filling_color = "#FAAD28"
plantname = "orange"
/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet
name = "white-beet"
desc = "You can't beat white-beet."
icon_state = "whitebeet"
potency = 15
filling_color = "#FFFCCC"
plantname = "whitebeet"
/obj/item/weapon/reagent_containers/food/snacks/grown/banana
name = "banana"
desc = "It's an excellent prop for a comedy."
icon = 'icons/obj/items.dmi'
icon_state = "banana"
item_state = "banana"
filling_color = "#FCF695"
trash = /obj/item/weapon/bananapeel
plantname = "banana"
/obj/item/weapon/reagent_containers/food/snacks/grown/chili
name = "chili"
desc = "It's spicy! Wait... IT'S BURNING ME!!"
icon_state = "chilipepper"
filling_color = "#FF0000"
plantname = "chili"
/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant
name = "eggplant"
desc = "Maybe there's a chicken inside?"
icon_state = "eggplant"
filling_color = "#550F5C"
plantname = "eggplant"
/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans
name = "soybeans"
desc = "It's pretty bland, but oh the possibilities..."
gender = PLURAL
filling_color = "#E6E8B7"
icon_state = "soybeans"
plantname = "soybean"
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato
name = "tomato"
desc = "I say to-mah-to, you say tom-mae-to."
icon_state = "tomato"
filling_color = "#FF0000"
potency = 10
plantname = "tomato"
/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato
name = "blood-tomato"
desc = "So juicy."
icon_state = "bloodtomato"
potency = 10
filling_color = "#FF0000"
plantname = "bloodtomato"
/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato
name = "blue-tomato"
desc = "I say blue-mah-to, you say blue-mae-to."
icon_state = "bluetomato"
potency = 10
filling_color = "#586CFC"
plantname = "bluetomato"
/obj/item/weapon/reagent_containers/food/snacks/grown/wheat
name = "wheat"
desc = "Sigh... wheat... a-grain?"
gender = PLURAL
icon_state = "wheat"
filling_color = "#F7E186"
plantname = "wheat"
/obj/item/weapon/reagent_containers/food/snacks/grown/ricestalk
name = "rice stalk"
desc = "Rice to see you."
gender = PLURAL
icon_state = "rice"
filling_color = "#FFF8DB"
plantname = "rice"
/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod
name = "kudzu pod"
desc = "<I>Pueraria Virallis</I>: An invasive species with vines that rapidly creep and wrap around whatever they contact."
icon_state = "kudzupod"
filling_color = "#59691B"
plantname = "kudzu"
/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper
name = "ice-pepper"
desc = "It's a mutant strain of chili"
icon_state = "icepepper"
potency = 20
filling_color = "#66CEED"
plantname = "icechili"
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot
name = "carrot"
desc = "It's good for the eyes!"
icon_state = "carrot"
potency = 10
filling_color = "#FFC400"
plantname = "carrot"
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi
name = "reishi"
desc = "<I>Ganoderma lucidum</I>: A special fungus believed to help relieve stress."
icon_state = "reishi"
potency = 10
filling_color = "#FF4800"
plantname = "reishi"
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita
name = "fly amanita"
desc = "<I>Amanita Muscaria</I>: Learn poisonous mushrooms by heart. Only pick mushrooms you know."
icon_state = "amanita"
potency = 10
filling_color = "#FF0000"
plantname = "amanita"
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel
name = "destroying angel"
desc = "<I>Amanita Virosa</I>: Deadly poisonous basidiomycete fungus filled with alpha amatoxins."
icon_state = "angel"
potency = 35
filling_color = "#FFDEDE"
plantname = "destroyingangel"
// Predefined types for placing on the map.
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap
name = "liberty-cap"
desc = "<I>Psilocybe Semilanceata</I>: Liberate yourself!"
icon_state = "libertycap"
potency = 15
filling_color = "#F714BE"
plantname = "libertycap"
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet
name = "plump-helmet"
desc = "<I>Plumus Hellmus</I>: Plump, soft and s-so inviting~"
icon_state = "plumphelmet"
filling_color = "#F714BE"
plantname = "plumphelmet"
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom
name = "walking mushroom"
desc = "<I>Plumus Locomotus</I>: The beginning of the great walk."
icon_state = "walkingmushroom"
filling_color = "#FFBFEF"
potency = 30
plantname = "walkingmushroom"
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle
name = "chanterelle cluster"
desc = "<I>Cantharellus Cibarius</I>: These jolly yellow little shrooms sure look tasty!"
icon_state = "chanterelle"
filling_color = "#FFE991"
plantname = "mushrooms"
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom
name = "glowshroom cluster"
desc = "<I>Mycena Bregprox</I>: This species of mushroom glows in the dark. Or does it?"
icon_state = "glowshroom"
filling_color = "#DAFF91"
potency = 30
plantname = "glowshroom"
/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato
name = "blue-space tomato"
desc = "So lubricated, you might slip through space-time."
icon_state = "bluespacetomato"
potency = 20
origin_tech = "bluespace=3"
filling_color = "#91F8FF"
plantname = "bluespacetomato"
// Super special snowflake grown items below.
/obj/item/weapon/reagent_containers/food/snacks/grown/shand
name = "S'rendarr's Hand leaf"
desc = "A leaf sample from a lowland thicket shrub. Smells strongly like wax."
icon_state = "shand"
filling_color = "#70C470"
plantname = "shand"
/obj/item/weapon/reagent_containers/food/snacks/grown/mtear
name = "sprig of Messa's Tear"
desc = "A mountain climate herb with a soft, cold blue flower, known to contain an abundance of healing chemicals."
icon_state = "mtear"
filling_color = "#70C470"
plantname = "mtear"
/obj/item/weapon/reagent_containers/food/snacks/grown/mtear/attack_self(mob/user as mob)
if(istype(user.loc,/turf/space))
return
var/obj/item/stack/medical/ointment/tajaran/poultice = new /obj/item/stack/medical/ointment/tajaran(user.loc)
poultice.heal_burn = potency
del(src)
user << "<span class='notice'>You mash the petals into a poultice.</span>"
/obj/item/weapon/reagent_containers/food/snacks/grown/shand/attack_self(mob/user as mob)
if(istype(user.loc,/turf/space))
return
var/obj/item/stack/medical/bruise_pack/tajaran/poultice = new /obj/item/stack/medical/bruise_pack/tajaran(user.loc)
poultice.heal_brute = potency
del(src)
user << "<span class='notice'>You mash the leaves into a poultice.</span>"
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin
name = "pumpkin"
desc = "It's large and scary."
icon_state = "pumpkin"
potency = 10
filling_color = "#FAB728"
plantname = "pumpkin"
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/melee/energy))
user.show_message("<span class='notice'>You carve a face into [src]!</span>", 1)
new /obj/item/clothing/head/pumpkinhead (user.loc)
del(src)
return
/obj/item/weapon/reagent_containers/food/snacks/grown/sunflower // FLOWER POWER!
plantname = "sunflowers"
name = "sunflower"
desc = "A beautiful yellow flower."
icon_state = "sunflower"
damtype = "fire"
force = 0
throw_speed = 1
throw_range = 3
/obj/item/weapon/reagent_containers/food/snacks/grown/nettle
plantname = "nettle"
desc = "It's probably <B>not</B> wise to touch it with bare hands..."
icon = 'icons/obj/weapons.dmi'
name = "nettle"
icon_state = "nettle"
damtype = "fire"
force = 15
w_class = 2.0
throw_speed = 1
throw_range = 3
origin_tech = "combat=1"
attack_verb = list("stung")
hitsound = ""
/obj/item/weapon/reagent_containers/food/snacks/grown/nettle/death
plantname = "deathnettle"
desc = "A cruel and toxic-looking plant."
name = "deathnettle"
icon_state = "deathnettle"
origin_tech = "combat=3"
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris
plantname = "ambrosia"
+12 -1
View File
@@ -79,4 +79,15 @@
user << "<span class='notice'>You use [W] to fashion a pipe out of the corn cob!</span>"
new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc)
del(src)
return
return
/obj/item/weapon/bananapeel
name = "banana peel"
desc = "A peel from a banana."
icon = 'icons/obj/items.dmi'
icon_state = "banana_peel"
item_state = "banana_peel"
w_class = 2.0
throwforce = 0
throw_speed = 4
throw_range = 20
+6 -15
View File
@@ -108,12 +108,13 @@ proc/populate_seed_list()
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/traits = list() // Initialized in New()
var/list/products // Possible fruit/other product paths.
var/list/mutants // Possible predefined mutant varieties, if any.
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/splat_type = /obj/effect/decal/cleanable/fruit_smudge // Graffiti decal.
var/kitchen_tag // Used by the reagent grinder.
var/trash_type // Garbage item produced when eaten.
/datum/seed/New()
@@ -377,7 +378,6 @@ proc/populate_seed_list()
display_name = "strange plants" // TODO: name generator.
mysterious = 1
seed_noun = pick("spores","nodes","cuttings","seeds")
products = list(pick(typesof(/obj/item/weapon/reagent_containers/food/snacks/grown)-/obj/item/weapon/reagent_containers/food/snacks/grown))
set_trait(TRAIT_POTENCY,rand(5,30),200,0)
set_trait(TRAIT_PRODUCT_ICON,pick(plant_product_sprites))
@@ -604,9 +604,6 @@ proc/populate_seed_list()
for(var/trait in list(TRAIT_YIELD, TRAIT_ENDURANCE))
if(get_trait(trait) > 0) set_trait(trait,get_trait(trait),null,1,0.85)
if(!products) products = list()
products |= gene.values["[TRAIT_PRODUCTS]"]
if(!chems) chems = list()
var/list/gene_value = gene.values["[TRAIT_CHEMS]"]
@@ -651,7 +648,6 @@ proc/populate_seed_list()
switch(genetype)
if(GENE_PRODUCTS)
P.values["[TRAIT_PRODUCTS]"] = products
P.values["[TRAIT_CHEMS]"] = chems
P.values["[TRAIT_EXUDE_GASSES]"] = exude_gasses
traits_to_copy = list(TRAIT_ALTER_TEMP,TRAIT_POTENCY,TRAIT_HARVEST_REPEAT,TRAIT_PRODUCES_POWER,TRAIT_JUICY,TRAIT_PRODUCT_ICON,TRAIT_PLANT_ICON)
@@ -677,11 +673,7 @@ proc/populate_seed_list()
if(!user)
return
var/got_product
if(!isnull(products) && products.len && get_trait(TRAIT_YIELD) > 0)
got_product = 1
if(!force_amount && !got_product && !harvest_sample)
if(!force_amount && get_trait(TRAIT_YIELD) == 0 && !harvest_sample)
if(istype(user)) user << "<span class='danger'>You fail to harvest anything useful.</span>"
else
if(istype(user)) user << "You [harvest_sample ? "take a sample" : "harvest"] from the [display_name]."
@@ -712,9 +704,7 @@ proc/populate_seed_list()
currently_querying = list()
for(var/i = 0;i<total_yield;i++)
var/product_type = pick(products)
var/obj/item/product = new product_type(get_turf(user),name)
var/obj/item/product = new /obj/item/weapon/reagent_containers/food/snacks/grown(get_turf(user),name)
if(get_trait(TRAIT_PRODUCT_COLOUR))
product.color = get_trait(TRAIT_PRODUCT_COLOUR)
if(istype(product,/obj/item/weapon/reagent_containers/food))
@@ -751,9 +741,10 @@ proc/populate_seed_list()
new_seed.uid = 0
new_seed.roundstart = 0
new_seed.can_self_harvest = can_self_harvest
new_seed.kitchen_tag = kitchen_tag
new_seed.trash_type = trash_type
//Copy over everything else.
if(products) new_seed.products = products.Copy()
if(mutants) new_seed.mutants = mutants.Copy()
if(chems) new_seed.chems = chems.Copy()
if(consume_gasses) new_seed.consume_gasses = consume_gasses.Copy()
+46 -88
View File
@@ -3,9 +3,9 @@
name = "chili"
seed_name = "chili"
display_name = "chili plants"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/chili)
chems = list("capsaicin" = list(3,5), "nutriment" = list(1,25))
mutants = list("icechili")
kitchen_tag = "chili"
/datum/seed/chili/New()
..()
@@ -23,8 +23,8 @@
seed_name = "ice pepper"
display_name = "ice-pepper plants"
mutants = null
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper)
chems = list("frostoil" = list(3,5), "nutriment" = list(1,50))
kitchen_tag = "icechili"
/datum/seed/chili/ice/New()
..()
@@ -37,9 +37,9 @@
name = "berries"
seed_name = "berry"
display_name = "berry bush"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/berries)
mutants = list("glowberries","poisonberries")
chems = list("nutriment" = list(1,10))
chems = list("nutriment" = list(1,10), "berryjuice" = list(1,10))
kitchen_tag = "berries"
/datum/seed/berry/New()
..()
@@ -57,7 +57,6 @@
name = "glowberries"
seed_name = "glowberry"
display_name = "glowberry bush"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries)
mutants = null
chems = list("nutriment" = list(1,10), "uranium" = list(3,5))
@@ -76,9 +75,8 @@
name = "poisonberries"
seed_name = "poison berry"
display_name = "poison berry bush"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/poisonberries)
mutants = list("deathberries")
chems = list("nutriment" = list(1), "toxin" = list(3,5))
chems = list("nutriment" = list(1), "toxin" = list(3,5), "poisonberryjuice" = list(3,5))
/datum/seed/berry/poison/New()
..()
@@ -89,7 +87,6 @@
seed_name = "death berry"
display_name = "death berry bush"
mutants = null
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/deathberries)
chems = list("nutriment" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5))
/datum/seed/berry/poison/death/New()
@@ -103,9 +100,10 @@
name = "nettle"
seed_name = "nettle"
display_name = "nettles"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/nettle)
mutants = list("deathnettle")
chems = list("nutriment" = list(1,50), "sacid" = list(0,1))
kitchen_tag = "nettle"
kitchen_tag = "nettle"
/datum/seed/nettle/New()
..()
@@ -123,9 +121,9 @@
name = "deathnettle"
seed_name = "death nettle"
display_name = "death nettles"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/nettle/death)
mutants = null
chems = list("nutriment" = list(1,50), "pacid" = list(0,1))
kitchen_tag = "deathnettle"
/datum/seed/nettle/death/New()
..()
@@ -139,9 +137,9 @@
name = "tomato"
seed_name = "tomato"
display_name = "tomato plant"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/tomato)
mutants = list("bluetomato","bloodtomato")
chems = list("nutriment" = list(1,10))
chems = list("nutriment" = list(1,10), "tomatojuice" = list(1,10))
kitchen_tag = "tomato"
/datum/seed/tomato/New()
..()
@@ -159,7 +157,6 @@
name = "bloodtomato"
seed_name = "blood tomato"
display_name = "blood tomato plant"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato)
mutants = list("killer")
chems = list("nutriment" = list(1,10), "blood" = list(1,5))
splat_type = /obj/effect/decal/cleanable/blood/splatter
@@ -173,7 +170,6 @@
name = "killertomato"
seed_name = "killer tomato"
display_name = "killer tomato plant"
products = list(/mob/living/simple_animal/tomato)
mutants = null
can_self_harvest = 1
@@ -186,7 +182,6 @@
name = "bluetomato"
seed_name = "blue tomato"
display_name = "blue tomato plant"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato)
mutants = list("bluespacetomato")
chems = list("nutriment" = list(1,20), "lube" = list(1,5))
@@ -199,7 +194,6 @@
name = "bluespacetomato"
seed_name = "bluespace tomato"
display_name = "bluespace tomato plant"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato)
mutants = null
chems = list("nutriment" = list(1,20), "singulo" = list(1,5))
@@ -215,9 +209,9 @@
name = "eggplant"
seed_name = "eggplant"
display_name = "eggplants"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant)
mutants = list("realeggplant")
chems = list("nutriment" = list(1,10))
kitchen_tag = "eggplant"
/datum/seed/eggplant/New()
..()
@@ -230,26 +224,14 @@
set_trait(TRAIT_PRODUCT_COLOUR,"#892694")
set_trait(TRAIT_PLANT_ICON,"bush4")
/datum/seed/eggplant/eggs
name = "realeggplant"
seed_name = "egg-plant"
display_name = "egg-plants"
products = list(/obj/item/weapon/reagent_containers/food/snacks/egg)
mutants = null
/datum/seed/eggplant/eggs/New()
..()
set_trait(TRAIT_PRODUCTION,12)
set_trait(TRAIT_PRODUCT_COLOUR,"#E7EDD1")
//Apples/varieties.
/datum/seed/apple
name = "apple"
seed_name = "apple"
display_name = "apple tree"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/apple)
mutants = list("poisonapple","goldapple")
chems = list("nutriment" = list(1,10))
kitchen_tag = "apple"
/datum/seed/apple/New()
..()
@@ -265,16 +247,15 @@
/datum/seed/apple/poison
name = "poisonapple"
mutants = null
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned)
chems = list("cyanide" = list(1,5))
/datum/seed/apple/gold
name = "goldapple"
seed_name = "golden apple"
display_name = "gold apple tree"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/goldapple)
mutants = null
chems = list("nutriment" = list(1,10), "gold" = list(1,5))
kitchen_tag = "goldapple"
/datum/seed/apple/gold/New()
..()
@@ -289,9 +270,9 @@
name = "ambrosia"
seed_name = "ambrosia vulgaris"
display_name = "ambrosia vulgaris"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris)
mutants = list("ambrosiadeus")
chems = list("nutriment" = list(1), "space_drugs" = list(1,8), "kelotane" = list(1,8,1), "bicaridine" = list(1,10,1), "toxin" = list(1,10))
kitchen_tag = "ambrosia"
/datum/seed/ambrosia/New()
..()
@@ -308,9 +289,9 @@
name = "ambrosiadeus"
seed_name = "ambrosia deus"
display_name = "ambrosia deus"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus)
mutants = null
chems = list("nutriment" = list(1), "bicaridine" = list(1,8), "synaptizine" = list(1,8,1), "hyperzine" = list(1,10,1), "space_drugs" = list(1,10))
kitchen_tag = "ambrosiadeus"
/datum/seed/ambrosia/deus/New()
..()
@@ -323,10 +304,10 @@
seed_name = "chanterelle"
seed_noun = "spores"
display_name = "chanterelle mushrooms"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle)
mutants = list("reishi","amanita","plumphelmet")
chems = list("nutriment" = list(1,25))
splat_type = /obj/effect/plant
kitchen_tag = "mushroom"
/datum/seed/mushroom/New()
..()
@@ -343,7 +324,6 @@
name = "mold"
seed_name = "brown mold"
display_name = "brown mold"
products = null
mutants = null
/datum/seed/mushroom/mold/New()
@@ -360,9 +340,9 @@
name = "plumphelmet"
seed_name = "plump helmet"
display_name = "plump helmet mushrooms"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet)
mutants = list("walkingmushroom","towercap")
chems = list("nutriment" = list(2,10))
kitchen_tag = "plumphelmet"
/datum/seed/mushroom/plump/New()
..()
@@ -378,7 +358,6 @@
name = "walkingmushroom"
seed_name = "walking mushroom"
display_name = "walking mushrooms"
products = list(/mob/living/simple_animal/mushroom)
mutants = null
can_self_harvest = 1
@@ -393,7 +372,6 @@
name = "reishi"
seed_name = "reishi"
display_name = "reishi"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi)
mutants = list("libertycap","glowshroom")
chems = list("nutriment" = list(1,50), "psilocybin" = list(3,5))
@@ -412,7 +390,6 @@
name = "libertycap"
seed_name = "liberty cap"
display_name = "liberty cap mushrooms"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap)
mutants = null
chems = list("nutriment" = list(1), "stoxin" = list(3,3), "space_drugs" = list(1,25))
@@ -429,7 +406,6 @@
name = "amanita"
seed_name = "fly amanita"
display_name = "fly amanita mushrooms"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita)
mutants = list("destroyingangel","plastic")
chems = list("nutriment" = list(1), "amatoxin" = list(3,3), "psilocybin" = list(1,25))
@@ -449,7 +425,6 @@
seed_name = "destroying angel"
display_name = "destroying angel mushrooms"
mutants = null
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel)
chems = list("nutriment" = list(1,50), "amatoxin" = list(13,3), "psilocybin" = list(1,25))
/datum/seed/mushroom/poison/death/New()
@@ -467,7 +442,6 @@
seed_name = "tower cap"
display_name = "tower caps"
mutants = null
products = list(/obj/item/weapon/grown/log)
/datum/seed/mushroom/towercap/New()
..()
@@ -481,7 +455,6 @@
name = "glowshroom"
seed_name = "glowshroom"
display_name = "glowshrooms"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom)
mutants = null
chems = list("radium" = list(1,20))
@@ -503,7 +476,6 @@
name = "plastic"
seed_name = "plastellium"
display_name = "plastellium"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/plastellium)
mutants = null
chems = list("plasticide" = list(1,10))
@@ -523,7 +495,6 @@
name = "harebells"
seed_name = "harebell"
display_name = "harebells"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/harebell)
chems = list("nutriment" = list(1,20))
/datum/seed/flower/New()
@@ -540,8 +511,8 @@
name = "poppies"
seed_name = "poppy"
display_name = "poppies"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/poppy)
chems = list("nutriment" = list(1,20), "bicaridine" = list(1,10))
kitchen_tag = "poppy"
/datum/seed/flower/poppy/New()
..()
@@ -557,7 +528,6 @@
name = "sunflowers"
seed_name = "sunflower"
display_name = "sunflowers"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/sunflower)
/datum/seed/flower/sunflower/New()
..()
@@ -572,8 +542,7 @@
seed_name = "grape"
display_name = "grapevines"
mutants = list("greengrapes")
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/grapes)
chems = list("nutriment" = list(1,10), "sugar" = list(1,5))
chems = list("nutriment" = list(1,10), "sugar" = list(1,5), "grapejuice" = list(1,10))
/datum/seed/grapes/New()
..()
@@ -591,9 +560,8 @@
name = "greengrapes"
seed_name = "green grape"
display_name = "green grapevines"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/greengrapes)
mutants = null
chems = list("nutriment" = list(1,10), "kelotane" = list(3,5))
chems = list("nutriment" = list(1,10), "kelotane" = list(3,5), "grapejuice" = list(1,10))
/datum/seed/grapes/green/New()
..()
@@ -604,7 +572,6 @@
name = "peanut"
seed_name = "peanut"
display_name = "peanut vines"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/peanut)
chems = list("nutriment" = list(1,10))
/datum/seed/peanuts/New()
@@ -622,8 +589,8 @@
name = "cabbage"
seed_name = "cabbage"
display_name = "cabbages"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage)
chems = list("nutriment" = list(1,10))
kitchen_tag = "cabbage"
/datum/seed/cabbage/New()
..()
@@ -641,8 +608,9 @@
name = "banana"
seed_name = "banana"
display_name = "banana tree"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/banana)
chems = list("banana" = list(1,10))
trash_type = /obj/item/weapon/bananapeel
kitchen_tag = "banana"
/datum/seed/banana/New()
..()
@@ -659,8 +627,9 @@
name = "corn"
seed_name = "corn"
display_name = "ears of corn"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/corn)
chems = list("nutriment" = list(1,10))
chems = list("nutriment" = list(1,10), "cornoil" = list(1,10))
kitchen_tag = "corn"
trash_type = /obj/item/weapon/corncob
/datum/seed/corn/New()
..()
@@ -677,8 +646,8 @@
name = "potato"
seed_name = "potato"
display_name = "potatoes"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/potato)
chems = list("nutriment" = list(1,10))
chems = list("nutriment" = list(1,10), "potato" = list(1,10))
kitchen_tag = "potato"
/datum/seed/potato/New()
..()
@@ -695,8 +664,8 @@
name = "soybean"
seed_name = "soybean"
display_name = "soybeans"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans)
chems = list("nutriment" = list(1,20))
chems = list("nutriment" = list(1,20), "soymilk" = list(1,20))
kitchen_tag = "soybeans"
/datum/seed/soybean/New()
..()
@@ -713,8 +682,8 @@
name = "wheat"
seed_name = "wheat"
display_name = "wheat stalks"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/wheat)
chems = list("nutriment" = list(1,25))
kitchen_tag = "wheat"
/datum/seed/wheat/New()
..()
@@ -731,8 +700,8 @@
name = "rice"
seed_name = "rice"
display_name = "rice stalks"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/ricestalk)
chems = list("nutriment" = list(1,25))
chems = list("nutriment" = list(1,25), "rice" = list(1,25))
kitchen_tag = "rice"
/datum/seed/rice/New()
..()
@@ -749,8 +718,8 @@
name = "carrot"
seed_name = "carrot"
display_name = "carrots"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/carrot)
chems = list("nutriment" = list(1,20), "imidazoline" = list(3,5))
chems = list("nutriment" = list(1,20), "imidazoline" = list(3,5), "carrotjuice" = list(1,20))
kitchen_tag = "carrot"
/datum/seed/carrots/New()
..()
@@ -783,8 +752,8 @@
name = "whitebeet"
seed_name = "white-beet"
display_name = "white-beets"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet)
chems = list("nutriment" = list(0,20), "sugar" = list(1,5))
kitchen_tag = "whitebeet"
/datum/seed/whitebeets/New()
..()
@@ -801,7 +770,6 @@
name = "sugarcane"
seed_name = "sugarcane"
display_name = "sugarcanes"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane)
chems = list("sugar" = list(4,5))
/datum/seed/sugarcane/New()
@@ -820,8 +788,7 @@
name = "watermelon"
seed_name = "watermelon"
display_name = "watermelon vine"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon)
chems = list("nutriment" = list(1,6))
chems = list("nutriment" = list(1,6), "watermelonjuice" = list(1,6))
/datum/seed/watermelon/New()
..()
@@ -840,8 +807,8 @@
name = "pumpkin"
seed_name = "pumpkin"
display_name = "pumpkin vine"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin)
chems = list("nutriment" = list(1,6))
kitchen_tag = "pumpkin"
/datum/seed/pumpkin/New()
..()
@@ -859,8 +826,8 @@
name = "lime"
seed_name = "lime"
display_name = "lime trees"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown)
chems = list("nutriment" = list(1,20))
chems = list("nutriment" = list(1,20), "limejuice" = list(1,20))
kitchen_tag = "lime"
/datum/seed/citrus/New()
..()
@@ -878,6 +845,8 @@
name = "lemon"
seed_name = "lemon"
display_name = "lemon trees"
chems = list("nutriment" = list(1,20), "lemonjuice" = list(1,20))
kitchen_tag = "lemon"
/datum/seed/citrus/lemon/New()
..()
@@ -888,6 +857,7 @@
name = "orange"
seed_name = "orange"
display_name = "orange trees"
kitchen_tag = "orange"
/datum/seed/citrus/orange/New()
..()
@@ -897,7 +867,7 @@
name = "grass"
seed_name = "grass"
display_name = "grass"
products = list(/obj/item/stack/tile/grass)
chems = list("nutriment" = list(1,20), "orangejuice" = list(1,20))
/datum/seed/grass/New()
..()
@@ -914,7 +884,6 @@
name = "cocoa"
seed_name = "cacao"
display_name = "cacao tree"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod)
chems = list("nutriment" = list(1,10), "coco" = list(4,5))
/datum/seed/cocoa/New()
@@ -933,8 +902,8 @@
seed_name = "cherry"
seed_noun = "pits"
display_name = "cherry tree"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cherries)
chems = list("nutriment" = list(1,15), "sugar" = list(1,15))
chems = list("nutriment" = list(1,15), "sugar" = list(1,15), "cherryjelly" = list(1,15))
kitchen_tag = "cherries"
/datum/seed/cherries/New()
..()
@@ -952,7 +921,6 @@
name = "kudzu"
seed_name = "kudzu"
display_name = "kudzu vines"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod)
chems = list("nutriment" = list(1,50), "anti_toxin" = list(1,25))
/datum/seed/kudzu/New()
@@ -972,7 +940,6 @@
seed_name = "diona"
seed_noun = "nodes"
display_name = "replicant pods"
products = list(/mob/living/carbon/alien/diona)
can_self_harvest = 1
/datum/seed/diona/New()
@@ -992,7 +959,6 @@
name = "shand"
seed_name = "S'randar's hand"
display_name = "S'randar's hand leaves"
products = list(/obj/item/stack/medical/bruise_pack/tajaran)
chems = list("bicaridine" = list(0,10))
/datum/seed/shand/New()
@@ -1010,7 +976,6 @@
name = "mtear"
seed_name = "Messa's tear"
display_name = "Messa's tear leaves"
products = list(/obj/item/stack/medical/ointment/tajaran)
chems = list("honey" = list(1,10), "kelotane" = list(3,5))
/datum/seed/mtear/New()
@@ -1028,7 +993,6 @@
name = "telriis"
seed_name = "telriis"
display_name = "telriis grass"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/telriis_clump)
chems = list("pwine" = list(1,5), "nutriment" = list(1,6))
/datum/seed/telriis/New()
@@ -1044,7 +1008,6 @@
name = "thaadra"
seed_name = "thaa'dra"
display_name = "thaa'dra lichen"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/thaadrabloom)
chems = list("frostoil" = list(1,5),"nutriment" = list(1,5))
/datum/seed/thaadra/New()
@@ -1060,7 +1023,6 @@
name = "jurlmah"
seed_name = "jurl'mah"
display_name = "jurl'mah reeds"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/jurlmah)
chems = list("serotrotium" = list(1,5),"nutriment" = list(1,5))
/datum/seed/jurlmah/New()
@@ -1076,7 +1038,6 @@
name = "amauri"
seed_name = "amauri"
display_name = "amauri plant"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/amauri)
chems = list("zombiepowder" = list(1,10),"condensedcapsaicin" = list(1,5),"nutriment" = list(1,5))
/datum/seed/amauri/New()
@@ -1092,7 +1053,6 @@
name = "gelthi"
seed_name = "gelthi"
display_name = "gelthi plant"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/gelthi)
chems = list("stoxin" = list(1,5),"capsaicin" = list(1,5),"nutriment" = list(1,5))
/datum/seed/gelthi/New()
@@ -1108,7 +1068,6 @@
name = "vale"
seed_name = "vale"
display_name = "vale bush"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/vale)
chems = list("paracetamol" = list(1,5),"dexalin" = list(1,2),"nutriment"= list(1,5))
/datum/seed/vale/New()
@@ -1124,7 +1083,6 @@
name = "surik"
seed_name = "surik"
display_name = "surik vine"
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/surik)
chems = list("impedrezene" = list(1,3),"synaptizine" = list(1,2),"nutriment" = list(1,5))
/datum/seed/surik/New()
-3
View File
@@ -117,9 +117,6 @@ var/global/list/plant_seed_sprites = list()
/obj/item/seeds/eggplantseed
seed_type = "eggplant"
/obj/item/seeds/eggyseed
seed_type = "realeggplant"
/obj/item/seeds/bloodtomatoseed
seed_type = "bloodtomato"
@@ -107,8 +107,7 @@
check_health()
// If enough time (in cycles, not ticks) has passed since the plant was harvested, we're ready to harvest again.
if(seed.products && seed.products.len && \
(age > seed.get_trait(TRAIT_MATURATION)) && \
if((age > seed.get_trait(TRAIT_MATURATION)) && \
((age - lastproduce) > seed.get_trait(TRAIT_PRODUCTION)) && \
(!harvest && !dead))
harvest = 1
@@ -108,9 +108,6 @@
else if(grown_seed.get_trait(TRAIT_IMMUTABLE) > 0)
dat += "This plant does not possess genetics that are alterable.<br>"
if(grown_seed.products && grown_seed.products.len)
dat += "The mature plant will produce [grown_seed.products.len == 1 ? "fruit" : "[grown_seed.products.len] varieties of fruit"].<br>"
if(grown_seed.get_trait(TRAIT_REQUIRES_NUTRIENTS))
if(grown_seed.get_trait(TRAIT_NUTRIENT_CONSUMPTION) < 0.05)
dat += "It consumes a small amount of nutrient fluid.<br>"
@@ -222,15 +222,18 @@ var/global/chicken_count = 0
chicken_count -= 1
/mob/living/simple_animal/chicken/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/wheat)) //feedin' dem chickens
if(!stat && eggsleft < 8)
user.visible_message("\blue [user] feeds [O] to [name]! It clucks happily.","\blue You feed [O] to [name]! It clucks happily.")
user.drop_item()
del(O)
eggsleft += rand(1, 4)
//world << eggsleft
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown)) //feedin' dem chickens
var/obj/item/weapon/reagent_containers/food/snacks/grown/G = O
if(G.seed && G.seed.kitchen_tag == "wheat")
if(!stat && eggsleft < 8)
user.visible_message("\blue [user] feeds [O] to [name]! It clucks happily.","\blue You feed [O] to [name]! It clucks happily.")
user.drop_item()
del(O)
eggsleft += rand(1, 4)
else
user << "\blue [name] doesn't seem hungry!"
else
user << "\blue [name] doesn't seem hungry!"
user << "[name] doesn't seem interested in that."
else
..()
+30 -231
View File
@@ -646,7 +646,7 @@
if(type in diseases) // Make sure this is a disease
D = new type(0, null)
var/list/data = list("viruses"=list(D))
var/name = sanitize(copytext(input(usr,"Name:","Name the culture",D.name), 1, MAX_NAME_LEN))
var/name = sanitize(input(usr,"Name:","Name the culture",D.name))
if(!name || name == " ") name = D.name
B.name = "[name] culture bottle"
B.desc = "A small bottle. Contains [D.agent] culture in synthblood medium."
@@ -824,56 +824,6 @@
var/inuse = 0
var/obj/item/weapon/reagent_containers/beaker = null
var/limit = 10
var/list/blend_items = list (
//Sheets
/obj/item/stack/sheet/mineral/phoron = list("phoron" = 20),
/obj/item/stack/sheet/mineral/uranium = list("uranium" = 20),
/obj/item/stack/sheet/mineral/silver = list("silver" = 20),
/obj/item/stack/sheet/mineral/gold = list("gold" = 20),
/obj/item/weapon/reagent_containers/food/snacks/grown/nettle/death = list("pacid" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/nettle = list("sacid" = 0),
//Blender Stuff
/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans = list("soymilk" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("ketchup" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/corn = list("cornoil" = 0),
///obj/item/weapon/reagent_containers/food/snacks/grown/wheat = list("flour" = -5),
/obj/item/weapon/reagent_containers/food/snacks/grown/ricestalk = list("rice" = -5),
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries = list("cherryjelly" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/plastellium = list("plasticide" = 5),
//archaeology!
/obj/item/weapon/rocksliver = list("ground_rock" = 50),
//All types that you can put into the grinder to transfer the reagents to the beaker. !Put all recipes above this.!
/obj/item/weapon/reagent_containers/pill = list(),
/obj/item/weapon/reagent_containers/food = list(),
//Crayons
/obj/item/toy/crayon = list()
)
var/list/juice_items = list (
//Juicer Stuff
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("tomatojuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot = list("carrotjuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/berries = list("berryjuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/banana = list("banana" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/potato = list("potato" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/lemon = list("lemonjuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/orange = list("orangejuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/lime = list("limejuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/watermelonslice = list("watermelonjuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/grapes = list("grapejuice" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/poisonberries = list("poisonberryjuice" = 0),
)
var/list/holdingitems = list()
/obj/machinery/reagentgrinder/New()
@@ -885,10 +835,8 @@
icon_state = "juicer"+num2text(!isnull(beaker))
return
/obj/machinery/reagentgrinder/attackby(var/obj/item/O as obj, var/mob/user as mob)
if (istype(O,/obj/item/weapon/reagent_containers/glass) || \
istype(O,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass) || \
istype(O,/obj/item/weapon/reagent_containers/food/drinks/shaker))
@@ -908,24 +856,36 @@
return 1
//Fill machine with the plantbag!
if(istype(O, /obj/item/weapon/storage/bag/plants))
if(!istype(O))
return
for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents)
if(istype(O,/obj/item/weapon/storage/bag/plants))
var/failed = 1
for (var/obj/item/G in O.contents)
if(!O.reagents || !O.reagents.total_volume)
continue
failed = 0
O.contents -= G
G.loc = src
holdingitems += G
if(holdingitems && holdingitems.len >= limit) //Sanity checking so the blender doesn't overfill
user << "You fill the All-In-One grinder to the brim."
if(holdingitems && holdingitems.len >= limit)
break
if(failed)
user << "Nothing in the plant bag is usable."
return 1
if(!O.contents.len)
user << "You empty the plant bag into the All-In-One grinder."
user << "You fill \the [src]."
else
user << "You fill \the [src]. Some of the things in the plant bag aren't suitable."
src.updateUsrDialog()
return 0
if (!is_type_in_list(O, blend_items) && !is_type_in_list(O, juice_items))
user << "Cannot refine into a reagent."
if(!O.reagents || !O.reagents.total_volume)
user << "\The [O] is not suitable for blending."
return 1
user.before_take_item(O)
@@ -974,8 +934,7 @@
[beaker_contents]<hr>
"}
if (is_beaker_ready && !is_chamber_empty && !(stat & (NOPOWER|BROKEN)))
dat += "<A href='?src=\ref[src];action=grind'>Grind the reagents</a><BR>"
dat += "<A href='?src=\ref[src];action=juice'>Juice the reagents</a><BR><BR>"
dat += "<A href='?src=\ref[src];action=grind'>Process the reagents</a><BR>"
if(holdingitems && holdingitems.len > 0)
dat += "<A href='?src=\ref[src];action=eject'>Eject the reagents</a><BR>"
if (beaker)
@@ -994,8 +953,6 @@
switch(href_list["action"])
if ("grind")
grind()
if("juice")
juice()
if("eject")
eject()
if ("detach")
@@ -1025,190 +982,32 @@
holdingitems -= O
holdingitems = list()
/obj/machinery/reagentgrinder/proc/is_allowed(var/obj/item/weapon/reagent_containers/O)
for (var/i in blend_items)
if(istype(O, i))
return 1
return 0
/obj/machinery/reagentgrinder/proc/get_allowed_by_id(var/obj/item/weapon/grown/O)
for (var/i in blend_items)
if (istype(O, i))
return blend_items[i]
/obj/machinery/reagentgrinder/proc/get_allowed_snack_by_id(var/obj/item/weapon/reagent_containers/food/snacks/O)
for(var/i in blend_items)
if(istype(O, i))
return blend_items[i]
/obj/machinery/reagentgrinder/proc/get_allowed_juice_by_id(var/obj/item/weapon/reagent_containers/food/snacks/O)
for(var/i in juice_items)
if(istype(O, i))
return juice_items[i]
/obj/machinery/reagentgrinder/proc/get_grownweapon_amount(var/obj/item/weapon/grown/O)
if (!istype(O))
return 5
else if (O.potency == -1)
return 5
else
return round(O.potency)
/obj/machinery/reagentgrinder/proc/get_juice_amount(var/obj/item/weapon/reagent_containers/food/snacks/grown/O)
if (!istype(O))
return 5
else if (O.potency == -1)
return 5
else
return round(5*sqrt(O.potency))
/obj/machinery/reagentgrinder/proc/remove_object(var/obj/item/O)
holdingitems -= O
del(O)
/obj/machinery/reagentgrinder/proc/juice()
power_change()
if(stat & (NOPOWER|BROKEN))
return
if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
return
playsound(src.loc, 'sound/machines/juicer.ogg', 20, 1)
inuse = 1
spawn(50)
inuse = 0
interact(usr)
//Snacks
for (var/obj/item/weapon/reagent_containers/food/snacks/O in holdingitems)
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
var/allowed = get_allowed_juice_by_id(O)
if(isnull(allowed))
break
for (var/r_id in allowed)
var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
var/amount = get_juice_amount(O)
beaker.reagents.add_reagent(r_id, min(amount, space))
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
remove_object(O)
/obj/machinery/reagentgrinder/proc/grind()
power_change()
if(stat & (NOPOWER|BROKEN))
return
// Sanity check.
if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
return
playsound(src.loc, 'sound/machines/blender.ogg', 50, 1)
inuse = 1
// Reset the machine.
spawn(60)
inuse = 0
interact(usr)
//Snacks and Plants
for (var/obj/item/weapon/reagent_containers/food/snacks/O in holdingitems)
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
var/allowed = get_allowed_snack_by_id(O)
if(isnull(allowed))
break
for (var/r_id in allowed)
var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
var/amount = allowed[r_id]
if(amount <= 0)
if(amount == 0)
if (O.reagents != null && O.reagents.has_reagent("nutriment"))
beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount("nutriment"), space))
O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space))
else
if (O.reagents != null && O.reagents.has_reagent("nutriment"))
beaker.reagents.add_reagent(r_id, min(round(O.reagents.get_reagent_amount("nutriment")*abs(amount)), space))
O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space))
else
O.reagents.trans_id_to(beaker, r_id, min(amount, space))
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
if(O.reagents.reagent_list.len == 0)
// Process.
for (var/obj/item/O in holdingitems)
O.reagents.trans_to(beaker, min(O.reagents.total_volume, (beaker.reagents.maximum_volume - beaker.reagents.total_volume)))
if(O.reagents.total_volume == 0)
remove_object(O)
//Sheets
for (var/obj/item/stack/sheet/O in holdingitems)
var/allowed = get_allowed_by_id(O)
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
for(var/i = 1; i <= round(O.amount, 1); i++)
for (var/r_id in allowed)
var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
var/amount = allowed[r_id]
beaker.reagents.add_reagent(r_id,min(amount, space))
if (space < amount)
break
if (i == round(O.amount, 1))
remove_object(O)
break
//Plants
for (var/obj/item/weapon/grown/O in holdingitems)
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
var/allowed = get_allowed_by_id(O)
for (var/r_id in allowed)
var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
var/amount = allowed[r_id]
if (amount == 0)
if (O.reagents != null && O.reagents.has_reagent(r_id))
beaker.reagents.add_reagent(r_id,min(O.reagents.get_reagent_amount(r_id), space))
else
beaker.reagents.add_reagent(r_id,min(amount, space))
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
remove_object(O)
//xenoarch
for(var/obj/item/weapon/rocksliver/O in holdingitems)
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
var/allowed = get_allowed_by_id(O)
for (var/r_id in allowed)
var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
var/amount = allowed[r_id]
beaker.reagents.add_reagent(r_id,min(amount, space), O.geological_data)
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
remove_object(O)
//crayons
for (var/obj/item/toy/crayon/O in holdingitems)
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
var/amount = round(O.uses/3) //full crayon gives 10 juice
var/dustcolour = "red"
if (O.colourName == "mime")
dustcolour = "grey" //black+white
else if (O.colourName == "rainbow")
dustcolour = "brown" //mix of all colours
else if (!isnull(O.colourName)) //all other defined colours
dustcolour = O.colourName
beaker.reagents.add_reagent("crayon_dust_[dustcolour]",amount)
remove_object(O)
//Everything else - Transfers reagents from it into beaker
for (var/obj/item/weapon/reagent_containers/O in holdingitems)
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
var/amount = O.reagents.total_volume
O.reagents.trans_to(beaker, amount)
if(!O.reagents.total_volume)
remove_object(O)
@@ -586,6 +586,14 @@ datum
required_reagents = list("capsaicin" = 2)
required_catalysts = list("phoron" = 5)
result_amount = 1
ketchup
name = "Ketchup"
id = "ketchup"
result = "ketchup"
required_reagents = list("tomatojuice" = 2, "water" = 1, "sugar" = 1)
result_amount = 4
///////////////////////////////////////////////////////////////////////////////////
// foam and foam precursor
@@ -29,6 +29,8 @@
icon_state = "sliver[rand(1,3)]"
pixel_x = rand(0,16)-8
pixel_y = rand(0,8)-8
create_reagents(50)
reagents.add_reagent("ground_rock",50)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Geosample datum