minor refactor to use nicer library functions

This commit is contained in:
Brevven 2021-03-15 02:54:28 -07:00
parent a41d3954ab
commit ee7753a6d0
10 changed files with 246 additions and 220 deletions

View file

@ -1,4 +1,3 @@
---------------------------------------------------------------------------------------------------
Version: 0.10.2
Date: 2021-03-10
Features:

View file

@ -24,6 +24,21 @@ function data_util.get_stack_size(default)
return default
end
function data_util.steel_to_titanium(name)
data_util.replace_ingredient(name, "steel-plate", "titanium-plate")
end
function data_util.add_titanium_ingredient(amount, name)
data_util.add_ingredient(name, "titanium-plate", amount)
end
function data_util.rare_to_titanium(name)
data_util.replace_ingredient(name, "rare-metals", "titanium-plate")
end
function data_util.add_titanium_prerequisite(name)
data_util.add_prerequisite(name, data_util.titanium_processing)
end
-- Remove an element of type t and name from data.raw
@ -36,33 +51,12 @@ function data_util.remove_raw(t, name)
end
end
function data_util.check_for_ingredient(recipe, name)
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do
if ingredient.name == name then
return true
-- Add a prerequisite to a given technology
function data_util.add_prerequisite(technology_name, prerequisite)
technology = data.raw.technology[technology_name]
if technology then
table.insert(technology.prerequisites, prerequisite)
end
end
end
return false
end
--- Add a given quantity of titanium plates to a given recipe
function data_util.add_titanium_ingredient(quantity, recipe)
if recipe ~= nil and recipe.ingredients ~= nil then
if data_util.check_for_ingredient(recipe, data_util.titanium_plate) then
return
end
table.insert(recipe.ingredients, {data_util.titanium_plate, quantity})
end
end
--- Add titanium processing as a prerequisite to a given technology
function data_util.add_titanium_prerequisite(technology)
if (mods["pyrawores"] or mods["bobplates"] or mods["angelssmelting"]) then
return
end
table.insert(technology.prerequisites, data_util.titanium_processing)
end
--- removes a prerequisite tech
@ -77,21 +71,37 @@ function data_util.remove_prerequisite(tech, prereq)
end
end
--- Change all occurances of steel plates to titanium plates in a given recipe
function data_util.steel_to_titanium(recipe)
data_util.replace_ingredient(recipe, "steel-plate", data_util.titanium_plate)
-- Add a given quantity of ingredient to a given recipe
function data_util.add_ingredient(recipe_name, ingredient, quantity)
if data.raw.recipe[recipe_name] then
add_ingredient(data.raw.recipe[recipe_name], ingredient, quantity)
add_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity)
add_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity)
end
end
--- Change all occurances of rare metals to titanium plates in a given recipe
function data_util.rare_to_titanium(recipe)
data_util.replace_ingredient(recipe, "rare-metals", data_util.titanium_plate)
end
function data_util.replace_ingredient(recipe, old, new)
function add_ingredient(recipe, ingredient, quantity)
if recipe ~= nil and recipe.ingredients ~= nil then
if data_util.check_for_ingredient(recipe, new) then
for _, existing in ipairs(recipe.ingredients) do
if ingredient == existing.name or ingredient == existing[1] then
return
end
end
table.insert(recipe.ingredients, {ingredient, quantity})
end
end
-- Replace one ingredien with another in a recipe
function data_util.replace_ingredient(recipe_name, old, new)
if data.raw.recipe[recipe_name] then
replace_ingredient(data.raw.recipe[recipe_name], old, new)
replace_ingredient(data.raw.recipe[recipe_name].normal, old, new)
replace_ingredient(data.raw.recipe[recipe_name].expensive, old, new)
end
end
function replace_ingredient(recipe, old, new)
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do
-- For final fixes
if ingredient.name == old then ingredient.name = new end
@ -101,4 +111,120 @@ function data_util.replace_ingredient(recipe, old, new)
end
end
-- Remove an ingredient from a recipe
function data_util.remove_ingredient(recipe_name, old)
if data.raw.recipe[recipe_name] then
remove_ingredient(data.raw.recipe[recipe_name], old)
remove_ingredient(data.raw.recipe[recipe_name].normal, old)
remove_ingredient(data.raw.recipe[recipe_name].expensive, old)
end
end
function remove_ingredient(recipe, old)
index = -1
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do
if ingredient.name == old or ingredient[1] == old then
index = i
break
end
end
if index > -1 then
table.remove(recipe.ingredients, index)
end
end
end
-- Replace an amount of an ingredient in a recipe. Keep at least 1 of old.
function data_util.replace_some_ingredient(recipe_name, old, old_amount, new, new_amount)
replace_some_ingredient(data.raw.recipe[recipe_name], old, old_amount, new, new_amount)
replace_some_ingredient(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount)
replace_some_ingredient(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount)
end
function replace_some_ingredient(recipe, old, old_amount, new, new_amount)
if recipe ~= nil and recipe.ingredients ~= nil then
for i, ingredient in pairs(recipe.ingredients) do
if ingredient.name == old then
ingredient.amount = math.max(1, ingredient.amount - old_amount)
end
if ingredient[1] == old then
ingredient[2] = math.max(1, ingredient[2] - old_amount)
end
end
add_ingredient(recipe, new, new_amount)
end
end
-- Add an effect to a given technology
function data_util.add_effect(technology_name, effect)
technology = data.raw.technology[technology_name]
if technology then
table.insert(technology.effects, effect)
end
end
-- check if a table contains a sought value
function data_util.contains(table, sought)
for i, value in pairs(table) do
if value == sought then
return true
end
end
return false
end
-- multiply the cost, energy, and results of a recipe by a multiple
function data_util.multiply_recipe(recipe_name, multiple)
multiply_recipe(data.raw.recipe[recipe_name], multiple)
multiply_recipe(data.raw.recipe[recipe_name].normal, multiple)
multiply_recipe(data.raw.recipe[recipe_name].expensive, multiple)
end
function multiply_recipe(recipe, multiple)
if recipe then
if recipe.energy_required then
recipe.energy_required = recipe.energy_required * multiple
end
if recipe.result_count then
recipe.result_count = recipe.result_count * multiple
end
if recipe.results then
for i, result in pairs(recipe.results) do
if result.name then
if result.amount then
result.amount = result.amount * multiple
end
if result.amount_min ~= nil then
result.amount_min = result.amount_min * multiple
result.amount_max = result.amount_max * multiple
end
if result.catalyst_amount then
result.catalyst_amount = result.catalyst_amount * multiple
end
end
if result[1] then
result[2] = result[2] * multiple
end
end
end
if not recipe.results and not recipe.result_count then
-- implicit one item result
recipe.result_count = multiple
end
if recipe.ingredients then
for i, ingredient in pairs(recipe.ingredients) do
if ingredient.name then
ingredient.amount = ingredient.amount * multiple
end
if ingredient[1] then
ingredient[2] = ingredient[2] * multiple
end
end
end
end
end
return data_util

