This commit is contained in:
2023-09-19 00:59:17 +09:00
parent 0c5df4ccbd
commit 8d04d69e52
13 changed files with 158 additions and 35 deletions

View File

@@ -1,4 +1,22 @@
local items = {
['setting'] = {
['PHI-WE-LASER-TIER'] = {
type = 'max',
effect = {'laser-turret'}
},
['PHI-WE-FLAME-TIER'] = {
type = 'max',
effect = {'flamethrower-turret'}
},
['PHI-WE-GUN-TIER'] = {
type = 'max',
effect = {'gun-turret'}
},
['PHI-WE-RADAR-TIER'] = {
type = 'max',
effect = {'radar'}
}
},
['laser-turret'] = {
enabled = true,
type = 'electric-turret',

View File

@@ -1,19 +1,31 @@
-- laser turret
data.raw['electric-turret']['laser-turret'].fast_replaceable_group = 'laser-turret'
data.raw['electric-turret']['laser-turret-2'].fast_replaceable_group = data.raw['electric-turret']['laser-turret'].fast_replaceable_group
data.raw['electric-turret']['laser-turret-3'].fast_replaceable_group = data.raw['electric-turret']['laser-turret-2'].fast_replaceable_group
local items = require 'config'
-- gun turret
data.raw['ammo-turret']['gun-turret'].fast_replaceable_group = 'gun-turret'
data.raw['ammo-turret']['gun-turret-2'].fast_replaceable_group = data.raw['ammo-turret']['gun-turret'].fast_replaceable_group
data.raw['ammo-turret']['gun-turret-3'].fast_replaceable_group = data.raw['ammo-turret']['gun-turret-2'].fast_replaceable_group
for k, v in pairs(items['setting']) do
for k2=1, #v.effect do
if items[v.effect[k2]] ~= nil then
if settings.startup[k].value < items[v.effect[k2]].min then
items[v.effect[k2]].enabled = false
end
-- gun turret
data.raw['fluid-turret']['flamethrower-turret'].fast_replaceable_group = 'flamethrower-turret'
data.raw['fluid-turret']['flamethrower-turret-2'].fast_replaceable_group = data.raw['fluid-turret']['flamethrower-turret'].fast_replaceable_group
data.raw['fluid-turret']['flamethrower-turret-3'].fast_replaceable_group = data.raw['fluid-turret']['flamethrower-turret-2'].fast_replaceable_group
items[v.effect[k2]][v.type] = settings.startup[k].value
end
end
end
-- radar
data.raw['radar']['radar'].fast_replaceable_group = 'radar'
data.raw['radar']['radar-2'].fast_replaceable_group = data.raw['radar']['radar'].fast_replaceable_group
data.raw['radar']['radar-3'].fast_replaceable_group = data.raw['radar']['radar-2'].fast_replaceable_group
for k, v in pairs(items) do
if k ~= 'setting' then
if v.enabled then
data.raw[v.type][v.ref_name].fast_replaceable_group = v.type
if v.max > 2 then
data.raw[v.type][v.name .. '-' .. 2].fast_replaceable_group = data.raw[v.type][v.ref_name].fast_replaceable_group
end
if v.max > v.min then
for j=v.min + 1, v.max do
data.raw[v.type][v.name .. '-' .. j].fast_replaceable_group = data.raw[v.type][v.name .. '-' .. (j - 1)].fast_replaceable_group
end
end
end
end
end

View File

@@ -120,13 +120,27 @@ local function ET(source, tier)
end
end
for _, v in pairs(items) do
if v.enabled then
for j=v.min, v.max, 1 do
EE(v, j)
EI(v, j)
ER(v, j)
ET(v, j)
for k, v in pairs(items['setting']) do
for k2=1, #v.effect do
if items[v.effect[k2]] ~= nil then
if settings.startup[k].value < items[v.effect[k2]].min then
items[v.effect[k2]].enabled = false
end
items[v.effect[k2]][v.type] = settings.startup[k].value
end
end
end
for k, v in pairs(items) do
if k ~= 'setting' then
if v.enabled then
for j=v.min, v.max, 1 do
EE(v, j)
EI(v, j)
ER(v, j)
ET(v, j)
end
end
end
end

View File

@@ -1,8 +1,8 @@
{
"name": "PHI-WE",
"version": "1.0.4",
"version": "1.1.0",
"factorio_version": "1.1",
"date": "2023-05-13",
"date": "2023-09-19",
"title": "Phidias Warfare",
"author": "PHIDIAS0303",
"contributers": "",

View File

@@ -33,3 +33,15 @@ gun-turret-2-attack-bonus=Gun turret damage: +__1__
gun-turret-3-attack-bonus=Gun turret damage: +__1__
flamethrower-turret-2-attack-bonus=Fire damage: +__1__
flamethrower-turret-3-attack-bonus=Fire damage: +__1__
[mod-setting-name]
PHI-WE-LASER-TIER=Laser turret
PHI-WE-FLAME-TIER=Flamethrower turret
PHI-WE-GUN-TIER=Gun turret
PHI-WE-RADAR-TIER=Radar
[mod-setting-description]
PHI-WE-LASER-TIER=Default 3 ; Disable 1
PHI-WE-FLAME-TIER=Default 3 ; Disable 1
PHI-WE-GUN-TIER=Default 3 ; Disable 1
PHI-WE-RADAR-TIER=Default 3 ; Disable 1

View File

@@ -33,3 +33,15 @@ gun-turret-2-attack-bonus=ガンタレットダメージ: +__1__
gun-turret-3-attack-bonus=ガンタレットダメージ: +__1__
flamethrower-turret-2-attack-bonus=火炎放射タレット ダメージ: +__1__
flamethrower-turret-3-attack-bonus=火炎放射タレット ダメージ: +__1__
[mod-setting-name]
PHI-WE-LASER-TIER=レーザータレット
PHI-WE-FLAME-TIER=火炎放射タレット
PHI-WE-GUN-TIER=ガンタレット
PHI-WE-RADAR-TIER=レーダー
[mod-setting-description]
PHI-WE-LASER-TIER=デフォルト 3 ; 止める 1
PHI-WE-FLAME-TIER=デフォルト 3 ; 止める 1
PHI-WE-GUN-TIER=デフォルト 3 ; 止める 1
PHI-WE-RADAR-TIER=デフォルト 3 ; 止める 1

View File

@@ -33,3 +33,15 @@ gun-turret-2-attack-bonus=機槍炮塔傷害:+__1__
gun-turret-3-attack-bonus=機槍炮塔傷害:+__1__
flamethrower-turret-2-attack-bonus=火焰噴射炮塔傷害:+__1__
flamethrower-turret-3-attack-bonus=火焰噴射炮塔傷害:+__1__
[mod-setting-name]
PHI-WE-LASER-TIER=雷射炮塔
PHI-WE-FLAME-TIER=火焰噴射器
PHI-WE-GUN-TIER=機槍炮塔
PHI-WE-RADAR-TIER=雷達
[mod-setting-description]
PHI-WE-LASER-TIER=預設 3 ; 停用 1
PHI-WE-FLAME-TIER=預設 3 ; 停用 1
PHI-WE-GUN-TIER=預設 3 ; 停用 1
PHI-WE-RADAR-TIER=預設 3 ; 停用 1

View File

@@ -33,3 +33,15 @@ gun-turret-2-attack-bonus=機槍炮塔傷害:+__1__
gun-turret-3-attack-bonus=機槍炮塔傷害:+__1__
flamethrower-turret-2-attack-bonus=火焰噴射炮塔傷害:+__1__
flamethrower-turret-3-attack-bonus=火焰噴射炮塔傷害:+__1__
[mod-setting-name]
PHI-WE-LASER-TIER=雷射炮塔
PHI-WE-FLAME-TIER=火焰噴射器
PHI-WE-GUN-TIER=機槍炮塔
PHI-WE-RADAR-TIER=雷達
[mod-setting-description]
PHI-WE-LASER-TIER=預設 3 ; 停用 1
PHI-WE-FLAME-TIER=預設 3 ; 停用 1
PHI-WE-GUN-TIER=預設 3 ; 停用 1
PHI-WE-RADAR-TIER=預設 3 ; 停用 1

View File

@@ -4,13 +4,15 @@ for _, force in pairs(game.forces) do
local technologies = force.technologies
local recipes = force.recipes
for _, v in pairs(items) do
if v.enabled then
if technologies[v.tech] ~= nil then
if technologies[v.tech].researched then
for j=v.min, v.max, 1 do
recipes[v.name .. '-' .. j].enabled = true
recipes[v.name .. '-' .. j].reload()
for k, v in pairs(items) do
if k ~= 'setting' then
if v.enabled then
if technologies[v.tech] ~= nil then
if technologies[v.tech].researched then
for j=v.min, v.max, 1 do
recipes[v.name .. '-' .. j].enabled = true
recipes[v.name .. '-' .. j].reload()
end
end
end
end

29
PHI-WE/settings.lua Normal file
View File

@@ -0,0 +1,29 @@
data:extend({{
type = 'int-setting',
name = 'PHI-WE-LASER-TIER',
setting_type = 'startup',
default_value = 3,
allowed_values = {1, 2, 3},
order = 'A1'
}, {
type = 'int-setting',
name = 'PHI-WE-FLAME-TIER',
setting_type = 'startup',
default_value = 3,
allowed_values = {1, 2, 3},
order = 'A2'
}, {
type = 'int-setting',
name = 'PHI-WE-GUN-TIER',
setting_type = 'startup',
default_value = 3,
allowed_values = {1, 2, 3},
order = 'A3'
}, {
type = 'int-setting',
name = 'PHI-WE-RADAR-TIER',
setting_type = 'startup',
default_value = 3,
allowed_values = {1, 2, 3},
order = 'A4'
}})