mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
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:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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++)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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"
|
||||
|
||||
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
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.
Reference in New Issue
Block a user