View file

@ -1,6 +1,6 @@
{
"name": "bztitanium",
"version": "0.10.2",
"version": "0.10.3",
"factorio_version": "1.1",
"title": "Titanium",
"author": "Brevven",

View file

@ -90,55 +90,32 @@ if mods["5dim_core"] then
{type = "unlock-recipe", recipe="titanium-plate-industrial-dust"})
if mods["5dim_automation"] then
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-07"])
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-07"].normal)
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-07"].expensive)
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-08"])
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-08"].normal)
util.steel_to_titanium(data.raw.recipe["5d-assembling-machine-08"].expensive)
util.steel_to_titanium(data.raw.recipe["5d-lab-06"])
util.steel_to_titanium(data.raw.recipe["5d-lab-06"].normal)
util.steel_to_titanium(data.raw.recipe["5d-lab-06"].expensive)
util.steel_to_titanium(data.raw.recipe["5d-lab-07"])
util.steel_to_titanium(data.raw.recipe["5d-lab-07"].normal)
util.steel_to_titanium(data.raw.recipe["5d-lab-07"].expensive)
for i, name in ipairs(
{"5d-assembling-machine-07","5d-assembling-machine-08","5d-lab-06","5d-lab-07"}) do
util.steel_to_titanium(name)
end
end
if mods["5dim_nuclear"] then
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-02"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-02"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-02"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-03"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-03"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-03"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-04"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-04"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-04"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-05"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-05"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-05"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-06"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-06"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-06"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-07"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-07"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-07"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-08"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-08"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-08"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-09"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-09"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-09"].expensive)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-10"])
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-10"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["5d-steam-turbine-10"].expensive)
for i, name in ipairs(
{
"5d-steam-turbine-02",
"5d-steam-turbine-03",
"5d-steam-turbine-04",
"5d-steam-turbine-05",
"5d-steam-turbine-06",
"5d-steam-turbine-07",
"5d-steam-turbine-08",
"5d-steam-turbine-09",
"5d-steam-turbine-10"
}) do
util.add_ingredient(name, "titanium-plate", 20)
end
end
if mods["5dim_battlefield"] then
util.steel_to_titanium(data.raw.recipe["5d-stone-wall-09"])
util.steel_to_titanium(data.raw.recipe["5d-stone-wall-09"].normal)
util.steel_to_titanium(data.raw.recipe["5d-stone-wall-09"].expensive)
util.steel_to_titanium(name)
end
end

