the Cinnamon and Prehistoric Plants update
@@ -39,6 +39,7 @@
|
|||||||
|
|
||||||
/obj/structure/snow/attackby(obj/item/W,mob/user)
|
/obj/structure/snow/attackby(obj/item/W,mob/user)
|
||||||
if(istype(W,/obj/item/weapon/pickaxe/shovel))//using a shovel or spade harvests some snow and let's you click on the lower layers
|
if(istype(W,/obj/item/weapon/pickaxe/shovel))//using a shovel or spade harvests some snow and let's you click on the lower layers
|
||||||
|
playsound(loc, 'sound/items/shovel.ogg', 50, 1)
|
||||||
snow_amount = SNOWCOVERING_LITTLE
|
snow_amount = SNOWCOVERING_LITTLE
|
||||||
icon_state = "snow_dug"
|
icon_state = "snow_dug"
|
||||||
mouse_opacity = 0
|
mouse_opacity = 0
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
new /obj/item/weapon/solder(),\
|
new /obj/item/weapon/solder(),\
|
||||||
new /obj/item/device/analyzer(), \
|
new /obj/item/device/analyzer(), \
|
||||||
new /obj/item/device/t_scanner(), \
|
new /obj/item/device/t_scanner(), \
|
||||||
|
new /obj/item/weapon/pickaxe/shovel/spade(), \
|
||||||
),
|
),
|
||||||
"Containers"=list(
|
"Containers"=list(
|
||||||
new /obj/item/weapon/reagent_containers/glass/beaker(), \
|
new /obj/item/weapon/reagent_containers/glass/beaker(), \
|
||||||
|
|||||||
@@ -1466,6 +1466,7 @@
|
|||||||
/obj/item/seeds/cherryseed = 3,
|
/obj/item/seeds/cherryseed = 3,
|
||||||
/obj/item/seeds/plastiseed = 3,
|
/obj/item/seeds/plastiseed = 3,
|
||||||
/obj/item/seeds/riceseed = 3,
|
/obj/item/seeds/riceseed = 3,
|
||||||
|
/obj/item/seeds/cinnamomum = 3,
|
||||||
)//,/obj/item/seeds/synthmeatseed = 3)
|
)//,/obj/item/seeds/synthmeatseed = 3)
|
||||||
contraband = list(
|
contraband = list(
|
||||||
/obj/item/seeds/amanitamycelium = 2,
|
/obj/item/seeds/amanitamycelium = 2,
|
||||||
|
|||||||
@@ -122,6 +122,20 @@
|
|||||||
icon = 'icons/effects/tomatodecal.dmi'
|
icon = 'icons/effects/tomatodecal.dmi'
|
||||||
random_icon_states = list("smashed_pie")
|
random_icon_states = list("smashed_pie")
|
||||||
|
|
||||||
|
/obj/effect/decal/cleanable/clay_fragments
|
||||||
|
name = "clay fragments"
|
||||||
|
desc = "pieces from a broken clay pot"
|
||||||
|
gender = PLURAL
|
||||||
|
icon = 'icons/effects/tomatodecal.dmi'
|
||||||
|
icon_state = "clay_fragments"
|
||||||
|
anchored = 0
|
||||||
|
layer=2
|
||||||
|
|
||||||
|
/obj/effect/decal/cleanable/clay_fragments/New()
|
||||||
|
..()
|
||||||
|
pixel_x = rand (-3,3)
|
||||||
|
pixel_y = rand (-3,3)
|
||||||
|
|
||||||
/obj/effect/decal/cleanable/soot
|
/obj/effect/decal/cleanable/soot
|
||||||
name = "soot"
|
name = "soot"
|
||||||
desc = "One hell of a party..."
|
desc = "One hell of a party..."
|
||||||
|
|||||||
@@ -571,6 +571,7 @@ turf/simulated/floor/proc/update_icon()
|
|||||||
user << "<span class='warning'>You must remove the plating first.</span>"
|
user << "<span class='warning'>You must remove the plating first.</span>"
|
||||||
else if(istype(C, /obj/item/weapon/pickaxe/shovel))
|
else if(istype(C, /obj/item/weapon/pickaxe/shovel))
|
||||||
if(is_grass_floor())
|
if(is_grass_floor())
|
||||||
|
playsound(loc, 'sound/items/shovel.ogg', 50, 1)
|
||||||
new /obj/item/weapon/ore/glass(src)
|
new /obj/item/weapon/ore/glass(src)
|
||||||
new /obj/item/weapon/ore/glass(src) //Make some sand if you shovel grass
|
new /obj/item/weapon/ore/glass(src) //Make some sand if you shovel grass
|
||||||
user << "<span class='notice'>You shovel the grass.</span>"
|
user << "<span class='notice'>You shovel the grass.</span>"
|
||||||
|
|||||||
@@ -1567,6 +1567,27 @@
|
|||||||
)
|
)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/potentham
|
result = /obj/item/weapon/reagent_containers/food/snacks/potentham
|
||||||
|
|
||||||
|
/datum/recipe/claypot//it just works
|
||||||
|
reagents = list("water" = 10)
|
||||||
|
items = list(
|
||||||
|
/obj/item/weapon/ore/glass,
|
||||||
|
)
|
||||||
|
result = /obj/item/claypot
|
||||||
|
|
||||||
|
/datum/recipe/cinnamonroll
|
||||||
|
reagents = list("milk" = 5, "sugar" = 10, "flour" = 5, "cinnamon" = 5)
|
||||||
|
items = list(
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||||
|
)
|
||||||
|
result = /obj/item/weapon/reagent_containers/food/snacks/cinnamonroll
|
||||||
|
|
||||||
|
/datum/recipe/cinnamonpie
|
||||||
|
reagents = list("milk" = 5, "sugar" = 10, "flour" = 10, "cinnamon" = 5)
|
||||||
|
items = list(
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||||
|
)
|
||||||
|
result = /obj/item/weapon/reagent_containers/food/snacks/cinnamonpie
|
||||||
|
|
||||||
// Currently Disabled //////////////////////////////////////////
|
// Currently Disabled //////////////////////////////////////////
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -85,6 +85,28 @@
|
|||||||
M << "<font color='green'><b> [user] smacks you with a sunflower!</font><font color='yellow'><b>FLOWER POWER<b></font>"
|
M << "<font color='green'><b> [user] smacks you with a sunflower!</font><font color='yellow'><b>FLOWER POWER<b></font>"
|
||||||
user << "<font color='green'> Your sunflower's </font><font color='yellow'><b>FLOWER POWER</b></font><font color='green'> strikes [M]</font>"
|
user << "<font color='green'> Your sunflower's </font><font color='yellow'><b>FLOWER POWER</b></font><font color='green'> strikes [M]</font>"
|
||||||
|
|
||||||
|
/obj/item/weapon/grown/novaflower
|
||||||
|
plantname = "novaflowers"
|
||||||
|
name = "novaflower"
|
||||||
|
desc = "These beautiful flowers have a crisp smokey scent, like a summer bonfire."
|
||||||
|
icon = 'icons/obj/harvest.dmi'
|
||||||
|
icon_state = "novaflower"
|
||||||
|
damtype = "fire"
|
||||||
|
force = 0
|
||||||
|
flags = 0
|
||||||
|
throwforce = 1
|
||||||
|
w_class = 1.0
|
||||||
|
throw_speed = 1
|
||||||
|
throw_range = 3
|
||||||
|
attack_verb = list("seared", "heated", "whacked", "steamed")
|
||||||
|
|
||||||
|
/obj/item/weapon/grown/novaflower/New()
|
||||||
|
..()
|
||||||
|
spawn(5) // So potency can be set in the proc that creates these crops
|
||||||
|
reagents.add_reagent("nutriment", 1)
|
||||||
|
reagents.add_reagent("capsaicin", round(potency, 1))
|
||||||
|
force = round((5 + potency / 5), 1)
|
||||||
|
|
||||||
/obj/item/weapon/grown/nettle // -- Skie
|
/obj/item/weapon/grown/nettle // -- Skie
|
||||||
plantname = "nettle"
|
plantname = "nettle"
|
||||||
desc = "It's probably <B>not</B> wise to touch it with bare hands..."
|
desc = "It's probably <B>not</B> wise to touch it with bare hands..."
|
||||||
@@ -99,10 +121,11 @@
|
|||||||
throw_speed = 1
|
throw_speed = 1
|
||||||
throw_range = 3
|
throw_range = 3
|
||||||
origin_tech = "combat=1"
|
origin_tech = "combat=1"
|
||||||
New()
|
|
||||||
..()
|
/obj/item/weapon/grown/nettle/New()
|
||||||
spawn(5)
|
..()
|
||||||
force = round((5+potency/5), 1)
|
spawn(5)
|
||||||
|
force = round((5+potency/5), 1)
|
||||||
|
|
||||||
/obj/item/weapon/grown/nettle/pickup(mob/living/carbon/human/user as mob)
|
/obj/item/weapon/grown/nettle/pickup(mob/living/carbon/human/user as mob)
|
||||||
if(istype(user))
|
if(istype(user))
|
||||||
|
|||||||
@@ -159,6 +159,14 @@
|
|||||||
if(grown_seed.alter_temp)
|
if(grown_seed.alter_temp)
|
||||||
dat += "<br>It will periodically alter the local temperature by [grown_seed.alter_temp] degrees Kelvin."
|
dat += "<br>It will periodically alter the local temperature by [grown_seed.alter_temp] degrees Kelvin."
|
||||||
|
|
||||||
|
if(grown_seed.consume_gasses)
|
||||||
|
for(var/gas in grown_seed.consume_gasses)
|
||||||
|
dat += "<br>It will remove [gas] from the environment."
|
||||||
|
|
||||||
|
if(grown_seed.exude_gasses)
|
||||||
|
for(var/gas in grown_seed.exude_gasses)
|
||||||
|
dat += "<br>It will release [gas] into the environment."
|
||||||
|
|
||||||
if(grown_seed.biolum)
|
if(grown_seed.biolum)
|
||||||
dat += "<br>It is [grown_seed.biolum_colour ? "<font color='[grown_seed.biolum_colour]'>bio-luminescent</font>" : "bio-luminescent"]."
|
dat += "<br>It is [grown_seed.biolum_colour ? "<font color='[grown_seed.biolum_colour]'>bio-luminescent</font>" : "bio-luminescent"]."
|
||||||
if(grown_seed.flowers)
|
if(grown_seed.flowers)
|
||||||
@@ -365,4 +373,77 @@
|
|||||||
for(var/obj/effect/plantsegment/B in orange(A,1))
|
for(var/obj/effect/plantsegment/B in orange(A,1))
|
||||||
if(prob(80))
|
if(prob(80))
|
||||||
qdel(B)
|
qdel(B)
|
||||||
qdel(A)
|
qdel(A)
|
||||||
|
|
||||||
|
/obj/item/claypot
|
||||||
|
name = "clay pot"
|
||||||
|
desc = "Plants placed in those stop aging, but cannot be retrieved either."
|
||||||
|
icon = 'icons/obj/hydroponics2.dmi'
|
||||||
|
icon_state = "claypot-item"
|
||||||
|
item_state = "claypot"
|
||||||
|
inhand_states = list("left_hand" = 'icons/mob/in-hand/left/misc_tools.dmi', "right_hand" = 'icons/mob/in-hand/right/misc_tools.dmi')
|
||||||
|
w_class = 3.0
|
||||||
|
force = 5.0
|
||||||
|
throwforce = 20.0
|
||||||
|
throw_speed = 1
|
||||||
|
throw_range = 3
|
||||||
|
flags = FPRINT
|
||||||
|
|
||||||
|
/obj/item/claypot/attackby(var/obj/item/O,var/mob/user)
|
||||||
|
if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown) || istype(O,/obj/item/weapon/grown))
|
||||||
|
user << "<span class='warning'>You have to transplant the plant into the pot directly from the hydroponic tray, using a spade.</span>"
|
||||||
|
else if(istype(O,/obj/item/weapon/pickaxe/shovel/spade))
|
||||||
|
user << "<span class='warning'>There is no plant to remove in \the [src].</span>"
|
||||||
|
else
|
||||||
|
user << "<span class='warning'>You cannot plant \the [O] in \the [src].</span>"
|
||||||
|
|
||||||
|
|
||||||
|
/obj/item/claypot/throw_impact(atom/hit_atom)
|
||||||
|
..()
|
||||||
|
if(prob(40))
|
||||||
|
playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 75, 1)
|
||||||
|
new/obj/effect/decal/cleanable/clay_fragments(src.loc)
|
||||||
|
src.visible_message("<span class='warning'>[src.name] has been squashed.</span>","<span class='warning'>You hear a smack.</span>")
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
/obj/structure/claypot
|
||||||
|
name = "clay pot"
|
||||||
|
desc = "Plants placed in those stop aging, but cannot be retrieved either."
|
||||||
|
icon = 'icons/obj/hydroponics2.dmi'
|
||||||
|
icon_state = "claypot"
|
||||||
|
anchored = 0
|
||||||
|
density = 0
|
||||||
|
var/plant_name = ""
|
||||||
|
|
||||||
|
/obj/structure/claypot/examine(mob/user)
|
||||||
|
..()
|
||||||
|
if(plant_name)
|
||||||
|
user << "<span class='info'>You can see [plant_name] planted in it.</span>"
|
||||||
|
|
||||||
|
/obj/structure/claypot/attack_hand(mob/user as mob)
|
||||||
|
user << "It's too heavy to pick up while it has a plant in it."
|
||||||
|
|
||||||
|
/obj/structure/claypot/attackby(var/obj/item/O,var/mob/user)
|
||||||
|
if(istype(O,/obj/item/weapon/wrench))
|
||||||
|
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||||
|
if(do_after(user, src, 30))
|
||||||
|
anchored = !anchored
|
||||||
|
user.visible_message( "<span class='notice'>[user] [anchored ? "wrench" : "unwrench"]es \the [src] [anchored ? "in place" : "from its fixture"].</span>",
|
||||||
|
"<span class='notice'>\icon[src] You [anchored ? "wrench" : "unwrench"] \the [src] [anchored ? "in place" : "from its fixture"].</span>",
|
||||||
|
"<span class='notice'>You hear a ratchet.</span>")
|
||||||
|
else if(plant_name && istype(O,/obj/item/weapon/pickaxe/shovel/spade))
|
||||||
|
user << "<span class='notice'>\icon[src] You start removing the [plant_name] from \the [src].</span>"
|
||||||
|
if(do_after(user, src, 30))
|
||||||
|
playsound(loc, 'sound/items/shovel.ogg', 50, 1)
|
||||||
|
user.visible_message( "<span class='notice'>[user] removes the [plant_name] from \the [src].</span>",
|
||||||
|
"<span class='notice'>\icon[src] You remove the [plant_name] from \the [src].</span>",
|
||||||
|
"<span class='notice'>You hear some digging.</span>")
|
||||||
|
var/obj/item/claypot/C = new(loc)
|
||||||
|
transfer_fingerprints(src, C)
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
else if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown) || istype(O,/obj/item/weapon/grown))
|
||||||
|
user << "<span class='warning'>There is already a plant in \the [src]</span>"
|
||||||
|
|
||||||
|
else
|
||||||
|
..()
|
||||||
|
|||||||
@@ -619,6 +619,59 @@
|
|||||||
if(..())
|
if(..())
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
if(istype(O, /obj/item/claypot))
|
||||||
|
user << "<span class='warning'>You must place the pot on the ground and use a spade on \the [src] to make a transplant.</span>"
|
||||||
|
return
|
||||||
|
|
||||||
|
if(seed && istype(O, /obj/item/weapon/pickaxe/shovel/spade))
|
||||||
|
var/obj/item/claypot/C = locate() in range(user,1)
|
||||||
|
if(!C)
|
||||||
|
user << "<span class='warning'>You need an empty clay pot next to you.</span>"
|
||||||
|
return
|
||||||
|
playsound(loc, 'sound/items/shovel.ogg', 50, 1)
|
||||||
|
if(do_after(user, src, 50))
|
||||||
|
user.visible_message( "<span class='notice'>[user] transplants \the [seed.display_name] into \the [C].</span>",
|
||||||
|
"<span class='notice'>\icon[src] You transplant \the [seed.display_name] into \the [C].</span>",
|
||||||
|
"<span class='notice'>You hear a ratchet.</span>")
|
||||||
|
|
||||||
|
var/obj/structure/claypot/S = new(get_turf(C))
|
||||||
|
transfer_fingerprints(C, S)
|
||||||
|
qdel(C)
|
||||||
|
|
||||||
|
if(seed.large)
|
||||||
|
S.icon_state += "-large"
|
||||||
|
|
||||||
|
if(dead)
|
||||||
|
S.overlays += image(seed.plant_dmi,"[seed.plant_icon]-dead")
|
||||||
|
else if(harvest)
|
||||||
|
S.overlays += image(seed.plant_dmi,"[seed.plant_icon]-harvest")
|
||||||
|
else if(age < seed.maturation)
|
||||||
|
var/t_growthstate = max(1,round((age * seed.growth_stages) / seed.maturation))
|
||||||
|
S.overlays += image(seed.plant_dmi,"[seed.plant_icon]-grow[t_growthstate]")
|
||||||
|
else
|
||||||
|
S.overlays += image(seed.plant_dmi,"[seed.plant_icon]-grow[seed.growth_stages]")
|
||||||
|
|
||||||
|
S.plant_name = seed.display_name
|
||||||
|
|
||||||
|
if(seed.biolum)
|
||||||
|
S.set_light(round(seed.potency/10))
|
||||||
|
if(seed.biolum_colour)
|
||||||
|
S.light_color = seed.biolum_colour
|
||||||
|
|
||||||
|
harvest = 0
|
||||||
|
seed = null
|
||||||
|
dead = 0
|
||||||
|
sampled = 0
|
||||||
|
age = 0
|
||||||
|
yield_mod = 0
|
||||||
|
mutation_mod = 0
|
||||||
|
set_light(0)
|
||||||
|
|
||||||
|
check_level_sanity()
|
||||||
|
update_icon()
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
if(istype(O, /obj/item/weapon/wirecutters) || istype(O, /obj/item/weapon/scalpel))
|
if(istype(O, /obj/item/weapon/wirecutters) || istype(O, /obj/item/weapon/scalpel))
|
||||||
|
|
||||||
if(!seed)
|
if(!seed)
|
||||||
@@ -873,8 +926,13 @@
|
|||||||
|
|
||||||
/obj/machinery/portable_atmospherics/hydroponics/soil/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
/obj/machinery/portable_atmospherics/hydroponics/soil/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||||
if(istype(O, /obj/item/weapon/pickaxe/shovel))
|
if(istype(O, /obj/item/weapon/pickaxe/shovel))
|
||||||
user << "You clear up [src]!"
|
if(!seed)
|
||||||
qdel(src)
|
user << "You clear up [src]!"
|
||||||
|
new /obj/item/weapon/ore/glass(src)//we get some of the dirt back
|
||||||
|
new /obj/item/weapon/ore/glass(src)
|
||||||
|
qdel(src)
|
||||||
|
else
|
||||||
|
..()
|
||||||
else if(istype(O,/obj/item/weapon/pickaxe/shovel) || istype(O,/obj/item/weapon/tank))
|
else if(istype(O,/obj/item/weapon/pickaxe/shovel) || istype(O,/obj/item/weapon/tank))
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
|
|||||||
211
code/modules/hydroponics/prehistoric_plants.dm
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
//Plants aquired through xenoarchaeology
|
||||||
|
|
||||||
|
/datum/seed/telriis
|
||||||
|
name = "telriis"
|
||||||
|
seed_name = "telriis"
|
||||||
|
display_name = "telriis grass"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/telriis_clump)
|
||||||
|
mutants = null
|
||||||
|
packet_icon = "seed-telriis"
|
||||||
|
plant_icon = "telriis"
|
||||||
|
harvest_repeat = 1
|
||||||
|
chems = list("nutriment" = list(1,10),"pwine" = list(0,2))
|
||||||
|
|
||||||
|
lifespan = 60
|
||||||
|
maturation = 6
|
||||||
|
production = 4
|
||||||
|
yield = 4
|
||||||
|
potency = 20
|
||||||
|
growth_stages = 4
|
||||||
|
|
||||||
|
/obj/item/seeds/telriis
|
||||||
|
seed_type = "telriis"
|
||||||
|
vending_cat = "prehistoric"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/telriis_clump
|
||||||
|
name = "telriis grass"
|
||||||
|
desc = "A clump of telriis grass, not recommended for consumption by sentients."
|
||||||
|
icon_state = "telriisclump"
|
||||||
|
plantname = "telriis"
|
||||||
|
|
||||||
|
/datum/seed/thaadra
|
||||||
|
name = "thaadra"
|
||||||
|
seed_name = "thaadra"
|
||||||
|
display_name = "thaa'dra grass"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/thaadrabloom)
|
||||||
|
mutants = null
|
||||||
|
packet_icon = "seed-thaadra"
|
||||||
|
plant_icon = "thaadra"
|
||||||
|
harvest_repeat = 1
|
||||||
|
chems = list("nutriment" = list(1,10),"frostoil" = list(5,7))
|
||||||
|
|
||||||
|
lifespan = 50
|
||||||
|
maturation = 3
|
||||||
|
production = 3
|
||||||
|
yield = 5
|
||||||
|
potency = 20
|
||||||
|
growth_stages = 4
|
||||||
|
|
||||||
|
/obj/item/seeds/thaadra
|
||||||
|
seed_type = "thaadra"
|
||||||
|
vending_cat = "prehistoric"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/thaadrabloom
|
||||||
|
name = "thaa'dra bloom"
|
||||||
|
desc = "Looks chewy, might be good to eat."
|
||||||
|
icon_state = "thaadrabloom"
|
||||||
|
plantname = "thaadra"
|
||||||
|
|
||||||
|
/datum/seed/jurlmah
|
||||||
|
name = "jurlmah"
|
||||||
|
seed_name = "jurlmah"
|
||||||
|
display_name = "jurl'mah tree"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/jurlmah)
|
||||||
|
mutants = null
|
||||||
|
packet_icon = "seed-jurlmah"
|
||||||
|
plant_icon = "jurlmah"
|
||||||
|
chems = list("nutriment" = list(1,10),"serotrotium" = list(0,10))
|
||||||
|
|
||||||
|
lifespan = 25
|
||||||
|
maturation = 6
|
||||||
|
production = 1
|
||||||
|
yield = 3
|
||||||
|
potency = 30
|
||||||
|
growth_stages = 5
|
||||||
|
biolum = 1
|
||||||
|
biolum_colour = "#9FE7EC"
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
|
/obj/item/seeds/jurlmah
|
||||||
|
seed_type = "jurlmah"
|
||||||
|
vending_cat = "prehistoric"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/jurlmah
|
||||||
|
name = "jurl'mah pod"
|
||||||
|
desc = "Bulbous and veiny, it appears to pulse slightly as you look at it."
|
||||||
|
icon_state = "jurlmahpod"
|
||||||
|
plantname = "jurlmah"
|
||||||
|
|
||||||
|
/datum/seed/amauri
|
||||||
|
name = "amauri"
|
||||||
|
seed_name = "amauri"
|
||||||
|
display_name = "amauri stalks"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/amauri)
|
||||||
|
mutants = null
|
||||||
|
packet_icon = "seed-amauri"
|
||||||
|
plant_icon = "amauri"
|
||||||
|
chems = list("nutriment" = list(1,10),"zombiepowder" = list(0,2),"condensedcapsaicin" = list(0,5))
|
||||||
|
|
||||||
|
lifespan = 25
|
||||||
|
maturation = 10
|
||||||
|
production = 1
|
||||||
|
yield = 3
|
||||||
|
potency = 30
|
||||||
|
growth_stages = 3
|
||||||
|
biolum = 1
|
||||||
|
biolum_colour = "#5532E2"
|
||||||
|
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
|
/obj/item/seeds/amauri
|
||||||
|
seed_type = "amauri"
|
||||||
|
vending_cat = "prehistoric"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/amauri
|
||||||
|
name = "amauri fruit"
|
||||||
|
desc = "It is small, round and hard. Its skin is a thick dark purple."
|
||||||
|
icon_state = "amaurifruit"
|
||||||
|
plantname = "amauri"
|
||||||
|
|
||||||
|
/datum/seed/gelthi
|
||||||
|
name = "gelthi"
|
||||||
|
seed_name = "gelthi"
|
||||||
|
display_name = "gelthi stem"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/gelthi)
|
||||||
|
mutants = null
|
||||||
|
packet_icon = "seed-gelthi"
|
||||||
|
plant_icon = "gelthi"
|
||||||
|
harvest_repeat = 1
|
||||||
|
chems = list("nutriment" = list(1,10),"stoxin" = list(0,1),"capsaicin" = list(0,1))
|
||||||
|
|
||||||
|
lifespan = 55
|
||||||
|
maturation = 6
|
||||||
|
production = 5
|
||||||
|
yield = 3
|
||||||
|
potency = 20
|
||||||
|
growth_stages = 3
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
|
/obj/item/seeds/gelthi
|
||||||
|
seed_type = "gelthi"
|
||||||
|
vending_cat = "prehistoric"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/gelthi
|
||||||
|
name = "gelthi berries"
|
||||||
|
desc = "They feel fluffy and slightly warm to the touch."
|
||||||
|
icon_state = "gelthiberries"
|
||||||
|
gender = PLURAL
|
||||||
|
plantname = "gelthi"
|
||||||
|
|
||||||
|
/datum/seed/vale
|
||||||
|
name = "vale"
|
||||||
|
seed_name = "vale"
|
||||||
|
display_name = "vale tree"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/vale)
|
||||||
|
mutants = null
|
||||||
|
packet_icon = "seed-vale"
|
||||||
|
plant_icon = "vale"
|
||||||
|
harvest_repeat = 1
|
||||||
|
chems = list("nutriment" = list(1,10),"paracetamol" = list(0,2),"dexalin" = list(0,5))
|
||||||
|
|
||||||
|
lifespan = 100
|
||||||
|
maturation = 6
|
||||||
|
production = 6
|
||||||
|
yield = 4
|
||||||
|
potency = 20
|
||||||
|
growth_stages = 4
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
|
/obj/item/seeds/vale
|
||||||
|
seed_type = "vale"
|
||||||
|
vending_cat = "prehistoric"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/vale
|
||||||
|
name = "vale leaves"
|
||||||
|
desc = "Small, curly leaves covered in a soft pale fur."
|
||||||
|
icon_state = "valeleaves"
|
||||||
|
plantname = "vale"
|
||||||
|
|
||||||
|
/datum/seed/surik
|
||||||
|
name = "surik"
|
||||||
|
seed_name = "surik"
|
||||||
|
display_name = "surik stalks"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/surik)
|
||||||
|
mutants = null
|
||||||
|
packet_icon = "seed-surik"
|
||||||
|
plant_icon = "surik"
|
||||||
|
harvest_repeat = 1
|
||||||
|
chems = list("nutriment" = list(1,10),"impedrezene" = list(0,3),"synaptizine" = list(0,5))
|
||||||
|
|
||||||
|
lifespan = 55
|
||||||
|
maturation = 7
|
||||||
|
production = 6
|
||||||
|
yield = 3
|
||||||
|
potency = 20
|
||||||
|
growth_stages = 4
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
|
/obj/item/seeds/surik
|
||||||
|
seed_type = "surik"
|
||||||
|
vending_cat = "prehistoric"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/surik
|
||||||
|
name = "surik fruit"
|
||||||
|
desc = "Multiple layers of blue skin peeling away to reveal a spongey core, vaguely resembling an ear."
|
||||||
|
icon_state = "surikfruit"
|
||||||
|
plantname = "surik"
|
||||||
@@ -119,6 +119,8 @@ proc/populate_seed_list()
|
|||||||
|
|
||||||
var/mob_drop // Seed type dropped by the mobs when it dies without an host
|
var/mob_drop // Seed type dropped by the mobs when it dies without an host
|
||||||
|
|
||||||
|
var/large = 1 // Is the plant large? For clay pots.
|
||||||
|
|
||||||
//Creates a random seed. MAKE SURE THE LINE HAS DIVERGED BEFORE THIS IS CALLED.
|
//Creates a random seed. MAKE SURE THE LINE HAS DIVERGED BEFORE THIS IS CALLED.
|
||||||
/datum/seed/proc/randomize()
|
/datum/seed/proc/randomize()
|
||||||
|
|
||||||
@@ -166,6 +168,8 @@ proc/populate_seed_list()
|
|||||||
list("seed-harebell", "harebell"),
|
list("seed-harebell", "harebell"),
|
||||||
list("seed-poppy", "poppy"),
|
list("seed-poppy", "poppy"),
|
||||||
list("seed-sunflower", "sunflower"),
|
list("seed-sunflower", "sunflower"),
|
||||||
|
list("seed-moonflower", "moonflower"),
|
||||||
|
list("seed-novaflower", "novaflower"),
|
||||||
list("seed-grapes", "grape"),
|
list("seed-grapes", "grape"),
|
||||||
list("seed-greengrapes", "greengrape"),
|
list("seed-greengrapes", "greengrape"),
|
||||||
list("seed-peanut", "peanut"),
|
list("seed-peanut", "peanut"),
|
||||||
@@ -176,6 +180,7 @@ proc/populate_seed_list()
|
|||||||
list("seed-corn", "corn"),
|
list("seed-corn", "corn"),
|
||||||
list("seed-potato", "potato"),
|
list("seed-potato", "potato"),
|
||||||
list("seed-soybean", "soybean"),
|
list("seed-soybean", "soybean"),
|
||||||
|
list("seed-koibean", "koibean"),
|
||||||
list("seed-wheat", "wheat"),
|
list("seed-wheat", "wheat"),
|
||||||
list("seed-rice", "rice"),
|
list("seed-rice", "rice"),
|
||||||
list("seed-carrot", "carrot"),
|
list("seed-carrot", "carrot"),
|
||||||
@@ -191,7 +196,8 @@ proc/populate_seed_list()
|
|||||||
list("seed-cocoapod", "cocoapod"),
|
list("seed-cocoapod", "cocoapod"),
|
||||||
list("seed-cherry", "cherry"),
|
list("seed-cherry", "cherry"),
|
||||||
list("seed-kudzu", "kudzu"),
|
list("seed-kudzu", "kudzu"),
|
||||||
list("seed-dionanode", "dionanode")
|
list("seed-dionanode", "dionanode"),
|
||||||
|
list("seed-cinnamomum", "cinnamomum"),
|
||||||
))
|
))
|
||||||
|
|
||||||
packet_icon = plant_icons[1]
|
packet_icon = plant_icons[1]
|
||||||
@@ -943,6 +949,8 @@ proc/populate_seed_list()
|
|||||||
yield = 5
|
yield = 5
|
||||||
potency = 10
|
potency = 10
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
/datum/seed/apple/poison
|
/datum/seed/apple/poison
|
||||||
name = "poisonapple"
|
name = "poisonapple"
|
||||||
mutants = null
|
mutants = null
|
||||||
@@ -981,6 +989,8 @@ proc/populate_seed_list()
|
|||||||
yield = 6
|
yield = 6
|
||||||
potency = 5
|
potency = 5
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
|
|
||||||
/datum/seed/ambrosia/cruciatus
|
/datum/seed/ambrosia/cruciatus
|
||||||
name = "ambrosiacruciatus"
|
name = "ambrosiacruciatus"
|
||||||
@@ -1210,18 +1220,61 @@ proc/populate_seed_list()
|
|||||||
yield = 6
|
yield = 6
|
||||||
growth_stages = 3
|
growth_stages = 3
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
/datum/seed/flower/sunflower
|
/datum/seed/flower/sunflower
|
||||||
name = "sunflowers"
|
name = "sunflowers"
|
||||||
seed_name = "sunflower"
|
seed_name = "sunflower"
|
||||||
display_name = "sunflowers"
|
display_name = "sunflowers"
|
||||||
packet_icon = "seed-sunflower"
|
packet_icon = "seed-sunflower"
|
||||||
products = list(/obj/item/weapon/grown/sunflower)
|
products = list(/obj/item/weapon/grown/sunflower)
|
||||||
|
mutants = list("moonflower","novaflower")
|
||||||
plant_icon = "sunflower"
|
plant_icon = "sunflower"
|
||||||
|
|
||||||
lifespan = 25
|
lifespan = 25
|
||||||
maturation = 6
|
maturation = 6
|
||||||
growth_stages = 3
|
growth_stages = 3
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
|
/datum/seed/flower/sunflower/moonflower
|
||||||
|
name = "moonflowers"
|
||||||
|
seed_name = "moonflower"
|
||||||
|
display_name = "moonflowers"
|
||||||
|
packet_icon = "seed-moonflower"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower)
|
||||||
|
mutants = null
|
||||||
|
plant_icon = "moonflower"
|
||||||
|
chems = list("nutriment" = list(1), "moonshine" = list(1,5))
|
||||||
|
|
||||||
|
lifespan = 25
|
||||||
|
maturation = 6
|
||||||
|
growth_stages = 3
|
||||||
|
potency = 30
|
||||||
|
biolum = 1
|
||||||
|
biolum_colour = "#B5ABDD"
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
|
/datum/seed/flower/sunflower/novaflower
|
||||||
|
name = "novaflowers"
|
||||||
|
seed_name = "novaflower"
|
||||||
|
display_name = "novaflowers"
|
||||||
|
packet_icon = "seed-novaflower"
|
||||||
|
products = list(/obj/item/weapon/grown/novaflower)
|
||||||
|
mutants = null
|
||||||
|
plant_icon = "novaflower"
|
||||||
|
chems = list("nutriment" = list(1), "capsaicin" = list(1,5))
|
||||||
|
|
||||||
|
lifespan = 25
|
||||||
|
maturation = 6
|
||||||
|
growth_stages = 3
|
||||||
|
potency = 30
|
||||||
|
biolum = 1
|
||||||
|
biolum_colour = "#FF9900"
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
//Grapes/varieties
|
//Grapes/varieties
|
||||||
/datum/seed/grapes
|
/datum/seed/grapes
|
||||||
name = "grapes"
|
name = "grapes"
|
||||||
@@ -1240,6 +1293,8 @@ proc/populate_seed_list()
|
|||||||
yield = 4
|
yield = 4
|
||||||
potency = 10
|
potency = 10
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
/datum/seed/grapes/green
|
/datum/seed/grapes/green
|
||||||
name = "greengrapes"
|
name = "greengrapes"
|
||||||
seed_name = "green grape"
|
seed_name = "green grape"
|
||||||
@@ -1347,6 +1402,8 @@ proc/populate_seed_list()
|
|||||||
potency = 20
|
potency = 20
|
||||||
growth_stages = 3
|
growth_stages = 3
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
/datum/seed/potato
|
/datum/seed/potato
|
||||||
name = "potato"
|
name = "potato"
|
||||||
seed_name = "potato"
|
seed_name = "potato"
|
||||||
@@ -1379,6 +1436,22 @@ proc/populate_seed_list()
|
|||||||
yield = 3
|
yield = 3
|
||||||
potency = 5
|
potency = 5
|
||||||
|
|
||||||
|
/datum/seed/koiseed
|
||||||
|
name = "koibean"
|
||||||
|
seed_name = "koibean"
|
||||||
|
display_name = "koibeans"
|
||||||
|
packet_icon = "seed-koibean"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans)
|
||||||
|
plant_icon = "soybean"
|
||||||
|
harvest_repeat = 1
|
||||||
|
chems = list("nutriment" = list(1,10),"carpotoxin" = list(1,25))
|
||||||
|
|
||||||
|
lifespan = 25
|
||||||
|
maturation = 4
|
||||||
|
production = 4
|
||||||
|
yield = 3
|
||||||
|
potency = 10
|
||||||
|
|
||||||
/datum/seed/wheat
|
/datum/seed/wheat
|
||||||
name = "wheat"
|
name = "wheat"
|
||||||
seed_name = "wheat"
|
seed_name = "wheat"
|
||||||
@@ -1522,6 +1595,8 @@ proc/populate_seed_list()
|
|||||||
yield = 4
|
yield = 4
|
||||||
potency = 15
|
potency = 15
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
/datum/seed/lemon
|
/datum/seed/lemon
|
||||||
name = "lemon"
|
name = "lemon"
|
||||||
seed_name = "lemon"
|
seed_name = "lemon"
|
||||||
@@ -1538,6 +1613,8 @@ proc/populate_seed_list()
|
|||||||
yield = 4
|
yield = 4
|
||||||
potency = 10
|
potency = 10
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
/datum/seed/orange
|
/datum/seed/orange
|
||||||
name = "orange"
|
name = "orange"
|
||||||
seed_name = "orange"
|
seed_name = "orange"
|
||||||
@@ -1554,6 +1631,8 @@ proc/populate_seed_list()
|
|||||||
yield = 5
|
yield = 5
|
||||||
potency = 1
|
potency = 1
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
/datum/seed/grass
|
/datum/seed/grass
|
||||||
name = "grass"
|
name = "grass"
|
||||||
seed_name = "grass"
|
seed_name = "grass"
|
||||||
@@ -1586,6 +1665,8 @@ proc/populate_seed_list()
|
|||||||
potency = 10
|
potency = 10
|
||||||
growth_stages = 5
|
growth_stages = 5
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
/datum/seed/cherries
|
/datum/seed/cherries
|
||||||
name = "cherry"
|
name = "cherry"
|
||||||
seed_name = "cherry"
|
seed_name = "cherry"
|
||||||
@@ -1604,6 +1685,27 @@ proc/populate_seed_list()
|
|||||||
potency = 10
|
potency = 10
|
||||||
growth_stages = 5
|
growth_stages = 5
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
|
/datum/seed/cinnamomum
|
||||||
|
name = "cinnamomum"
|
||||||
|
seed_name = "cinnamomum"
|
||||||
|
display_name = "cinnamomum tree"
|
||||||
|
packet_icon = "seed-cinnamomum"
|
||||||
|
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cinnamon)
|
||||||
|
plant_dmi = 'icons/obj/hydroponics2.dmi'
|
||||||
|
plant_icon = "cinnamomum"
|
||||||
|
chems = list("cinnamon" = list(4,3))
|
||||||
|
|
||||||
|
lifespan = 80
|
||||||
|
maturation = 15
|
||||||
|
production = 1
|
||||||
|
yield = 4
|
||||||
|
potency = 10
|
||||||
|
growth_stages = 4
|
||||||
|
|
||||||
|
large = 0
|
||||||
|
|
||||||
/datum/seed/kudzu
|
/datum/seed/kudzu
|
||||||
name = "kudzu"
|
name = "kudzu"
|
||||||
seed_name = "kudzu"
|
seed_name = "kudzu"
|
||||||
@@ -1679,4 +1781,4 @@ proc/populate_seed_list()
|
|||||||
maturation = 1
|
maturation = 1
|
||||||
production = 1
|
production = 1
|
||||||
yield = 1
|
yield = 1
|
||||||
potency = 1
|
potency = 1
|
||||||
|
|||||||
@@ -1,224 +1,224 @@
|
|||||||
/obj/machinery/seed_extractor
|
/obj/machinery/seed_extractor
|
||||||
name = "seed extractor"
|
name = "seed extractor"
|
||||||
desc = "Extracts and bags seeds from produce."
|
desc = "Extracts and bags seeds from produce."
|
||||||
icon = 'icons/obj/hydroponics.dmi'
|
icon = 'icons/obj/hydroponics.dmi'
|
||||||
icon_state = "sextractor"
|
icon_state = "sextractor"
|
||||||
density = 1
|
density = 1
|
||||||
anchored = 1
|
anchored = 1
|
||||||
var/piles = list()
|
var/piles = list()
|
||||||
|
|
||||||
var/min_seeds = 1 //better manipulators improve this
|
var/min_seeds = 1 //better manipulators improve this
|
||||||
var/max_seeds = 4 //better scanning modules improve this
|
var/max_seeds = 4 //better scanning modules improve this
|
||||||
|
|
||||||
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK
|
machine_flags = SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK
|
||||||
|
|
||||||
/********************************************************************
|
/********************************************************************
|
||||||
** Adding Stock Parts to VV so preconstructed shit has its candy **
|
** Adding Stock Parts to VV so preconstructed shit has its candy **
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
/obj/machinery/seed_extractor/New()
|
/obj/machinery/seed_extractor/New()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
component_parts = newlist(
|
component_parts = newlist(
|
||||||
/obj/item/weapon/circuitboard/seed_extractor,
|
/obj/item/weapon/circuitboard/seed_extractor,
|
||||||
/obj/item/weapon/stock_parts/manipulator,
|
/obj/item/weapon/stock_parts/manipulator,
|
||||||
/obj/item/weapon/stock_parts/manipulator,
|
/obj/item/weapon/stock_parts/manipulator,
|
||||||
/obj/item/weapon/stock_parts/matter_bin,
|
/obj/item/weapon/stock_parts/matter_bin,
|
||||||
/obj/item/weapon/stock_parts/micro_laser,
|
/obj/item/weapon/stock_parts/micro_laser,
|
||||||
/obj/item/weapon/stock_parts/scanning_module,
|
/obj/item/weapon/stock_parts/scanning_module,
|
||||||
/obj/item/weapon/stock_parts/console_screen
|
/obj/item/weapon/stock_parts/console_screen
|
||||||
)
|
)
|
||||||
|
|
||||||
RefreshParts()
|
RefreshParts()
|
||||||
|
|
||||||
/obj/machinery/seed_extractor/RefreshParts()
|
/obj/machinery/seed_extractor/RefreshParts()
|
||||||
var/B=0
|
var/B=0
|
||||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||||
B += (M.rating-1)*0.5
|
B += (M.rating-1)*0.5
|
||||||
min_seeds=1+B
|
min_seeds=1+B
|
||||||
|
|
||||||
B=0
|
B=0
|
||||||
for(var/obj/item/weapon/stock_parts/scanning_module/M in component_parts)
|
for(var/obj/item/weapon/stock_parts/scanning_module/M in component_parts)
|
||||||
B += M.rating-1
|
B += M.rating-1
|
||||||
max_seeds=4+B
|
max_seeds=4+B
|
||||||
|
|
||||||
obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||||
|
|
||||||
// Emptying a plant bag
|
// Emptying a plant bag
|
||||||
if (istype(O,/obj/item/weapon/storage/bag/plants))
|
if (istype(O,/obj/item/weapon/storage/bag/plants))
|
||||||
if (!hasSpaceCheck(user))
|
if (!hasSpaceCheck(user))
|
||||||
return
|
return
|
||||||
var/obj/item/weapon/storage/P = O
|
var/obj/item/weapon/storage/P = O
|
||||||
var/loaded = 0
|
var/loaded = 0
|
||||||
for(var/obj/item/seeds/G in P.contents)
|
for(var/obj/item/seeds/G in P.contents)
|
||||||
++loaded
|
++loaded
|
||||||
moveToStorage(G)
|
moveToStorage(G)
|
||||||
if(contents.len >= MAX_N_OF_ITEMS)
|
if(contents.len >= MAX_N_OF_ITEMS)
|
||||||
user << "<span class='notice'>You fill \the [src] to the brim.</span>"
|
user << "<span class='notice'>You fill \the [src] to the brim.</span>"
|
||||||
return
|
return
|
||||||
if (loaded)
|
if (loaded)
|
||||||
user << "<span class='notice'>You put the seeds from \the [O.name] into [src].</span>"
|
user << "<span class='notice'>You put the seeds from \the [O.name] into [src].</span>"
|
||||||
else
|
else
|
||||||
user << "<span class='notice'>There are no seeds in \the [O.name].</span>"
|
user << "<span class='notice'>There are no seeds in \the [O.name].</span>"
|
||||||
return
|
return
|
||||||
|
|
||||||
// Loading individual seeds into the machine
|
// Loading individual seeds into the machine
|
||||||
if (istype(O,/obj/item/seeds))
|
if (istype(O,/obj/item/seeds))
|
||||||
if (!hasSpaceCheck(user))
|
if (!hasSpaceCheck(user))
|
||||||
return
|
return
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
moveToStorage(O)
|
moveToStorage(O)
|
||||||
user << "<span class='notice'>You add [O] to [src.name].</span>"
|
user << "<span class='notice'>You add [O] to [src.name].</span>"
|
||||||
updateUsrDialog()
|
updateUsrDialog()
|
||||||
return
|
return
|
||||||
|
|
||||||
// Fruits and vegetables.
|
// Fruits and vegetables.
|
||||||
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown) || istype(O, /obj/item/weapon/grown))
|
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown) || istype(O, /obj/item/weapon/grown))
|
||||||
|
|
||||||
user.drop_item(O)
|
user.drop_item(O)
|
||||||
|
|
||||||
var/datum/seed/new_seed_type
|
var/datum/seed/new_seed_type
|
||||||
if(istype(O, /obj/item/weapon/grown))
|
if(istype(O, /obj/item/weapon/grown))
|
||||||
var/obj/item/weapon/grown/F = O
|
var/obj/item/weapon/grown/F = O
|
||||||
new_seed_type = seed_types[F.plantname]
|
new_seed_type = seed_types[F.plantname]
|
||||||
else
|
else
|
||||||
var/obj/item/weapon/reagent_containers/food/snacks/grown/F = O
|
var/obj/item/weapon/reagent_containers/food/snacks/grown/F = O
|
||||||
new_seed_type = seed_types[F.plantname]
|
new_seed_type = seed_types[F.plantname]
|
||||||
|
|
||||||
if(new_seed_type)
|
if(new_seed_type)
|
||||||
user << "<span class='notice'>You extract some seeds from [O].</span>"
|
user << "<span class='notice'>You extract some seeds from [O].</span>"
|
||||||
var/produce = rand(min_seeds,max_seeds)
|
var/produce = rand(min_seeds,max_seeds)
|
||||||
for(var/i = 0;i<=produce;i++)
|
for(var/i = 0;i<=produce;i++)
|
||||||
var/obj/item/seeds/seeds = new(get_turf(src))
|
var/obj/item/seeds/seeds = new(get_turf(src))
|
||||||
seeds.seed_type = new_seed_type.name
|
seeds.seed_type = new_seed_type.name
|
||||||
seeds.update_seed()
|
seeds.update_seed()
|
||||||
else
|
else
|
||||||
user << "[O] doesn't seem to have any usable seeds inside it."
|
user << "[O] doesn't seem to have any usable seeds inside it."
|
||||||
|
|
||||||
qdel(O)
|
qdel(O)
|
||||||
|
|
||||||
//Grass. //Why isn't this using the nonplant_seed_type functionality below?
|
//Grass. //Why isn't this using the nonplant_seed_type functionality below?
|
||||||
else if(istype(O, /obj/item/stack/tile/grass))
|
else if(istype(O, /obj/item/stack/tile/grass))
|
||||||
var/obj/item/stack/tile/grass/S = O
|
var/obj/item/stack/tile/grass/S = O
|
||||||
user << "<span class='notice'>You extract some seeds from the [S.name].</span>"
|
user << "<span class='notice'>You extract some seeds from the [S.name].</span>"
|
||||||
S.use(1)
|
S.use(1)
|
||||||
new /obj/item/seeds/grassseed(loc)
|
new /obj/item/seeds/grassseed(loc)
|
||||||
|
|
||||||
if(O)
|
if(O)
|
||||||
var/obj/item/F = O
|
var/obj/item/F = O
|
||||||
if(F.nonplant_seed_type)
|
if(F.nonplant_seed_type)
|
||||||
user << "<span class='notice'>You extract some seeds from the [F.name].</span>"
|
user << "<span class='notice'>You extract some seeds from the [F.name].</span>"
|
||||||
user.drop_item(O)
|
user.drop_item(O)
|
||||||
var/t_amount = 0
|
var/t_amount = 0
|
||||||
var/t_max = rand(1,4)
|
var/t_max = rand(1,4)
|
||||||
while(t_amount < t_max)
|
while(t_amount < t_max)
|
||||||
new F.nonplant_seed_type(src.loc)
|
new F.nonplant_seed_type(src.loc)
|
||||||
t_amount++
|
t_amount++
|
||||||
qdel(F)
|
qdel(F)
|
||||||
|
|
||||||
..()
|
..()
|
||||||
|
|
||||||
return
|
return
|
||||||
//Code shamelessly ported over from tgstation's github repo, PR #2973, credit to Kelenius for the original code
|
//Code shamelessly ported over from tgstation's github repo, PR #2973, credit to Kelenius for the original code
|
||||||
datum/seed_pile
|
datum/seed_pile
|
||||||
var/name = ""
|
var/name = ""
|
||||||
var/lifespan = 0 //Saved stats
|
var/lifespan = 0 //Saved stats
|
||||||
var/endurance = 0
|
var/endurance = 0
|
||||||
var/maturation = 0
|
var/maturation = 0
|
||||||
var/production = 0
|
var/production = 0
|
||||||
var/yield = 0
|
var/yield = 0
|
||||||
var/potency = 0
|
var/potency = 0
|
||||||
var/amount = 0
|
var/amount = 0
|
||||||
|
|
||||||
datum/seed_pile/New(var/name, var/life, var/endur, var/matur, var/prod, var/yie, var/poten, var/am = 1)
|
datum/seed_pile/New(var/name, var/life, var/endur, var/matur, var/prod, var/yie, var/poten, var/am = 1)
|
||||||
src.name = name
|
src.name = name
|
||||||
src.lifespan = life
|
src.lifespan = life
|
||||||
src.endurance = endur
|
src.endurance = endur
|
||||||
src.maturation = matur
|
src.maturation = matur
|
||||||
src.production = prod
|
src.production = prod
|
||||||
src.yield = yie
|
src.yield = yie
|
||||||
src.potency = poten
|
src.potency = poten
|
||||||
src.amount = am
|
src.amount = am
|
||||||
|
|
||||||
/obj/machinery/seed_extractor/attack_hand(mob/user as mob)
|
/obj/machinery/seed_extractor/attack_hand(mob/user as mob)
|
||||||
interact(user)
|
interact(user)
|
||||||
|
|
||||||
obj/machinery/seed_extractor/interact(mob/user as mob)
|
obj/machinery/seed_extractor/interact(mob/user as mob)
|
||||||
if (stat)
|
if (stat)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
user.set_machine(src)
|
user.set_machine(src)
|
||||||
|
|
||||||
var/dat = "<b>Stored seeds:</b><br>"
|
var/dat = "<b>Stored seeds:</b><br>"
|
||||||
|
|
||||||
if (contents.len == 0)
|
if (contents.len == 0)
|
||||||
dat += "<font color='red'>No seeds in storage!</font>"
|
dat += "<font color='red'>No seeds in storage!</font>"
|
||||||
else
|
else
|
||||||
dat += "<table cellpadding='3' style='text-align:center;'><tr><td>Name</td><td>Lifespan</td><td>Endurance</td><td>Maturation</td><td>Production</td><td>Yield</td><td>Potency</td><td>Stock</td></tr>"
|
dat += "<table cellpadding='3' style='text-align:center;'><tr><td>Name</td><td>Lifespan</td><td>Endurance</td><td>Maturation</td><td>Production</td><td>Yield</td><td>Potency</td><td>Stock</td></tr>"
|
||||||
for (var/datum/seed_pile/O in piles)
|
for (var/datum/seed_pile/O in piles)
|
||||||
dat += "<tr><td>[O.name]</td><td>[O.lifespan]</td><td>[O.endurance]</td><td>[O.maturation]</td>"
|
dat += "<tr><td>[O.name]</td><td>[O.lifespan]</td><td>[O.endurance]</td><td>[O.maturation]</td>"
|
||||||
dat += "<td>[O.production]</td><td>[O.yield]</td><td>[O.potency]</td><td>"
|
dat += "<td>[O.production]</td><td>[O.yield]</td><td>[O.potency]</td><td>"
|
||||||
dat += "<a href='byond://?src=\ref[src];name=[O.name];li=[O.lifespan];en=[O.endurance];ma=[O.maturation];pr=[O.production];yi=[O.yield];pot=[O.potency];amt=1'>Vend</a>"
|
dat += "<a href='byond://?src=\ref[src];name=[O.name];li=[O.lifespan];en=[O.endurance];ma=[O.maturation];pr=[O.production];yi=[O.yield];pot=[O.potency];amt=1'>Vend</a>"
|
||||||
dat += "<a href='byond://?src=\ref[src];name=[O.name];li=[O.lifespan];en=[O.endurance];ma=[O.maturation];pr=[O.production];yi=[O.yield];pot=[O.potency];amt=5'>5x</a>"
|
dat += "<a href='byond://?src=\ref[src];name=[O.name];li=[O.lifespan];en=[O.endurance];ma=[O.maturation];pr=[O.production];yi=[O.yield];pot=[O.potency];amt=5'>5x</a>"
|
||||||
dat += "<a href='byond://?src=\ref[src];name=[O.name];li=[O.lifespan];en=[O.endurance];ma=[O.maturation];pr=[O.production];yi=[O.yield];pot=[O.potency];amt=[O.amount]'>All</a>"
|
dat += "<a href='byond://?src=\ref[src];name=[O.name];li=[O.lifespan];en=[O.endurance];ma=[O.maturation];pr=[O.production];yi=[O.yield];pot=[O.potency];amt=[O.amount]'>All</a>"
|
||||||
dat += "([O.amount] left)</td></tr>"
|
dat += "([O.amount] left)</td></tr>"
|
||||||
dat += "</table>"
|
dat += "</table>"
|
||||||
var/datum/browser/popup = new(user, "seed_ext", name, 725, 400)
|
var/datum/browser/popup = new(user, "seed_ext", name, 725, 400)
|
||||||
popup.set_content(dat)
|
popup.set_content(dat)
|
||||||
popup.open()
|
popup.open()
|
||||||
return
|
return
|
||||||
|
|
||||||
obj/machinery/seed_extractor/Topic(var/href, var/list/href_list)
|
obj/machinery/seed_extractor/Topic(var/href, var/list/href_list)
|
||||||
if(..())
|
if(..())
|
||||||
return
|
return
|
||||||
usr.set_machine(src)
|
usr.set_machine(src)
|
||||||
|
|
||||||
href_list["li"] = text2num(href_list["li"])
|
href_list["li"] = text2num(href_list["li"])
|
||||||
href_list["en"] = text2num(href_list["en"])
|
href_list["en"] = text2num(href_list["en"])
|
||||||
href_list["ma"] = text2num(href_list["ma"])
|
href_list["ma"] = text2num(href_list["ma"])
|
||||||
href_list["pr"] = text2num(href_list["pr"])
|
href_list["pr"] = text2num(href_list["pr"])
|
||||||
href_list["yi"] = text2num(href_list["yi"])
|
href_list["yi"] = text2num(href_list["yi"])
|
||||||
href_list["pot"] = text2num(href_list["pot"])
|
href_list["pot"] = text2num(href_list["pot"])
|
||||||
var/amt = text2num(href_list["amt"])
|
var/amt = text2num(href_list["amt"])
|
||||||
|
|
||||||
for (var/datum/seed_pile/N in piles)//Find the pile we need to reduce...
|
for (var/datum/seed_pile/N in piles)//Find the pile we need to reduce...
|
||||||
if (href_list["name"] == N.name && href_list["li"] == N.lifespan && href_list["en"] == N.endurance && href_list["ma"] == N.maturation && href_list["pr"] == N.production && href_list["yi"] == N.yield && href_list["pot"] == N.potency)
|
if (href_list["name"] == N.name && href_list["li"] == N.lifespan && href_list["en"] == N.endurance && href_list["ma"] == N.maturation && href_list["pr"] == N.production && href_list["yi"] == N.yield && href_list["pot"] == N.potency)
|
||||||
if(N.amount <= 0)
|
if(N.amount <= 0)
|
||||||
return
|
return
|
||||||
N.amount = max(N.amount - amt, 0)
|
N.amount = max(N.amount - amt, 0)
|
||||||
if (N.amount <= 0)
|
if (N.amount <= 0)
|
||||||
piles -= N
|
piles -= N
|
||||||
del(N)
|
del(N)
|
||||||
break
|
break
|
||||||
|
|
||||||
for (var/obj/T in contents)//Now we find the seed we need to vend
|
for (var/obj/T in contents)//Now we find the seed we need to vend
|
||||||
var/obj/item/seeds/O = T
|
var/obj/item/seeds/O = T
|
||||||
if (O.seed.display_name == href_list["name"] && O.seed.lifespan == href_list["li"] && O.seed.endurance == href_list["en"] && O.seed.maturation == href_list["ma"] && O.seed.production == href_list["pr"] && O.seed.yield == href_list["yi"] && O.seed.potency == href_list["pot"]) //Boy this sure is a long line, let's have this comment stretch it out even more!
|
if (O.seed.display_name == href_list["name"] && O.seed.lifespan == href_list["li"] && O.seed.endurance == href_list["en"] && O.seed.maturation == href_list["ma"] && O.seed.production == href_list["pr"] && O.seed.yield == href_list["yi"] && O.seed.potency == href_list["pot"]) //Boy this sure is a long line, let's have this comment stretch it out even more!
|
||||||
O.loc = src.loc
|
O.loc = src.loc
|
||||||
amt--
|
amt--
|
||||||
if (amt <= 0) break
|
if (amt <= 0) break
|
||||||
|
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog()
|
||||||
return
|
return
|
||||||
|
|
||||||
obj/machinery/seed_extractor/proc/moveToStorage(var/obj/item/seeds/O as obj)
|
obj/machinery/seed_extractor/proc/moveToStorage(var/obj/item/seeds/O as obj)
|
||||||
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/machinery/seed_extractor/proc/moveToStorage() called tick#: [world.time]")
|
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/machinery/seed_extractor/proc/moveToStorage() called tick#: [world.time]")
|
||||||
if(istype(O.loc,/obj/item/weapon/storage))
|
if(istype(O.loc,/obj/item/weapon/storage))
|
||||||
var/obj/item/weapon/storage/S = O.loc
|
var/obj/item/weapon/storage/S = O.loc
|
||||||
S.remove_from_storage(O,src)
|
S.remove_from_storage(O,src)
|
||||||
|
|
||||||
O.loc = src
|
O.loc = src
|
||||||
|
|
||||||
for (var/datum/seed_pile/N in piles)
|
for (var/datum/seed_pile/N in piles)
|
||||||
if (O.seed.display_name == N.name && O.seed.lifespan == N.lifespan && O.seed.endurance == N.endurance && O.seed.maturation == N.maturation && O.seed.production == N.production && O.seed.yield == N.yield && O.seed.potency == N.potency)
|
if (O.seed.display_name == N.name && O.seed.lifespan == N.lifespan && O.seed.endurance == N.endurance && O.seed.maturation == N.maturation && O.seed.production == N.production && O.seed.yield == N.yield && O.seed.potency == N.potency)
|
||||||
++N.amount
|
++N.amount
|
||||||
return
|
return
|
||||||
|
|
||||||
piles += new /datum/seed_pile(O.seed.display_name, O.seed.lifespan, O.seed.endurance, O.seed.maturation, O.seed.production, O.seed.yield, O.seed.potency)
|
piles += new /datum/seed_pile(O.seed.display_name, O.seed.lifespan, O.seed.endurance, O.seed.maturation, O.seed.production, O.seed.yield, O.seed.potency)
|
||||||
return
|
return
|
||||||
|
|
||||||
obj/machinery/seed_extractor/proc/hasSpaceCheck(mob/user as mob)
|
obj/machinery/seed_extractor/proc/hasSpaceCheck(mob/user as mob)
|
||||||
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/machinery/seed_extractor/proc/hasSpaceCheck() called tick#: [world.time]")
|
//writepanic("[__FILE__].[__LINE__] ([src.type])([usr ? usr.ckey : ""]) \\/obj/machinery/seed_extractor/proc/hasSpaceCheck() called tick#: [world.time]")
|
||||||
if(contents.len >= MAX_N_OF_ITEMS)
|
if(contents.len >= MAX_N_OF_ITEMS)
|
||||||
user << "<span class='notice'>\The [src] is full.</span>"
|
user << "<span class='notice'>\The [src] is full.</span>"
|
||||||
return 0
|
return 0
|
||||||
else return 1
|
else return 1
|
||||||
@@ -13,6 +13,8 @@
|
|||||||
/obj/item/seeds/New()
|
/obj/item/seeds/New()
|
||||||
update_seed()
|
update_seed()
|
||||||
..()
|
..()
|
||||||
|
pixel_x = rand(-3,3)
|
||||||
|
pixel_y = rand(-3,3)
|
||||||
|
|
||||||
//Grabs the appropriate seed datum from the global list.
|
//Grabs the appropriate seed datum from the global list.
|
||||||
/obj/item/seeds/proc/update_seed()
|
/obj/item/seeds/proc/update_seed()
|
||||||
@@ -150,6 +152,10 @@
|
|||||||
seed_type = "soybean"
|
seed_type = "soybean"
|
||||||
vending_cat = "vegetables"
|
vending_cat = "vegetables"
|
||||||
|
|
||||||
|
/obj/item/seeds/koiseed
|
||||||
|
seed_type = "koibean"
|
||||||
|
vending_cat = "vegetables"
|
||||||
|
|
||||||
/obj/item/seeds/wheatseed
|
/obj/item/seeds/wheatseed
|
||||||
seed_type = "wheat"
|
seed_type = "wheat"
|
||||||
vending_cat = "cereals"
|
vending_cat = "cereals"
|
||||||
@@ -184,6 +190,7 @@
|
|||||||
|
|
||||||
/obj/item/seeds/towermycelium
|
/obj/item/seeds/towermycelium
|
||||||
seed_type = "towercap"
|
seed_type = "towercap"
|
||||||
|
vending_cat = "trees"
|
||||||
|
|
||||||
/obj/item/seeds/glowshroom
|
/obj/item/seeds/glowshroom
|
||||||
seed_type = "glowshroom"
|
seed_type = "glowshroom"
|
||||||
@@ -217,6 +224,14 @@
|
|||||||
seed_type = "sunflowers"
|
seed_type = "sunflowers"
|
||||||
vending_cat = "flowers"
|
vending_cat = "flowers"
|
||||||
|
|
||||||
|
/obj/item/seeds/moonflowerseed
|
||||||
|
seed_type = "moonflowers"
|
||||||
|
vending_cat = "flowers"
|
||||||
|
|
||||||
|
/obj/item/seeds/novaflowerseed
|
||||||
|
seed_type = "novaflowers"
|
||||||
|
vending_cat = "flowers"
|
||||||
|
|
||||||
/obj/item/seeds/brownmold
|
/obj/item/seeds/brownmold
|
||||||
seed_type = "mold"
|
seed_type = "mold"
|
||||||
vending_cat = "mushrooms"
|
vending_cat = "mushrooms"
|
||||||
@@ -292,3 +307,7 @@
|
|||||||
/obj/item/seeds/kudzuseed
|
/obj/item/seeds/kudzuseed
|
||||||
seed_type = "kudzu"
|
seed_type = "kudzu"
|
||||||
vending_cat = "weeds"
|
vending_cat = "weeds"
|
||||||
|
|
||||||
|
/obj/item/seeds/cinnamomum
|
||||||
|
seed_type = "cinnamomum"
|
||||||
|
vending_cat = "trees"
|
||||||
|
|||||||
@@ -895,14 +895,14 @@
|
|||||||
/obj/item/seeds/harebell,
|
/obj/item/seeds/harebell,
|
||||||
/obj/item/seeds/icepepperseed,
|
/obj/item/seeds/icepepperseed,
|
||||||
/obj/item/seeds/killertomatoseed,
|
/obj/item/seeds/killertomatoseed,
|
||||||
//obj/item/seeds/koiseed,
|
/obj/item/seeds/koiseed,
|
||||||
/obj/item/seeds/kudzuseed,
|
/obj/item/seeds/kudzuseed,
|
||||||
/obj/item/seeds/lemonseed,
|
/obj/item/seeds/lemonseed,
|
||||||
/obj/item/seeds/libertymycelium,
|
/obj/item/seeds/libertymycelium,
|
||||||
/obj/item/seeds/limeseed,
|
/obj/item/seeds/limeseed,
|
||||||
//obj/item/seeds/moonflowerseed,
|
/obj/item/seeds/moonflowerseed,
|
||||||
/obj/item/seeds/nettleseed,
|
/obj/item/seeds/nettleseed,
|
||||||
//obj/item/seeds/novaflowerseed,
|
/obj/item/seeds/novaflowerseed,
|
||||||
/obj/item/seeds/orangeseed,
|
/obj/item/seeds/orangeseed,
|
||||||
/obj/item/seeds/plastiseed,
|
/obj/item/seeds/plastiseed,
|
||||||
/obj/item/seeds/plumpmycelium,
|
/obj/item/seeds/plumpmycelium,
|
||||||
@@ -926,6 +926,7 @@
|
|||||||
/obj/item/seeds/watermelonseed,
|
/obj/item/seeds/watermelonseed,
|
||||||
/obj/item/seeds/wheatseed,
|
/obj/item/seeds/wheatseed,
|
||||||
/obj/item/seeds/whitebeetseed,
|
/obj/item/seeds/whitebeetseed,
|
||||||
|
/obj/item/seeds/cinnamomum,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -525,6 +525,7 @@
|
|||||||
playsound(get_turf(src), 'sound/effects/rustle1.ogg', 50, 1) //russle sounds sounded better
|
playsound(get_turf(src), 'sound/effects/rustle1.ogg', 50, 1) //russle sounds sounded better
|
||||||
|
|
||||||
if(do_after(user, used_digging.digspeed) && user) //the better the drill, the faster the digging
|
if(do_after(user, used_digging.digspeed) && user) //the better the drill, the faster the digging
|
||||||
|
playsound(loc, 'sound/items/shovel.ogg', 50, 1)
|
||||||
user << "<span class='notice'>You dug a hole.</span>"
|
user << "<span class='notice'>You dug a hole.</span>"
|
||||||
gets_dug()
|
gets_dug()
|
||||||
|
|
||||||
|
|||||||
@@ -782,6 +782,7 @@
|
|||||||
if(!holder) return
|
if(!holder) return
|
||||||
if(ishuman(M))
|
if(ishuman(M))
|
||||||
if(prob(7)) M.emote(pick("twitch","drool","moan","gasp"))
|
if(prob(7)) M.emote(pick("twitch","drool","moan","gasp"))
|
||||||
|
M.druggy = max(M.druggy, 50)
|
||||||
holder.remove_reagent(src.id, 0.25 * REAGENTS_METABOLISM)
|
holder.remove_reagent(src.id, 0.25 * REAGENTS_METABOLISM)
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -2813,6 +2814,14 @@
|
|||||||
reagent_state = SOLID
|
reagent_state = SOLID
|
||||||
// no color (ie, black)
|
// no color (ie, black)
|
||||||
|
|
||||||
|
/datum/reagent/cinnamon
|
||||||
|
name = "Cinnamon Powder"
|
||||||
|
id = "cinnamon"
|
||||||
|
description = "A spice, obtained from the bark of cinnamomum trees."
|
||||||
|
reagent_state = SOLID
|
||||||
|
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||||
|
color = "#D2691E" // rgb: 210, 105, 30
|
||||||
|
|
||||||
/datum/reagent/coco
|
/datum/reagent/coco
|
||||||
name = "Coco Powder"
|
name = "Coco Powder"
|
||||||
id = "coco"
|
id = "coco"
|
||||||
|
|||||||
@@ -190,6 +190,11 @@
|
|||||||
desc = "Sweet and healthy!"
|
desc = "Sweet and healthy!"
|
||||||
icon_state = "honey"
|
icon_state = "honey"
|
||||||
item_state = null
|
item_state = null
|
||||||
|
if("cinnamon")
|
||||||
|
name = "cinnamon shaker"
|
||||||
|
desc = "A spice, obtained from the bark of cinnamomum trees."
|
||||||
|
icon_state = "cinnamon"
|
||||||
|
item_state = null
|
||||||
else
|
else
|
||||||
name = "misc condiment bottle"
|
name = "misc condiment bottle"
|
||||||
desc = "Just your average condiment container."
|
desc = "Just your average condiment container."
|
||||||
|
|||||||
@@ -3678,6 +3678,32 @@
|
|||||||
reagents.add_reagent("nutriment", 10)
|
reagents.add_reagent("nutriment", 10)
|
||||||
bitesize = 2
|
bitesize = 2
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/cinnamonroll
|
||||||
|
name = "cinnamon roll"
|
||||||
|
desc = "Sweet and spicy!"
|
||||||
|
icon_state = "cinnamon_roll"
|
||||||
|
trash = /obj/item/trash/plate
|
||||||
|
food_flags = FOOD_SWEET
|
||||||
|
|
||||||
|
New()
|
||||||
|
..()
|
||||||
|
reagents.add_reagent("nutriment", 3)
|
||||||
|
reagents.add_reagent("cinnamon",5)
|
||||||
|
bitesize = 3
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/cinnamonpie
|
||||||
|
name = "cinnamon pie"
|
||||||
|
desc = "Guarranted snake-free!"
|
||||||
|
icon_state = "cinnamon_pie"
|
||||||
|
trash = /obj/item/trash/pietin
|
||||||
|
food_flags = FOOD_SWEET
|
||||||
|
|
||||||
|
New()
|
||||||
|
..()
|
||||||
|
reagents.add_reagent("nutriment", 6)
|
||||||
|
reagents.add_reagent("cinnamon",5)
|
||||||
|
bitesize = 3
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/sundaeramen
|
/obj/item/weapon/reagent_containers/food/snacks/sundaeramen
|
||||||
name = "Sundae Ramen"
|
name = "Sundae Ramen"
|
||||||
desc = "This is... sundae (?) flavored (?) ramen (?). You just don't know."
|
desc = "This is... sundae (?) flavored (?) ramen (?). You just don't know."
|
||||||
|
|||||||
@@ -6,16 +6,16 @@
|
|||||||
icon_state = "egg"
|
icon_state = "egg"
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/egg/New()
|
/obj/item/weapon/reagent_containers/food/snacks/egg/New()
|
||||||
..()
|
..()
|
||||||
reagents.add_reagent("nutriment", 4)
|
reagents.add_reagent("nutriment", 4)
|
||||||
src.bitesize = 3
|
src.bitesize = 3
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom)
|
/obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom)
|
||||||
..()
|
..()
|
||||||
new/obj/effect/decal/cleanable/egg_smudge(src.loc)
|
new/obj/effect/decal/cleanable/egg_smudge(src.loc)
|
||||||
src.reagents.reaction(hit_atom, TOUCH)
|
src.reagents.reaction(hit_atom, TOUCH)
|
||||||
src.visible_message("<span class='warning'>[src.name] has been squashed.</span>","<span class='warning'>You hear a smack.</span>")
|
src.visible_message("<span class='warning'>[src.name] has been squashed.</span>","<span class='warning'>You hear a smack.</span>")
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/egg/blue
|
/obj/item/weapon/reagent_containers/food/snacks/egg/blue
|
||||||
icon_state = "egg-blue"
|
icon_state = "egg-blue"
|
||||||
|
|||||||
@@ -59,6 +59,14 @@
|
|||||||
plantname = "cherry"
|
plantname = "cherry"
|
||||||
slot_flags = SLOT_EARS
|
slot_flags = SLOT_EARS
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/cinnamon
|
||||||
|
name = "cinnamon sticks"
|
||||||
|
desc = "Straight from the bark!"
|
||||||
|
icon_state = "cinnamon"
|
||||||
|
filling_color = "#D2691E"
|
||||||
|
gender = PLURAL
|
||||||
|
plantname = "cinnamomum"
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/poppy
|
/obj/item/weapon/reagent_containers/food/snacks/grown/poppy
|
||||||
name = "poppy"
|
name = "poppy"
|
||||||
desc = "Long-used as a symbol of rest, peace, and death."
|
desc = "Long-used as a symbol of rest, peace, and death."
|
||||||
@@ -75,6 +83,14 @@
|
|||||||
filling_color = "#D4B2C9"
|
filling_color = "#D4B2C9"
|
||||||
plantname = "harebells"
|
plantname = "harebells"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower
|
||||||
|
name = "moonflower"
|
||||||
|
desc = "Store in a location at least 50 yards away from werewolves."
|
||||||
|
icon_state = "moonflower"
|
||||||
|
potency = 25
|
||||||
|
filling_color = "#E6E6FA"
|
||||||
|
plantname = "moonflowers"
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/potato
|
/obj/item/weapon/reagent_containers/food/snacks/grown/potato
|
||||||
name = "potato"
|
name = "potato"
|
||||||
desc = "Boil 'em! Mash 'em! Stick 'em in a stew!"
|
desc = "Boil 'em! Mash 'em! Stick 'em in a stew!"
|
||||||
@@ -337,6 +353,14 @@
|
|||||||
icon_state = "soybeans"
|
icon_state = "soybeans"
|
||||||
plantname = "soybean"
|
plantname = "soybean"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans
|
||||||
|
name = "koibean"
|
||||||
|
desc = "Something about these seems fishy."
|
||||||
|
gender = PLURAL
|
||||||
|
icon_state = "koibeans"
|
||||||
|
filling_color = "#F0E68C"
|
||||||
|
plantname = "koibean"
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato
|
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato
|
||||||
name = "tomato"
|
name = "tomato"
|
||||||
desc = "I say to-mah-to, you say tom-mae-to."
|
desc = "I say to-mah-to, you say tom-mae-to."
|
||||||
|
|||||||
@@ -101,3 +101,13 @@
|
|||||||
|
|
||||||
/obj/item/weapon/fossil/plant/New()
|
/obj/item/weapon/fossil/plant/New()
|
||||||
icon_state = "plant[rand(1,4)]"
|
icon_state = "plant[rand(1,4)]"
|
||||||
|
var/prehistoric_plants = list(
|
||||||
|
/obj/item/seeds/telriis,
|
||||||
|
/obj/item/seeds/thaadra,
|
||||||
|
/obj/item/seeds/jurlmah,
|
||||||
|
/obj/item/seeds/amauri,
|
||||||
|
/obj/item/seeds/gelthi,
|
||||||
|
/obj/item/seeds/vale,
|
||||||
|
/obj/item/seeds/surik,
|
||||||
|
)
|
||||||
|
nonplant_seed_type = pick(prehistoric_plants)
|
||||||
|
|||||||
@@ -1,81 +0,0 @@
|
|||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/telriis_clump
|
|
||||||
name = "telriis grass"
|
|
||||||
desc = "A clump of telriis grass, not recommended for consumption by sentients."
|
|
||||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
|
||||||
icon_state = "telriisclump"
|
|
||||||
New(var/loc, var/potency)
|
|
||||||
..()
|
|
||||||
reagents.add_reagent("pwine", potency * 5)
|
|
||||||
reagents.add_reagent("nutriment", potency)
|
|
||||||
bitesize = 1+round(reagents.total_volume / 2, 1)
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/thaadrabloom
|
|
||||||
name = "thaa'dra bloom"
|
|
||||||
desc = "Looks chewy, might be good to eat."
|
|
||||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
|
||||||
icon_state = "thaadrabloom"
|
|
||||||
New(var/loc, var/potency)
|
|
||||||
..()
|
|
||||||
reagents.add_reagent("frostoil", potency * 1.5 + 5)
|
|
||||||
reagents.add_reagent("nutriment", potency)
|
|
||||||
bitesize = 1+round(reagents.total_volume / 2, 1)
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/jurlmah
|
|
||||||
name = "jurl'mah pod"
|
|
||||||
desc = "Bulbous and veiny, it appears to pulse slightly as you look at it."
|
|
||||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
|
||||||
icon_state = "jurlmahpod"
|
|
||||||
New(var/loc, var/potency)
|
|
||||||
..()
|
|
||||||
reagents.add_reagent("serotrotium", potency)
|
|
||||||
reagents.add_reagent("nutriment", potency)
|
|
||||||
bitesize = 1+round(reagents.total_volume / 2, 1)
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/amauri
|
|
||||||
name = "amauri fruit"
|
|
||||||
desc = "It is small, round and hard. Its skin is a thick dark purple."
|
|
||||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
|
||||||
icon_state = "amaurifruit"
|
|
||||||
New(var/loc, var/potency)
|
|
||||||
..()
|
|
||||||
reagents.add_reagent("zombiepowder", potency * 10)
|
|
||||||
reagents.add_reagent("condensedcapsaicin", potency * 5)
|
|
||||||
reagents.add_reagent("nutriment", potency)
|
|
||||||
bitesize = 1+round(reagents.total_volume / 2, 1)
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/gelthi
|
|
||||||
name = "gelthi berries"
|
|
||||||
desc = "They feel fluffy and slightly warm to the touch."
|
|
||||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
|
||||||
icon_state = "gelthiberries"
|
|
||||||
New(var/loc, var/potency)
|
|
||||||
..()
|
|
||||||
//this may prove a little strong
|
|
||||||
reagents.add_reagent("stoxin", (potency * potency) / 5)
|
|
||||||
reagents.add_reagent("capsaicin", (potency * potency) / 5)
|
|
||||||
reagents.add_reagent("nutriment", potency)
|
|
||||||
bitesize = 1+round(reagents.total_volume / 2, 1)
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/vale
|
|
||||||
name = "vale leaves"
|
|
||||||
desc = "Small, curly leaves covered in a soft pale fur."
|
|
||||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
|
||||||
icon_state = "valeleaves"
|
|
||||||
New(var/loc, var/potency)
|
|
||||||
..()
|
|
||||||
reagents.add_reagent("paracetamol", potency * 5)
|
|
||||||
reagents.add_reagent("dexalin", potency * 2)
|
|
||||||
reagents.add_reagent("nutriment", potency)
|
|
||||||
bitesize = 1+round(reagents.total_volume / 2, 1)
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/surik
|
|
||||||
name = "surik fruit"
|
|
||||||
desc = "Multiple layers of blue skin peeling away to reveal a spongey core, vaguely resembling an ear."
|
|
||||||
icon = 'icons/obj/xenoarchaeology.dmi'
|
|
||||||
icon_state = "surikfruit"
|
|
||||||
New(var/loc, var/potency)
|
|
||||||
..()
|
|
||||||
reagents.add_reagent("impedrezene", potency * 3)
|
|
||||||
reagents.add_reagent("synaptizine", potency * 2)
|
|
||||||
reagents.add_reagent("nutriment", potency)
|
|
||||||
bitesize = 1+round(reagents.total_volume / 2, 1)
|
|
||||||
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
BIN
sound/items/shovel.ogg
Normal file
@@ -405,7 +405,6 @@
|
|||||||
#include "code\game\machinery\recharger.dm"
|
#include "code\game\machinery\recharger.dm"
|
||||||
#include "code\game\machinery\rechargestation.dm"
|
#include "code\game\machinery\rechargestation.dm"
|
||||||
#include "code\game\machinery\requests_console.dm"
|
#include "code\game\machinery\requests_console.dm"
|
||||||
#include "code\game\machinery\seed_extractor.dm"
|
|
||||||
#include "code\game\machinery\shieldgen.dm"
|
#include "code\game\machinery\shieldgen.dm"
|
||||||
#include "code\game\machinery\Sleeper.dm"
|
#include "code\game\machinery\Sleeper.dm"
|
||||||
#include "code\game\machinery\status_display.dm"
|
#include "code\game\machinery\status_display.dm"
|
||||||
@@ -1082,7 +1081,9 @@
|
|||||||
#include "code\modules\hydroponics\grown_inedible.dm"
|
#include "code\modules\hydroponics\grown_inedible.dm"
|
||||||
#include "code\modules\hydroponics\hydro_tools.dm"
|
#include "code\modules\hydroponics\hydro_tools.dm"
|
||||||
#include "code\modules\hydroponics\hydro_tray.dm"
|
#include "code\modules\hydroponics\hydro_tray.dm"
|
||||||
|
#include "code\modules\hydroponics\prehistoric_plants.dm"
|
||||||
#include "code\modules\hydroponics\seed_datums.dm"
|
#include "code\modules\hydroponics\seed_datums.dm"
|
||||||
|
#include "code\modules\hydroponics\seed_extractor.dm"
|
||||||
#include "code\modules\hydroponics\seed_machines.dm"
|
#include "code\modules\hydroponics\seed_machines.dm"
|
||||||
#include "code\modules\hydroponics\seed_mobs.dm"
|
#include "code\modules\hydroponics\seed_mobs.dm"
|
||||||
#include "code\modules\hydroponics\seeds.dm"
|
#include "code\modules\hydroponics\seeds.dm"
|
||||||
|
|||||||