more artillery, etc

This commit is contained in:
Brevven 2022-01-05 00:16:38 -08:00
parent 47988d57e2
commit c3e0125284
4 changed files with 81 additions and 12 deletions

View file

@ -1,8 +1,8 @@
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 0.6.1 Version: 0.6.1
Date: 2021-12-30 Date: 2022-01-01
Changes: Changes:
- Artillery compatibility - More turret & artillery compatibility
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 0.6.0 Version: 0.6.0
Date: 2021-11-06 Date: 2021-11-06

View file

@ -8,6 +8,15 @@ local util = {}
util.me = me util.me = me
util.get_setting = util.me.get_setting util.get_setting = util.me.get_setting
util.titanium_plate = ""
util.titanium_processing = ""
if mods["FactorioExtended-Plus-Core"] then
util.titanium_plate = "titanium-alloy"
else
util.titanium_plate = "titanium-plate"
end
function util.fe_plus(sub) function util.fe_plus(sub)
if mods["FactorioExtended-Plus-"..sub] then if mods["FactorioExtended-Plus-"..sub] then
return true return true
@ -109,7 +118,7 @@ end
-- Add a given quantity of product to a given recipe. -- Add a given quantity of product to a given recipe.
-- Only works for recipes with multiple products -- Only works for recipes with multiple products
function util.add_product(recipe_name, product) function util.add_product(recipe_name, product)
if data.raw.recipe[recipe_name] and data.raw.item[product] then if data.raw.recipe[recipe_name] and (data.raw.item[product[1]] or data.raw.item[product.name]) then
add_product(data.raw.recipe[recipe_name], product) add_product(data.raw.recipe[recipe_name], product)
add_product(data.raw.recipe[recipe_name].normal, product) add_product(data.raw.recipe[recipe_name].normal, product)
add_product(data.raw.recipe[recipe_name].expensive, product) add_product(data.raw.recipe[recipe_name].expensive, product)
@ -274,6 +283,31 @@ function has_ingredient(recipe, ingredient)
return false return false
end end
-- Remove a product from a recipe, WILL NOT remove the only product
function util.remove_product(recipe_name, old)
if me.bypass[recipe_name] then return end
if data.raw.recipe[recipe_name] then
remove_product(data.raw.recipe[recipe_name], old)
remove_product(data.raw.recipe[recipe_name].normal, old)
remove_product(data.raw.recipe[recipe_name].expensive, old)
end
end
function remove_product(recipe, old)
index = -1
if recipe ~= nil and recipe.results ~= nil then
for i, result in pairs(recipe.results) do
if result.name == old or result[1] == old then
index = i
break
end
end
if index > -1 then
table.remove(recipe.results, index)
end
end
end
-- Replace one product with another in a recipe -- Replace one product with another in a recipe
function util.replace_product(recipe_name, old, new) function util.replace_product(recipe_name, old, new)
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
@ -309,7 +343,7 @@ function util.remove_raw(t, name)
end end
-- Multiply energy required -- Multiply energy required
function util.multiply_time(recipe, factor) function util.multiply_time(recipe_name, factor)
if me.bypass[recipe_name] then return end if me.bypass[recipe_name] then return end
if data.raw.recipe[recipe_name] then if data.raw.recipe[recipe_name] then
multiply_time(data.raw.recipe[recipe_name], factor) multiply_time(data.raw.recipe[recipe_name], factor)
@ -326,19 +360,40 @@ function multiply_time(recipe, factor)
end end
end end
-- Add to energy required
function util.add_time(recipe_name, amount)
log("Doing ".. recipe_name)
log(amount)
if me.bypass[recipe_name] then return end
log(1)
if data.raw.recipe[recipe_name] then
add_time(data.raw.recipe[recipe_name], amount)
add_time(data.raw.recipe[recipe_name].normal, amount)
add_time(data.raw.recipe[recipe_name].expensive, amount)
end
end
function add_time(recipe, amount)
if recipe then
if recipe.energy_required then
recipe.energy_required = recipe.energy_required + amount
end
end
end
-- Set recipe category -- Set recipe category
function util.set_category(recipe, category) function util.set_category(recipe_name, category)
if me.bypass[recipe_name] then return end if me.bypass[recipe_name] then return end
if data.raw.recipe[recipe] then if data.raw.recipe[recipe_name] then
data.raw.recipe[recipe].category = category data.raw.recipe[recipe_name].category = category
end end
end end
-- Set recipe subgroup -- Set recipe subgroup
function util.set_subgroup(recipe, subgroup) function util.set_subgroup(recipe_name, subgroup)
if me.bypass[recipe_name] then return end if me.bypass[recipe_name] then return end
if data.raw.recipe[recipe] then if data.raw.recipe[recipe_name] then
data.raw.recipe[recipe].subgroup = subgroup data.raw.recipe[recipe_name].subgroup = subgroup
end end
end end
@ -410,4 +465,10 @@ function add_to_product(recipe, product, amount)
end end
end end
function util.add_minable_result(t, name, result)
if data.raw[t] and data.raw[t][name] and data.raw[t][name].minable and data.raw[t][name].minable.results then
table.insert(data.raw[t][name].minable.results, result)
end
end
return util return util

View file

@ -15,6 +15,6 @@
"? deadlock-beltboxes-loaders", "? deadlock-beltboxes-loaders",
"? DeadlockCrating" "? DeadlockCrating"
], ],
"description": "Adds lead ore and plates to the base game as an early game resource.\n\nLead is used in ammunition, pipes, batteries and a few other places.\nCompatible with RSO, Krastorio 2, Space Exploration and other mods. Part of BZ Mods.\n\nWith graphics by snouz.", "description": "Adds lead ore and plates to the base game as an early game resource.\n\nLead is used in ammunition, pipes, batteries and a few other places.\nCompatible with RSO, Krastorio 2, Space Exploration and other mods. Part of BZ Mods.\n\nWith graphics by snouz."
} }

View file

@ -113,7 +113,8 @@ util.add_ingredient("capsule-item-rampant-arsenal", "lead-plate", 10)
util.add_ingredient("lite-artillery-turret-rampant-arsenal", "lead-plate", 20) util.add_ingredient("lite-artillery-turret-rampant-arsenal", "lead-plate", 20)
-- Scraver's Atomic Artillery -- Scraver's Atomic Artillery
util.add_ingredient("sc-artillery-turret", "lead-plate", 40) util.add_ingredient("sc-atomic-artillery-turret", "lead-plate", 40)
-- Light artillery -- Light artillery
util.add_ingredient("derpy-artillery", "lead-plate", 20) util.add_ingredient("derpy-artillery", "lead-plate", 20)
-- Bigger artillery -- Bigger artillery
@ -197,3 +198,10 @@ util.add_ingredient("Schall-cannon-H2-turret", "lead-plate", 64)
-- Nuclear Reprocessing Rebalance -- Nuclear Reprocessing Rebalance
util.replace_product("nuclear-fuel-reprocessing", "iron-plate", "lead-plate") util.replace_product("nuclear-fuel-reprocessing", "iron-plate", "lead-plate")
-- Water turret
util.add_ingredient("WT-water-turret", "lead-plate", 4)