From 6b7774a1de2f3ae6ca93aba250a45c8b9eafd205 Mon Sep 17 00:00:00 2001 From: c0 Date: Wed, 9 Mar 2016 15:05:37 +0300 Subject: [PATCH] fixes --- code/game/gamemodes/nuclear/nuclearbomb.dm | 9 ++-- code/game/machinery/cloning.dm | 31 +++++++------- code/game/objects/items/robot/ai_upgrades.dm | 8 ++-- code/modules/hydroponics/grown.dm | 20 ++++----- code/modules/hydroponics/grown/banana.dm | 2 - code/modules/hydroponics/grown/tomato.dm | 1 - code/modules/hydroponics/growninedible.dm | 19 ++++----- code/modules/hydroponics/plant_genes.dm | 42 +++++++++++++++++-- code/modules/hydroponics/seeds.dm | 19 ++++++--- code/modules/research/designs.dm | 5 +-- code/modules/research/research.dm | 11 ++--- icons/obj/cloning.dmi | Bin 9868 -> 8985 bytes icons/obj/module.dmi | Bin 4088 -> 9771 bytes 13 files changed, 98 insertions(+), 69 deletions(-) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 77306a0e167..fb100742d3b 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -407,13 +407,16 @@ This is here to make the tiles around the station mininuke change when it's arme SetTurfs() //==========DAT FUKKEN DISK=============== +/obj/item/weapon/disk + icon = 'icons/obj/module.dmi' + w_class = 1 + item_state = "card-id" + icon_state = "datadisk0" + /obj/item/weapon/disk/nuclear name = "nuclear authentication disk" desc = "Better keep this safe." - icon = 'icons/obj/items.dmi' icon_state = "nucleardisk" - item_state = "card-id" - w_class = 1 /obj/item/weapon/disk/nuclear/New() ..() diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index ab1c078c395..85b3363e073 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -51,13 +51,25 @@ //TO-DO: Make the genetics machine accept them. /obj/item/weapon/disk/data name = "cloning data disk" - icon = 'icons/obj/cloning.dmi' icon_state = "datadisk0" //Gosh I hope syndies don't mistake them for the nuke disk. - item_state = "card-id" - w_class = 1 var/list/fields = list() var/read_only = 0 //Well,it's still a floppy disk +//Disk stuff. +/obj/item/weapon/disk/data/New() + ..() + icon_state = "datadisk[rand(0,6)]" + overlays += "datadisk_gene" + + +/obj/item/weapon/disk/data/attack_self(mob/user) + read_only = !read_only + user << "You flip the write-protect tab to [src.read_only ? "protected" : "unprotected"]." + +/obj/item/weapon/disk/data/examine(mob/user) + ..() + user << "The write-protect tab is set to [src.read_only ? "protected" : "unprotected"]." + //Find a dead mob with a brain and client. /proc/find_dead_player(find_key) @@ -78,19 +90,6 @@ break return selected -//Disk stuff. -/obj/item/weapon/disk/data/New() - ..() - icon_state = "datadisk[pick(0,1,2)]" - -/obj/item/weapon/disk/data/attack_self(mob/user) - read_only = !read_only - user << "You flip the write-protect tab to [src.read_only ? "protected" : "unprotected"]." - -/obj/item/weapon/disk/data/examine(mob/user) - ..() - user << "The write-protect tab is set to [src.read_only ? "protected" : "unprotected"]." - //Health Tracker Implant /obj/item/weapon/implant/health diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm index 7feca692186..97a1fab67d0 100644 --- a/code/game/objects/items/robot/ai_upgrades.dm +++ b/code/game/objects/items/robot/ai_upgrades.dm @@ -5,8 +5,8 @@ /obj/item/device/malf_upgrade name = "combat software upgrade" desc = "A highly illegal, highly dangerous upgrade for artificial intelligence units, granting them a variety of powers as well as the ability to hack APCs." - icon = 'icons/obj/cloning.dmi' - icon_state = "datadisk0" + icon = 'icons/obj/module.dmi' + icon_state = "datadisk3" /obj/item/device/malf_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user) @@ -26,8 +26,8 @@ /obj/item/device/surveillance_upgrade name = "surveillance software upgrade" desc = "A software package that will allow an artificial intelligence to 'hear' from its cameras via lip reading." - icon = 'icons/obj/cloning.dmi' - icon_state = "datadisk0" + icon = 'icons/obj/module.dmi' + icon_state = "datadisk3" /obj/item/device/surveillance_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user) if(!istype(AI)) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 0c14842f4a1..02226ad0ade 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -24,7 +24,6 @@ // This is for adminspawn or map-placed growns. They get the default stats of their seed type. seed = new seed() seed.potency = 50 - seed.prepare_result(src) else // Something is terribly wrong qdel(src) return @@ -35,16 +34,13 @@ if(dried_type == -1) dried_type = src.type - add_juice() + for(var/datum/plant_gene/trait/T in seed.genes) + T.on_new(src, newloc) + seed.prepare_result(src) + add_juice() transform *= TransformUsingVariable(seed.potency, 100, 0.5) //Makes the resulting produce's sprite larger or smaller based on potency! - var/datum/plant_gene/trait/glow/G = seed.get_gene(/datum/plant_gene/trait/glow) - if(G) - if(istype(src.loc,/mob)) - pickup(src.loc)//adjusts the lighting on the mob - else - src.SetLuminosity(G.get_lum(seed)) /obj/item/weapon/reagent_containers/food/snacks/grown/proc/add_juice() @@ -117,7 +113,7 @@ for(var/datum/plant_gene/trait/trait in seed.genes) trait.on_squash(src, target) - for(var/atom/A in T) + for(var/A in T) reagents.reaction(A) qdel(src) @@ -128,9 +124,9 @@ T.on_consume(src, usr) ..() -/obj/item/weapon/reagent_containers/food/snacks/grown/Crossed(AM as mob|obj) +/obj/item/weapon/reagent_containers/food/snacks/grown/Crossed(atom/movable/AM) var/datum/plant_gene/trait/slip/S = seed.get_gene(/datum/plant_gene/trait/slip) - if(S && !ispath(trash, /obj/item/weapon/grown) && istype(AM, /mob/living/carbon)) + if(S && !ispath(trash, /obj/item/weapon/grown) && iscarbon(AM)) var/mob/living/carbon/M = AM var/stun = min(seed.potency * S.rate * 2, 1) var/weaken = min(seed.potency * S.rate, 0.5) @@ -144,7 +140,7 @@ // Glow gene procs /obj/item/weapon/reagent_containers/food/snacks/grown/Destroy() var/datum/plant_gene/trait/glow/G = seed.get_gene(/datum/plant_gene/trait/glow) - if(G && istype(loc,/mob)) + if(G && ismob(loc)) loc.AddLuminosity(-G.get_lum(seed)) return ..() diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index 95e8ccc6387..a439da93253 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -100,14 +100,12 @@ icon_state = "banana_blue" trash = /obj/item/weapon/grown/bananapeel/bluespace filling_color = "#0000FF" - origin_tech = "bluespace=3" /obj/item/weapon/grown/bananapeel/bluespace seed = /obj/item/seeds/banana/bluespace name = "bluespace banana peel" desc = "A peel from a bluespace banana." icon_state = "banana_peel_blue" - origin_tech = "bluespace=3" // Other diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm index 338f5318664..2e2dc8815bb 100644 --- a/code/modules/hydroponics/grown/tomato.dm +++ b/code/modules/hydroponics/grown/tomato.dm @@ -86,7 +86,6 @@ name = "blue-space tomato" desc = "So lubricated, you might slip through space-time." icon_state = "bluespacetomato" - origin_tech = "bluespace=3" // Killer Tomato diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 6a997407847..a97cf99a19e 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -18,7 +18,6 @@ // This is for adminspawn or map-placed growns. They get the default stats of their seed type. seed = new seed() seed.potency = 50 - seed.prepare_result(src) else // Something is terribly wrong qdel(src) return @@ -26,16 +25,14 @@ pixel_x = rand(-5, 5) pixel_y = rand(-5, 5) - add_juice() + for(var/datum/plant_gene/trait/T in seed.genes) + T.on_new(src, newloc) + if(istype(src, seed.product)) // no adding reagents if it is just a trash item + seed.prepare_result(src) + add_juice() transform *= TransformUsingVariable(seed.potency, 100, 0.5) - var/datum/plant_gene/trait/glow/G = seed.get_gene(/datum/plant_gene/trait/glow) - if(G) - if(istype(src.loc,/mob)) - pickup(src.loc)//adjusts the lighting on the mob - else - src.SetLuminosity(G.get_lum(seed)) /obj/item/weapon/grown/attackby(obj/item/O, mob/user, params) ..() @@ -52,9 +49,9 @@ return 0 -/obj/item/weapon/grown/Crossed(AM as mob|obj) +/obj/item/weapon/grown/Crossed(atom/movable/AM) var/datum/plant_gene/trait/slip/S = seed.get_gene(/datum/plant_gene/trait/slip) - if(S && istype(AM, /mob/living/carbon)) + if(S && iscarbon(AM)) var/mob/living/carbon/M = AM var/stun = min(seed.potency * S.rate * 2, 1) var/weaken = min(seed.potency * S.rate, 0.5) @@ -68,7 +65,7 @@ // Glow gene procs /obj/item/weapon/grown/Destroy() var/datum/plant_gene/trait/glow/G = seed.get_gene(/datum/plant_gene/trait/glow) - if(G && istype(loc,/mob)) + if(G && ismob(loc)) loc.AddLuminosity(-G.get_lum(seed)) return ..() diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 433e4cf1828..364a0b68d2a 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -85,22 +85,36 @@ /datum/plant_gene/trait var/rate = 0.05 var/examine_line = "" + var/list/origin_tech = null /datum/plant_gene/trait/Copy() var/datum/plant_gene/trait/G = ..() G.rate = rate return G +/datum/plant_gene/trait/proc/on_new(obj/item/weapon/reagent_containers/food/snacks/grown/G, newloc) + if(origin_tech) // This ugly code segment adds RnD tech levels to resulting plants. + if(G.origin_tech) + var/list/tech = params2list(G.origin_tech) + for(var/t in origin_tech) + if(t in tech) + tech[t] = max(tech[t], origin_tech[t]) + else + tech[t] = origin_tech[t] + G.origin_tech = list2params(tech) + else + G.origin_tech = list2params(origin_tech) + return + /datum/plant_gene/trait/proc/on_consume(obj/item/weapon/reagent_containers/food/snacks/grown/G, mob/living/carbon/target) return - /datum/plant_gene/trait/proc/on_slip(obj/item/weapon/reagent_containers/food/snacks/grown/G, mob/living/carbon/target) return - /datum/plant_gene/trait/proc/on_squash(obj/item/weapon/reagent_containers/food/snacks/grown/G, atom/target) return + /datum/plant_gene/trait/squash // Allows the plant to be squashed when thrown or slipped on, leaving a colored mess and trash type item behind. // Also splashes everything in target turf with reagents and applies other trait effects (teleporting, etc) to the target by on_squash. @@ -128,6 +142,7 @@ // Multiplies max charge by (rate*1000) when used in potato power cells. name = "Electrical Activity" rate = 0.01 + origin_tech = list("powerstorage" = 4) /datum/plant_gene/trait/cell_charge/on_slip(obj/item/weapon/reagent_containers/food/snacks/grown/G, mob/living/carbon/C) var/power = G.seed.potency*rate*5 @@ -168,6 +183,13 @@ /datum/plant_gene/trait/glow/proc/get_lum(obj/item/seeds/S) return round(S.potency*rate) +/datum/plant_gene/trait/glow/on_new(obj/item/weapon/reagent_containers/food/snacks/grown/G, newloc) + ..() + if(ismob(newloc)) + G.pickup(newloc)//adjusts the lighting on the mob + else + G.SetLuminosity(get_lum(G.seed)) + /datum/plant_gene/trait/glow/berry name = "Strong Bioluminescence" rate = 0.2 @@ -178,6 +200,7 @@ // Teleport radius is calculated as max(round(potency*rate), 1) name = "Bluespace Activity" rate = 0.1 + origin_tech = list("bluespace" = 3) /datum/plant_gene/trait/teleport/on_squash(obj/item/weapon/reagent_containers/food/snacks/grown/G, atom/target) if(isliving(target)) @@ -195,4 +218,17 @@ do_teleport(G, T, teleport_radius) else new /obj/effect/decal/cleanable/molten_item(T) //Leave a pile of goo behind for dramatic effect... - qdel(G) \ No newline at end of file + qdel(G) + + +/datum/plant_gene/trait/noreact + // Makes plant NOREACT until squashed. + name = "Separated Chemicals" + +/datum/plant_gene/trait/noreact/on_new(obj/item/weapon/reagent_containers/food/snacks/grown/G, newloc) + ..() + G.flags |= NOREACT + +/datum/plant_gene/trait/noreact/on_squash(obj/item/weapon/reagent_containers/food/snacks/grown/G, atom/target) + G.flags &= ~NOREACT + G.reagents.handle_reactions() \ No newline at end of file diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index e98d0c111c4..26ce249e646 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -51,9 +51,9 @@ if(!nogenes) // not used on Copy() genes += new /datum/plant_gene/core/lifespan(lifespan) genes += new /datum/plant_gene/core/endurance(endurance) - genes += new /datum/plant_gene/core/production(production) if(yield != -1) genes += new /datum/plant_gene/core/yield(yield) + genes += new /datum/plant_gene/core/production(production) if(potency != -1) genes += new /datum/plant_gene/core/potency(potency) @@ -83,6 +83,12 @@ /obj/item/seeds/proc/get_gene(typepath) return (locate(typepath) in genes) +/obj/item/seeds/proc/reagents_from_genes() + reagents_add = list() + for(var/datum/plant_gene/reagent/R in genes) + reagents_add[R.reagent_id] = R.rate + + /obj/item/seeds/bullet_act(obj/item/projectile/Proj) //Works with the Somatoray to modify plant variables. if(istype(Proj, /obj/item/projectile/energy/florayield)) @@ -120,7 +126,6 @@ var/product_name while(t_amount < getYield()) var/obj/item/weapon/reagent_containers/food/snacks/grown/t_prod = new product(output_loc, src) - prepare_result(t_prod) result.Add(t_prod) // User gets a consumable if(!t_prod) return @@ -164,9 +169,10 @@ C.value = endurance /obj/item/seeds/proc/adjust_production(adjustamt) - production = Clamp(production + adjustamt, 2, 10) - var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/production) - C.value = production + if(yield != -1) + production = Clamp(production + adjustamt, 2, 10) + var/datum/plant_gene/core/C = get_gene(/datum/plant_gene/core/production) + C.value = production /obj/item/seeds/proc/adjust_potency(adjustamt) if(potency != -1) @@ -191,7 +197,8 @@ if(yield != -1) text += "- Yield: [yield]\n" text += "- Maturation speed: [maturation]\n" - text += "- Production speed: [production]\n" + if(yield != -1) + text += "- Production speed: [production]\n" text += "- Endurance: [endurance]\n" text += "- Lifespan: [lifespan]\n" if(rarity) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 17de8229dea..8e3f719d11f 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -63,10 +63,7 @@ other types of metals and chemistry for reagents). /obj/item/weapon/disk/design_disk name = "Component Design Disk" desc = "A disk for storing device design data for construction in lathes." - icon = 'icons/obj/cloning.dmi' - icon_state = "datadisk2" - item_state = "card-id" - w_class = 1 + icon_state = "datadisk1" materials = list(MAT_METAL=30, MAT_GLASS=10) var/datum/design/blueprint diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 154cd02b932..552765519cb 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -105,15 +105,15 @@ research holder datum. for(var/datum/tech/PT in possible_tech) if(TechHasReqs(PT)) AddTech2Known(PT) - + for(var/datum/design/PD in possible_designs) if(DesignHasReqs(PD)) AddDesign2Known(PD) - + for(var/v in known_tech) var/datum/tech/T = known_tech[v] T.level = Clamp(T.level, 1, 20) - + for(var/v in known_designs) var/datum/design/D = known_designs[v] D.CalcReliability(known_tech) @@ -275,10 +275,7 @@ research holder datum. /obj/item/weapon/disk/tech_disk name = "Technology Disk" desc = "A disk for storing technology data for further research." - icon = 'icons/obj/cloning.dmi' - icon_state = "datadisk2" - item_state = "card-id" - w_class = 1 + icon_state = "datadisk0" materials = list(MAT_METAL=30, MAT_GLASS=10) var/datum/tech/stored diff --git a/icons/obj/cloning.dmi b/icons/obj/cloning.dmi index a65c2a43f786ea808c670db8c7afbb4b3a15a07a..5aa439df6bce468e12b350385cd61c7f07d1ec8f 100644 GIT binary patch literal 8985 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 O07y+&wMyA4^uGb4$&f?< diff --git a/icons/obj/module.dmi b/icons/obj/module.dmi index fb68f0bcc653ae3132a4c2db12cae72871804d06..e317e004860ff0132a42e4f8cd9ad5757f57b811 100644 GIT binary patch literal 9771 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 B)Z+jE