Botany Rework

This commit is contained in:
Fox-McCloud
2017-01-21 18:28:03 -05:00
parent 96332e7c3d
commit ea76990b7a
127 changed files with 6356 additions and 7550 deletions
+10
View File
@@ -711,6 +711,16 @@ atom/proc/create_reagents(max_vol)
reagents = new/datum/reagents(max_vol)
reagents.my_atom = src
/proc/get_random_reagent_id() // Returns a random reagent ID minus blacklisted reagents
var/static/list/random_reagents = list()
if(!random_reagents.len)
for(var/thing in subtypesof(/datum/reagent))
var/datum/reagent/R = thing
if(initial(R.can_synth))
random_reagents += initial(R.id)
var/picked_reagent = pick(random_reagents)
return picked_reagent
/datum/reagents/proc/get_reagent_from_id(id)
var/datum/reagent/result = null
for(var/datum/reagent/R in reagent_list)
@@ -271,7 +271,7 @@
/datum/reagent/sacid/reaction_obj(obj/O, volume)
if((istype(O,/obj/item) || istype(O,/obj/effect/glowshroom)) && prob(40))
if(!O.unacidable)
var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc)
var/obj/effect/decal/cleanable/molten_object/I = new/obj/effect/decal/cleanable/molten_object(O.loc)
I.desc = "Looks like this was \an [O] some time ago."
O.visible_message("<span class='warning'>[O] melts.</span>")
qdel(O)
@@ -617,7 +617,7 @@
/datum/reagent/facid/reaction_obj(obj/O, volume)
if((istype(O, /obj/item) || istype(O, /obj/effect/glowshroom)))
if(!O.unacidable)
var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc)
var/obj/effect/decal/cleanable/molten_object/I = new/obj/effect/decal/cleanable/molten_object(O.loc)
I.desc = "Looks like this was \an [O] some time ago."
O.visible_message("<span class='warning'>[O] melts.</span>")
qdel(O)
@@ -925,10 +925,9 @@
alien_weeds.healthcheck()
else if(istype(O, /obj/effect/glowshroom)) //even a small amount is enough to kill it
qdel(O)
else if(istype(O,/obj/effect/plant))
if(prob(50))
qdel(O) //Kills kudzu too.
// Damage that is done to growing plants is separately at code/game/machinery/hydroponics at obj/item/hydroponics
else if(istype(O,/obj/structure/spacevine))
var/obj/structure/spacevine/SV = O
SV.on_chem_effect(src)
/datum/reagent/atrazine/reaction_mob(mob/living/M, method=TOUCH, volume)
if(iscarbon(M))
@@ -38,7 +38,7 @@
/obj/machinery/sleeper,
/obj/machinery/smartfridge/,
/obj/machinery/biogenerator,
/obj/machinery/portable_atmospherics/hydroponics,
/obj/machinery/hydroponics,
/obj/machinery/constructable_frame)
/obj/item/weapon/reagent_containers/glass/New()
@@ -19,7 +19,7 @@
/obj/item/weapon/reagent_containers/spray/afterattack(atom/A, mob/user)
if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/rack) || istype(A, /obj/structure/closet) \
|| istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/portable_atmospherics/hydroponics))
|| istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/hydroponics))
return
if(istype(A, /obj/effect/proc_holder/spell))
@@ -200,20 +200,8 @@
/obj/item/weapon/reagent_containers/spray/plantbgone // -- Skie
name = "Plant-B-Gone"
desc = "Kills those pesky weeds!"
icon = 'icons/obj/hydroponics.dmi'
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "plantbgone"
item_state = "plantbgone"
volume = 100
list_reagents = list("atrazine" = 100)
/obj/item/weapon/reagent_containers/spray/plantbgone/afterattack(atom/A, mob/user, proximity)
if(!proximity) return
if(istype(A, /obj/machinery/portable_atmospherics/hydroponics)) // We are targeting hydrotray
return
if(istype(A, /obj/effect/blob)) // blob damage in blob code
return
..()
list_reagents = list("atrazine" = 100)