-Moves the scattered hydroponics-related files into a consolidated hydroponics module folder, and attempts to reorganize code found within those files. I don't think I broke anything.

-You can make dualsabers now by sticking two energy swords end-to-end.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5725 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
d_h2005@yahoo.com
2013-02-17 19:40:22 +00:00
parent 904b5e8b20
commit d45bae1ecf
9 changed files with 434 additions and 507 deletions
@@ -52,6 +52,14 @@
add_fingerprint(user)
return
/obj/item/weapon/melee/energy/sword/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if(istype(W, /obj/item/weapon/melee/energy/sword))
user << "\blue You attach the ends of the two energy swords, making a single double-bladed weapon! You're cool."
new /obj/item/weapon/twohanded/dualsaber(user.loc)
del(W)
del(src)
/*
* Classic Baton
*/
@@ -156,6 +156,7 @@
/obj/item/weapon/twohanded/dualsaber/update_icon()
icon_state = "dualsaber[wielded]"
clean_blood()//blood overlays get weird otherwise, because the sprite changes.
return
/obj/item/weapon/twohanded/dualsaber/attack(target as mob, mob/living/user as mob)
@@ -603,15 +603,15 @@
reagents.add_reagent("blood", 1+round((potency / 5), 1))
bitesize = 1+round(reagents.total_volume / 2, 1)
throw_impact(atom/hit_atom)
..()
new/obj/effect/decal/cleanable/blood/splatter(src.loc)
src.visible_message("<span class='notice'>The [src.name] has been squashed.</span>","<span class='moderate'>You hear a smack.</span>")
src.reagents.reaction(get_turf(hit_atom))
for(var/atom/A in get_turf(hit_atom))
src.reagents.reaction(A)
del(src)
return
/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato/throw_impact(atom/hit_atom)
..()
new/obj/effect/decal/cleanable/blood/splatter(src.loc)
src.visible_message("<span class='notice'>The [src.name] has been squashed.</span>","<span class='moderate'>You hear a smack.</span>")
src.reagents.reaction(get_turf(hit_atom))
for(var/atom/A in get_turf(hit_atom))
src.reagents.reaction(A)
del(src)
return
/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato
seed = "/obj/item/seeds/bluetomatoseed"
@@ -626,15 +626,15 @@
reagents.add_reagent("lube", 1+round((potency / 5), 1))
bitesize = 1+round(reagents.total_volume / 2, 1)
throw_impact(atom/hit_atom)
..()
new/obj/effect/decal/cleanable/oil(src.loc)
src.visible_message("<span class='notice'>The [src.name] has been squashed.</span>","<span class='moderate'>You hear a smack.</span>")
src.reagents.reaction(get_turf(hit_atom))
for(var/atom/A in get_turf(hit_atom))
src.reagents.reaction(A)
del(src)
return
/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/throw_impact(atom/hit_atom)
..()
new/obj/effect/decal/cleanable/oil(src.loc)
src.visible_message("<span class='notice'>The [src.name] has been squashed.</span>","<span class='moderate'>You hear a smack.</span>")
src.reagents.reaction(get_turf(hit_atom))
for(var/atom/A in get_turf(hit_atom))
src.reagents.reaction(A)
del(src)
return
/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/HasEntered(AM as mob|obj)
if (istype(AM, /mob/living/carbon))
@@ -894,12 +894,6 @@
user.SetLuminosity(round(user.luminosity + (potency/10),1))
SetLuminosity(round(potency/10,1))
// *************************************
// Complex Grown Object Defines -
// Putting these at the bottom so they don't clutter the list up. -Cheridan
// *************************************
//This object is just a transition object. All it does is make dosh and delete itself. -Cheridan
/obj/item/weapon/reagent_containers/food/snacks/grown/money
seed = "/obj/item/seeds/cashseed"
@@ -940,54 +934,4 @@
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("nutriment", 1+round((potency / 20), 1))
reagents.add_reagent("singulo", 1+round((potency / 5), 1))
bitesize = 1+round(reagents.total_volume / 2, 1)
throw_impact(atom/hit_atom)
..()
var/mob/M = usr
var/outer_teleport_radius = potency/10 //Plant potency determines radius of teleport.
var/inner_teleport_radius = potency/15
var/list/turfs = new/list()
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
if(inner_teleport_radius < 1) //Wasn't potent enough, it just splats.
new/obj/effect/decal/cleanable/oil(src.loc)
src.visible_message("<span class='notice'>The [src.name] has been squashed.</span>","<span class='moderate'>You hear a smack.</span>")
del(src)
return
for(var/turf/T in orange(M,outer_teleport_radius))
if(T in orange(M,inner_teleport_radius)) continue
if(istype(T,/turf/space)) continue
if(T.density) continue
if(T.x>world.maxx-outer_teleport_radius || T.x<outer_teleport_radius) continue
if(T.y>world.maxy-outer_teleport_radius || T.y<outer_teleport_radius) continue
turfs += T
if(!turfs.len)
var/list/turfs_to_pick_from = list()
for(var/turf/T in orange(M,outer_teleport_radius))
if(!(T in orange(M,inner_teleport_radius)))
turfs_to_pick_from += T
turfs += pick(/turf in turfs_to_pick_from)
var/turf/picked = pick(turfs)
if(!isturf(picked)) return
switch(rand(1,2))//Decides randomly to teleport the thrower or the throwee.
if(1) // Teleports the person who threw the tomato.
s.set_up(3, 1, M)
s.start()
new/obj/effect/decal/cleanable/molten_item(M.loc) //Leaves a pile of goo behind for dramatic effect.
M.loc = picked //
sleep(1)
s.set_up(3, 1, M)
s.start() //Two set of sparks, one before the teleport and one after.
if(2) //Teleports mob the tomato hit instead.
for(var/mob/A in get_turf(hit_atom))//For the mobs in the tile that was hit...
s.set_up(3, 1, A)
s.start()
new/obj/effect/decal/cleanable/molten_item(A.loc) //Leave a pile of goo behind for dramatic effect...
A.loc = picked//And teleport them to the chosen location.
sleep(1)
s.set_up(3, 1, A)
s.start()
new/obj/effect/decal/cleanable/oil(src.loc)
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
bitesize = 1+round(reagents.total_volume / 2, 1)
+138
View File
@@ -0,0 +1,138 @@
// **********************
// Other harvested materials from plants (that are not food)
// **********************
/obj/item/weapon/grown // Grown weapons
name = "grown_weapon"
icon = 'icons/obj/weapons.dmi'
var/seed = ""
var/plantname = ""
var/product //a type path
var/species = ""
var/lifespan = 20
var/endurance = 15
var/maturation = 7
var/production = 7
var/yield = 2
var/potency = 1
var/plant_type = 0
New()
var/datum/reagents/R = new/datum/reagents(50)
reagents = R
R.my_atom = src
/obj/item/weapon/grown/proc/changePotency(newValue) //-QualityVan
potency = newValue
/obj/item/weapon/grown/log
name = "tower-cap log"
desc = "It's better than bad, it's good!"
icon = 'icons/obj/harvest.dmi'
icon_state = "logs"
force = 5
flags = TABLEPASS
throwforce = 5
w_class = 3.0
throw_speed = 3
throw_range = 3
plant_type = 2
origin_tech = "materials=1"
seed = "/obj/item/seeds/towermycelium"
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
/obj/item/weapon/grown/log/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || (istype(W, /obj/item/weapon/twohanded/fireaxe) && W:wielded) || istype(W, /obj/item/weapon/melee/energy))
user.show_message("<span class='notice'>You make planks out of the [src]!</span>", 1)
for(var/i=0,i<2,i++)
var/obj/item/stack/sheet/wood/NG = new (user.loc)
for (var/obj/item/stack/sheet/wood/G in user.loc)
if(G==NG)
continue
if(G.amount>=G.max_amount)
continue
G.attackby(NG, user)
usr << "You add the newly-formed wood to the stack. It now contains [NG.amount] planks."
del(src)
return
/obj/item/weapon/grown/sunflower // FLOWER POWER!
name = "sunflower"
desc = "It's beautiful! A certain person might beat you to death if you trample these."
icon = 'icons/obj/harvest.dmi'
icon_state = "sunflower"
damtype = "fire"
force = 0
flags = TABLEPASS
throwforce = 1
w_class = 1.0
throw_speed = 1
throw_range = 3
plant_type = 0
seed = "/obj/item/seeds/sunflower"
/obj/item/weapon/grown/novaflower
name = "novaflower"
desc = "It's beautiful! A certain person might beat you to death if you trample these."
icon = 'icons/obj/harvest.dmi'
icon_state = "novaflower"
damtype = "fire"
force = 0
flags = TABLEPASS
throwforce = 1
w_class = 1.0
throw_speed = 1
throw_range = 3
plant_type = 0
seed = "/obj/item/seeds/novaflower"
attack_verb = list("seared", "heated", "whacked", "steamed")
/obj/item/weapon/grown/nettle // -- Skie
desc = "It's probably <B>not</B> wise to touch it with bare hands..."
icon = 'icons/obj/weapons.dmi'
name = "nettle"
icon_state = "nettle"
damtype = "fire"
force = 15
flags = TABLEPASS
throwforce = 1
w_class = 1.0
throw_speed = 1
throw_range = 3
plant_type = 1
origin_tech = "combat=1"
seed = "/obj/item/seeds/nettleseed"
New()
..()
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("nutriment", 1+round((potency / 50), 1))
reagents.add_reagent("sacid", round(potency, 1))
force = round((5+potency/5), 1)
/obj/item/weapon/grown/deathnettle // -- Skie
desc = "The \red glowing \black nettle incites \red<B> rage</B>\black in you just from looking at it!"
icon = 'icons/obj/weapons.dmi'
name = "deathnettle"
icon_state = "deathnettle"
damtype = "fire"
force = 30
flags = TABLEPASS
throwforce = 1
w_class = 1.0
throw_speed = 1
throw_range = 3
plant_type = 1
seed = "/obj/item/seeds/deathnettleseed"
origin_tech = "combat=3"
attack_verb = list("stung")
New()
..()
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("nutriment", 1+round((potency / 50), 1))
reagents.add_reagent("pacid", round(potency, 1))
force = round((5+potency/2.5), 1)
suicide_act(mob/user)
viewers(user) << "\red <b>[user] is eating some of the [src.name]! It looks like \he's trying to commit suicide.</b>"
return (BRUTELOSS|TOXLOSS)
@@ -1,16 +1,9 @@
/* Hydroponic stuff
/* Hydroponic Item Procs and Stuff
* Contains:
* Sunflowers/Novaflowers
* Nettle
* Deathnettle
* Corncob
*/
/*
* Sun/Novaflower
* Sunflowers Novaflowers Nettle Deathnettle Corncob
*/
//Sun/Novaflower
/obj/item/weapon/grown/sunflower/attack(mob/M as mob, mob/user as mob)
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>"
@@ -28,9 +21,8 @@
usr << "All the petals have fallen off the [name] from violent whacking."
del(src)
/*
* Nettle
*/
//Nettle
/obj/item/weapon/grown/nettle/pickup(mob/living/carbon/human/user as mob)
if(!user.gloves)
user << "\red The nettle burns your bare hand!"
@@ -54,10 +46,7 @@
potency = newValue
force = round((5+potency/5), 1)
/*
* Deathnettle
*/
//Deathnettle
/obj/item/weapon/grown/deathnettle/pickup(mob/living/carbon/human/user as mob)
if(!user.gloves)
if(istype(user, /mob/living/carbon/human))
@@ -101,9 +90,7 @@
force = round((5+potency/2.5), 1)
/*
* Corncob
*/
//Corncob
/obj/item/weapon/corncob/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/kitchen/utensil/knife))
@@ -111,3 +98,54 @@
new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc)
del(src)
return
//Bluespace Tomatoes
/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacetomato/throw_impact(atom/hit_atom)
..()
var/mob/M = usr
var/outer_teleport_radius = potency/10 //Plant potency determines radius of teleport.
var/inner_teleport_radius = potency/15
var/list/turfs = new/list()
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
if(inner_teleport_radius < 1) //Wasn't potent enough, it just splats.
new/obj/effect/decal/cleanable/oil(src.loc)
src.visible_message("<span class='notice'>The [src.name] has been squashed.</span>","<span class='moderate'>You hear a smack.</span>")
del(src)
return
for(var/turf/T in orange(M,outer_teleport_radius))
if(T in orange(M,inner_teleport_radius)) continue
if(istype(T,/turf/space)) continue
if(T.density) continue
if(T.x>world.maxx-outer_teleport_radius || T.x<outer_teleport_radius) continue
if(T.y>world.maxy-outer_teleport_radius || T.y<outer_teleport_radius) continue
turfs += T
if(!turfs.len)
var/list/turfs_to_pick_from = list()
for(var/turf/T in orange(M,outer_teleport_radius))
if(!(T in orange(M,inner_teleport_radius)))
turfs_to_pick_from += T
turfs += pick(/turf in turfs_to_pick_from)
var/turf/picked = pick(turfs)
if(!isturf(picked)) return
switch(rand(1,2))//Decides randomly to teleport the thrower or the throwee.
if(1) // Teleports the person who threw the tomato.
s.set_up(3, 1, M)
s.start()
new/obj/effect/decal/cleanable/molten_item(M.loc) //Leaves a pile of goo behind for dramatic effect.
M.loc = picked //
sleep(1)
s.set_up(3, 1, M)
s.start() //Two set of sparks, one before the teleport and one after.
if(2) //Teleports mob the tomato hit instead.
for(var/mob/A in get_turf(hit_atom))//For the mobs in the tile that was hit...
s.set_up(3, 1, A)
s.start()
new/obj/effect/decal/cleanable/molten_item(A.loc) //Leave a pile of goo behind for dramatic effect...
A.loc = picked//And teleport them to the chosen location.
sleep(1)
s.set_up(3, 1, A)
s.start()
new/obj/effect/decal/cleanable/oil(src.loc)
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
@@ -0,0 +1,201 @@
// Plant analyzer
/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"
attack_self(mob/user as mob)
return 0
// *************************************
// Pestkiller defines for hydroponics
// *************************************
/obj/item/pestkiller
name = "bottle of pestkiller"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
var/toxicity = 0
var/PestKillStr = 0
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/pestkiller/carbaryl
name = "bottle of carbaryl"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
toxicity = 4
PestKillStr = 2
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/pestkiller/lindane
name = "bottle of lindane"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle18"
flags = FPRINT | TABLEPASS
toxicity = 6
PestKillStr = 4
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/pestkiller/phosmet
name = "bottle of phosmet"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
flags = FPRINT | TABLEPASS
toxicity = 8
PestKillStr = 7
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
// *************************************
// Hydroponics Tools
// *************************************
/obj/item/weapon/weedspray // -- Skie
desc = "It's a toxic mixture, in spray form, to kill small weeds."
icon = 'icons/obj/hydroponics.dmi'
name = "weed-spray"
icon_state = "weedspray"
item_state = "spray"
flags = TABLEPASS | OPENCONTAINER | FPRINT | USEDELAY
slot_flags = SLOT_BELT
throwforce = 4
w_class = 2.0
throw_speed = 2
throw_range = 10
var/toxicity = 4
var/WeedKillStr = 2
suicide_act(mob/user)
viewers(user) << "\red <b>[user] is huffing the [src.name]! It looks like \he's trying to commit suicide.</b>"
return (TOXLOSS)
/obj/item/weapon/pestspray // -- Skie
desc = "It's some pest eliminator spray! <I>Do not inhale!</I>"
icon = 'icons/obj/hydroponics.dmi'
name = "pest-spray"
icon_state = "pestspray"
item_state = "spray"
flags = TABLEPASS | OPENCONTAINER | FPRINT | USEDELAY
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) << "\red <b>[user] is huffing the [src.name]! It looks like \he's trying to commit suicide.</b>"
return (TOXLOSS)
/obj/item/weapon/minihoe // -- Numbers
name = "mini hoe"
desc = "It's used for removing weeds or scratching your back."
icon = 'icons/obj/weapons.dmi'
icon_state = "hoe"
item_state = "hoe"
flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY
force = 5.0
throwforce = 7.0
w_class = 2.0
m_amt = 50
attack_verb = list("slashed", "sliced", "cut", "clawed")
// *************************************
// Weedkiller defines for hydroponics
// *************************************
/obj/item/weedkiller
name = "bottle of weedkiller"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
var/toxicity = 0
var/WeedKillStr = 0
/obj/item/weedkiller/glyphosate
name = "bottle of glyphosate"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
toxicity = 4
WeedKillStr = 2
/obj/item/weedkiller/triclopyr
name = "bottle of triclopyr"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle18"
flags = FPRINT | TABLEPASS
toxicity = 6
WeedKillStr = 4
/obj/item/weedkiller/D24
name = "bottle of 2,4-D"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
flags = FPRINT | TABLEPASS
toxicity = 8
WeedKillStr = 7
// *************************************
// Nutrient defines for hydroponics
// *************************************
/obj/item/nutrient
name = "bottle of nutrient"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
w_class = 1.0
var/mutmod = 0
var/yieldmod = 0
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/nutrient/ez
name = "bottle of E-Z-Nutrient"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
mutmod = 1
yieldmod = 1
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/nutrient/l4z
name = "bottle of Left 4 Zed"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle18"
flags = FPRINT | TABLEPASS
mutmod = 2
yieldmod = 0
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/nutrient/rh
name = "bottle of Robust Harvest"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
flags = FPRINT | TABLEPASS
mutmod = 0
yieldmod = 2
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
@@ -1,16 +1,3 @@
// Plant analyzer
/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"
attack_self(mob/user as mob)
return 0
// ********************************************************
// Here's all the seeds (plants) that can be used in hydro
// ********************************************************
@@ -1030,398 +1017,4 @@
return
user << "<span class='notice'>You plant the kudzu. You monster.</span>"
new /obj/effect/spacevine_controller(user.loc)
del(src)
/* // Maybe one day when I get it to work like a grenade which exlodes gibs.
/obj/item/seeds/gibtomatoseed
name = "Gib Tomato seeds"
desc = "Used to grow gib tomotoes."
icon_state = "seed-gibtomato"
species = "gibtomato"
plantname = "Gib Tomato plant"
product = /obj/item/weapon/grown/gibtomato
lifespan = 35
endurance = 25
maturation = 6
production = 6
yield = 3
potency = 10
plant_type = 0
growthstages = 6
*/
/*
/obj/item/seeds/
name = ""
icon_state = "seed"
species = ""
plantname = ""
product = /obj/item/weapon/reagent_containers/food/snacks/grown/
lifespan = 25
endurance = 15
maturation = 10
production = 1
yield = -1
potency = 0
oneharvest = 1
growthstages = 3
plant_type = 0
*/
// *****************oolokitthesefancystars********
// Grown FOOD types moved to reagents
// **********************
// **********************
// Other harvested materials from plants (that are not food)
// **********************
/obj/item/weapon/grown // Grown weapons
name = "grown_weapon"
icon = 'icons/obj/weapons.dmi'
var/seed = ""
var/plantname = ""
var/product //a type path
var/species = ""
var/lifespan = 20
var/endurance = 15
var/maturation = 7
var/production = 7
var/yield = 2
var/potency = 1
var/plant_type = 0
New()
var/datum/reagents/R = new/datum/reagents(50)
reagents = R
R.my_atom = src
/obj/item/weapon/grown/proc/changePotency(newValue) //-QualityVan
potency = newValue
/obj/item/weapon/grown/log
name = "tower-cap log"
desc = "It's better than bad, it's good!"
icon = 'icons/obj/harvest.dmi'
icon_state = "logs"
force = 5
flags = TABLEPASS
throwforce = 5
w_class = 3.0
throw_speed = 3
throw_range = 3
plant_type = 2
origin_tech = "materials=1"
seed = "/obj/item/seeds/towermycelium"
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || (istype(W, /obj/item/weapon/twohanded/fireaxe) && W:wielded) || istype(W, /obj/item/weapon/melee/energy))
user.show_message("<span class='notice'>You make planks out of the [src]!</span>", 1)
for(var/i=0,i<2,i++)
var/obj/item/stack/sheet/wood/NG = new (user.loc)
for (var/obj/item/stack/sheet/wood/G in user.loc)
if(G==NG)
continue
if(G.amount>=G.max_amount)
continue
G.attackby(NG, user)
usr << "You add the newly-formed wood to the stack. It now contains [NG.amount] planks."
del(src)
return
/obj/item/weapon/grown/sunflower // FLOWER POWER!
name = "sunflower"
desc = "It's beautiful! A certain person might beat you to death if you trample these."
icon = 'icons/obj/harvest.dmi'
icon_state = "sunflower"
damtype = "fire"
force = 0
flags = TABLEPASS
throwforce = 1
w_class = 1.0
throw_speed = 1
throw_range = 3
plant_type = 0
seed = "/obj/item/seeds/sunflower"
/obj/item/weapon/grown/novaflower
name = "novaflower"
desc = "It's beautiful! A certain person might beat you to death if you trample these."
icon = 'icons/obj/harvest.dmi'
icon_state = "novaflower"
damtype = "fire"
force = 0
flags = TABLEPASS
throwforce = 1
w_class = 1.0
throw_speed = 1
throw_range = 3
plant_type = 0
seed = "/obj/item/seeds/novaflower"
attack_verb = list("seared", "heated", "whacked", "steamed")
/*
/obj/item/weapon/grown/gibtomato
desc = "A plump tomato."
icon = 'icons/obj/harvest.dmi'
name = "Gib Tomato"
icon_state = "gibtomato"
damtype = "fire"
force = 0
flags = TABLEPASS
throwforce = 1
w_class = 1.0
throw_speed = 1
throw_range = 3
plant_type = 1
seed = "/obj/item/seeds/gibtomato"
New()
..()
/obj/item/weapon/grown/gibtomato/New()
..()
src.gibs = new /obj/effect/gibspawner/human(get_turf(src))
src.gibs.attach(src)
src.smoke.set_up(10, 0, usr.loc)
*/
/obj/item/weapon/grown/nettle // -- Skie
desc = "It's probably <B>not</B> wise to touch it with bare hands..."
icon = 'icons/obj/weapons.dmi'
name = "nettle"
icon_state = "nettle"
damtype = "fire"
force = 15
flags = TABLEPASS
throwforce = 1
w_class = 1.0
throw_speed = 1
throw_range = 3
plant_type = 1
origin_tech = "combat=1"
seed = "/obj/item/seeds/nettleseed"
New()
..()
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("nutriment", 1+round((potency / 50), 1))
reagents.add_reagent("sacid", round(potency, 1))
force = round((5+potency/5), 1)
/obj/item/weapon/grown/deathnettle // -- Skie
desc = "The \red glowing \black nettle incites \red<B> rage</B>\black in you just from looking at it!"
icon = 'icons/obj/weapons.dmi'
name = "deathnettle"
icon_state = "deathnettle"
damtype = "fire"
force = 30
flags = TABLEPASS
throwforce = 1
w_class = 1.0
throw_speed = 1
throw_range = 3
plant_type = 1
seed = "/obj/item/seeds/deathnettleseed"
origin_tech = "combat=3"
attack_verb = list("stung")
New()
..()
spawn(5) //So potency can be set in the proc that creates these crops
reagents.add_reagent("nutriment", 1+round((potency / 50), 1))
reagents.add_reagent("pacid", round(potency, 1))
force = round((5+potency/2.5), 1)
suicide_act(mob/user)
viewers(user) << "\red <b>[user] is eating some of the [src.name]! It looks like \he's trying to commit suicide.</b>"
return (BRUTELOSS|TOXLOSS)
// *************************************
// Pestkiller defines for hydroponics
// *************************************
/obj/item/pestkiller
name = "bottle of pestkiller"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
var/toxicity = 0
var/PestKillStr = 0
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/pestkiller/carbaryl
name = "bottle of carbaryl"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
toxicity = 4
PestKillStr = 2
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/pestkiller/lindane
name = "bottle of lindane"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle18"
flags = FPRINT | TABLEPASS
toxicity = 6
PestKillStr = 4
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/pestkiller/phosmet
name = "bottle of phosmet"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
flags = FPRINT | TABLEPASS
toxicity = 8
PestKillStr = 7
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
// *************************************
// Hydroponics Tools
// *************************************
/obj/item/weapon/weedspray // -- Skie
desc = "It's a toxic mixture, in spray form, to kill small weeds."
icon = 'icons/obj/hydroponics.dmi'
name = "weed-spray"
icon_state = "weedspray"
item_state = "spray"
flags = TABLEPASS | OPENCONTAINER | FPRINT | USEDELAY
slot_flags = SLOT_BELT
throwforce = 4
w_class = 2.0
throw_speed = 2
throw_range = 10
var/toxicity = 4
var/WeedKillStr = 2
suicide_act(mob/user)
viewers(user) << "\red <b>[user] is huffing the [src.name]! It looks like \he's trying to commit suicide.</b>"
return (TOXLOSS)
/obj/item/weapon/pestspray // -- Skie
desc = "It's some pest eliminator spray! <I>Do not inhale!</I>"
icon = 'icons/obj/hydroponics.dmi'
name = "pest-spray"
icon_state = "pestspray"
item_state = "spray"
flags = TABLEPASS | OPENCONTAINER | FPRINT | USEDELAY
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) << "\red <b>[user] is huffing the [src.name]! It looks like \he's trying to commit suicide.</b>"
return (TOXLOSS)
/obj/item/weapon/minihoe // -- Numbers
name = "mini hoe"
desc = "It's used for removing weeds or scratching your back."
icon = 'icons/obj/weapons.dmi'
icon_state = "hoe"
item_state = "hoe"
flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY
force = 5.0
throwforce = 7.0
w_class = 2.0
m_amt = 50
attack_verb = list("slashed", "sliced", "cut", "clawed")
// *************************************
// Weedkiller defines for hydroponics
// *************************************
/obj/item/weedkiller
name = "bottle of weedkiller"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
var/toxicity = 0
var/WeedKillStr = 0
/obj/item/weedkiller/triclopyr
name = "bottle of glyphosate"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
toxicity = 4
WeedKillStr = 2
/obj/item/weedkiller/lindane
name = "bottle of triclopyr"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle18"
flags = FPRINT | TABLEPASS
toxicity = 6
WeedKillStr = 4
/obj/item/weedkiller/D24
name = "bottle of 2,4-D"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
flags = FPRINT | TABLEPASS
toxicity = 8
WeedKillStr = 7
// *************************************
// Nutrient defines for hydroponics
// *************************************
/obj/item/nutrient
name = "bottle of nutrient"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
w_class = 1.0
var/mutmod = 0
var/yieldmod = 0
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/nutrient/ez
name = "bottle of E-Z-Nutrient"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
flags = FPRINT | TABLEPASS
mutmod = 1
yieldmod = 1
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/nutrient/l4z
name = "bottle of Left 4 Zed"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle18"
flags = FPRINT | TABLEPASS
mutmod = 2
yieldmod = 0
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
/obj/item/nutrient/rh
name = "bottle of Robust Harvest"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle15"
flags = FPRINT | TABLEPASS
mutmod = 0
yieldmod = 2
New()
src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5)
del(src)
+8 -4
View File
@@ -138,12 +138,14 @@
#include "code\datums\diseases\advance\symptoms\damage_converter.dm"
#include "code\datums\diseases\advance\symptoms\dizzy.dm"
#include "code\datums\diseases\advance\symptoms\fever.dm"
#include "code\datums\diseases\advance\symptoms\flesh_eating.dm"
#include "code\datums\diseases\advance\symptoms\hallucigen.dm"
#include "code\datums\diseases\advance\symptoms\headache.dm"
#include "code\datums\diseases\advance\symptoms\heal.dm"
#include "code\datums\diseases\advance\symptoms\itching.dm"
#include "code\datums\diseases\advance\symptoms\shivering.dm"
#include "code\datums\diseases\advance\symptoms\sneeze.dm"
#include "code\datums\diseases\advance\symptoms\stimulant.dm"
#include "code\datums\diseases\advance\symptoms\symptoms.dm"
#include "code\datums\diseases\advance\symptoms\voice_change.dm"
#include "code\datums\diseases\advance\symptoms\vomit.dm"
@@ -180,7 +182,6 @@
#include "code\datums\wires\robot.dm"
#include "code\datums\wires\wires.dm"
#include "code\defines\obj.dm"
#include "code\defines\obj\hydro.dm"
#include "code\defines\obj\weapon.dm"
#include "code\defines\procs\AStar.dm"
#include "code\defines\procs\captain_announce.dm"
@@ -282,7 +283,6 @@
#include "code\game\machinery\flasher.dm"
#include "code\game\machinery\Freezer.dm"
#include "code\game\machinery\hologram.dm"
#include "code\game\machinery\hydroponics.dm"
#include "code\game\machinery\igniter.dm"
#include "code\game\machinery\lightswitch.dm"
#include "code\game\machinery\machinery.dm"
@@ -502,7 +502,6 @@
#include "code\game\objects\items\weapons\flamethrower.dm"
#include "code\game\objects\items\weapons\gift_wrappaper.dm"
#include "code\game\objects\items\weapons\handcuffs.dm"
#include "code\game\objects\items\weapons\hydroponics.dm"
#include "code\game\objects\items\weapons\kitchen.dm"
#include "code\game\objects\items\weapons\manuals.dm"
#include "code\game\objects\items\weapons\mop.dm"
@@ -777,6 +776,12 @@
#include "code\modules\flufftext\Hallucination.dm"
#include "code\modules\flufftext\TextFilters.dm"
#include "code\modules\food\recipes_microwave.dm"
#include "code\modules\hydroponics\grown.dm"
#include "code\modules\hydroponics\growninedible.dm"
#include "code\modules\hydroponics\hydroitemcode.dm"
#include "code\modules\hydroponics\hydroitemdefines.dm"
#include "code\modules\hydroponics\hydroponics.dm"
#include "code\modules\hydroponics\seeds.dm"
#include "code\modules\library\lib_items.dm"
#include "code\modules\library\lib_machines.dm"
#include "code\modules\library\lib_readme.dm"
@@ -1067,7 +1072,6 @@
#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm"
#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm"
#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm"
#include "code\modules\reagents\reagent_containers\food\snacks\grown.dm"
#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm"
#include "code\modules\reagents\reagent_containers\glass\bottle.dm"
#include "code\modules\reagents\reagent_containers\glass\bottle\robot.dm"