From cf42d3b0376e0164f602fd7b4b78a5ab6152bf93 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 8 Dec 2015 07:24:43 -0500 Subject: [PATCH 1/3] Re-Adds Weapon Based Nettles --- code/datums/cargoprofile.dm | 2 +- code/modules/hydroponics/grown.dm | 16 +++++ code/modules/hydroponics/grown_inedible.dm | 81 +++++++++++++++++----- code/modules/hydroponics/seed_datums.dm | 1 + 4 files changed, 83 insertions(+), 17 deletions(-) diff --git a/code/datums/cargoprofile.dm b/code/datums/cargoprofile.dm index 9fcb356b9b1..cbb074b8d24 100644 --- a/code/datums/cargoprofile.dm +++ b/code/datums/cargoprofile.dm @@ -258,7 +258,7 @@ whitelist = list(/obj/item/weapon/banhammer,/obj/item/weapon/sord,/obj/item/weapon/butch,/obj/item/weapon/claymore,/obj/item/weapon/holo/esword, /obj/item/weapon/flamethrower,/obj/item/weapon/grenade,/obj/item/weapon/gun,/obj/item/weapon/hatchet,/obj/item/weapon/katana, /obj/item/weapon/kitchenknife,/obj/item/weapon/melee,/obj/item/weapon/nullrod,/obj/item/weapon/pickaxe,/obj/item/weapon/twohanded, - /obj/item/weapon/c4,/obj/item/weapon/scalpel,/obj/item/weapon/shield,/obj/item/weapon/grown/deathnettle) + /obj/item/weapon/c4,/obj/item/weapon/scalpel,/obj/item/weapon/shield,/obj/item/weapon/grown/nettle/death) /datum/cargoprofile/tools name = "Devices & Tools" diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 4dae0d4dd6a..9190e94cbbd 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -429,6 +429,22 @@ user.put_in_hands(NF) qdel(src) return + if("nettle") + var/obj/item/weapon/grown/nettle/nettle = new /obj/item/weapon/grown/nettle(user.loc) + nettle.force = round((5 + potency / 5), 1) + user << "You straighten up the plant." + user.unEquip(src) + user.put_in_hands(nettle) + qdel(src) + return + if("deathnettle") + var/obj/item/weapon/grown/nettle/death/DN = new /obj/item/weapon/grown/nettle/death(user.loc) + DN.force = round((5 + potency / 2.5), 1) + user << "You straighten up the plant." + user.unEquip(src) + user.put_in_hands(DN) + qdel(src) + return if("cashpod") user << "You crack open the cash pod..." var/value = round(seed.get_trait(TRAIT_POTENCY)) diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index b6a3b05d966..c2ae0074f2b 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -32,28 +32,77 @@ rtotal += round(potency/reagent_data[2]) reagents.add_reagent(rid,max(1,rtotal)) -/obj/item/weapon/grown/deathnettle // -- Skie - plantname = "deathnettle" - desc = "The \red glowing \black nettle incites \redrage\black in you just from looking at it!" +/obj/item/weapon/grown/nettle //abstract type + name = "nettle" + desc = "It's probably not wise to touch it with bare hands..." icon = 'icons/obj/weapons.dmi' - name = "deathnettle" - icon_state = "deathnettle" + icon_state = "nettle" damtype = "fire" - force = 30 - throwforce = 1 - w_class = 2.0 + force = 15 + hitsound = 'sound/weapons/bladeslice.ogg' + throwforce = 5 + w_class = 1 throw_speed = 1 throw_range = 3 - origin_tech = "combat=3" + origin_tech = "combat=1" attack_verb = list("stung") - New() - ..() - spawn(5) - force = round((5+potency/2.5), 1) - suicide_act(mob/user) - viewers(user) << "\red [user] is eating some of the [src.name]! It looks like \he's trying to commit suicide." - return (BRUTELOSS|TOXLOSS) +/obj/item/weapon/grown/nettle/suicide_act(mob/user) + user.visible_message("[user] is eating some of the [src.name]! It looks like \he's trying to commit suicide.") + return (BRUTELOSS|TOXLOSS) + +/obj/item/weapon/grown/nettle/pickup(mob/living/user) + if(!iscarbon(user)) + return 0 + var/mob/living/carbon/C = user + if(ishuman(user)) + var/mob/living/carbon/human/H = C + if(H.gloves) + return 0 + var/organ = ((user.hand ? "l_":"r_") + "arm") + var/obj/item/organ/external/affecting = H.get_organ(organ) + if(affecting.take_damage(0,force)) + user.UpdateDamageIcon() + else + C.take_organ_damage(0,force) + C << "The nettle burns your bare hand!" + return 1 + +/obj/item/weapon/grown/nettle/afterattack(atom/A as mob|obj, mob/user,proximity) + if(!proximity) return + if(force > 0) + force -= rand(1, (force / 3) + 1) // When you whack someone with it, leaves fall off + else + usr << "All the leaves have fallen off the nettle from violent whacking." + usr.unEquip(src) + qdel(src) + + +/obj/item/weapon/grown/nettle/death + name = "deathnettle" + desc = "The glowing \black nettle incites rage\black in you just from looking at it!" + icon_state = "deathnettle" + force = 30 + throwforce = 15 + origin_tech = "combat=3" + +/obj/item/weapon/grown/nettle/death/pickup(mob/living/carbon/user) + if(..()) + if(prob(50)) + user.Paralyse(5) + user << "You are stunned by the Deathnettle when you try picking it up!" + +/obj/item/weapon/grown/nettle/death/attack(mob/living/carbon/M, mob/user) + if(!..()) return + if(istype(M, /mob/living)) + M << "You are stunned by the powerful acid of the Deathnettle!" + add_logs(M, user, "attacked", src) + + M.eye_blurry += force/7 + if(prob(20)) + M.Paralyse(force / 6) + M.Weaken(force / 15) + M.drop_item() /obj/item/weapon/corncob name = "corn cob" diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 34dac891dce..58ee1a8a666 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -132,6 +132,7 @@ chems = list("plantmatter" = list(1,50), "sacid" = list(0,1)) kitchen_tag = "nettle" preset_icon = "nettle" + final_form = 0 /datum/seed/nettle/New() ..() From c7073e52b8347ca9e489697fa2ab160b9a67a233 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 8 Dec 2015 16:44:07 -0500 Subject: [PATCH 2/3] glowcaps --- code/__DEFINES/hydroponics.dm | 3 ++- code/modules/hydroponics/grown.dm | 19 ++++++++++++++++++- code/modules/hydroponics/grown_predefined.dm | 5 ++++- code/modules/hydroponics/seed.dm | 3 ++- code/modules/hydroponics/seed_datums.dm | 16 +++++++++++++++- code/modules/hydroponics/seed_packets.dm | 3 +++ code/modules/hydroponics/trays/tray_tools.dm | 3 +++ icons/obj/harvest.dmi | Bin 39839 -> 40121 bytes 8 files changed, 47 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/hydroponics.dm b/code/__DEFINES/hydroponics.dm index a53e66f0a0f..f6693b0bcfc 100644 --- a/code/__DEFINES/hydroponics.dm +++ b/code/__DEFINES/hydroponics.dm @@ -56,4 +56,5 @@ #define TRAIT_BIOLUM 36 #define TRAIT_BIOLUM_COLOUR 37 #define TRAIT_IMMUTABLE 38 -#define TRAIT_RARITY 39 \ No newline at end of file +#define TRAIT_RARITY 39 +#define TRAIT_BATTERY_RECHARGE 40 \ No newline at end of file diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 9190e94cbbd..b39ca263d02 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -491,4 +491,21 @@ return reagents.remove_any(rand(1,3)) //Todo, make it actually remove the reagents the seed uses. seed.do_thorns(H,src) - seed.do_sting(H,src,pick("r_hand","l_hand")) \ No newline at end of file + seed.do_sting(H,src,pick("r_hand","l_hand")) + + +/obj/item/weapon/reagent_containers/food/snacks/grown/On_Consume() + if(seed && seed.get_trait(TRAIT_BATTERY_RECHARGE)) + if(!reagents.total_volume) + var/batteries_recharged = 0 + for(var/obj/item/weapon/stock_parts/cell/C in usr.GetAllContents()) + var/newcharge = (potency*0.01)*C.maxcharge + if(C.charge < newcharge) + C.charge = newcharge + if(isobj(C.loc)) + var/obj/O = C.loc + O.update_icon() //update power meters and such + batteries_recharged = 1 + if(batteries_recharged) + usr << "Battery has recovered." + ..() \ No newline at end of file diff --git a/code/modules/hydroponics/grown_predefined.dm b/code/modules/hydroponics/grown_predefined.dm index 523974abac3..44c9c3a1943 100644 --- a/code/modules/hydroponics/grown_predefined.dm +++ b/code/modules/hydroponics/grown_predefined.dm @@ -43,4 +43,7 @@ plantname = "aloe" /obj/item/weapon/reagent_containers/food/snacks/grown/comfrey - plantname = "comfrey" \ No newline at end of file + plantname = "comfrey" + +/obj/item/weapon/reagent_containers/food/snacks/grown/glowcap + plantname = "glowcap" \ No newline at end of file diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index d206c8f8e3a..86a4f19630d 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -42,6 +42,7 @@ set_trait(TRAIT_MATURATION, 0) // Time taken before the plant is mature. set_trait(TRAIT_PRODUCTION, 0) // Time before harvesting can be undertaken again. set_trait(TRAIT_TELEPORTING, 0) // Uses the bluespace tomato effect. + set_trait(TRAIT_BATTERY_RECHARGE, 0) // Used for glowcaps; recharges batteries on a user. set_trait(TRAIT_BIOLUM, 0) // Plant is bioluminescent. set_trait(TRAIT_ALTER_TEMP, 0) // If set, the plant will periodically alter local temp by this amount. set_trait(TRAIT_PRODUCT_ICON, 0) // Icon to use for fruit coming from this plant. @@ -675,7 +676,7 @@ P.values["[TRAIT_EXUDE_GASSES]"] = exude_gasses traits_to_copy = list(TRAIT_POTENCY) if(GENE_OUTPUT) - traits_to_copy = list(TRAIT_PRODUCES_POWER,TRAIT_BIOLUM) + traits_to_copy = list(TRAIT_PRODUCES_POWER,TRAIT_BIOLUM,TRAIT_BATTERY_RECHARGE) if(GENE_ATMOSPHERE) traits_to_copy = list(TRAIT_HEAT_TOLERANCE,TRAIT_LOWKPA_TOLERANCE,TRAIT_HIGHKPA_TOLERANCE) if(GENE_HARDINESS) diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 58ee1a8a666..28cd89843ac 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -655,7 +655,7 @@ name = "glowshroom" seed_name = "glowshroom" display_name = "glowshrooms" - mutants = null + mutants = list("glowcap") chems = list("radium" = list(1,20)) preset_icon = "glowshroom" @@ -673,6 +673,20 @@ set_trait(TRAIT_PLANT_ICON,"mushroom7") set_trait(TRAIT_RARITY,20) +/datum/seed/mushroom/glowshroom/glowcap + name = "glowcap" + seed_name = "glowcap" + display_name = "glowcaps" + mutants = null + preset_icon = "glowcap" + +/datum/seed/mushroom/glowshroom/glowcap/New() + ..() + set_trait(TRAIT_BIOLUM_COLOUR,"#8E0300") + set_trait(TRAIT_PRODUCT_COLOUR,"#C65680") + set_trait(TRAIT_PLANT_COLOUR,"#B72D68") + set_trait(TRAIT_BATTERY_RECHARGE,1) + /datum/seed/mushroom/plastic name = "plastic" seed_name = "plastellium" diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm index 18645c4f531..568af7a89ec 100644 --- a/code/modules/hydroponics/seed_packets.dm +++ b/code/modules/hydroponics/seed_packets.dm @@ -179,6 +179,9 @@ var/global/list/plant_seed_sprites = list() /obj/item/seeds/glowshroom seed_type = "glowshroom" +/obj/item/seeds/glowcap + seed_type = "glowcap" + /obj/item/seeds/plumpmycelium seed_type = "plumphelmet" diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index a18ed380196..147f02f69c1 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -234,6 +234,9 @@ if(grown_seed.get_trait(TRAIT_PRODUCES_POWER)) dat += "
The fruit will function as a battery if prepared appropriately." + if(grown_seed.get_trait(TRAIT_BATTERY_RECHARGE)) + dat += "
The fruit hums with an odd electrical energy." + if(grown_seed.get_trait(TRAIT_STINGS)) dat += "
The fruit is covered in stinging spines." diff --git a/icons/obj/harvest.dmi b/icons/obj/harvest.dmi index fb06ace12ef8ce19717de78d24c065bcf07351d6..0b7045cc64cd18b879f425c16f78c52754ed0e61 100644 GIT binary patch delta 4344 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 O0000 Date: Wed, 9 Dec 2015 00:00:22 -0500 Subject: [PATCH 3/3] salt petre and holywater --- code/modules/hydroponics/trays/tray.dm | 66 ++++++++++++++------------ 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index f255c558c20..9fe6284d9e9 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -92,39 +92,41 @@ "adminordrazine" = -5 ) var/global/list/water_reagents = list( - "water" = 1, - "adminordrazine" = 1, - "milk" = 0.9, - "beer" = 0.7, - "fluorine" = -0.5, - "chlorine" = -0.5, - "phosphorus" = -0.5, - "water" = 1, - "sodawater" = 1, - "fishwater" = 1, + "water" = list(1, 0), + "adminordrazine" = list(1, 0), + "milk" = list(0.9, 0), + "beer" = list(0.7, 0), + "fluorine" = list(-0.5, 0), + "chlorine" = list(-0.5, 0), + "phosphorus" = list(-0.5, 0), + "water" = list(1, 0), + "sodawater" = list(1, 0), + "fishwater" = list(1, 0), + "holywater" = list(1, 0.1), ) // Beneficial reagents also have values for modifying yield_mod and mut_mod (in that order). var/global/list/beneficial_reagents = list( - // "reagent" = list(health, yield_Mod, mut_mod), - "beer" = list( -0.05, 0, 0 ), - "fluorine" = list( -2, 0, 0 ), - "chlorine" = list( -1, 0, 0 ), - "phosphorus" = list( -0.75, 0, 0 ), - "sodawater" = list( 0.1, 0, 0 ), - "sacid" = list( -1, 0, 0 ), - "facid" = list( -2, 0, 0 ), - "atrazine" = list( -2, 0, 0.2), - "cryoxadone" = list( 3, 0, 0 ), - "ammonia" = list( 0.5, 0, 0 ), - "diethylamine" = list( 1, 0, 0 ), - "nutriment" = list( 0.25, 0.15, 0 ), - "protein" = list( 0.25, 0.15, 0 ), - "plantmatter" = list( 0.25, 0.15, 0 ), - "radium" = list( -1.5, 0, 0.2), - "adminordrazine" = list( 1, 1, 1 ), - "robustharvest" = list( 0, 0.2, 0 ), - "left4zed" = list( 0, 0, 0.2) + // "reagent" = list(health, yield_Mod, mut_mod, production, potency), + "beer" = list( -0.05, 0, 0, 0, 0), + "fluorine" = list( -2, 0, 0, 0, 0), + "chlorine" = list( -1, 0, 0, 0, 0), + "phosphorus" = list( -0.75, 0, 0, 0, 0), + "sodawater" = list( 0.1, 0, 0, 0, 0), + "sacid" = list( -1, 0, 0, 0, 0), + "facid" = list( -2, 0, 0, 0, 0), + "atrazine" = list( -2, 0, 0.2, 0, 0), + "cryoxadone" = list( 3, 0, 0, 0, 0), + "ammonia" = list( 0.5, 0, 0, 0, 0), + "diethylamine" = list( 1, 0, 0, 0, 0), + "nutriment" = list( 0.25, 0.15, 0, 0, 0), + "protein" = list( 0.25, 0.15, 0, 0, 0), + "plantmatter" = list( 0.25, 0.15, 0, 0, 0), + "radium" = list( -1.5, 0, 0.2, 0, 0), + "adminordrazine" = list( 1, 1, 1, 0, 0), + "robustharvest" = list( 0, 0.2, 0, 0, 0), + "left4zed" = list( 0, 0, 0.2, 0, 0), + "saltpetre" = list( 0.25, 0, 0, -0.02, 0.01), ) //--FalseIncarnate @@ -274,6 +276,9 @@ health += beneficial_reagents[R.id][1] * reagent_total yield_mod = min(100, yield_mod + (beneficial_reagents[R.id][2] * reagent_total)) mutation_mod += beneficial_reagents[R.id][3] * reagent_total + if(seed.get_trait(TRAIT_PRODUCTION) > 1) + seed.set_trait(TRAIT_PRODUCTION, max(2, seed.get_trait(TRAIT_PRODUCTION) + beneficial_reagents[R.id][4] * reagent_total)) + seed.set_trait(TRAIT_POTENCY, min(100, seed.get_trait(TRAIT_POTENCY) + beneficial_reagents[R.id][5] * reagent_total)) // Mutagen is distinct from the previous types and mostly has a chance of proccing a mutation. @@ -303,9 +308,10 @@ // Handle water and water refilling. var/water_added = 0 if(water_reagents[R.id]) - var/water_input = water_reagents[R.id] * reagent_total + var/water_input = water_reagents[R.id][1] * reagent_total water_added += water_input waterlevel += water_input + health += water_reagents[R.id][2] * reagent_total // Water dilutes toxin level. if(water_added > 0)