From 3b7fc1afc20b99d80c9740ffb048519814eef6c9 Mon Sep 17 00:00:00 2001 From: Lzimann Date: Tue, 13 Jun 2017 15:56:09 -0300 Subject: [PATCH 1/3] Changes a lot of is_type_in_list to use a typecache --- code/game/machinery/camera/camera_assembly.dm | 16 ++++---- code/game/machinery/recharger.dm | 11 ++--- code/game/objects/items/robot/robot_items.dm | 11 +++-- .../atmospherics/machinery/atmosmachinery.dm | 4 +- code/modules/cargo/exports.dm | 9 ++-- .../kitchen_machinery/juicer.dm | 14 +++---- code/modules/hydroponics/grown/towercap.dm | 3 ++ .../mob/living/simple_animal/bot/cleanbot.dm | 6 ++- .../living/simple_animal/friendly/lizard.dm | 19 +++++---- code/modules/mob/living/ventcrawling.dm | 6 ++- .../chemistry/machinery/reagentgrinder.dm | 41 +++++++------------ 11 files changed, 73 insertions(+), 67 deletions(-) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 64e08fcb224..a7e987ba34d 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -15,8 +15,8 @@ obj_integrity = 150 max_integrity = 150 // Motion, EMP-Proof, X-Ray - var/list/obj/item/possible_upgrades = list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/plasma, /obj/item/device/analyzer) - var/list/upgrades = list() + var/static/list/possible_upgrades + var/list/upgrades var/state = 1 /* @@ -26,15 +26,15 @@ 4 = Screwdriver panel closed and is fully built (you cannot attach upgrades) */ -/obj/structure/camera_assembly/New(loc, ndir, building) - ..() +/obj/structure/camera_assembly/Initialize(mapload, ndir, building) + . = ..() if(building) setDir(ndir) + possible_upgrades = typecacheof(list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/plasma, /obj/item/device/analyzer)) + upgrades = list() /obj/structure/camera_assembly/Destroy() - for(var/I in upgrades) - qdel(I) - upgrades.Cut() + QDEL_LIST(upgrades) return ..() /obj/structure/camera_assembly/attackby(obj/item/W, mob/living/user, params) @@ -110,7 +110,7 @@ return // Upgrades! - if(is_type_in_list(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already. + if(is_type_in_typecache(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already. if(!user.drop_item(W)) return to_chat(user, "You attach \the [W] into the assembly inner circuits.") diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 03e95ee2de3..6a65679655c 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -8,12 +8,13 @@ idle_power_usage = 4 active_power_usage = 250 var/obj/item/charging = null - var/list/allowed_devices = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/ammo_box/magazine/recharge,/obj/item/device/modular_computer) + var/static/list/allowed_devices var/recharge_coeff = 1 -/obj/machinery/recharger/New() - ..() - var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/recharger(null) +/obj/machinery/recharger/Initialize() + . = ..() + allowed_devices = typecacheof(list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/ammo_box/magazine/recharge,/obj/item/device/modular_computer)) + var/obj/item/weapon/circuitboard/machine/recharger/B = new() B.apply_default_parts(src) /obj/item/weapon/circuitboard/machine/recharger @@ -37,7 +38,7 @@ playsound(loc, G.usesound, 75, 1) return - var/allowed = is_type_in_list(G, allowed_devices) + var/allowed = is_type_in_typecache(G, allowed_devices) if(allowed) if(anchored) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 723a2fed46f..68dbc933595 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -154,10 +154,13 @@ icon_state = "charger_draw" flags = NOBLUDGEON var/mode = "draw" - var/list/charge_machines = list(/obj/machinery/cell_charger, /obj/machinery/recharger, - /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port) - var/list/charge_items = list(/obj/item/weapon/stock_parts/cell, /obj/item/weapon/gun/energy, - ) + var/static/list/charge_machines + var/static/list/charge_items + +/obj/item/borg/charger/Initialize() + . = ..() + charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port)) + charge_items = typecacheof(list(/obj/item/weapon/stock_parts/cell, /obj/item/weapon/gun/energy)) /obj/item/borg/charger/update_icon() ..() diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index ddabc541d5c..7a12fe18397 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -243,7 +243,7 @@ Pipelines + Other Objects -> Pipe network var/obj/machinery/atmospherics/target_move = findConnecting(direction) if(target_move) if(target_move.can_crawl_through()) - if(is_type_in_list(target_move, GLOB.ventcrawl_machinery)) + if(is_type_in_typecache(target_move, GLOB.ventcrawl_machinery)) user.forceMove(target_move.loc) //handle entering and so on. user.visible_message("You hear something squeezing through the ducts...","You climb out the ventilation system.") else @@ -256,7 +256,7 @@ Pipelines + Other Objects -> Pipe network user.last_played_vent = world.time playsound(src, 'sound/machines/ventcrawl.ogg', 50, 1, -3) else - if((direction & initialize_directions) || is_type_in_list(src, GLOB.ventcrawl_machinery) && can_crawl_through()) //if we move in a way the pipe can connect, but doesn't - or we're in a vent + if((direction & initialize_directions) || is_type_in_typecache(src, GLOB.ventcrawl_machinery) && can_crawl_through()) //if we move in a way the pipe can connect, but doesn't - or we're in a vent user.forceMove(src.loc) user.visible_message("You hear something squeezing through the ducts...","You climb out the ventilation system.") user.canmove = 0 diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index b4a99d2a28e..36a667bc232 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -71,11 +71,14 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they var/total_cost = 0 var/total_amount = 0 var/init_cost - + /datum/export/New() ..() SSprocessing.processing += src init_cost = cost + export_types = typecacheof(export_types) + exclude_types = typecacheof(exclude_types) + /datum/export/Destroy() SSprocessing.processing -= src @@ -108,7 +111,7 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they return FALSE if(!include_subtypes && !(O.type in export_types)) return FALSE - if(include_subtypes && (!is_type_in_list(O, export_types) || is_type_in_list(O, exclude_types))) + if(include_subtypes && (!is_type_in_typecache(O, export_types) || is_type_in_typecache(O, exclude_types))) return FALSE if(!get_cost(O, contr, emag)) return FALSE @@ -127,7 +130,7 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they total_amount += amount*MINERAL_MATERIAL_AMOUNT else total_amount += amount - + cost *= GLOB.E**(-1*k_elasticity*amount) //marginal cost modifier SSblackbox.add_details("export_sold_amount","[O.type]|[amount]") SSblackbox.add_details("export_sold_cost","[O.type]|[the_cost]") diff --git a/code/modules/food_and_drinks/kitchen_machinery/juicer.dm b/code/modules/food_and_drinks/kitchen_machinery/juicer.dm index 5770adc5394..5421a2ab9fd 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/juicer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/juicer.dm @@ -11,8 +11,12 @@ idle_power_usage = 5 active_power_usage = 100 pass_flags = PASSTABLE - var/obj/item/weapon/reagent_containers/beaker = null - var/global/list/allowed_items = list ( + var/obj/item/weapon/reagent_containers/beaker + var/static/list/allowed_items + +/obj/machinery/juicer/Initialize() + beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + allowed_items = typecacheof(list( /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = "tomatojuice", /obj/item/weapon/reagent_containers/food/snacks/grown/carrot = "carrotjuice", /obj/item/weapon/reagent_containers/food/snacks/grown/berries = "berryjuice", @@ -27,11 +31,7 @@ /obj/item/weapon/reagent_containers/food/snacks/watermelonslice = "watermelonjuice", /obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison = "poisonberryjuice", /obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin = "pumpkinjuice", - /obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin = "blumpkinjuice", - ) - -/obj/machinery/juicer/New() - beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + /obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin = "blumpkinjuice")) /obj/machinery/juicer/update_icon() icon_state = "juicer"+num2text(!isnull(beaker)) diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index dd322e57d39..eb9f3e35f17 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -50,6 +50,9 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus, /obj/item/weapon/reagent_containers/food/snacks/grown/wheat) +/obj/item/weapon/grown/log/Initialize() + . = ..() + accepted = typecacheof(accepted) /obj/item/weapon/grown/log/attackby(obj/item/weapon/W, mob/user, params) if(W.sharpness) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 190e6a7db4f..4497ae72f15 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -21,7 +21,7 @@ var/trash = 0 var/pests = 0 - var/list/target_types = list() + var/list/target_types var/obj/effect/decal/cleanable/target var/max_targets = 50 //Maximum number of targets a cleanbot can ignore. var/oldloc = null @@ -32,7 +32,7 @@ var/next_dest_loc /mob/living/simple_animal/bot/cleanbot/Initialize() - ..() + . = ..() get_targets() icon_state = "cleanbot[on]" @@ -193,6 +193,8 @@ if(trash) target_types += /obj/item/trash + target_types = typecacheof(target_types) + /mob/living/simple_animal/bot/cleanbot/UnarmedAttack(atom/A) if(istype(A, /obj/effect/decal/cleanable)) anchored = 1 diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index ce8c0f0a334..c3e74ec7d5a 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -21,20 +21,23 @@ gold_core_spawnable = 2 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - var/list/edibles = list(/mob/living/simple_animal/butterfly,/mob/living/simple_animal/cockroach) //list of atoms, however turfs won't affect AI, but will affect consumption. + var/static/list/edibles + +/mob/living/simple_animal/hostile/lizard/Initialize() + . = ..() + edibles = typecacheof(list(/mob/living/simple_animal/butterfly,/mob/living/simple_animal/cockroach)) //list of atoms, however turfs won't affect AI, but will affect consumption. /mob/living/simple_animal/hostile/lizard/CanAttack(atom/the_target)//Can we actually attack a possible target? if(see_invisible < the_target.invisibility)//Target's invisible to us, forget it - return 0 - if(is_type_in_list(the_target,edibles)) - return 1 - return 0 + return FALSE + if(is_type_in_typecache(the_target,edibles)) + return TRUE + return FALSE /mob/living/simple_animal/hostile/lizard/AttackingTarget() - if(is_type_in_list(target,edibles)) //Makes sure player lizards only consume edibles. + if(is_type_in_typecache(target,edibles)) //Makes sure player lizards only consume edibles. visible_message("[name] consumes [target] in a single gulp", "You consume [target] in a single gulp") - qdel(target) //Nom - target = null + QDEL_NULL(target) //Nom adjustBruteLoss(-2) return TRUE else diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index a1430f6cd43..471e103c260 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -1,5 +1,7 @@ -GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/components/unary/vent_pump, /obj/machinery/atmospherics/components/unary/vent_scrubber)) +GLOBAL_LIST_INIT(ventcrawl_machinery, typecacheof(list( + /obj/machinery/atmospherics/components/unary/vent_pump, + /obj/machinery/atmospherics/components/unary/vent_scrubber))) //VENTCRAWLING @@ -32,7 +34,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/component if(!vent_found) for(var/obj/machinery/atmospherics/machine in range(1,src)) - if(is_type_in_list(machine, GLOB.ventcrawl_machinery)) + if(is_type_in_typecache(machine, GLOB.ventcrawl_machinery)) vent_found = machine if(!vent_found.can_crawl_through()) diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index b929337a139..af6b9016667 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -13,8 +13,16 @@ var/operating = FALSE var/obj/item/weapon/reagent_containers/beaker = null var/limit = 10 - var/list/blend_items = list ( + var/static/list/blend_items + var/static/list/juice_items + var/static/list/dried_items + var/list/holdingitems = list() + +/obj/machinery/reagentgrinder/Initialize() + . = ..() + beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + blend_items = typecacheof(list( //Sheets /obj/item/stack/sheet/mineral/plasma = list("plasma" = 20), /obj/item/stack/sheet/metal = list("iron" = 20), @@ -31,7 +39,6 @@ /obj/item/weapon/grown/nettle/basic = list("sacid" = 0), /obj/item/weapon/grown/nettle/death = list("facid" = 0, "sacid" = 0), /obj/item/weapon/grown/novaflower = list("capsaicin" = 0, "condensedcapsaicin" = 0), - //Blender Stuff /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans = list("soymilk" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("ketchup" = 0), @@ -42,25 +49,18 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/cherries = list("cherryjelly" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries = list("bluecherryjelly" = 0), /obj/item/weapon/reagent_containers/food/snacks/egg = list("eggyolk" = -5), - //Grinder stuff, but only if dry /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0), - - //All types that you can put into the grinder to transfer the reagents to the beaker. !Put all recipes above this.! /obj/item/slime_extract = list(), /obj/item/weapon/reagent_containers/pill = list(), /obj/item/weapon/reagent_containers/food = list(), /obj/item/weapon/reagent_containers/honeycomb = list(), - /obj/item/toy/crayon = list() - - ) - - var/list/juice_items = list ( - + /obj/item/toy/crayon = list())) + juice_items = typecacheof(list( //Juicer Stuff /obj/item/weapon/reagent_containers/food/snacks/grown/corn = list("corn_starch" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("tomatojuice" = 0), @@ -78,27 +78,16 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin = list("blumpkinjuice" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/apple = list("applejuice" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/grapes = list("grapejuice" = 0), - /obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green = list("grapejuice" = 0), - ) - - var/list/dried_items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green = list("grapejuice" = 0))) + dried_items = typecacheof(list( //Grinder stuff, but only if dry, /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0), - /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0) - ) - - var/list/holdingitems = list() - -/obj/machinery/reagentgrinder/Initialize() - . = ..() - beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0))) /obj/machinery/reagentgrinder/Destroy() - if(beaker) - qdel(beaker) - beaker = null + QDEL_NULL(beaker) return ..() /obj/machinery/reagentgrinder/contents_explosion(severity, target) From 21f4f8311b7c62046b14106b69ea024ac4a44c54 Mon Sep 17 00:00:00 2001 From: Lzimann Date: Tue, 13 Jun 2017 16:11:54 -0300 Subject: [PATCH 2/3] This wasn't supposed to be a typecache --- .../reagents/chemistry/machinery/reagentgrinder.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index af6b9016667..5704e208723 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -22,7 +22,7 @@ /obj/machinery/reagentgrinder/Initialize() . = ..() beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) - blend_items = typecacheof(list( + blend_items = list( //Sheets /obj/item/stack/sheet/mineral/plasma = list("plasma" = 20), /obj/item/stack/sheet/metal = list("iron" = 20), @@ -59,8 +59,8 @@ /obj/item/weapon/reagent_containers/pill = list(), /obj/item/weapon/reagent_containers/food = list(), /obj/item/weapon/reagent_containers/honeycomb = list(), - /obj/item/toy/crayon = list())) - juice_items = typecacheof(list( + /obj/item/toy/crayon = list()) + juice_items = list( //Juicer Stuff /obj/item/weapon/reagent_containers/food/snacks/grown/corn = list("corn_starch" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("tomatojuice" = 0), @@ -78,13 +78,13 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin = list("blumpkinjuice" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/apple = list("applejuice" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/grapes = list("grapejuice" = 0), - /obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green = list("grapejuice" = 0))) - dried_items = typecacheof(list( + /obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green = list("grapejuice" = 0)) + dried_items = list( //Grinder stuff, but only if dry, /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0), - /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0))) + /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0)) /obj/machinery/reagentgrinder/Destroy() QDEL_NULL(beaker) From 42aa0dd3aae41b616b140b5ee9a70c4995d7a609 Mon Sep 17 00:00:00 2001 From: Lzimann Date: Sat, 17 Jun 2017 09:50:21 -0300 Subject: [PATCH 3/3] Changes all the typecaches to the obj definition --- code/game/machinery/camera/camera_assembly.dm | 3 +-- code/game/machinery/recharger.dm | 3 +-- code/game/objects/items/robot/robot_items.dm | 6 ++--- .../kitchen_machinery/juicer.dm | 12 +++++----- code/modules/hydroponics/grown/towercap.dm | 2 +- .../mob/living/simple_animal/bot/cleanbot.dm | 2 +- .../living/simple_animal/friendly/lizard.dm | 6 +---- .../chemistry/machinery/reagentgrinder.dm | 22 +++++++++---------- 8 files changed, 24 insertions(+), 32 deletions(-) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index a7e987ba34d..1f0b638ffa9 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -15,7 +15,7 @@ obj_integrity = 150 max_integrity = 150 // Motion, EMP-Proof, X-Ray - var/static/list/possible_upgrades + var/static/list/possible_upgrades = typecacheof(list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/plasma, /obj/item/device/analyzer)) var/list/upgrades var/state = 1 @@ -30,7 +30,6 @@ . = ..() if(building) setDir(ndir) - possible_upgrades = typecacheof(list(/obj/item/device/assembly/prox_sensor, /obj/item/stack/sheet/mineral/plasma, /obj/item/device/analyzer)) upgrades = list() /obj/structure/camera_assembly/Destroy() diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 6a65679655c..357a9bd8522 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -8,12 +8,11 @@ idle_power_usage = 4 active_power_usage = 250 var/obj/item/charging = null - var/static/list/allowed_devices + var/static/list/allowed_devices = typecacheof(list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/ammo_box/magazine/recharge,/obj/item/device/modular_computer)) var/recharge_coeff = 1 /obj/machinery/recharger/Initialize() . = ..() - allowed_devices = typecacheof(list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/ammo_box/magazine/recharge,/obj/item/device/modular_computer)) var/obj/item/weapon/circuitboard/machine/recharger/B = new() B.apply_default_parts(src) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 68dbc933595..645941af835 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -154,13 +154,11 @@ icon_state = "charger_draw" flags = NOBLUDGEON var/mode = "draw" - var/static/list/charge_machines - var/static/list/charge_items + var/static/list/charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port)) + var/static/list/charge_items = typecacheof(list(/obj/item/weapon/stock_parts/cell, /obj/item/weapon/gun/energy)) /obj/item/borg/charger/Initialize() . = ..() - charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port)) - charge_items = typecacheof(list(/obj/item/weapon/stock_parts/cell, /obj/item/weapon/gun/energy)) /obj/item/borg/charger/update_icon() ..() diff --git a/code/modules/food_and_drinks/kitchen_machinery/juicer.dm b/code/modules/food_and_drinks/kitchen_machinery/juicer.dm index 5421a2ab9fd..176430bdbb5 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/juicer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/juicer.dm @@ -12,11 +12,7 @@ active_power_usage = 100 pass_flags = PASSTABLE var/obj/item/weapon/reagent_containers/beaker - var/static/list/allowed_items - -/obj/machinery/juicer/Initialize() - beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) - allowed_items = typecacheof(list( + var/static/list/allowed_items = list( /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = "tomatojuice", /obj/item/weapon/reagent_containers/food/snacks/grown/carrot = "carrotjuice", /obj/item/weapon/reagent_containers/food/snacks/grown/berries = "berryjuice", @@ -31,7 +27,11 @@ /obj/item/weapon/reagent_containers/food/snacks/watermelonslice = "watermelonjuice", /obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison = "poisonberryjuice", /obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin = "pumpkinjuice", - /obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin = "blumpkinjuice")) + /obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin = "blumpkinjuice") + +/obj/machinery/juicer/Initialize() + . = ..() + beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) /obj/machinery/juicer/update_icon() icon_state = "juicer"+num2text(!isnull(beaker)) diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index eb9f3e35f17..e03027d06ed 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -69,7 +69,7 @@ to_chat(user, "You add the newly-formed [plank_name] to the stack. It now contains [plank.amount] [plank_name].") qdel(src) - if(is_type_in_list(W,accepted)) + if(is_type_in_typecache(W,accepted)) var/obj/item/weapon/reagent_containers/food/snacks/grown/leaf = W if(leaf.dry) user.show_message("You wrap \the [W] around the log, turning it into a torch!") diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 4497ae72f15..190a581d489 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -87,7 +87,7 @@ var/mob/living/carbon/C = A if(C.stat != DEAD && C.lying) return C - else if(is_type_in_list(A, target_types)) + else if(is_type_in_typecache(A, target_types)) return A /mob/living/simple_animal/bot/cleanbot/handle_automated_action() diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index c3e74ec7d5a..b5783aa4f2d 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -21,11 +21,7 @@ gold_core_spawnable = 2 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - var/static/list/edibles - -/mob/living/simple_animal/hostile/lizard/Initialize() - . = ..() - edibles = typecacheof(list(/mob/living/simple_animal/butterfly,/mob/living/simple_animal/cockroach)) //list of atoms, however turfs won't affect AI, but will affect consumption. + var/static/list/edibles = typecacheof(list(/mob/living/simple_animal/butterfly,/mob/living/simple_animal/cockroach)) //list of atoms, however turfs won't affect AI, but will affect consumption. /mob/living/simple_animal/hostile/lizard/CanAttack(atom/the_target)//Can we actually attack a possible target? if(see_invisible < the_target.invisibility)//Target's invisible to us, forget it diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 5704e208723..09f56960a75 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -13,16 +13,8 @@ var/operating = FALSE var/obj/item/weapon/reagent_containers/beaker = null var/limit = 10 - var/static/list/blend_items - var/static/list/juice_items - var/static/list/dried_items - var/list/holdingitems = list() - -/obj/machinery/reagentgrinder/Initialize() - . = ..() - beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) - blend_items = list( + var/static/list/blend_items = list( //Sheets /obj/item/stack/sheet/mineral/plasma = list("plasma" = 20), /obj/item/stack/sheet/metal = list("iron" = 20), @@ -60,7 +52,8 @@ /obj/item/weapon/reagent_containers/food = list(), /obj/item/weapon/reagent_containers/honeycomb = list(), /obj/item/toy/crayon = list()) - juice_items = list( + + var/static/list/juice_items = list( //Juicer Stuff /obj/item/weapon/reagent_containers/food/snacks/grown/corn = list("corn_starch" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("tomatojuice" = 0), @@ -79,13 +72,20 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/apple = list("applejuice" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/grapes = list("grapejuice" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green = list("grapejuice" = 0)) - dried_items = list( + + var/static/list/dried_items = list( //Grinder stuff, but only if dry, /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0)) + var/list/holdingitems = list() + +/obj/machinery/reagentgrinder/Initialize() + . = ..() + beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + /obj/machinery/reagentgrinder/Destroy() QDEL_NULL(beaker) return ..()