diff --git a/code/defines/obj/hydro.dm b/code/defines/obj/hydro.dm index 87f79a369d9..dc5cbe488a9 100644 --- a/code/defines/obj/hydro.dm +++ b/code/defines/obj/hydro.dm @@ -92,6 +92,23 @@ plant_type = 0 growthstages = 6 +/obj/item/seeds/glowberryseed + name = "Glow Berry seeds" + desc = "Seeds that grows into glow berries." + icon_state = "seed-glowberry" + mypath = "/obj/item/seeds/glowberryseed" + species = "glowberry" + plantname = "Glow Berry bush" + productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries" + lifespan = 30 + endurance = 25 + maturation = 5 + production = 5 + yield = 2 + potency = 10 + plant_type = 0 + growthstages = 6 + /obj/item/seeds/bananaseed name = "Banana seeds" desc = "When grown, keep away from clown." @@ -140,6 +157,23 @@ plant_type = 0 growthstages = 6 +/obj/item/seeds/bloodtomatoseed + name = "Blood Tomato seeds" + desc = "Used to grow blood tomotoes." + icon_state = "seed-bloodtomato" + mypath = "/obj/item/seeds/bloodtomatoseed" + species = "bloodtomato" + plantname = "Blood Tomato plant" + productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato" + lifespan = 25 + endurance = 20 + maturation = 8 + production = 6 + yield = 3 + potency = 10 + plant_type = 0 + growthstages = 6 + /obj/item/seeds/tomatoseed name = "Tomato seeds" desc = "Used to grow tomotoes." @@ -157,6 +191,23 @@ plant_type = 0 growthstages = 6 +/obj/item/seeds/bluetomatoseed + name = "Blue Tomato seeds" + desc = "Used to grow blue tomotoes." + icon_state = "seed-bluetomato" + mypath = "/obj/item/seeds/bluetomatoseed" + species = "bluetomato" + plantname = "Blue Tomato plant" + productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato" + lifespan = 25 + endurance = 15 + maturation = 8 + production = 6 + yield = 2 + potency = 10 + plant_type = 0 + growthstages = 6 + /obj/item/seeds/cornseed name = "Corn seeds" desc = "I don't mean to sound corny..." @@ -404,6 +455,24 @@ growthstages = 3 plant_type = 2 +/obj/item/seeds/walkingmushroommycelium + name = "Walking Mushroom mycelium" + desc = "These seeds will grow into huge stuff." + icon_state = "mycelium-walkingmushroom" + mypath = "/obj/item/seeds/walkingmushroommycelium" + species = "walkingmushroom" + plantname = "Walking Mushroom" + productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom" + lifespan = 30 + endurance = 30 + maturation = 5 + production = 1 + yield = 4 + potency = 0 + oneharvest = 1 + growthstages = 3 + plant_type = 2 + /obj/item/seeds/nettleseed name = "Nettle seeds" desc = "Grows into nettle." @@ -657,6 +726,23 @@ plant_type = 0 growthstages = 6 +/obj/item/seeds/deathberryseed + name = "Death Berry seeds" + desc = "Seeds that grows into death berries." + icon_state = "seed-deathberry" + mypath = "/obj/item/seeds/deathberryseed" + species = "deathberry" + plantname = "Death Berry bush" + productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/deathberries" + lifespan = 30 + endurance = 20 + maturation = 5 + production = 5 + yield = 3 + potency = 50 + plant_type = 0 + growthstages = 6 + /obj/item/seeds/grassseed name = "Grass seeds" desc = "Seeds that will one day become sheep food." @@ -851,6 +937,33 @@ ..() reagents.add_reagent("nutriment", 2) +/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries + seed = "/obj/item/seeds/glowberryseed" + name = "Glow Berries" + desc = "Nutritious!" + var/on = 1 + var/brightness_on = 2 //luminosity when on + icon_state = "glowberrypile" + potency = 10 + New() + ..() + reagents.add_reagent("nutriment", 1) + reagents.add_reagent("radium", max(round(potency / 5, 1), 4)) + bitesize = max(round(reagents.total_volume / 2, 1), 1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/Del() + if(istype(loc,/mob)) + loc.sd_SetLuminosity(loc.luminosity - potency/5) + ..() + +/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/pickup(mob/user) + src.sd_SetLuminosity(0) + user.sd_SetLuminosity(user.luminosity + potency/5) + +/obj/item/weapon/reagent_containers/food/snacks/grown/glowberries/dropped(mob/user) + user.sd_SetLuminosity(user.luminosity - potency/5) + src.sd_SetLuminosity(potency/5) + /obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod seed = "/obj/item/seeds/cocoapodseed" name = "Cocoa Pod" @@ -895,6 +1008,18 @@ reagents.add_reagent("toxin", max(round(potency / 5, 1), 4)) bitesize = max(round(reagents.total_volume / 2, 1), 1) +/obj/item/weapon/reagent_containers/food/snacks/grown/deathberries + seed = "/obj/item/seeds/deathberryseed" + name = "Death Berries" + desc = "Nutritious in a deadly way." + icon_state = "deathberrypile" + potency = 50 + New() + ..() + reagents.add_reagent("nutriment", 1) + reagents.add_reagent("toxin", max(round(potency / 3, 1), 4)) + bitesize = max(round(reagents.total_volume / 2, 1), 1) + /obj/item/weapon/reagent_containers/food/snacks/grown/athelasmorganstears seed = "/obj/item/seeds/athelasmorganstearsseed" name = "Morgan's Tears" @@ -1037,6 +1162,31 @@ ..() reagents.add_reagent("nutriment", 2) +/obj/item/weapon/reagent_containers/food/snacks/grown/bloodtomato + seed = "/obj/item/seeds/bloodtomatoseed" + name = "Blood Tomato" + desc = "So bloody...so...very...bloody....AHHHH!!!!" + icon_state = "bloodtomato" + potency = 10 + New() + ..() + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("blood", max(round(potency / 2, 1), 4)) + bitesize = max(round(reagents.total_volume / 2, 1), 1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato + seed = "/obj/item/seeds/bluetomatoseed" + name = "Blue Tomato" + desc = "Tom-mae-to or to-mah-to? You decide." + icon_state = "bluetomato" + potency = 10 + New() + ..() + reagents.add_reagent("nutriment", 1) + reagents.add_reagent("lube", max(round(potency / 5, 1), 4)) + bitesize = max(round(reagents.total_volume / 2, 1), 1) + + /obj/item/weapon/reagent_containers/food/snacks/grown/wheat seed = "/obj/item/seeds/wheatseed" name = "Wheat" @@ -1140,6 +1290,34 @@ reagents.add_reagent("nutriment", 4) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom + seed = "/obj/item/seeds/walkingmushroom" + name = "Walking Mushroom" + desc = "The beginging of the great walk." + icon_state = "walkingmushroom" + New() + ..() + reagents.add_reagent("nutriment", 4) + bitesize = 2 + if(istype(src.loc,/mob)) + pickup(src.loc) + lifespan = 120 + endurance = 30 + maturation = 15 + production = 1 + yield = 3 + potency = 30 + plant_type = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user as mob) + if(istype(user.loc,/turf/space)) + return + new /obj/livestock/walkingmushroom(user.loc) + + del(src) + + user << "You plant the walking mushroom." + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle seed = "/obj/item/seeds/chantermycelium" name = "Chanterelle" diff --git a/code/game/machinery/hydroponics.dm b/code/game/machinery/hydroponics.dm index 5b52d40b1aa..a7f800330c8 100644 --- a/code/game/machinery/hydroponics.dm +++ b/code/game/machinery/hydroponics.dm @@ -301,6 +301,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/plumpmycelium )) + del(src.myseed) + src.myseed = new /obj/item/seeds/walkingmushroommycelium + else if ( istype(src.myseed, /obj/item/seeds/chiliseed )) del(src.myseed) src.myseed = new /obj/item/seeds/icepepperseed @@ -308,6 +312,22 @@ obj/machinery/hydroponics/proc/mutatespecie() // Mutagent produced a new plant! else if ( istype(src.myseed, /obj/item/seeds/berryseed )) del(src.myseed) src.myseed = new /obj/item/seeds/poisonberryseed + + else if ( istype(src.myseed, /obj/item/seeds/berryseed )) + del(src.myseed) + src.myseed = new /obj/item/seeds/glowberryseed + + else if ( istype(src.myseed, /obj/item/seeds/poisonberryseed )) + del(src.myseed) + src.myseed = new /obj/item/seeds/deathberryseed + + else if ( istype(src.myseed, /obj/item/seeds/tomatoseed )) + del(src.myseed) + src.myseed = new /obj/item/seeds/bluetomatoseed + + else if ( istype(src.myseed, /obj/item/seeds/tomatoseed )) + del(src.myseed) + src.myseed = new /obj/item/seeds/bloodtomatoseed /* else if ( istype(src.myseed, /obj/item/seeds/tomatoseed )) del(src.myseed) diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index 2d1be7ee879..444ca009034 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -19,6 +19,18 @@ BIKE HORN M.stunned = 8 M.weakened = 5 +/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/HasEntered(AM as mob|obj) + if (istype(AM, /mob/living/carbon)) + var/mob/M = AM + if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP)) + return + + M.pulling = null + M << "\blue You slipped on the [name]!" + playsound(src.loc, 'slip.ogg', 50, 1, -3) + M.stunned = 10 + M.weakened = 7 + /obj/item/weapon/soap/HasEntered(AM as mob|obj) //EXACTLY the same as bananapeel for now, so it makes sense to put it in the same dm -- Urist if (istype(AM, /mob/living/carbon)) var/mob/M = AM diff --git a/code/game/objects/items/weapons/guns_new.dm b/code/game/objects/items/weapons/guns_new.dm index 710378e2e02..0e6e6c24c23 100644 --- a/code/game/objects/items/weapons/guns_new.dm +++ b/code/game/objects/items/weapons/guns_new.dm @@ -73,6 +73,17 @@ var/const/PROJECTILE_DART = 8 if(M.bodytemperature > temperature) M.bodytemperature = temperature + plasma + name = "plasma blast" + icon_state = "plasma_2" + var/temperature = 800 + + proc/Heat(atom/A as mob|obj|turf|area) + if(istype(A, /mob)) + var/mob/M = A + if(M.bodytemperature < temperature) + M.bodytemperature = temperature + @@ -104,6 +115,9 @@ var/const/PROJECTILE_DART = 8 if(istype(src, /obj/item/projectile/freeze)) var/obj/item/projectile/freeze/F = src F.Freeze(A) + if(istype(src, /obj/item/projectile/plasma)) + var/obj/item/projectile/plasma/P = src + P.Heat(A) else A.bullet_act(damage_type, src, def_zone) @@ -846,6 +860,91 @@ var/const/PROJECTILE_DART = 8 if (istype(src.loc, /mob)) attack_self(src.loc) + plasma + name = "plasma gun" + icon_state = "plasmagun" + fire_sound = 'pulse3.ogg' + desc = "A gun that fires super heated plasma at targets, thus increasing their overal body temparature and also harming them." + var/temperature = T20C + var/current_temperature = T20C + charge_cost = 100 + origin_tech = "combat=3;materials=4;powerstorage=3;magnets=2" + + + New() + power_supply = new /obj/item/weapon/cell/crap(src) + power_supply.give(power_supply.maxcharge) + spawn() + Life() + + + load_into_chamber() + if(in_chamber) + return 1 + if(power_supply.charge < charge_cost) + return 0 + in_chamber = new /obj/item/projectile/plasma(src) + power_supply.use(charge_cost) + return 1 + + attack_self(mob/living/user as mob) + user.machine = src + var/temp_text = "" + if(temperature > (T0C + 50)) + temp_text = "[temperature] ([round(temperature+T0C)]°C) ([round(temperature*1.8+459.67)]°F)" + else + temp_text = "[temperature] ([round(temperature+T0C)]°C) ([round(temperature*1.8+459.67)]°F)" + + var/dat = {"Plasma Gun Configuration:
+ Current output temperature: [temp_text]
+ Target output temperature: - - - [current_temperature] + + +
+ "} + + user << browse(dat, "window=plasmagun;size=450x300") + onclose(user, "plasmagun") + + Topic(href, href_list) + if (..()) + return + usr.machine = src + src.add_fingerprint(usr) + if(href_list["temp"]) + var/amount = text2num(href_list["temp"]) + if(amount > 0) + src.current_temperature = min(T20C, src.current_temperature+amount) + else + src.current_temperature = max(800, src.current_temperature+amount) + if (istype(src.loc, /mob)) + attack_self(src.loc) + src.add_fingerprint(usr) + return + + proc/Life() + while(src) + sleep(10) + + switch(temperature) + if(601 to 800) charge_cost = 500 + if(401 to 600) charge_cost = 150 + if(201 to 400) charge_cost = 100 + if(101 to 200) charge_cost = 75 + if(51 to 100) charge_cost = 50 + if(0 to 50) charge_cost = 25 + + if(current_temperature != temperature) + var/difference = abs(current_temperature + temperature) + if(difference >= 10) + if(current_temperature < temperature) + temperature -= 10 + else + temperature += 10 + + else + temperature = current_temperature + + if (istype(src.loc, /mob)) + attack_self(src.loc) + diff --git a/code/game/objects/livestock.dm b/code/game/objects/livestock.dm index 72a6a17f868..3038d40ebc9 100644 --- a/code/game/objects/livestock.dm +++ b/code/game/objects/livestock.dm @@ -439,6 +439,26 @@ stun_chance = 40 intelligence = "Assistant" +/obj/livestock/walkingmushroom + name = "Walking Mushroom" + desc = "A...huge...mushroom...with legs!?" + icon_state = "walkingmushroom" + species = "walkingmushroom" + cowardly = 1 + health = 50 + maxhealth = 50 + strength = 0 + cycle_pause = 10 + patience = 25 + view_range = 8 + intelligence = "Captain" + var/stun_chance = 0 + New() + ..() + new /obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice(src) + new /obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice(src) + new /obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice(src) + /obj/livestock/lizard name = "Lizard" desc = "A cute tiny lizard." diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm index 7b540553808..73ad66d8e9e 100644 --- a/code/modules/food/food.dm +++ b/code/modules/food/food.dm @@ -133,6 +133,16 @@ reagents.add_reagent("carpotoxin", 3) src.bitesize = 6 +/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice + name = "huge mushroom slice" + desc = "A slice from a huge mushroom." + icon_state = "hugemushroomslice" + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("psilocybin", 3) + src.bitesize = 6 + /obj/item/weapon/reagent_containers/food/snacks/bearmeat name = "bear meat" desc = "A very manly slab of meat." diff --git a/config/admins.txt b/config/admins.txt index 20f5f1b9bca..2f118284d87 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -7,6 +7,7 @@ chicagoted - Game Master neofite - Game Master uristmcdorf - Game Master cinless - Game Master +firecage - Game Master mport2004 - Game Admin diff --git a/icons/mob/livestock.dmi b/icons/mob/livestock.dmi index 28dd442161f..760788a1d5e 100644 Binary files a/icons/mob/livestock.dmi and b/icons/mob/livestock.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 6ae4d3b8507..406d963e7fc 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index 37a5ffaea55..939bec056c5 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 e32e55de9e7..8c6d1857403 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 33d9ee46f1c..b8feec823ae 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 5d32aab06a9..b17ccefb747 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 a25aaef55ae..46ce0c1d016 100644 Binary files a/icons/obj/seeds.dmi and b/icons/obj/seeds.dmi differ