diff --git a/lignumis/prototypes/content/quality-assembler.lua b/lignumis/prototypes/content/quality-assembler.lua index be95a71..0b94e6b 100644 --- a/lignumis/prototypes/content/quality-assembler.lua +++ b/lignumis/prototypes/content/quality-assembler.lua @@ -77,8 +77,7 @@ QualityAssembler.EntityBuilder:new() crafting_speed = 4, module_slots = 6, allowed_effects = { "consumption", "pollution", "quality" }, - effect_receiver = { base_effect = { quality = 3.5 } }, - crafting_categories = { "quality-assembling" } + effect_receiver = { base_effect = { quality = 3.5 } } }) QualityAssembler.ItemBuilder:new():apply() @@ -92,8 +91,7 @@ QualityAssembler.RecipeBuilder:new() { type = "item", name = "quantum-processor", amount = 10 } }) :apply({ - category = "electromagnetics", - additional_categories = { "quality-assembling" } + category = "electromagnetics-or-quality-assembling", }) QualityAssembler.TechnologyBuilder:new() @@ -149,49 +147,71 @@ data:extend({ }, research_trigger = { type = "craft-item", item = "gold-quality-catalyst", count = 10000 }, prerequisites = { "experienced-quality-assembling-1" } - }, - { - type = "recipe-category", - name = "quality-assembling" } }) -local function qa(recipeName) - local recipe = data.raw.recipe[recipeName] - recipe.additional_categories = recipe.additional_categories or {} - table.insert(recipe.additional_categories, "quality-assembling") +local function convert_category(name) + local quality_name = name .. "-or-quality-assembling" + data:extend({ + { + type = "recipe-category", + name = quality_name + } + }) + + for _, assembler in pairs(data.raw["assembling-machine"]) do + if assembler.crafting_categories and table.contains(assembler.crafting_categories, name) then + table.insert(assembler.crafting_categories, quality_name) + end + end + for _, character in pairs(data.raw["character"]) do + if character.crafting_categories and table.contains(character.crafting_categories, name) then + table.insert(character.crafting_categories, quality_name) + end + end + table.insert(data.raw["assembling-machine"]["quality-assembler"].crafting_categories, quality_name) end +convert_category("wood-processing-or-assembling") +convert_category("metallurgy-or-assembling") +convert_category("metallurgy") +convert_category("electronics") +convert_category("electronics-or-assembling") +convert_category("electromagnetics") +convert_category("organic-or-assembling") +convert_category("crafting") +convert_category("cryogenics-or-assembling") + -- Lignumis -qa("lumber-mill") +data.raw.recipe["lumber-mill"].category = "wood-processing-or-assembling-or-quality-assembling" -- Nauvis -qa("logistic-robot") -qa("construction-robot") -qa("roboport") -qa("speed-module-3") -qa("productivity-module-3") -qa("efficiency-module-3") -qa("rocket-silo") -qa("cargo-bay") -qa("asteroid-collector") -qa("thruster") +data.raw.recipe["logistic-robot"].category = "crafting-or-quality-assembling" +data.raw.recipe["construction-robot"].category = "crafting-or-quality-assembling" +data.raw.recipe["roboport"].category = "crafting-or-quality-assembling" +data.raw.recipe["speed-module-3"].category = "electronics-or-quality-assembling" +data.raw.recipe["productivity-module-3"].category = "electronics-or-quality-assembling" +data.raw.recipe["efficiency-module-3"].category = "electronics-or-quality-assembling" +data.raw.recipe["rocket-silo"].category = "crafting-or-quality-assembling" +data.raw.recipe["cargo-bay"].category = "crafting-or-quality-assembling" +data.raw.recipe["asteroid-collector"].category = "crafting-or-quality-assembling" +data.raw.recipe["thruster"].category = "crafting-or-quality-assembling" -- Vulcanus -qa("foundry") -qa("big-mining-drill") +data.raw.recipe["foundry"].category = "metallurgy-or-assembling-or-quality-assembling" +data.raw.recipe["big-mining-drill"].category = "metallurgy-or-quality-assembling" -- Fulgora -qa("electromagnetic-plant") -qa("lightning-collector") -qa("mech-armor") -qa("quality-module-3") -qa("recycler") +data.raw.recipe["electromagnetic-plant"].category = "electronics-or-assembling-or-quality-assembling" +data.raw.recipe["lightning-collector"].category = "electromagnetics-or-quality-assembling" +data.raw.recipe["mech-armor"].category = "crafting-or-quality-assembling" +data.raw.recipe["quality-module-3"].category = "electronics-or-quality-assembling" +data.raw.recipe["recycler"].category = "crafting-or-quality-assembling" -- Gleba -qa("biochamber") -qa("stack-inserter") -qa("spidertron") +data.raw.recipe["biochamber"].category = "organic-or-assembling-or-quality-assembling" +data.raw.recipe["stack-inserter"].category = "crafting-or-quality-assembling" +data.raw.recipe["spidertron"].category = "crafting-or-quality-assembling" -- Aquilo -qa("cryogenic-plant") \ No newline at end of file +data.raw.recipe["cryogenic-plant"].category = "cryogenics-or-assembling-or-quality-assembling" \ No newline at end of file diff --git a/lignumis/prototypes/integrations/vanilla.lua b/lignumis/prototypes/integrations/vanilla.lua index 92ae192..dd7af70 100644 --- a/lignumis/prototypes/integrations/vanilla.lua +++ b/lignumis/prototypes/integrations/vanilla.lua @@ -335,4 +335,36 @@ if settings.startup["lignumis-fulgora-wood"].value then if recycler.result_inventory_size < recycling_result_count then recycler.result_inventory_size = recycling_result_count end -end \ No newline at end of file +end + + +-- Fix item weights + +local function set_default_weight(item, items_per_rocket, type) + data.raw[type or "item"][item].weight = data.raw[type or "item"][item].weight or 1000 * kg / items_per_rocket +end +set_default_weight("electronic-circuit", 2000) +set_default_weight("advanced-circuit", 1000) +set_default_weight("processing-unit", 300) +set_default_weight("low-density-structure", 200) +set_default_weight("rocket-fuel", 100) +set_default_weight("inserter", 50) +set_default_weight("fast-inserter", 50) +set_default_weight("electric-mining-drill", 50) +set_default_weight("pumpjack", 20) +set_default_weight("repair-pack", 100, "repair-tool") +set_default_weight("big-electric-pole", 50) +set_default_weight("assembling-machine-1", 50) +set_default_weight("assembling-machine-2", 50) +set_default_weight("oil-refinery", 10) +set_default_weight("accumulator", 50) +set_default_weight("steam-engine", 10) +set_default_weight("substation", 50) +set_default_weight("radar", 50) +set_default_weight("storage-tank", 50) +set_default_weight("fast-transport-belt", 100) +set_default_weight("fast-underground-belt", 50) +set_default_weight("fast-splitter", 50) +set_default_weight("steel-plate", 400) +set_default_weight("steam-turbine", 10) +set_default_weight("battery", 400) \ No newline at end of file