This commit is contained in:
2024-06-17 19:17:12 +09:00
parent 205be9b4f5
commit b8f6840e9d
17 changed files with 38 additions and 22 deletions

8
OLD/PHI-RS/.editorconfig Normal file
View File

@@ -0,0 +1,8 @@
root = true
[*]
indent_style = space
indent_size = 4
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false

1597
OLD/PHI-RS/.luacheckrc Normal file

File diff suppressed because it is too large Load Diff

13
OLD/PHI-RS/changelog.txt Normal file
View File

@@ -0,0 +1,13 @@
---------------------------------------------------------------------------------------------------
Version: 1.1.1
Date: 2024-01-25
Added:
- Dynamic Recipe Overload Factor
---------------------------------------------------------------------------------------------------
Version: 1.1.0
Date: 2023-09-19
Added:
- Recipe scaling, filter furnace

268
OLD/PHI-RS/config.lua Normal file
View File

@@ -0,0 +1,268 @@
local items = {
{
name='iron-plate',
tech='automation'
},
{
name='copper-plate',
tech='automation'
},
{
name='stone-brick',
tech='automation'
},
{
name='steel-plate',
tech='steel-processing'
},
{
name='basic-oil-processing',
tech='oil-processing'
},
{
name='advanced-oil-processing',
tech='advanced-oil-processing'
},
{
name='heavy-oil-cracking',
tech='advanced-oil-processing'
},
{
name='light-oil-cracking',
tech='advanced-oil-processing'
},
{
name='solid-fuel-from-light-oil',
tech='advanced-oil-processing'
},
{
name='solid-fuel-from-heavy-oil',
tech='advanced-oil-processing'
},
{
name='solid-fuel-from-petroleum-gas',
tech='oil-processing'
},
{
name='coal-liquefaction',
tech='coal-liquefaction'
},
{
name='sulfur',
tech='sulfur-processing'
},
{
name='sulfuric-acid',
tech='sulfur-processing'
},
{
name='lubricant',
tech='lubricant'
},
{
name='plastic-bar',
tech='plastics'
},
{
name='battery',
tech='battery'
},
{
name='explosives',
tech='explosives'
},
{
name='cliff-explosives',
tech='cliff-explosives'
},
{
name='empty-barrel',
tech='fluid-handling'
},
{
name='copper-cable',
tech='automation'
},
{
name='iron-stick',
tech='automation'
},
{
name='iron-gear-wheel',
tech='automation'
},
{
name='pipe',
tech='automation'
},
{
name='electronic-circuit',
tech='automation'
},
{
name='advanced-circuit',
tech='advanced-electronics'
},
{
name='processing-unit',
tech='advanced-electronics-2'
},
{
name='engine-unit',
tech='engine'
},
{
name='electric-engine-unit',
tech='electric-engine'
},
{
name='flying-robot-frame',
tech='robotics'
},
{
name='low-density-structure',
tech='low-density-structure'
},
{
name='rocket-fuel',
tech='rocket-fuel'
},
{
name='rocket-control-unit',
tech='rocket-control-unit'
},
{
name='automation-science-pack',
tech='automation'
},
{
name='logistic-science-pack',
tech='logistic-science-pack'
},
{
name='chemical-science-pack',
tech='chemical-science-pack'
},
{
name='military-science-pack',
tech='military-science-pack'
},
{
name='production-science-pack',
tech='production-science-pack'
},
{
name='utility-science-pack',
tech='utility-science-pack'
},
{
name='inserter',
tech='automation'
},
{
name='transport-belt',
tech='automation'
},
{
name='grenade',
tech='military-2'
},
{
name='firearm-magazine',
tech='automation'
},
{
name='piercing-rounds-magazine',
tech='military-2'
},
{
name='stone-wall',
tech='stone-wall'
},
{
name='rail',
tech='railway'
},
{
name='electric-furnace',
tech='advanced-material-processing-2'
},
{
name='concrete',
tech='concrete'
},
{
name='uranium-processing',
tech='uranium-processing'
},
{
name='uranium-fuel-cell',
tech='uranium-processing'
},
{
name='nuclear-fuel-reprocessing',
tech='nuclear-fuel-reprocessing'
},
{
name='kovarex-enrichment-process',
tech='kovarex-enrichment-process'
},
{
name='nuclear-fuel',
tech='kovarex-enrichment-process'
},
{
name='fast-inserter',
tech='fast-inserter'
},
{
name='filter-inserter',
tech='fast-inserter'
},
{
name='long-handed-inserter',
tech='automation'
},
{
name='stack-inserter',
tech='stack-inserter'
},
{
name='stack-filter-inserter',
tech='stack-inserter'
},
{
name='uranium-rounds-magazine',
tech='uranium-ammo'
},
{
name='explosive-cannon-shell',
tech='tank'
},
{
name='artillery-shell',
tech='artillery'
},
{
name='rocket',
tech='rocketry'
},
{
name='explosive-rocket',
tech='explosive-rocketry'
},
{
name='solar-panel',
tech='solar-energy'
},
{
name='accumulator',
tech='electric-energy-accumulators'
},
{
name='radar',
tech='automation'
}
}
return items

