Added hydroponics crates, graphics and crates themselves into the code.

Added Weed-B-Gone into crates at hydro, also Weed-B-Gone functionality. 
Changed map accordingly. 
Added weedbgone as a reagent and a recipe for it.
Added new spray sound effects and updated/changed those that were used before for fire extinguisher, refueling/refilling, using cleaner and using weed-b-gone.
Removed thumbs.db added by TLE as I saw it unnecessary.
Added buzzing sound to be used later with Fly Amanitas.
Changed some fertilizer graphics in chemical.dmi to be prettier.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@42 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
Skiedrake
2010-09-01 17:54:19 +00:00
parent 7509478125
commit 456a9d6da6
22 changed files with 3445 additions and 3300 deletions
+31
View File
@@ -598,6 +598,37 @@ datum
C:head.clean_blood()
weedbgone
name = "Weed-B-Gone"
id = "weedbgone"
description = "A harmful toxic mixture to kill plantlife. Do not ingest!"
reagent_state = LIQUID
/* Don't know if this is necessary.
on_mob_life(var/mob/living/carbon/M)
if(!M) M = holder.my_atom
M:toxloss += 3.0
..()
return
*/
reaction_obj(var/obj/O, var/volume)
if(istype(O,/obj/plant/vine/))
O:life -= 25 // Kills vines nicely // Not tested as vines don't work in R41
else if(istype(O,/obj/alien/weeds/))
O:health -= 25 // Kills alien weeds pretty fast
O:healthcheck()
// Damage that is done to growing plants is separately
// at code/game/machinery/hydroponics at obj/item/hydroponics
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
src = null
if(istype(M, /mob/living/carbon))
if(!M.wear_mask) // If not wearing a mask
M:toxloss += 2 // 4 toxic damage per application, doubled for some reason
//if(prob(10))
//M.make_dizzy(1) doesn't seem to do anything
space_cola
name = "Cola"
id = "cola"
+8 -1
View File
@@ -387,4 +387,11 @@ datum
id = "cleaner"
result = "cleaner"
required_reagents = list("ammonia" = 1, "water" = 1)
result_amount = 1
result_amount = 1
weedbgone
name = "Weed-B-Gone"
id = "weedbgone"
result = "weedbgone"
required_reagents = list("toxin" = 1, "water" = 4)
result_amount = 5
+6
View File
@@ -134,3 +134,9 @@
layer = 3
icon = 'old_or_unused.dmi'
icon_state = "cobweb2"
// Used for spray that you spray at walls, tables, hydrovats etc
/obj/decal/spraystill
density = 0
anchored = 1
layer = 50
+1 -1
View File
@@ -172,4 +172,4 @@
name = "Donk-Pockets"
desc = "Remember to fully heat prior to serving. Product will cool if not eaten within seven minutes."
icon_state = "donk_kit"
item_state = "syringe_kit"
item_state = "syringe_kit"
+13 -1
View File
@@ -261,7 +261,19 @@
name = "space cleaner"
icon_state = "cleaner"
item_state = "cleaner"
flags = ONBELT|TABLEPASS|OPENCONTAINER|FPRINT|USEDELAY|OPENCONTAINER
flags = ONBELT|TABLEPASS|OPENCONTAINER|FPRINT|USEDELAY
throwforce = 3
w_class = 2.0
throw_speed = 2
throw_range = 10
/obj/item/weapon/weedbgone
desc = "Weed-B-Gone! Kill those pesky weeds!"
icon = 'hydroponics.dmi'
name = "Weed-B-Gone"
icon_state = "weedbgone"
item_state = "weedbgone"
flags = ONBELT|TABLEPASS|OPENCONTAINER|FPRINT|USEDELAY
throwforce = 3
w_class = 2.0
throw_speed = 2
+1 -1
View File
@@ -40,7 +40,7 @@
if ((O.client && !( O.blinded )))
O << text("\red [src] has been scanned by [user] with the [W]")
else
if (!( istype(W, /obj/item/weapon/grab) ) || !(istype(W, /obj/item/weapon/cleaner)))
if (!( istype(W, /obj/item/weapon/grab) ) || !(istype(W, /obj/item/weapon/cleaner)) || !(istype(W, /obj/item/weapon/weedbgone)) )
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O << text("\red <B>[] has been hit by [] with []</B>", src, user, W)
+9 -1
View File
@@ -10,7 +10,7 @@
var/mutmod = 1 //Modifier to mutation chance
var/age = 0 // Current age
var/dead = 0 // Is it dead?
var/health = 0 // It's health.
var/health = 0 // Its health.
var/lastproduce = 0 // Last time it was harvested
var/lastcycle = 0 //Used for timing of cycles.
var/cycledelay = 200 // About 10 seconds / cycle
@@ -167,6 +167,14 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
user << "--<B>Plant Potency:</B> [src.myseed.potency]"
else
user << "<B>No plant found.</B>"
else if (istype(O, /obj/item/weapon/weedbgone))
if(src.planted && src.myseed)
src.health -= rand(5,50)
src.visible_message("\red <B>\The [src] has been sprayed with \the [O][(user ? " by [user]." : ".")]")
playsound(src.loc, 'spray3.ogg', 50, 1, -6)
else
user << "\red Nothing is planted in the hydrotray!"
return
+2 -2
View File
@@ -83,7 +83,7 @@
var/obj/o = target
o.reagents.trans_to(src, 50)
user << "\blue Extinguisher refilled"
playsound(src.loc, 'zzzt.ogg', 50, 1, -6)
playsound(src.loc, 'refill.ogg', 50, 1, -6)
return
if (!safety)
@@ -95,7 +95,7 @@
src.last_use = world.time
playsound(src.loc, 'spray.ogg', 75, 1, -3)
playsound(src.loc, 'extinguish.ogg', 75, 1, -3)
var/direction = get_dir(src,target)
@@ -0,0 +1,60 @@
/*
CONTAINS:
Weed-B-Gone
Nettle
Deathnettle
*/
/obj/item/weapon/weedbgone/New()
var/datum/reagents/R = new/datum/reagents(100) // 100 units of solution
reagents = R
R.my_atom = src
R.add_reagent("weedbgone", 100)
/obj/item/weapon/weedbgone/attack(mob/living/carbon/human/M as mob, mob/user as mob)
return
/obj/item/weapon/weedbgone/afterattack(atom/A as mob|obj, mob/user as mob)
if (src.reagents.total_volume < 1)
user << "\blue Add more Weed-B-Gone mixture!"
return
else if (istype(A, /obj/machinery/hydroponics)) // We are targeting hydrotray
/* Gotta figure out how to make this work, chemical sprite doesn't appear.
var/obj/decal/spraystill/D = new /obj/decal/spraystill( src ) // new decal at tray location
D.name = "chemicals"
D.icon = 'chemical.dmi'
D.icon_state = "weedpuff"
spawn(0) // spawn on top of tray
sleep(3)
del(D)
*/
return
else
var/obj/decal/D = new/obj/decal/(get_turf(src)) // Targeting elsewhere
D.name = "chemicals"
D.icon = 'chemical.dmi'
D.icon_state = "weedpuff"
D.create_reagents(5)
src.reagents.trans_to(D, 5) // 5 units of solution used at a time => 20 uses
playsound(src.loc, 'spray3.ogg', 50, 1, -6)
spawn(0)
for(var/i=0, i<2, i++) // Max range = 2 tiles
step_towards(D,A) // Moves towards target as normally (not thru walls)
D.reagents.reaction(get_turf(D))
for(var/atom/T in get_turf(D))
D.reagents.reaction(T)
sleep(4)
del(D)
return
/obj/item/weapon/weedbgone/examine()
set src in usr
usr << text("\icon[] [] units of Weed-B-Gone left!", src, src.reagents.total_volume)
..()
return
@@ -24,7 +24,7 @@ MOP
D.icon_state = "chempuff"
D.create_reagents(10)
src.reagents.trans_to(D, 10)
playsound(src.loc, 'zzzt.ogg', 50, 1, -6)
playsound(src.loc, 'spray2.ogg', 50, 1, -6)
spawn(0)
for(var/i=0, i<3, i++)
+1 -1
View File
@@ -142,7 +142,7 @@ WELDINGTOOOL
if (istype(O, /obj/reagent_dispensers/fueltank) && get_dist(src,O) <= 1)
O.reagents.trans_to(src, 20)
user << "\blue Welder refueled"
playsound(src.loc, 'zzzt.ogg', 50, 1, -6)
playsound(src.loc, 'refill.ogg', 50, 1, -6)
else if (src.welding)
use_fuel(1)
+15
View File
@@ -109,6 +109,21 @@
var/broken = 0
locked = 1
/obj/crate/hydroponics
name = "Gardening crate"
desc = "All you need to destroy those pesky weeds and pests."
icon = 'storage.dmi'
icon_state = "hydrocrate"
openicon = "hydrocrateopen"
closedicon = "hydrocrate"
density = 1
New()
..()
new /obj/item/weapon/weedbgone(src)
new /obj/item/weapon/weedbgone(src)
new /obj/item/weapon/weedbgone(src)
new /obj/item/weapon/weedbgone(src)
// Four bottles should be enough for everybody.
/obj/crate/New()
..()
+5
View File
@@ -81,6 +81,7 @@
#define FILE_DIR "code/modules/mob/living/carbon/monkey"
#define FILE_DIR "code/modules/mob/living/silicon"
#define FILE_DIR "code/modules/mob/living/silicon/ai"
#define FILE_DIR "code/modules/mob/living/silicon/decoy"
#define FILE_DIR "code/modules/mob/living/silicon/hivebot"
#define FILE_DIR "code/modules/mob/living/silicon/robot"
#define FILE_DIR "code/modules/mob/new_player"
@@ -450,6 +451,7 @@
#include "code\game\objects\items\weapons\glass.dm"
#include "code\game\objects\items\weapons\grenades.dm"
#include "code\game\objects\items\weapons\guns_ammo.dm"
#include "code\game\objects\items\weapons\hydroponics.dm"
#include "code\game\objects\items\weapons\implants.dm"
#include "code\game\objects\items\weapons\kitchen.dm"
#include "code\game\objects\items\weapons\medical.dm"
@@ -580,6 +582,9 @@
#include "code\modules\mob\living\silicon\ai\logout.dm"
#include "code\modules\mob\living\silicon\ai\move.dm"
#include "code\modules\mob\living\silicon\ai\say.dm"
#include "code\modules\mob\living\silicon\decoy\death.dm"
#include "code\modules\mob\living\silicon\decoy\decoy.dm"
#include "code\modules\mob\living\silicon\decoy\life.dm"
#include "code\modules\mob\living\silicon\hivebot\death.dm"
#include "code\modules\mob\living\silicon\hivebot\emote.dm"
#include "code\modules\mob\living\silicon\hivebot\examine.dm"
BIN
View File
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

+3292 -3291
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.