Added growing and rolling your own weed, tobacco, tea, coffee

This commit is contained in:
ZomgPonies
2013-11-27 16:51:04 -05:00
parent 27fcbbd012
commit 6467bbbb39
15 changed files with 478 additions and 3 deletions
+101
View File
@@ -1111,6 +1111,107 @@
del(src)
/obj/item/seeds/coffee_arabica_seed
name = "pack of coffee arabica seeds"
desc = "These seeds grow into coffee arabica bushes."
icon_state = "seed-coffeea"
species = "coffeea"
plantname = "Coffee Arabica Bush"
productname = /obj/item/weapon/reagent_containers/food/snacks/grown/coffee_arabica
lifespan = 30
endurance = 20
maturation = 5
production = 5
yield = 5
potency = 10
plant_type = 0
growthstages = 5
// mutatelist = list(/obj/item/seeds/coffee_robusta_seed)
/obj/item/seeds/coffee_robusta_seed
name = "pack of coffee robusta seeds"
desc = "These seeds grow into coffee robusta bushes."
icon_state = "seed-coffeer"
species = "coffeer"
plantname = "Coffee Robusta Bush"
productname = /obj/item/weapon/reagent_containers/food/snacks/grown/coffee_robusta
lifespan = 20
endurance = 15
maturation = 5
production = 5
yield = 5
potency = 10
plant_type = 0
growthstages = 5
/obj/item/seeds/tobacco_seed
name = "pack of tobacco seeds"
desc = "These seeds grow into tobacco plants."
icon_state = "seed-tobacco"
species = "tobacco"
plantname = "Tobacco Plant"
productname = /obj/item/weapon/reagent_containers/food/snacks/grown/tobacco
lifespan = 20
endurance = 15
maturation = 5
production = 5
oneharvest = 1
yield = 10
potency = 10
plant_type = 0
growthstages = 3
// mutatelist = list(/obj/item/seeds/tobacco_space_seed)
/obj/item/seeds/tobacco_space_seed
name = "pack of space tobacco seeds"
desc = "These seeds grow into space tobacco plants."
icon_state = "seed-stobacco"
species = "stobacco"
plantname = "Space Tobacco Plant"
productname = /obj/item/weapon/reagent_containers/food/snacks/grown/tobacco_space
lifespan = 20
endurance = 15
maturation = 5
production = 5
oneharvest = 1
yield = 10
potency = 10
plant_type = 0
growthstages = 3
/obj/item/seeds/tea_aspera_seed
name = "pack of tea aspera seeds"
desc = "These seeds grow into tea plants."
icon_state = "seed-teaaspera"
species = "teaaspera"
plantname = "Tea Aspera Plant"
productname = /obj/item/weapon/reagent_containers/food/snacks/grown/tea_aspera
lifespan = 20
endurance = 15
maturation = 5
production = 5
yield = 5
potency = 10
plant_type = 0
growthstages = 5
// mutatelist = list(/obj/item/seeds/tea_astra_seed)
/obj/item/seeds/tea_astra_seed
name = "pack of tea astra seeds"
desc = "These seeds grow into tea plants."
icon_state = "seed-teaastra"
species = "teaastra"
plantname = "Tea Astra Plant"
productname = /obj/item/weapon/reagent_containers/food/snacks/grown/tea_astra
lifespan = 20
endurance = 15
maturation = 5
production = 5
yield = 5
potency = 10
plant_type = 0
growthstages = 5
/* // Maybe one day when I get it to work like a grenade which exlodes gibs.
/obj/item/seeds/gibtomatoseed
+105
View File
@@ -0,0 +1,105 @@
/obj/machinery/drying_rack
name = "drying rack"
desc = "A large rack with a heater built into the base. Used for drying things out."
icon = 'icons/obj/hydroponics.dmi'
icon_state = "drying_rack"
layer = 2.9
density = 1
anchored = 1
use_power = 1
idle_power_usage = 5
active_power_usage = 50
var/list/accepted = list()
var/running = 0
var/volume = 100
/obj/machinery/drying_rack/New()
..()
flags |= NOREACT
create_reagents(volume)
accepted = list(/obj/item/weapon/reagent_containers/food/snacks/grown/coffee_arabica,
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee_robusta,
/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco,
/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco_space,
/obj/item/weapon/reagent_containers/food/snacks/grown/tea_aspera,
/obj/item/weapon/reagent_containers/food/snacks/grown/tea_astra,
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/grown/grapes,
/obj/item/weapon/reagent_containers/food/snacks/grown/greengrapes)
/obj/machinery/drying_rack/attackby(var/obj/item/W as obj, var/mob/user as mob)
if(is_type_in_list(W,accepted))
if(!running)
if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/meat))
user.u_equip(W)
del(W)
user << "You add the meat to the drying rack."
src.running = 1
use_power = 2
icon_state = "drying_rack_on"
sleep(60)
icon_state = "drying_rack"
new /obj/item/weapon/reagent_containers/food/snacks/sosjerky(src.loc)
use_power = 1
src.running = 0
return
if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/grown/grapes))
user.u_equip(W)
del(W)
user << "You add the grapes to the drying rack."
src.running = 1
use_power = 2
icon_state = "drying_rack_on"
sleep(60)
icon_state = "drying_rack"
new /obj/item/weapon/reagent_containers/food/snacks/no_raisin(src.loc)
use_power = 1
src.running = 0
return
if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/grown/greengrapes))
user.u_equip(W)
del(W)
user << "You add the green grapes to the drying rack."
src.running = 1
use_power = 2
icon_state = "drying_rack_on"
sleep(60)
icon_state = "drying_rack"
new /obj/item/weapon/reagent_containers/food/snacks/no_raisin(src.loc)
use_power = 1
src.running = 0
return
else
if(W:dry == 0)
var/J = W.type
var/obj/item/weapon/reagent_containers/food/snacks/grown/B = W
B.reagents.trans_to(src, B.reagents.total_volume)
user << "You add the [W] to the drying rack."
user.u_equip(W)
del(W)
src.running = 1
use_power = 2
icon_state = "drying_rack_on"
sleep(60)
icon_state = "drying_rack"
var/obj/item/weapon/reagent_containers/food/snacks/grown/D = new J(src.loc)
user << "\blue You finish drying the [D]"
D.icon_state = "[D.icon_state]_dry"
D.dry = 1
D.reagents.remove_any(50)
src.reagents.trans_to(D, src.reagents.total_volume)
use_power = 1
src.running = 0
return
else
user << "\red That has already been dried!"
else
user << "\red Please wait until the last item has dried."
else
user << "\red You cannot add that to the drying rack."
+5 -3
View File
@@ -666,10 +666,10 @@
product_ads = "Probably not bad for you!;Don't believe the scientists!;It's good for you!;Don't quit, buy more!;Smoke!;Nicotine heaven.;Best cigarettes since 2150.;Award-winning cigs."
vend_delay = 34
icon_state = "cigs"
products = list(/obj/item/weapon/storage/fancy/cigarettes = 10,/obj/item/weapon/storage/box/matches = 10,/obj/item/weapon/lighter/random = 4)
products = list(/obj/item/weapon/storage/fancy/cigarettes = 10,/obj/item/weapon/storage/box/matches = 10,/obj/item/weapon/lighter/random = 4,/obj/item/weapon/rollingpaperpack = 5)
contraband = list(/obj/item/weapon/lighter/zippo = 4)
premium = list(/obj/item/clothing/mask/cigarette/cigar/havana = 2)
prices = list(/obj/item/weapon/storage/fancy/cigarettes = 60,/obj/item/weapon/storage/box/matches = 10,/obj/item/weapon/lighter/random = 60)
prices = list(/obj/item/weapon/storage/fancy/cigarettes = 60,/obj/item/weapon/storage/box/matches = 10,/obj/item/weapon/lighter/random = 60, /obj/item/weapon/rollingpaperpack = 20)
refill_canister = /obj/item/weapon/vending_refill/cigarette
/obj/machinery/vending/medical
@@ -752,7 +752,9 @@
/obj/item/seeds/sunflowerseed = 3,/obj/item/seeds/tomatoseed = 3,/obj/item/seeds/towermycelium = 3,/obj/item/seeds/wheatseed = 3,/obj/item/seeds/appleseed = 3,
/obj/item/seeds/poppyseed = 3,/obj/item/seeds/ambrosiavulgarisseed = 3,/obj/item/seeds/whitebeetseed = 3,/obj/item/seeds/watermelonseed = 3,/obj/item/seeds/limeseed = 3,
/obj/item/seeds/lemonseed = 3,/obj/item/seeds/orangeseed = 3,/obj/item/seeds/grassseed = 3,/obj/item/seeds/cocoapodseed = 3,
/obj/item/seeds/cabbageseed = 3,/obj/item/seeds/grapeseed = 3,/obj/item/seeds/pumpkinseed = 3,/obj/item/seeds/cherryseed = 3,/obj/item/seeds/plastiseed = 3,/obj/item/seeds/riceseed = 3)
/obj/item/seeds/cabbageseed = 3,/obj/item/seeds/grapeseed = 3,/obj/item/seeds/pumpkinseed = 3,/obj/item/seeds/cherryseed = 3,/obj/item/seeds/plastiseed = 3,/obj/item/seeds/riceseed = 3,
/obj/item/seeds/coffee_arabica_seed = 3, /obj/item/seeds/tobacco_seed = 3,/obj/item/seeds/tea_aspera_seed = 3)
contraband = list(/obj/item/seeds/amanitamycelium = 2,/obj/item/seeds/glowshroom = 2,/obj/item/seeds/libertymycelium = 2,/obj/item/seeds/nettleseed = 2,
/obj/item/seeds/plumpmycelium = 2,/obj/item/seeds/reishimycelium = 2)
premium = list(/obj/item/weapon/reagent_containers/spray/waterflower = 1)
@@ -132,6 +132,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \
new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 20, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("apiary", /obj/item/apiary, 10, time = 25, one_per_turf = 0, on_floor = 0), \
new/datum/stack_recipe("drying rack", /obj/machinery/drying_rack, 10, time = 15, one_per_turf = 1, on_floor = 1), \
)
/obj/item/stack/sheet/wood
@@ -191,7 +191,37 @@ CIGARETTE PACKETS ARE IN FANCY.DM
del(src)
return ..()
/obj/item/clothing/mask/cigarette/joint
name = "joint"
desc = "A roll of ambrosium vulgaris wrapped in a thin paper. Dude."
icon_state = "spliffoff"
icon_on = "spliffon"
icon_off = "spliffoff"
type_butt = /obj/item/weapon/cigbutt/roach
throw_speed = 0.5
item_state = "spliffoff"
smoketime = 180
chem_volume = 50
/obj/item/clothing/mask/cigarette/joint/New()
..()
var/list/jointnames = list("joint","doobie","spliff","blunt")
name = pick(jointnames)
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/clothing/mask/cigarette/joint/deus
desc = "A roll of ambrosium deus wrapped in a thin paper. Dude."
/obj/item/weapon/cigbutt/roach
name = "roach"
desc = "A manky old roach."
icon_state = "roach"
/obj/item/weapon/cigbutt/roach/New()
..()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
////////////
// CIGARS //
@@ -419,3 +449,55 @@ CIGARETTE PACKETS ARE IN FANCY.DM
user.SetLuminosity(user.luminosity-2)
SetLuminosity(2)
return
///////////
//ROLLING//
///////////
obj/item/weapon/rollingpaper
name = "rolling paper"
desc = "A thin piece of paper used to make fine smokeables."
icon = 'icons/obj/cigarettes.dmi'
icon_state = "cig_paper"
w_class = 1
obj/item/weapon/rollingpaperpack
name = "rolling paper pack"
desc = "A pack of NanoTrasen brand rolling papers."
icon = 'icons/obj/cigarettes.dmi'
icon_state = "cig_paper_pack"
w_class = 1
var/papers = 25
obj/item/weapon/rollingpaperpack/attack_self(mob/user)
if(papers > 1)
var/obj/item/weapon/rollingpaper/P = new /obj/item/weapon/rollingpaper(user.loc)
user.put_in_inactive_hand(P)
user << "You take a paper out of the pack."
papers --
else
var/obj/item/weapon/rollingpaper/P = new /obj/item/weapon/rollingpaper(user.loc)
user.put_in_inactive_hand(P)
user << "You take the last paper out of the pack, and throw the pack away."
del(src)
/obj/item/weapon/rollingpaperpack/MouseDrop(atom/over_object)
var/mob/M = usr
if(M.restrained() || M.stat)
return
if(over_object == M)
M.put_in_hands(src)
else if(istype(over_object, /obj/screen))
switch(over_object.name)
if("r_hand")
M.u_equip(src)
M.put_in_r_hand(src)
if("l_hand")
M.u_equip(src)
M.put_in_l_hand(src)
/obj/item/weapon/rollingpaperpack/examine()
..()
usr << "There are [src.papers] left"
@@ -897,6 +897,12 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries = list("cherryjelly" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/plastellium = list("plasticide" = 5),
//Grinder stuff, but only if dry
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee_arabica = list("coffeepowder" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee_robusta = list("coffeepowder" = 0, "hyperzine" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/tea_aspera = list("teapowder" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/tea_astra = list("teapowder" = 0, "kelotane" = 0),
//archaeology!
/obj/item/weapon/rocksliver = list("ground_rock" = 50),
@@ -923,6 +929,16 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/poisonberries = list("poisonberryjuice" = 0),
)
var/list/dried_items = list(
//Grinder stuff, but only if dry
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee_arabica = list("coffeepowder" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee_robusta = list("coffeepowder" = 0, "hyperzine" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/tea_aspera = list("teapowder" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/tea_astra = list("teapowder" = 0, "kelotane" = 0),
)
var/list/holdingitems = list()
@@ -974,6 +990,12 @@
src.updateUsrDialog()
return 0
if(is_type_in_list(O, dried_items))
if(!O:dry)
user << "You must dry that first!"
return 1
if (!is_type_in_list(O, blend_items) && !is_type_in_list(O, juice_items))
user << "Cannot refine into a reagent."
return 1
@@ -2465,6 +2465,21 @@ datum
..()
return
toxin/coffeepowder
name = "Coffee Grounds"
id = "coffeepowder"
description = "Finely ground coffee beans, used to make coffee."
reagent_state = SOLID
color = "#5B2E0D" // rgb: 91, 46, 13
toxin/teapowder
name = "Ground Tea Leaves"
id = "teapowder"
description = "Finely shredded tea leaves, used for making tea."
reagent_state = SOLID
color = "#7F8400" // rgb: 127, 132, 0
/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////// DRINKS BELOW, Beer is up there though, along with cola. Cap'n Pete's Cuban Spiced Rum////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1365,6 +1365,21 @@ datum
required_reagents = list("water" = 5, "coco" = 1)
result_amount = 5
coffee
name = "Coffee"
id = "coffee"
result = "coffee"
required_reagents = list("coffeepowder" = 1, "water" = 5)
result_amount = 5
tea
name = "Tea"
id = "tea"
result = "tea"
required_reagents = list("teapowder" = 1, "water" = 5)
result_amount = 5
soysauce
name = "Soy Sauce"
id = "soysauce"
@@ -19,6 +19,7 @@
var/yield = 0
var/potency = -1
var/plant_type = 0
var/dry = 0
icon = 'icons/obj/harvest.dmi'
New(newloc,newpotency)
if (!isnull(newpotency))
@@ -340,6 +341,23 @@
reagents.add_reagent("toxin", 1+round(potency / 10, 1))
bitesize = 1+round(reagents.total_volume / 2, 1)
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris/attackby(var/obj/item/W as obj, var/mob/user as mob)
if(istype(W, /obj/item/weapon/rollingpaper))
if(src.dry == 1)
user.u_equip(W)
var/obj/item/clothing/mask/cigarette/joint/J = new /obj/item/clothing/mask/cigarette/joint(user.loc)
J.chem_volume = src.reagents.total_volume
src.reagents.trans_to(J, J.chem_volume)
del(W)
user.put_in_active_hand(J)
user << "\blue You roll the ambrosia vulgaris into a rolling paper."
del(src)
else
user << "\red You need to dry this first."
else
..()
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus
seed = "/obj/item/seeds/ambrosiadeus"
name = "ambrosia deus branch"
@@ -357,6 +375,22 @@
reagents.add_reagent("space_drugs", 1+round(potency / 10, 1))
bitesize = 1+round(reagents.total_volume / 2, 1)
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus/attackby(var/obj/item/W as obj, var/mob/user as mob)
if(istype(W, /obj/item/weapon/rollingpaper))
if(src.dry == 1)
user.u_equip(W)
var/obj/item/clothing/mask/cigarette/joint/deus/J = new /obj/item/clothing/mask/cigarette/joint/deus(user.loc)
J.chem_volume = src.reagents.total_volume
src.reagents.trans_to(J, J.chem_volume)
del(W)
user.put_in_active_hand(J)
user << "\blue You roll the ambrosia deus into a rolling paper."
del(src)
else
user << "\red You need to dry this first."
else
..()
/obj/item/weapon/reagent_containers/food/snacks/grown/apple
seed = "/obj/item/seeds/appleseed"
name = "apple"
@@ -1040,3 +1074,100 @@
src.visible_message("<span class='notice'>The [src.name] has been squashed, causing a distortion in space-time.</span>","<span class='moderate'>You hear a splat and a crackle.</span>")
del(src)
return
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee_arabica
seed = "/obj/item/seeds/coffee_arabica_seed"
name = "coffee arabica beans"
desc = "Dry them out to make coffee."
icon_state = "coffee_arabica"
potency = 20
New()
..()
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("coffeepowder", 1+round((potency / 10), 2))
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee_robusta
seed = "/obj/item/seeds/coffee_robusta_seed"
name = "coffee robusta beans"
desc = "Dry them out to make coffee."
icon_state = "coffee_robusta"
potency = 20
New()
..()
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("coffeepowder", 1+round((potency / 10), 2))
reagents.add_reagent("hyperzine", 1+round((potency / 20), 1))
/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco
seed = "/obj/item/seeds/tobacco_seed"
name = "tobacco leaves"
desc = "Dry them out to make some smokes."
icon_state = "tobacco_leaves"
potency = 20
/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/attackby(var/obj/item/W as obj, var/mob/user as mob)
if(istype(W, /obj/item/weapon/rollingpaper))
if(src.dry == 1)
user.u_equip(W)
var/obj/item/clothing/mask/cigarette/J = new /obj/item/clothing/mask/cigarette(user.loc)
src.reagents.trans_to(J, J.chem_volume)
del(W)
user.put_in_active_hand(J)
user << "\blue You roll the tobacco into a rolling paper."
del(src)
else
user << "\red You need to dry this first."
else
..()
/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco_space
seed = "/obj/item/seeds/tobacco_space_seed"
name = "space tobacco leaves"
desc = "Dry them out to make some space-smokes."
icon_state = "stobacco_leaves"
potency = 20
New()
..()
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("dexalin", 1+round((potency / 20), 1))
/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco_space/attackby(var/obj/item/W as obj, var/mob/user as mob)
if(istype(W, /obj/item/weapon/rollingpaper))
if(src.dry == 1)
user.u_equip(W)
var/obj/item/clothing/mask/cigarette/J = new /obj/item/clothing/mask/cigarette(user.loc)
src.reagents.trans_to(J, J.chem_volume)
del(W)
user.put_in_active_hand(J)
user << "\blue You roll the space tobacco into a rolling paper."
del(src)
else
user << "\red You need to dry this first."
else
..()
/obj/item/weapon/reagent_containers/food/snacks/grown/tea_aspera
seed = "/obj/item/seeds/tea_aspera_seed"
name = "Tea Aspera tips"
desc = "These aromatic tips of the tea plant can be dried to make tea."
icon_state = "tea_aspera_leaves"
potency = 20
New()
..()
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("teapowder", 1+round((potency / 10), 2))
/obj/item/weapon/reagent_containers/food/snacks/grown/tea_astra
seed = "/obj/item/seeds/tea_astra_seed"
name = "Tea Astra tips"
desc = "These aromatic tips of the tea plant can be dried to make tea."
icon_state = "tea_astra_leaves"
potency = 20
New()
..()
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("teapowder", 1+round((potency / 10), 2))
reagents.add_reagent("kelotane", 1+round((potency / 20), 1))