View File

@@ -0,0 +1,4 @@
-- electric furnace
data.raw['furnace']['electric-furnace'].fast_replaceable_group = 'electric-furnace'
data.raw['assembling-machine']['electric-filter-furnace'].fast_replaceable_group = data.raw['furnace']['electric-furnace'].fast_replaceable_group
data.raw['assembling-machine']['electric-filter-furnace'].crafting_categories = data.raw['furnace']['electric-furnace'].crafting_categories

245
OLD/PHI-RS/data.lua Normal file
View File

@@ -0,0 +1,245 @@
local recipe_multiplier = {settings.startup['PHI-RS-RECIPE-1'].value, settings.startup['PHI-RS-RECIPE-2'].value}
local items = require 'config'
if settings.startup['PHI-RS-RECIPE-DROF'].value == 1 then
data.raw['utility-constants'].default.dynamic_recipe_overload_factor = 1.17
else
data.raw['utility-constants'].default.dynamic_recipe_overload_factor = settings.startup['PHI-RS-RECIPE-DROF'].value
end
data.raw['utility-constants'].default.minimum_recipe_overload_multiplier = settings.startup['PHI-RS-RECIPE-MINROM'].value
data.raw['utility-constants'].default.maximum_recipe_overload_multiplier = settings.startup['PHI-RS-RECIPE-MAXROM'].value
if settings.startup['PHI-RS-MODULE'].value then
table.insert(items, {
name='speed-module',
tech='speed-module'
})
table.insert(items, {
name='speed-module-2',
tech='speed-module-2'
})
table.insert(items, {
name='speed-module-3',
tech='speed-module-3'
})
table.insert(items, {
name='productivity-module',
tech='productivity-module'
})
table.insert(items, {
name='productivity-module-2',
tech='productivity-module-2'
})
table.insert(items, {
name='productivity-module-3',
tech='productivity-module-3'
})
table.insert(items, {
name='effectivity-module',
tech='effectivity-module'
})
table.insert(items, {
name='effectivity-module-2',
tech='effectivity-module-2'
})
table.insert(items, {
name='effectivity-module-3',
tech='effectivity-module-3'
})
end
for j=1, 2, 1 do
if recipe_multiplier[j] ~= 1 then
for i=1, #items, 1 do
if data.raw.recipe[items[i].name] ~= nil then
local item = table.deepcopy(data.raw.recipe[items[i].name])
item.enabled = false
if (item.normal ~= nil) and (item.normal ~= false) then
for k, v in pairs(item.normal.ingredients) do
if (v[1] ~= nil) and (v[2] ~= nil) then
item.normal.ingredients[k][2] = v[2] * recipe_multiplier[j]
else
item.normal.ingredients[k].amount = v.amount * recipe_multiplier[j]
end
end
if item.normal.results ~= nil then
for k, v in pairs(item.normal.results) do
if (v[1] ~= nil) and (v[2] ~= nil) then
item.normal.results[k][2] = v[2] * recipe_multiplier[j]
else
item.normal.results[k].amount = v.amount * recipe_multiplier[j]
end
end
else
if item.normal.result_count ~= nil then
item.normal.result_count = item.normal.result_count * recipe_multiplier[j]
else
item.normal.result_count = recipe_multiplier[j]
end
end
if item.normal.energy_required ~= nil then
item.normal.energy_required = item.normal.energy_required * recipe_multiplier[j]
else
item.normal.energy_required = recipe_multiplier[j] / 2
end
elseif (item.expensive) ~= nil and (item.expensive ~= false) then
for k, v in pairs(item.expensive.ingredients) do
if (v[1] ~= nil) and (v[2] ~= nil) then
item.expensive.ingredients[k][2] = v[2] * recipe_multiplier[j]
else
item.expensive.ingredients[k].amount = v.amount * recipe_multiplier[j]
end
end
if item.expensive.results ~= nil then
for k, v in pairs(item.expensive.results) do
if (v[1] ~= nil) and (v[2] ~= nil) then
item.expensive.results[k][2] = v[2] * recipe_multiplier[j]
else
item.expensive.results[k].amount = v.amount * recipe_multiplier[j]
end
end
else
if item.expensive.result_count ~= nil then
item.expensive.result_count = item.expensive.result_count * recipe_multiplier[j]
else
item.expensive.result_count = recipe_multiplier[j]
end
end
if item.expensive.energy_required ~= nil then
item.expensive.energy_required = item.expensive.energy_required * recipe_multiplier[j]
else
item.expensive.energy_required = recipe_multiplier[j] / 2
end
else
for k, v in pairs(item.ingredients) do
if (v[1] ~= nil) and (v[2] ~= nil) then
item.ingredients[k][2] = v[2] * recipe_multiplier[j]
else
item.ingredients[k].amount = v.amount * recipe_multiplier[j]
end
end
if item.results ~= nil then
for k, v in pairs(item.results) do
if (v[1] ~= nil) and (v[2] ~= nil) then
item.results[k][2] = v[2] * recipe_multiplier[j]
else
item.results[k].amount = v.amount * recipe_multiplier[j]
end
end
else
if item.result_count ~= nil then
item.result_count = item.result_count * recipe_multiplier[j]
else
item.result_count = recipe_multiplier[j]
end
end
if item.energy_required ~= nil then
item.energy_required = item.energy_required * recipe_multiplier[j]
else
item.energy_required = recipe_multiplier[j] / 2
end
end
item.name = item.name .. '-s' .. j
data:extend({item})
table.insert(data.raw.technology[items[i].tech].effects, {type='unlock-recipe', recipe=item.name})
end
end
end
end
local module_limitation = table.deepcopy(data.raw.module['productivity-module']['limitation'])
for _, v in pairs(data.raw.module) do
if v.limitation and string.find(v.name, 'productivity', 1, true) then
for j=1, #recipe_multiplier, 1 do
for k, _ in pairs(module_limitation) do
if data.raw.recipe[module_limitation[k] .. '-s' .. j] ~= nil then
table.insert(v.limitation, module_limitation[k] .. '-s' .. j)
end
end
end
end
end
items = {
['electric-filter-furnace'] = {
enabled = true,
type = 'furnace',
new_type = 'assembling-machine',
name = 'electric-filter-furnace',
ref_name = 'electric-furnace',
tech = 'advanced-material-processing-2'
}
}
-- entity
local function EE(source)
local item = table.deepcopy(data.raw[source.type][source.ref_name])
item.name = source.name
item.minable.result = source.name
-- item.animation.layers[1].filename = graphics_location .. source .. '-e.png'
-- item.animation.layers[1].hr_version.filename = graphics_location .. source ..'-eh.png'
-- item.icon = graphics_location .. source .. '-i.png'
-- item.icon_size = 64
-- item.icon_mipmaps = 4
if source.new_type then
item.type = source.new_type
end
data:extend({item})
end
-- item
local function EI(source)
local item = table.deepcopy(data.raw.item[source.ref_name])
item.name = source.name
item.place_result = source.name
item.order = item.order .. 'B'
data:extend({item})
end
-- recipe
local function ER(source)
data:extend({{
type = 'recipe',
name = source.name,
energy_required = 2,
enabled = false,
ingredients = {{'steel-plate', 10}, {'advanced-circuit', 5}, {'stone-brick', 10}},
result = source.name,
}})
end
-- tech
local function ET(source)
table.insert(data.raw.technology[source.tech].effects, {type='unlock-recipe', recipe=source.name})
end
for _, v in pairs(items) do
if v.enabled then
EE(v)
EI(v)
ER(v)
ET(v)
end
end

