From ad3706172b038ed347b831b2aa3077541fd5aa09 Mon Sep 17 00:00:00 2001 From: Adamo Date: Tue, 19 Dec 2023 23:27:07 -0500 Subject: [PATCH] Mod overhauled. --- combat.lua | 404 ++++ data-updates.lua | 389 ++-- data.lua | 1969 +---------------- graphics/icons/HEU-PUREX.png | Bin 6564 -> 6668 bytes graphics/icons/HEU-sludge.png | Bin 0 -> 5285 bytes graphics/icons/HEU-spent.png | Bin 0 -> 6407 bytes graphics/icons/LEU-PUREX.png | Bin 6579 -> 6708 bytes graphics/icons/LEU-sludge.png | Bin 0 -> 5472 bytes graphics/icons/RGHEU-hex.png | Bin 0 -> 2302 bytes graphics/icons/RGHEU.png | Bin 0 -> 6407 bytes graphics/icons/RGLEU-hex.png | Bin 0 -> 2311 bytes graphics/icons/RGLEU.png | Bin 0 -> 6730 bytes graphics/icons/WGPu-fuel-cell.png | Bin 0 -> 6615 bytes graphics/icons/WGU-hex.png | Bin 2296 -> 2341 bytes graphics/icons/WGU.png | Bin 2448 -> 2262 bytes graphics/icons/activated-green-fuel-cell.png | Bin 0 -> 6681 bytes graphics/icons/activated-green-oxide.png | Bin 0 -> 2262 bytes graphics/icons/activated-grey-hex.png | Bin 0 -> 2296 bytes graphics/icons/activated-grey-oxide.png | Bin 0 -> 2448 bytes .../{LEU-fuel-cell.png => blue-fuel-cell.png} | Bin ...-MOX-fuel-cell.png => brown-fuel-cell.png} | Bin .../{HEU-fuel-cell.png => cyan-fuel-cell.png} | Bin ...{MOX-fuel-cell.png => green-fuel-cell.png} | Bin graphics/icons/oxide-green.png | Bin 0 -> 2262 bytes ...LEU-fuel-cell.png => purple-fuel-cell.png} | Bin ...up-HEU-fuel-cell.png => red-fuel-cell.png} | Bin graphics/icons/yellow-fuel-cell.png | Bin 0 -> 6613 bytes groups.lua | 76 + locale/en/base.cfg | 113 +- machines.lua | 491 ++++ materials.lua | 307 +++ migrations/overhaul.json | 17 + processing.lua | 486 ++++ 33 files changed, 2050 insertions(+), 2202 deletions(-) create mode 100644 combat.lua create mode 100644 graphics/icons/HEU-sludge.png create mode 100644 graphics/icons/HEU-spent.png create mode 100644 graphics/icons/LEU-sludge.png create mode 100644 graphics/icons/RGHEU-hex.png create mode 100644 graphics/icons/RGHEU.png create mode 100644 graphics/icons/RGLEU-hex.png create mode 100644 graphics/icons/RGLEU.png create mode 100644 graphics/icons/WGPu-fuel-cell.png create mode 100644 graphics/icons/activated-green-fuel-cell.png create mode 100644 graphics/icons/activated-green-oxide.png create mode 100644 graphics/icons/activated-grey-hex.png create mode 100644 graphics/icons/activated-grey-oxide.png rename graphics/icons/{LEU-fuel-cell.png => blue-fuel-cell.png} (100%) rename graphics/icons/{used-up-MOX-fuel-cell.png => brown-fuel-cell.png} (100%) rename graphics/icons/{HEU-fuel-cell.png => cyan-fuel-cell.png} (100%) rename graphics/icons/{MOX-fuel-cell.png => green-fuel-cell.png} (100%) create mode 100644 graphics/icons/oxide-green.png rename graphics/icons/{used-up-LEU-fuel-cell.png => purple-fuel-cell.png} (100%) rename graphics/icons/{used-up-HEU-fuel-cell.png => red-fuel-cell.png} (100%) create mode 100644 graphics/icons/yellow-fuel-cell.png create mode 100644 groups.lua create mode 100644 machines.lua create mode 100644 materials.lua create mode 100644 migrations/overhaul.json create mode 100644 processing.lua diff --git a/combat.lua b/combat.lua new file mode 100644 index 0000000..fc06e8e --- /dev/null +++ b/combat.lua @@ -0,0 +1,404 @@ +plutonium_rocket_recipe = { + type = "recipe", + name = "adamo-nuclear-thermonuclear-rocket", + energy_required = 50, + order = "d[rocket-launcher]-n[adamo-nuclear-thermonuclear-rocket]", + enabled = false, + -- main_product = "adamo-nuclear-thermonuclear-rocket", + ingredients = { + {"rocket",1}, + {"explosives",1}, + {"rocket-control-unit",1}, + {WGPu_fuel_item.name,1} + }, + result = "atomic-bomb", +} +plutonium_explosion_wave = { + type = "projectile", + name = "adamo-nuclear-atomic-explosion-wave", + flags = {"not-on-map"}, + acceleration = 0, + action = + { + { + type = "direct", + action_delivery = + { + type = "instant", + target_effects = + { + { + type = "create-entity", + entity_name = "explosion" + } + } + } + }, + { + type = "area", + radius = 3, + action_delivery = + { + type = "instant", + target_effects = + { + type = "damage", + damage = {amount = 1000, type = "explosion"} + } + } + } + }, + animation = + { + filename = "__core__/graphics/empty.png", + frame_count = 1, + width = 1, + height = 1, + priority = "high" + }, + shadow = + { + filename = "__core__/graphics/empty.png", + frame_count = 1, + width = 1, + height = 1, + priority = "high" + } +} +plutonium_rocket_projectile = { + type = "projectile", + name = "adamo-nuclear-thermonuclear-rocket-projectile", + flags = {"not-on-map"}, + acceleration = 0.005, + action = + { + type = "direct", + action_delivery = + { + type = "instant", + target_effects = + { + { + type = "set-tile", + tile_name = "nuclear-ground", + radius = 20, + apply_projection = true, + tile_collision_mask = { "water-tile" } + }, + { + type = "destroy-cliffs", + radius = 16, + explosion = "explosion" + }, + { + type = "create-entity", + entity_name = "nuke-explosion" + }, + { + type = "camera-effect", + effect = "screen-burn", + duration = 60, + ease_in_duration = 5, + ease_out_duration = 60, + delay = 0, + strength = 6, + full_strength_max_distance = 200, + max_distance = 800 + }, + { + type = "play-sound", + sound = require("__base__/prototypes/entity/sounds").nuclear_explosion(0.9), + play_on_target_position = false, + -- min_distance = 200, + max_distance = 1000, + -- volume_modifier = 1, + audible_distance_modifier = 3 + }, + { + type = "play-sound", + sound = require("__base__/prototypes/entity/sounds").nuclear_explosion_aftershock(0.4), + play_on_target_position = false, + -- min_distance = 200, + max_distance = 1000, + -- volume_modifier = 1, + audible_distance_modifier = 3 + }, + { + type = "create-entity", + entity_name = "huge-scorchmark", + offsets = {{ 0, -0.5 }}, + check_buildability = true + }, + { + type = "invoke-tile-trigger", + repeat_count = 1 + }, + { + type = "destroy-decoratives", + include_soft_decoratives = true, -- soft decoratives are decoratives with grows_through_rail_path = true + include_decals = true, + invoke_decorative_trigger = true, + decoratives_with_trigger_only = false, -- if true, destroys only decoratives that have trigger_effect set + radius = 14 -- large radius for demostrative purposes + }, + { + type = "create-decorative", + decorative = "nuclear-ground-patch", + spawn_min_radius = 11.5, + spawn_max_radius = 12.5, + spawn_min = 30, + spawn_max = 40, + apply_projection = true, + spread_evenly = true + }, + { + type = "nested-result", + action = + { + type = "area", + target_entities = false, + trigger_from_target = true, + repeat_count = 1000, + radius = 7, + action_delivery = + { + type = "projectile", + projectile = "atomic-bomb-ground-zero-projectile", + starting_speed = 0.6 * 0.8, + starting_speed_deviation = nuke_shockwave_starting_speed_deviation + } + } + }, + { + type = "nested-result", + action = + { + type = "area", + target_entities = false, + trigger_from_target = true, + repeat_count = 1000, + radius = 35, + action_delivery = + { + type = "projectile", + projectile = "atomic-bomb-wave", + starting_speed = 0.5 * 0.7, + starting_speed_deviation = nuke_shockwave_starting_speed_deviation + } + } + }, + { + type = "nested-result", + action = + { + type = "area", + show_in_tooltip = false, + target_entities = false, + trigger_from_target = true, + repeat_count = 1000, + radius = 26, + action_delivery = + { + type = "projectile", + projectile = "atomic-bomb-wave-spawns-cluster-nuke-explosion", + starting_speed = 0.5 * 0.7, + starting_speed_deviation = nuke_shockwave_starting_speed_deviation + } + } + }, + { + type = "nested-result", + action = + { + type = "area", + show_in_tooltip = false, + target_entities = false, + trigger_from_target = true, + repeat_count = 700, + radius = 4, + action_delivery = + { + type = "projectile", + projectile = "atomic-bomb-wave-spawns-fire-smoke-explosion", + starting_speed = 0.5 * 0.65, + starting_speed_deviation = nuke_shockwave_starting_speed_deviation + } + } + }, + { + type = "nested-result", + action = + { + type = "area", + show_in_tooltip = false, + target_entities = false, + trigger_from_target = true, + repeat_count = 1000, + radius = 8, + action_delivery = + { + type = "projectile", + projectile = "atomic-bomb-wave-spawns-nuke-shockwave-explosion", + starting_speed = 0.5 * 0.65, + starting_speed_deviation = nuke_shockwave_starting_speed_deviation + } + } + }, + { + type = "nested-result", + action = + { + type = "area", + show_in_tooltip = false, + target_entities = false, + trigger_from_target = true, + repeat_count = 300, + radius = 26, + action_delivery = + { + type = "projectile", + projectile = "atomic-bomb-wave-spawns-nuclear-smoke", + starting_speed = 0.5 * 0.65, + starting_speed_deviation = nuke_shockwave_starting_speed_deviation + } + } + }, + { + type = "nested-result", + action = + { + type = "area", + show_in_tooltip = false, + target_entities = false, + trigger_from_target = true, + repeat_count = 10, + radius = 8, + action_delivery = + { + type = "instant", + target_effects = + { + { + type = "create-entity", + entity_name = "nuclear-smouldering-smoke-source", + tile_collision_mask = { "water-tile" } + } + } + } + } + }, + { + repeat_count = 150, + type = "create-trivial-smoke", + smoke_name = "nuclear-smoke", + offset_deviation = {{-1, -1}, {1, 1}}, + starting_frame = 3, + starting_frame_deviation = 5, + starting_frame_speed = 0, + starting_frame_speed_deviation = 5, + speed_from_center = 0.5 + }, + -- { + -- type = "create-entity", + -- entity_name = "explosion" + -- }, + { + type = "damage", + damage = {amount = 1000, type = "explosion"} + }, + { + type = "create-entity", + entity_name = "small-scorchmark", + check_buildability = true + }, + { + type = "nested-result", + action = + { + type = "area", + target_entities = false, + trigger_from_target = true, + repeat_count = 2000, + radius = 35, + action_delivery = + { + type = "projectile", + projectile = "adamo-nuclear-atomic-explosion-wave", + starting_speed = 0.5 + } + } + } + } + } + }, + light = {intensity = 0.8, size = 15}, + animation = + { + filename = + "__base__/graphics/entity/" + .."rocket/rocket.png", + frame_count = 8, + line_length = 8, + width = 9, + height = 35, + shift = {0, 0}, + priority = "high" + }, + shadow = + { + filename = + "__base__/graphics/entity/" + .."rocket/rocket-shadow.png", + frame_count = 1, + width = 7, + height = 24, + priority = "high", + shift = {0, 0} + }, + smoke = + { + { + name = "smoke-fast", + deviation = {0.15, 0.15}, + frequency = 1, + position = {0, 1}, + slow_down_factor = 1, + starting_frame = 3, + starting_frame_deviation = 5, + starting_frame_speed = 0, + starting_frame_speed_deviation = 5 + } + } +} +plutonium_rocket_ammo = { + type = "ammo", + name = "adamo-nuclear-thermonuclear-rocket", + subgroup = "ammo", + order = "d[rocket-launcher]-r[adamo-nuclear-thermonuclear-rocket]", + stack_size = 10, + icon = "__base__/graphics/icons/atomic-bomb.png", + icon_size = 64, + icon_mipmaps = 4, + ammo_type = + { + range_modifier = 3, + cooldown_modifier = 3, + target_type = "position", + category = "rocket", + action = + { + type = "direct", + action_delivery = + { + type = "projectile", + projectile = "adamo-nuclear-thermonuclear-rocket-projectile", + starting_speed = 0.05, + source_effects = + { + type = "create-entity", + entity_name = "explosion-hit" + } + } + } + } +} diff --git a/data-updates.lua b/data-updates.lua index a509bf1..a37804f 100644 --- a/data-updates.lua +++ b/data-updates.lua @@ -1,12 +1,12 @@ require("factsheet") -replace_recipe_io( +adamo.recipe.replace.resource( data.raw.recipe["textplate-small-uranium"], "uranium-238", "adamo-nuclear-DU-oxide" ) -replace_recipe_io( +adamo.recipe.replace.resource( data.raw.recipe["textplate-large-uranium"], "uranium-238", "adamo-nuclear-DU-oxide" @@ -20,27 +20,6 @@ if appmod and type(appmod) == "table" then appmod.blacklist["adamo-nuclear-production-reactor"] = true end -data.raw.item["centrifuge"].subgroup = "adamo-nuclear-production-machine" -data.raw.item["centrifuge"].order = "n[centrifuge]" -data.raw["assembling-machine"].centrifuge.fluid_boxes = adamo.centrifuge.fluid_boxes() - -local reactor_coolant_color = {r = 1,g = 0.9,b = 0.8,a = 1} - --- Hide vanilla items. -data.raw.item["uranium-235"].hidden = true -data.raw.item["uranium-238"].hidden = true -if not data.raw.item["uranium-235"].flags then - data.raw.item["uranium-235"].flags = {} -end -if not data.raw.item["uranium-238"].flags then - data.raw.item["uranium-238"].flags = {} -end -table.insert(data.raw.item["uranium-235"].flags,"hidden") -table.insert(data.raw.item["uranium-238"].flags,"hidden") -data.raw.recipe["kovarex-enrichment-process"].hidden = true -data.raw.recipe["nuclear-fuel-reprocessing"].hidden = true -data.raw.recipe["uranium-processing"].hidden = true - -- Hide some mod recipes if data.raw.recipe["MOX-fuel"] then data.raw.recipe["MOX-fuel"].hidden = true @@ -61,112 +40,194 @@ if data.raw.recipe["plutonium-239-alpha-decay"] then data.raw.recipe["plutonium-239-alpha-decay"].hidden = true end -local ore = data.raw.item["uranium-ore"] -local heu_fuel_recipe = data.raw.recipe["uranium-fuel-cell"] -local heu_fuel_item = data.raw.item["uranium-fuel-cell"] -local heu_used_fuel_item = data.raw.item["used-up-uranium-fuel-cell"] -local nuclear_fuel_recipe = data.raw.recipe["nuclear-fuel"] -local nuclear_fuel_item = data.raw.item["nuclear-fuel"] -local ammo = data.raw.recipe["uranium-rounds-magazine"] -local shell = data.raw.recipe["uranium-cannon-shell"] -local explosive_shell = data.raw.recipe["explosive-uranium-cannon-shell"] -local atomic_bomb = data.raw.recipe["atomic-bomb"] -local reactor_item = data.raw.item["nuclear-reactor"] -local reactor = data.raw.reactor["nuclear-reactor"] +local vanilla_uranium_235 = data.raw.item["uranium-235"] +local vanilla_uranium_238 = data.raw.item["uranium-238"] +local kovarex_recipe = data.raw.recipe["kovarex-enrichment-process"] +local kovarex_tech = data.raw.technology["kovarex-enrichment-process"] +local reprocessing_recipe = data.raw.recipe["nuclear-fuel-reprocessing"] +local reprocessing_tech = data.raw.technology["nuclear-fuel-reprocessing"] +local vanilla_processing = data.raw.recipe["uranium-processing"] +local centrifuge_item = data.raw.item["centrifuge"] +local centrifuge_entity = data.raw["assembling-machine"].centrifuge +local ore = data.raw.item["uranium-ore"] +local heu_fuel_recipe = data.raw.recipe["uranium-fuel-cell"] +local heu_fuel_item = data.raw.item["uranium-fuel-cell"] +local heu_used_fuel_item = data.raw.item["used-up-uranium-fuel-cell"] +local nuclear_fuel_recipe = data.raw.recipe["nuclear-fuel"] +local nuclear_fuel_item = data.raw.item["nuclear-fuel"] +local ammo = data.raw.recipe["uranium-rounds-magazine"] +local shell = data.raw.recipe["uranium-cannon-shell"] +local explosive_shell = data.raw.recipe["explosive-uranium-cannon-shell"] +local atomic_bomb = data.raw.ammo["atomic-bomb"] +local atomic_bomb_recipe = data.raw.recipe["atomic-bomb"] +local nuclear_power_tech = data.raw.technology["nuclear-power"] +local uranium_tech = data.raw.technology["uranium-processing"] +local reactor_item = data.raw.item["nuclear-reactor"] +local reactor_recipe = data.raw.recipe["nuclear-reactor"] +local reactor = data.raw.reactor["nuclear-reactor"] +local hf_fluid = data.raw.fluid["adamo-chemical-hydrofluoric-acid"] +local FeU_recipe = table.deepcopy(data.raw.recipe["steel-plate"]) +local fe_name,fe_count = adamo.recipe.get.ingredient(FeU_recipe,'iron-plate') +local reactor_heat_layer = reactor.heat_buffer.heat_picture +local reactor_glow_layer = reactor.heat_buffer.heat_glow +local reactor_coolant_color = {r = 1,g = 0.9,b = 0.8,a = 1} + +adamo.recipe.set.tech(nuclear_power_tech.name,heu_fuel_recipe.name) + +if not hf_fluid then adamo.apply.hf_from_stone("adamo-nuclear",uranium_tech.name) end + +FeU_recipe.name = "adamo-nuclear-steel-plate" +FeU_recipe.subgroup = products_group.name +adamo.recipe.add.ingredient(FeU_recipe,'adamo-nuclear-DU-oxide',fe_count) +adamo.recipe.replace.resource(FeU_recipe,'iron-plate','iron-ore') +adamo.recipe.scale.resources(FeU_recipe,2,'steel-plate') +adamo.recipe.set.productivity(FeU_recipe) +data:extend({FeU_recipe}) + +adamo.tech.add.recipe("uranium-processing","adamo-nuclear-steel-plate") +adamo.tech.add.prereq(kovarex_tech.name,reprocessing_tech.name) + +kovarex_recipe.hidden = true +reprocessing_recipe.hidden = true +vanilla_processing.hidden = true +vanilla_uranium_235.hidden = true +vanilla_uranium_238.hidden = true + +if not vanilla_uranium_235.flags then vanilla_uranium_235.flags = {} end +if not vanilla_uranium_238.flags then vanilla_uranium_238.flags = {} end +table.insert(vanilla_uranium_235.flags,"hidden") +table.insert(vanilla_uranium_238.flags,"hidden") + +centrifuge_item.subgroup = machine_group.name +centrifuge_item.order = "n[centrifuge]" +centrifuge_entity.fluid_boxes = adamo.centrifuge.fluid_boxes() ore.icon = "__adamo-nuclear__/graphics/icons/yellowcake.png" ore.icon_size = 32 ore.icon_mipmaps = nil ore.pictures = nil -ore.group = "adamo-nuclear-group" -ore.subgroup = "adamo-nuclear-processing-group" +ore.group = nuclear_group.name +ore.subgroup = processing_group.name ore.order = "m" - heu_fuel_recipe.ingredients = { {"adamo-nuclear-HEU-oxide",1}, {"iron-plate",1} } heu_fuel_recipe.category = "advanced-crafting" -heu_fuel_recipe.result = "uranium-fuel-cell" +heu_fuel_recipe.result = heu_fuel_item.name heu_fuel_recipe.result_count = nil heu_fuel_recipe.results = nil heu_fuel_recipe.group = nil heu_fuel_recipe.subgroup = nil heu_fuel_recipe.order = nil -table.insert( - data.raw.technology["nuclear-power"].effects, - { - type = "unlock-recipe", - recipe = "uranium-fuel-cell" - } -) - -for _,effect in pairs( - data.raw.technology["uranium-processing"].effects -) do - if effect.recipe:match "uranium-fuel-cell" then - data.raw.technology["uranium-processing"].effects[_] = nil - end -end - -heu_fuel_item.fuel_value = "164GJ" +heu_fuel_item.fuel_value = "122GJ" heu_fuel_item.icon_size = 32 -heu_fuel_item.icon = - "__adamo-nuclear__/graphics/icons/HEU-fuel-cell.png" -heu_fuel_item.group = "nuclear-group" -heu_fuel_item.subgroup = "adamo-nuclear-products-group" +heu_fuel_item.icon = "__adamo-nuclear__/graphics/icons/yellow-fuel-cell.png" +heu_fuel_item.group = nuclear_group.name +heu_fuel_item.subgroup = fuel_group.name heu_fuel_item.order = "n" heu_fuel_item.fuel_glow_color = reactor_coolant_color heu_used_fuel_item.icon_size = 32 -heu_used_fuel_item.icon = - "__adamo-nuclear__/graphics/icons/used-up-HEU-fuel-cell.png" -heu_used_fuel_item.group = "nuclear-group" -heu_used_fuel_item.subgroup = - "adamo-nuclear-spent-fuel-group" +heu_used_fuel_item.icon = "__adamo-nuclear__/graphics/icons/red-fuel-cell.png" +heu_used_fuel_item.group = nuclear_group.name +heu_used_fuel_item.subgroup = spent_fuel_group.name heu_used_fuel_item.order = "m2" nuclear_fuel_recipe.ingredients = { - {type = "item",name = "adamo-nuclear-HEU-oxide",amount = 1}, - {type = "item",name = "rocket-fuel",amount = 1} + {type = "item",name = "adamo-nuclear-DU-oxide",amount = 1}, + {type = "item",name = "rocket-fuel",amount = 1}, + {type = "fluid",name = "water",amount = 1000} } -nuclear_fuel_recipe.category = "advanced-crafting" -nuclear_fuel_recipe.subgroup = "adamo-nuclear-products-group" -nuclear_fuel_recipe.order = "q" ---nuclear_fuel_item.subgroup = "adamo-nuclear-products-group" ---nuclear_fuel_item.order = "q" +nuclear_fuel_recipe.category="neutron-bombardment" +nuclear_fuel_recipe.energy_required=60 +nuclear_fuel_item.subgroup = products_group.name +nuclear_fuel_item.order = "n" ammo.ingredients = { {"piercing-rounds-magazine", 1}, {"adamo-nuclear-DU-oxide",1} } ammo.result_count = 1 - shell.ingredients = { {"cannon-shell", 1}, {"adamo-nuclear-DU-oxide",1} } shell.result_count = 1 - explosive_shell.ingredients = { {"explosive-cannon-shell", 1}, {"adamo-nuclear-DU-oxide",1} } explosive_shell.result_count = 1 - -atomic_bomb.ingredients = { +atomic_bomb_recipe.ingredients = { {"rocket",1}, - {"explosives",1}, + {"explosives",2}, {"rocket-control-unit",1}, - {"adamo-nuclear-DU-oxide",1}, - {"adamo-nuclear-WGU-oxide",1} + {"adamo-nuclear-DU-oxide",2}, + {"adamo-nuclear-WGU-oxide",2} } -atomic_bomb.icon = - "__adamo-nuclear__/graphics/icons/fission-rocket.png" -atomic_bomb.icon_size = 32 +-- atomic_bomb_recipe.icon = "__adamo-nuclear__/graphics/icons/fission-rocket.png" +-- atomic_bomb_recipe.icon_size = 32 +-- atomic_bomb.icon = "__adamo-nuclear__/graphics/icons/fission-rocket.png" +-- atomic_bomb.icon_size = 32 +reactor_item.icon = "__adamo-nuclear__/graphics/icons/nuclear-reactor.png" +reactor_item.icon_size = 32 +adamo.recipe.add.ingredient(reactor_recipe,"adamo-nuclear-DU-oxide",200) +reactor.default_fuel_glow_color = reactor_coolant_color +reactor.use_fuel_glow_color = true +-- Not necessary as long as Factorio base data +-- includes no light on nuclear-reactor. +-- reactor.light.intensity = 0 +reactor.energy_source.light_flicker = {} +reactor.energy_source.light_flicker.minimum_intensity = 0.5 +reactor.energy_source.light_flicker.maximum_intensity = 0.5 +reactor.energy_source.light_flicker.minimum_light_size = 0 +reactor.energy_source.light_flicker.light_intensity_to_size_coefficient = 0 +reactor.working_light_picture = adamo.sprite.empty() +reactor.heat_buffer.heat_picture = { + layers = { + reactor_heat_layer, + { + filename = + "__adamo-nuclear__/graphics/entity/" + .."reactor-lights-color.png", + width = 160, + height = 160, + shift = { -0.03125, -0.1875 }, + blend_mode = "additive", + hr_version = + { + filename = + "__adamo-nuclear__/graphics/entity/" + .."hr-reactor-lights-color.png", + width = 320, + height = 320, + scale = 0.5, + shift = { -0.03125, -0.1875 }, + blend_mode = "additive" + } + } + } +} +reactor.heat_buffer.heat_glow = { + layers = { + reactor_glow_layer, + { + filename = + "__adamo-nuclear__/graphics/entity/" + .."reactor-lights-glow.png", + flags = {"light"}, + width = 160, + height = 160, + blend_mode = "additive", + tint = heat_glow_tint, + shift = { -0.03125, -0.1875 } + } + } +} if settings.startup["adamo-nuclear-uranium-belt-recipe-override"].value then if data.raw.recipe["uranium-transport-belt"] then @@ -218,173 +279,15 @@ if settings.startup["adamo-nuclear-uranium-belt-recipe-override"].value then end end -reactor_item.icon = - "__adamo-nuclear__/graphics/icons/nuclear-reactor.png" -reactor_item.icon_size = 32 - -table.insert(data.raw.recipe["nuclear-reactor"].ingredients, - {type = "item",name="adamo-nuclear-DU-oxide",amount=200}) - - - - -reactor.default_fuel_glow_color = reactor_coolant_color -reactor.use_fuel_glow_color = true --- Not necessary as long as Factorio base data --- includes no light on nuclear-reactor. --- reactor.light.intensity = 0 -reactor.energy_source.light_flicker = {} -reactor.energy_source.light_flicker.minimum_intensity = 0.5 -reactor.energy_source.light_flicker.maximum_intensity = 0.5 -reactor.energy_source.light_flicker.minimum_light_size = 0 -reactor.energy_source.light_flicker.light_intensity_to_size_coefficient = 0 -reactor.working_light_picture = emptysprite() -local heat_picture_layer = reactor.heat_buffer.heat_picture -reactor.heat_buffer.heat_picture = { - layers = { - heat_picture_layer, - { - filename = - "__adamo-nuclear__/graphics/entity/" - .."reactor-lights-color.png", - width = 160, - height = 160, - shift = { -0.03125, -0.1875 }, - blend_mode = "additive", - hr_version = - { - filename = - "__adamo-nuclear__/graphics/entity/" - .."hr-reactor-lights-color.png", - width = 320, - height = 320, - scale = 0.5, - shift = { -0.03125, -0.1875 }, - blend_mode = "additive" - } - } - } -} -local heat_glow_layer = reactor.heat_buffer.heat_glow -reactor.heat_buffer.heat_glow = { - layers = { - heat_glow_layer, - { - filename = - "__adamo-nuclear__/graphics/entity/" - .."reactor-lights-glow.png", - flags = {"light"}, - width = 160, - height = 160, - blend_mode = "additive", - tint = heat_glow_tint, - shift = { -0.03125, -0.1875 } - } - } -} - --- adamo.logging = true - -if not data.raw.fluid["adamo-chemical-hydrofluoric-acid"] then - if data.raw.fluid["liquid-hydrofluoric-acid"] then - for _,recipe in pairs(data.raw.recipe) do - if recipe_uses(recipe,"adamo-chemical-hydrofluoric-acid") - then - replace_recipe_io( - recipe, - "adamo-chemical-hydrofluoric-acid", - "liquid-hydrofluoric-acid" - ) - end - end - else - local hydrofluoric_acid_fluid = { - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - order = "a[fluid]-g[adamo-chemical-hydrofluoric-acid]", - icon = "__adamo-nuclear__/graphics/icons/hydrofluoride.png", - icon_size = 32, - base_color = colors.hf_base, - flow_color = colors.hf_flow, - default_temperature = 25, - max_temperature = 100, - heat_capacity = "0.1KJ", - } - local hydrofluoric_acid_recipe = { - type = "recipe", - name = "adamo-chemical-hydrofluoric-acid", - category = "chemistry", - subgroup = "fluid-recipes", - enabled = false, - energy_required = 1, -- same as sulfuric-acid - ingredients = {{ - type = "item", - name = "stone", - amount = 50 - },{ - type = "fluid", - name = "sulfuric-acid", - amount = 50 - },{ - type = "fluid", - name = "water", - amount = 50 - }}, - results = {{ - type='fluid', - name = "adamo-chemical-hydrofluoric-acid", - amount = 50 - }}, - main_product = "adamo-chemical-hydrofluoric-acid", - requester_paste_multiplier = 4, - crafting_machine_tint = { - primary = data.raw.fluid["sulfuric-acid"].flow_color, - secondary = colors.hf_base, - tertiary = data.raw.fluid["sulfuric-acid"].base_color, - }, - } - data:extend({ - hydrofluoric_acid_fluid, - hydrofluoric_acid_recipe - }) - table.insert( - data.raw.technology["uranium-processing"].effects, - { - type = "unlock-recipe", - recipe = "adamo-chemical-hydrofluoric-acid" - } - ) - end -end - if settings.startup["adamo-nuclear-recipe-trolling"].value then for _,recipe in pairs(data.raw.recipe) do - if recipe_uses(recipe,"uranium-238") then - replace_recipe_io( - recipe, - "uranium-238", - "adamo-nuclear-DU-oxide" - ) + if adamo.recipe.test.uses(recipe,"uranium-238") then + adamo.recipe.replace.resource(recipe,"uranium-238","adamo-nuclear-DU-oxide") end if recipe_uses(recipe,"uranium-235") then - replace_recipe_io( - recipe, - "uranium-235", - "adamo-nuclear-HEU-oxide" - ) + adamo.recipe.replace.resource(recipe,"uranium-235","adamo-nuclear-HEU-oxide") end end end -local FeU_recipe = table.deepcopy(data.raw.recipe["steel-plate"]) -FeU_recipe.name = "adamo-nuclear-steel-plate" -local fe_name,fe_count = get_ingredient(FeU_recipe,'iron-plate') -add_ingredient(FeU_recipe,'adamo-nuclear-DU-oxide',fe_count) -replace_recipe_io(FeU_recipe,'iron-plate','iron-ore') -mult_recipe_io(FeU_recipe,2,'steel-plate') -adamo.recipe.set.productivity(FeU_recipe) -data:extend({FeU_recipe}) -add_recipe_to_tech("uranium-processing","adamo-nuclear-steel-plate") -add_prereq_to_tech("kovarex-enrichment-process","nuclear-fuel-reprocessing") -data.raw.recipe["nuclear-fuel"].category="neutron-bombardment" diff --git a/data.lua b/data.lua index a129694..e4c5250 100644 --- a/data.lua +++ b/data.lua @@ -1,1937 +1,108 @@ require("factsheet") - -local MOX_glow_color = {r = 1,g = 1,b = 1,a = 1} -local pg_base_color = data.raw.fluid["petroleum-gas"].base_color -local sulfuric_base_color = data.raw.fluid["sulfuric-acid"].base_color -local sulfuric_flow_color = data.raw.fluid["sulfuric-acid"].flow_color -local uranium_hex_base_color = {r = 0.5,g = 0.5,b = 0.5,a = 0.5} -local uranium_hex_flow_color = {r = 0.5,g = 0.5,b = 0.5,a = 0.1} -local plutonium_hex_base_color = {r= 100,g = 10,b = 10,a = 150} -local plutonium_hex_flow_color = {r= 100,g = 10,b = 10,a = 25} -local aqueous_raffinate_base_color = adamo.colors.midbrown -local aqueous_raffinate_flow_color = adamo.colors.highbrown -local raffinate_base_color = adamo.colors.darkbrown -local raffinate_flow_color = adamo.colors.midbrown -local oxide_color_table = { - NU = {r=139,g=69,b=19}, - DU = {r = 32, g = 32, b = 32}, - LEU = {r = 96, g = 96, b = 96}, - HEU = {r = 160, g = 160, b = 160}, - WGU = {r = 224, g = 224, b = 224}, - RGPu = {r = 0, g = 153, b = 0}, - WGPu = {r = 0, g = 255, b = 0}, -} - --- Code uses "nuclear" as fast-reaction fuel category. -local bombardment_category = { - type = "recipe-category", - name = "neutron-bombardment" -} -local thermal_fuel_category = { - type = "fuel-category", - name = "adamo-nuclear-thermal-reaction" -} +require("groups") data:extend({ bombardment_category, - thermal_fuel_category -}) - -local nuclear_group = { - type = "item-group", - name = "adamo-nuclear-group", - order = "n", - icon = "__adamo-nuclear__/graphics/icons/nuclear_group.png", - icon_size = 64 -} -local prod_mach_group = { - type = "item-subgroup", - group = "adamo-nuclear-group", - name = "adamo-nuclear-production-machine", - order = "a" -} -local processing_subgroup = { - type = "item-subgroup", - group = "adamo-nuclear-group", - name = "adamo-nuclear-processing-group", - order = "c" -} -local enrichment_group = { - type = "item-subgroup", - group = "adamo-nuclear-group", - name = "adamo-nuclear-enrichment-group", - order = "h" -} -local oxide_subgroup = { - type = "item-subgroup", - group = "adamo-nuclear-group", - name = "adamo-nuclear-oxide-group", - order = "j" -} -local products_subgroup = { - type = "item-subgroup", - group = "adamo-nuclear-group", - name = "adamo-nuclear-products-group", - order = "l" -} -local spent_fuel_group = { - type = "item-subgroup", - group = "adamo-nuclear-group", - name = "adamo-nuclear-spent-fuel-group", - order = "n" -} -local hex_subgroup = { - type = "item-subgroup", - group = "fluids", - name = "adamo-nuclear-hex-group", - order = "n" -} -local raffinate_subgroup = { - type = "item-subgroup", - group = "fluids", - name = "adamo-nuclear-raffinate-group", - order = "o" -} - -data:extend({ + thermal_fuel_category, nuclear_group, - prod_mach_group, - products_subgroup, - oxide_subgroup, + machine_group, + fuel_group, + recovery_group, enrichment_group, - processing_subgroup, + processing_group, spent_fuel_group, + reprocessing_group, + products_group, hex_subgroup, - raffinate_subgroup + slurry_group }) - -local natural_hex_fluid = { - type = "fluid", - name = "adamo-nuclear-natural-uranium-hex", - subgroup = "adamo-nuclear-hex-group", - order = "n0", - icon = "__adamo-nuclear__/graphics/icons/hex.png", - icon_size = 32, - base_color = uranium_hex_base_color, - flow_color = uranium_hex_flow_color, - default_temperature = 25, - max_temperature = 100, - heat_capacity = "0.1KJ", -} -local Pu_hex_fluid = { - type = "fluid", - name = "adamo-nuclear-Pu-hex", - subgroup = "adamo-nuclear-hex-group", - order = "n1", - icon = "__adamo-nuclear__/graphics/icons/Pu-hex.png", - icon_size = 32, - base_color = plutonium_hex_base_color, - flow_color = plutonium_hex_flow_color, - default_temperature = 25, - max_temperature = 100, - heat_capacity = "0.1KJ", -} -local LEU_PUREX_hex_fluid = { - type = "fluid", - name = "adamo-nuclear-LEU-PUREX-hex", - subgroup = "adamo-nuclear-hex-group", - order = "n2", - icon = "__adamo-nuclear__/graphics/icons/LEU-PUREX-hex.png", - icon_size = 32, - base_color = uranium_hex_base_color, - flow_color = uranium_hex_flow_color, - default_temperature = 25, - max_temperature = 100, - heat_capacity = "0.1KJ", -} -local HEU_PUREX_hex_fluid = { - type = "fluid", - name = "adamo-nuclear-HEU-PUREX-hex", - subgroup = "adamo-nuclear-hex-group", - order = "n3", - icon = "__adamo-nuclear__/graphics/icons/HEU-PUREX-hex.png", - icon_size = 32, - base_color = uranium_hex_base_color, - flow_color = uranium_hex_flow_color, - default_temperature = 25, - max_temperature = 100, - heat_capacity = "0.1KJ", -} -local weak_fissile_fluid = { - type = "fluid", - name = "adamo-nuclear-aqueous-raffinate", - subgroup = "adamo-nuclear-raffinate-group", - order = "o1", - icon = "__adamo-nuclear__/graphics/icons/aqueous-raffinate.png", - icon_size = 32, - base_color = aqueous_raffinate_base_color, - flow_color = aqueous_raffinate_flow_color, - default_temperature = 25, - max_temperature = 100, - heat_capacity = "0.01KJ", -} -local strong_fissile_fluid = { - type = "fluid", - name = "adamo-nuclear-raffinate", - subgroup = "adamo-nuclear-raffinate-group", - order = "o2", - icon = "__adamo-nuclear__/graphics/icons/raffinate.png", - icon_size = 32, - base_color = raffinate_base_color, - flow_color = raffinate_flow_color, - default_temperature = 25, - max_temperature = 100, - heat_capacity = "0.1KJ", -} +require("materials") data:extend({ - natural_hex_fluid, - Pu_hex_fluid, - LEU_PUREX_hex_fluid, - HEU_PUREX_hex_fluid, - weak_fissile_fluid, - strong_fissile_fluid -}) - -local urania_item = { - type = "item", - name = "adamo-nuclear-urania", - subgroup = "adamo-nuclear-processing-group", - order = "n", - stack_size = 50, - icon = "__adamo-nuclear__/graphics/icons/urania.png", - icon_size = 32, -} -local LEU_fuel_item = { - type = "item", - name = "adamo-nuclear-LEU-fuel-cell", - subgroup = "adamo-nuclear-products-group", - order = "m", - stack_size = 50, - icon = "__adamo-nuclear__/graphics/icons/LEU-fuel-cell.png", - icon_size = 32, - fuel_category = "adamo-nuclear-thermal-reaction", - fuel_value = "82GJ", - burnt_result = "adamo-nuclear-used-up-LEU-fuel-cell", -} -local MOX_fuel_item = { - type = "item", - name = "adamo-nuclear-MOX-fuel-cell", - subgroup = "adamo-nuclear-products-group", - order = "o", - stack_size = 50, - icon = "__adamo-nuclear__/graphics/icons/MOX-fuel-cell.png", - icon_size = 32, - fuel_category = "nuclear", - fuel_value = "162GJ", - burnt_result = "adamo-nuclear-used-up-MOX-fuel-cell", - fuel_glow_color = MOX_glow_color -} -local used_LEU_item = { - type = "item", - name = "adamo-nuclear-used-up-LEU-fuel-cell", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "m1", - stack_size = 50, - icon = "__adamo-nuclear__/graphics/icons/used-up-LEU-fuel-cell.png", - icon_size = 32, -} -local used_MOX_item = { - type = "item", - name = "adamo-nuclear-used-up-MOX-fuel-cell", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "m3", - stack_size = 50, - icon = "__adamo-nuclear__/graphics/icons/used-up-MOX-fuel-cell.png", - icon_size = 32, -} -local actinides_item = { - type = "item", - name = "adamo-nuclear-actinides", - subgroup = "adamo-nuclear-products-group", - order = "p1", - stack_size = 50, - icon = "__adamo-nuclear__/graphics/icons/actinides.png", - icon_size = 32, -} -local waste_item = { - type = "item", - name = "adamo-nuclear-ceramic-waste", - subgroup = "adamo-nuclear-products-group", - order = "p2", - stack_size = 50, - icon = "__adamo-nuclear__/graphics/icons/ceramic-waste.png", - icon_size = 64, -} -local thermal_reactor_item = { - type = "item", - name = "adamo-nuclear-thermal-reactor", - icon = "__adamo-nuclear__/graphics/icons/thermal-reactor.png", - icon_size = 32, - subgroup = "energy", - order = "b[steam-power]-b[adamo-nuclear-thermal-reactor]", - place_result = "adamo-nuclear-thermal-reactor", - stack_size = 50 -} -local prod_reactor_item = { - type = "item", - name = "adamo-nuclear-production-reactor", - icon = "__adamo-nuclear__/graphics/icons/production-reactor.png", - icon_size = 32, - subgroup = "adamo-nuclear-production-machine", - order = "n[production-reactor]", - place_result = "adamo-nuclear-production-reactor", - stack_size = 10 -} -data:extend({ - urania_item, + natural_hex_fluid, + LEU_slurry, + HEU_slurry, + urania_item, LEU_fuel_item, MOX_fuel_item, + WGPu_fuel_item, used_LEU_item, used_MOX_item, actinides_item, waste_item, - thermal_reactor_item, - prod_reactor_item, }) - -local urania_recipe_sulfuric = { - type = "recipe", - name = "adamo-nuclear-urania-by-H2SO4", - category = "chemistry", - enabled = false, - energy_required = 10, -- same as explosives - main_product = "adamo-nuclear-urania", - ingredients = {{ - type = "item", - name = "uranium-ore", - amount = 50 - },{ - type = "fluid", - name = "sulfuric-acid", - amount = 160 - },{ - type = "fluid", - name = "water", - amount = 40 - }}, - results = {{ - type = "item", - name = "adamo-nuclear-urania", - amount = 1 - }}, - show_amount_in_title = false, - always_show_products = false, - always_show_made_in = true, - crafting_machine_tint = { - primary = oxide_color_table.NU, - secondary = sulfuric_base_color, - tertiary = sulfuric_flow_color, - quaternary = data.raw.fluid.water.flow_color - }, -} -local urania_recipe_hydrofluoric = { - type = "recipe", - name = "adamo-nuclear-urania-by-HF", - category = "chemistry", - enabled = false, - energy_required = 10, - ingredients = {{ - type = "item", - name = "uranium-ore", - amount = 50 - },{ - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - amount = 80 - },{ - type = "fluid", - name = "water", - amount = 120 - }}, - results = {{ - type = "item", - name = "adamo-nuclear-urania", - amount = 1 - }}, - show_amount_in_title = false, - always_show_products = false, - always_show_made_in = true, - crafting_machine_tint = { - primary = oxide_color_table.NU, - secondary = adamo.colors.hf_base, - tertiary = adamo.colors.hf_flow, - quaternary = data.raw.fluid.water.flow_color - }, -} -local urania_hex_recipe = { - type = "recipe", - name = "adamo-nuclear-natural-uranium-hex", - category = "chemistry", - enabled = false, - subgroup = "adamo-nuclear-processing-group", - main_product = "adamo-nuclear-natural-uranium-hex", - energy_required = 10, - ingredients = {{ - type = "item", - name = "adamo-nuclear-urania", - amount = 1 - },{ - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - amount = 60 - },{ - type = "fluid", - name = "water", - amount = 30 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-natural-uranium-hex", - amount = 10, - fluidbox_index = 1, - }}, - always_show_made_in = true, - crafting_machine_tint = { - primary = uranium_hex_base_color, - secondary = adamo.colors.hf_base, - tertiary = adamo.colors.hf_flow, - quaternary = oxide_color_table.NU - }, -} -local LEU_enrichment_recipe = { - type = "recipe", - category = "centrifuging", - name = "adamo-nuclear-LEU-enrichment", - energy_required = 10, - subgroup = "adamo-nuclear-enrichment-group", - order = "m1", - enabled = false, - ingredients = {{ - type = "fluid", - name = "adamo-nuclear-natural-uranium-hex", - amount = 10 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-DU-hex", - amount = 10, - probability = 6.75/7.75 - },{ - type = "fluid", - name = "adamo-nuclear-LEU-hex", - amount = 10, - probability = 1/7.75 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/LEU-enrichment.png", -} -local HEU_enrichment_recipe = { - type = "recipe", - category = "centrifuging", - name = "adamo-nuclear-HEU-enrichment", - energy_required = 10, - subgroup = "adamo-nuclear-enrichment-group", - order = "m2", - enabled = false, - ingredients = {{ - type = "fluid", - name = "adamo-nuclear-natural-uranium-hex", - amount = 10 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-DU-hex", - amount = 10, - probability = 36.5/37.5 - },{ - type = "fluid", - name = "adamo-nuclear-HEU-hex", - amount = 10, - probability = 1/37.5 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/HEU-enrichment.png", -} -local WGU_enrichment_recipe = { - type = "recipe", - category = "centrifuging", - name = "adamo-nuclear-WGU-enrichment", - energy_required = 10, - subgroup = "adamo-nuclear-enrichment-group", - order = "m3", - enabled = false, - ingredients = {{ - type = "fluid", - name = "adamo-nuclear-natural-uranium-hex", - amount = 10 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-DU-hex", - amount = 10, - probability = 149/150 - },{ - type = "fluid", - name = "adamo-nuclear-WGU-hex", - amount = 10, - probability = 1/150 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/WGU-enrichment.png", -} -local Pu_enrichment_recipe = { - type = "recipe", - category = "centrifuging", - name = "adamo-nuclear-WGPu-enrichment", - energy_required = 20, - subgroup = "adamo-nuclear-enrichment-group", - order = "n1", - enabled = false, - ingredients = {{ - type = "fluid", - name = "adamo-nuclear-Pu-hex", - amount = 20 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-RGPu-hex", - amount = 10, - },{ - type = "fluid", - name = "adamo-nuclear-WGPu-hex", - amount = 10, - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/WGPu-enrichment.png", -} -local LEU_PUREX_enrichment_recipe = { - type = "recipe", - category = "centrifuging", - name = "adamo-nuclear-LEU-PUREX-enrichment", - energy_required = 10, - subgroup = "adamo-nuclear-enrichment-group", - order = "o1", - enabled = false, - ingredients = {{ - type = "fluid", - name = "adamo-nuclear-LEU-PUREX-hex", - amount = 10 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-LEU-hex", - amount = 10, - probability = 135/150 - },{ - type = "fluid", - name = "adamo-nuclear-Pu-hex", - amount = 10, - probability = 1/150 - },{ - type = "fluid", - name = "adamo-nuclear-DU-hex", - amount = 10, - probability = 14/150 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/LEU-PUREX-enrichment.png", -} -local HEU_PUREX_enrichment_recipe = { - type = "recipe", - category = "centrifuging", - name = "adamo-nuclear-HEU-PUREX-enrichment", - energy_required = 10, - subgroup = "adamo-nuclear-enrichment-group", - order = "o2", - enabled = false, - ingredients = {{ - type = "fluid", - name = "adamo-nuclear-HEU-PUREX-hex", - amount = 10 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-HEU-hex", - amount = 10, - probability = 67/70 - },{ - type = "fluid", - name = "adamo-nuclear-Pu-hex", - amount = 10, - probability = 1/70 - },{ - type = "fluid", - name = "adamo-nuclear-DU-hex", - amount = 10, - probability = 2/70 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/HEU-PUREX-enrichment.png", -} -local RGPu_recipe = { - type = "recipe", - category = "chemistry", - name = "adamo-nuclear-highgrade-RGPu-oxide", - main_product = "adamo-nuclear-RGPu-oxide", - enabled = false, - energy_required = 10, - always_show_made_in = true, - subgroup = "adamo-nuclear-processing-group", - order = "o1", - ingredients = {{ - type = "fluid", - name = "adamo-nuclear-Pu-hex", - amount = 10 - },{ - type = "fluid", - name = "water", - amount = 30 - }}, - results = {{ - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - amount = 60, - },{ - type = "item", - name = "adamo-nuclear-RGPu-oxide", - amount = 1 - }}, - crafting_machine_tint = { - primary = oxide_color_table.RGPu, - secondary = adamo.colors.hf_base, - tertiary = plutonium_hex_flow_color, - quaternary = data.raw.fluid.water.flow_color - }, -} -local plutonia_238_recipe = { - type = "recipe", - category = "neutron-bombardment", - name = "adamo-nuclear-transmute-Pu238-oxide", - energy_required = 600, - enabled = false, - subgroup = "adamo-nuclear-products-group", - order = "p", - ingredients = {{ - amount = 1, - name = "adamo-nuclear-actinides", - type = "item", - },{ - amount = 1, - name = "adamo-nuclear-DU-oxide", - type = "item", - },{ - amount = 600, - name = "water", - type = "fluid", - }}, - result = "adamo-nuclear-Pu238-oxide", -} -local LEU_PUREX_stage_1 = { - type = "recipe", - category = "chemistry", - name = "adamo-nuclear-LEU-PUREX-stage-1", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "m1", - energy_required = 10, - emissions_multiplier = 3, - enabled = false, - ingredients = { - {"adamo-nuclear-used-up-LEU-fuel-cell", 1}, - { - type = "fluid", - name = "petroleum-gas", - amount = 10 - }, - { - type = "fluid", - name = "water", - amount = 10 - }, - }, - results = { - {waste_item.name, 1}, - {actinides_item.name, 1}, - { - type = "fluid", - name = weak_fissile_fluid.name, - amount = 10 - } - }, - crafting_machine_tint = { - primary = weak_fissile_fluid.base_color, - secondary = aqueous_raffinate_base_color, - tertiary = sulfuric_flow_color, - quaternary = oxide_color_table.LEU - } -} -local LEU_PUREX_stage_2 = { - type = "recipe", - category = "chemistry", - name = "adamo-nuclear-LEU-PUREX-stage-2", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "m2", - energy_required -} -local LEU_PUREX_recipe_sulfuric = { - type = "recipe", - category = "chemistry", - name = "adamo-nuclear-LEU-PUREX-by-H2SO4", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "m1", - energy_required = 150, - emissions_multiplier = 3, - enabled = false, - ingredients = {{ - type = "fluid", - name = "sulfuric-acid", - amount = 150 - },{ - type = "fluid", - name = "petroleum-gas", - amount = 150 - },{ - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - amount = 900 - },{ - type = "item", - name = "adamo-nuclear-used-up-LEU-fuel-cell", - amount = 15 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-LEU-PUREX-hex", - amount = 150 - },{ - type = "fluid", - -- name = "adamo-nuclear-aqueous-raffinate", - name = "adamo-nuclear-raffinate", - amount = 209 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/LEU-PUREX.png", - crafting_machine_tint = { - primary = uranium_hex_base_color, - secondary = aqueous_raffinate_base_color, - tertiary = sulfuric_flow_color, - quaternary = oxide_color_table.LEU - }, -} -local LEU_PUREX_recipe_hydrofluoric = { - type = "recipe", - category = "chemistry", - name = "adamo-nuclear-LEU-PUREX-by-HF", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "m2", - energy_required = 150, - emissions_multiplier = 3, - enabled = false, - ingredients = {{ - type = "fluid", - name = "petroleum-gas", - amount = 150 - },{ - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - amount = 1050 - },{ - type = "item", - name = "adamo-nuclear-used-up-LEU-fuel-cell", - amount = 15 - }}, - results = {{ - type = "fluid", - -- name = "adamo-nuclear-aqueous-raffinate", - name = "adamo-nuclear-raffinate", - amount = 209 - },{ - type = "fluid", - name = "adamo-nuclear-LEU-PUREX-hex", - amount = 150 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/LEU-PUREX.png", - crafting_machine_tint = { - primary = uranium_hex_base_color, - secondary = aqueous_raffinate_base_color, - tertiary = adamo.colors.hf_flow, - quaternary = oxide_color_table.LEU - }, -} -local HEU_PUREX_recipe_sulfuric = { - type = "recipe", - category = "chemistry", - name = "adamo-nuclear-HEU-PUREX-by-H2SO4", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "m3", - energy_required = 70, - emissions_multiplier = 3, - enabled = false, - ingredients = {{ - type = "fluid", - name = "sulfuric-acid", - amount = 70 - },{ - type = "fluid", - name = "petroleum-gas", - amount = 70 - },{ - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - amount = 420 - },{ - type = "item", - name = "used-up-uranium-fuel-cell", - amount = 7 - }}, - results = {{ - type = "fluid", - -- name = "adamo-nuclear-aqueous-raffinate", - name = "adamo-nuclear-raffinate", - amount = 231 - },{ - type = "fluid", - name = "adamo-nuclear-HEU-PUREX-hex", - amount = 70 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/HEU-PUREX.png", - crafting_machine_tint = { - primary = uranium_hex_base_color, - secondary = aqueous_raffinate_base_color, - tertiary = sulfuric_flow_color, - quaternary = oxide_color_table.HEU - }, -} -local HEU_PUREX_recipe_hydrofluoric = { - type = "recipe", - category = "chemistry", - name = "adamo-nuclear-HEU-PUREX-by-HF", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "m4", - energy_required = 70, - emissions_multiplier = 3, - enabled = false, - ingredients = {{ - type = "fluid", - name = "petroleum-gas", - amount = 70 - },{ - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - amount = 490 - },{ - type = "item", - name = "used-up-uranium-fuel-cell", - amount = 7 - }}, - results = {{ - type = "fluid", - -- name = "adamo-nuclear-aqueous-raffinate", - name = "adamo-nuclear-raffinate", - amount = 231 - },{ - type = "fluid", - name = "adamo-nuclear-HEU-PUREX-hex", - amount = 70 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/HEU-PUREX.png", - crafting_machine_tint = { - primary = uranium_hex_base_color, - secondary = aqueous_raffinate_base_color, - tertiary = adamo.colors.hf_flow, - quaternary = oxide_color_table.HEU - }, -} -local LEU_REMIX_recipe = { - type = "recipe", - category = "crafting-with-fluid", - name = "adamo-nuclear-LEU-REMIX", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "n1", - energy_required = 270, - emissions_multiplier = 5, - enabled = false, - ingredients = {{ - type = "item", - name = "adamo-nuclear-HEU-oxide", - amount = 1 - },{ - type = "item", - name = "adamo-nuclear-used-up-LEU-fuel-cell", - amount = 27 - },{ - type = "fluid", - name = "petroleum-gas", - amount = 270 - },{ - type = "item", - name = "iron-plate", - amount = 27 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-raffinate", - -- amount = 10 - amount = 100 - },{ - type = "item", - name = "adamo-nuclear-LEU-fuel-cell", - amount = 27 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/LEU-REMIX.png", - crafting_machine_tint = { - primary = raffinate_base_color, - secondary = adamo.colors.highgrey, - tertiary = pg_flow_color, - quaternary = oxide_color_table.LEU - }, -} -local MOX_REMIX_recipe = { - type = "recipe", - category = "crafting-with-fluid", - name = "adamo-nuclear-MOX-REMIX", - subgroup = "adamo-nuclear-spent-fuel-group", - order = "n2", - energy_required = 340, - emissions_multiplier = 5, - enabled = false, - ingredients = {{ - type = "item", - name = "adamo-nuclear-RGPu-oxide", - amount = 1 - },{ - type = "item", - name = "adamo-nuclear-used-up-MOX-fuel-cell", - amount = 34 - },{ - type = "fluid", - name = "petroleum-gas", - amount = 340 - },{ - type = "item", - name = "iron-plate", - amount = 33 - }}, - results = {{ - type = "item", - name = "adamo-nuclear-MOX-fuel-cell", - amount = 33 - },{ - type = "fluid", - name = "adamo-nuclear-raffinate", - -- amount = 20 - amount = 200 - }}, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/MOX-REMIX.png", - crafting_machine_tint = { - primary = raffinate_base_color, - secondary = adamo.colors.highgrey, - tertiary = pg_flow_color, - quaternary = oxide_color_table.RGPu - }, -} -local LEU_fuel_recipe = { - type = "recipe", - name = "adamo-nuclear-LEU-fuel-cell", - energy_required = 10, - category = "advanced-crafting", - enabled = false, - ingredients = {{ - "adamo-nuclear-LEU-oxide",1 - },{ - "iron-plate",1 - }}, - result = "adamo-nuclear-LEU-fuel-cell" -} -local MOX_fuel_recipe = { - type = "recipe", - name = "adamo-nuclear-MOX-fuel-cell", - subgroup = "adamo-nuclear-products-group", - order = "p", - energy_required = 100, - category = "advanced-crafting", - enabled = false, - ingredients = { - {type = "item", name = "adamo-nuclear-DU-oxide", amount = 93}, - {type = "item", name = "adamo-nuclear-RGPu-oxide", amount = 7}, - {type = "item", name = "iron-plate", amount = 100}, - }, - results = {{"adamo-nuclear-MOX-fuel-cell",100}}, -} --- local aqueous_raffinate_processing_recipe = { --- type = "recipe", --- category = "chemistry", --- name = "adamo-nuclear-aqueous-raffinate-processing", --- subgroup = "adamo-nuclear-processing-group", --- order = "p1", --- energy_required = 30, --- category = "chemistry", --- enabled = false, --- ingredients = {{ --- type = "fluid", --- name = "adamo-nuclear-aqueous-raffinate", --- amount = 300 --- }}, --- results = {{ --- type = "fluid", --- name = "adamo-nuclear-raffinate", --- amount = 1, --- }}, --- crafting_machine_tint = { --- primary = raffinate_base_color, --- secondary = aqueous_raffinate_base_color, --- tertiary = aqueous_raffinate_flow_color, --- quaternary = raffinate_flow_color --- }, --- } -local raffinate_processing_recipe = { - type = "recipe", - name = "adamo-nuclear-raffinate-processing", - subgroup = "adamo-nuclear-processing-group", - order = "p2", - energy_required = 10, - category = "chemistry", - enabled = false, - icon_size = 64, - icon = "__adamo-nuclear__/graphics/icons/raffinate-processing.png", - ingredients = {{ - type = "fluid", - name = "adamo-nuclear-raffinate", - amount = 300, - },{ - type = "fluid", - name = "water", - amount = 300, - },{ - type = "item", - name = "stone", - amount = 30, - }}, - results = {{ - type = "item", - name = "adamo-nuclear-actinides", - amount = 1 - },{ - type = "item", - name = "adamo-nuclear-ceramic-waste", - amount = 2 - }}, - crafting_machine_tint = { - primary = raffinate_base_color, - secondary = {r = 227, g = 124, b = 14}, - tertiary = raffinate_flow_color, - quaternary = adamo.colors.highbrown - }, -} -local plutonium_rocket_recipe = { - type = "recipe", - name = "adamo-nuclear-thermonuclear-rocket", - energy_required = 50, - order = "d[rocket-launcher]-n[adamo-nuclear-thermonuclear-rocket]", - enabled = false, - main_product = "adamo-nuclear-thermonuclear-rocket", - category = "crafting-with-fluid", - ingredients = {{ - type = "item", - name = "rocket", - amount = 1 - },{ - type = "item", - name = "explosives", - amount = 1 - },{ - type = "item", - name = "rocket-control-unit", - amount = 1 - },{ - type = "item", - name = "adamo-nuclear-WGPu-oxide", - amount = 1 - },{ - type = "item", - name = "adamo-nuclear-DU-oxide", - amount = 1 - },{ - type = "fluid", - name = "water", - amount = 100 - }}, - result = "adamo-nuclear-thermonuclear-rocket", -} -local thermal_reactor_recipe = { - type = "recipe", - name = "adamo-nuclear-thermal-reactor", - energy_required = 2, - enabled = false, - ingredients = { - {"concrete", 40}, - {"steel-plate", 20}, - {"adamo-nuclear-DU-oxide",20}, - {"advanced-circuit", 50}, - {"pipe", 10} - }, - result = "adamo-nuclear-thermal-reactor", -} -local prod_reactor_recipe = { - type = "recipe", - name = "adamo-nuclear-production-reactor", - energy_required = 4, - enabled = false, - ingredients = { - {"centrifuge", 1}, - {"adamo-nuclear-DU-oxide", 100}, - {"refined-concrete", 100}, - {"filter-inserter",5}, - {"steel-chest",5} - -- processing unit? - }, - result = "adamo-nuclear-production-reactor", -} +require("processing") data:extend({ urania_recipe_sulfuric, - urania_recipe_hydrofluoric, urania_hex_recipe, + LEU_PUREX_stage_1, + LEU_PUREX_stage_2, + HEU_PUREX_stage_1, + HEU_PUREX_stage_2, LEU_enrichment_recipe, HEU_enrichment_recipe, WGU_enrichment_recipe, - Pu_enrichment_recipe, + WGPu_from_LEU, + WGPu_from_DU, LEU_PUREX_enrichment_recipe, HEU_PUREX_enrichment_recipe, plutonia_238_recipe, - RGPu_recipe, - LEU_PUREX_recipe_sulfuric, - LEU_PUREX_recipe_hydrofluoric, - HEU_PUREX_recipe_sulfuric, - HEU_PUREX_recipe_hydrofluoric, LEU_REMIX_recipe, MOX_REMIX_recipe, LEU_fuel_recipe, MOX_fuel_recipe, - -- aqueous_raffinate_processing_recipe, - raffinate_processing_recipe, - plutonium_rocket_recipe, +}) +require("machines") +data:extend({ + thermal_reactor_item, + prod_reactor_item, thermal_reactor_recipe, prod_reactor_recipe, -}) -add_recipes_to_tech("uranium-processing", { - "adamo-nuclear-urania-by-H2SO4", - "adamo-nuclear-urania-by-HF", - "adamo-nuclear-natural-uranium-hex", - "adamo-nuclear-LEU-enrichment", - "adamo-nuclear-LEU-fuel-cell", - "adamo-nuclear-thermal-reactor" -}) -add_recipes_to_tech("nuclear-power", { - "adamo-nuclear-HEU-enrichment", - "adamo-nuclear-WGU-enrichment" -}) -move_recipe_to_tech("nuclear-power","atomic-bomb") -add_recipes_to_tech("nuclear-fuel-reprocessing", { - "adamo-nuclear-production-reactor", - "adamo-nuclear-LEU-PUREX-by-HF", - "adamo-nuclear-LEU-PUREX-by-H2SO4", - "adamo-nuclear-LEU-REMIX", - "adamo-nuclear-HEU-PUREX-by-HF", - "adamo-nuclear-HEU-PUREX-by-H2SO4", - "adamo-nuclear-LEU-PUREX-enrichment", - "adamo-nuclear-HEU-PUREX-enrichment", - "adamo-nuclear-transmute-Pu238-oxide", - "adamo-nuclear-highgrade-RGPu-oxide", - -- "adamo-nuclear-aqueous-raffinate-processing", - "adamo-nuclear-raffinate-processing" -}) -add_recipes_to_tech("kovarex-enrichment-process", { - "adamo-nuclear-MOX-fuel-cell", - "adamo-nuclear-MOX-REMIX" -}) -add_recipes_to_tech("atomic-bomb", { - "adamo-nuclear-WGPu-enrichment", - "adamo-nuclear-thermonuclear-rocket" -}) -adamo.recipes.set.productivity({ - "adamo-nuclear-urania-by-H2SO4", - "adamo-nuclear-urania-by-HF", - "adamo-nuclear-raffinate-processing", - "adamo-nuclear-transmute-Pu238-oxide", - "adamo-nuclear-natural-uranium-hex", - "adamo-nuclear-highgrade-RGPu-oxide" -}) - --- Oxides and hexes. -local order_number = 1 -data:extend({{ - type = "item", - name = "adamo-nuclear-Pu238-oxide", - subgroup = "adamo-nuclear-products-group", - order = "p", - stack_size = 50, - icon = "__adamo-nuclear__/graphics/icons/Pu238.png", - icon_size = 32, -}}) -for _,grade in pairs({ - "DU","LEU","HEU","WGU","RGPu","WGPu" -}) do - local oxide_color = oxide_color_table[grade] - local hex_color = uranium_hex_base_color - local hex_flow_color = uranium_hex_flow_color - if grade:match "Pu" then - hex_color = plutonium_hex_base_color - hex_flow_color = plutonium_hex_flow_color - end - local hex_recipe = { - type = "recipe", - name = "adamo-nuclear-"..grade.."-hex", - category = "chemistry", - enabled = false, - energy_required = 30, - always_show_made_in = true, - main_product = "adamo-nuclear-"..grade.."-hex", - ingredients = {{ - type = "item", - name = "adamo-nuclear-"..grade.."-oxide", - amount = 1 - },{ - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - amount = 60 - },{ - type = "fluid", - name = "water", - amount = 30 - }}, - results = {{ - type = "fluid", - name = "adamo-nuclear-"..grade.."-hex", - amount = 10 - }}, - hide_from_player_crafting = true, - crafting_machine_tint = { - primary = hex_color, - secondary = adamo.colors.hf_base, - tertiary = adamo.colors.hf_flow, - quaternary = oxide_color - }, - } - local oxide_recipe = { - type = "recipe", - category = "chemistry", - name = "adamo-nuclear-"..grade.."-oxide", - main_product = "adamo-nuclear-"..grade.."-oxide", - enabled = false, - energy_required = 10, - always_show_made_in = true, - ingredients = {{ - type = "fluid", - name = "adamo-nuclear-"..grade.."-hex", - amount = 10 - },{ - type = "fluid", - name = "water", - amount = 30 - }}, - results = {{ - type = "fluid", - name = "adamo-chemical-hydrofluoric-acid", - amount = 60, - },{ - type = "item", - name = "adamo-nuclear-"..grade.."-oxide", - amount = 1 - }}, - crafting_machine_tint = { - primary = adamo.colors.hf_base, - secondary = oxide_color, - tertiary = hex_flow_color, - quaternary = data.raw.fluid.water.flow_color - }, - } - local item = { - type = "item", - name = "adamo-nuclear-"..grade.."-oxide", - subgroup = "adamo-nuclear-oxide-group", - order = "nz"..order_number, - stack_size = 50, - icon = "__adamo-nuclear__/graphics/icons/"..grade..".png", - icon_size = 32, - } - local fluid = { - type = "fluid", - name = "adamo-nuclear-"..grade.."-hex", - group = "fluid", - subgroup = "adamo-nuclear-hex-group", - order = "nz"..order_number, - icon = "__adamo-nuclear__/graphics/icons/"..grade.."-hex.png", - icon_size = 32, - base_color = hex_color, - flow_color = hex_flow_color, - default_temperature = 25, - max_temperature = 100, - heat_capacity = "0.1KJ", - - } - data:extend({hex_recipe,oxide_recipe,item,fluid}) - if grade:match "Pu" then - add_recipe_to_tech("atomic-bomb", - "adamo-nuclear-"..grade.."-oxide" - ) - add_recipe_to_tech("atomic-bomb", - "adamo-nuclear-"..grade.."-hex" - ) - elseif grade:match "LEU" or grade:match "DU" then - add_recipe_to_tech("uranium-processing", - "adamo-nuclear-"..grade.."-oxide" - ) - add_recipe_to_tech("uranium-processing", - "adamo-nuclear-"..grade.."-hex" - ) - else - add_recipe_to_tech("nuclear-power", - "adamo-nuclear-"..grade.."-oxide" - ) - add_recipe_to_tech("nuclear-power", - "adamo-nuclear-"..grade.."-hex" - ) - end - order_number = order_number + 1 -end - -local grade = "DU" -data.raw.recipe["adamo-nuclear-"..grade.."-oxide"].ingredients = {{ - type = "fluid", - name = "water", - amount = 30 - },{ - type = "fluid", - name = "adamo-nuclear-"..grade.."-hex", - amount = 10 -}} - -local grade = "RGPu" -data.raw.recipe["adamo-nuclear-"..grade.."-oxide"].ingredients = {{ - type = "fluid", - name = "water", - amount = 30 - },{ - type = "fluid", - name = "adamo-nuclear-"..grade.."-hex", - amount = 10 -}} - -local thermal_reactor_entity = { - type = "boiler", - name = "adamo-nuclear-thermal-reactor", - icon = "__adamo-nuclear__/graphics/icons/thermal-reactor.png", - icon_size = 32, - flags = {"placeable-neutral", "player-creation"}, - minable = { - mining_time = 0.2, - result = "adamo-nuclear-thermal-reactor" - }, - fast_replaceable_group = "boiler", - max_health = 200, - corpse = "boiler-remnants", - vehicle_impact_sound = { - filename = "__base__/sound/car-metal-impact.ogg", - volume = 0.65 - }, - mode = "output-to-separate-pipe", - resistances = {{ - type = "fire", - percent = 90 - },{ - type = "explosion", - percent = 30 - },{ - type = "impact", - percent = 30 - }}, - collision_box = {{-1.29, -0.79}, {1.29, 0.79}}, - selection_box = {{-1.5, -1}, {1.5, 1}}, - target_temperature = 165, - fluid_box = { - base_area = 2, - height = 2, - base_level = -1, - pipe_covers = pipecoverspictures(), - pipe_connections = {{ - type = "input-output", - position = {-2, 0.5} - },{ - type = "input-output", - position = {2, 0.5}} - }, - production_type = "input-output", - filter = "water" - }, - output_fluid_box = { - base_area = 2, - height = 2, - base_level = 1, - pipe_covers = pipecoverspictures(), - pipe_connections = {{ - type = "output", - position = {0, -1.5} - }}, - production_type = "output", - filter = "steam" - }, - energy_consumption = "3600kW", - energy_source = { - type = "burner", - fuel_category = "adamo-nuclear-thermal-reaction", - effectivity = 1, - fuel_inventory_size = 1, - burnt_inventory_size =1, - emissions_per_minute = 0, - smoke = nil, - light_flicker = { - color = {r = 0,g = 0,b = 1,a = 0.3}, - minimum_intensity = 0.3, - maximum_intensity = 0.3, - minimum_light_size = 0.1, - light_intensity_to_size_coefficient = 1 - } - }, - working_sound = data.raw.boiler["boiler"].working_sound, - structure = data.raw.boiler["boiler"].structure, - patch = data.raw.boiler["boiler"].patch, - fire_flicker_enabled = false, - fire_glow_flicker_enabled = false, - fire = { - north = { - filename = "__adamo-nuclear__/graphics/entity/" - .."thermal-reactor-N-fire.png", - priority = "extra-high", - frame_count = 1, - width = 12, - height = 13, - shift = util.by_pixel(0, -8.5), - hr_version = { - filename = "__adamo-nuclear__/graphics/entity/" - .."hr-thermal-reactor-N-fire.png", - priority = "extra-high", - frame_count = 1, - width = 26, - height = 26, - shift = util.by_pixel(0, -8.5), - scale = 0.5 - } - }, - east = { - filename = "__adamo-nuclear__/graphics/entity/" - .."thermal-reactor-E-fire.png", - priority = "extra-high", - frame_count = 1, - width = 14, - height = 14, - shift = util.by_pixel(-10, -22), - hr_version = { - filename = "__adamo-nuclear__/graphics/entity/" - .."hr-thermal-reactor-E-fire.png", - priority = "extra-high", - frame_count = 1, - width = 28, - height = 28, - shift = util.by_pixel(-9.5, -22), - scale = 0.5 - } - }, - south = { - filename = "__adamo-nuclear__/graphics/entity/" - .."thermal-reactor-S-fire.png", - priority = "extra-high", - frame_count = 1, - width = 12, - height = 9, - shift = util.by_pixel(-1, -26.5), - hr_version = { - filename = "__adamo-nuclear__/graphics/entity/" - .."hr-thermal-reactor-S-fire.png", - priority = "extra-high", - frame_count = 1, - width = 26, - height = 16, - shift = util.by_pixel(-1, -26.5), - scale = 0.5 - } - }, - west = { - filename = "__adamo-nuclear__/graphics/entity/" - .."thermal-reactor-W-fire.png", - priority = "extra-high", - frame_count = 1, - width = 14, - height = 14, - shift = util.by_pixel(13, -23), - hr_version = { - filename = "__adamo-nuclear__/graphics/entity/" - .."hr-thermal-reactor-W-fire.png", - priority = "extra-high", - frame_count = 1, - width = 30, - height = 29, - shift = util.by_pixel(13, -23.25), - scale = 0.5 - } - } - }, - fire_glow = { - north = { - filename = "__adamo-nuclear__/graphics/entity/" - .."thermal-reactor-N-light.png", - priority = "extra-high", - frame_count = 1, - width = 100, - height = 87, - shift = util.by_pixel(-1, -6.5), - blend_mode = "additive-soft", - hr_version = { - filename = "__adamo-nuclear__/graphics/entity/" - .."hr-thermal-reactor-N-light.png", - priority = "extra-high", - frame_count = 1, - width = 200, - height = 173, - shift = util.by_pixel(-1, -6.75), - blend_mode = "additive-soft", - scale = 0.5 - } - }, - east = { - filename = "__adamo-nuclear__/graphics/entity/" - .."thermal-reactor-E-light.png", - priority = "extra-high", - frame_count = 1, - width = 70, - height = 122, - shift = util.by_pixel(0, -13), - blend_mode = "additive-soft", - hr_version = { - filename = "__adamo-nuclear__/graphics/entity/" - .."hr-thermal-reactor-E-light.png", - priority = "extra-high", - frame_count = 1, - width = 139, - height = 244, - shift = util.by_pixel(0.25, -13), - blend_mode = "additive-soft", - scale = 0.5 - } - }, - south = { - filename = "__adamo-nuclear__/graphics/entity/" - .."thermal-reactor-S-light.png", - priority = "extra-high", - frame_count = 1, - width = 100, - height = 81, - shift = util.by_pixel(1, 5.5), - blend_mode = "additive-soft", - hr_version = { - filename = "__adamo-nuclear__/graphics/entity/" - .."hr-thermal-reactor-S-light.png", - priority = "extra-high", - frame_count = 1, - width = 200, - height = 162, - shift = util.by_pixel(1, 5.5), - blend_mode = "additive-soft", - scale = 0.5 - } - }, - west = { - filename = "__adamo-nuclear__/graphics/entity/" - .."thermal-reactor-W-light.png", - priority = "extra-high", - frame_count = 1, - width = 68, - height = 109, - shift = util.by_pixel(2, -6.5), - blend_mode = "additive-soft", - hr_version = { - filename = "__adamo-nuclear__/graphics/entity/" - .."hr-thermal-reactor-W-light.png", - priority = "extra-high", - frame_count = 1, - width = 136, - height = 217, - shift = util.by_pixel(2, -6.25), - blend_mode = "additive-soft", - scale = 0.5 - } - } - }, - burning_cooldown = 20 -} -local prod_anim_speed = 0.5 -local prod_reactor_corpse = adamo.centrifuge.remnants(5/3) -prod_reactor_corpse.name = "adamo-nuyclear-production-reactor-remnants" -local prod_reactor_explosion = adamo.centrifuge.explosion(5/3) -prod_reactor_explosion.name = "adamo-nuclear-production-reactor-explosion" -local prod_reactor_entity = { - type = "assembling-machine", - name = "adamo-nuclear-production-reactor", - icon = - "__adamo-nuclear__/graphics/icons/" - .."production-reactor.png", - icon_size = 32, - flags = { - "placeable-neutral", - "placeable-player", - "player-creation" - }, - minable = { - mining_time = 1, - result = "adamo-nuclear-production-reactor" - }, - max_health = 350, - crafting_speed = 1, - crafting_categories = {"neutron-bombardment"}, - energy_source = { - type = "electric", - usage_priority = "secondary-input" - }, - energy_usage = "750kW", - module_specification = { - module_slots = 4 - }, - allowed_effects = { - "consumption", - "speed", - "productivity", - "pollution" - }, - corpse = "adamo-nuyclear-production-reactor-remnants", - dying_explosion = "adamo-nuclear-production-reactor-explosion", - resistances = {{ - type = "fire", - percent = 70 - }}, - collision_box = adamo.centrifuge.collision_box(5/3), - selection_box = adamo.centrifuge.selection_box(5/3), - drawing_box = adamo.centrifuge.drawing_box(5/3), - always_draw_idle_animation = true, - idle_animation = {layers = adamo.centrifuge.idle_layers(3/2,prod_anim_speed)}, - animation = { - layers = {{ - filename = "__adamo-nuclear__/graphics/entity/production-reactor-C-light.png", - priority = "high", - blend_mode = "additive", -- centrifuge - line_length = 8, - width = 96, - height = 104, - frame_count = 64, - animation_speed = prod_anim_speed, - draw_as_glow = true, - shift = util.by_pixel(0*3/2, -27*3/2), - scale = 3/2, - hr_version = { - filename = - "__adamo-nuclear__/graphics/entity/" - .."hr-production-reactor-C-light.png", - priority = "high", - scale = 0.5*3/2, - blend_mode = "additive", -- centrifuge - line_length = 8, - width = 190, - height = 207, - frame_count = 64, - animation_speed = prod_anim_speed, - draw_as_glow = true, - shift = util.by_pixel(0*3/2, -27.25*3/2) - } - },{ - filename = - "__adamo-nuclear__/graphics/entity/" - .."production-reactor-B-light.png", - priority = "high", - blend_mode = "additive", -- centrifuge - line_length = 8, - width = 65, - height = 103, - frame_count = 64, - animation_speed = prod_anim_speed, - draw_as_glow = true, - shift = util.by_pixel(16.5*3/2, 0.5*3/2), - scale = 3/2, - hr_version = { - filename = - "__adamo-nuclear__/graphics/entity/" - .."hr-production-reactor-B-light.png", - priority = "high", - scale = 0.5*3/2, - blend_mode = "additive", -- centrifuge - line_length = 8, - width = 131, - height = 206, - frame_count = 64, - animation_speed = prod_anim_speed, - draw_as_glow = true, - shift = util.by_pixel(16.75*3/2, 0.5*3/2) - } - },{ - filename = - "__adamo-nuclear__/graphics/entity/" - .."production-reactor-A-light.png", - priority = "high", - blend_mode = "additive", -- centrifuge - line_length = 8, - width = 55, - height = 98, - frame_count = 64, - animation_speed = prod_anim_speed, - draw_as_glow = true, - shift = util.by_pixel(-23.5*3/2, -2*3/2), - scale = 3/2, - hr_version = { - filename = - "__adamo-nuclear__/graphics/entity/" - .."hr-production-reactor-A-light.png", - priority = "high", - scale = 0.5*3/2, - blend_mode = "additive", -- centrifuge - line_length = 8, - width = 108, - height = 197, - frame_count = 64, - animation_speed = prod_anim_speed, - draw_as_glow = true, - shift = util.by_pixel(-23.5*3/2, -1.75*3/2) - } - }} - }, - working_visualisations = {{ - effect = "uranium-glow", - fadeout = true, - light = { - intensity = 0.55, - size = 9.9*3/2, - shift = {0.0, 0.0}, - color = { - r = 0.0, - g = 0.15, - b = 1.0 - } - } - }}, - open_sound = { - filename = "__base__/sound/machine-open.ogg", - volume = 0.85 - }, - close_sound = { - filename = "__base__/sound/machine-close.ogg", - volume = 0.75 - }, - vehicle_impact_sound = { - filename = "__base__/sound/car-metal-impact.ogg", - volume = 0.65 - }, - working_sound = { - sound = {{ - filename = "__base__/sound/assembling-machine-t2-1.ogg", - volume = 0.8 - },{ - filename = "__base__/sound/assembling-machine-t2-2.ogg", - volume = 0.8 - }}, - idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 }, - apparent_volume = 1.5 - }, - fluid_boxes = adamo.centrifuge.fluid_boxes(5/3) -} - -data:extend({ thermal_reactor_entity, prod_reactor_entity, prod_reactor_corpse, prod_reactor_explosion, }) - -local plutonium_explosion_wave = { - type = "projectile", - name = "adamo-nuclear-atomic-explosion-wave", - flags = {"not-on-map"}, - acceleration = 0, - action = - { - { - type = "direct", - action_delivery = - { - type = "instant", - target_effects = - { - { - type = "create-entity", - entity_name = "explosion" - } - } - } - }, - { - type = "area", - radius = 3, - action_delivery = - { - type = "instant", - target_effects = - { - type = "damage", - damage = {amount = 1000, type = "explosion"} - } - } - } - }, - animation = - { - filename = "__core__/graphics/empty.png", - frame_count = 1, - width = 1, - height = 1, - priority = "high" - }, - shadow = - { - filename = "__core__/graphics/empty.png", - frame_count = 1, - width = 1, - height = 1, - priority = "high" - } -} -local plutonium_rocket_projectile = { - type = "projectile", - name = "adamo-nuclear-thermonuclear-rocket-projectile", - flags = {"not-on-map"}, - acceleration = 0.005, - action = - { - type = "direct", - action_delivery = - { - type = "instant", - target_effects = - { - { - repeat_count = 150, - type = "create-trivial-smoke", - smoke_name = "nuclear-smoke", - offset_deviation = {{-1, -1}, {1, 1}}, - starting_frame = 3, - starting_frame_deviation = 5, - starting_frame_speed = 0, - starting_frame_speed_deviation = 5, - speed_from_center = 0.5 - }, - { - type = "create-entity", - entity_name = "explosion" - }, - { - type = "damage", - damage = {amount = 1000, type = "explosion"} - }, - { - type = "create-entity", - entity_name = "small-scorchmark", - check_buildability = true - }, - { - type = "nested-result", - action = - { - type = "area", - target_entities = false, - trigger_from_target = true, - repeat_count = 2000, - radius = 35, - action_delivery = - { - type = "projectile", - projectile = "adamo-nuclear-atomic-explosion-wave", - starting_speed = 0.5 - } - } - } - } - } - }, - light = {intensity = 0.8, size = 15}, - animation = - { - filename = - "__base__/graphics/entity/" - .."rocket/rocket.png", - frame_count = 8, - line_length = 8, - width = 9, - height = 35, - shift = {0, 0}, - priority = "high" - }, - shadow = - { - filename = - "__base__/graphics/entity/" - .."rocket/rocket-shadow.png", - frame_count = 1, - width = 7, - height = 24, - priority = "high", - shift = {0, 0} - }, - smoke = - { - { - name = "smoke-fast", - deviation = {0.15, 0.15}, - frequency = 1, - position = {0, 1}, - slow_down_factor = 1, - starting_frame = 3, - starting_frame_deviation = 5, - starting_frame_speed = 0, - starting_frame_speed_deviation = 5 - } - } -} -local plutonium_rocket_ammo = { - type = "ammo", - name = "adamo-nuclear-thermonuclear-rocket", - subgroup = "ammo", - order = "d[rocket-launcher]-r[adamo-nuclear-thermonuclear-rocket]", - stack_size = 10, - icon = "__base__/graphics/icons/atomic-bomb.png", - icon_size = 64, - icon_mipmaps = 4, - ammo_type = - { - range_modifier = 3, - cooldown_modifier = 3, - target_type = "position", - category = "rocket", - action = - { - type = "direct", - action_delivery = - { - type = "projectile", - projectile = "adamo-nuclear-thermonuclear-rocket-projectile", - starting_speed = 0.05, - source_effects = - { - type = "create-entity", - entity_name = "explosion-hit" - } - } - } - } -} +require("combat") data:extend({ - plutonium_explosion_wave, - plutonium_rocket_projectile, - plutonium_rocket_ammo + plutonium_rocket_recipe, + -- plutonium_explosion_wave, + -- plutonium_rocket_projectile, + -- plutonium_rocket_ammo +}) + +adamo.tech.add.recipes("uranium-processing", { + urania_recipe_sulfuric.name, + urania_hex_recipe.name, + LEU_enrichment_recipe.name, + LEU_fuel_item.name, + thermal_reactor_item.name +}) +adamo.tech.add.recipes("nuclear-power", { + HEU_enrichment_recipe.name, + WGU_enrichment_recipe.name +}) +adamo.recipe.set.tech("nuclear-power","atomic-bomb") +adamo.tech.add.recipes("nuclear-fuel-reprocessing", { + prod_reactor_recipe.name, + LEU_REMIX_recipe.name, + HEU_PUREX_stage_1.name, + HEU_PUREX_stage_2.name, + LEU_PUREX_stage_1.name, + LEU_PUREX_stage_2.name, + LEU_PUREX_enrichment_recipe.name, + HEU_PUREX_enrichment_recipe.name, + plutonia_238_recipe.name, +}) +adamo.tech.add.recipes("kovarex-enrichment-process", { + MOX_fuel_recipe.name, + MOX_REMIX_recipe.name +}) +adamo.tech.add.recipes("atomic-bomb", { + WGPu_from_LEU.name, + WGPu_from_DU.name, + plutonium_rocket_recipe.name +}) +adamo.recipes.set.productivity({ + urania_recipe_sulfuric.name, + plutonia_238_recipe.name, + -- urania_hex_recipe.name }) diff --git a/graphics/icons/HEU-PUREX.png b/graphics/icons/HEU-PUREX.png index afe9f1c321697cd698495b47b242710e33376eae..52265b244394ecd2f4eff8b9270ea4a30beb277c 100644 GIT binary patch literal 6668 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 literal 6564 zcmV;V8C&LwP)y`-<{65_wGOLOKgzI?gZqw z)>-e~^Um65|GxXXf8)M_SCR9NTTvd|z5lE|d457&>mDIQ#TSA;rD~bAKfAqx%#{Y3+lALi@y-p6yava9;oXJ_Us7{O%mMaJ$C>%JzfKv234t+|o z)b|9AJg-;|jraSl~c)njHAZxjn30 zSfUgbQPSdwoMIr@x;f&6lM7@v;V1ufDr;K%{_jjr-|?0K;M3jRrw39#*zY*}7h~{! zpK^7IdS@4tLqh;~ot=FA%pxZp<qg+s=+Mq261QIB?ilE=+nlCLNg>N{DX9XxB*am!H z-)}GJR5JI0(LWjnT+`coWy6@SuPPL{ty<-|N`){C8JpNoPiI^CLZLtq1YERif~Eb2 zIbBdLs5X6sz)FGgByJ$^3KHdk6G+_90oNy$0aiGVIF8xuyXHPu@sv&TA#cUK@te*7 z1LucQ(kUg8wKSR&WLZXU*8qcqgA@t{T-T+$qr~odMlEeIG+AX{k79nePbG9PQh*Sk z6jn;CQdp_5!a+F>p$F2@YXuwwEHT>NVGxf1PrT^>xI!G$r4%J8d7J0)XthOojz>pF z2VodeDwQY{3Y04q5WQ4|U_8(1%YTj(0@smbLLeN0bR@!&2&esBNRZOvItHO6*3xY> z|H|Yx(W#O3$Ip(+r>xufrUIaZ2tp~T8N-QT2-PZK7!rmdN+}A30#ZuyJjZbyvMfUg z!R)TK9dKQV6$0x@lq*p#IF80~G*USTVKGJ^guq&XH8#+hIZfxbl0{k%-?hdI1G%a5 ztcTx}?cjJYQIc{_%NR;haz#f64+??fI4Grvq6o)va2y9A1n0ahrYn9P0gTi$oW!F1 zBF$=s7A+jd^6@|4$hU4;PEXNo&0pEE7dXlqT(B5zG1`VEGso#nPl44*qN~8pHwAz| z%Eug76#*@+Ij&Hk6!`oyj%l@82qEx1k2FnbHk-7@o}=hy)N;d)$%L4Iuri0Ke|my_ zS;nKS7D@;{cjb0YSi1Pze|MX^ULbD}*xAN_%?&0u8E4vzMK50xddS^ zJF5fyYMaBBsV;`@+KAY)h5dQX_B186mbt*Yibb-^F8fv(hPVFunL=y+K=edMA>Lz6 ze!R(TN1hl=YB9ORXzN&Q`>{wN#M58AZEx)j-2z%`anJ18Bg=Q~;`CyXKBXA479|7? zW8k~rWlC!r_ddudkXVbJVTuH*#!%N9B?L$NK5N2|jpv<5vTxtm;NYN4)6~1=$FoMS zeqVK6Uza}5YWl4?Fwt`SQ2H6fxXXtWmUoPl_Lbof?ocKr|U<~4Z5yV zC=|RM%a&2wyqU9#MdmmTu`zTh#gx`0){+)|wf^Xl7&VDVuLO9$`detrb84Yz_GB z5d$F0GH34Gxw=}dQakooZc7r5+rFJa&ttyp5=u#^HJP=Hv{+%S?ZH~C0c#9a+g@wz zJFpB`Yg^V*13MDZpFsuHsyaX08tdFB}%WAB3tz{FI?+MA&%T4^O^OifkbJ7)s zqCLxXTT2kgQ_fhpH;%+Fn$zm3JASY&d3~Yqtbudkgu2qEx&pCAZON-;Dvw08gg{pT!M(RIh3;q{A` z&U^23fc2!mFxGiswKYatYqiB13&uLu+FmT!_SFO$*4VL^PWsXhA6+bWrI&a0h^xAK z-J=SjR6+>iNSo?pzJKyS{*Cv2c;T0S^xa((uN?q>T&q-B}bw!`E`&3FQ43?kOFKU-tRg%mrNU-|5d066W;m8#Mme|*+ldBfa= zL8Yt5B`8RQfF!nZdMcZ{FN{AcMCM=o{w3GldHc53s{$}MGIrekV`CU&C=?2WVMvx` zD5VaCy^iCcwLYY{>$-;&2VN8@=6Oz|(V)?2Q0^`tm*-Y!YqXL=daf*E={DMS>C8B0 zCMY_@0&BryF*d_8BCH*M>4fJjjNjJTEj~GKVNe;E>r?4)@B;|~veXcS5-IW1#C|MI z?1RAFuN4V;@v~1cvT_vz0|Rt+cA}Ib&vSwxz*>ux63_F<^BgH9uIpm0MF@d01^}%! zT5FokCcAg{W)0A4R#^~rM`}XalIXX&tbhO^z z-yhGoLi?qAkGu@E3$*DUx0Pp)lDx=}oxFObl|wF8KbMJMa9^-jNZ0>ADzWXfzsxVMs?u$04KUI1cX2|Km6&&vW89CW@j% z#&Kd|f?BOcb9|IR&*P|b&;8zY*Ij3?y6P$m*c)%W(cX9?4WP00ORK7csxLRzrkPzW ztnG6oNUY8?GZw{m)Z{V+SiAOUF?(^kJS(tDHQ~@0`+l-MOXG*;^+k85tQtYfWcoC#_bC zN~O}?D>E!O$O>Z&S(cIK`60#Y^*Y8FdON#W5XC>gcCA8 z|MykH^~gM2aQH%hQQ!#6WIerg?X@pF1#sfY^X2>%(R+IPog2FQy_I`M3S$3gO8=~s zLI_G)bfy78mTIDUPNSAGe!!YNW2O1?mNswleSZ-aou={TISUs3wAoPWe)OGf4FGk) z1s90h$HwkoGCh6CeAn%6Hk*t)4y{&;Mx#N!UZ-BKlOzeXT8$`*Xti2st(l&lW^8PX zsi~><^W)?64)n8py0)$F(n~LS=9y<2S6_X#G{$iA%{SYZqu@908{2%r>fW=I68Czp zJSDdbo%&asuRrAW&g(wCZ?^m&3yunwjmQ1M|7wKUIfrK!tR%A`jkG|uRbZlCVE<&9 zoui#Ry=xxwf0gNcVr)UWrf=18tL)sK0e616L!IDw_Cl=bS-QOM$&F7>G{tq-T_*uM zIyyS2Z@u;VWu;c{NK>Bd?q+goKSBm{b#xuF0SCRp!MzUbC!7?%RTS0!OJiI zz*oQe)ggeZuDVLxc;k)swE~h`uRrz@k2N7!z9H2`myr7H;LQGJ>NQp`!L{ufpT5Jx=P#xx(#mhPIM$N3=j3_cxCsT%Y zCfUB-*%wFly4Q=VuDVL}^z2v;jydKSp|z%?qeEPK?X_lOl04dV>Zv!n9i@?;sj4?WP3Lz@rFtEQE~)57 z;-x8}5R{ZkWv%v*FT_7AzWCw~-}%fl4+7kD(@kPvU_iVQ?O#n!JA0)wcVYhLbLP8$ zvv6slckZAsdiy=PdfI-!vz)ShMUln7@tMT+#5-zom@)dG0wimhF{HVngXVJmLUZ*1OFbmz?x zt+>^2z4D%(o}S(7)~$O{sQLf8>IdcDe01Rna~7z7S-hgKc-CB>N~eSGw?o}DH8ks* z(GiXOZ>R9VU#%l>TsHI!@Z~FAj$bfD@2mo0NuiWP=Z0oeGd7$sUDd2!(@96S!}v(b zj;$@WY;4`^9DMOBP5O~X9%%v3&s;D%{;CT6|0oYoD2X#Wd!0pHJua1wgOQ$#kdQ=q zJKRn(?!2PR2cIaCDTljOoyN-9-)CT6ks$vWSgO*E#u}9kjy@ zz+#*~rbcB?_fqM2*`h+IWKfWJz9cBPlq&_KkTgV#EH(InWFQ!)(G<^pWXD6t^^KVn|a%66Z8zgpd$NdHa51h!ab0Vq$zS z29O}^p?;-kBlWuj0HR&>o*d7}Qrnyy*Z;V0m;2ls2EhAIEQd>GRUeThmjCOMN*Dj& zw~b%C+;efn1J%iVXnHc6*Us|=S!NKljbNj$sZ}#ZrwW)jp+nV~j(n0hCQS@UqG>e~ zvNR{lG-=!hGl>jQ%h*Ou?@MC)^|4`l^P|6bA%DXFDERgpvX>LRG8mVi{K@LlQQu$R z_&p{}kNZy*!sJ`~_QZcF6keK|8Tz&Xs8=)g?bXctjwQ)j^weXv*WSV6@h2#j9h4(5 z+M=Ac7icv#^;*uJPleI2afjne zD+V_Wr?%~X+Zpbq2$B|y1#-`9}YHHP-@v)4(J5&AWmWATXb_UZa?!c-`xGswk=coP-Enc0N}*M-VZbk zE*eaUT8d43ES~2ay`ta$=gs@m->dmQ|IB1--eBi1lh{1lteJXsGMgSB&Gw9sW{>XN z>yP(7=q{?%r$l0M5}UGOXdA7q6`t%XAhQNZq-oSNQxh5chY~ZqC*3eUl7DX7CUx)d z-YNT{H(NqNReHTDh{`PFkNzH$kX-~7SjjgP+SQN2r6dD5wNSgar~ zX7iWkU!Jw7beX6OFrD|()Lj?~7-K0h#B8;hxYnZ4&@}62OA?9y9W})dM~6B$KX~7h zzZat%aT_3g{&SooyGjBhAx9!mM8@KK;sgKg)Zj1v>9P0~o1#Da>4p?I0C3@@gFT+_ z%pK^}3?4N}cVC^3&i$0jA=X%?YZ2ASA|u0!om(TeO-1XsZ7BWyqYrI(#S*zZlFGmL zgiqVsRab z;|Qb_iLpk%>H-}}0792f8G$c^U|x3vhjsx&SV1mQqRgUvd-d`G&wD-NO^;XVNo=;Z z8k#t2U#(U~ZMsFR77?}bw!4cot)|v#!q#6syfJ@M0QkEL@kA)DG=T35yug40DM2}c zG=XMIlS1F3K6T0K8S~MHp3LKxxO?J2eqd@Mqdu*vPv=ZmQ>Lpa_34b-bk5{>#^iXu zBW{WNUb8WBqyX4FUV5Lc*zPQ~6hnoSU?eEVqO8CeXhs>nCkS2nx4;i)dakd|f=Ts= z>t+Ab^W&?Hv3_Ud;`qYe+*P+X#7ML@lmZ7i z(|A&{9i&JFQEX{N1~*j8&s-jy^uXr$@z)yr=wofP^*QtRkR@@;e5|88n;R6A0!!31 z`P4+VV`{>Ftu`6{^Dlp~QNJkw?3$3Pvp_7#vbNXh?}{OBzfB9#W`mJrxuF$7rDR31 zAZ`FId^Hx_djE-H`{ouu{ob~Ti!NRC`KYPynHV=`IF4O}Md!KL+G^Mb$4AA+2kzPU zx;n*21b|%dd5aLnSR6+(tEYhs!K4RI3jor=*pyheEjYe9^PJ^{f%`T``(J5X->8un?XqHrhjb4j z18FWX#)54pae1B-C5lpDT|W??0{-gd#$C7ZR53l3A1q`XlD&II?cP1itoFnoJm13( zfYkY?OrV@Bu^0`df}|RIOilEWCY>~5gX>Sy*%3274QU2ZVu@2Idg9-%Sz5a0(H9yo zqVF|dTq+J0GCuq9=k4K~?_tda{_=F>v=e;OSW1ZoD+J|Yz+}3LRVQD`>a`zY`7!Sz ztjs5CO_OI0CZ3L#iktNHE@t8UoToQ#Bgq9i7dXni>)>!{Vz})5r!BydQ2ww-f{w#! zxdE*$8Ja@qGq`vqa~2HJsE>2s-9O=>`|qLA8e#Ul*(_Lm0^Ob6B z336t=hDK^U^z&Qk?ps8?-o&wzv7r$*KC_9D;XOS0>pK}5t>P$f9FVR==Qgj_vp4Lx z>|sUv=w5fWapk$jKxW!Cxq4%QJ-c>Lo17$cnxI?k-thvDJ^W*y+VB)(;~8N=QYk8Y zrN|O9lIPhM_Sdj)IR*$RzAudZg5#j1bjZmV8Bdw2KTTAhpufvOikz{jCwYGR2xAi| zo)4jKa9xGQViNPCCx>1;D?EH=>oCiEPAWbk3Sv#OshOx}j8$_Q5#)O2Z8PgCB?K;1 zijuxAm!hj^MJCG{dhz4?vb}Ff8vtNaeR(d_bB-guz;kdNjT9CsL5lX}IN&J=14&0o z;kc3{*F-Jz^{3uI<&Q{Ne9Krqxv$ zM%_GCZ^@5LMOwe50RY%>Ab)y(hr3rg;sV#T%5xn&PvCnHx{87;2^ksv8SWQnAJfGbRrNr;ezB#?lu4H6d=P{aaS zYJkX}?P2v8Ye-60kKeBAx^*G9T9dkBQnih1b`TAp}<(00-pCm9JVAC)uapN#N6m7WwA zwb$t#_nb4F&wkq(<()Nk1E=<9)INIk(m$=(o?F~KqVv)y>;vdwqo=vKenW{mcb`iYys+&#nc_Q(ww))(G4f<3qK?AIvQc=C9eOG6Y zy6nKp(a{2rTZ{T`Kl6SXtLJMH{L4ta4eLYJ3#r)8hQf2IKbf^=v_^eVXYV>!zASI7 zRB;w66s|4J7VHR(53X!Vd%#VhCihRvVSPYp^N{1-t2r9_RTn+$dPOrKxg({rae=}i zCYWm{TEF>&Xsd;3>o4vt=VBtC*g22a-%O~83rMvp@wTsLt{E8Bj~i4+1vv$6Y}71G z%SQ3XB^LT+x~_)%gS>9ZXTUR|A@<&A7CYmQis5ksl_s+?f@Wcu3851vS1~e3kyXO24?VBGX^c< zGcc(XHi0dRgfm6+3*>N8!GdI7K^Bk3$IJ~!g{kQXff!aoXtg+7qM)l87!xlYxi^~e z7_L%C3{0j{DWl`@DwPVS zBH^TRAs(dBXm|n3yN^_MA3 z5~bf{3O?_pzbsdtZAypF!^7FI7=bE~Rl(PmjE-S*UV0cM5Q@YylNTcPYe=O?@Jg)L zVl&Q|(wQ6x;{KBNHS~+zO<)AYX46?xUam2`7#0I#T%XRD@P>6QeOL4trs#XvL{Dnq~aq~6e@`Za|Ki^mB0_hlBu*1Y$z`ML z3JNF>=9}U~xF)7}nUF*XBi-Y9xxTQA{;?Dwl7LI2VM!pDizP#32n+G4G%QU(Aqzkv z6vCyFUT0TG1xghphnYe|M?@>6JWX1m15Fzh^g3FV2^)6-5ey3=HTpNf@Xr&*8+*o! zjKlDM(Hu}9T zvKMC7yYJn4to2CdYzmpR^~(Fa_@9%L*d>&@(t{g5;PzLfq^rqb_`QwA#Z~jT8$8{> zU5?KC7Gi3tiMH~C4YPWJgMWLVdJI`#nRcwjytE?z_|9J6QUf8~6o9lEl?;@^O-$*w3T~tiH zqIT?vS#<|S$07MjimXl)9sPW5kJv^%GmkDy1h#8v6lvrdr*`oijmE<}5M{C4(tFv3 z)68!>UGZkL&(Y!*QE#%b?jZKi2$KCD-5-jZehou=m-r%}x;-__>J zQ%__&w#-30s5{r`>{;_I-S*P%MxD|yO=KHazjvc|vC@b4!Etc$UQ|%hG%HTxw z7J1`r`|VUmU1WtlTt=LEVfEGEX<)|avlU#&l^`YG)o#zFNAKp|$DSTDUhPIWm?2TEa%@oalUK$-QCse zEy}NbuN|_V^1xN`6PWi&C5cY{p|LEl|6p@5|271V#YYRlh2MARJ+-9iLAsMgN5c3r z4JUNtMMjsQwfgfNwL{&9{QGm>xh<8cV!&FCSyE?`!(Kw@#n$7IE_b%1-)RLjz1xWc z7Ani^yPxjReffuPe_YP-XTxr>ZSSdnPqsJf)QvonE)Bn2xVtYEI-@{uTmsac@9?*M z*DB-7q1iVrQi}(Eaa&R?{7>_yHI1T24}v46U3K`Y?=(wwJ@)bMFmVNj&0PGRrJE#n zC#!I1MtTEJHFd}ybV%nt`qMwPU_4_*Kb^7cI=DM;R?5_Gr>6%wdc~i3g1)1Vn`ygb zYV}xoAg|N!$AoqlxyO{VQLSsO8;5U(EFJq51J?DO>n$8|`jA#$Y;Im)$;u5}z>wQC ztrF}Jtlhc3@RvEPX8O5$d+@Md()2w2NbS?AuC1eZpI^HxIsy#Ct_`|^M7VL}fIsR? zoc-0i+cZp%6?pymlDLD;KC}*L-EZ-6<|&M>49Mn`{)g5)q;6 g(}0`fRrh@epMJC^e59cV={7)2)B@K2_cK=i7eG1GVE_OC literal 0 HcmV?d00001 diff --git a/graphics/icons/HEU-spent.png b/graphics/icons/HEU-spent.png new file mode 100644 index 0000000000000000000000000000000000000000..66da991b11a605cbe1aa6bd8a56774c8bb0af5e8 GIT binary patch literal 6407 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 literal 0 HcmV?d00001 diff --git a/graphics/icons/LEU-PUREX.png b/graphics/icons/LEU-PUREX.png index 7b02c59d678036a57d913d8dfb8440db0426ba3f..89fea8c449d0c388e5fa032d5865902938433acd 100644 GIT binary patch literal 6708 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 F{{VPkLW}?a literal 6579 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 Y0cP4_6Gxy&hyVZp07*qoM6N<$g2N~#761SM literal 0 HcmV?d00001 diff --git a/graphics/icons/RGHEU.png b/graphics/icons/RGHEU.png new file mode 100644 index 0000000000000000000000000000000000000000..891bed4c64ac0753122eff1193c537145f9506b9 GIT binary patch literal 6407 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 literal 0 HcmV?d00001 diff --git a/graphics/icons/RGLEU-hex.png b/graphics/icons/RGLEU-hex.png new file mode 100644 index 0000000000000000000000000000000000000000..c37af58770862b596f7e1ba62f3737180bf97f14 GIT binary patch literal 2311 zcmV+i3HbJjP)5H_e>yaab6lq zH~Cq6vk-Oy1XQM2h$HfkcAdS#9h*G;_{sMk;GPF2ArqR-7v<-QJ>Rfe2Ke}4MBf>%D$-VQJm6u)4q`N*diKPX>21e5_4z8i!T|4Oy4UKxVcfdh+ zNgyZ)lFhLIu-lb1VztZ|>5j```O0Nngp{OBhXUdDd3SmNu8C4r#8 zk?-ON3J$so4)Q?NuAR)}81sAz*Q4+= z0zu#-2(s`q021j?ip{NMeaJwMbKg zIMPtko`KGpux(1W>>25~Y1bxq?+h^3`_;>n;qCX1V&R0P8@H0%OMU!1-F@Qy3+H{3 zaZ*f8QS=Qu$aitL9s@uiQ;k+bVP!eR%(OJGO^XA=rS`JxVhk2KP3=tB!v1!P{grdu zdg?bP-yYzG9TT{IXM*!**v`IT^61)eZ{73z)?;yT5j@|8ky1A@nGCMk-9~9B1tq|1 z&lOQQ4Wwy`g@py%YPIaPJF;}!HBA@`ge{HAifmMt%--fI{~i-&`SD+!_axMh1$O&_Yh1+eG7QKX3tdI#;7`-j>0*Q|9n z_YS%wm**JU)WYJ)URZ09$z&jefDi(VF)+p;r9`XMg4P;7)gXkRAq2WdJZzaVa2yKG zDJTVtLOm{1eK1$h3&X?x9e_ReOgG@DIGDe<9CoW|7l1~zW3V{&r~qoXaP%@&G9j#9q^05BSe+B)B; ztGQe5VJ{p#q``LGdM!$WAv{k_^$oFy*G~HV1H&$gJp%cFBa>xtJqqD43{KQA`$_=U zbs>c49C;k$WA~iG$e54PfQLelhoB%36c{Kp-Z&MZ*e#IFGo-OWv!PI{%HvP{GI*|) z%ov_6gxEO6arBVAsZio$#S0dj4>&wufKVWb6bKb#*;5yM;0Ir0lsk6J&oJuw6pl;b z`2zXCN07hZbZ*B1DWx#RAdX`gW6<5(kz_vL$aM(>MHl%lfn2~56gYZ%9kiMXON$B8 z#2^Z_ktsQO=jZ42bsxxsTMOg@LkK_#=_r$25GNr7loAj^I)WtxN+}p)5JeG;G4Om2 z*JW@#hFsQ#=edaE1WH=Cu7>9`5D=7?QaBDpt*qvvHvV?x6%IkhKnb<@#*c|slAMV{ zjWjVxQ-dT{Xf-1=nr%dp?8FlTtu>4>Fvh@Idx6w;422Mo4(VGCLoBSdsFo!b=Hqs? ztbcxXp15{(YNQwAkwFw1+iK{uNo;?%yl8*XHjnvU}8fr znl)#I3snFy+nFHDT0lyRIP7e`T1jzsLE-fmDLCh#ltL+m;qeMQpMx?2YcAdg3hkCg zV^v{kF~zxs^!f66`_O8cJ>@twdgk}@|67nuzgoq%8v`AM?68#DjU&A=jg23+J4wpR z5({&wKJd%{vDT7{Z@-jZi?jby7@4R6ghEM+BsOSYShsX8!I}AFu2!~RDGkU2wdFwn z>FHx{e;Ix9)9WB5a`^&o&gJNC$HRI6Oi8tX+`Idk*qxQFgufv$pwd_DtfEb5I2tJMVO7h}xLMmTXadTi$9 z{1^JxB+0(t&AxNRb;-J&Fc89xwN`3vVGMyW9k)}eBSm8jEGz`4;GBR`k{D~WaO~BW zWP}LR%Rw`V&1~4xh@;LEh7yf>h(;qq6snHgB8{-Eb(&!I;DJ!3slIxEu&uE5!&McB zrD&4(&qGzd&eMCxcP#; z&dZXWoZB&2Xr;((*s{-;m&ml|Lp{51?y@$&Vt|WdY<(Y;B&54nGo>w-=5yNdQoDHm h+$Gok7XSfZ{{y4GVj+4%PKE#g002ovPDHLkV1gc*QPcnc literal 0 HcmV?d00001 diff --git a/graphics/icons/RGLEU.png b/graphics/icons/RGLEU.png new file mode 100644 index 0000000000000000000000000000000000000000..11b35539d30305ea2e2b010a42da394b994562ba GIT binary patch literal 6730 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 literal 0 HcmV?d00001 diff --git a/graphics/icons/WGPu-fuel-cell.png b/graphics/icons/WGPu-fuel-cell.png new file mode 100644 index 0000000000000000000000000000000000000000..31732271bb671db78414f28b37f67282439437fc GIT binary patch literal 6615 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 kXDt3fR8F}$`=@X`p}5TM?R#bD?F?pPZTwg3PC literal 0 HcmV?d00001 diff --git a/graphics/icons/WGU-hex.png b/graphics/icons/WGU-hex.png index 36c885b19b41ced5eacd8ebbbe3a83ff944431fe..ee7edcd03b4ddd3ffe2df76d38b3381179f40446 100644 GIT binary patch delta 2281 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 DOan|L delta 2236 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 B#?k-) literal 0 HcmV?d00001 diff --git a/graphics/icons/activated-green-oxide.png b/graphics/icons/activated-green-oxide.png new file mode 100644 index 0000000000000000000000000000000000000000..1ba674c2a67be7143a1f29e68e4036487ff87dcb GIT binary patch literal 2262 zcmV;{2r2i8P)MiX7|~{eAB1vRGt6( zzyJH2Qvx3|9`ujhSQERDdp;+S4ZjC2#pJaM;x8V1hPXxWNyuF&LheB}_5`+sy9qpj zNh0Dl!6$?2Y)&Li6UJ9Zp{@mp4(IF*0!e)g@4O4{h~ixm$pjgDgWx0yu{Zesj5BB= zFl%wt{LRK8u|9k_Kci2@eSg(2ePQ;)%9AtO0L&gD zZn7leHo>#NNy|jdUvC`rm-9N`!9&mMjwe|K@XOT_LW0&$DrL5hvOeZYN8$b^XoZcjmr*t8%}Pwx5CXY*ej2J%2G1e^pK+ZJ0bi;pu(>)~-1vQCohqz_3z6MNV6x`d zpZ)OcQ%}$Q{PFt>cW;j@Qm1#UK&zR+2?=-$lX#3RFeZUO3rv?J zu3R@*d9z1ydeL>wf#%Dto!&oodij%uzODvYK6M=JxJ&x=RzJ5yMG<==hiP(abg z+s-qnf`bG?3D4lV$ly|dOYm7v9;KQ>na@OWSehmG-g0 zd%eG&_|=)WgW1sOiQfac`Lng!?48l0^_>KpgisQ;=YgC|vp`S{AV|PznO#eVH6GRj zkrFJ4K#7?bxc1LWF;x*rSccx^0fJD3)A!`hjke5SbamvfeCy)+i5JgYkrTfK!Z+f% z#Us%t|MuwM3k@J$t_S+xndv zyJPdG*Nepk{djRkVd_wXTyQ{gX<%wfXGY8#n*Tbz z1Tlk~EklJ!ZMRItbMJ#4z7tpWIJ-@6p$tKy0Ot_#^GeAI}KbokXZ82!oo2sshtA zVTY1C_Hg~J9jG#|&xP1%je$r(gbGR8UffMYM9Ltc0x@@_3Z6jUW?qn*!l!fAo~mT) z3HK%H-g=XjfPgH?Agq$57SL(SHDWkJwylJ!jG##%AoQGs%mYe#BqIknk$J#z?idK1 zORjliVJN?4_82iJgJZ`aqABA(h3or12_%^Ud{EFBMbqL9G}qeuT_gi;n1CBGP|w0L zK-Tl~%#s@!md80jq((H3nYpYzed4lGxUQiJ1~HWsBqK>AS`6TNmiw_#*7s=CcXWCx z2^WGOx0DM8mq&<0fw;|@Eri)dNh>uLvbm5xlR8ONVU4|D_HDFg>fqzzP`0Bpe27rax@?ml3ERRvxas zcIu^jn;L*%@Im|S{_9Z%-w1NDEF_>=H`Iann#pXExtl%ic-;;e;5to3a-K^pfpFdn zGZyph}sDjM=;FyW72Jk91sUZ^2RuoQ3#*rJGzehrCk{o)fEi_g|N&keU+DzCB zuv#^&#e3d~b?^N)q}b9^`u*IA{0D`5%3BNHT<+ZDFzRn$@>nj3g0AR8aDEN~ zB^k*>x-92Oz!FhVkPn5^>a>b5&EVID9sef?c@av`(TI6^x>o*db*1{mOt*Bt67PK} znfS!Sv3&oS`SQH#zShn`h>{3}W=2Y+jjE7WIms(RsM)YrdAPcrKUFl2MoS%D{rpVK zQ_h}X`{vm5Vsi7rv!VpY@^_D+`MbIxDeQYE+&}yT_If?1>tW(1h)u$ kYXY|?bNi76{eKw$10xySQXu5aIsgCw07*qoM6N<$g2m!Z1^@s6 literal 0 HcmV?d00001 diff --git a/graphics/icons/activated-grey-hex.png b/graphics/icons/activated-grey-hex.png new file mode 100644 index 0000000000000000000000000000000000000000..36c885b19b41ced5eacd8ebbbe3a83ff944431fe GIT binary patch literal 2296 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 literal 0 HcmV?d00001 diff --git a/graphics/icons/LEU-fuel-cell.png b/graphics/icons/blue-fuel-cell.png similarity index 100% rename from graphics/icons/LEU-fuel-cell.png rename to graphics/icons/blue-fuel-cell.png diff --git a/graphics/icons/used-up-MOX-fuel-cell.png b/graphics/icons/brown-fuel-cell.png similarity index 100% rename from graphics/icons/used-up-MOX-fuel-cell.png rename to graphics/icons/brown-fuel-cell.png diff --git a/graphics/icons/HEU-fuel-cell.png b/graphics/icons/cyan-fuel-cell.png similarity index 100% rename from graphics/icons/HEU-fuel-cell.png rename to graphics/icons/cyan-fuel-cell.png diff --git a/graphics/icons/MOX-fuel-cell.png b/graphics/icons/green-fuel-cell.png similarity index 100% rename from graphics/icons/MOX-fuel-cell.png rename to graphics/icons/green-fuel-cell.png diff --git a/graphics/icons/oxide-green.png b/graphics/icons/oxide-green.png new file mode 100644 index 0000000000000000000000000000000000000000..1ba674c2a67be7143a1f29e68e4036487ff87dcb GIT binary patch literal 2262 zcmV;{2r2i8P)MiX7|~{eAB1vRGt6( zzyJH2Qvx3|9`ujhSQERDdp;+S4ZjC2#pJaM;x8V1hPXxWNyuF&LheB}_5`+sy9qpj zNh0Dl!6$?2Y)&Li6UJ9Zp{@mp4(IF*0!e)g@4O4{h~ixm$pjgDgWx0yu{Zesj5BB= zFl%wt{LRK8u|9k_Kci2@eSg(2ePQ;)%9AtO0L&gD zZn7leHo>#NNy|jdUvC`rm-9N`!9&mMjwe|K@XOT_LW0&$DrL5hvOeZYN8$b^XoZcjmr*t8%}Pwx5CXY*ej2J%2G1e^pK+ZJ0bi;pu(>)~-1vQCohqz_3z6MNV6x`d zpZ)OcQ%}$Q{PFt>cW;j@Qm1#UK&zR+2?=-$lX#3RFeZUO3rv?J zu3R@*d9z1ydeL>wf#%Dto!&oodij%uzODvYK6M=JxJ&x=RzJ5yMG<==hiP(abg z+s-qnf`bG?3D4lV$ly|dOYm7v9;KQ>na@OWSehmG-g0 zd%eG&_|=)WgW1sOiQfac`Lng!?48l0^_>KpgisQ;=YgC|vp`S{AV|PznO#eVH6GRj zkrFJ4K#7?bxc1LWF;x*rSccx^0fJD3)A!`hjke5SbamvfeCy)+i5JgYkrTfK!Z+f% z#Us%t|MuwM3k@J$t_S+xndv zyJPdG*Nepk{djRkVd_wXTyQ{gX<%wfXGY8#n*Tbz z1Tlk~EklJ!ZMRItbMJ#4z7tpWIJ-@6p$tKy0Ot_#^GeAI}KbokXZ82!oo2sshtA zVTY1C_Hg~J9jG#|&xP1%je$r(gbGR8UffMYM9Ltc0x@@_3Z6jUW?qn*!l!fAo~mT) z3HK%H-g=XjfPgH?Agq$57SL(SHDWkJwylJ!jG##%AoQGs%mYe#BqIknk$J#z?idK1 zORjliVJN?4_82iJgJZ`aqABA(h3or12_%^Ud{EFBMbqL9G}qeuT_gi;n1CBGP|w0L zK-Tl~%#s@!md80jq((H3nYpYzed4lGxUQiJ1~HWsBqK>AS`6TNmiw_#*7s=CcXWCx z2^WGOx0DM8mq&<0fw;|@Eri)dNh>uLvbm5xlR8ONVU4|D_HDFg>fqzzP`0Bpe27rax@?ml3ERRvxas zcIu^jn;L*%@Im|S{_9Z%-w1NDEF_>=H`Iann#pXExtl%ic-;;e;5to3a-K^pfpFdn zGZyph}sDjM=;FyW72Jk91sUZ^2RuoQ3#*rJGzehrCk{o)fEi_g|N&keU+DzCB zuv#^&#e3d~b?^N)q}b9^`u*IA{0D`5%3BNHT<+ZDFzRn$@>nj3g0AR8aDEN~ zB^k*>x-92Oz!FhVkPn5^>a>b5&EVID9sef?c@av`(TI6^x>o*db*1{mOt*Bt67PK} znfS!Sv3&oS`SQH#zShn`h>{3}W=2Y+jjE7WIms(RsM)YrdAPcrKUFl2MoS%D{rpVK zQ_h}X`{vm5Vsi7rv!VpY@^_D+`MbIxDeQYE+&}yT_If?1>tW(1h)u$ kYXY|?bNi76{eKw$10xySQXu5aIsgCw07*qoM6N<$g2m!Z1^@s6 literal 0 HcmV?d00001 diff --git a/graphics/icons/used-up-LEU-fuel-cell.png b/graphics/icons/purple-fuel-cell.png similarity index 100% rename from graphics/icons/used-up-LEU-fuel-cell.png rename to graphics/icons/purple-fuel-cell.png diff --git a/graphics/icons/used-up-HEU-fuel-cell.png b/graphics/icons/red-fuel-cell.png similarity index 100% rename from graphics/icons/used-up-HEU-fuel-cell.png rename to graphics/icons/red-fuel-cell.png diff --git a/graphics/icons/yellow-fuel-cell.png b/graphics/icons/yellow-fuel-cell.png new file mode 100644 index 0000000000000000000000000000000000000000..69e0eb6a98b60c62ca7365efade88a6e0f2c329d GIT binary patch literal 6613 zcmeHKdo+~$*B|84kcONn$~1_Pxnh`c%Qd$Vl3P)8d4@R#!whCbI7wGjjv)cL}zyF$9Gtcwv@7|xi_h;|#UeEWKtILix z(2Y0{HtD_q|nU=Q7iR{%cxEYWKd3kDzfy!^5Ox>lvyTVKpO#&}}^A+{24aBINr#Dm_j+*S&U4P6N3Ljc!;Cy>S@8%C1 z$Jln)6;&TJ5I4nR2E=_}!xIZS5QtbJ)7skA!P@$-bigFe#hx~^Z``hSf8Q=A+spFn zmBJpl=DsYjRSWvzxa)<-&?}^@y&ojW8_y^y@3>PnJlss}zH{HlOWMm4_7M^m5$4W4 zt+<@2|D9!QOv-yAgsx!?m_?p-JC(T2xAOw4L6KYqt65gQLlQb@}xX)o$R@>0qV zEG$GTKl6Dy{z+}g@eVzHr)G-&;MJo>M*|3`+!^z*tg~8&7tZlI^JNt+!u=xOCvzTB z5(1KvS&TemXT1!e_iL&r!DB=v%*M^IML8V3?Oe5SX*VfoD6IkO(czg<>%x(9(4($q z9zEr@LvpwG(ay`KsR--E)oYi39^IMdwAD-Uq?+u{mWRg{?ko>SRWrh(TgXtY_}eFf z<4#K4@yqYN`f7^SACe3C6fo>Kxe!F&|1NFTZpR5Vu|xg0??>!Nn~!hZw13PYQ|{sE zj|PXS3OtL8p)C^D)!T;z{d*3mUs}68L+CgNkv?+U=2%6K+0()P!TyGTzNIC|#er~P zA;jx3*mgW7*k0abXA&(m7)_yvQUNqCm<{$F1Y&BzV^e5B02fXL0+=CYh^e{;1e{4X zLwFgIv1GP25XiKT4hMEcyLix|gJ?uL!onPC$|HdQ!2p*6=LNGuI3%7KVg;83-iyQ- z1bjt>8)Sy?CcDC|L&E{M0onkKMcMM0k$8kT6mA+$XOP@&?7l#NPiBZfE|*QhV4|X; z&{6v6(C`2Zjz}b8uy_m}j{-GN9DWFw!b62{G(-@eF>C-1Eu6{bGDAb)B1{T3G=gh} zK!EG;zv2sKlgVGsE0 zrBF~bA{K<8Q5h&I)zAP%Hy{{djp=k8QJ?q?#LjRg*p(F4w^50p=pYmW2T%wMfPgY4 z;IJqIV>%W^!Gp*YfCv~8a7J_^2CxD}r;+SJ!-FYcIhnzf006@d30PSW5l*snbudHV z(b&Hwt}F_d0UDSgoS7jJyuTMbn8Cm77SOONWZ}>Up6+BNMoC9{E z2or}z>l>_?i^@U*lL3jPi24)+SdoLdkgUT23O6*|BQ%s{h7du(MV4Qe$>4UPQ@9ix z3KsxDL2o1+o`f^-z+y@I;5`wAH6&rb(GR6F8T|iCTeNxLrk_i0&*Xsq`75H&J8BmY z_W9}aBa6ARmEiD|O+lj2KBvH;L;|1d4Pt#>q6Jby0swG&d}-IeUxVbVcEtAp_cdmVv_yoQ0UL!|)4d zV7&j$&zD;KH(kKt-<|v`e!tW8ovweyz`s)d-d*46`d1A6E9LLq_5Vf}^zY*o5CXmh zMS+JU2tJYm9<-#WPCINM%c5_7{iQTevYKu0!+}6#*NJ{&5WzVWP$u87 z*`>*hw+r-rva>!O_3@OlcD%ZHmz1t-NM%uP&8kXYrwj)+zW4hNiwNzZWeB93| zTN#H;;_j_waSY z{F|n&>cMMl2G?KSi_PC#kOQ#1w`Pur1z`M(=i?lQ%Ny=#Bt0DZ)bqpUpc}*WDU$JL zpw%+fM5I89FF&XIBSWBHI%&GtNjx~)Pn~Rd{!H5zbRKo7x;Yu}$4CY#g%p)T>-TI>V;p5A86&yU&^YW`EVMLDd<|PfwvAyOnt_^Q>d0 zUX^Aoe+Yi_?#UBhmjv;kZL#U@4RVNk6TM}E0e{CVwIl5Zp|_T;J2n59v53v>YPc?* zx@lajb*zZ0u#_{Te#x^m;b_=QSVpFiD^&MBG;j2e^`^Sdbe|QZ(oEzEvZ|5_FJ`Z5 zJJ-9|F%+AMd0LywF$xKrsa7+ulBO1G%1!`2S;Y<)T(=_+ zqvg{5tscf7S%&%7+ZWYFQi7Rhd(`7ThE4yzCsb@d#B}=JI;)=Q8vBPDXYtO-*5@ou zytT>OoF8w^&d$CQrsmvL=vhkXCpaSSVl|H=3Um-Dw8Hc;{-Zh7o?4os=SKFnYqd`D z=8`cq7K>FFFEz~HT+BSaPTNJrC81IJon<}rfcBObfOm$WfLY>E;Csbg_w3bR)#k7_ zvF9C&tV%rYhN&IDk0^3qO;$EFkX631^~8AiLdm7PPI8wLn78izy?R;8O`_GZ6|~&Oo2U;7|G2jkS(2rkE$WBmHX8( z9Fg~>l^`}5fNzP1`wjAS&%=?*KknvDJn_ulkd#n1Y2$WpKNjAKFHFA|=B$#Wl9b>M zEmHEy0Fmc6k=oZDTxBHOS|%%*)7BqShe{pwhENY4^gk(MkDQCHFZ-xio-L(`)GNO` zZShlm^IHX1L2;nK?u=$-f3R>6Js6S+mpMAhGsvr-AHT`pfF8ICv%-cHPDE|yRqaKW znzmO_)^1dIFthi%Uh9MUOATGDL$pKgutawGfn1YFjB9z%>Yw7<+Q@yc2o#kwnyZi(C5b(zAb(?;mVy9LSGa>X|j>kka?pFXV&u|^h6X~J(z`8EtiozdivpOyTC z+894>rE)iV9YMgJ?2~;t)NuaKmbI&^-svb@)IqpO5PBYQp0$np_#QrQq(?tDTDOIx zeyDCL_U(J>wS~y?9!}&ilx7U6)N6G{7S(X))_N|Fe*nzqbp~(}%S-YTq(t1_gG>7+ zj$Dm-Zt4|ZRtcBR9+RP5P&TNrN30q!%y`?O$FkW+Wim@}`uZ2O9H?T?39Fee->h2G zLGCh8Yra-!dbj#k)af1SNp)+t8^!Y=_2z{e5?kOdlJDW_yAxgq4umw<{9yc6p~Ij? z_)$BHvAxQ-swiCwUadM@t^-em`3j1gW@jr|)&1VTH@}~5mr8$SWXx{%bn^2b6fXL- zIC{YZQoB(S`Tmb;IO^$69gepibapDv36G8Qd3l*d%paj!9?P#&YH|rMkkd#luperO zTfU%b6asMqqa$~fjuO;!;>SiAF5U>J+fS5(Zl()*U^U=W^-d>MezREqe_S`ApwD&0}w! zyk9l7Kd8`fc6N3x@#u)i)oZo$EM;!Y0KhFJD5eOuIwBKcWBgmME-NCnmJXiJF$%4y zsjFUdG9oeGTQ8+B-93dt+`F;pu?*Kc zrBQQoei58JS1T)RXq+{5jM=8<=26d5tt0Eyk*CJ_d4P`ru1U3Po!ZUX4A8|*P69%BY*w8Yzjwbe*D8?kNNfOV~+B|0_bW-66(x zhwJr8en$L-2kLRpYRB^q%uoDwQQTE~XP$>iCVc3|GyN${*gH<@+hcLjx7uI4&~N(^Sw>2hu}|M zRjiMEbFG;KoOuz}E$K-n$VvpHXt1)I})lz9Kb^jKBz zkx!pw+f8SF9f6IHJxqJiv)MVR|9Y^ZJ+dm(CGJ&g@f|NSp!G6$yN~TY&XAq`DP#7`>sDdW(#-VYW|Qf+JD-|M zzj=AR{rItCt8wW|Q6#~d?gi{