Hydroponics bug fix: Plants were almost always mutating into other plants.

Plant-B-Gone is now effective against the blob.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@79 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
Skiedrake
2010-09-08 01:53:37 +00:00
parent eb5394d3e7
commit 505665db80
4 changed files with 41 additions and 29 deletions
+2 -1
View File
@@ -740,7 +740,7 @@ ASC: Aux. Solar Control<BR>
/obj/item/weapon/paper/hydroponics
name = "paper- 'Greetings from Billy Bob'"
info = "<B>Hey fellow botanist!</B><BR>\n<BR>\nI didn't trust the station folk so I left<BR>\na couple of weeks ago. But here's some<BR>\ninstructions on how to operate things here.<BR>\nYou can grow plants and each iteration they become<BR>\nstronger, more potent and have better yield, if you<BR>\nknow which ones to pick. Use your botanist's analyzer<BR>\nfor that. You can turn harvested plants into seeds<BR>\nat the seed extractor, and replant them for better stuff!<BR>\nSometimes if the weed level gets high in the tray<BR>\nmutations into different mushroom or weed species have<BR>\nbeen witnessed. On the rare occassion even weeds mutate!<BR>\n<BR>\nEither way, have fun!<BR>\n<BR>\nBest regards,<BR>\nBilly Bob Johnson."
info = "<B>Hey fellow botanist!</B><BR>\n<BR>\nI didn't trust the station folk so I left<BR>\na couple of weeks ago. But here's some<BR>\ninstructions on how to operate things here.<BR>\nYou can grow plants and each iteration they become<BR>\nstronger, more potent and have better yield, if you<BR>\nknow which ones to pick. Use your botanist's analyzer<BR>\nfor that. You can turn harvested plants into seeds<BR>\nat the seed extractor, and replant them for better stuff!<BR>\nSometimes if the weed level gets high in the tray<BR>\nmutations into different mushroom or weed species have<BR>\nbeen witnessed. On the rare occassion even weeds mutate!<BR>\n<BR>\nEither way, have fun!<BR>\n<BR>\nBest regards,<BR>\nBilly Bob Johnson.<BR>\n<BR>\nPS.<BR>\nHere's a few tips:<BR>\nIn nettles, potency = damage<BR>\nIn amanitas = potency deadliness + side effects<BR>\nIn Liberty caps, potency = drug power + effects<BR>\nIn chilis, potency = heat<BR>\n<B>Nutrients keep mushrooms alive!</B><BR>\n<B>Water keeps weeds such as nettles alive!</B><BR>\nAll other plants need both."
/obj/item/weapon/paper/flag
icon_state = "flag_neutral"
@@ -1438,6 +1438,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
w_class = 2.0
throw_speed = 2
throw_range = 10
var/empty = 0
/obj/item/weapon/weedspray // -- Skie
desc = "Toxic mixture in spray form to kill small weeds."
+6
View File
@@ -124,6 +124,12 @@
damage = 15
playsound(src.loc, 'Welder.ogg', 100, 1)
else if(istype(W, /obj/item/weapon/plantbgone))
var/obj/item/weapon/plantbgone/PBG = W
if (!PBG.empty)
damage = rand(10,20)
playsound(src.loc, 'spray3.ogg', 50, 1, -6)
src.health -= damage
src.update()
+28 -27
View File
@@ -57,7 +57,7 @@ obj/machinery/hydroponics/process()
if(src.toxic >= 40 && src.toxic < 80)
src.health -= 1
src.toxic -= rand(1,10)
if(src.toxic >= 80)
if(src.toxic >= 80) // I don't think it ever gets here tbh unless above is commented out
src.health -= 3
src.toxic -= rand(1,10)
@@ -97,7 +97,7 @@ obj/machinery/hydroponics/process()
src.mutate()
else if(prob(30))
src.hardmutate()
else
else if(prob(20))
src.mutatespecie() // Just testing this here until mutagens are in place
m_count++;
if(src.yieldmod > 0 && src.myseed.yield != -1) // Unharvestable shouldn't be harvested
@@ -201,9 +201,9 @@ obj/machinery/hydroponics/proc/weedinvasion() // If a weed growth is sufficient,
spawn(5) // Wait a while
src.updateicon()
src.visible_message("\red[src] has been overtaken by \blue [src.myseed.plantname]!")
var/P = new /obj/decal/point(src)
spawn (20)
del(P)
//var/P = new /obj/decal/point(src) Doesn't work :(
//spawn (20)
//del(P)
return
@@ -317,26 +317,25 @@ obj/machinery/hydroponics/proc/mutatespecie() // Mutagent produced a new plant!
obj/machinery/hydroponics/proc/mutateweed() // If the weeds gets the mutagent instead. Mind you, this pretty much destroys the old plant
if ( src.weedlevel > 5 && src.myseed.plant_type == 1 )
//user << "Weeds have overtaken the spot! The weeds mutate!"
del(src.myseed)
switch(rand(100))
if(1 to 33) src.myseed = new /obj/item/seeds/libertymycelium
if(34 to 66) src.myseed = new /obj/item/seeds/angelmycelium
else src.myseed = new /obj/item/seeds/deathnettleseed
src.dead = 0
src.hardmutate()
src.planted = 1
src.age = 0
src.health = src.myseed.endurance
src.lastcycle = world.time
src.harvest = 0
src.weedlevel = 0 // Reset
del(src.myseed)
switch(rand(100))
if(1 to 33) src.myseed = new /obj/item/seeds/libertymycelium
if(34 to 66) src.myseed = new /obj/item/seeds/angelmycelium
else src.myseed = new /obj/item/seeds/deathnettleseed
spawn(5) // Wait a while
src.updateicon()
src.visible_message("\red The mutated weeds in [src] spawned a \blue [src.myseed.plantname]!")
src.dead = 0
src.hardmutate()
src.planted = 1
src.age = 0
src.health = src.myseed.endurance
src.lastcycle = world.time
src.harvest = 0
src.weedlevel = 0 // Reset
spawn(5) // Wait a while
src.updateicon()
src.visible_message("\red The mutated weeds in [src] spawned a \blue [src.myseed.plantname]!")
return
@@ -375,10 +374,12 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
src.waterlevel += b_amount
playsound(src.loc, 'slosh.ogg', 25, 1)
user << "You fill the tray with [b_amount] units of water."
// Toxicity dilutation code. The more water you put in, the lesser the toxin concentration.
// src.toxic -= round(b_amount/2)
// if (src.toxic < 0 ) // Make sure it won't go overoboard
// src.toxic = 0
// Toxicity dilutation code. The more water you put in, the lesser the toxin concentration.
src.toxic -= round(b_amount/4)
if (src.toxic < 0 ) // Make sure it won't go overoboard
src.toxic = 0
else if(src.waterlevel >= 100)
user << "\red The hydroponics tray is already full."
else
@@ -20,14 +20,18 @@ Deathnettle
/obj/item/weapon/plantbgone/afterattack(atom/A as mob|obj, mob/user as mob)
if (src.reagents.total_volume < 1)
src.empty = 1
user << "\blue Add more Plant-B-Gone mixture!"
return
else if (istype(A, /obj/item/weapon/storage/backpack ))
return
else if (istype(A, /obj/machinery/hydroponics)) // We are targeting hydrotray
return
else if (istype(A, /obj/blob)) // blob damage in blob code
return
else
var/obj/decal/D = new/obj/decal/(get_turf(src)) // Targeting elsewhere
if (locate (/obj/table, src.loc))