From 040d885a9a2c779b2ff1635e7b4f3f1a2069df9d Mon Sep 17 00:00:00 2001 From: "d_h2005@yahoo.com" Date: Thu, 21 Jun 2012 03:16:29 +0000 Subject: [PATCH] -Modified effect of blue-space tomatoes somewhat. If they're not strong enough to do anything, they just splat. -Both Ambrosia forms have had their reagent contents modified to prevent going over the 50-unit cap at high potencies. Fixes issue 469. Ambrosia Deus now contains space drugs instead of poison, as it ended up being more deadly in practice than I intended. -Drinking milk removes capsaicin from your body~ -Frost oil should hurt less upon consumption. -Liquid plasma can be converted back into solid plasma sheets, by mixing 20 plasma, 5 iron, and 5 frost oil. -Pumpkins can be carved with knives now. -Added additional checks to prevent hydro tray stats from going out of bounds when injected with certain chemicals. -Added effects for holy water on hydro trays. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3883 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj/hydro.dm | 56 +++++++++++-------- code/game/machinery/hydroponics.dm | 43 ++++++-------- .../game/objects/items/weapons/hydroponics.dm | 2 +- code/modules/chemical/Chemistry-Reagents.dm | 6 +- code/modules/chemical/Chemistry-Recipes.dm | 11 ++++ html/changelog.html | 9 ++- 6 files changed, 76 insertions(+), 51 deletions(-) diff --git a/code/defines/obj/hydro.dm b/code/defines/obj/hydro.dm index 48a3e495228..8a47e859156 100644 --- a/code/defines/obj/hydro.dm +++ b/code/defines/obj/hydro.dm @@ -1038,7 +1038,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/corn seed = "/obj/item/seeds/cornseed" - name = "cob of corn" + name = "ear of corn" desc = "Needs some butter!" icon_state = "corn" potency = 40 @@ -1217,10 +1217,10 @@ New() ..() reagents.add_reagent("nutriment", 1) - reagents.add_reagent("space_drugs", 3+round(potency / 5, 1)) - reagents.add_reagent("kelotane", 3+round(potency / 5, 1)) - reagents.add_reagent("bicaridine", 3+round(potency / 5, 1)) - reagents.add_reagent("toxin", 3+round(potency / 5, 1)) + reagents.add_reagent("space_drugs", 1+round(potency / 8, 1)) + reagents.add_reagent("kelotane", 1+round(potency / 8, 1)) + reagents.add_reagent("bicaridine", 1+round(potency / 10, 1)) + reagents.add_reagent("toxin", 1+round(potency / 10, 1)) bitesize = 1+round(reagents.total_volume / 2, 1) /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus @@ -1232,11 +1232,10 @@ New() ..() reagents.add_reagent("nutriment", 1) - reagents.add_reagent("bicaridine", 3+round(potency / 5, 1)) - reagents.add_reagent("synaptizine", 3+round(potency / 5, 1)) - reagents.add_reagent("hyperzine", 3+round(potency / 8, 1)) - reagents.add_reagent("kelotane", 3+round(potency / 8, 1)) - reagents.add_reagent("toxin", 1+round(potency / 8, 1)) + reagents.add_reagent("bicaridine", 1+round(potency / 8, 1)) + reagents.add_reagent("synaptizine", 1+round(potency / 8, 1)) + reagents.add_reagent("hyperzine", 1+round(potency / 10, 1)) + reagents.add_reagent("space_drugs", 1+round(potency / 10, 1)) bitesize = 1+round(reagents.total_volume / 2, 1) /obj/item/weapon/reagent_containers/food/snacks/grown/apple @@ -2031,7 +2030,7 @@ name = "blue-space tomato" desc = "So lubricated, you might slip through space-time." icon_state = "bluespacetomato" - potency = 10 + potency = 20 origin_tech = "bluespace=3" New() ..() @@ -2045,6 +2044,12 @@ 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("The [src.name] has been squashed.","You hear a smack.") + 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 @@ -2060,18 +2065,25 @@ turfs += pick(/turf in turfs_to_pick_from) var/turf/picked = pick(turfs) if(!isturf(picked)) return - switch(rand(1,2))//Allows for easy addition of more bluespace weirdness. + switch(rand(1,2))//Decides randomly to teleport the thrower or the throwee. if(1) // Teleports the person who threw the tomato. - new/obj/effect/effect/sparks(M.loc) - new/obj/effect/decal/ash(M.loc) //Leaves a pile of ash behind for dramatic effect. - M.loc = picked - new/obj/effect/effect/sparks(M.loc) //Two set of sparks, one before the teleport and one after. + 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)) - new/obj/effect/effect/sparks(A.loc) - new/obj/effect/decal/ash(A.loc) - A.loc = picked - new/obj/effect/effect/sparks(A.loc) - src.visible_message("The [src.name] has been squashed, causing a distortion in space-time.","You hear a smack.") + 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("The [src.name] has been squashed, causing a distortion in space-time.","You hear a splat and a crackle.") del(src) return \ No newline at end of file diff --git a/code/game/machinery/hydroponics.dm b/code/game/machinery/hydroponics.dm index ee872939f13..d775a327091 100644 --- a/code/game/machinery/hydroponics.dm +++ b/code/game/machinery/hydroponics.dm @@ -487,29 +487,25 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) else user << "Nothing happens..." // Antitoxin binds shit pretty well. So the tox goes significantly down - if(S.reagents.has_reagent("anti_toxin", 1)) src.toxic -= round(S.reagents.get_reagent_amount("anti_toxin")*2) // NIGGA, YOU JUST WENT ON FULL RETARD. - if(S.reagents.has_reagent("toxin", 1)) src.toxic += round(S.reagents.get_reagent_amount("toxin")*2) - // Milk is good for humans, but bad for plants. The sugars canot be used by ploants, and the milk fat fuck up growth. Not shrooms though. I can't deal with this now... + // Milk is good for humans, but bad for plants. The sugars canot be used by plants, and the milk fat fucks up growth. Not shrooms though. I can't deal with this now... if(S.reagents.has_reagent("milk", 1)) src.nutrilevel += round(S.reagents.get_reagent_amount("milk")*0.1) src.waterlevel += round(S.reagents.get_reagent_amount("milk")*0.9) // Beer is a chemical composition of alcohol and various other things. It's a shitty nutrient but hey, it's still one. Also alcohol is bad, mmmkay? - if(S.reagents.has_reagent("beer", 1)) src.health -= round(S.reagents.get_reagent_amount("beer")*0.05) src.nutrilevel += round(S.reagents.get_reagent_amount("beer")*0.25) src.waterlevel += round(S.reagents.get_reagent_amount("beer")*0.7) // You're an idiot of thinking that one of the most corrosive and deadly gasses would be beneficial - if(S.reagents.has_reagent("fluorine", 1)) src.health -= round(S.reagents.get_reagent_amount("fluorine")*2) src.toxic += round(S.reagents.get_reagent_amount("flourine")*2.5) @@ -517,15 +513,13 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) src.weedlevel -= rand(1,4) // You're an idiot of thinking that one of the most corrosive and deadly gasses would be beneficial - if(S.reagents.has_reagent("chlorine", 1)) src.health -= round(S.reagents.get_reagent_amount("chlorine")*1) src.toxic += round(S.reagents.get_reagent_amount("chlorine")*1.5) src.waterlevel -= round(S.reagents.get_reagent_amount("chlorine")*0.5) src.weedlevel -= rand(1,3) - // White Phosphorous + water -> phosphoric acid. That's not a good thing really. Phosphoric salts are beneficial though. And even if the plan suffers, in the long run the tray gets some nutrients. The benefit isn't worth that much. - + // White Phosphorous + water -> phosphoric acid. That's not a good thing really. Phosphoric salts are beneficial though. And even if the plant suffers, in the long run the tray gets some nutrients. The benefit isn't worth that much. if(S.reagents.has_reagent("phosphorus", 1)) src.health -= round(S.reagents.get_reagent_amount("phosphorus")*0.75) src.nutrilevel += round(S.reagents.get_reagent_amount("phosphorus")*0.1) @@ -533,7 +527,6 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) src.weedlevel -= rand(1,2) // Plants should not have sugar, they can't use it and it prevents them getting water/ nutients, it is good for mold though... - if(S.reagents.has_reagent("sugar", 1)) src.weedlevel += rand(1,2) src.pestlevel += rand(1,2) @@ -543,6 +536,11 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) if(S.reagents.has_reagent("water", 1)) src.waterlevel += round(S.reagents.get_reagent_amount("water")*1) + // Holy water. Mostly the same as water, it also heals the plant a little with the power of the spirits~ + if(S.reagents.has_reagent("holywater", 1)) + src.waterlevel += round(S.reagents.get_reagent_amount("holywater")*1) + src.health += round(S.reagents.get_reagent_amount("holywater")*0.1) + // A variety of nutrients are dissolved in club soda, without sugar. These nutrients include carbon, oxygen, hydrogen, phosphorous, potassium, sulfur and sodium, all of which are needed for healthy plant growth. if(S.reagents.has_reagent("sodawater", 1)) src.waterlevel += round(S.reagents.get_reagent_amount("sodawater")*1) @@ -550,53 +548,45 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) src.nutrilevel += round(S.reagents.get_reagent_amount("sodawater")*0.1) // Man, you guys are retards - if(S.reagents.has_reagent("acid", 1)) src.health -= round(S.reagents.get_reagent_amount("acid")*1) src.toxic += round(S.reagents.get_reagent_amount("acid")*1.5) src.weedlevel -= rand(1,2) // SERIOUSLY - if(S.reagents.has_reagent("pacid", 1)) src.health -= round(S.reagents.get_reagent_amount("pacid")*2) src.toxic += round(S.reagents.get_reagent_amount("pacid")*3) src.weedlevel -= rand(1,4) // Plant-B-Gone is just as bad - if(S.reagents.has_reagent("plantbgone", 1)) src.health -= round(S.reagents.get_reagent_amount("plantbgone")*2) src.toxic -= round(S.reagents.get_reagent_amount("plantbgone")*3) src.weedlevel -= rand(4,8) // Healing - if(S.reagents.has_reagent("cryoxadone", 1)) src.health += round(S.reagents.get_reagent_amount("cryoxadone")*3) src.toxic -= round(S.reagents.get_reagent_amount("cryoxadone")*3) // FINALLY IMPLEMENTED, Ammonia is bad ass. - if(S.reagents.has_reagent("ammonia", 1)) src.health += round(S.reagents.get_reagent_amount("ammonia")*0.5) src.nutrilevel += round(S.reagents.get_reagent_amount("ammonia")*1) - // FINALLY IMPLEMENTED, This is more bad ass, and pest get hurt by the crossive nature of it, not the plant - + // FINALLY IMPLEMENTED, This is more bad ass, and pests get hurt by the corrosive nature of it, not the plant. if(S.reagents.has_reagent("diethylamine", 1)) src.health += round(S.reagents.get_reagent_amount("diethylamine")*1) src.nutrilevel += round(S.reagents.get_reagent_amount("diethylamine")*2) src.pestlevel -= rand(1,2) // Compost, effectively - if(S.reagents.has_reagent("nutriment", 1)) src.health += round(S.reagents.get_reagent_amount("nutriment")*0.5) src.nutrilevel += round(S.reagents.get_reagent_amount("nutriment")*1) // Poor man's mutagen. - if(S.reagents.has_reagent("radium", 1)) src.health -= round(S.reagents.get_reagent_amount("radium")*1.5) src.toxic += round(S.reagents.get_reagent_amount("radium")*2) @@ -612,7 +602,6 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) else user << "Nothing happens..." // The best stuff there is. For testing/debugging. - if(S.reagents.has_reagent("adminordrazine", 1)) src.waterlevel += round(S.reagents.get_reagent_amount("adminordrazine")*1) src.health += round(S.reagents.get_reagent_amount("adminordrazine")*1) @@ -627,18 +616,22 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) else user << "Nothing happens..." S.reagents.clear_reagents() - if (src.weedlevel < 0 ) // Make sure it won't go overoboard + if (src.weedlevel < 0 ) // The following checks are to prevent the stats from going out of bounds. src.weedlevel = 0 - if (src.health < 0 ) // Make sure it won't go overoboard + if (src.health < 0 ) src.health = 0 - if (src.waterlevel > 100 ) // Make sure it won't go overoboard + if (src.waterlevel > 100 ) src.waterlevel = 100 - if (src.waterlevel < 0 ) // Make sure it won't go overoboard + if (src.waterlevel < 0 ) src.waterlevel = 0 - if (src.toxic < 0 ) // Make sure it won't go overoboard + if (src.toxic < 0 ) src.toxic = 0 - if (src.toxic > 100 ) // Make sure it won't go overoboard + if (src.toxic > 100 ) src.toxic = 100 + if (src.pestlevel < 0 ) + src.pestlevel = 0 + if (src.nutrilevel > 10 ) + src.nutrilevel = 10 else user << "You can't get any extract out of this plant." else diff --git a/code/game/objects/items/weapons/hydroponics.dm b/code/game/objects/items/weapons/hydroponics.dm index 81e95cd4f8f..9767f4f868b 100644 --- a/code/game/objects/items/weapons/hydroponics.dm +++ b/code/game/objects/items/weapons/hydroponics.dm @@ -157,7 +157,7 @@ Craftables (Cob pipes, potato batteries, pumpkinheads) /obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/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) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/melee/energy)) + if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/melee/energy)) user.show_message("You carve a face into [src]!", 1) new /obj/item/clothing/head/helmet/hardhat/pumpkinhead (user.loc) del(src) diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm index 438d6ad5c3f..d50bc3b4ab7 100644 --- a/code/modules/chemical/Chemistry-Reagents.dm +++ b/code/modules/chemical/Chemistry-Reagents.dm @@ -1806,8 +1806,8 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom M:bodytemperature -= 5 - if(prob(40)) - M.take_organ_damage(0, 1) + //if(prob(40)) + // M.take_organ_damage(0, 1) if(prob(80) && istype(M, /mob/living/carbon/metroid)) M.adjustFireLoss(rand(5,20)) M << "\red You feel a terrible chill inside your body!" @@ -2219,6 +2219,8 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom if(M:getBruteLoss() && prob(20)) M:heal_organ_damage(1,0) + if(holder.has_reagent("capsaicin")) + holder.remove_reagent(" capsaicin", 2) M:nutrition++ ..() return diff --git a/code/modules/chemical/Chemistry-Recipes.dm b/code/modules/chemical/Chemistry-Recipes.dm index d40da83c83b..ae3c264a1c3 100644 --- a/code/modules/chemical/Chemistry-Recipes.dm +++ b/code/modules/chemical/Chemistry-Recipes.dm @@ -424,6 +424,17 @@ datum required_reagents = list("sodiumchloride" = 1, "ethanol" = 1, "radium" = 1) result_amount = 3 + plasmasolidification + name = "Solid Plasma" + id = "solidplasma" + result = null + required_reagents = list("iron" = 5, "frostoil" = 5, "plasma" = 20) + result_amount = 1 + on_reaction(var/datum/reagents/holder, var/created_volume) + var/location = get_turf(holder.my_atom) + new /obj/item/stack/sheet/plasma(location) + return + /////////////////////////////////////////////////////////////////////////////////// // foam and foam precursor diff --git a/html/changelog.html b/html/changelog.html index ed4e8e2e68e..11f11dd2ea3 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -47,11 +47,18 @@ should be listed in the changelog upon commit tho. Thanks. -->
-

June 22nd, 2012

+

June 20th, 2012

Nodrak updated:

Cheridan updated:

+