diff --git a/code/defines/obj/hydro.dm b/code/defines/obj/hydro.dm index 29573b13c1e..456ceddb6ec 100644 --- a/code/defines/obj/hydro.dm +++ b/code/defines/obj/hydro.dm @@ -162,7 +162,7 @@ /obj/item/seeds/bananaseed name = "pack of banana seeds" - desc = "They're seeds that grow into bannana trees. When grown, keep away from clown." + desc = "They're seeds that grow into banana trees. When grown, keep away from clown." icon_state = "seed-banana" mypath = "/obj/item/seeds/bananaseed" species = "banana" @@ -195,7 +195,7 @@ /obj/item/seeds/eggyseed name = "pack of eggplant seeds" - desc = "These seeds grow to produce berries that look nothing like eggs." + desc = "These seeds grow to produce berries that look a lot like eggs." icon_state = "seed-eggy" mypath = "/obj/item/seeds/eggy" species = "eggy" @@ -588,7 +588,7 @@ icon_state = "seed" mypath = "/obj/item/seeds/weeds" species = "weeds" - plantname = "Generic Weeds" + plantname = "Starthistle" productname = "" lifespan = 100 endurance = 50 // damm pesky weeds @@ -808,6 +808,23 @@ plant_type = 0 growthstages = 6 +/obj/item/seeds/cashseed + name = "pack of money seeds" + desc = "When life gives you lemons, mutate them into cash." + icon_state = "seed-cash" + mypath = "/obj/item/seeds/cashseed" + species = "cashtree" + plantname = "Money Tree" + productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/money" + lifespan = 55 + endurance = 45 + maturation = 6 + production = 6 + yield = 4 + potency = 10 + plant_type = 0 + growthstages = 6 + /obj/item/seeds/orangeseed name = "pack of orange seed" desc = "Sour seeds." @@ -861,7 +878,7 @@ /obj/item/seeds/grassseed name = "pack of grass seeds" - desc = "These seeds grow ito grass. Yummy!" + desc = "These seeds grow into grass. Yummy!" icon_state = "seed-grass" mypath = "/obj/item/seeds/grassseed" species = "grass" @@ -1029,7 +1046,7 @@ New() ..() reagents.add_reagent("nutriment", 1+round((potency / 20), 1)) - reagents.add_reagent("bicaridine", 1+round(potency / 20, 1)) + reagents.add_reagent("bicaridine", 1+round((potency / 10), 1)) bitesize = 1+round(reagents.total_volume / 3, 1) @@ -1131,11 +1148,40 @@ seed = "/obj/item/seeds/grassseed" name = "grass" desc = "Green and lush." - icon_state = "grass" + icon_state = "spawner" potency = 20 New() new/obj/item/stack/tile/grass(src.loc) - del(src) + spawn(5) //Workaround to keep harvesting from working weirdly. + del(src) + +//This object is just a transition object. All it does is make dosh and delete itself. -Cheridan +/obj/item/weapon/reagent_containers/food/snacks/grown/money + seed = "/obj/item/seeds/cashseed" + name = "dosh" + desc = "Green and lush." + icon_state = "spawner" + potency = 10 + New() + switch(rand(1,100))//(potency) //It wants to use the default potency instead of the new, so it was always 10. Will try to come back to this later - Cheridan + if(0 to 10) + new/obj/item/weapon/spacecash/(src.loc) + if(11 to 20) + new/obj/item/weapon/spacecash/c10(src.loc) + if(21 to 30) + new/obj/item/weapon/spacecash/c20(src.loc) + if(31 to 40) + new/obj/item/weapon/spacecash/c50(src.loc) + if(41 to 50) + new/obj/item/weapon/spacecash/c100(src.loc) + if(51 to 60) + new/obj/item/weapon/spacecash/c200(src.loc) + if(61 to 80) + new/obj/item/weapon/spacecash/c500(src.loc) + else + new/obj/item/weapon/spacecash/c1000(src.loc) + spawn(5) //Workaround to keep harvesting from working weirdly. + del(src) /obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane seed = "/obj/item/seeds/sugarcaneseed" diff --git a/code/game/machinery/hydroponics.dm b/code/game/machinery/hydroponics.dm index 9579aafbf7e..9cb26f9529a 100644 --- a/code/game/machinery/hydroponics.dm +++ b/code/game/machinery/hydroponics.dm @@ -20,8 +20,16 @@ var/planted = 0 // Is it occupied? var/harvest = 0 //Ready to harvest? var/obj/item/seeds/myseed = null // The currently planted seed - - + New() + ..() + bullet_act(var/obj/item/projectile/Proj) //Works with the Somatoray to modify plant variables. + if(istype(Proj ,/obj/item/projectile/energy/floramut)) + src.mutmod = 2 + else if(istype(Proj ,/obj/item/projectile/energy/florayield)) + src.yieldmod = 2 + if(src.myseed.yield == 0) + src.myseed.yield += 1 + return obj/machinery/hydroponics/process() @@ -303,6 +311,10 @@ obj/machinery/hydroponics/proc/mutatespecie() // Mutagent produced a new plant! del(src.myseed) src.myseed = new /obj/item/seeds/angelmycelium + else if ( istype(src.myseed, /obj/item/seeds/lemonseed )) + del(src.myseed) + src.myseed = new /obj/item/seeds/cashseed + else if ( istype(src.myseed, /obj/item/seeds/ambrosiavulgarisseed )) del(src.myseed) src.myseed = new /obj/item/seeds/ambrosiadeusseed @@ -954,3 +966,39 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) planted = 0 dead = 0 updateicon() + +/////////////////////////////////////////////////////////////////////////////// + +/obj/machinery/hydroponics/soil //Not actually hydroponics at all! Honk! + name = "soil" + icon = 'hydroponics.dmi' + icon_state = "soil" + density = 0 + New() + ..() + updateicon() // Same as normal but with the overlays removed - Cheridan. + overlays = null + if(src.planted) + if(dead) + overlays += image('hydroponics.dmi', icon_state="[src.myseed.species]-dead") + else if(src.harvest) + if(src.myseed.plant_type == 2) // Shrooms don't have a -harvest graphic + overlays += image('hydroponics.dmi', icon_state="[src.myseed.species]-grow[src.myseed.growthstages]") + else + overlays += image('hydroponics.dmi', icon_state="[src.myseed.species]-harvest") + else if(src.age < src.myseed.maturation) + var/t_growthstate = ((src.age / src.myseed.maturation) * src.myseed.growthstages ) + overlays += image('hydroponics.dmi', icon_state="[src.myseed.species]-grow[round(t_growthstate)]") + src.lastproduce = src.age + else + overlays += image('hydroponics.dmi', icon_state="[src.myseed.species]-grow[src.myseed.growthstages]") + + if(myseed) + if(luminosity && !istype(myseed,/obj/item/seeds/glowshroom)) + sd_SetLuminosity(0) + else if(!luminosity && istype(myseed,/obj/item/seeds/glowshroom)) + sd_SetLuminosity(myseed.potency/10) + else + if(luminosity) + sd_SetLuminosity(0) + return \ No newline at end of file diff --git a/code/game/objects/stacks/minerals.dm b/code/game/objects/stacks/minerals.dm index 5993bfc8d9a..cbd0d465a6d 100644 --- a/code/game/objects/stacks/minerals.dm +++ b/code/game/objects/stacks/minerals.dm @@ -10,6 +10,7 @@ SILVER //Sandstone var/global/list/datum/stack_recipe/sandstone_recipes = list ( \ + new/datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = 1, on_floor = 1), \ /* new/datum/stack_recipe("sandstone wall", ???), \ new/datum/stack_recipe("sandstone floor", ???),\*/ diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 828c05db823..9fc41c86cee 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -52,4 +52,53 @@ obj/item/weapon/gun/energy/staff if(!power_supply) return 0 power_supply.give(200) update_icon() - return 1 \ No newline at end of file + return 1 + +/obj/item/weapon/gun/energy/floragun + name = "floral somatoray" + desc = "A tool that discharges controlled radiation which induces mutation in plant cells." + icon_state = "floramut100" + item_state = "gun" + fire_sound = 'stealthoff.ogg' + charge_cost = 100 + projectile_type = "/obj/item/projectile/energy/floramut" + origin_tech = "materials=2;biotech=3;powerstorage=3" + modifystate = "floramut" + var/charge_tick = 0 + var/mode = 0 //0 = mutate, 1 = yield boost + + New() + ..() + processing_objects.Add(src) + + + Del() + processing_objects.Remove(src) + ..() + + + process() + charge_tick++ + if(charge_tick < 4) return 0 + charge_tick = 0 + if(!power_supply) return 0 + power_supply.give(100) + update_icon() + return 1 + + attack_self(mob/living/user as mob) + switch(mode) + if(0) + mode = 1 + charge_cost = 100 + user << "\red The [src.name] is now set to increase yield." + projectile_type = "/obj/item/projectile/energy/florayield" + modifystate = "florayield" + if(1) + mode = 0 + charge_cost = 100 + user << "\red The [src.name] is now set to induce mutations." + projectile_type = "/obj/item/projectile/energy/floramut" + modifystate = "floramut" + update_icon() + return \ No newline at end of file diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 7821b66cd77..3bb11588750 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -37,4 +37,59 @@ if(istype(target, /mob/living)) var/mob/M = target M.bodytemperature = temperature - return 1 \ No newline at end of file + return 1 + +/obj/item/projectile/energy/floramut + name = "alpha somatoray" + icon_state = "energy" + damage = 0 + damage_type = TOX + nodamage = 1 + flag = "energy" + + on_hit(var/atom/target, var/blocked = 0) + var/mob/M = target + if(istype(target, /mob/living/carbon/human) && M:mutantrace == "plant") //Plantmen possibly get mutated and damaged by the rays. + if(prob(15)) + M.radiation += rand(10,30) + M.Weaken(5) + for (var/mob/V in viewers(src)) + V.show_message("\red [M] writhes in pain as \his vacuoles boil.", 3, "\red You hear the crunching of leaves.", 2) + if(prob(35)) + // for (var/mob/V in viewers(src)) //Public messages commented out to prevent possible metaish genetics experimentation and stuff. - Cheridan + // V.show_message("\red [M] is mutated by the radiation beam.", 3, "\red You hear the snapping of twigs.", 2) + if(prob(80)) + randmutb(M) + domutcheck(M,null,1) + else + randmutg(M) + domutcheck(M,null,1) + else + M.adjustFireLoss(rand(5,15)) + M.show_message("\red The radiation beam singes you!") + // for (var/mob/V in viewers(src)) + // V.show_message("\red [M] is singed by the radiation beam.", 3, "\red You hear the crackle of burning leaves.", 2) + else + // for (var/mob/V in viewers(src)) + // V.show_message("The radiation beam dissipates harmlessly through [M]", 3) + M.show_message("\blue The radiation beam dissipates harmlessly through your body.") + return ..() + +/obj/item/projectile/energy/florayield + name = "beta somatoray" + icon_state = "energy2" + damage = 0 + damage_type = TOX + nodamage = 1 + flag = "energy" + + on_hit(var/atom/target, var/blocked = 0) + var/mob/M = target + if(istype(target, /mob/living/carbon/human) && M:mutantrace == "plant") //These rays make plantmen fat. + if(M.nutrition < 500) //sanity check + M.nutrition += 30 + else + // for (var/mob/V in viewers(src)) + // V.show_message("The radiation beam dissipates harmlessly through [M]", 3) + M.show_message("\blue The radiation beam dissipates harmlessly through your body.") + return ..() \ No newline at end of file diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 659f93a6f73..4ddc435f1d4 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1307,6 +1307,15 @@ datum build_path = "/obj/item/weapon/gun/energy/temperature" locked = 1 + flora_gun + name = "Floral Somatoray" + desc = "A tool that discharges controlled radiation which induces mutation in plant cells. Harmless to other organic life." + id = "flora_gun" + req_tech = list("materials" = 2, "biotech" = 3, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 2000, "$glass" = 500, "$uranium" = 500) + build_path = "/obj/item/weapon/gun/energy/floragun" + large_grenade name = "Large Grenade" desc = "A grenade that affects a larger area and use larger containers." diff --git a/html/changelog.html b/html/changelog.html index 66544d73caa..eb8060ce691 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -83,6 +83,17 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit tho. Thanks. --> +
+

April 1-22, 2012

+

Cheridan updated:

+ +
+

Sunday, April 22nd

Petethegoat updated:

diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index d43f382d285..38bee7a492c 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ diff --git a/icons/obj/harvest.dmi b/icons/obj/harvest.dmi index 691d830d6ef..e4d6bcf9255 100644 Binary files a/icons/obj/harvest.dmi and b/icons/obj/harvest.dmi differ diff --git a/icons/obj/hydroponics.dmi b/icons/obj/hydroponics.dmi index 7a79c4880bb..d1a570e3c53 100644 Binary files a/icons/obj/hydroponics.dmi and b/icons/obj/hydroponics.dmi differ diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index fb8708b0cea..674c9116fd0 100644 Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ diff --git a/icons/obj/seeds.dmi b/icons/obj/seeds.dmi index 0389f5dfb59..1ad1660a657 100644 Binary files a/icons/obj/seeds.dmi and b/icons/obj/seeds.dmi differ