Hydroponics rewrite, details will be in PR. Big commit.

Conflicts:
	baystation12.dme
	code/controllers/master_controller.dm
	code/game/gamemodes/events/spacevines.dm
	code/game/machinery/seed_extractor.dm
	code/modules/mob/living/carbon/brain/posibrain.dm
	code/modules/mob/mob.dm
	code/modules/reagents/Chemistry-Reagents.dm
	code/modules/reagents/reagent_containers/food/snacks/grown.dm
	icons/obj/hydroponics.dmi
	maps/tgstation2.dmm
This commit is contained in:
Zuhayr
2014-07-25 22:16:04 +09:30
committed by ZomgPonies
parent 13797e99ed
commit ebb9f724aa
29 changed files with 13120 additions and 14179 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
"alien candidate" = 1, //always show // 6
"pAI candidate" = 1, // -- TLE // 7
"cultist" = IS_MODE_COMPILED("cult"), // 8
"infested monkey" = IS_MODE_COMPILED("monkey"), // 9
"plant" = 1, // 9
"ninja" = "true", // 10
"vox raider" = IS_MODE_COMPILED("heist"), // 11
"slime" = 1, // 12
@@ -1,22 +1,14 @@
<<<<<<< HEAD:code/modules/hydroponics/hydroitemdefines.dm
// Plant analyzer
=======
//Analyzer, pestkillers, weedkillers, nutrients, hatchets.
>>>>>>> 7fb8f30... New machines, adjusted Cael's seeds, rewrote space vines.:code/modules/hydroponics/hydro_tools.dm
/obj/item/device/analyzer/plant_analyzer
name = "plant analyzer"
desc = "A scanner used to evaluate a plant's various areas of growth."
icon = 'icons/obj/device.dmi'
icon_state = "hydro"
item_state = "analyzer"
origin_tech = "magnets=1;biotech=1"
/obj/item/device/analyzer/plant_analyzer/attack_self(mob/user as mob)
return 0
<<<<<<< HEAD:code/modules/hydroponics/hydroitemdefines.dm
=======
/obj/item/device/analyzer/plant_analyzer/afterattack(obj/target, mob/user, flag)
if(!flag) return
@@ -161,7 +153,6 @@
return
>>>>>>> 7fb8f30... New machines, adjusted Cael's seeds, rewrote space vines.:code/modules/hydroponics/hydro_tools.dm
// *************************************
// Hydroponics Tools
// *************************************
@@ -169,7 +160,7 @@
/obj/item/weapon/plantspray
icon = 'icons/obj/hydroponics.dmi'
item_state = "spray"
flags = OPENCONTAINER
flags = TABLEPASS | OPENCONTAINER | FPRINT | NOBLUDGEON
slot_flags = SLOT_BELT
throwforce = 4
w_class = 2.0
@@ -179,13 +170,7 @@
var/pest_kill_str = 0
var/weed_kill_str = 0
<<<<<<< HEAD:code/modules/hydroponics/hydroitemdefines.dm
suicide_act(mob/user)
viewers(user) << "<span class='suicide'>[user] is huffing the [src.name]! It looks like \he's trying to commit suicide.</span>"
return (TOXLOSS)
=======
/obj/item/weapon/plantspray/weeds // -- Skie
>>>>>>> 7fb8f30... New machines, adjusted Cael's seeds, rewrote space vines.:code/modules/hydroponics/hydro_tools.dm
name = "weed-spray"
desc = "It's a toxic mixture, in spray form, to kill small weeds."
@@ -196,21 +181,6 @@
name = "pest-spray"
desc = "It's some pest eliminator spray! <I>Do not inhale!</I>"
icon_state = "pestspray"
<<<<<<< HEAD:code/modules/hydroponics/hydroitemdefines.dm
item_state = "spray"
flags = OPENCONTAINER
slot_flags = SLOT_BELT
throwforce = 4
w_class = 2.0
throw_speed = 2
throw_range = 10
var/toxicity = 4
var/PestKillStr = 2
suicide_act(mob/user)
viewers(user) << "<span class='suicide'>[user] is huffing the [src.name]! It looks like \he's trying to commit suicide.</span>"
return (TOXLOSS)
=======
pest_kill_str = 2
/obj/item/weapon/plantspray/pests/old
@@ -235,7 +205,6 @@
icon_state = "bottle15"
toxicity = 8
pest_kill_str = 7
>>>>>>> 7fb8f30... New machines, adjusted Cael's seeds, rewrote space vines.:code/modules/hydroponics/hydro_tools.dm
/obj/item/weapon/minihoe // -- Numbers
name = "mini hoe"
@@ -243,15 +212,11 @@
icon = 'icons/obj/weapons.dmi'
icon_state = "hoe"
item_state = "hoe"
flags = CONDUCT
flags = FPRINT | TABLEPASS | CONDUCT | NOBLUDGEON
force = 5.0
throwforce = 7.0
w_class = 2.0
m_amt = 50
attack_verb = list("slashed", "sliced", "cut", "clawed")
<<<<<<< HEAD:code/modules/hydroponics/hydroitemdefines.dm
hitsound = 'sound/weapons/bladeslice.ogg'
=======
// *************************************
@@ -290,7 +255,6 @@
toxicity = 8
weed_kill_str = 7
>>>>>>> 7fb8f30... New machines, adjusted Cael's seeds, rewrote space vines.:code/modules/hydroponics/hydro_tools.dm
// *************************************
// Nutrient defines for hydroponics
@@ -300,7 +264,8 @@
name = "bottle of nutrient"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
w_class = 1.0
flags = FPRINT | TABLEPASS
w_class = 2.0
var/mutmod = 0
var/yieldmod = 0
New()
@@ -311,6 +276,7 @@
name = "bottle of E-Z-Nutrient"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
mutmod = 1
yieldmod = 1
@@ -318,33 +284,13 @@
name = "bottle of Left 4 Zed"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle18"
flags = FPRINT | TABLEPASS
mutmod = 2
/obj/item/nutrient/rh
name = "bottle of Robust Harvest"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
<<<<<<< HEAD:code/modules/hydroponics/hydroitemdefines.dm
mutmod = 0
yieldmod = 2
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
// *************************************
// Pestkiller defines for hydroponics
// *************************************
/obj/item/pestkiller
name = "bottle of pestkiller"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
var/toxicity = 0
var/PestKillStr = 0
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
=======
flags = FPRINT | TABLEPASS
yieldmod = 2
@@ -362,74 +308,21 @@
throw_range = 4
sharp = 1
edge = 1
matter = list("metal" = 15000)
origin_tech = "materials=2;combat=1"
attack_verb = list("chopped", "torn", "cut")
>>>>>>> 7fb8f30... New machines, adjusted Cael's seeds, rewrote space vines.:code/modules/hydroponics/hydro_tools.dm
/obj/item/pestkiller/carbaryl
name = "bottle of carbaryl"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
toxicity = 4
PestKillStr = 2
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/weapon/hatchet/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
return ..()
/obj/item/pestkiller/lindane
name = "bottle of lindane"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle18"
toxicity = 6
PestKillStr = 4
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
//If it's a hatchet it goes here. I guess
/obj/item/weapon/hatchet/unathiknife
name = "duelling knife"
desc = "A length of leather-bound wood studded with razor-sharp teeth. How crude."
icon = 'icons/obj/weapons.dmi'
icon_state = "unathiknife"
attack_verb = list("ripped", "torn", "cut")
<<<<<<< HEAD:code/modules/hydroponics/hydroitemdefines.dm
/obj/item/pestkiller/phosmet
name = "bottle of phosmet"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
toxicity = 8
PestKillStr = 7
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
// *************************************
// Weedkiller defines for hydroponics
// *************************************
/obj/item/weedkiller
name = "bottle of weedkiller"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
var/toxicity = 0
var/WeedKillStr = 0
/obj/item/weedkiller/glyphosate
name = "bottle of glyphosate"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
toxicity = 4
WeedKillStr = 2
/obj/item/weedkiller/triclopyr
name = "bottle of triclopyr"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle18"
toxicity = 6
WeedKillStr = 4
/obj/item/weedkiller/D24
name = "bottle of 2,4-D"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
toxicity = 8
WeedKillStr = 7
=======
/obj/item/weapon/scythe
icon_state = "scythe0"
name = "scythe"
@@ -450,5 +343,4 @@
for(var/obj/effect/plantsegment/B in orange(A,1))
if(prob(80))
del B
del A
>>>>>>> 7fb8f30... New machines, adjusted Cael's seeds, rewrote space vines.:code/modules/hydroponics/hydro_tools.dm
del A
-1
View File
@@ -168,7 +168,6 @@
spawntypes = list(
/obj/item/weapon/gun/energy/floragun=1,
/obj/item/seeds/novaflowerseed=2,
/obj/item/seeds/bluespacetomatoseed=2
)
fluffitems = list(
@@ -166,10 +166,10 @@
turns_per_move = rand(1,3)
else if(feral < 0)
turns_since_move = 0
else if(!my_hydrotray || my_hydrotray.loc != src.loc || !my_hydrotray.planted || my_hydrotray.dead || !my_hydrotray.myseed)
else if(!my_hydrotray || my_hydrotray.loc != src.loc || my_hydrotray.dead || !my_hydrotray.seed)
var/obj/machinery/hydroponics/my_hydrotray = locate() in src.loc
if(my_hydrotray)
if(my_hydrotray.planted && !my_hydrotray.dead && my_hydrotray.myseed)
if(!my_hydrotray.dead && my_hydrotray.seed)
turns_per_move = rand(20,50)
else
my_hydrotray = null
@@ -46,8 +46,8 @@
if(udder && prob(5))
udder.add_reagent("milk", rand(5, 10))
if(locate(/obj/effect/spacevine) in loc)
var/obj/effect/spacevine/SV = locate(/obj/effect/spacevine) in loc
if(locate(/obj/effect/plantsegment) in loc)
var/obj/effect/plantsegment/SV = locate(/obj/effect/plantsegment) in loc
del(SV)
if(prob(10))
say("Nom")
@@ -56,7 +56,7 @@
for(var/direction in shuffle(list(1,2,4,8,5,6,9,10)))
var/step = get_step(src, direction)
if(step)
if(locate(/obj/effect/spacevine) in step)
if(locate(/obj/effect/plantsegment) in step)
Move(step)
/mob/living/simple_animal/hostile/retaliate/goat/Retaliate()
@@ -66,8 +66,8 @@
/mob/living/simple_animal/hostile/retaliate/goat/Move()
..()
if(!stat)
if(locate(/obj/effect/spacevine) in loc)
var/obj/effect/spacevine/SV = locate(/obj/effect/spacevine) in loc
if(locate(/obj/effect/plantsegment) in loc)
var/obj/effect/plantsegment/SV = locate(/obj/effect/plantsegment) in loc
del(SV)
if(prob(10))
say("Nom")
@@ -350,4 +350,4 @@ var/global/chicken_count = 0
response_disarm = "gently pushes aside the"
response_harm = "kicks the"
attacktext = "kicks"
health = 50
health = 50
+7 -3
View File
@@ -910,7 +910,11 @@ var/list/slot_equipment_priority = list( \
else
lying = 0
canmove = 1
if(buckled && (!buckled.movable))
var/is_movable
if(buckled && istype(buckled))
is_movable = buckled.movable
if(buckled && !is_movable)
anchored = 1
canmove = 0
if( istype(buckled,/obj/structure/stool/bed/chair) )
@@ -923,7 +927,7 @@ var/list/slot_equipment_priority = list( \
lying = 1
else
lying = 1
else if(buckled && (buckled.movable))
else if(buckled && is_movable)
anchored = 0
canmove = 1
lying = 0
@@ -1225,4 +1229,4 @@ mob/proc/yank_out_object()
if(host)
host.ckey = src.ckey
host << "<span class='info'>You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent.</span>"
host << "<span class='info'>You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent.</span>"
@@ -876,12 +876,6 @@
/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),
@@ -908,14 +902,6 @@
/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),
)
@@ -969,11 +955,6 @@
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."
+19 -27
View File
@@ -1446,20 +1446,14 @@ datum
M.clean_blood()
plantbgone
name = "Atrazine"
scannable = 1
name = "Plant-B-Gone"
id = "plantbgone"
description = "A harmful toxic mixture to kill plantlife. Do not ingest!"
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
color = "#49002E" // rgb: 73, 0, 46
toxod = TOX_OVERDOSE/2
burnod = BURN_OVERDOSE/2
scannable = 1
on_mob_life(var/mob/living/carbon/M)
if(!M) M = holder.my_atom
M.adjustToxLoss(2)
..()
return
// Clear off wallrot fungi
reaction_turf(var/turf/T, var/volume)
@@ -1479,10 +1473,9 @@ datum
alien_weeds.healthcheck()
else if(istype(O,/obj/effect/glowshroom)) //even a small amount is enough to kill it
del(O)
else if(istype(O,/obj/effect/spacevine))
else if(istype(O,/obj/effect/plantsegment))
if(prob(50)) del(O) //Kills kudzu too.
// Damage that is done to growing plants is separately
// at code/game/machinery/hydroponics at obj/item/hydroponics
// Damage that is done to growing plants is separately at code/game/machinery/hydroponics at obj/item/hydroponics
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
src = null
@@ -2308,26 +2301,25 @@ datum
reagent_state = LIQUID
color = "#664300" // rgb: 102, 67, 0
on_mob_life(var/mob/living/M as mob)
reaction_mob(var/mob/living/carbon/M, var/method=TOUCH, var/volume)
if(!..()) return
if(!istype(M) || !M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this.
src = null
if((method==TOUCH && prob(33)) || method==INGEST)
randmuti(M)
if(prob(98)) randmutb(M)
else randmutg(M)
domutcheck(M, null)
M.UpdateAppearance()
return
on_mob_life(var/mob/living/carbon/M)
if(!istype(M)) return
if(!M) M = holder.my_atom
if(!data) data = 1
switch(data)
if(1)
M.confused += 2
M.drowsyness += 2
if(2 to 50)
M.sleeping += 1
if(51 to INFINITY)
M.sleeping += 1
M.adjustToxLoss(data - 50)
data++
// Sleep toxins should always be consumed pretty fast
holder.remove_reagent(src.id, 0.4)
M.apply_effect(10,IRRADIATE,0)
..()
return
potassium_chloride
name = "Potassium Chloride"
id = "potassium_chloride"
File diff suppressed because it is too large Load Diff
@@ -38,7 +38,7 @@
/obj/machinery/computer/centrifuge,
/obj/machinery/sleeper,
/obj/machinery/smartfridge/,
/obj/machinery/biogenerator,
// /obj/machinery/biogenerator,
/obj/machinery/hydroponics,
/obj/machinery/constructable_frame)
@@ -1,21 +1,3 @@
/obj/item/seeds/telriis
name = "pack of telriis seeds"
desc = "These seeds grow into telriis grass. Not recommended for consumption by sentient species."
icon_state = "seed-alien1"
mypath = "/obj/item/seeds/telriis"
species = "telriis"
plantname = "Telriis grass"
productname = "/obj/item/weapon/telriis_clump"
lifespan = 50 //number of ticks
endurance = 50 //
maturation = 5 //ticks to full growth stage
production = 5 //ticks till ready to harvest
yield = 4 //number produced when harvest
potency = 5
plant_type = 1 //1=weed, 2=shroom, 0=normal
growthstages = 4
/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."
@@ -27,24 +9,6 @@
reagents.add_reagent("nutriment", potency)
bitesize = 1+round(reagents.total_volume / 2, 1)
/obj/item/seeds/thaadra
name = "pack of thaa'dra seeds"
desc = "These seeds grow into Thaa'dra lichen. Likes the cold."
icon_state = "seed-alien3"
mypath = "/obj/item/seeds/thaadra"
species = "thaadra"
plantname = "Thaa'dra lichen"
productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/thaadra"
lifespan = 20
endurance = 10
maturation = 5
production = 9
yield = 2
potency = 5
plant_type = 2
growthstages = 4
/obj/item/weapon/reagent_containers/food/snacks/grown/thaadrabloom
name = "thaa'dra bloom"
desc = "Looks chewy, might be good to eat."
@@ -56,23 +20,6 @@
reagents.add_reagent("nutriment", potency)
bitesize = 1+round(reagents.total_volume / 2, 1)
/obj/item/seeds/jurlmah
name = "pack of jurl'mah seeds"
desc = "These seeds grow into jurl'mah reeds, which produce large syrupy pods."
icon_state = "seed-alien3"
mypath = "/obj/item/seeds/jurlmah"
species = "jurlmah"
plantname = "jurl'mah reeds"
productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/jurlmah"
lifespan = 20
endurance = 12
maturation = 8
production = 9
yield = 3
potency = 10
growthstages = 5
/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."
@@ -84,23 +31,6 @@
reagents.add_reagent("nutriment", potency)
bitesize = 1+round(reagents.total_volume / 2, 1)
/obj/item/seeds/amauri
name = "pack of amauri seeds"
desc = "Grows into a straight, dark plant with small round fruit."
icon_state = "seed-alien3"
mypath = "/obj/item/seeds/amauri"
species = "amauri"
plantname = "amauri plant"
productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/amauri"
lifespan = 30
endurance = 10
maturation = 8
production = 9
yield = 4
potency = 10
growthstages = 3
/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."
@@ -113,23 +43,6 @@
reagents.add_reagent("nutriment", potency)
bitesize = 1+round(reagents.total_volume / 2, 1)
/obj/item/seeds/gelthi
name = "pack of gelthi seeds"
desc = "Grows into a bright, wavy plant with many small fruits."
icon_state = "seed-alien2"
mypath = "/obj/item/seeds/gelthi"
species = "gelthi"
plantname = "gelthi plant"
productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/gelthi"
lifespan = 20
endurance = 15
maturation = 6
production = 6
yield = 2
potency = 1
growthstages = 3
/obj/item/weapon/reagent_containers/food/snacks/grown/gelthi
name = "gelthi berries"
desc = "They feel fluffy and slightly warm to the touch."
@@ -143,23 +56,6 @@
reagents.add_reagent("nutriment", potency)
bitesize = 1+round(reagents.total_volume / 2, 1)
/obj/item/seeds/vale
name = "pack of vale seeds"
desc = "The vale bush is often depicted in ancient heiroglyphs and is similar to cherry blossoms."
icon_state = "seed-alien2"
mypath = "/obj/item/seeds/vale"
species = "vale"
plantname = "vale bush"
productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/vale"
lifespan = 25
endurance = 15
maturation = 8
production = 10
yield = 3
potency = 3
growthstages = 4
/obj/item/weapon/reagent_containers/food/snacks/grown/vale
name = "vale leaves"
desc = "Small, curly leaves covered in a soft pale fur."
@@ -172,23 +68,6 @@
reagents.add_reagent("nutriment", potency)
bitesize = 1+round(reagents.total_volume / 2, 1)
/obj/item/seeds/surik
name = "pack of surik seeds"
desc = "A spiky blue vine with large fruit resembling pig ears."
icon_state = "seed-alien3"
mypath = "/obj/item/seeds/surik"
species = "surik"
plantname = "surik vine"
productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/surik"
lifespan = 30
endurance = 18
maturation = 7
production = 7
yield = 3
potency = 3
growthstages = 4
/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."
@@ -199,4 +78,4 @@
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)
bitesize = 1+round(reagents.total_volume / 2, 1)