14
OLD/PHI-RS/info.json Normal file
View File

@@ -0,0 +1,14 @@
{
"name": "PHI-RS",
"version": "1.1.3",
"factorio_version": "1.1",
"date": "2024-01-25",
"title": "Phidias Recipe Scaling",
"author": "PHIDIAS0303",
"contributers": "",
"homepage": "",
"description": "Recipe Scaling",
"dependencies": [
"base >= 1.1.0"
]
}

View File

@@ -0,0 +1,41 @@
[recipe-name]
basic-oil-processing-s1=Basic oil processing
basic-oil-processing-s2=Basic oil processing
advanced-oil-processing-s1=Advanced oil processing
advanced-oil-processing-s2=Advanced oil processing
light-oil-cracking-s1=Light oil cracking to petroleum gas
light-oil-cracking-s2=Light oil cracking to petroleum gas
heavy-oil-cracking-s1=Heavy oil cracking to light oil
heavy-oil-cracking-s2=Heavy oil cracking to light oil
uranium-processing-s1=Uranium processing
uranium-processing-s2=Uranium processing
kovarex-enrichment-process-s1=Kovarex enrichment process
kovarex-enrichment-process-s2=Kovarex enrichment process
nuclear-fuel-reprocessing-s1=Nuclear fuel reprocessing
nuclear-fuel-reprocessing-s2=Nuclear fuel reprocessing
coal-liquefaction-s1=Coal liquefaction
coal-liquefaction-s2=Coal liquefaction
[item-name]
electric-filter-furnace=Electric filter furnace
[entity-name]
electric-filter-furnace=Electric filter furnace
[entity-description]
electric-filter-furnace=Faster and more flexible furnaces.
[mod-setting-name]
PHI-RS-RECIPE-1=Recipe 1
PHI-RS-RECIPE-2=Recipe 2
PHI-RS-RECIPE-DROF=Dynamic Recipe Overload Factor
PHI-RS-RECIPE-MINROM=Minimum Recipe Overload Multiplier
PHI-RS-RECIPE-MAXROM=Maximum Recipe Overload Multiplier
PHI-RS-MODULE=Module
[mod-setting-description]
PHI-RS-RECIPE-1=Default 4 ; Disable 1
PHI-RS-RECIPE-2=Default 8 ; Disable 1
PHI-RS-RECIPE-DROF=Default 1
PHI-RS-RECIPE-MINROM=Default 2
PHI-RS-RECIPE-MAXROM=Default 100

