diff --git a/changelog.txt b/changelog.txt index 2d65c91f6..4eee2de21 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,20 @@ --------------------------------------------------------------------------------------------------- +Version: 3.1.0 +Date: ??? + Changes: + - Updated to Factorio 2.1 + - Removed equipment fuel manager in favor of the engine's built-in auto_refuel + - Changed beacon overload blacklist to be locally loaded instead of always saved in storage to allow mods that are removed to have their effects removed + - Added annotations to tailings pond script + - Added inserter inventory targeting options + - Removed unnecessary prototype values to clear up the log + - Updated vector_to_place_result so items shouldn't drop on the floor. Resolves https://github.com/pyanodon/pybugreports/issues/1486 + - Fixed that many buildings did not have certain pipe covers rendered + - Added factory planner integration for barreling-like recipes + - Reduced most fluidbox sizes from 1000 to 100 + - Fixed that beacon interference would only disable one entity instead of all effected ones + - Added the following entities to be hidden when visibility of tall entities is toggled: chemical plant, classifier, fts reactor, combustion turbine, high pressure furnace, lab +--------------------------------------------------------------------------------------------------- Version: 3.0.45 Date: ??? Changes: diff --git a/control.lua b/control.lua index f26292fe1..7deeb99bc 100644 --- a/control.lua +++ b/control.lua @@ -9,6 +9,8 @@ require "scripts.tailings-pond" require "scripts.beacons" require "scripts.milestones" require "scripts.generator-equipment-autofill" +require "scripts.programmable-inserter" +require "scripts.factory-planner" py.on_event(py.events.on_init(), function() for _, interface in pairs {"silo_script", "better-victory-screen"} do diff --git a/data-final-fixes.lua b/data-final-fixes.lua index 4b38c7906..0d028aee1 100644 --- a/data-final-fixes.lua +++ b/data-final-fixes.lua @@ -1,6 +1,6 @@ if not mods.pyalternativeenergy then for _, recipe in pairs(data.raw.recipe) do - if not recipe.localised_name and recipe.category == "combustion" and not recipe.name:find("%-biomass$") then + if not recipe.localised_name and recipe:has_category("combustion") and not recipe.name:find("%-biomass$") then local temp for _, result in pairs(recipe.results) do if result.name == "combustion-mixture1" then @@ -70,7 +70,14 @@ end data.raw["utility-constants"].default.minimum_recipe_overload_multiplier = 1 for _, recipe in pairs(data.raw.recipe) do - if recipe.category == "tar" and not recipe.crafting_machine_tint then + if recipe:has_category("tar") and not recipe.crafting_machine_tint then error("Recipe " .. recipe.name .. " is missing crafting_machine_tint. Please fill out this field.") end end + +-- make all generator equipment auto refuel +if settings.startup["py-generator-equipment-manager"].value then + for _, equipment in pairs(data.raw["generator-equipment"]) do + if equipment.burner then equipment.burner.auto_refuel = true end + end +end \ No newline at end of file diff --git a/data-updates.lua b/data-updates.lua index 1bcb43288..932bd7206 100644 --- a/data-updates.lua +++ b/data-updates.lua @@ -202,7 +202,7 @@ RECIPE("beacon") :add_ingredient {type = "item", name = "processing-unit", amount = 5}:remove_ingredient {"electronic-circuit"}:remove_ingredient {"advanced-circuit"} :add_ingredient {type = "item", name = "metastable-quasicrystal", amount = 1} :add_ingredient {type = "fluid", name = "r4", amount = 100} -if mods.pyalternativeenergy then data.raw.recipe.beacon.category = "crafting-with-fluid" end +if mods.pyalternativeenergy then RECIPE("beacon"):replace_category("crafting", "crafting-with-fluid") end RECIPE("beacon-mk01") :add_ingredient {type = "item", name = "self-assembly-monolayer", amount = 1} diff --git a/data.lua b/data.lua index 0daee7c06..357da388c 100644 --- a/data.lua +++ b/data.lua @@ -183,20 +183,3 @@ data.raw.fluid["refsyngas"].fuel_value = "0.5MJ" data.raw.fluid["methanol"].fuel_value = "1MJ" data.raw.fluid["tar"].fuel_value = "0.2MJ" --data.raw.fluid['combustion-mixture1'].fuel_value = '0.1MJ' - -if mods.pyindustry then - data:extend {{ - type = "shortcut", - name = "py-toggle-equipment-fuel-manager", - action = "lua", - technology_to_unlock = "personal-roboport-equipment", - unavailable_until_unlocked = true, - toggleable = true, - style = "default", - icon = "__pycoalprocessinggraphics__/graphics/gui/toggle-equipment-fuel-manager.png", - small_icon = "__pycoalprocessinggraphics__/graphics/gui/toggle-equipment-fuel-manager.png", - icon_size = 36, - small_icon_size = 36, - order = data.raw.shortcut["toggle-equipment-movement-bonus"].order - }} -end diff --git a/info.json b/info.json index 1b474a127..adbf37d80 100644 --- a/info.json +++ b/info.json @@ -1,16 +1,16 @@ { "name": "pycoalprocessing", - "version": "3.0.44", - "factorio_version": "2.0", + "version": "3.1.0", + "factorio_version": "2.1", "title": "Pyanodons Coal Processing", - "author": "Pyanodon, Nexela, Kingarthur, notnotmelon, Mootykins, ShadowGlass, Archezekiel, Quintuple, przemo1232", + "author": "Pyanodon, Nexela, Kingarthur, notnotmelon, Mootykins, ShadowGlass, Archezekiel, Quintuple, przemo1232, protocol_1903", "contact": "https://discord.gg/SBHM3h5Utj", "homepage": "https://mods.factorio.com/mods/pyanodon/pycoalprocessing", "description": "Extends and overhauls Factorio's burner phase. Use realistic oil and coal processes to create advanced products. Functions as the core and library for the rest of the pY mods.", "dependencies": [ - "base >= 2.0.58", - "~ pycoalprocessinggraphics >= 3.0.6", - "~ pypostprocessing >= 3.0.42", + "base >= 2.1", + "~ pycoalprocessinggraphics >= 3.1.0", + "~ pypostprocessing >= 3.1.0", "(?) DiscoScience", "(?) better-victory-screen", "(?) elevated-rails", diff --git a/locale/de/locale.cfg b/locale/de/locale.cfg index 28fd06a7e..a4ce223a5 100644 --- a/locale/de/locale.cfg +++ b/locale/de/locale.cfg @@ -1,9 +1,3 @@ -[shortcut-name] -py-toggle-equipment-fuel-manager=Ausrüstungs-Kraftstoffmanager umschalten - -[shortcut-description] -py-toggle-equipment-fuel-manager=Steuert, ob Generatoren innerhalb persönlicher Ausrüstungsgitter automatisch mit Treibstoff versorgt werden und leere Treibstofffächer geleert werden. - [ore-name] borax=Borax-Kristalle niob=Nioberz diff --git a/locale/de/tips.cfg b/locale/de/tips.cfg index 6a2a5a6c8..c1d02eff5 100644 --- a/locale/de/tips.cfg +++ b/locale/de/tips.cfg @@ -14,7 +14,7 @@ mechanical-inserter=[item=burner-inserter] Greifarme tailings-pond=[item=tailings-pond] Erzschlackebecken combustion-mixture=[fluid=combustion-mixture1] Brennbares Gemisch beacon=[item=beacon] AM:FM-Effektverteiler -decay=[item=biocrud] Verfall +item_decay=[item=biocrud] Verfall rawores=Roherze big-mines=[item=ore-lead] Große Minen diff --git a/locale/en/locale.cfg b/locale/en/locale.cfg index 2230b9390..94b9f9c45 100644 --- a/locale/en/locale.cfg +++ b/locale/en/locale.cfg @@ -1,9 +1,3 @@ -[shortcut-name] -py-toggle-equipment-fuel-manager=Toggle equipment fuel manager - -[shortcut-description] -py-toggle-equipment-fuel-manager=Controls whether generators inside of personal equipment grids are automatically fueled and the empty fuel slots emptied. - [ore-name] borax=Raw borax niobium=Niobium ore @@ -805,12 +799,14 @@ rpm_entity=Requester paste multiplier for enitities rpm_items=Requester paste multiplier for items overload=Crafting machine overfill multiplier future-beacons=Future beacons +py-generator-equipment-manager=Generator equipment manager [mod-setting-description] rpm_entity=adjust the number of items requested when copy/pasting a recipe for enitities rpm_items=adjust the number of items requested when copy/pasting a recipe for items overload=adjusts the number of items inserted into a crafting machine over the required number to fill a recipe. default value use the following formula (1.166 / (energy_required / the assembler's crafting_speed), rounded up, and clamped to be between2 and 100). future-beacons=Beacons have been rebalanced for the upcoming py mod (Py Stellar Expedition).\nHowever with this setting you can have the rebalanced beacons now.\nChanges:\nBeacons (not diet beacons) have 0.2*am*fm transmission efficiency instead of 0.5*am*fm.\n5 beacons can affect an entity instead of 25. +py-generator-equipment-manager=Automatically fills generator equipment with fuel and extracts burnt results into your inventory [gui-game-finished] victory=Victory! Congratulations, you have beaten Pyanodon's mods. diff --git a/locale/en/tips.cfg b/locale/en/tips.cfg index 826858c84..c65a5f115 100644 --- a/locale/en/tips.cfg +++ b/locale/en/tips.cfg @@ -14,14 +14,15 @@ mechanical-inserter=[item=burner-inserter] Inserters tailings-pond=[item=tailings-pond] Tailings pond combustion-mixture=[fluid=combustion-mixture1] Combustion mixture beacon=[item=beacon] AM:FM Beacons -decay=[item=biocrud] Decay +item_decay=[item=biocrud] Item Decay +recipe_decay=[img=utility/recipe_arrow] Recipe Decay Propogation rawores=Raw ores big-mines=[item=ore-lead] Big mines [pywiki-descriptions] ash=Most inorganic fuels such as [item=coal] now produce [item=ash] when burnt, much like how [item=uranium-fuel-cell] produces [item=depleted-uranium-fuel-cell] on consumption.\n\nAsh management is a central part of the early game, as it will eventually jam machines if not removed from the output slot. [item=burner-inserter] can have a filter set to automatically remove ash. [entity=solid-separator] can help to repurpose some of the ash into ores. -mechanical-inserter=The burner inserter is now an [item=burner-inserter]. Unlike in the base game, it does not need to be fueled.\n\nRequired fuel:\n [entity=burner-inserter]: Free\n [entity=inserter]: 16.9 kW\n [entity=long-handed-inserter]: 20.11 kW\n [entity=fast-inserter]: 46.7 kW\n [entity=bulk-inserter]: 169 kW\n [entity=py-stack-inserter]: 1.6 MW\n\nInserter speeds: (chest-to-chest)\n [entity=burner-inserter]: 0.78 arm cycles/s\n [entity=inserter]: 1.2 arm cycles/s\n [entity=long-handed-inserter]: 1.2 arm cycles/s\n [entity=fast-inserter]: 2.31 arm cycles/s\n [entity=bulk-inserter]: 2.31 arm cycles/s\n [entity=py-stack-inserter]: 1.8 arm cycles/s\n\nFilter slot counts:\n [entity=burner-inserter]: 1\n [entity=inserter]: 2\n [entity=long-handed-inserter]: 3\n [entity=fast-inserter]: 4\n [entity=bulk-inserter]: 5\n [entity=py-stack-inserter]: 5\n\nSpecial:\n [entity=long-handed-inserter]: Reaches two tiles instead of one.\n [entity=bulk-inserter]: Benefits from [technology=inserter-capacity-bonus-1].\n [entity=py-stack-inserter]: Benefits from [technology=inserter-capacity-bonus-1]. Stacks items on the belt up to eight tall. +mechanical-inserter=The burner inserter is now an [item=burner-inserter]. Unlike in the base game, it does not need to be fueled.\n\Power use:\n [entity=burner-inserter]: Free\n [entity=inserter]: 16.9 kW\n [entity=long-handed-inserter]: 20.11 kW\n [entity=fast-inserter]: 46.7 kW\n [entity=bulk-inserter]: 169 kW\n [entity=py-stack-inserter]: 1.6 MW\n\nInserter speeds: (chest-to-chest)\n [entity=burner-inserter]: 0.78 arm cycles/s\n [entity=inserter]: 1.2 arm cycles/s\n [entity=long-handed-inserter]: 1.2 arm cycles/s\n [entity=fast-inserter]: 2.31 arm cycles/s\n [entity=bulk-inserter]: 2.31 arm cycles/s\n [entity=py-stack-inserter]: 1.8 arm cycles/s\n\nFilter slot counts:\n [entity=burner-inserter]: 1\n [entity=inserter]: 2\n [entity=long-handed-inserter]: 3\n [entity=fast-inserter]: 4\n [entity=bulk-inserter]: 5\n [entity=py-stack-inserter]: 5\n\nInserter Settings:\nInserters can be configured to only interact with specific slots of entities. With the exception of module slots, this only allows you to specifically pull things from and push things to slots that would normally be accessibly by inserter.\nThe button on the right of the inserter GUI opens up the target menu. Invalid targets will show up in red. Targets will always appear invalid when the inserter is a ghost.\nInput, output, fuel, and modules are self-explanatory. Cargo is used for rocket silo cargo or car trunks. Burnt result is the slots for ash/jerry cans/other items that are the direct result of fuel burning. Trash is the output slots for spoiled items. Dump is the slots that assembling machines use to dump items when their recipe is changed via the circuit network.\n\nSpecial:\n [entity=long-handed-inserter]: Reaches two tiles instead of one.\n [entity=bulk-inserter]: Benefits from [technology=inserter-capacity-bonus-1].\n [entity=py-stack-inserter]: Benefits from [technology=inserter-capacity-bonus-1]. Stacks items on the belt up to eight tall. tailings-pond=The [entity=tailings-pond] is a huge open-air fluid storage solution that can hold up to 1,000,000 fluid units. It has different mechanisms depending on whether you put a gas or a liquid into it.\n\nGasses such as [fluid=coal-gas] are vented into the atmosphere. This destroys the gas and creates tons of pollution. 100 units of any gas will create 15 units of pollution.\n\nCertain gasses do not create pollution:\n [fluid=oxygen]\n [fluid=hydrogen]\n [fluid=nitrogen]\n [fluid=purest-nitrogen-gas]\n [fluid=pressured-air]\n [fluid=hot-air]\n [fluid=vacuum]\n\nLiquids such as [fluid=tar] are stored in the pond until the tailings pond is 100% full. Once the pond reaches this threshold the pond overflows, destroying the fluid and creating rings of highly flammable pollution tiles in the effected area.\n\nAny fluid with "water" in the name will instead seep into the groundwater and not create pollution tiles. [fluid=muddy-sludge] will also not create pollution tiles. The conversion factor is 500 units of fluid per every pollution tile. The pollution tiles can be used to fill lakes.\n\nYou can remove fluids from the pond by connecting [entity=pump] directly to one of the outputs. [item=red-wire] and [item=green-wire] can be used to read the contents of the pond. beacon=The [entity=beacon-AM1-FM1] and [entity=diet-beacon-AM1-FM1] use radio signals to trasmit module effects into nearby assembling machines. Each beacon has both an AM and an FM frequency that determines the effect radius, transmission efficiency, and power usage.\nThe AM and FM frequency sliders range from 1-5.\n\n[entity=diet-beacon-AM1-FM1]\nEffect radius:\n - AM1: 32\n - AM2: 24\n - AM3: 16\n - AM4: 8\n - AM5: 2\nTransmission efficiency: 0.1 * AM * FM\nPower consumption: AM * (FM ^ 3) / 2 MW\n\n[entity=beacon-AM1-FM1]\nEffect radius:\n - AM1: 64\n - AM2: 48\n - AM3: 32\n - AM4: 16\n - AM5: 2\nTransmission efficiency: 0.2 * AM * FM\nPower consumption: AM * (FM ^ 3) MW\n\nThe default 1AM 1FM beacon is wide area low power.\nIf a machine recives conflicting signals on either the AM or FM frequencies then the wavelengths will interfere and overload the machine.\nBeacons do not accept productivity modules such as [item=productivity-module-3]. combustion-mixture=You can burn [fluid=combustion-mixture1] in [entity=gasturbinemk01] for electricity. Higher temperatures of the fluid mean that the turbine works at a higher efficiency, thus generating more power. [entity=gasturbinemk01] has a limit to the temperature it can accept: if you give it a higher temperature input than this limit, it will be capped to that temperature, so you will be wasting the input. Higher level turbines have higher limits. @@ -62,3 +63,23 @@ burnt-result=Burnt result color=Color decay-time=Decay time decay-result=Decay results +decay-ingredients=Freshness weights +decay-products=Product freshness + +[tooltip] +show-inserter-settings=Show inserter target and source settings +inserter-settings-title=Targets +unavailable-insert-target=[color=red]__1__[/color] +inserter-drop-target-tooltip=Inventory to drop items into +inserter-pickup-target-tooltip=Inventory to pickup items from + +[inventory-target] +default=Default +input=Input +output=Output +fuel=Fuel +burnt_result=Burnt result +modules=Modules +trash=Trash +cargo=Cargo +dump=Dump \ No newline at end of file diff --git a/locale/es-ES/locale.cfg b/locale/es-ES/locale.cfg index 5b454db17..6fb6468e8 100644 --- a/locale/es-ES/locale.cfg +++ b/locale/es-ES/locale.cfg @@ -1,9 +1,3 @@ -[shortcut-name] -py-toggle-equipment-fuel-manager=Alternar el gestor de combustible de equipamiento - -[shortcut-description] -py-toggle-equipment-fuel-manager=Controla si los generadores dentro de las cuadriculas de equipamiento se restablecen y vacían automáticamente. - [ore-name] borax=Bórax en bruto niobium=Mena de niobio diff --git a/locale/es-ES/tips.cfg b/locale/es-ES/tips.cfg index 6f9a48457..8f596d302 100644 --- a/locale/es-ES/tips.cfg +++ b/locale/es-ES/tips.cfg @@ -14,7 +14,7 @@ mechanical-inserter=[item=burner-inserter] Insertadores tailings-pond=[item=tailings-pond] Laguna de relaves combustion-mixture=[fluid=combustion-mixture1] Mezcla de combustión beacon=[item=beacon] Faros AM:FM -decay=[item=biocrud] Degradación +item_decay=[item=biocrud] Degradación rawores=Menas en bruto big-mines=[item=ore-lead] Minas grandes diff --git a/locale/nl/locale.cfg b/locale/nl/locale.cfg index 29bc653cf..26472b227 100644 --- a/locale/nl/locale.cfg +++ b/locale/nl/locale.cfg @@ -1,9 +1,3 @@ -[shortcut-name] -py-toggle-equipment-fuel-manager=Schakel brandstofbeheerder aan/uit - -[shortcut-description] -py-toggle-equipment-fuel-manager=Regelt of de generatoren in persoonlijke uitrustig rasters automatisch worden bijgetankt en of lege brandstofvakjes worden geleegd. - [ore-name] borax=Ruwe borax niobium=Niobiumerts diff --git a/locale/nl/tips.cfg b/locale/nl/tips.cfg index 9135e0e58..d42864b2b 100644 --- a/locale/nl/tips.cfg +++ b/locale/nl/tips.cfg @@ -10,7 +10,7 @@ mechanical-inserter=[item=burner-inserter] Robotarmen tailings-pond=[item=tailings-pond] Residubekken combustion-mixture=[fluid=combustion-mixture1] Verbrandingsmengsel beacon=[item=beacon] AM:FM Bakens -decay=[item=biocrud] Rot +item_decay=[item=biocrud] Rot rawores=Ruwe ertsen big-mines=[item=ore-lead] Grote mijnen diff --git a/locale/pl/locale.cfg b/locale/pl/locale.cfg index e22efd662..88eaa0d3e 100644 --- a/locale/pl/locale.cfg +++ b/locale/pl/locale.cfg @@ -1,9 +1,3 @@ -[shortcut-name] -py-toggle-equipment-fuel-manager=Włącz menedżera paliwa ekwipunku - -[shortcut-description] -py-toggle-equipment-fuel-manager=Kontroluje, czy generatory w osobistym ekwipunku są automatycznie zasilane paliwem, a puste sloty paliwa opróżniane. - [ore-name] borax=Surowy boraks niobium=Ruda niobu diff --git a/locale/pl/tips.cfg b/locale/pl/tips.cfg index 6d39ad30e..b55524569 100644 --- a/locale/pl/tips.cfg +++ b/locale/pl/tips.cfg @@ -14,7 +14,7 @@ mechanical-inserter=[item=burner-inserter] Podajniki tailings-pond=[item=tailings-pond] Staw odpadowy combustion-mixture=[fluid=combustion-mixture1] Mieszanka spalająca beacon=[item=beacon] Nadajniki AM:FM -decay=[item=biocrud] Rozkład +item_decay=[item=biocrud] Rozkład rawores=Surowe rudy big-mines=[item=ore-lead] Duże kopalnie diff --git a/locale/ru/locale.cfg b/locale/ru/locale.cfg index 6cff2533d..bce741544 100644 --- a/locale/ru/locale.cfg +++ b/locale/ru/locale.cfg @@ -1,9 +1,3 @@ -[shortcut-name] -py-toggle-equipment-fuel-manager=Переключить менеджер топлива оборудования - -[shortcut-description] -py-toggle-equipment-fuel-manager=Контролирует автоматическую заправку генераторов внутри сеток персонального оборудования и опорожнение ячеек отработанного топлива. - [ore-name] borax=Необработанный боракс niobium=Ниобиевая руда diff --git a/locale/ru/tips.cfg b/locale/ru/tips.cfg index 408ada20f..3813c598a 100644 --- a/locale/ru/tips.cfg +++ b/locale/ru/tips.cfg @@ -14,7 +14,7 @@ mechanical-inserter=[item=burner-inserter] Манипуляторы tailings-pond=[item=tailings-pond] Хранилище отходов combustion-mixture=[fluid=combustion-mixture1] Горючая смесь beacon=[item=beacon] AM:FM Маяки -decay=[item=biocrud] Разложение +item_decay=[item=biocrud] Разложение rawores=Сырые руды big-mines=[item=ore-lead] Большие шахты diff --git a/locale/uk/tips.cfg b/locale/uk/tips.cfg index 51deb7509..66b79efd8 100644 --- a/locale/uk/tips.cfg +++ b/locale/uk/tips.cfg @@ -10,7 +10,7 @@ mechanical-inserter=[item=burner-inserter] Маніпулятори tailings-pond=[item=tailings-pond] Сховище відходів combustion-mixture=[fluid=combustion-mixture1] Горюча суміш beacon=[item=beacon] AM:FM Маяки -decay=[item=biocrud] Розпад +item_decay=[item=biocrud] Розпад rawores=Сирі руди big-mines=[item=ore-lead] Великі бури diff --git a/prototypes/achievements.lua b/prototypes/achievements.lua index 4a43552f7..f8131f4e3 100644 --- a/prototypes/achievements.lua +++ b/prototypes/achievements.lua @@ -71,8 +71,7 @@ data:extend order = "0ac", objective_condition = "game-finished", icon = "__pycoalprocessinggraphics__/graphics/achievement/smoke-me-a-kipper-i-will-be-back-for-breakfast.png", - icon_size = 128, - limited_to_one_game = false + icon_size = 128 }, } if mods.pypetroleumhandling then diff --git a/prototypes/buildings/advanced-foundry.lua b/prototypes/buildings/advanced-foundry.lua index 27d2c77cd..34614538a 100644 --- a/prototypes/buildings/advanced-foundry.lua +++ b/prototypes/buildings/advanced-foundry.lua @@ -46,7 +46,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-2.9, -2.9}, {2.9, 2.9}}, selection_box = {{-3.0, -3.0}, {3.0, 3.0}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"advanced-foundry", "smelting"}, @@ -101,7 +100,7 @@ for i = 1, 4 do pipe_picture_frozen = py.sexy_pipe_pictures_frozen(), pipe_covers = pipecoverspictures(), secondary_draw_orders = {north = -1, east = -1, west = -1}, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.5, -0.5}, direction = defines.direction.east}} }, { @@ -110,7 +109,7 @@ for i = 1, 4 do pipe_picture_frozen = py.sexy_pipe_pictures_frozen(), pipe_covers = pipecoverspictures(), secondary_draw_orders = {north = -1, east = -1, west = -1}, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.5, 2.5}, direction = defines.direction.south}} }, { @@ -119,7 +118,7 @@ for i = 1, 4 do pipe_picture_frozen = py.sexy_pipe_pictures_frozen(), pipe_covers = pipecoverspictures(), secondary_draw_orders = {north = -1, east = -1, west = -1}, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-2.5, -0.5}, direction = defines.direction.west}} }, { @@ -128,7 +127,7 @@ for i = 1, 4 do pipe_picture_frozen = py.sexy_pipe_pictures_frozen(), pipe_covers = pipecoverspictures(), secondary_draw_orders = {north = -1, east = -1, west = -1}, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-0.5, 2.5}, direction = defines.direction.south}} }, }, diff --git a/prototypes/buildings/automated-factory.lua b/prototypes/buildings/automated-factory.lua index 0652ab32b..98b901877 100644 --- a/prototypes/buildings/automated-factory.lua +++ b/prototypes/buildings/automated-factory.lua @@ -56,7 +56,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.3, -3.3}, {3.3, 3.3}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"crafting", "crafting-with-fluid", "advanced-crafting"}, @@ -100,21 +99,21 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.3, 3.06}, {-0.00, -0.93}, {0.55, 0.15}, {-0.5, 0.15}, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, 3.0}, direction = defines.direction.south}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.3, 3.06}, {-0.00, -0.93}, {0.55, 0.15}, {-0.5, 0.15}, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, -3.0}, direction = defines.direction.north}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.3, 3.06}, {-0.00, -0.93}, {0.55, 0.15}, {-0.5, 0.15}, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {2.0, 3.0}, direction = defines.direction.south}} }, }, @@ -122,7 +121,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/automated-factory.ogg", volume = 1.0}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/automated-factory.ogg", volume = 0.3}, - apparent_volume = 2.5 } } end diff --git a/prototypes/buildings/ball-mill.lua b/prototypes/buildings/ball-mill.lua index 022299722..e7ad06950 100644 --- a/prototypes/buildings/ball-mill.lua +++ b/prototypes/buildings/ball-mill.lua @@ -88,7 +88,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/niobium-mine.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/niobium-mine.ogg", volume = 0.3}, - apparent_volume = 2.5 } } end diff --git a/prototypes/buildings/borax-mine.lua b/prototypes/buildings/borax-mine.lua index a740b3e19..3a8170c17 100644 --- a/prototypes/buildings/borax-mine.lua +++ b/prototypes/buildings/borax-mine.lua @@ -59,7 +59,6 @@ for i = 1, 4 do height = 288, frame_count = 1, repeat_count = 90, - direction_count = 1, shift = util.by_pixel(0, 0.0) } end @@ -91,13 +90,12 @@ for i = 1, 4 do collision_box = {{-4.1, -4.1}, {4.1, 4.1}}, selection_box = {{-4.5, -4.5}, {4.5, 4.5}}, input_fluid_box = { - pipe_picture = _G.assembler2pipepictures(), pipe_covers = _G.pipecoverspictures(), volume = 200, pipe_connections = { - {direction = defines.direction.west, position = {-4.1, 0}}, - {direction = defines.direction.east, position = {4.1, 0}}, - {direction = defines.direction.south, position = {0, 4.1}} + {direction = defines.direction.west, position = {-4, 0}}, + {direction = defines.direction.east, position = {4, 0}}, + {direction = defines.direction.south, position = {0, 4}} } }, module_slots = i, @@ -113,7 +111,7 @@ for i = 1, 4 do energy_usage = (420 * i) .. "kW", resource_searching_radius = 4.49 + i, resource_drain_rate_percent = 200 * (2 ^ -i), - vector_to_place_result = {0, -4.65}, + vector_to_place_result = {0, -4.8}, radius_visualisation_picture = { filename = "__base__/graphics/entity/electric-mining-drill/electric-mining-drill-radius-visualization.png", width = 12, @@ -131,7 +129,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/borax-mine.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/borax-mine.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/botanical-nursery.lua b/prototypes/buildings/botanical-nursery.lua index 479f6b8e3..ac049a7e5 100644 --- a/prototypes/buildings/botanical-nursery.lua +++ b/prototypes/buildings/botanical-nursery.lua @@ -74,7 +74,6 @@ for i = 1, 4 do dying_explosion = "big-explosion", collision_box = {{-3.3, -3.3}, {3.3, 3.3}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "consumption", "pollution", "quality"}, crafting_categories = {"nursery"}, @@ -121,21 +120,21 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.2, 4.13}, {0.12, -4.03}, {4.115, 0.1}, {-3.88, 0.16}, pipes), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input-output", position = {0.0, 3.0}, direction = defines.direction.south}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.2, 4.13}, {0.12, -4.03}, {4.115, 0.1}, {-3.88, 0.16}, pipes), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input-output", position = {0.0, -3.0}, direction = defines.direction.north}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.2, 4.13}, {0.12, -4.03}, {4.115, 0.1}, {-3.88, 0.16}, pipes), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {3.0, 0.0}, direction = defines.direction.east}} }, }, @@ -143,7 +142,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/botanical-nursery.ogg", volume = 1.8}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/botanical-nursery.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/carbon-filter.lua b/prototypes/buildings/carbon-filter.lua index 9ee5acdd9..bad920435 100644 --- a/prototypes/buildings/carbon-filter.lua +++ b/prototypes/buildings/carbon-filter.lua @@ -56,7 +56,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-2.25, -2.25}, {2.25, 2.25}}, selection_box = {{-2.5, -2.5}, {2.5, 2.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"consumption", "speed", "pollution", "productivity"}, crafting_categories = {"carbonfilter"}, @@ -102,28 +101,28 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", {0, 0.36}, {0, -0.95}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.0, 0.0}, direction = defines.direction.east}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", {0, 0.36}, {0, -0.95}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, 2.0}, direction = defines.direction.south}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-2", {0, 0.36}, {0, -0.95}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-2.0, 0.0}, direction = defines.direction.west}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-2", {0, 0.36}, {0, -0.95}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {0.0, -2.0}, direction = defines.direction.north}} }, }, @@ -131,7 +130,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/carbon-filter.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/carbon-filter.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/chemical-plant.lua b/prototypes/buildings/chemical-plant.lua index bd7bc9cd5..6e617830e 100644 --- a/prototypes/buildings/chemical-plant.lua +++ b/prototypes/buildings/chemical-plant.lua @@ -48,7 +48,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-4.3, -4.3}, {4.3, 4.3}}, selection_box = {{-4.5, -4.5}, {4.5, 4.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"consumption", "speed", "pollution", "productivity"}, crafting_categories = {"chemistry"}, @@ -61,6 +60,7 @@ for i = 1, 4 do }, }, energy_usage = i .. "MW", + tall = true, graphics_set = { working_visualisations = { { @@ -87,7 +87,6 @@ for i = 1, 4 do filename = "__pycoalprocessinggraphics__/graphics/entity/chemical-plant/light-y.png", frame_count = 1, repeat_count = 80, - draw_as_light = true, draw_as_glow = true, width = 288, height = 384, @@ -103,7 +102,6 @@ for i = 1, 4 do filename = "__pycoalprocessinggraphics__/graphics/entity/chemical-plant/light-b.png", frame_count = 1, repeat_count = 80, - draw_as_light = true, draw_as_glow = true, width = 288, height = 384, @@ -229,7 +227,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {4.0, -4.0}, direction = defines.direction.north}} }, --North2 @@ -237,7 +235,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {0.0, -4.0}, direction = defines.direction.north}} }, --North3 @@ -245,7 +243,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {2.0, -4.0}, direction = defines.direction.north}} }, --South3 @@ -253,7 +251,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, 4.0}, direction = defines.direction.south}} }, --South @@ -261,7 +259,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.0, 4.0}, direction = defines.direction.south}} }, --South2 @@ -269,7 +267,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {4.0, 4.0}, direction = defines.direction.south}} }, }, @@ -277,7 +275,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/chemical-plant.ogg", volume = 1.0}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/chemical-plant.ogg", volume = 0.3}, - apparent_volume = 2.5 } } end diff --git a/prototypes/buildings/classifier.lua b/prototypes/buildings/classifier.lua index d6cd04d91..7b3067e53 100644 --- a/prototypes/buildings/classifier.lua +++ b/prototypes/buildings/classifier.lua @@ -43,7 +43,7 @@ for i = 1, 4 do minable = {mining_time = 1, result = name}, fast_replaceable_group = "classifier", max_health = 400 * i, - vector_to_place_result = {0.0, 3.51}, + vector_to_place_result = {0.0, 3.8}, corpse = "big-remnants", dying_explosion = "medium-explosion", collision_box = {{-3.4, -3.4}, {3.4, 3.4}}, @@ -60,6 +60,7 @@ for i = 1, 4 do }, }, energy_usage = (i * 750) .. "kW", + tall = true, graphics_set = { animation = { layers = { @@ -89,7 +90,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/classifier.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/classifier.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } diff --git a/prototypes/buildings/co2-absorber.lua b/prototypes/buildings/co2-absorber.lua index 1e685da9f..c0abb04d8 100644 --- a/prototypes/buildings/co2-absorber.lua +++ b/prototypes/buildings/co2-absorber.lua @@ -69,6 +69,5 @@ ENTITY { working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/co2-absorber.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/co2-absorber.ogg", volume = 0.3}, - apparent_volume = 1.0 } } diff --git a/prototypes/buildings/cooling-tower-mk01.lua b/prototypes/buildings/cooling-tower-mk01.lua index 1ae45d1d4..3d6021ab7 100644 --- a/prototypes/buildings/cooling-tower-mk01.lua +++ b/prototypes/buildings/cooling-tower-mk01.lua @@ -39,7 +39,6 @@ ENTITY { dying_explosion = "medium-explosion", collision_box = {{-1.4, -1.4}, {1.4, 1.4}}, selection_box = {{-1.5, -1.5}, {1.5, 1.5}}, - forced_symmetry = "diagonal-pos", fixed_recipe = "cooling-water", module_slots = 2, allowed_effects = {"speed", "consumption"}, @@ -63,14 +62,14 @@ ENTITY { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {-0.0, -0.9}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {1.0, 0.0}, direction = defines.direction.east}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {-0.0, -0.9}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-1.0, 0.0}, direction = defines.direction.west}} } }, @@ -78,6 +77,5 @@ ENTITY { working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/cooling-tower-mk01.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/cooling-tower-mk01.ogg", volume = 0.3}, - apparent_volume = 2.5 } } diff --git a/prototypes/buildings/cooling-tower-mk02.lua b/prototypes/buildings/cooling-tower-mk02.lua index 9f055bb1f..a07ab726f 100644 --- a/prototypes/buildings/cooling-tower-mk02.lua +++ b/prototypes/buildings/cooling-tower-mk02.lua @@ -51,7 +51,6 @@ ENTITY { dying_explosion = "medium-explosion", collision_box = {{-2.4, -2.4}, {2.4, 2.4}}, selection_box = {{-2.5, -2.5}, {2.5, 2.5}}, - forced_symmetry = "diagonal-pos", module_slots = 4, allowed_effects = {"speed", "consumption"}, crafting_categories = {"cooling"}, @@ -89,14 +88,14 @@ ENTITY { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {-0.05, -0.7}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {1.0, -2.0}, direction = defines.direction.north}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {-0.05, -0.7}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-1.0, -2.0}, direction = defines.direction.north}} } }, @@ -104,6 +103,5 @@ ENTITY { working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/cooling-tower-mk01.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/cooling-tower-mk01.ogg", volume = 0.3}, - apparent_volume = 2.5 } } diff --git a/prototypes/buildings/desulfurizator-unit.lua b/prototypes/buildings/desulfurizator-unit.lua index 4aec83372..8f46f87d2 100644 --- a/prototypes/buildings/desulfurizator-unit.lua +++ b/prototypes/buildings/desulfurizator-unit.lua @@ -65,7 +65,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-2.9, -2.9}, {2.9, 2.9}}, selection_box = {{-3.0, -3.0}, {3.0, 3.0}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"desulfurization"}, @@ -108,14 +107,14 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.05, 1.25}, {-0.00, -0.95}, {0.65, 0.10}, {-0.65, 0.10}, pipe_right), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {2.5, -1.5}, direction = defines.direction.east}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.25, 1.25}, {-0.00, -0.95}, {0.65, 0.10}, {-0.65, 0.10}, pipe_left), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.5, 1.5}, direction = defines.direction.east}} } }, @@ -123,7 +122,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__base__/sound/chemical-plant.ogg"}, --idle_sound = {filename = "__base__/sound/chemical-plant.ogg", volume = 0.3}, - apparent_volume = 0.5 }, } end diff --git a/prototypes/buildings/distilator.lua b/prototypes/buildings/distilator.lua index 1947d8924..7d8d69df1 100644 --- a/prototypes/buildings/distilator.lua +++ b/prototypes/buildings/distilator.lua @@ -47,7 +47,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.9, -3.9}, {3.9, 3.9}}, selection_box = {{-4, -4}, {4, 4}}, - forced_symmetry = "diagonal-neg", module_slots = i, allowed_effects = {"consumption", "speed", "pollution", "productivity"}, crafting_categories = {"distilator"}, @@ -129,7 +128,7 @@ for i = 1, 4 do { production_type = "input", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_connections = {{flow_direction = "input", position = {-1.5, -3.5}, direction = defines.direction.north}} }, @@ -137,7 +136,7 @@ for i = 1, 4 do { production_type = "output", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), --.05 pipe_connections = {{flow_direction = "output", position = {1.5, -3.5}, direction = defines.direction.north}} }, @@ -145,7 +144,7 @@ for i = 1, 4 do { production_type = "input", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_connections = {{flow_direction = "input", position = {-1.5, 3.5}, direction = defines.direction.south}} }, @@ -153,7 +152,7 @@ for i = 1, 4 do { production_type = "output", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), --.05 pipe_connections = {{flow_direction = "output", position = {1.5, 3.5}, direction = defines.direction.south}} }, @@ -161,7 +160,7 @@ for i = 1, 4 do { production_type = "input", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), --.05 pipe_connections = {{flow_direction = "input", position = {-3.5, -1.5}, direction = defines.direction.west}} }, @@ -169,7 +168,7 @@ for i = 1, 4 do { production_type = "output", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_connections = {{flow_direction = "output", position = {-3.5, 1.5}, direction = defines.direction.west}} }, @@ -177,7 +176,7 @@ for i = 1, 4 do { production_type = "input", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), --.05 pipe_connections = {{flow_direction = "input", position = {3.5, -1.5}, direction = defines.direction.east}} }, @@ -185,14 +184,14 @@ for i = 1, 4 do { production_type = "output", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_connections = {{flow_direction = "output", position = {3.5, 1.5}, direction = defines.direction.east}} }, { production_type = "output", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_connections = {{flow_direction = "output", position = {3.5, 3.5}, direction = defines.direction.east}} }, @@ -201,7 +200,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/distilator.ogg", volume = 1.2}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/distilator.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/evaporator.lua b/prototypes/buildings/evaporator.lua index 30820bbb7..43be2117b 100644 --- a/prototypes/buildings/evaporator.lua +++ b/prototypes/buildings/evaporator.lua @@ -66,7 +66,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-2.4, -2.4}, {2.4, 2.4}}, selection_box = {{-2.5, -2.5}, {2.5, 2.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"evaporator"}, @@ -157,14 +156,14 @@ for i = 1, 4 do production_type = "input", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.0, 1.0}, direction = defines.direction.east}} }, { production_type = "input", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-2.0, -1.0}, direction = defines.direction.west}} }, { @@ -186,7 +185,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/evaporator.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/evaporator.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } @@ -198,28 +196,28 @@ for i = 1, 4 do production_type = "input", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.0, 0.0}, direction = defines.direction.east}} }, { production_type = "input", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, 2.0}, direction = defines.direction.south}} }, { production_type = "output", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-2.0, 0.0}, direction = defines.direction.west}} }, { production_type = "output", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {0.0, -2.0}, direction = defines.direction.north}} }, } diff --git a/prototypes/buildings/fawogae-plantation.lua b/prototypes/buildings/fawogae-plantation.lua index 32980c3c1..17e460456 100644 --- a/prototypes/buildings/fawogae-plantation.lua +++ b/prototypes/buildings/fawogae-plantation.lua @@ -39,14 +39,14 @@ if mods.pyalienlife then production_type = "input", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", {0, 0.22}, {0.02, -1}, nil, nil, pipes), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-0.5, -2.5}, direction = defines.direction.north}} }, { production_type = "input", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", {0, 0.22}, {0.02, -1}, nil, nil, pipes), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.5, 2.5}, direction = defines.direction.south}} }, } @@ -56,7 +56,7 @@ else production_type = "input", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", {0, 0.22}, {0.02, -1}, nil, nil, pipes), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-0.5, -2.5}, direction = defines.direction.north}} }, } @@ -94,7 +94,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-2.8, -2.8}, {2.8, 2.8}}, selection_box = {{-3.0, -3.0}, {3.0, 3.0}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"fawogae"}, @@ -137,7 +136,6 @@ for i = 1, 4 do impact_category = "metal", working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/fawogae-plantation.ogg"}, - apparent_volume = 1.2 } } end diff --git a/prototypes/buildings/fluid-separator.lua b/prototypes/buildings/fluid-separator.lua index b39464f92..63a19e7a6 100644 --- a/prototypes/buildings/fluid-separator.lua +++ b/prototypes/buildings/fluid-separator.lua @@ -47,7 +47,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.25, -3.25}, {3.25, 3.25}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"fluid-separator"}, @@ -79,7 +78,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {2.0, -3.0}, direction = defines.direction.north}} }, --North2 @@ -87,7 +86,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {0.0, -3.0}, direction = defines.direction.north}} }, --North3 @@ -95,7 +94,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-2.0, -3.0}, direction = defines.direction.north}} }, --South3 @@ -103,7 +102,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, 3.0}, direction = defines.direction.south}} }, --South @@ -111,7 +110,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.0, 3.0}, direction = defines.direction.south}} }, --South2 @@ -119,7 +118,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-2.0, 3.0}, direction = defines.direction.south}} } }, @@ -127,7 +126,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/fluid-separator.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/fluid-separator.ogg", volume = 0.3}, - apparent_volume = 1.2 }, } end diff --git a/prototypes/buildings/fts-reactor.lua b/prototypes/buildings/fts-reactor.lua index c9369048b..4bc546611 100644 --- a/prototypes/buildings/fts-reactor.lua +++ b/prototypes/buildings/fts-reactor.lua @@ -49,7 +49,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-4.35, -4.35}, {4.35, 4.35}}, selection_box = {{-4.5, -4.5}, {4.5, 4.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"fts-reactor"}, @@ -62,6 +61,7 @@ for i = 1, 4 do }, }, energy_usage = (1.5 * i) .. "MW", + tall = true, graphics_set = { working_visualisations = { { @@ -209,42 +209,42 @@ for i = 1, 4 do production_type = "input", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0, -0.9}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {4.0, 0.0}, direction = defines.direction.east}} }, { production_type = "input", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0, -0.9}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {4.0, 2.0}, direction = defines.direction.east}} }, { production_type = "input", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0, -0.9}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {4.0, -2.0}, direction = defines.direction.east}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0, -0.9}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-4.0, 0.0}, direction = defines.direction.west}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0, -0.9}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-4.0, 2.0}, direction = defines.direction.west}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0, -0.9}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-4.0, -2.0}, direction = defines.direction.west}} } }, @@ -252,7 +252,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/evaporator.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/evaporator.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/gas-turbine-mk01.lua b/prototypes/buildings/gas-turbine-mk01.lua index 2c6339356..ed035874e 100644 --- a/prototypes/buildings/gas-turbine-mk01.lua +++ b/prototypes/buildings/gas-turbine-mk01.lua @@ -66,23 +66,31 @@ ENTITY { pollution = 1 }, }, - horizontal_animation = { - filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk01/gasturbinemk01_horizontal.png", - width = 131, - height = 288, - frame_count = 25, - line_length = 5, - shift = {0.5, -3.0}, - animation_speed = 0.8 - }, - vertical_animation = { - filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk01/gasturbinemk01_vertical.png", - width = 128, - height = 288, - frame_count = 25, - line_length = 5, - shift = {0.5, -3.0}, - animation_speed = 0.8 + two_direction_only = true, + tall = true, + pictures = { + north = { + animation = { + filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk01/gasturbinemk01_vertical.png", + width = 128, + height = 288, + frame_count = 25, + line_length = 5, + shift = {0.5, -3.0}, + animation_speed = 0.8 + } + }, + east = { + animation = { + filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk01/gasturbinemk01_horizontal.png", + width = 131, + height = 288, + frame_count = 25, + line_length = 5, + shift = {0.5, -3.0}, + animation_speed = 0.8 + } + } }, smoke = { { @@ -91,7 +99,7 @@ ENTITY { east_position = {-0.75, -2}, frequency = 5 / 32, starting_vertical_speed = 0.08, - slow_down_factor = 1, + vertical_speed_slowdown = 1, starting_frame_deviation = 60 }, { @@ -100,16 +108,15 @@ ENTITY { east_position = {1.2, -2}, frequency = 5 / 32, starting_vertical_speed = 0.08, - slow_down_factor = 1, + vertical_speed_slowdown = 1, starting_frame_deviation = 60 } }, - min_perceived_performance = 0.1, - performance_to_sound_speedup = 0.3, + perceived_performance = {minimum = 0.1}, impact_category = "metal-large", working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/gasturbinemk01.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/gasturbinemk01.ogg", volume = 0.3}, - apparent_volume = 2.5 + activity_to_speed_modifiers = {multiplier = 0.3} } } diff --git a/prototypes/buildings/gas-turbine-mk02.lua b/prototypes/buildings/gas-turbine-mk02.lua index e7b785526..5a4b847db 100644 --- a/prototypes/buildings/gas-turbine-mk02.lua +++ b/prototypes/buildings/gas-turbine-mk02.lua @@ -66,21 +66,29 @@ ENTITY { pollution = 1 }, }, - horizontal_animation = { - filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk02/gas-turbine-mk02-vertical-anim.png", - width = 238, - height = 249, - frame_count = 16, - line_length = 4, - shift = {0.195, -0.239} - }, - vertical_animation = { - filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk02/gas-turbine-mk02-horizontal-anim.png", - width = 238, - height = 244, - frame_count = 16, - line_length = 4, - shift = {0.155, -0.325} + two_direction_only = true, + tall = true, + pictures = { + north = { + animation = { + filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk02/gas-turbine-mk02-horizontal-anim.png", + width = 238, + height = 244, + frame_count = 16, + line_length = 4, + shift = {0.155, -0.325} + } + }, + east = { + animation = { + filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk02/gas-turbine-mk02-vertical-anim.png", + width = 238, + height = 249, + frame_count = 16, + line_length = 4, + shift = {0.195, -0.239} + } + } }, smoke = { { @@ -89,16 +97,15 @@ ENTITY { east_position = {0.52, -3.1}, frequency = 5 / 8, starting_vertical_speed = 0.08, - slow_down_factor = 1, + vertical_speed_slowdown = 1, starting_frame_deviation = 60 } }, - min_perceived_performance = 0.1, - performance_to_sound_speedup = 0.3, + perceived_performance = {minimum = 0.1}, impact_category = "metal-large", working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/gasturbinemk02.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/gasturbinemk02.ogg", volume = 0.3}, - apparent_volume = 2.5 + activity_to_speed_modifiers = {multiplier = 0.3} } } diff --git a/prototypes/buildings/gas-turbine-mk03.lua b/prototypes/buildings/gas-turbine-mk03.lua index 8cb5fa893..0cb34ae10 100644 --- a/prototypes/buildings/gas-turbine-mk03.lua +++ b/prototypes/buildings/gas-turbine-mk03.lua @@ -117,23 +117,31 @@ ENTITY { pollution = 1 }, }, - horizontal_animation = { - filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk03/gas-turbine-mk03-horizontal.png", - width = 288, - height = 344, - frame_count = 31, - animation_speed = 1 / 3, - line_length = 7, - shift = {-0.05, -0.84} - }, - vertical_animation = { - filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk03/gas-turbine-mk03-vertical.png", - width = 288, - height = 344, - frame_count = 31, - animation_speed = 1 / 3, - line_length = 7, - shift = {0.0, -0.82} + two_direction_only = true, + tall = true, + pictures = { + north = { + animation = { + filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk03/gas-turbine-mk03-vertical.png", + width = 288, + height = 344, + frame_count = 31, + animation_speed = 1 / 3, + line_length = 7, + shift = {0.0, -0.82} + } + }, + east = { + animation = { + filename = "__pycoalprocessinggraphics__/graphics/entity/gas-turbinemk03/gas-turbine-mk03-horizontal.png", + width = 288, + height = 344, + frame_count = 31, + animation_speed = 1 / 3, + line_length = 7, + shift = {-0.05, -0.84} + } + } }, smoke = { { @@ -142,16 +150,15 @@ ENTITY { east_position = {0.5, 1.0}, frequency = 5 / 16, starting_vertical_speed = 0.08, - slow_down_factor = 1, + vertical_speed_slowdown = 1, starting_frame_deviation = 60 } }, - min_perceived_performance = 0.1, - performance_to_sound_speedup = 0.3, + perceived_performance = {minimum = 0.1}, impact_category = "metal-large", working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/gasturbinemk03.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/gasturbinemk03.ogg", volume = 0.3}, - apparent_volume = 2.3 + activity_to_speed_modifiers = {multiplier = 0.3} } } diff --git a/prototypes/buildings/gasifier.lua b/prototypes/buildings/gasifier.lua index 2d09e714c..297c41221 100644 --- a/prototypes/buildings/gasifier.lua +++ b/prototypes/buildings/gasifier.lua @@ -56,7 +56,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.9, -3.9}, {3.9, 3.9}}, selection_box = {{-4, -4}, {4, 4}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"gasifier"}, @@ -101,34 +100,34 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.05, 0.575}, {0.0, -0.95}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {3.5, -0.5}, direction = defines.direction.east}} }, { production_type = "input", pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", {0.05, 0.575}, {0.0, -0.95}, nil, nil, pipes), pipe_connections = {{flow_direction = "input", position = {3.5, -2.5}, direction = defines.direction.east}} }, { production_type = "input", pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", {0.05, 0.575}, {0.0, -0.95}, nil, nil, pipes), pipe_connections = {{flow_direction = "input", position = {3.5, 2.5}, direction = defines.direction.east}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", {0.05, 0.575}, {0.0, -0.95}, nil, nil, pipes), pipe_connections = {{flow_direction = "output", position = {-3.5, -0.5}, direction = defines.direction.west}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-3", {0.05, 0.575}, {0.0, -0.95}, nil, nil, pipes), pipe_connections = {{flow_direction = "output", position = {-3.5, -2.5}, direction = defines.direction.west}} }, @@ -136,7 +135,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.05, 0.575}, {0.00, -0.95}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-3.5, 2.5}, direction = defines.direction.west}} } }, @@ -144,7 +143,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/gasifier.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/gasifier.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/glassworks.lua b/prototypes/buildings/glassworks.lua index 58c7b79f7..3d1c5513d 100644 --- a/prototypes/buildings/glassworks.lua +++ b/prototypes/buildings/glassworks.lua @@ -138,7 +138,6 @@ for i = 1, 4 do dying_explosion = "big-explosion", collision_box = {{-3.3, -3.3}, {3.3, 3.3}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"consumption", "speed", "pollution", "productivity"}, crafting_categories = {"glassworks"}, @@ -201,28 +200,28 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {0.0, -0.96}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {1.0, -3.0}, direction = defines.direction.north}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {0.0, -0.96}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-1.0, -3.0}, direction = defines.direction.north}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {0.0, -0.96}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.0, 3.0}, direction = defines.direction.south}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {0.0, -0.96}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-2.0, 3.0}, direction = defines.direction.south}} }, }, @@ -230,7 +229,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/glassworks.ogg", volume = 0.7}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/glassworks.ogg", volume = 0.3}, - apparent_volume = 2.5 } } end diff --git a/prototypes/buildings/ground-borer.lua b/prototypes/buildings/ground-borer.lua index 7974fb827..e6677e20f 100644 --- a/prototypes/buildings/ground-borer.lua +++ b/prototypes/buildings/ground-borer.lua @@ -47,7 +47,6 @@ for i = 1, 4 do dying_explosion = "big-explosion", collision_box = {{-4.3, -4.3}, {4.3, 4.3}}, selection_box = {{-4.5, -4.5}, {4.5, 4.5}}, - forced_symmetry = "diagonal-pos", module_slots = 0, allowed_effects = {"consumption", "speed"}, crafting_categories = {"ground-borer"}, @@ -59,7 +58,7 @@ for i = 1, 4 do pollution = 3 * i }, }, - vector_to_place_result = {4.51, 0}, + vector_to_place_result = {4.8, 0}, energy_usage = (1.25 * i) .. "MW", graphics_set = { animation = { @@ -92,7 +91,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.70}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, 4.0}, direction = defines.direction.south}} }, --2 @@ -100,7 +99,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.70}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, -4.0}, direction = defines.direction.north}} } }, @@ -108,7 +107,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/ground-borer.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/ground-borer.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } diff --git a/prototypes/buildings/hpf.lua b/prototypes/buildings/hpf.lua index ddf65dd1e..3e678af1c 100644 --- a/prototypes/buildings/hpf.lua +++ b/prototypes/buildings/hpf.lua @@ -48,7 +48,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.4, -3.4}, {3.4, 3.4}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"hpf"}, @@ -61,6 +60,7 @@ for i = 1, 4 do }, }, energy_usage = (2 * i) .. "MW", + tall = true, graphics_set = { working_visualisations = { { @@ -145,14 +145,14 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {0.0, -0.96}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {3.0, 0.0}, direction = defines.direction.east}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {0.0, -0.96}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-3.0, 0.0}, direction = defines.direction.west}} }, }, @@ -160,7 +160,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/hpf.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/hpf.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/jaw-crusher.lua b/prototypes/buildings/jaw-crusher.lua index a6ad8f1a6..7efcc5e2f 100644 --- a/prototypes/buildings/jaw-crusher.lua +++ b/prototypes/buildings/jaw-crusher.lua @@ -115,7 +115,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/classifier.ogg", volume = 0.85}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/classifier.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/lab.lua b/prototypes/buildings/lab.lua index 42029e22e..aaf1d182d 100644 --- a/prototypes/buildings/lab.lua +++ b/prototypes/buildings/lab.lua @@ -12,6 +12,7 @@ ENTITY { selection_box = {{-2.5, -2.5}, {2.5, 2.5}}, drawing_box_vertical_extension = 2, --damaged_trigger_effect = hit_effects.entity(), + tall = true, on_animation = { layers = diff --git a/prototypes/buildings/methanol-reactor.lua b/prototypes/buildings/methanol-reactor.lua index 1e6c6c0b5..b6b370df3 100644 --- a/prototypes/buildings/methanol-reactor.lua +++ b/prototypes/buildings/methanol-reactor.lua @@ -59,7 +59,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-2.75, -2.75}, {2.75, 2.75}}, selection_box = {{-3, -3}, {3, 3}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"methanol"}, @@ -105,7 +104,7 @@ for i = 1, 4 do production_type = "output", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-0.5, -2.5}, direction = defines.direction.north}} }, --North, right @@ -113,7 +112,7 @@ for i = 1, 4 do production_type = "output", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {0.5, -2.5}, direction = defines.direction.north}} }, --South, left @@ -121,7 +120,7 @@ for i = 1, 4 do production_type = "output", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-0.5, 2.5}, direction = defines.direction.south}} }, --South, right @@ -129,7 +128,7 @@ for i = 1, 4 do production_type = "output", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {0.5, 2.5}, direction = defines.direction.south}} }, --West, top @@ -137,7 +136,7 @@ for i = 1, 4 do production_type = "input", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-2.5, -0.5}, direction = defines.direction.west}} }, --West, bottom @@ -145,7 +144,7 @@ for i = 1, 4 do production_type = "input", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-2.5, 0.5}, direction = defines.direction.west}} }, --East, top @@ -153,7 +152,7 @@ for i = 1, 4 do production_type = "input", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.5, -0.5}, direction = defines.direction.east}} }, --East, bottom @@ -161,7 +160,7 @@ for i = 1, 4 do production_type = "input", pipe_covers = pipe_covers, pipe_picture = pipe_picture, - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2.5, 0.5}, direction = defines.direction.east}} }, }, @@ -169,7 +168,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/methanol-reactor.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/methanol-reactor.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/mukmoux-pasture.lua b/prototypes/buildings/mukmoux-pasture.lua index 459781182..31d9f7d47 100644 --- a/prototypes/buildings/mukmoux-pasture.lua +++ b/prototypes/buildings/mukmoux-pasture.lua @@ -125,6 +125,5 @@ ENTITY { working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/mukmoux-pasture.ogg", volume = 0.9}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/mukmoux-pasture.ogg", volume = 0.3}, - apparent_volume = 0.45 } } diff --git a/prototypes/buildings/niobium-mine.lua b/prototypes/buildings/niobium-mine.lua index 9d1ab72bb..9b16c64d0 100644 --- a/prototypes/buildings/niobium-mine.lua +++ b/prototypes/buildings/niobium-mine.lua @@ -70,7 +70,6 @@ for abbreviation, direction in pairs {N = "north", E = "east", S = "south", W = height = 237, frame_count = 1, repeat_count = 136, - direction_count = 1, shift = pixel_offsets[abbreviation] } end @@ -90,7 +89,7 @@ ENTITY { collision_box = {{-3.3, -3.3}, {3.3, 3.3}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, input_fluid_box = { - pipe_picture = _G.assembler2pipepictures(), + pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {-3, 3}), pipe_covers = _G.pipecoverspictures(), volume = 200, pipe_connections = { @@ -118,7 +117,7 @@ ENTITY { }, energy_usage = "550kW", resource_searching_radius = 5.49, - vector_to_place_result = {0, -3.65}, + vector_to_place_result = {0, -3.8}, radius_visualisation_picture = { filename = "__base__/graphics/entity/electric-mining-drill/electric-mining-drill-radius-visualization.png", width = 12, @@ -136,6 +135,5 @@ ENTITY { working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/niobium-mine.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/niobium-mine.ogg", volume = 0.3}, - apparent_volume = 2.5 } } diff --git a/prototypes/buildings/olefin-plant.lua b/prototypes/buildings/olefin-plant.lua index c9150bc98..2ee07b441 100644 --- a/prototypes/buildings/olefin-plant.lua +++ b/prototypes/buildings/olefin-plant.lua @@ -47,7 +47,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.75, -3.75}, {3.75, 3.75}}, selection_box = {{-4, -4}, {4, 4}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"olefin"}, @@ -119,7 +118,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.0, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {1.5, -3.5}, direction = defines.direction.north}} }, --North2 @@ -127,7 +126,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.0, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-1.5, -3.5}, direction = defines.direction.north}} }, --South @@ -135,7 +134,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-1.5, 3.5}, direction = defines.direction.south}} }, --South2 @@ -143,7 +142,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {-0.00, -0.95}, nil, nil), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {1.5, 3.5}, direction = defines.direction.south}} }, }, @@ -151,7 +150,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/olefin-plant.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/olefin-plant.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/power-house.lua b/prototypes/buildings/power-house.lua index 03f64482e..6e0eea182 100644 --- a/prototypes/buildings/power-house.lua +++ b/prototypes/buildings/power-house.lua @@ -97,7 +97,7 @@ for i = 1, 4 do south_position = {2.1, -1.9}, frequency = 90, starting_vertical_speed = 0.03, - slow_down_factor = 1, + vertical_speed_slowdown = 1, starting_frame_deviation = 60 }, { @@ -108,7 +108,7 @@ for i = 1, 4 do south_position = {1.9, -3.0}, frequency = 90, starting_vertical_speed = 0.02, - slow_down_factor = 1, + vertical_speed_slowdown = 1, starting_frame_deviation = 60 }, }, @@ -145,27 +145,27 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", {-0.1, 1.1}, {-0.00, -0.89}, {0.55, 0.15}, {-0.5, 0.15}, pipe_left), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-1.0, -3.0}, direction = defines.direction.north}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", {0.1, 1.1}, {-0.00, -0.89}, {0.55, 0.15}, {-0.5, 0.15}, pipe_mid), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, -3.0}, direction = defines.direction.north}} }, { production_type = "input", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-2", {-0, 1.1}, {-0.00, -0.89}, {0.55, 0.15}, {-0.5, 0.15}, pipe_right), pipe_connections = {{flow_direction = "input", position = {1.0, -3.0}, direction = defines.direction.north}} }, { production_type = "output", pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_picture = py.pipe_pictures("assembling-machine-2", {-0.1, 1.1}, {-0.00, -0.89}, {0.55, 0.15}, {-0.5, 0.15}, pipe_left), pipe_connections = {{flow_direction = "output", position = {-1.0, 3.0}, direction = defines.direction.south}} }, @@ -173,7 +173,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-2", {0.1, 1.1}, {-0.00, -0.89}, {0.55, 0.15}, {-0.5, 0.15}, pipe_mid), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {1.0, 3.0}, direction = defines.direction.south}} }, }, @@ -181,7 +181,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/power-house.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/power-house.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/quenching-tower.lua b/prototypes/buildings/quenching-tower.lua index 900eba01f..8ec6e7b2c 100644 --- a/prototypes/buildings/quenching-tower.lua +++ b/prototypes/buildings/quenching-tower.lua @@ -63,7 +63,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.4, -3.4}, {3.4, 3.4}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"quenching-tower"}, @@ -107,7 +106,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.875, 4.1}, {1.1, -3.85}, nil, nil, pipe_picture_override), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {3.0, -1.0}, direction = defines.direction.east}}, secondary_draw_orders = {north = -1} }, @@ -115,7 +114,7 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.875, 4.1}, {1.1, -3.85}, nil, nil, pipe_picture_override), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {3.0, 1.0}, direction = defines.direction.east}}, secondary_draw_orders = {north = -1} }, @@ -123,7 +122,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.875, 4.1}, {1.1, -3.85}, nil, nil, pipe_picture_override), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-3.0, -1.0}, direction = defines.direction.west}}, secondary_draw_orders = {north = -1} }, @@ -131,7 +130,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.875, 4.1}, {1.1, -3.85}, nil, nil, pipe_picture_override), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-3.0, 1.0}, direction = defines.direction.west}}, secondary_draw_orders = {north = -1} }, @@ -139,7 +138,7 @@ for i = 1, 4 do production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.875, 4.1}, {1.1, -3.85}, nil, nil, pipe_picture_override), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-1.0, 3.0}, direction = defines.direction.south}}, secondary_draw_orders = {north = -1} }, diff --git a/prototypes/buildings/ralesia-plantation.lua b/prototypes/buildings/ralesia-plantation.lua index abd052066..c41d1eeb5 100644 --- a/prototypes/buildings/ralesia-plantation.lua +++ b/prototypes/buildings/ralesia-plantation.lua @@ -34,28 +34,28 @@ if mods.pyalienlife then production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.0, 3.837}, {-0.0, -3.837}, {4.0, 0.0}, {-4.0, 0.0}, pipes), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, 3.0}, direction = defines.direction.south}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.0, 3.837}, {-0.0, -3.837}, {4.0, 0.0}, {-4.0, 0.0}, pipes), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, -3.0}, direction = defines.direction.north}} }, { production_type = "input", pipe_covers = py.pipe_covers(true, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.0, 3.837}, {-0.0, -3.837}, {4.0, 0.0}, {-4.0, 0.0}, pipes), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {-3.0, 0.0}, direction = defines.direction.west}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.0, 3.837}, {-0.0, -3.837}, {4.0, 0.0}, {-4.0, 0.0}, pipes), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {3.0, 0.0}, direction = defines.direction.east}} }, } @@ -66,14 +66,14 @@ else production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.0, 3.837}, {-0.0, -3.837}, {4.0, 0.0}, {-4.0, 0.0}, pipes), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, 3.0}, direction = defines.direction.south}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {-0.0, 3.837}, {-0.0, -3.837}, {4.0, 0.0}, {-4.0, 0.0}, pipes), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.0, -3.0}, direction = defines.direction.north}} }, } @@ -131,7 +131,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.2, -3.2}, {3.2, 3.2}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"ralesia"}, @@ -177,7 +176,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/ralesia-plantation.ogg", volume = 1.2}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/ralesia-plantation.ogg", volume = 0.3}, - apparent_volume = 2.5 } } end diff --git a/prototypes/buildings/rectisol.lua b/prototypes/buildings/rectisol.lua index d99c32593..d6b9d6902 100644 --- a/prototypes/buildings/rectisol.lua +++ b/prototypes/buildings/rectisol.lua @@ -63,7 +63,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.4, -3.4}, {3.4, 3.4}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"rectisol"}, @@ -159,49 +158,49 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.0, 0.65}, {-0.05, -0.53}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {3.0, -2.0}, direction = defines.direction.east}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.0, 0.65}, {-0.05, -0.53}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {3.0, 2.0}, direction = defines.direction.east}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.0, 0.65}, {-0.05, -0.53}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {3.0, 0.0}, direction = defines.direction.east}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.0, 0.65}, {-0.05, -0.53}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-1.0, -3.0}, direction = defines.direction.north}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.0, 0.65}, {-0.05, -0.53}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-3.0, 1.0}, direction = defines.direction.west}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.0, 0.65}, {-0.05, -0.53}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-3.0, -1.0}, direction = defines.direction.west}} }, { production_type = "output", pipe_picture = py.pipe_pictures("assembling-machine-3", {0.0, 0.65}, {-0.05, -0.53}, nil, nil, pipes), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {1.0, -3.0}, direction = defines.direction.north}} }, }, @@ -209,7 +208,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/rectisol.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/rectisol.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/sand-extractor.lua b/prototypes/buildings/sand-extractor.lua index 4f6692cba..d0d8edd24 100644 --- a/prototypes/buildings/sand-extractor.lua +++ b/prototypes/buildings/sand-extractor.lua @@ -40,7 +40,7 @@ for i = 1, 4 do name = name, icon = icon, icon_size = icon_size, - vector_to_place_result = {-0.5, 3.1}, + vector_to_place_result = {-0.5, 3.3}, flags = {"placeable-neutral", "player-creation"}, minable = {mining_time = 1, result = name}, fast_replaceable_group = "sand-extractor", @@ -90,7 +90,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/sand-extractor.ogg", volume = 0.9}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/sand-extractor.ogg", volume = 0.3}, - apparent_volume = 0.45 }, } diff --git a/prototypes/buildings/soil-extractor.lua b/prototypes/buildings/soil-extractor.lua index 63872694e..096ceff9d 100644 --- a/prototypes/buildings/soil-extractor.lua +++ b/prototypes/buildings/soil-extractor.lua @@ -54,7 +54,7 @@ for i = 1, 4 do name = name, icon = icon, icon_size = icon_size, - vector_to_place_result = {0.0, 3.51}, + vector_to_place_result = {0.0, 3.8}, flags = {"placeable-neutral", "player-creation"}, minable = {mining_time = 0.5, result = name}, fast_replaceable_group = "soil-extractor", @@ -63,7 +63,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-3.4, -3.4}, {3.4, 3.4}}, selection_box = {{-3.5, -3.5}, {3.5, 3.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, crafting_categories = {"soil-extraction"}, @@ -133,8 +132,7 @@ for i = 1, 4 do production_type = "input", pipe_covers = py.pipe_covers(true, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", {0, 1}, {0, -1}, nil, nil, pipes), - volume = 1000, - height = 2, + volume = 100, filter = "water", pipe_connections = {{flow_direction = "input-output", position = {3.0, 0.0}, direction = defines.direction.east}, {flow_direction = "input-output", position = {-3.0, 0.0}, direction = defines.direction.west}} } @@ -143,7 +141,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/soil-extractor.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/soil-extractor.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } diff --git a/prototypes/buildings/solid-separator.lua b/prototypes/buildings/solid-separator.lua index 7dcd5d108..458c83698 100644 --- a/prototypes/buildings/solid-separator.lua +++ b/prototypes/buildings/solid-separator.lua @@ -88,7 +88,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/solid-separator.ogg"}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/solid-separator.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/tailings-pond.lua b/prototypes/buildings/tailings-pond.lua index 06f9c7002..1a055becf 100644 --- a/prototypes/buildings/tailings-pond.lua +++ b/prototypes/buildings/tailings-pond.lua @@ -55,9 +55,7 @@ ENTITY { minable = {mining_time = 0.5, result = "tailings-pond"}, max_health = 500, corpse = "big-remnants", - squeak_behaviour = false, squeak_behavior = false, - scale_info_icons = true, dying_explosion = "storage-tank-explosion", collision_box = {{-8.9, -8.9}, {8.9, 8.9}}, selection_box = {{-9, -9}, {9, 9}}, diff --git a/prototypes/buildings/tar-processing-unit.lua b/prototypes/buildings/tar-processing-unit.lua index 7b2be8931..f1bf7e519 100644 --- a/prototypes/buildings/tar-processing-unit.lua +++ b/prototypes/buildings/tar-processing-unit.lua @@ -48,7 +48,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-5.3, -5.3}, {5.3, 5.3}}, selection_box = {{-5.5, -5.5}, {5.5, 5.5}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"consumption", "speed", "pollution", "productivity"}, crafting_categories = {"tar"}, @@ -151,42 +150,42 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.96}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0, 5.0}, direction = defines.direction.south}} }, { production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.96}, nil, nil), pipe_covers = py.pipe_covers(false, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {2, 5.0}, direction = defines.direction.south}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.96}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-3, -5.0}, direction = defines.direction.north}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.96}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {1, -5.0}, direction = defines.direction.north}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.96}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {-1, -5.0}, direction = defines.direction.north}} }, { production_type = "output", pipe_covers = py.pipe_covers(false, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.96}, nil, nil), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {3, -5.0}, direction = defines.direction.north}} }, }, @@ -194,7 +193,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__base__/sound/oil-refinery.ogg"}, idle_sound = {filename = "__base__/sound/idle1.ogg", volume = 0.3}, - apparent_volume = 2.5 }, } end diff --git a/prototypes/buildings/ulric-corral.lua b/prototypes/buildings/ulric-corral.lua index d2c8857ee..afc06942d 100644 --- a/prototypes/buildings/ulric-corral.lua +++ b/prototypes/buildings/ulric-corral.lua @@ -202,6 +202,5 @@ ENTITY { working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/ulric-corral.ogg", volume = 0.55}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/ulric-corral.ogg", volume = 0.3}, - apparent_volume = 0.45 } } diff --git a/prototypes/buildings/washer.lua b/prototypes/buildings/washer.lua index d40ec5f05..67b89f05a 100644 --- a/prototypes/buildings/washer.lua +++ b/prototypes/buildings/washer.lua @@ -2,8 +2,8 @@ local pipes = { north = { filename = "__pycoalprocessinggraphics__/graphics/entity/washer/pipe-north.png", priority = "low", - width = 30, - height = 44 + width = 32, + height = 32 } } local pipes2 = { @@ -64,7 +64,6 @@ for i = 1, 4 do dying_explosion = "medium-explosion", collision_box = {{-2.8, -2.8}, {2.8, 2.8}}, selection_box = {{-3.0, -3.0}, {3.0, 3.0}}, - forced_symmetry = "diagonal-pos", module_slots = i, allowed_effects = {"consumption", "speed", "pollution", "productivity"}, crafting_categories = {"washer"}, @@ -108,14 +107,14 @@ for i = 1, 4 do production_type = "input", pipe_picture = py.pipe_pictures("assembling-machine-2", {1.17, 2.78}, {-0.05, -0.8}, nil, nil, pipes2), pipe_covers = py.pipe_covers(true, true, true, true), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "input", position = {0.5, 2.5}, direction = defines.direction.south}} }, { production_type = "output", pipe_covers = py.pipe_covers(true, true, true, true), pipe_picture = py.pipe_pictures("assembling-machine-2", nil, {-0.05, -0.8}, nil, nil, pipes), - volume = 1000, + volume = 100, pipe_connections = {{flow_direction = "output", position = {0.5, -2.5}, direction = defines.direction.north}} }, }, @@ -123,7 +122,6 @@ for i = 1, 4 do working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/washer.ogg", volume = 1.8}, idle_sound = {filename = "__pycoalprocessinggraphics__/sounds/washer.ogg", volume = 0.3}, - apparent_volume = 1.8 }, } end diff --git a/prototypes/buildings/wpu.lua b/prototypes/buildings/wpu.lua index b21ba7c85..2ccceb873 100644 --- a/prototypes/buildings/wpu.lua +++ b/prototypes/buildings/wpu.lua @@ -44,7 +44,7 @@ for i = 1, 4 do minable = {mining_time = 1, result = name}, fast_replaceable_group = "wpu", max_health = 800 * i, - vector_to_place_result = {-0.5, 3.2}, + vector_to_place_result = {-0.5, 3.3}, corpse = "medium-remnants", dying_explosion = "medium-explosion", collision_box = {{-2.8, -2.8}, {2.8, 2.8}}, @@ -108,7 +108,6 @@ for i = 1, 4 do impact_category = "metal", working_sound = { sound = {filename = "__pycoalprocessinggraphics__/sounds/wpu.ogg", volume = 1.0}, - apparent_volume = 2.5 }, } diff --git a/prototypes/fluids/acetylene.lua b/prototypes/fluids/acetylene.lua index 78f329ab0..143aa179e 100644 --- a/prototypes/fluids/acetylene.lua +++ b/prototypes/fluids/acetylene.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "acetylene", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 8, ingredients = { diff --git a/prototypes/fluids/anthraquinone.lua b/prototypes/fluids/anthraquinone.lua index 161ffc764..377438d4f 100644 --- a/prototypes/fluids/anthraquinone.lua +++ b/prototypes/fluids/anthraquinone.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "anthraquinone", - category = "rectisol", + categories = {"rectisol"}, enabled = false, energy_required = 3, ingredients = { diff --git a/prototypes/fluids/aromatics.lua b/prototypes/fluids/aromatics.lua index 7f28ffdcc..2e2cfe826 100644 --- a/prototypes/fluids/aromatics.lua +++ b/prototypes/fluids/aromatics.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "aromatics2", - category = "gasifier", + categories = {"gasifier"}, enabled = false, energy_required = 2.0, ingredients = { diff --git a/prototypes/fluids/boric-acid.lua b/prototypes/fluids/boric-acid.lua index 17286046c..2ba3fa559 100644 --- a/prototypes/fluids/boric-acid.lua +++ b/prototypes/fluids/boric-acid.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "boric-acid", - category = "gasifier", --bob electrolysis + categories = {"gasifier"}, --bob electrolysis enabled = false, energy_required = 2, ingredients = { diff --git a/prototypes/fluids/coal-gas.lua b/prototypes/fluids/coal-gas.lua index 21700b62c..29e121c1c 100644 --- a/prototypes/fluids/coal-gas.lua +++ b/prototypes/fluids/coal-gas.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "coal-gas", - category = "distilator", + categories = {"distilator"}, enabled = true, energy_required = 3, ingredients = { @@ -10,7 +10,7 @@ RECIPE { results = { {type = "fluid", name = "coal-gas", amount = 40}, {type = "fluid", name = "tar", amount = 50}, - {type = "item", name = "iron-oxide", amount = 1, probability = 0.3}, + {type = "item", name = "iron-oxide", amount = 1, independent_probability = 0.3}, {type = "item", name = "coke", amount = 6} }, main_product = "coal-gas", @@ -23,7 +23,7 @@ RECIPE { RECIPE { type = "recipe", name = "coal-gas-from-wood", - category = "distilator", + categories = {"distilator"}, enabled = true, energy_required = 3, ingredients = { @@ -32,7 +32,7 @@ RECIPE { results = { {type = "fluid", name = "coal-gas", amount = 10}, {type = "fluid", name = "tar", amount = 30}, - {type = "item", name = "iron-oxide", amount = 1, probability = 0.3}, + {type = "item", name = "iron-oxide", amount = 1, independent_probability = 0.3}, {type = "item", name = "coal", amount = 10} }, main_product = "coal-gas", @@ -45,7 +45,7 @@ RECIPE { RECIPE { type = "recipe", name = "coal-gas-from-coke", - category = "distilator", + categories = {"distilator"}, enabled = true, energy_required = 5, ingredients = { diff --git a/prototypes/fluids/coal-slurry.lua b/prototypes/fluids/coal-slurry.lua index fdcb8b679..038a6e5fb 100644 --- a/prototypes/fluids/coal-slurry.lua +++ b/prototypes/fluids/coal-slurry.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "coal-slurry", - category = "fluid-separator", + categories = {"fluid-separator"}, enabled = false, energy_required = 2, ingredients = { diff --git a/prototypes/fluids/combustion-mixture2.lua b/prototypes/fluids/combustion-mixture2.lua index 82a5e9449..b572f7ef2 100644 --- a/prototypes/fluids/combustion-mixture2.lua +++ b/prototypes/fluids/combustion-mixture2.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "combustion-mixture2", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 2, ingredients = { diff --git a/prototypes/fluids/creosote.lua b/prototypes/fluids/creosote.lua index 41c07613e..badd5d2d9 100644 --- a/prototypes/fluids/creosote.lua +++ b/prototypes/fluids/creosote.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "creosote", - category = "tar", + categories = {"tar"}, enabled = false, energy_required = 3, ingredients = { diff --git a/prototypes/fluids/diborane.lua b/prototypes/fluids/diborane.lua index 8ff034c7a..3937975bb 100644 --- a/prototypes/fluids/diborane.lua +++ b/prototypes/fluids/diborane.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "diborane", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 7, ingredients = { diff --git a/prototypes/fluids/hydrogen-peroxide.lua b/prototypes/fluids/hydrogen-peroxide.lua index 7d2ffcbd8..352d90051 100644 --- a/prototypes/fluids/hydrogen-peroxide.lua +++ b/prototypes/fluids/hydrogen-peroxide.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "hydrogen-peroxide", - category = "carbonfilter", + categories = {"carbonfilter"}, enabled = false, energy_required = 2.7, ingredients = { diff --git a/prototypes/fluids/methanol.lua b/prototypes/fluids/methanol.lua index 5e5b58826..9cafc465b 100644 --- a/prototypes/fluids/methanol.lua +++ b/prototypes/fluids/methanol.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "methanol-from-syngas", - category = "methanol", + categories = {"methanol"}, enabled = false, energy_required = 2, ingredients = { @@ -19,7 +19,7 @@ RECIPE { RECIPE { type = "recipe", name = "oleo-methanol", - category = "methanol", + categories = {"methanol"}, enabled = false, energy_required = 3, ingredients = { diff --git a/prototypes/fluids/molten-glass.lua b/prototypes/fluids/molten-glass.lua index 82fdff1cc..d0e18c850 100644 --- a/prototypes/fluids/molten-glass.lua +++ b/prototypes/fluids/molten-glass.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "glass", - category = "glassworks", + categories = {"glassworks"}, enabled = true, energy_required = 4, ingredients = { @@ -18,7 +18,7 @@ RECIPE { RECIPE { type = "recipe", name = "glass-2", - category = "glassworks", + categories = {"glassworks"}, enabled = false, energy_required = 4, ingredients = { diff --git a/prototypes/fluids/niobium-complex.lua b/prototypes/fluids/niobium-complex.lua index f8b480584..c447c20f9 100644 --- a/prototypes/fluids/niobium-complex.lua +++ b/prototypes/fluids/niobium-complex.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "niobium-complex", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 3.5, ingredients = { diff --git a/prototypes/fluids/refsyngas.lua b/prototypes/fluids/refsyngas.lua index b28fd1f54..566daf26b 100644 --- a/prototypes/fluids/refsyngas.lua +++ b/prototypes/fluids/refsyngas.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "refsyngas-from-filtered-syngas", - category = "carbonfilter", + categories = {"carbonfilter"}, enabled = false, energy_required = 4, ingredients = { @@ -16,7 +16,7 @@ RECIPE { RECIPE { type = "recipe", name = "refsyngas-from-meth", - category = "rectisol", + categories = {"rectisol"}, enabled = false, energy_required = 2, ingredients = { @@ -35,7 +35,7 @@ RECIPE { RECIPE { type = "recipe", name = "refsyngas-from-meth-canister", - category = "rectisol", + categories = {"rectisol"}, enabled = false, energy_required = 2, ingredients = { diff --git a/prototypes/fluids/syngas.lua b/prototypes/fluids/syngas.lua index 50b3af623..e8ce959ee 100644 --- a/prototypes/fluids/syngas.lua +++ b/prototypes/fluids/syngas.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "syngas", - category = "gasifier", + categories = {"gasifier"}, enabled = false, energy_required = 3, ingredients = { diff --git a/prototypes/fluids/tpa.lua b/prototypes/fluids/tpa.lua index ea27a3831..083f1d00b 100644 --- a/prototypes/fluids/tpa.lua +++ b/prototypes/fluids/tpa.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "tpa", - category = "rectisol", + categories = {"rectisol"}, enabled = false, energy_required = 4, ingredients = { diff --git a/prototypes/item-groups.lua b/prototypes/item-groups.lua index 7e6b7aa86..cb62123d8 100644 --- a/prototypes/item-groups.lua +++ b/prototypes/item-groups.lua @@ -3,7 +3,6 @@ data:extend { type = "item-group", name = "coal-processing", order = "t", - inventory_order = "t", icon = "__pycoalprocessinggraphics__/graphics/technology/item-group.png", icon_size = 64 }, diff --git a/prototypes/items/canister.lua b/prototypes/items/canister.lua index 1c2b22f01..0df28a643 100644 --- a/prototypes/items/canister.lua +++ b/prototypes/items/canister.lua @@ -2,7 +2,7 @@ RECIPE { type = "recipe", name = "empty-gas-canister", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 1, ingredients = { @@ -39,7 +39,7 @@ RECIPE { type = "recipe", name = "fill-methanol-gas-canister", localised_name = {"recipe-name.fill-methanol-gas-canister"}, - category = "crafting-with-fluid", --bob bob-pump + categories = {"crafting-with-fluid"}, --bob bob-pump enabled = false, energy_required = 0.2, ingredients = { @@ -58,7 +58,7 @@ RECIPE { RECIPE { type = "recipe", name = "empty-methanol-gas-canister", - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 0.2, ingredients = { diff --git a/prototypes/recipes/advanced-foundry-recipes.lua b/prototypes/recipes/advanced-foundry-recipes.lua index 93394e7ec..8ee8213cb 100644 --- a/prototypes/recipes/advanced-foundry-recipes.lua +++ b/prototypes/recipes/advanced-foundry-recipes.lua @@ -2,7 +2,7 @@ RECIPE { type = "recipe", name = "nexelit-plate", - category = "advanced-foundry", + categories = {"advanced-foundry"}, enabled = false, energy_required = 2, ingredients = { @@ -25,7 +25,7 @@ RECIPE { RECIPE { type = "recipe", name = "steel-plate2", - category = "advanced-foundry", + categories = {"advanced-foundry"}, enabled = false, energy_required = 2, ingredients = { diff --git a/prototypes/recipes/base-overrides.lua b/prototypes/recipes/base-overrides.lua index 3003ac274..114343ec7 100644 --- a/prototypes/recipes/base-overrides.lua +++ b/prototypes/recipes/base-overrides.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "concrete", - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, ingredients = { {type = "item", name = "lime", amount = 5}, @@ -16,7 +16,7 @@ RECIPE { type = "recipe", name = "fast-transport-belt", enabled = false, - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, ingredients = { {type = "item", name = "iron-gear-wheel", amount = 2}, {type = "item", name = "transport-belt", amount = 2}, @@ -58,7 +58,7 @@ RECIPE { RECIPE { type = "recipe", name = "electric-engine-unit", - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 10, ingredients = { @@ -73,7 +73,7 @@ RECIPE { RECIPE { type = "recipe", name = "processing-unit", - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 10, ingredients = { @@ -87,7 +87,7 @@ RECIPE { RECIPE { type = "recipe", name = "low-density-structure", - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 20, ingredients = { @@ -102,7 +102,7 @@ RECIPE { RECIPE { type = "recipe", name = "production-science-pack", - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 5, ingredients = { @@ -119,7 +119,7 @@ RECIPE { RECIPE { type = "recipe", name = "utility-science-pack", - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 10, ingredients = { @@ -178,7 +178,7 @@ RECIPE { type = "recipe", name = "rocket-fuel", enabled = false, - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, ingredients = { {type = "fluid", name = "hydrogen-peroxide", amount = 80}, {type = "fluid", name = "methanol", amount = 20} @@ -191,7 +191,7 @@ RECIPE { RECIPE { type = "recipe", name = "lubricant", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 5, ingredients = { @@ -213,7 +213,7 @@ RECIPE("hazard-concrete"):remove_unlock("concrete"):add_unlock("separation") RECIPE { type = "recipe", name = "shotgun-shell", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 5, ingredients = { diff --git a/prototypes/recipes/coal-processing-recipes.lua b/prototypes/recipes/coal-processing-recipes.lua index 4540ba8d1..e8f48be97 100644 --- a/prototypes/recipes/coal-processing-recipes.lua +++ b/prototypes/recipes/coal-processing-recipes.lua @@ -2,7 +2,7 @@ RECIPE { type = "recipe", name = "bonemeal", - category = "ulric", + categories = {"ulric"}, enabled = false, energy_required = 45, ingredients = { @@ -25,7 +25,7 @@ RECIPE { RECIPE { type = "recipe", name = "raw-borax", - category = "borax", + categories = {"borax"}, enabled = false, energy_required = 4.5, ingredients = { @@ -45,7 +45,7 @@ RECIPE { RECIPE { type = "recipe", name = "ralesia", - category = "ralesia", + categories = {"ralesia"}, enabled = false, energy_required = 7.7, ingredients = { @@ -65,7 +65,7 @@ RECIPE { RECIPE { type = "recipe", name = "rich-clay", - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 6, ingredients = { @@ -85,7 +85,7 @@ RECIPE { RECIPE { type = "recipe", name = "ground-sample01", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 5, ingredients = { @@ -105,7 +105,7 @@ RECIPE { RECIPE { type = "recipe", name = "bio-sample01", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 6, ingredients = { @@ -125,7 +125,7 @@ RECIPE { RECIPE { type = "recipe", name = "alien-sample01", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 10, ingredients = { @@ -145,7 +145,7 @@ RECIPE { RECIPE { type = "recipe", name = "equipment-chassi", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 7, ingredients = { @@ -166,7 +166,7 @@ RECIPE { RECIPE { type = "recipe", name = "lab-instrument", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 7, ingredients = { @@ -186,7 +186,7 @@ RECIPE { RECIPE { type = "recipe", name = "lens", - category = "glassworks", + categories = {"glassworks"}, enabled = false, energy_required = 3, ingredients = { @@ -206,7 +206,7 @@ RECIPE { RECIPE { type = "recipe", name = "boron-trioxide", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 3, ingredients = { @@ -226,7 +226,7 @@ RECIPE { RECIPE { type = "recipe", name = "ralesia-seeds", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 5.5, ingredients = { @@ -261,7 +261,7 @@ RECIPE { RECIPE { type = "recipe", name = "borax-washing", - category = "washer", + categories = {"washer"}, enabled = false, energy_required = 7.0, ingredients = { @@ -282,7 +282,7 @@ RECIPE { RECIPE { type = "recipe", name = "tar-distilation", - category = "distilator", + categories = {"distilator"}, enabled = false, energy_required = 2.5, ingredients = { @@ -304,7 +304,7 @@ RECIPE { RECIPE { type = "recipe", name = "tar-gasification", - category = "gasifier", + categories = {"gasifier"}, enabled = false, energy_required = 3.0, ingredients = { @@ -326,7 +326,7 @@ RECIPE { RECIPE { type = "recipe", name = "coal-fawogae", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 2.0, ingredients = { @@ -345,7 +345,7 @@ RECIPE { RECIPE { type = "recipe", name = "coke-coal", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 2, ingredients = { @@ -364,7 +364,7 @@ RECIPE { RECIPE { type = "recipe", name = "stone-distilation", - category = "distilator", + categories = {"distilator"}, enabled = false, energy_required = 2, ingredients = { @@ -387,7 +387,7 @@ RECIPE { RECIPE { type = "recipe", name = "log1", - category = "nursery", + categories = {"nursery"}, enabled = false, energy_required = 80, ingredients = {}, @@ -403,7 +403,7 @@ RECIPE { RECIPE { type = "recipe", name = "log2", - category = "nursery", + categories = {"nursery"}, enabled = false, energy_required = 60, ingredients = { @@ -421,7 +421,7 @@ RECIPE { RECIPE { type = "recipe", name = "log3", - category = "nursery", + categories = {"nursery"}, enabled = false, energy_required = 40, ingredients = { @@ -440,7 +440,7 @@ RECIPE { RECIPE { type = "recipe", name = "log-wood", - category = "wpu", + categories = {"wpu"}, enabled = true, energy_required = 4, ingredients = { @@ -469,7 +469,7 @@ RECIPE { {type = "item", name = "concrete", amount = 15} }, main_product = "concrete", - category = "hpf", + categories = {"hpf"}, icon = "__base__/graphics/icons/concrete.png", icon_size = 64, subgroup = "py-items-hpf", @@ -479,7 +479,7 @@ RECIPE { RECIPE { type = "recipe", name = "treated-wood", - category = "tar", + categories = {"tar"}, enabled = false, energy_required = 2, ingredients = { @@ -505,7 +505,7 @@ RECIPE { RECIPE { type = "recipe", name = "gasify-coal-dust", - category = "gasifier", + categories = {"gasifier"}, enabled = false, energy_required = 4, ingredients = { @@ -514,7 +514,7 @@ RECIPE { }, results = { {type = "fluid", name = "syngas", amount = 70}, - {type = "item", name = "ash", amount = 1, probability = 0.3} + {type = "item", name = "ash", amount = 1, independent_probability = 0.3} }, main_product = "syngas" }:add_unlock("coal-processing-3") @@ -522,7 +522,7 @@ RECIPE { RECIPE { type = "recipe", name = "nichrome", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 2.5, ingredients = { @@ -538,7 +538,7 @@ RECIPE { RECIPE { type = "recipe", name = "active-carbon", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 4, ingredients = { @@ -555,7 +555,7 @@ RECIPE { RECIPE { type = "recipe", name = "zinc-chloride", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 4, ingredients = { @@ -576,7 +576,7 @@ RECIPE { RECIPE { type = "recipe", name = "tailings-dust", - category = "evaporator", + categories = {"evaporator"}, enabled = false, energy_required = 5, ingredients = { @@ -584,7 +584,7 @@ RECIPE { }, results = { {type = "item", name = "tailings-dust", amount = 4}, - {type = "fluid", name = "acidgas", amount = 30, probability = 0.5} + {type = "fluid", name = "acidgas", amount = 30, independent_probability = 0.5} }, main_product = "tailings-dust", icon = "__pycoalprocessinggraphics__/graphics/icons/tailings_dust.png", @@ -594,7 +594,7 @@ RECIPE { RECIPE { type = "recipe", name = "drill-head", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 3, ingredients = { @@ -611,7 +611,7 @@ RECIPE { RECIPE { type = "recipe", name = "niobium-ore", - category = "niobium", + categories = {"niobium"}, enabled = false, energy_required = 7, ingredients = { @@ -627,7 +627,7 @@ RECIPE { RECIPE { type = "recipe", name = "niobium-dust", - category = "ball-mill", + categories = {"ball-mill"}, enabled = false, energy_required = 5, ingredients = { @@ -643,7 +643,7 @@ RECIPE { RECIPE { type = "recipe", name = "niobium-concentrate", - category = "classifier", + categories = {"classifier"}, enabled = false, energy_required = 4, ingredients = { @@ -659,7 +659,7 @@ RECIPE { RECIPE { type = "recipe", name = "niobium-oxide", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 3.5, ingredients = { @@ -675,7 +675,7 @@ RECIPE { RECIPE { type = "recipe", name = "niobium-plate", - category = "chemistry", --bob electrolysis + categories = {"chemistry"}, --bob electrolysis enabled = false, energy_required = 3.5, ingredients = { @@ -691,7 +691,7 @@ RECIPE { RECIPE { type = "recipe", name = "log5", - category = "nursery", + categories = {"nursery"}, enabled = false, energy_required = 20, ingredients = { @@ -710,7 +710,7 @@ RECIPE { RECIPE { type = "recipe", name = "organics-from-wood", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 2, ingredients = { @@ -729,7 +729,7 @@ RECIPE { RECIPE { type = "recipe", name = "log4", - category = "nursery", + categories = {"nursery"}, enabled = false, energy_required = 30, ingredients = { @@ -748,7 +748,7 @@ RECIPE { RECIPE { type = "recipe", name = "log6", - category = "nursery", + categories = {"nursery"}, enabled = false, energy_required = 15, ingredients = { @@ -768,7 +768,7 @@ RECIPE { RECIPE { type = "recipe", name = "log-organics", - category = "wpu", + categories = {"wpu"}, enabled = false, energy_required = 10, ingredients = { @@ -786,7 +786,7 @@ RECIPE { RECIPE { type = "recipe", name = "richdust-separation", - category = "solid-separator", + categories = {"solid-separator"}, enabled = false, energy_required = 1, ingredients = { @@ -806,7 +806,7 @@ RECIPE { RECIPE { type = "recipe", name = "organic-solvent", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 2.5, ingredients = { @@ -827,7 +827,7 @@ RECIPE { RECIPE { type = "recipe", name = "aromatic-organic", - category = "gasifier", + categories = {"gasifier"}, enabled = false, energy_required = 10, ingredients = { @@ -847,7 +847,7 @@ RECIPE { RECIPE { type = "recipe", name = "petgas-methanol", - category = "fluid-separator", + categories = {"fluid-separator"}, enabled = false, energy_required = 3, ingredients = { @@ -868,7 +868,7 @@ RECIPE { RECIPE { type = "recipe", name = "oleo-heavy", - category = "fluid-separator", + categories = {"fluid-separator"}, enabled = false, energy_required = 3, ingredients = { @@ -890,7 +890,7 @@ RECIPE { RECIPE { type = "recipe", name = "making-chromium", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 5.5, ingredients = { @@ -920,7 +920,7 @@ RECIPE { }, icon_size = 64, enabled = false, - category = "hpf", + categories = {"hpf"}, subgroup = "py-items-hpf", order = "c", ingredients = { @@ -935,7 +935,7 @@ RECIPE { RECIPE { type = "recipe", name = "coal-dust", - category = "ball-mill", + categories = {"ball-mill"}, enabled = false, energy_required = 4.0, ingredients = { @@ -954,7 +954,7 @@ RECIPE { RECIPE { type = "recipe", name = "sand-brick", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 2.0, ingredients = { @@ -975,7 +975,7 @@ RECIPE { RECIPE { type = "recipe", name = "oleochemicals-distilation", - category = "distilator", + categories = {"distilator"}, enabled = false, energy_required = 2.5, ingredients = { @@ -998,7 +998,7 @@ RECIPE { RECIPE { type = "recipe", name = "oleo-gasification", - category = "gasifier", + categories = {"gasifier"}, enabled = false, energy_required = 3.0, ingredients = { @@ -1019,7 +1019,7 @@ RECIPE { RECIPE { type = "recipe", name = "organics-processing", - category = "gasifier", + categories = {"gasifier"}, enabled = false, energy_required = 2, ingredients = { @@ -1040,7 +1040,7 @@ RECIPE { RECIPE { type = "recipe", name = "sand-casting", - category = "tar", + categories = {"tar"}, enabled = false, energy_required = 1, ingredients = { @@ -1067,7 +1067,7 @@ RECIPE { RECIPE { type = "recipe", name = "tar-oil", - category = "tar", + categories = {"tar"}, enabled = false, energy_required = 2.5, ingredients = { @@ -1088,7 +1088,7 @@ RECIPE { RECIPE { type = "recipe", name = "slacked-lime", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 3, ingredients = { @@ -1109,7 +1109,7 @@ RECIPE { RECIPE { type = "recipe", name = "oleo-solidfuel", - category = "methanol", + categories = {"methanol"}, enabled = false, energy_required = 2, ingredients = { @@ -1129,7 +1129,7 @@ RECIPE { RECIPE { type = "recipe", name = "coaldust-ash", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 1, ingredients = { diff --git a/prototypes/recipes/combustion-recipes.lua b/prototypes/recipes/combustion-recipes.lua index c7bcd3f08..b775c37b6 100644 --- a/prototypes/recipes/combustion-recipes.lua +++ b/prototypes/recipes/combustion-recipes.lua @@ -2,7 +2,7 @@ RECIPE { type = "recipe", name = "coalgas-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -23,7 +23,7 @@ RECIPE { RECIPE { type = "recipe", name = "coalslurry-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -44,7 +44,7 @@ RECIPE { RECIPE { type = "recipe", name = "syngas-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -65,7 +65,7 @@ RECIPE { RECIPE { type = "recipe", name = "diborane-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -86,7 +86,7 @@ RECIPE { RECIPE { type = "recipe", name = "heavy-oil-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -107,7 +107,7 @@ RECIPE { RECIPE { type = "recipe", name = "light-oil-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -128,7 +128,7 @@ RECIPE { RECIPE { type = "recipe", name = "petgas-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -149,7 +149,7 @@ RECIPE { RECIPE { type = "recipe", name = "methanol-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -170,7 +170,7 @@ RECIPE { RECIPE { type = "recipe", name = "refsyngas-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -191,7 +191,7 @@ RECIPE { RECIPE { type = "recipe", name = "olefin-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 3, ingredients = { @@ -212,7 +212,7 @@ RECIPE { RECIPE { type = "recipe", name = "supercritical-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 6, ingredients = { @@ -235,7 +235,7 @@ RECIPE { RECIPE { type = "recipe", name = "ultrasupercritical-combustion", - category = "combustion", + categories = {"combustion"}, enabled = false, energy_required = 6, ingredients = { diff --git a/prototypes/recipes/crusher-recipes.lua b/prototypes/recipes/crusher-recipes.lua index 3a362cdea..c4596f268 100644 --- a/prototypes/recipes/crusher-recipes.lua +++ b/prototypes/recipes/crusher-recipes.lua @@ -2,7 +2,7 @@ RECIPE { type = "recipe", name = "niobium-powder", - category = "crusher", + categories = {"crusher"}, enabled = false, energy_required = 3.5, ingredients = { @@ -23,7 +23,7 @@ RECIPE { RECIPE { type = "recipe", name = "crushing-iron", - category = "crusher", + categories = {"crusher"}, enabled = false, energy_required = 1, ingredients = { @@ -44,7 +44,7 @@ RECIPE { RECIPE { type = "recipe", name = "crushing-copper", - category = "crusher", + categories = {"crusher"}, enabled = false, energy_required = 1, ingredients = { @@ -65,7 +65,7 @@ RECIPE { RECIPE { type = "recipe", name = "stone-to-gravel", - category = "crusher", + categories = {"crusher"}, enabled = false, energy_required = 1, ingredients = { @@ -84,7 +84,7 @@ RECIPE { RECIPE { type = "recipe", name = "gravel-to-sand", - category = "crusher", + categories = {"crusher"}, enabled = false, energy_required = 1, ingredients = { diff --git a/prototypes/recipes/desulfurization-recipes.lua b/prototypes/recipes/desulfurization-recipes.lua index 330de2164..225a49018 100644 --- a/prototypes/recipes/desulfurization-recipes.lua +++ b/prototypes/recipes/desulfurization-recipes.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "dirty-reaction", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 9.3, ingredients = { @@ -24,7 +24,7 @@ RECIPE { RECIPE { type = "recipe", name = "coalgas-syngas", - category = "desulfurization", + categories = {"desulfurization"}, enabled = false, energy_required = 5.5, ingredients = { @@ -46,7 +46,7 @@ RECIPE { RECIPE { type = "recipe", name = "sulfur-crudeoil", - category = "desulfurization", + categories = {"desulfurization"}, enabled = false, energy_required = 3, ingredients = { @@ -55,7 +55,7 @@ RECIPE { }, results = { {type = "fluid", name = "heavy-oil", amount = 300}, - {type = "item", name = "sulfur", amount = 3, probability = 0.5}, + {type = "item", name = "sulfur", amount = 3, independent_probability = 0.5}, {type = "item", name = "ash", amount = 1} }, main_product = "heavy-oil", @@ -68,7 +68,7 @@ RECIPE { RECIPE { type = "recipe", name = "sulfur-heavyoil", - category = "desulfurization", + categories = {"desulfurization"}, enabled = false, energy_required = 3, ingredients = { @@ -89,7 +89,7 @@ RECIPE { RECIPE { type = "recipe", name = "sulfur-lightoil", - category = "desulfurization", + categories = {"desulfurization"}, enabled = false, energy_required = 3, ingredients = { @@ -110,7 +110,7 @@ RECIPE { RECIPE { type = "recipe", name = "sulfur-petgas", - category = "desulfurization", + categories = {"desulfurization"}, enabled = false, energy_required = 3, ingredients = { @@ -118,7 +118,7 @@ RECIPE { }, results = { {type = "fluid", name = "syngas", amount = 90}, - {type = "item", name = "sulfur", amount = 1, probability = 0.5}, + {type = "item", name = "sulfur", amount = 1, independent_probability = 0.5}, {type = "item", name = "ash", amount = 1} }, main_product = "sulfur", @@ -131,7 +131,7 @@ RECIPE { RECIPE { type = "recipe", name = "aromatics-to-lubricant", - category = "desulfurization", + categories = {"desulfurization"}, enabled = false, energy_required = 5, ingredients = { @@ -149,7 +149,7 @@ RECIPE { RECIPE { type = "recipe", name = "explosive-glycerol", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 2.0, ingredients = { @@ -169,7 +169,7 @@ RECIPE { RECIPE { type = "recipe", name = "extract-sulfur", - category = "evaporator", + categories = {"evaporator"}, enabled = false, energy_required = 1, ingredients = { diff --git a/prototypes/recipes/filtration-recipes.lua b/prototypes/recipes/filtration-recipes.lua index 0d507e006..33001ae35 100644 --- a/prototypes/recipes/filtration-recipes.lua +++ b/prototypes/recipes/filtration-recipes.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "lithium-peroxide", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 5, ingredients = { @@ -17,7 +17,7 @@ RECIPE { RECIPE { type = "recipe", name = "nexelit-cartridge", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 4, ingredients = { @@ -32,7 +32,7 @@ RECIPE { RECIPE { type = "recipe", name = "air-pollution", - category = "co2", + categories = {"co2"}, enabled = false, energy_required = 40, ingredients = { @@ -51,7 +51,7 @@ RECIPE { RECIPE { type = "recipe", name = "co2", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 3, ingredients = { @@ -74,7 +74,7 @@ RECIPE { RECIPE { type = "recipe", name = "saturated-nexelit-cartridge-regen", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 3, ingredients = { diff --git a/prototypes/recipes/fts-reactor-recipes.lua b/prototypes/recipes/fts-reactor-recipes.lua index bedbc3f97..57e94f829 100644 --- a/prototypes/recipes/fts-reactor-recipes.lua +++ b/prototypes/recipes/fts-reactor-recipes.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "heavy-oil_from_coal-gas", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 9, ingredients = { @@ -24,7 +24,7 @@ RECIPE { RECIPE { type = "recipe", name = "light-oil_from_syngas", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 9, ingredients = { @@ -47,7 +47,7 @@ RECIPE { RECIPE { type = "recipe", name = "petgas-from-refsyngas", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 9.5, ingredients = { @@ -69,7 +69,7 @@ RECIPE { RECIPE { type = "recipe", name = "ref-to-light-oil", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 10, ingredients = { @@ -91,7 +91,7 @@ RECIPE { RECIPE { type = "recipe", name = "sulfuric-petgas", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 9.5, ingredients = { @@ -116,7 +116,7 @@ RECIPE { RECIPE { type = "recipe", name = "combustion-olefin", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 9.5, ingredients = { @@ -140,7 +140,7 @@ RECIPE { RECIPE { type = "recipe", name = "heavyoil-to-coal-gas", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 9.3, ingredients = { @@ -163,7 +163,7 @@ RECIPE { RECIPE { type = "recipe", name = "lightoil-to-syngas", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 9.3, ingredients = { @@ -186,7 +186,7 @@ RECIPE { RECIPE { type = "recipe", name = "petgas-to-refsyngas", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 9.3, ingredients = { @@ -209,7 +209,7 @@ RECIPE { RECIPE { type = "recipe", name = "glycerol-syngas", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 5, ingredients = { @@ -231,7 +231,7 @@ RECIPE { RECIPE { type = "recipe", name = "coal-briquette", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 10, ingredients = { @@ -251,7 +251,7 @@ RECIPE { RECIPE { type = "recipe", name = "heavy-oleo", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 1, ingredients = { diff --git a/prototypes/recipes/fuel-canister-recipes.lua b/prototypes/recipes/fuel-canister-recipes.lua index ee4baa1d0..b61d6943a 100644 --- a/prototypes/recipes/fuel-canister-recipes.lua +++ b/prototypes/recipes/fuel-canister-recipes.lua @@ -6,7 +6,7 @@ local skipped_fluids = { RECIPE { type = "recipe", name = "empty-jerry-can", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 1, ingredients = { @@ -61,7 +61,6 @@ for f, fluid in pairs(data.raw.fluid) do burnt_result = "empty-fuel-canister", stack_size = 20, autotech_ignore = true, - unlock_results = false } local fuel_amount = 50 @@ -75,7 +74,7 @@ for f, fluid in pairs(data.raw.fluid) do type = "recipe", name = "fill-" .. fluid.name .. "-canister", localised_name = {"recipe-name.fill-can", fluid.localised_name or {"fluid-name." .. fluid.name}}, - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 0.2, ingredients = { @@ -94,7 +93,7 @@ for f, fluid in pairs(data.raw.fluid) do name = "empty-" .. fluid.name .. "-canister", localised_name = {"recipe-name.empty-can", fluid.localised_name or {"fluid-name." .. fluid.name}}, icons = recipe_icon, - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 0.2, ingredients = { diff --git a/prototypes/recipes/ground-borer-recipes.lua b/prototypes/recipes/ground-borer-recipes.lua index 80c90a90a..671600842 100644 --- a/prototypes/recipes/ground-borer-recipes.lua +++ b/prototypes/recipes/ground-borer-recipes.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "mining-nexelit", - category = "ground-borer", + categories = {"ground-borer"}, enabled = false, energy_required = 3, ingredients = { @@ -22,7 +22,7 @@ RECIPE { RECIPE { type = "recipe", name = "mining-stone", - category = "ground-borer", + categories = {"ground-borer"}, enabled = false, energy_required = 3, ingredients = { @@ -43,7 +43,7 @@ RECIPE { RECIPE { type = "recipe", name = "mining-borax", - category = "ground-borer", + categories = {"ground-borer"}, enabled = false, energy_required = 3, ingredients = { @@ -64,7 +64,7 @@ RECIPE { RECIPE { type = "recipe", name = "mining-niobium", - category = "ground-borer", + categories = {"ground-borer"}, enabled = false, energy_required = 3, ingredients = { @@ -85,7 +85,7 @@ RECIPE { RECIPE { type = "recipe", name = "mining-limestone", - category = "ground-borer", + categories = {"ground-borer"}, enabled = false, energy_required = 3, ingredients = { diff --git a/prototypes/recipes/mukmoux-recipes.lua b/prototypes/recipes/mukmoux-recipes.lua index 81a0b2260..b63579b9a 100644 --- a/prototypes/recipes/mukmoux-recipes.lua +++ b/prototypes/recipes/mukmoux-recipes.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "mukmoux-fat", - category = "mukmoux", + categories = {"mukmoux"}, enabled = false, energy_required = 60, ingredients = { @@ -17,7 +17,7 @@ RECIPE { RECIPE { type = "recipe", name = "oleochemicals", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 10, ingredients = { @@ -40,7 +40,7 @@ RECIPE { RECIPE { type = "recipe", name = "dedicated-oleochemicals", - category = "fts-reactor", + categories = {"fts-reactor"}, enabled = false, energy_required = 10, ingredients = { diff --git a/prototypes/recipes/olefin-plant-recipes.lua b/prototypes/recipes/olefin-plant-recipes.lua index a9b81ea25..6a8b550f4 100644 --- a/prototypes/recipes/olefin-plant-recipes.lua +++ b/prototypes/recipes/olefin-plant-recipes.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "aromatics", - category = "olefin", + categories = {"olefin"}, enabled = false, energy_required = 2, ingredients = { @@ -24,7 +24,7 @@ RECIPE { RECIPE { type = "recipe", name = "olefin", - category = "olefin", + categories = {"olefin"}, enabled = false, energy_required = 2, ingredients = { @@ -45,7 +45,7 @@ RECIPE { RECIPE { type = "recipe", name = "olefin-petgas", - category = "fluid-separator", + categories = {"fluid-separator"}, enabled = false, energy_required = 2.8, ingredients = { @@ -67,7 +67,7 @@ RECIPE { RECIPE { type = "recipe", name = "gasoline", - category = "fluid-separator", + categories = {"fluid-separator"}, enabled = false, energy_required = 2.8, ingredients = { @@ -90,7 +90,7 @@ RECIPE { RECIPE { type = "recipe", name = "refolefin", - category = "olefin", + categories = {"olefin"}, enabled = false, energy_required = 3, ingredients = { @@ -110,7 +110,7 @@ RECIPE { RECIPE { type = "recipe", name = "aromaticsolefin", - category = "olefin", + categories = {"olefin"}, enabled = false, energy_required = 3, ingredients = { @@ -129,7 +129,7 @@ RECIPE { RECIPE { type = "recipe", name = "olefin-lube", - category = "olefin", + categories = {"olefin"}, enabled = false, energy_required = 3, ingredients = { diff --git a/prototypes/recipes/recipes.lua b/prototypes/recipes/recipes.lua index cef616e19..a31208b98 100644 --- a/prototypes/recipes/recipes.lua +++ b/prototypes/recipes/recipes.lua @@ -2,7 +2,7 @@ RECIPE { type = "recipe", name = "iron-oxide-smelting", enabled = true, - category = "smelting", + categories = {"smelting"}, energy_required = 3.5, ingredients = {{type = "item", name = "iron-oxide", amount = 20}}, results = { @@ -13,7 +13,7 @@ RECIPE { RECIPE { type = "recipe", name = "soil", - category = "soil-extraction", + categories = {"soil-extraction"}, enabled = true, energy_required = 8, ingredients = { @@ -27,7 +27,7 @@ RECIPE { RECIPE { type = "recipe", name = "fawogae", - category = "fawogae", + categories = {"fawogae"}, enabled = true, --hidden = true, energy_required = 5.0, @@ -42,7 +42,7 @@ RECIPE { RECIPE { type = "recipe", name = "soil-washing", - category = "washer", + categories = {"washer"}, enabled = true, energy_required = 4, ingredients = { @@ -63,7 +63,7 @@ RECIPE { RECIPE { type = "recipe", name = "muddy-sludge", - category = "washer", + categories = {"washer"}, enabled = true, energy_required = 4, ingredients = { @@ -81,7 +81,7 @@ RECIPE { RECIPE { type = "recipe", name = "sand-washing", - category = "washer", + categories = {"washer"}, enabled = false, energy_required = 4, ingredients = { @@ -102,7 +102,7 @@ RECIPE { RECIPE { type = "recipe", name = "fawogae-substrate", - category = "crafting", + categories = {"crafting"}, enabled = true, energy_required = 3.5, ingredients = { @@ -123,7 +123,7 @@ RECIPE { type = "recipe", name = "flask", enabled = true, - category = "glassworks", + categories = {"glassworks"}, energy_required = 3, ingredients = { {type = "fluid", name = "molten-glass", amount = 25, fluidbox_index = 2}, @@ -155,7 +155,7 @@ RECIPE { RECIPE { type = "recipe", name = "cooling-water", - category = "cooling", + categories = {"cooling"}, enabled = false, energy_required = 2, ingredients = { @@ -174,7 +174,7 @@ RECIPE { RECIPE { type = "recipe", name = "cooling-water-2", - category = "cooling", + categories = {"cooling"}, enabled = false, energy_required = 2, ingredients = { @@ -193,7 +193,7 @@ RECIPE { RECIPE { type = "recipe", name = "fluegas-to-syngas", - category = "carbonfilter", + categories = {"carbonfilter"}, enabled = false, energy_required = 7, ingredients = { @@ -231,7 +231,7 @@ RECIPE { RECIPE { type = "recipe", name = "bone-solvent", - category = "carbonfilter", + categories = {"carbonfilter"}, enabled = false, energy_required = 5, ingredients = { @@ -251,7 +251,7 @@ RECIPE { RECIPE { type = "recipe", name = "dirty-acid", - category = "carbonfilter", + categories = {"carbonfilter"}, enabled = false, energy_required = 5, ingredients = { @@ -271,7 +271,7 @@ RECIPE { RECIPE { type = "recipe", name = "olefin-filtration", - category = "carbonfilter", + categories = {"carbonfilter"}, enabled = false, energy_required = 4, ingredients = { @@ -291,7 +291,7 @@ RECIPE { RECIPE { type = "recipe", name = "oleochemicals-crude-oil", - category = "carbonfilter", + categories = {"carbonfilter"}, enabled = false, energy_required = 5.0, ingredients = { @@ -311,7 +311,7 @@ RECIPE { RECIPE { type = "recipe", name = "crushed-iron", - category = "smelting", + categories = {"smelting"}, enabled = false, energy_required = 3.5, ingredients = {{type = "item", name = "crushed-iron", amount = 1}}, @@ -323,7 +323,7 @@ RECIPE { RECIPE { type = "recipe", name = "crushed-copper", - category = "smelting", + categories = {"smelting"}, enabled = false, energy_required = 3.5, ingredients = {{type = "item", name = "crushed-copper", amount = 1}}, @@ -335,7 +335,7 @@ RECIPE { RECIPE { type = "recipe", name = "aromatics-to-rubber", - category = "methanol", + categories = {"methanol"}, enabled = false, energy_required = 1.5, ingredients = { @@ -354,7 +354,7 @@ RECIPE { RECIPE { type = "recipe", name = "aromatics-to-plastic", - category = "oil-processing", + categories = {"oil-processing"}, enabled = false, energy_required = 1.5, ingredients = { @@ -372,7 +372,7 @@ RECIPE { RECIPE { type = "recipe", name = "nas-battery", - category = "advanced-crafting", + categories = {"advanced-crafting"}, enabled = false, energy_required = 5, ingredients = { @@ -389,7 +389,7 @@ RECIPE { RECIPE { type = "recipe", name = "fluegas-filtration", - category = "carbonfilter", + categories = {"carbonfilter"}, enabled = false, energy_required = 1, ingredients = { @@ -407,7 +407,7 @@ RECIPE { RECIPE { type = "recipe", name = "lime", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 5, ingredients = { @@ -424,7 +424,7 @@ RECIPE { RECIPE { type = "recipe", name = "fuelrod-mk01", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 3.5, ingredients = { @@ -440,7 +440,7 @@ RECIPE { RECIPE { type = "recipe", name = "glass-core", - category = "glassworks", + categories = {"glassworks"}, enabled = false, energy_required = 3.5, ingredients = { @@ -457,7 +457,7 @@ RECIPE { RECIPE { type = "recipe", name = "cladding", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 2.0, ingredients = { @@ -473,7 +473,7 @@ RECIPE { RECIPE { type = "recipe", name = "ppd", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 4, ingredients = { @@ -489,7 +489,7 @@ RECIPE { RECIPE { type = "recipe", name = "kevlar", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 6.0, ingredients = { @@ -506,7 +506,7 @@ RECIPE { RECIPE { type = "recipe", name = "kevlar-coating", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 3.0, ingredients = { @@ -522,7 +522,7 @@ RECIPE { RECIPE { type = "recipe", name = "nbfe-alloy", - category = "hpf", --bobs smelting + categories = {"hpf"}, --bobs smelting enabled = false, energy_required = 4.0, ingredients = { @@ -538,7 +538,7 @@ RECIPE { RECIPE { type = "recipe", name = "nbfe-coating", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 3.0, ingredients = { @@ -554,7 +554,7 @@ RECIPE { RECIPE { type = "recipe", name = "cladded-core", - category = "advanced-crafting", + categories = {"advanced-crafting"}, enabled = false, energy_required = 2.0, ingredients = { @@ -570,7 +570,7 @@ RECIPE { RECIPE { type = "recipe", name = "copper-coating", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 3.0, ingredients = { @@ -587,7 +587,7 @@ RECIPE { RECIPE { type = "recipe", name = "optical-fiber", - category = "advanced-crafting", + categories = {"advanced-crafting"}, enabled = false, energy_required = 3.0, ingredients = { @@ -603,7 +603,7 @@ RECIPE { RECIPE { type = "recipe", name = "biofilm", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 3.0, ingredients = { @@ -620,7 +620,7 @@ RECIPE { RECIPE { type = "recipe", name = "filtration-media", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 3.0, ingredients = { @@ -637,7 +637,7 @@ RECIPE { RECIPE { type = "recipe", name = "nexelit-ore-1", - category = "evaporator", + categories = {"evaporator"}, enabled = false, energy_required = 5, ingredients = { @@ -645,7 +645,7 @@ RECIPE { }, results = { {type = "item", name = "nexelit-ore", amount = 1}, - {type = "item", name = "tailings-dust", amount = 1, probability = 0.4} + {type = "item", name = "tailings-dust", amount = 1, independent_probability = 0.4} }, main_product = "nexelit-ore", subgroup = "py-mill", @@ -654,7 +654,7 @@ RECIPE { RECIPE { type = "recipe", name = "sulfuric-acid", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 1, ingredients = { @@ -670,7 +670,7 @@ RECIPE { RECIPE { type = "recipe", name = "powdered-quartz", - category = "ball-mill", + categories = {"ball-mill"}, enabled = false, energy_required = 1, ingredients = { @@ -678,7 +678,7 @@ RECIPE { }, results = { {type = "item", name = "powdered-quartz", amount = 5}, - {type = "item", name = "gravel", amount = 1, probability = 0.5} + {type = "item", name = "gravel", amount = 1, independent_probability = 0.5} }, main_product = "powdered-quartz", subgroup = "py-items", @@ -687,7 +687,7 @@ RECIPE { RECIPE { type = "recipe", name = "small-electric-pole-2", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 2, ingredients = { @@ -703,7 +703,7 @@ RECIPE { RECIPE { type = "recipe", name = "gun-powder", - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, enabled = false, energy_required = 2, ingredients = { @@ -719,7 +719,7 @@ RECIPE { RECIPE { type = "recipe", name = "firearm-magazine", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 5, ingredients = { diff --git a/prototypes/recipes/sand-extractor-recipes.lua b/prototypes/recipes/sand-extractor-recipes.lua index 34f65a047..63abedd03 100644 --- a/prototypes/recipes/sand-extractor-recipes.lua +++ b/prototypes/recipes/sand-extractor-recipes.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "extract-sand", - category = "sand-extractor", + categories = {"sand-extractor"}, enabled = false, energy_required = 5, ingredients = { @@ -20,7 +20,7 @@ RECIPE { RECIPE { type = "recipe", name = "extract-gravel", - category = "sand-extractor", + categories = {"sand-extractor"}, enabled = false, energy_required = 5, ingredients = { @@ -39,7 +39,7 @@ RECIPE { RECIPE { type = "recipe", name = "extract-stone", - category = "sand-extractor", + categories = {"sand-extractor"}, enabled = false, energy_required = 5, ingredients = { @@ -58,7 +58,7 @@ RECIPE { RECIPE { type = "recipe", name = "extract-richdust", - category = "sand-extractor", + categories = {"sand-extractor"}, enabled = false, energy_required = 10, ingredients = { @@ -77,7 +77,7 @@ RECIPE { RECIPE { type = "recipe", name = "extract-coarse", - category = "sand-extractor", + categories = {"sand-extractor"}, enabled = false, energy_required = 7, ingredients = { diff --git a/prototypes/recipes/seperation-recipes.lua b/prototypes/recipes/seperation-recipes.lua index 7d0eb2658..d5f788c31 100644 --- a/prototypes/recipes/seperation-recipes.lua +++ b/prototypes/recipes/seperation-recipes.lua @@ -1,7 +1,7 @@ RECIPE { type = "recipe", name = "sand-classification", - category = "classifier", + categories = {"classifier"}, enabled = false, energy_required = 4, ingredients = { @@ -22,7 +22,7 @@ RECIPE { RECIPE { type = "recipe", name = "coarse-classification", - category = "classifier", + categories = {"classifier"}, enabled = false, energy_required = 1, ingredients = { @@ -43,7 +43,7 @@ RECIPE { RECIPE { type = "recipe", name = "tailings-classification", - category = "classifier", + categories = {"classifier"}, enabled = false, energy_required = 2.5, ingredients = { @@ -64,7 +64,7 @@ RECIPE { RECIPE { type = "recipe", name = "co2-organics", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 2.0, ingredients = { @@ -83,7 +83,7 @@ RECIPE { RECIPE { type = "recipe", name = "soil-separation", - category = "solid-separator", + categories = {"solid-separator"}, enabled = false, energy_required = 3, ingredients = { @@ -105,7 +105,7 @@ RECIPE { RECIPE { type = "recipe", name = "tailings-separation", - category = "solid-separator", + categories = {"solid-separator"}, enabled = false, energy_required = 1, ingredients = { @@ -125,7 +125,7 @@ RECIPE { RECIPE { type = "recipe", name = "creosote-to-aromatics", - category = "tar", + categories = {"tar"}, enabled = false, energy_required = 2, ingredients = { @@ -147,15 +147,15 @@ RECIPE { RECIPE { type = "recipe", name = "ash-separation", - category = "solid-separator", + categories = {"solid-separator"}, enabled = false, energy_required = 1, ingredients = { {type = "item", name = "ash", amount = 10} }, results = { - {type = "item", name = "coal-dust", amount = 1, probability = 0.5}, - {type = "item", name = "iron-oxide", amount = 1, probability = 0.05} + {type = "item", name = "coal-dust", amount = 1, independent_probability = 0.5}, + {type = "item", name = "iron-oxide", amount = 1, independent_probability = 0.05} }, icon = "__pycoalprocessinggraphics__/graphics/icons/ash-separation.png", icon_size = 32, @@ -166,7 +166,7 @@ RECIPE { RECIPE { type = "recipe", name = "organics-from-dirty-water", - category = "evaporator", + categories = {"evaporator"}, enabled = false, energy_required = 4, ingredients = { diff --git a/prototypes/recipes/tailings-recipes.lua b/prototypes/recipes/tailings-recipes.lua index 9e6ba732b..4d480a503 100644 --- a/prototypes/recipes/tailings-recipes.lua +++ b/prototypes/recipes/tailings-recipes.lua @@ -3,7 +3,7 @@ local tailings_copper_iron = type = "recipe", name = "tailings-copper-iron", localised_name = {"recipe-name.tailings-ore-extraction", {"item-name.copper-ore"}, {"item-name.iron-ore"}, {"fluid-name.tar"}}, - category = "quenching-tower", + categories = {"quenching-tower"}, enabled = false, energy_required = 2, ingredients = { @@ -26,10 +26,10 @@ local tailings_copper_iron = local tailings_borax_niobium = tailings_copper_iron:copy("tailings-borax-niobium"):add_unlock("fluid-separation") tailings_borax_niobium.localised_name = {"recipe-name.tailings-ore-extraction", {"item-name.raw-borax"}, {"item-name.niobium-ore"}, {"fluid-name.tar"}} tailings_borax_niobium.icons[#tailings_borax_niobium.icons + 1] = {icon = "__pycoalprocessinggraphics__/graphics/icons/ores/borax-niobium.png", icon_size = 32} -tailings_borax_niobium.results[#tailings_borax_niobium.results + 1] = {type = "item", name = "raw-borax", amount = 1, probability = 0.4} -tailings_borax_niobium.results[#tailings_borax_niobium.results + 1] = {type = "item", name = "niobium-ore", amount = 1, probability = 0.4} +tailings_borax_niobium.results[#tailings_borax_niobium.results + 1] = {type = "item", name = "raw-borax", amount = 1, independent_probability = 0.4} +tailings_borax_niobium.results[#tailings_borax_niobium.results + 1] = {type = "item", name = "niobium-ore", amount = 1, independent_probability = 0.4} --Finally add the results to our original table (this would be so much easier when Recipe:Results is finished) tailings_copper_iron.icons[#tailings_copper_iron.icons + 1] = {icon = "__pycoalprocessinggraphics__/graphics/icons/ores/copper-iron.png", icon_size = 32} -tailings_copper_iron.results[#tailings_copper_iron.results + 1] = {type = "item", name = "copper-ore", amount = 1, probability = 0.4} -tailings_copper_iron.results[#tailings_copper_iron.results + 1] = {type = "item", name = "iron-ore", amount = 1, probability = 0.4} +tailings_copper_iron.results[#tailings_copper_iron.results + 1] = {type = "item", name = "copper-ore", amount = 1, independent_probability = 0.4} +tailings_copper_iron.results[#tailings_copper_iron.results + 1] = {type = "item", name = "iron-ore", amount = 1, independent_probability = 0.4} diff --git a/prototypes/sprites/sprites.lua b/prototypes/sprites/sprites.lua index 28fbf0d7f..9e02f7da7 100644 --- a/prototypes/sprites/sprites.lua +++ b/prototypes/sprites/sprites.lua @@ -115,7 +115,6 @@ data:extend { priority = "medium", width = 64, height = 64, - mipmap_count = 3, scale = 0.5, flags = {"gui-icon"} }, @@ -126,7 +125,6 @@ data:extend { priority = "medium", width = 64, height = 64, - mipmap_count = 3, scale = 0.5, flags = {"gui-icon"} }, @@ -137,7 +135,6 @@ data:extend { priority = "medium", width = 64, height = 64, - mipmap_count = 3, scale = 0.5, flags = {"gui-icon"} }, @@ -148,7 +145,6 @@ data:extend { priority = "medium", width = 64, height = 64, - mipmap_count = 3, scale = 0.5, flags = {"gui-icon"} }, diff --git a/prototypes/updates/base-updates.lua b/prototypes/updates/base-updates.lua index e945f0292..f9895af74 100644 --- a/prototypes/updates/base-updates.lua +++ b/prototypes/updates/base-updates.lua @@ -194,7 +194,7 @@ RECIPE("cannon-shell"):remove_ingredient("explosives"):add_ingredient {type = "i RECIPE { type = "recipe", name = "explosive-cannon-shell", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 8, ingredients = { @@ -284,7 +284,7 @@ data.raw.pump.pump.pumping_speed = data.raw.pump.pump.pumping_speed * 10 table.insert(data.raw["technology"]["steam-power"].effects, table.remove(data.raw.technology["circuit-network"].effects, 1)) -data.raw.recipe["engine-unit"].category = "crafting" +RECIPE("engine-unit"):replace_category("advanced-crafting", "crafting") RECIPE("selector-combinator"):remove_ingredient("advanced-circuit"):add_ingredient {type = "item", name = "electronic-circuit", amount = 5} TECHNOLOGY("advanced-combinators").unit.ingredients = mods.pyalienlife and { diff --git a/prototypes/updates/entity-updates.lua b/prototypes/updates/entity-updates.lua index ae28194ec..3965cd78a 100644 --- a/prototypes/updates/entity-updates.lua +++ b/prototypes/updates/entity-updates.lua @@ -106,7 +106,7 @@ data.raw.furnace["steel-furnace"].energy_source.fuel_categories = {"chemical", " RECIPE("steel-furnace"):replace_ingredient("stone-brick", "refined-concrete") -data.raw.inserter["burner-inserter"].energy_source.type = "void" +data.raw.inserter["burner-inserter"].energy_source = {type = "void"} data.raw.inserter["burner-inserter"].next_upgrade = "inserter" --data.raw.inserter['burner-inserter'].energy_source.fuel_category = nil --data.raw.inserter['burner-inserter'].energy_source.fuel_categories = {'chemical', 'biomass'} diff --git a/prototypes/updates/pyindustry-updates.lua b/prototypes/updates/pyindustry-updates.lua index feca2568b..eee1ce49b 100644 --- a/prototypes/updates/pyindustry-updates.lua +++ b/prototypes/updates/pyindustry-updates.lua @@ -19,7 +19,7 @@ RECIPE { {type = "item", name = "py-iron-oxide", amount = 45}, {type = "item", name = "iron-chest", amount = 1}, }, - category = "crafting-with-fluid", + categories = {"crafting-with-fluid"}, results = { {type = "item", name = "py-logo-15tiles", amount = 1} } diff --git a/scripts/beacons.lua b/scripts/beacons.lua index f63991481..1035ceeb9 100644 --- a/scripts/beacons.lua +++ b/scripts/beacons.lua @@ -51,12 +51,12 @@ remote.add_interface("py_beacons", { ---Adds the entity to the blacklist of buildings ignored by beacon overloading. Blacklist checking ignores '-mk0x' ---@param entity data.EntityID add_to_blacklist = function (entity) - storage.farms[entity] = true + blacklist[entity] = true end, ---Removes the entity from the blacklist of buildings ignored by beacon overloading. Blacklist checking ignores '-mk0x' ---@param entity data.EntityID remove_from_blacklist = function (entity) - storage.farms[entity] = nil + blacklist[entity] = nil end }) @@ -70,13 +70,12 @@ end py.on_event(py.events.on_init(), function() storage.beacon_interference_icons = storage.beacon_interference_icons or {} - storage.farms = storage.farms or blacklist end) local function enable_entity(entity) local name = entity.name:gsub("%-mk..+", "") - if storage.farms[name] ~= nil then return end - entity.active = true + if blacklist[name] ~= nil then return end + entity.disabled_by_script = false local unit_number = entity.unit_number local rendering_id = storage.beacon_interference_icons[unit_number] if not rendering_id then return end @@ -91,8 +90,8 @@ end local function disable_entity(entity) local name = entity.name:gsub("%-mk..+", "") - if storage.farms[name] ~= nil then return end - entity.active = false + if blacklist[name] ~= nil then return end + entity.disabled_by_script = true entity.custom_status = { diode = defines.entity_status_diode.red, label = {"entity-status.beacon-interference"} @@ -169,22 +168,24 @@ local function change_frequency(entity, new_beacon_name, player_index) receivers[receiver.unit_number] = receiver end local player = player_index and game.get_player(player_index) - local index, action = py.find_latest_undo_action(player_index, entity, "built-entity") + -- local index, action = py.find_latest_undo_action(player_index, entity, "built-entity") -- Replace entity local new_entity = entity.surface.create_entity { name = new_beacon_name, position = entity.position, quality = entity.quality, force = entity.force_index, - player = index and player, - undo_index = index, + -- player = index and player, + -- undo_index = index, + fast_replace = true, + spill = false, create_build_effect_smoke = false } - entity.destroy() - if action then - -- needs to be done after the construction, ref https://forums.factorio.com/viewtopic.php?t=132714 - player.undo_redo_stack.remove_undo_action(index, action) -- remove old action from queue - end + -- entity.destroy() + -- if action then + -- -- needs to be done after the construction, ref https://forums.factorio.com/viewtopic.php?t=132714 + -- player.undo_redo_stack.remove_undo_action(index, action) -- remove old action from queue + -- end -- Get new effect receivers for _, receiver in pairs(new_entity.get_beacon_effect_receivers()) do receivers[receiver.unit_number] = receiver @@ -192,7 +193,8 @@ local function change_frequency(entity, new_beacon_name, player_index) -- Check all receivers local alert for _, receiver in pairs(receivers) do - alert = alert or beacon_check(receiver) + local result = beacon_check(receiver) + alert = alert or result end if player and alert then player.play_sound{path="utility/alert_destroyed"} @@ -221,14 +223,15 @@ Beacons.events.on_built = function(event) if not entity.valid then return end local alert if entity.type == "beacon" then - if not our_beacons[entity.name] then return end + if not our_beacons[entity.name] then return end -- If the ghost doesn't match the placed entity, then fix it if ghost_name and entity.name ~= ghost_name then change_frequency(entity, ghost_name, event.player_index) return -- recievers already updated and player notified of issues end - for _, reciver in pairs(entity.get_beacon_effect_receivers()) do - alert = alert or beacon_check(reciver) + for _, receiver in pairs(entity.get_beacon_effect_receivers()) do + local result = beacon_check(receiver) + alert = alert or result end else alert = beacon_check(entity) diff --git a/scripts/factory-planner.lua b/scripts/factory-planner.lua new file mode 100644 index 000000000..65bc324b6 --- /dev/null +++ b/scripts/factory-planner.lua @@ -0,0 +1,16 @@ +-- factory planner integration + +remote.add_interface("fp-integration-pycoalprocessing", { + compacting_recipes = (function() + local compacting_recipes = {} + for _, proto in pairs(prototypes.recipe) do + for _, pattern in pairs({"^fill%-.*%-canister$", "^empty%-.*%-canister$"}) do + if string.match(proto.name, pattern) then + compacting_recipes[#compacting_recipes+1] = proto.name + break + end + end + end + return {version = 1, recipes = compacting_recipes} + end) +}) \ No newline at end of file diff --git a/scripts/generator-equipment-autofill.lua b/scripts/generator-equipment-autofill.lua index 787ac6012..b5f91f074 100644 --- a/scripts/generator-equipment-autofill.lua +++ b/scripts/generator-equipment-autofill.lua @@ -1,124 +1,33 @@ -local SHORTCUT = "py-toggle-equipment-fuel-manager" +if not settings.startup["py-generator-equipment-manager"].value then return end -local function restock_generator_equipment(player) +---@param player LuaPlayer +local function empty_generator_equipment(player) if not player.character then return end - if not player.is_shortcut_toggled(SHORTCUT) then return end local grid = player.character.grid if not grid then return end local inventory = player.get_main_inventory() if not inventory then return end - local burners = {} - local burner_count = 0 for _, equipment in pairs(grid.equipment) do - -- This code scoped under a "do-end" so that the goto continue statement can jump to a location where there are no localy scoped variables defined (Lua limitation) - do - if equipment.type ~= "generator-equipment" then goto continue end - if equipment.prototype.hidden then goto continue end - local burner = equipment.burner - if not burner then goto continue end - local burner_inventory, burnt_result_inventory = burner.inventory, burner.burnt_result_inventory - if not burner_inventory then goto continue end - - if burnt_result_inventory then - for i = 1, #burnt_result_inventory do - local stack = burnt_result_inventory[i] - if stack.valid_for_read then - stack.count = stack.count - inventory.insert(stack) - end - end - end - - if not burner_inventory.is_full() then - -- Save for adding fuel - burner_count = burner_count + 1 - burners[burner_count] = { - equipment = equipment, - burner_inventory = burner_inventory, - fuel_categories = burner.fuel_categories, - } + if equipment.type ~= "generator-equipment" or equipment.prototype.hidden then goto continue end + local burner = equipment.burner + local burnt_result_inventory = burner and burner.burnt_result_inventory + if not burnt_result_inventory then goto continue end + + for i = 1, #burnt_result_inventory do + local stack = burnt_result_inventory[i] + if stack.valid_for_read then + stack.count = stack.count - inventory.insert(stack) end end ::continue:: end - - -- add fuel if not full - if burner_count > 0 then - local burner_index_offset = 0 - for _, item_stack in pairs(inventory.get_contents()) do - ::again:: - local inserted_some = false - for i = 1, burner_count do - local index = ((i + burner_index_offset - 1) % (burner_count)) + 1 - local burner_data = burners[index] - if burner_data.fuel_categories[prototypes.item[item_stack.name].fuel_category] then - local item_stack_size = prototypes.item[item_stack.name].stack_size - local inserted_count = burner_data.burner_inventory.insert{ - name = item_stack.name, - quality = item_stack.quality, - count = math.min(item_stack.count, item_stack_size) - } - if inserted_count ~= 0 then -- if items were inserted then remove them from the player's inventory - inventory.remove{ - name = item_stack.name, - quality = item_stack.quality, - count = inserted_count - } - -- Manually adjust item stack for iteration - item_stack.count = item_stack.count - inserted_count - inserted_some = true - end - -- if now full, remove the burner data from the list by swapping with last item - if burner_data.burner_inventory.is_full() then - burners[index] = burners[burner_count] - burners[burner_count] = nil - burner_count = burner_count - 1 - end - -- if all burners are full, end inventory iteration early - if burner_count == 0 then break end - -- If none left in the stack, move onto next inventory item, otherwise try the next burner - if item_stack.count == 0 then - --Update the index offset so the next burner is checked first when we loop again with the next inventory item - burner_index_offset = index - break - end - end - end - - -- if all burners are full, end inventory iteration early - if burner_count == 0 then break end - - -- We inserted soe of the items, but there's more we could insert. Try again - if inserted_some and item_stack.count ~= 0 then goto again end - end - end - - -- Check remaining unfilled burners to see if any are empty - for _, burner_data in pairs(burners) do - if burner_data.burner_inventory.is_empty() then - -- https://github.com/pyanodon/pybugreports/issues/877 - pcall( - player.add_custom_alert, - player.character, - {type = "virtual", name = "no-fuel"}, - {"alerts.equipment-out-of-fuel", burner_data.equipment.prototype.take_result.name, burner_data.equipment.prototype.localised_name}, - false - ) - end - end end py.register_on_nth_tick(251, "generator-equipment-autofill", "pycp", function() if not script.active_mods["pyindustry"] then return end for _, player in pairs(game.connected_players) do - restock_generator_equipment(player) + empty_generator_equipment(player) end -end) - -py.on_event(defines.events.on_lua_shortcut, function(event) - if event.prototype_name ~= SHORTCUT then return end - local player = game.get_player(event.player_index) - - player.set_shortcut_toggled(SHORTCUT, not player.is_shortcut_toggled(SHORTCUT)) -end) +end) \ No newline at end of file diff --git a/scripts/programmable-inserter.lua b/scripts/programmable-inserter.lua new file mode 100644 index 000000000..b36c7e3fa --- /dev/null +++ b/scripts/programmable-inserter.lua @@ -0,0 +1,536 @@ +-- save a list of all valid targets, valid inventories for that target, and associated locale key for that inventory +local proxy_targets = { + ["furnace"] = { + input = defines.inventory.crafter_input, + output = defines.inventory.crafter_output, + fuel = defines.inventory.fuel, + burnt_result = defines.inventory.burnt_result, + modules = defines.inventory.crafter_modules, + trash = defines.inventory.crafter_trash, + }, + ["assembling-machine"] = { + input = defines.inventory.crafter_input, + output = defines.inventory.crafter_output, + fuel = defines.inventory.fuel, + burnt_result = defines.inventory.burnt_result, + modules = defines.inventory.crafter_modules, + trash = defines.inventory.crafter_trash, + dump = defines.inventory.assembling_machine_dump, + }, + ["rocket-silo"] = { + input = defines.inventory.crafter_input, + output = defines.inventory.crafter_output, + fuel = defines.inventory.fuel, + burnt_result = defines.inventory.burnt_result, + modules = defines.inventory.crafter_modules, + trash = defines.inventory.rocket_silo_trash, + cargo = defines.inventory.rocket_silo_rocket, + }, + ["agricultural-tower"] = { + input = defines.inventory.agricultural_tower_input, + output = defines.inventory.agricultural_tower_output, + modules = defines.inventory.agricultural_tower_modules, + }, + ["lab"] = { + input = defines.inventory.lab_input, + trash = defines.inventory.lab_trash, + fuel = defines.inventory.fuel, + burnt_result = defines.inventory.burnt_result, + modules = defines.inventory.lab_modules, + }, + ["mining-drill"] = { + fuel = defines.inventory.fuel, + burnt_result = defines.inventory.burnt_result, + modules = defines.inventory.mining_drill_modules, + }, + ["car"] = { + cargo = defines.inventory.car_trunk, + fuel = defines.inventory.fuel + }, + ["default"] = { + input = defines.inventory.crafter_input, + output = defines.inventory.crafter_output, + fuel = defines.inventory.fuel, + burnt_result = defines.inventory.burnt_result, + modules = defines.inventory.crafter_modules, + trash = defines.inventory.crafter_trash, + dump = defines.inventory.assembling_machine_dump, + cargo = defines.inventory.car_trunk + } +} + +local selection_indices ={ + input = { + default = 1, + input = 2, + fuel = 3, + modules = 4 + }, + output = { + default = 1, + output = 2, + burnt_result = 3, + modules = 4, + trash = 5, + dump = 6 + } +} + +local function valid(metadata_index) + local metadata = storage.programmable_inserters[metadata_index] + -- if not valid, then remove entities (will most always be inserters being invalid) + if not metadata then return true end + if not metadata.inserter.valid or (metadata.pickup_target and not metadata.pickup_target.valid) or (metadata.drop_target and not metadata.drop_target.valid) then + if metadata.inserter.valid then metadata.inserter.destroy() end + if metadata.pickup_target and metadata.pickup_target.valid then metadata.pickup_target.destroy() end + if metadata.drop_target and metadata.drop_target.valid then metadata.drop_target.destroy() end + storage.programmable_inserters[metadata_index] = nil + game.print("detected invalid programmable inserter data!") + return false + end + return true +end + +py.on_event(py.events.on_init(), function (event) + storage.programmable_inserters = storage.programmable_inserters or {} + for index in pairs(storage.programmable_inserters) do + valid(index) + end +end) + +local function update_targets(inserter) + if not inserter or not storage.programmable_inserters[inserter.unit_number] or not valid(inserter.unit_number) then return end + local metadata = storage.programmable_inserters[inserter.unit_number] + for index, entity in pairs{ + drop_target = metadata.drop_target, + pickup_target = metadata.pickup_target, + } do + -- move proxy to new target position + entity.teleport(inserter[index:sub(1, -7) .. "position"]) + + for _, target in pairs(entity.surface.find_entities_filtered{ + position = entity.position, + type = { + "furnace", + "assembling-machine", + "lab", + "mining-drill", + "car", + "agricultural-tower", + "rocket-silo" + } + }) do + -- make sure we dont select things that we aren't supposed to see, only target things we need + if (target.type ~= "car" or target.name == "space-pod") and not target.prototype.hidden and proxy_targets[target.type][metadata[index .. "_inventory"]] then + -- set new target and proper inventory target index + entity.proxy_target_entity = target + entity.proxy_target_inventory = proxy_targets[target.type][metadata[index .. "_inventory"]] + target.teleport(0) -- set it on top so its the default target + break + end + end + end +end + +local function update_gui(entity, player_index) + if not entity or (entity.type == "entity-ghost" and entity.ghost_type or entity.type) ~= "inserter" then return end + if not valid(entity.unit_number) then return end + local player = game.get_player(player_index) + + local tags = (entity.tags or {})["py-dynamic-inserter"] + + local metadata = storage.programmable_inserters[entity.unit_number] or {} + local drop_target = metadata.drop_target and metadata.drop_target.proxy_target_entity or entity.drop_target + local pickup_target = metadata.pickup_target and metadata.pickup_target.proxy_target_entity or entity.pickup_target + + local relative = player.gui.relative + + if not relative["programmable-inserter-gui"] then + -- recreate main gui + local window = player.gui.relative.add{ + type = "frame", + name = "programmable-inserter-gui", + style = "invisible_frame", + anchor = { + gui = defines.relative_gui_type.inserter_gui, + position = defines.relative_gui_position.right + } + } + + -- add 'settings' button + local mini_window = window.add{ + type = "frame", + name = "mini-frame" + } + mini_window.style.top_padding = 5 + mini_window.style.bottom_padding = 5 + mini_window.style.left_padding = 5 + mini_window.style.right_padding = 5 + mini_window.add{ + type = "sprite-button", + name = "show-inserter-settings", + style = "close_button", + sprite = "utility/tip_icon", + tooltip = {"tooltip.show-inserter-settings"} + } + + -- add main settings window + local main_frame = window.add{ + type = "frame", + name = "main-frame", + direction = "vertical" + } + main_frame.visible = false + main_frame.add{ + type = "flow", + name = "titlebar", + direction = "horizontal" + }.add{ + type = "label", + style = "frame_title", + caption = {"tooltip.inserter-settings-title"} + } + local header = main_frame.titlebar.add{ + type = "empty-widget", + style = "draggable_space_header" + } + header.style.horizontally_stretchable = true + header.style.natural_height = 24 + header.style.height = 24 + header.style.right_margin = 5 + main_frame.titlebar.add{ + type = "sprite-button", + name = "hide-inserter-settings", + style = "close_button", + sprite = "utility/close", + } + + main_frame = main_frame.add{ + type = "frame", + name = "sub-frame", + style = "inside_shallow_frame_with_padding_and_vertical_spacing", + direction = "vertical" + } + + -- update checkboxes + local drop_target_type = drop_target and (drop_target.type ~= "entity-ghost" and drop_target.type or drop_target.ghost_type) + main_frame.add{ + type = "drop-down", + name = "drop_target", + items = { + {"", {"inventory-target.default"}}, + {drop_target_type and (proxy_targets[drop_target_type] or {}).cargo and "" or "tooltip.unavailable-insert-target", {"inventory-target.cargo"}}, + {drop_target_type and (proxy_targets[drop_target_type] or {}).input and "" or "tooltip.unavailable-insert-target", {"inventory-target.input"}}, + {drop_target_type and (proxy_targets[drop_target_type] or {}).fuel and "" or "tooltip.unavailable-insert-target", {"inventory-target.fuel"}}, + {drop_target_type and (proxy_targets[drop_target_type] or {}).modules and "" or "tooltip.unavailable-insert-target", {"inventory-target.modules"}}, + }, + tooltip = {"tooltip.inserter-drop-target-tooltip"}, + selected_index = selection_indices.input[(tags or metadata).drop_target_inventory] or 1 + } + local pickup_target_type = pickup_target and (pickup_target.type ~= "entity-ghost" and pickup_target.type or pickup_target.ghost_type) + main_frame.add{ + type = "drop-down", + name = "pickup_target", + items = { + {"", {"inventory-target.default"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).cargo and "" or "tooltip.unavailable-insert-target", {"inventory-target.cargo"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).output and "" or "tooltip.unavailable-insert-target", {"inventory-target.output"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).burnt_result and "" or "tooltip.unavailable-insert-target", {"inventory-target.burnt_result"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).modules and "" or "tooltip.unavailable-insert-target", {"inventory-target.modules"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).trash and "" or "tooltip.unavailable-insert-target", {"inventory-target.trash"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).dump and "" or "tooltip.unavailable-insert-target", {"inventory-target.dump"}} + }, + tooltip = {"tooltip.inserter-pickup-target-tooltip"}, + selected_index = selection_indices.output[(tags or metadata).pickup_target_inventory] or 1 + } + else + relative["programmable-inserter-gui"].visible = true + local sub_frame = relative["programmable-inserter-gui"]["main-frame"]["sub-frame"] + + -- update checkboxes + local drop_target_type = drop_target and (drop_target.type ~= "entity-ghost" and drop_target.type or drop_target.ghost_type) + sub_frame.drop_target.items = { + {"", {"inventory-target.default"}}, + {drop_target_type and (proxy_targets[drop_target_type] or {}).cargo and "" or "tooltip.unavailable-insert-target", {"inventory-target.cargo"}}, + {drop_target_type and (proxy_targets[drop_target_type] or {}).input and "" or "tooltip.unavailable-insert-target", {"inventory-target.input"}}, + {drop_target_type and (proxy_targets[drop_target_type] or {}).fuel and "" or "tooltip.unavailable-insert-target", {"inventory-target.fuel"}}, + {drop_target_type and (proxy_targets[drop_target_type] or {}).modules and "" or "tooltip.unavailable-insert-target", {"inventory-target.modules"}}, + } + sub_frame.drop_target.selected_index = selection_indices.input[(tags or metadata).drop_target_inventory] or 1 + local pickup_target_type = pickup_target and (pickup_target.type ~= "entity-ghost" and pickup_target.type or pickup_target.ghost_type) + sub_frame.pickup_target.items = { + {"", {"inventory-target.default"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).cargo and "" or "tooltip.unavailable-insert-target", {"inventory-target.cargo"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).output and "" or "tooltip.unavailable-insert-target", {"inventory-target.output"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).burnt_result and "" or "tooltip.unavailable-insert-target", {"inventory-target.burnt_result"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).modules and "" or "tooltip.unavailable-insert-target", {"inventory-target.modules"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).trash and "" or "tooltip.unavailable-insert-target", {"inventory-target.trash"}}, + {pickup_target_type and (proxy_targets[pickup_target_type] or {}).dump and "" or "tooltip.unavailable-insert-target", {"inventory-target.dump"}} + } + sub_frame.pickup_target.selected_index = selection_indices.output[(tags or metadata).pickup_target_inventory] or 1 + end +end + +-- TODO fix upgrade events breaking it + +py.on_event(py.events.on_gui_opened(), function (event) + if game.get_player(event.player_index).opened_gui_type ~= defines.gui_type.entity then return end + update_gui(event.entity, event.player_index) +end) + +py.on_event(defines.events.on_gui_closed, function (event) + if game.get_player(event.player_index).gui.relative["programmable-inserter-gui"] and game.get_player(event.player_index).gui.relative["programmable-inserter-gui"].visible then + game.get_player(event.player_index).gui.relative["programmable-inserter-gui"].visible = false + end +end) + +py.on_event(defines.events.on_gui_selection_state_changed, function (event) + local element = event.element + if not element or element.get_mod() ~= "pycoalprocessing" or element.type ~= "drop-down" then return end + + local player = game.get_player(event.player_index) + local inserter = player.opened + if not inserter then return end + + local selection = element.items[element.selected_index][2][1]:sub(18) + + if inserter.type == "entity-ghost" then + local tags = inserter.tags or {} + tags["py-dynamic-inserter"] = tags["py-dynamic-inserter"] or {} + tags["py-dynamic-inserter"][element.name .. "_inventory"] = element.selected_index ~= 1 and selection or nil + if not tags["py-dynamic-inserter"].drop_target_inventory and not tags["py-dynamic-inserter"].pickup_target_inventory then tags["py-dynamic-inserter"] = nil end + inserter.tags = tags + else + local metadata = storage.programmable_inserters[inserter.unit_number] or { inserter = inserter } + -- "default" logic + if element.selected_index == 1 then + -- delete proxy container and remove it's reference + metadata[element.name].destroy() + metadata[element.name] = nil + metadata[element.name .. "_inventory"] = nil + -- set target entity + inserter[element.name] = nil + -- remove from storage if neither exists + if not metadata.drop_target and not metadata.pickup_target then + storage.programmable_inserters[inserter.unit_number] = nil + end + else + -- save the target inventory + metadata[element.name .. "_inventory"] = selection + -- create proxy container if required + metadata[element.name] = metadata[element.name] or inserter.surface.create_entity{ + name = "py-dynamic-inserter-target", + force = inserter.force, + position = inserter[element.name:sub(1, -7) .. "position"] + } + -- set target entity + inserter[element.name] = metadata[element.name] + + storage.programmable_inserters[inserter.unit_number] = metadata + update_targets(inserter) + end + end + + update_gui(inserter, event.player_index) +end) + +py.on_event(py.events.on_gui_click(), function (event) + local button = event.element + if not button or not button.valid then return end + if button.get_mod() ~= "pycoalprocessing" then return end + + if button.name == "show-inserter-settings" then + local base = button.parent.parent + button.parent.visible = false + base["main-frame"].visible = true + elseif button.name == "hide-inserter-settings" then + local base = button.parent.parent.parent + button.parent.parent.visible = false + base["mini-frame"].visible = true + end +end) + +local search_range = script.active_mods.bobinserters and 4 or script.active_mods["quick-adjustable-inserters"] and 3 or 2 + +py.on_event(py.events.on_built(), function (event) + if event.entity.type == "inserter" and event.tags and event.tags["py-dynamic-inserter"] then + -- create relevant entities + local metadata = event.tags["py-dynamic-inserter"] + metadata.inserter = event.entity + for index in pairs(metadata) do + if index:sub(-9) == "inventory" then + metadata[index:sub(1,-11)] = event.entity.surface.create_entity{ + name = "py-dynamic-inserter-target", + force = event.entity.force, + position = event.entity[index:sub(1,-17) .. "position"] + } + end + end + -- save data to storage + storage.programmable_inserters[event.entity.unit_number] = metadata + update_targets(event.entity) + elseif (event.entity.type ~= "car" or event.entity.name == "space-pod") and proxy_targets[event.entity.type] then + -- connect proxies to newly created entity + local target = event.entity + for _, inserter in pairs(target.surface.find_entities_filtered{ + area = { + { + target.bounding_box.left_top.x - search_range, + target.bounding_box.left_top.y - search_range + }, + { + target.bounding_box.right_bottom.x + search_range, + target.bounding_box.right_bottom.y + search_range + } + }, + type = "inserter" + }) do + update_targets(inserter) + end + end +end) + +py.on_event(py.events.on_destroyed(), function (event) + if event.entity.type ~= "inserter" then return end + + for _, entity in pairs(storage.programmable_inserters[event.entity.unit_number] or {}) do + if entity.type == "proxy-container" and entity.valid then entity.destroy() end + end + storage[event.entity.unit_number] = nil +end) + +py.on_event(defines.events.on_player_rotated_entity, function (event) + update_targets(event.entity) +end) + +py.on_event(defines.events.on_entity_settings_pasted, function (event) + local source = event.source + local destination = event.destination + local data -- store the data in an ambiguous table, save as tags or in storage depending on the destination + -- both things must be inserters + if (source.type == "entity-ghost" and source.ghost_type or source.type) ~= "inserter" or (destination.type == "entity-ghost" and destination.ghost_type or destination.type) ~= "inserter" then return end + + local metadata = storage.programmable_inserters[destination.unit_number] + if source.type == "entity-ghost" then + data = (source.tags or {})["py-dynamic-inserter"] or {} + elseif storage.programmable_inserters[source.unit_number] then + data = { + drop_target_inventory = storage.programmable_inserters[source.unit_number].drop_target_inventory, + pickup_target_inventory = storage.programmable_inserters[source.unit_number].pickup_target_inventory + } + end + + if destination.type == "entity-ghost" then + local tags = (destination.tags or {}) or {} + tags["py-dynamic-inserter"] = data + destination.tags = tags + else + if not data and storage.programmable_inserters[destination.unit_number] then + -- remove old references + if metadata.drop_target then metadata.drop_target.destroy() end + if metadata.pickup_target then metadata.pickup_target.destroy() end + storage.programmable_inserters[destination.unit_number] = nil + elseif data and storage.programmable_inserters[destination.unit_number] then + -- just update things + local metadata = storage.programmable_inserters[destination.unit_number] + metadata.drop_target_inventory = data.drop_target_inventory + if not metadata.drop_target and metadata.drop_target_inventory then + metadata.drop_target = destination.surface.create_entity{ + name = "py-dynamic-inserter-target", + force = destination.force, + position = destination.drop_position + } + destination.drop_target = metadata.drop_target + elseif metadata.drop_target and not metadata.drop_target_inventory then + metadata.drop_target.destroy() + metadata.drop_target = nil + end + metadata.pickup_target_inventory = data.pickup_target_inventory + if not metadata.pickup_target and metadata.pickup_target_inventory then + metadata.pickup_target = destination.surface.create_entity{ + name = "py-dynamic-inserter-target", + force = destination.force, + position = destination.pickup_position + } + destination.pickup_target = metadata.pickup_target + elseif metadata.pickup_target and not metadata.pickup_target_inventory then + metadata.pickup_target.destroy() + metadata.pickup_target = nil + end + update_targets(destination) + elseif data then + -- add all the things + storage.programmable_inserters[destination.unit_number] = { + inserter = destination, + drop_target = data.drop_target_inventory and destination.surface.create_entity{ + name = "py-dynamic-inserter-target", + force = destination.force, + position = destination.drop_position + } or nil, + drop_target_inventory = data.drop_target_inventory, + pickup_target = data.pickup_target_inventory and destination.surface.create_entity{ + name = "py-dynamic-inserter-target", + force = destination.force, + position = destination.pickup_position + } or nil, + pickup_target_inventory = data.pickup_target_inventory + } + destination.drop_target = storage.programmable_inserters[destination.unit_number].drop_target + destination.pickup_target = storage.programmable_inserters[destination.unit_number].pickup_target + update_targets(destination) + end + end + +end) + +py.on_event(defines.events.on_player_setup_blueprint, function (event) + local blueprint = game.get_player(event.player_index).blueprint_to_setup + -- if normally invalid + if not blueprint or not blueprint.valid_for_read then blueprint = game.get_player(event.player_index).cursor_stack end + -- if non existant, cancel + if not blueprint then return end + local entities = blueprint.get_blueprint_entities() + if not entities then return end + -- update entities + local mapping -- we might need it, might not + for index, entity in pairs(entities) do + -- add tags and remove proxy inventories as necessary + if prototypes.entity[entity.name].type == "inserter" then + mapping = mapping or event.mapping.get() + local tags = entity.tags or {} + if mapping[index].type == "entity-ghost" then + tags["py-dynamic-inserter"] = (mapping[index].tags or {})["py-dynamic-inserter"] + elseif storage.programmable_inserters[mapping[index].unit_number] then + -- we only need to add data if data is in storage + tags["py-dynamic-inserter"] = { + drop_target_inventory = storage.programmable_inserters[mapping[index].unit_number].drop_target_inventory, + pickup_target_inventory = storage.programmable_inserters[mapping[index].unit_number].pickup_target_inventory + } + end + entity.tags = tags + end + end + blueprint.set_blueprint_entities(entities) +end) + +if script.active_mods["quick-adjustable-inserters"] then + if defines.events.on_qai_inserter_vectors_changed then + ---@param event EventData.on_qai_inserter_vectors_changed + script.on_event(defines.events.on_qai_inserter_vectors_changed, function(event) + update_targets(event.inserter) + end) + end + + if defines.events.on_qai_inserter_adjustment_finished then + ---@param event EventData.on_qai_inserter_adjustment_finished + script.on_event(defines.events.on_qai_inserter_adjustment_finished, function(event) + update_targets(event.inserter) + end) + end +end + +if script.active_mods["bobinserters"] and defines.events.on_bobs_inserter_adjusted then + script.on_event(defines.events.on_bobs_inserter_adjusted, function (event) + update_targets(event.entity) + end) +end \ No newline at end of file diff --git a/scripts/tailings-pond.lua b/scripts/tailings-pond.lua index 135dbedce..b7258005a 100644 --- a/scripts/tailings-pond.lua +++ b/scripts/tailings-pond.lua @@ -1,6 +1,13 @@ Pond = {} Pond.events = {} +---@class TailingsPond +---@field entity LuaEntity +---@field fluid_per double +---@field fill_level double +---@field sprite uint +---@field lifetime_pollution_tiles_created uint + -- 500 fluids units are required to fill a tile local fluids_per_tile = 500 @@ -35,6 +42,10 @@ end) --Pond contains gases, lets spill them out. Only negative is this can be used as a 'gas' void so... --If the gas is 'polluting' create pollution, else just vent. +---@param fluid Fluid +---@param surface LuaSurface +---@param position MapPosition +---@return Fluid? local function empty_pond_gas(fluid, surface, position) if fluid then if @@ -55,6 +66,7 @@ local function empty_pond_gas(fluid, surface, position) end --Sets animation frame based on tank filled percentage +---@param pond TailingsPond local function set_fluid_level_image(pond) local fluid_per = pond.fluid_per --adjust percentage to match frames 30 frames, 1 is empty, 30 is full. @@ -73,8 +85,8 @@ local function set_fluid_level_image(pond) if pond_sprite then pond_sprite.destroy() end end local color - if pond.entity.fluidbox[1] then - color = prototypes.fluid[pond.entity.fluidbox[1].name].base_color + if pond.entity.get_fluid(1) then + color = prototypes.fluid[pond.entity.get_fluid(1).name].base_color end pond.sprite = rendering.draw_sprite { sprite = "tailings-pond-sprite-" .. fill_level, @@ -98,23 +110,23 @@ local function spiral(n) end --As the tailings pond get full they leak out and start polluting the ground around them +---@param pond TailingsPond local function scorch_earth(pond) local entity = pond.entity - local fluidbox = entity.fluidbox - local fluid = fluidbox[1] + local fluid = entity.get_fluid(1) if fluid and fluid.name == "neutron" then return end local surface = entity.surface --Vent Gasses - local fluid = empty_pond_gas(fluid, surface, entity.position) + fluid = empty_pond_gas(fluid, surface, entity.position) if not fluid or fluid.amount == 0 then -- totally drained pond.fluid_per = 0 - fluidbox[1] = nil + entity.clear_fluid(1) return end - local tanksize = fluidbox.get_prototype(1).volume - local segment_size = fluidbox.get_capacity(1) + local tanksize = entity.get_fluid_capacity(1) + local segment_size = entity.get_fluid_segment_capacity(1) if tanksize - fluid.amount < 1 then -- pond is full, don't fall for floating point trickery local fluid_name = fluid.name local is_water = fluid_name == "muddy-sludge" or (not not fluid_name:find("water")) @@ -145,10 +157,10 @@ local function scorch_earth(pond) pond.fluid_per = math.max(0, fluid.amount / tanksize) --push the updated fluidbox to the entity. if fluid.amount <= 0 then - fluidbox[1] = nil - elseif fluid.amount ~= fluidbox[1].amount then + entity.clear_fluid(1) + elseif fluid.amount ~= entity.get_fluid(1).amount then fluid.amount = fluid.amount * segment_size / tanksize - fluidbox[1] = fluid + entity.set_fluid(1, fluid) end end diff --git a/scripts/wiki/spreadsheet-pages.lua b/scripts/wiki/spreadsheet-pages.lua index fb8d3b09b..5bb95e4e4 100644 --- a/scripts/wiki/spreadsheet-pages.lua +++ b/scripts/wiki/spreadsheet-pages.lua @@ -110,7 +110,8 @@ end remote.add_interface("pywiki_spreadsheets", { create_fluid_page = function(gui, player) create_spreadsheet(gui, player, storage.fluid_spreadsheet_data) end, create_solid_fuel_page = function(gui, player) create_spreadsheet(gui, player, storage.solid_fuel_spreadsheet_data) end, - create_decay_page = function(gui, player) create_spreadsheet(gui, player, storage.decay_spreadsheet_data) end, + create_item_decay_page = function(gui, player) create_spreadsheet(gui, player, storage.item_decay_spreadsheet_data) end, + create_recipe_decay_page = function(gui, player) create_spreadsheet(gui, player, storage.recipe_decay_spreadsheet_data) end, on_search = on_search }) @@ -231,7 +232,7 @@ local function calculate_required_science() return result end -local function calculate_unlocked_at(required_science, name) +local function calculate_unlocked_at(required_science, name, recipe) local jerry_check, _, fluid_name = name:find("^(.+)%-canister$") if jerry_check then name = fluid_name end @@ -403,8 +404,10 @@ local function decay_result_builder(flow, item) end spreadsheet_row_functions.decay_result_builder = decay_result_builder -local function generate_decay_spreadsheet_data(required_science) - storage.decay_spreadsheet_data = { +local spoilables = {} -- list of all things that can spoil, to speed up recipe catalogue + +local function generate_item_decay_spreadsheet_data(required_science) + storage.item_decay_spreadsheet_data = { columns = { {name = "localised-name", width = 200}, {name = "decay-time", width = 180}, @@ -412,7 +415,7 @@ local function generate_decay_spreadsheet_data(required_science) {name = "unlocked-at", width = 120}, }, rows = {}, - name = "decay_spreadsheet_data", + name = "item_decay_spreadsheet_data", default_sort = {"localised-name", false}, prefered_sorts = {} } @@ -420,11 +423,10 @@ local function generate_decay_spreadsheet_data(required_science) for name, item in pairs(prototypes.item) do local decay_ticks = item.get_spoil_ticks() if decay_ticks == 0 then goto continue end + spoilables[name] = true -- TODO: Figure out why this is so damn slow. Dancing miku will consistently freeze migrations without this check. if item.hidden then goto continue end - - local decay_result, total_decay_ticks, decay_chain, already_seen = decay_result_builder({add = function() end}, item) local unlocked_at = calculate_unlocked_at(required_science, name) @@ -435,7 +437,7 @@ local function generate_decay_spreadsheet_data(required_science) decay_time_string = decay_time_string .. " [font=default-small](" .. py.format_large_time(total_decay_ticks / 60) .. ")[/font]" end - table.insert(storage.decay_spreadsheet_data.rows, { + storage.item_decay_spreadsheet_data.rows[#storage.item_decay_spreadsheet_data.rows+1] = { ["localised-name"] = { value = {"", "[item=" .. name .. "] ", item.localised_name}, order = name, @@ -451,7 +453,94 @@ local function generate_decay_spreadsheet_data(required_science) }, ["unlocked-at"] = unlocked_at, search_key = name .. "|" .. decay_ticks .. "|" .. decay_result .. "|" .. unlocked_at.pack - }) + } + ::continue:: + end +end + +local function generate_recipe_decay_spreadsheet_data() + storage.recipe_decay_spreadsheet_data = { + columns = { + {name = "localised-name", width = 200}, + {name = "decay-ingredients", width = 700}, + {name = "decay-products", width = 700}, + }, + rows = {}, + name = "recipe_decay_spreadsheet_data", + default_sort = {"localised-name", false}, + prefered_sorts = {} + } + + for name, recipe in pairs(prototypes.recipe) do + if recipe.hidden then goto continue end + local ingredients = recipe.ingredients + local products = recipe.products + local ingredients_value, products_value = "", "" + local ingredients_order, products_order = "", "" + local has_ingredients_that_spoil, has_products_that_spoil, need_check_ingredients + for _, product in pairs(products) do + if spoilables[product.name] then + has_products_that_spoil = true + if not product.always_fresh then + need_check_ingredients = true + break + end + end + end + if not has_products_that_spoil then goto continue end + if need_check_ingredients then + for _, ingredient in pairs(ingredients) do + if spoilables[ingredient.name] and ingredient.spoil_weight ~= 0 then + has_ingredients_that_spoil = true; break + end + end + end + if has_ingredients_that_spoil then + for _, ingredient in pairs(ingredients) do + local weight = ingredient.spoil_weight or 1 + if spoilables[ingredient.name] and weight ~= 0 then + if weight ~= 1 then + ingredients_value = ingredients_value .. ("[%s=%s] ([color=red]%.1f%%[/color]) "):format(ingredient.type, ingredient.name, (ingredient.spoil_weight or 1)*100) + else + ingredients_value = ingredients_value .. ("[%s=%s] (%.1f%%) "):format(ingredient.type, ingredient.name, (ingredient.spoil_weight or 1)*100) + end + end + ingredients_order = ingredients_order .. "|" .. ingredient.name + end + end + local complex = false + for _, product in pairs(products) do + if spoilables[product.name] and product.always_fresh then + complex = complex or (product.percent_spoiled or 1) ~= 1 + products_value = products_value .. ("[%s=%s] (%.1f%%) "):format(product.type, product.name, (product.percent_spoiled or 1)*100) + elseif spoilables[product.name] and (product.percent_spoiled or 1) ~= 1 then + complex = true + products_value = products_value .. ("[%s=%s] (x*%.1f%%) "):format(product.type, product.name, (product.percent_spoiled or 1)*100) + elseif spoilables[product.name] and (product.percent_spoiled or 1) == 1 then + products_value = products_value .. ("[%s=%s] (x%%) "):format(product.type, product.name) + else + products_value = products_value .. ("[%s=%s] "):format(product.type, product.name) + end + products_order = products_order .. "|" .. product.name + end + + if not complex and not has_ingredients_that_spoil then goto continue end + storage.recipe_decay_spreadsheet_data.rows[#storage.recipe_decay_spreadsheet_data.rows+1] = { + ["localised-name"] = { + value = {"", "[recipe=" .. name .. "] ", recipe.localised_name}, + order = name, + elem_tooltip = {type = "recipe", name = name} + }, + ["decay-ingredients"] = { + value = ingredients_value, + order = ingredients_order + }, + ["decay-products"] = { + value = products_value, + order = products_order + }, + search_key = name .. "|" .. ingredients_order .. "|" .. products_order + } ::continue:: end end @@ -460,7 +549,8 @@ py.on_event(py.events.on_init(), function() local required_science = calculate_required_science() generate_fluid_spreadsheet_data(required_science) generate_soild_fuel_spreadsheet_data(required_science) - generate_decay_spreadsheet_data(required_science) + generate_item_decay_spreadsheet_data(required_science) + generate_recipe_decay_spreadsheet_data() end) gui_events[defines.events.on_gui_click]["py_spreadsheet_sort"] = function(event) diff --git a/scripts/wiki/text-pages.lua b/scripts/wiki/text-pages.lua index f12c50303..c72781a63 100644 --- a/scripts/wiki/text-pages.lua +++ b/scripts/wiki/text-pages.lua @@ -25,8 +25,13 @@ py.on_event(py.events.on_init(), function() if script.active_mods["pyalternativeenergy"] and script.feature_flags.spoiling and settings.startup["py-enable-decay"].value then remote.call("pywiki", "add_page", { - name = "decay", - remote = {"pywiki_spreadsheets", "create_decay_page"}, + name = "item_decay", + remote = {"pywiki_spreadsheets", "create_item_decay_page"}, + searchable = {"pywiki_spreadsheets", "on_search"} + }) + remote.call("pywiki", "add_page", { + name = "recipe_decay", + remote = {"pywiki_spreadsheets", "create_recipe_decay_page"}, searchable = {"pywiki_spreadsheets", "on_search"} }) end diff --git a/settings.lua b/settings.lua index 1fddadeba..8d51c2326 100644 --- a/settings.lua +++ b/settings.lua @@ -32,5 +32,12 @@ data:extend { order = "ad", setting_type = "startup", default_value = true, + }, + { + type = "bool-setting", + name = "py-generator-equipment-manager", + order = "ae", + setting_type = "startup", + default_value = true } }