View file

@ -4,26 +4,22 @@
local util = require("__bztitanium__.data-util");
if mods["Krastorio2"] then
-- Titanium modifies flying robot frames, so use them in a reasonable tech card in Krastorio 2
util.replace_ingredient(data.raw.recipe["advanced-tech-card"], "electric-engine-unit", "flying-robot-frame")
util.replace_ingredient("advanced-tech-card", "electric-engine-unit", "flying-robot-frame")
-- Flavor changes
util.rare_to_titanium(data.raw.recipe["kr-electric-mining-drill-mk2"])
util.rare_to_titanium(data.raw.recipe["kr-advanced-transport-belt"])
util.rare_to_titanium(data.raw.recipe["kr-advanced-loader"])
util.rare_to_titanium("kr-electric-mining-drill-mk2")
util.rare_to_titanium("kr-advanced-transport-belt")
util.rare_to_titanium("kr-advanced-loader")
if mods["deadlock-beltboxes-loaders"] then
util.rare_to_titanium(data.raw.recipe["kr-advanced-transport-belt-beltbox"])
util.rare_to_titanium(data.raw.recipe["kr-advanced-transport-belt-loader"])
util.rare_to_titanium("kr-advanced-transport-belt-beltbox")
util.rare_to_titanium("kr-advanced-transport-belt-loader")
end
util.steel_to_titanium(data.raw.recipe["kr-quarry-drill"])
util.steel_to_titanium(data.raw.recipe["kr-singularity-lab"])
util.steel_to_titanium("kr-quarry-drill")
util.steel_to_titanium("kr-singularity-lab")
util.steel_to_titanium(data.raw.recipe["stack-inserter"])
util.steel_to_titanium(data.raw.recipe["stack-inserter"].normal)
util.steel_to_titanium(data.raw.recipe["stack-inserter"].expensive)
util.steel_to_titanium(data.raw.recipe["stack-filter-inserter"])
util.steel_to_titanium(data.raw.recipe["stack-filter-inserter"].normal)
util.steel_to_titanium(data.raw.recipe["stack-filter-inserter"].expensive)
util.steel_to_titanium("stack-inserter")
util.steel_to_titanium("stack-filter-inserter")
util.add_titanium_ingredient(40, data.raw.recipe["kr-advanced-steam-turbine"])
util.add_titanium_ingredient(40, "kr-advanced-steam-turbine")
end

View file

@ -18,18 +18,10 @@ if mods["modmashsplinter"] then
end
if mods["modmashsplinterlogistics"] then
util.steel_to_titanium(data.raw.recipe["regenerative-transport-belt"])
util.steel_to_titanium(data.raw.recipe["regenerative-transport-belt"].normal)
util.steel_to_titanium(data.raw.recipe["regenerative-transport-belt"].expensive)
util.steel_to_titanium(data.raw.recipe["regenerative-splitter"])
util.steel_to_titanium(data.raw.recipe["regenerative-splitter"].normal)
util.steel_to_titanium(data.raw.recipe["regenerative-splitter"].expensive)
util.steel_to_titanium(data.raw.recipe["regenerative-underground-belt-structure"])
util.steel_to_titanium(data.raw.recipe["regenerative-underground-belt-structure"].normal)
util.steel_to_titanium(data.raw.recipe["regenerative-underground-belt-structure"].expensive)
util.steel_to_titanium(data.raw.recipe["regenerative-mini-loader"])
util.steel_to_titanium(data.raw.recipe["regenerative-mini-loader"].normal)
util.steel_to_titanium(data.raw.recipe["regenerative-mini-loader"].expensive)
util.steel_to_titanium("regenerative-transport-belt")
util.steel_to_titanium("regenerative-splitter")
util.steel_to_titanium("regenerative-underground-belt-structure")
util.steel_to_titanium("regenerative-mini-loader")
end
end

View file

@ -3,42 +3,22 @@ local util = require("__bztitanium__.data-util");
if data.raw.recipe["se-space-pipe"] then
-- Space Exploration space stuff
util.steel_to_titanium(data.raw.recipe["se-space-pipe"])
util.steel_to_titanium(data.raw.recipe["se-space-pipe"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-pipe"].expensive)
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt"])
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt"].expensive)
util.steel_to_titanium(data.raw.recipe["se-space-underground-belt"])
util.steel_to_titanium(data.raw.recipe["se-space-underground-belt"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-underground-belt"].expensive)
util.steel_to_titanium(data.raw.recipe["se-space-splitter"])
util.steel_to_titanium(data.raw.recipe["se-space-splitter"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-splitter"].expensive)
util.steel_to_titanium(data.raw.recipe["se-space-rail"])
util.steel_to_titanium(data.raw.recipe["se-space-rail"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-rail"].expensive)
util.add_titanium_ingredient(1, data.raw.recipe["se-space-platform-scaffold"])
util.add_titanium_ingredient(1, data.raw.recipe["se-space-platform-scaffold"].normal)
util.add_titanium_ingredient(1, data.raw.recipe["se-space-platform-scaffold"].expensive)
util.steel_to_titanium("se-space-pipe")
util.steel_to_titanium("se-space-transport-belt")
util.steel_to_titanium("se-space-underground-belt")
util.steel_to_titanium("se-space-splitter")
util.steel_to_titanium("se-space-rail")
util.add_titanium_ingredient(1, "se-space-platform-scaffold")
-- Space Exploration alternative LDS
util.steel_to_titanium(data.raw.recipe["se-low-density-structure-beryllium"])
util.steel_to_titanium(data.raw.recipe["se-low-density-structure-beryllium"].normal)
util.steel_to_titanium(data.raw.recipe["se-low-density-structure-beryllium"].expensive)
util.steel_to_titanium("se-low-density-structure-beryllium")
-- Space Exploration buildings
util.add_titanium_ingredient(20, data.raw.recipe["se-condenser-turbine"])
util.add_titanium_ingredient(20, data.raw.recipe["se-condenser-turbine"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["se-condenser-turbine"].expensive)
util.add_titanium_ingredient(20, "se-condenser-turbine")
-- A couple more deeper tech thematic items to use titanium in.
util.add_titanium_ingredient(2, data.raw.recipe["se-lattice-pressure-vessel"])
util.add_titanium_ingredient(2, data.raw.recipe["se-lattice-pressure-vessel"].normal)
util.add_titanium_ingredient(2, data.raw.recipe["se-lattice-pressure-vessel"].expensive)
util.add_titanium_ingredient(2, data.raw.recipe["se-aeroframe-bulkhead"])
util.add_titanium_ingredient(2, data.raw.recipe["se-aeroframe-bulkhead"].normal)
util.add_titanium_ingredient(2, data.raw.recipe["se-aeroframe-bulkhead"].expensive)
util.add_titanium_ingredient(2, "se-lattice-pressure-vessel")
util.add_titanium_ingredient(2, "se-aeroframe-bulkhead")
-- Organization
data.raw.item["titanium-plate"].subgroup = "plates"
@ -46,14 +26,10 @@ if data.raw.recipe["se-space-pipe"] then
-- deadlock loaders for SE -- mods["deadlock-beltboxes-loaders"]
if mods["Deadlock-SE-bridge"] then
if data.raw.recipe["se-space-transport-belt-loader"] then
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-loader"])
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-loader"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-loader"].expensive)
util.steel_to_titanium("se-space-transport-belt-loader")
end
if data.raw.recipe["se-space-transport-belt-beltbox"] then
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-beltbox"])
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-beltbox"].normal)
util.steel_to_titanium(data.raw.recipe["se-space-transport-belt-beltbox"].expensive)
util.steel_to_titanium("se-space-transport-belt-beltbox")
end
end
end

View file

@ -2,69 +2,43 @@ local util = require("__bztitanium__.data-util");
-- Various vehicle/transport mod changes
if mods["Aircraft"] then
util.steel_to_titanium(data.raw.recipe["gunship"])
util.steel_to_titanium(data.raw.recipe["gunship"].normal)
util.steel_to_titanium(data.raw.recipe["gunship"].expensive)
util.steel_to_titanium(data.raw.recipe["cargo-plane"])
util.steel_to_titanium(data.raw.recipe["cargo-plane"].normal)
util.steel_to_titanium(data.raw.recipe["cargo-plane"].expensive)
util.steel_to_titanium(data.raw.recipe["flying-fortress"])
util.steel_to_titanium(data.raw.recipe["flying-fortress"].normal)
util.steel_to_titanium(data.raw.recipe["flying-fortress"].expensive)
util.add_titanium_ingredient(10, data.raw.recipe["aircraft-afterburner"])
util.add_titanium_ingredient(10, data.raw.recipe["aircraft-afterburner"].normal)
util.add_titanium_ingredient(20, data.raw.recipe["aircraft-afterburner"].expensive)
util.steel_to_titanium("gunship")
util.steel_to_titanium("cargo-plane")
util.steel_to_titanium("flying-fortress")
util.add_titanium_ingredient(10, "aircraft-afterburner")
-- jet doesn't use steel in base aircraft mod, but leave this here just in case that changes
util.steel_to_titanium(data.raw.recipe["jet"])
util.steel_to_titanium(data.raw.recipe["jet"].normal)
util.steel_to_titanium(data.raw.recipe["jet"].expensive)
util.steel_to_titanium("jet")
end
if mods["betterCargoPlanes"] then
util.steel_to_titanium(data.raw.recipe["better-cargo-plane"])
util.steel_to_titanium(data.raw.recipe["better-cargo-plane"].normal)
util.steel_to_titanium(data.raw.recipe["better-cargo-plane"].expensive)
util.steel_to_titanium("better-cargo-plane")
end
if mods["HelicopterRevival"] or mods["Helicopters"] then
util.steel_to_titanium(data.raw.recipe["heli-recipe"])
util.steel_to_titanium(data.raw.recipe["heli-recipe"].normal)
util.steel_to_titanium(data.raw.recipe["heli-recipe"].expensive)
util.steel_to_titanium("heli-recipe")
end
if mods["adamo-chopper"] then
util.steel_to_titanium(data.raw.recipe["chopper-recipe"])
util.steel_to_titanium(data.raw.recipe["chopper-recipe"].normal)
util.steel_to_titanium(data.raw.recipe["chopper-recipe"].expensive)
util.steel_to_titanium("chopper-recipe")
end
if mods["jetpack"] then
util.steel_to_titanium(data.raw.recipe["jetpack-1"])
util.steel_to_titanium(data.raw.recipe["jetpack-1"].normal)
util.steel_to_titanium(data.raw.recipe["jetpack-1"].expensive)
util.steel_to_titanium("jetpack-1")
end
if mods["Hovercrafts"] or mods["Hovercrafts_Realism"] then
util.steel_to_titanium(data.raw.recipe["hcraft-recipe"])
util.steel_to_titanium(data.raw.recipe["hcraft-recipe"].normal)
util.steel_to_titanium(data.raw.recipe["hcraft-recipe"].expensive)
util.add_titanium_prerequisite(data.raw.technology["hcraft-tech"])
util.steel_to_titanium("hcraft-recipe")
util.add_titanium_prerequisite("hcraft-tech")
end
if mods["Raven"] then
util.add_titanium_ingredient(100, data.raw.recipe["raven"])
util.add_titanium_ingredient(100, data.raw.recipe["raven"].normal)
util.add_titanium_ingredient(100, data.raw.recipe["raven"].expensive)
util.add_titanium_ingredient(100, "raven")
end
if mods["Hover-Car"] then
util.steel_to_titanium(data.raw.recipe["hover-car-recipe"])
util.steel_to_titanium(data.raw.recipe["hover-car-recipe"].normal)
util.steel_to_titanium(data.raw.recipe["hover-car-recipe"].expensive)
util.steel_to_titanium(data.raw.recipe["hover-car-mk2-recipe"])
util.steel_to_titanium(data.raw.recipe["hover-car-mk2-recipe"].normal)
util.steel_to_titanium(data.raw.recipe["hover-car-mk2-recipe"].expensive)
util.steel_to_titanium("hover-car-recipe")
util.steel_to_titanium("hover-car-mk2-recipe")
end
-- Just a general compatiblity improvement with py alien life enabled alongside jetpack or other equipment mods

View file

@ -3,39 +3,27 @@
local util = require("__bztitanium__.data-util");
util.steel_to_titanium(data.raw.recipe["low-density-structure"])
util.steel_to_titanium(data.raw.recipe["low-density-structure"].normal)
util.steel_to_titanium(data.raw.recipe["low-density-structure"].expensive)
util.steel_to_titanium("low-density-structure")
if not mods["bobrevamp"] then
util.add_titanium_prerequisite(data.raw.technology["low-density-structure"])
util.add_titanium_prerequisite("low-density-structure")
end
if (not mods["bobplates"] and not mods["angelssmelting"]) then
util.steel_to_titanium(data.raw.recipe["flying-robot-frame"])
util.steel_to_titanium(data.raw.recipe["flying-robot-frame"].normal)
util.steel_to_titanium(data.raw.recipe["flying-robot-frame"].expensive)
util.add_titanium_prerequisite(data.raw.technology["robotics"])
util.steel_to_titanium("flying-robot-frame")
util.add_titanium_prerequisite("robotics")
end
if (mods["bobrevamp"] and not mods["bobplates"] and not mods["angelssmelting"]) then
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-2"])
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-2"].normal)
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-2"].expensive)
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-3"])
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-3"].normal)
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-3"].expensive)
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-4"])
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-4"].normal)
util.steel_to_titanium(data.raw.recipe["flying-robot-frame-4"].expensive)
util.steel_to_titanium("flying-robot-frame-2")
util.steel_to_titanium("flying-robot-frame-3")
util.steel_to_titanium("flying-robot-frame-4")
end
-- Memory storage changes
if data.raw.item["memory-unit"] then
util.steel_to_titanium(data.raw.recipe["memory-unit"])
util.steel_to_titanium(data.raw.recipe["memory-unit"].normal)
util.steel_to_titanium(data.raw.recipe["memory-unit"].expensive)
util.steel_to_titanium("memory-unit")
end
-- Underwater pipes changes
@ -51,10 +39,8 @@ if data.raw.item["underwater-pipe"] then
table.remove(data.raw.technology["underwater-pipes"].prerequisites, index)
end
end
util.add_titanium_prerequisite(data.raw.technology["underwater-pipes"])
util.add_titanium_prerequisite("underwater-pipes")
util.steel_to_titanium(data.raw.recipe["underwater-pipe"])
util.steel_to_titanium(data.raw.recipe["underwater-pipe"].normal)
util.steel_to_titanium(data.raw.recipe["underwater-pipe"].expensive)
util.steel_to_titanium("underwater-pipe")
end

View file

@ -3,8 +3,8 @@
local util = require("__bztitanium__.data-util");
if (not mods["bobplates"] and not mods["angelssmelting"]) then
util.steel_to_titanium(data.raw.recipe["power-armor"])
util.add_titanium_prerequisite(data.raw.technology["power-armor"])
util.replace_ingredient("power-armor", "steel", "titanium")
util.add_prerequisite("power-armor", util.titanium_processing)
-- All equipment that uses steel now uses titanium. Who wants to carry around steel!
for name, recipe in pairs(data.raw.recipe) do
@ -16,22 +16,22 @@ end
-- Generally, steel-based equipment techs require solar panel tech, so only require
-- titanium processing for that.
util.add_titanium_prerequisite(data.raw.technology["solar-panel-equipment"])
util.add_prerequisite("solar-panel-equipment", util.titanium_processing)
-- Also add titanium to some nuclear steam-handling stuff
util.add_titanium_ingredient(20, data.raw.recipe["steam-turbine"])
util.add_titanium_ingredient(20, "steam-turbine")
if not mods["pyrawores"] then
util.add_titanium_ingredient(20, data.raw.recipe["heat-exchanger"])
util.add_titanium_ingredient(20, "heat-exchanger")
util.add_prerequisite("nuclear-power", util.titanium_processing)
end
util.add_titanium_prerequisite(data.raw.technology["nuclear-power"])
-- Krastorio 2 changes
if mods["Krastorio2"] then
util.add_titanium_prerequisite(data.raw.technology["kr-electric-mining-drill-mk2"])
util.add_titanium_prerequisite(data.raw.technology["kr-quarry-minerals-extraction"])
util.add_prerequisite("kr-electric-mining-drill-mk2", util.titanium_processing)
util.add_prerequisite("kr-quarry-minerals-extraction", util.titanium_processing)
end
if mods["Aircraft"] then
util.add_titanium_prerequisite(data.raw.technology["advanced-aerodynamics"])
util.add_prerequisite("advanced-aerodynamics", util.titanium_processing)
end