View File

@@ -0,0 +1,41 @@
[recipe-name]
basic-oil-processing-s1=基本的な石油加工
basic-oil-processing-s2=基本的な石油加工
advanced-oil-processing-s1=発展的な石油加工
advanced-oil-processing-s2=発展的な石油加工
light-oil-cracking-s1=軽油を石油ガスに分解
light-oil-cracking-s2=軽油を石油ガスに分解
heavy-oil-cracking-s1=重油を軽油に分解
heavy-oil-cracking-s2=重油を軽油に分解
uranium-processing-s1=ウラン濃縮処理
uranium-processing-s2=ウラン濃縮処理
kovarex-enrichment-process-s1=Kovarex濃縮プロセス
kovarex-enrichment-process-s2=Kovarex濃縮プロセス
nuclear-fuel-reprocessing-s1=核燃料再処理
nuclear-fuel-reprocessing-s2=核燃料再処理
coal-liquefaction-s1=石炭液化
coal-liquefaction-s2=石炭液化
[item-name]
electric-filter-furnace=電気フィルター炉
[entity-name]
electric-filter-furnace=電気フィルター炉
[entity-description]
electric-filter-furnace=より高速で便利な炉です。
[mod-setting-name]
PHI-RS-RECIPE-1=レシピ 1
PHI-RS-RECIPE-2=レシピ 2
PHI-RS-RECIPE-DROF=Dynamic Recipe Overload Factor
PHI-RS-RECIPE-MINROM=Minimum Recipe Overload Multiplier
PHI-RS-RECIPE-MAXROM=Maximum Recipe Overload Multiplier
PHI-RS-MODULE=モジュール
[mod-setting-description]
PHI-RS-RECIPE-1=デフォルト 4 ; 止める 1
PHI-RS-RECIPE-2=デフォルト 8 ; 止める 1
PHI-RS-RECIPE-DROF=デフォルト 1
PHI-RS-RECIPE-MINROM=デフォルト 2
PHI-RS-RECIPE-MAXROM=デフォルト 100

View File

@@ -0,0 +1,41 @@
[recipe-name]
basic-oil-processing-s1=基礎石油加工
basic-oil-processing-s2=基礎石油加工
advanced-oil-processing-s1=高等石油加工
advanced-oil-processing-s2=高等石油加工
light-oil-cracking-s1=輕油裂解為石油氣
light-oil-cracking-s2=輕油裂解為石油氣
heavy-oil-cracking-s1=重油裂解為輕油
heavy-oil-cracking-s2=重油裂解為輕油
uranium-processing-s1=鈾濃縮加工
uranium-processing-s2=鈾濃縮加工
kovarex-enrichment-process-s1=鈾增殖加工
kovarex-enrichment-process-s2=鈾增殖加工
nuclear-fuel-reprocessing-s1=核燃料後加工
nuclear-fuel-reprocessing-s2=核燃料後加工
coal-liquefaction-s1=液化煤
coal-liquefaction-s2=液化煤
[item-name]
electric-filter-furnace=智慧電爐
[entity-name]
electric-filter-furnace=智慧電爐
[entity-description]
electric-filter-furnace=更快速、更方便的熔爐。
[mod-setting-name]
PHI-RS-RECIPE-1=配方 1
PHI-RS-RECIPE-2=配方 2
PHI-RS-RECIPE-DROF=Dynamic Recipe Overload Factor
PHI-RS-RECIPE-MINROM=Minimum Recipe Overload Multiplier
PHI-RS-RECIPE-MAXROM=Maximum Recipe Overload Multiplier
PHI-RS-MODULE=模組
[mod-setting-description]
PHI-RS-RECIPE-1=預設 4 ; 停用 1
PHI-RS-RECIPE-2=預設 8 ; 停用 1
PHI-RS-RECIPE-DROF=預設 100
PHI-RS-RECIPE-MINROM=預設 2
PHI-RS-RECIPE-MAXROM=預設 100

View File

@@ -0,0 +1,41 @@
[recipe-name]
basic-oil-processing-s1=基礎石油加工
basic-oil-processing-s2=基礎石油加工
advanced-oil-processing-s1=高等石油加工
advanced-oil-processing-s2=高等石油加工
light-oil-cracking-s1=輕油裂解為石油氣
light-oil-cracking-s2=輕油裂解為石油氣
heavy-oil-cracking-s1=重油裂解為輕油
heavy-oil-cracking-s2=重油裂解為輕油
uranium-processing-s1=鈾濃縮加工
uranium-processing-s2=鈾濃縮加工
kovarex-enrichment-process-s1=鈾增殖加工
kovarex-enrichment-process-s2=鈾增殖加工
nuclear-fuel-reprocessing-s1=核燃料後加工
nuclear-fuel-reprocessing-s2=核燃料後加工
coal-liquefaction-s1=液化煤
coal-liquefaction-s2=液化煤
[item-name]
electric-filter-furnace=智慧電爐
[entity-name]
electric-filter-furnace=智慧電爐
[entity-description]
electric-filter-furnace=更快速、更方便的熔爐。
[mod-setting-name]
PHI-RS-RECIPE-1=配方 1
PHI-RS-RECIPE-2=配方 2
PHI-RS-RECIPE-DROF=Dynamic Recipe Overload Factor
PHI-RS-RECIPE-MINROM=Minimum Recipe Overload Multiplier
PHI-RS-RECIPE-MAXROM=Maximum Recipe Overload Multiplier
PHI-RS-MODULE=模組
[mod-setting-description]
PHI-RS-RECIPE-1=預設 4 ; 停用 1
PHI-RS-RECIPE-2=預設 8 ; 停用 1
PHI-RS-RECIPE-DROF=預設 100
PHI-RS-RECIPE-MINROM=預設 2
PHI-RS-RECIPE-MAXROM=預設 100

View File

@@ -0,0 +1,26 @@
local items = require '__PHI-RS__/config'
for index, force in pairs(game.forces) do
local technologies = force.technologies
local recipes = force.recipes
if technologies['advanced-material-processing-2'].researched then
recipes['electric-filter-furnace'].enabled = true
recipes['electric-filter-furnace'].reload()
end
for _, v in pairs(items) do
if technologies[v.tech] then
if technologies[v.tech].researched then
if recipes[v.name .. '-s1'] ~= nil then
recipes[v.name .. '-s1'].enabled = true
recipes[v.name .. '-s1'].reload()
end
if recipes[v.name .. '-s2'] ~= nil then
recipes[v.name .. '-s2'].enabled = true
recipes[v.name .. '-s2'].reload()
end
end
end
end
end

46
OLD/PHI-RS/settings.lua Normal file
View File

@@ -0,0 +1,46 @@
data:extend({
{
type = 'int-setting',
name = 'PHI-RS-RECIPE-1',
setting_type = 'startup',
default_value = 4,
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
order = 'A1'
}, {
type = 'int-setting',
name = 'PHI-RS-RECIPE-2',
setting_type = 'startup',
default_value = 8,
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
order = 'A2'
}, {
type = 'bool-setting',
name = 'PHI-RS-MODULE',
setting_type = 'startup',
default_value = true,
order = 'A3'
}, {
type = 'int-setting',
name = 'PHI-RS-RECIPE-DROF',
setting_type = 'startup',
default_value = 1,
minimum_value = 1,
maximum_value = 100,
order = 'A4'
}, {
type = 'int-setting',
name = 'PHI-RS-RECIPE-MINROM',
setting_type = 'startup',
default_value = 2,
minimum_value = 1,
maximum_value = 100,
order = 'A5'
}, {
type = 'int-setting',
name = 'PHI-RS-RECIPE-MAXROM',
setting_type = 'startup',
default_value = 100,
minimum_value = 1,
maximum_value = 100,
order = 'A6'
}})

BIN
OLD/PHI-RS/thumbnail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB