mirror of
https://github.com/PHIDIAS0303/factorio-mod-PHI.git
synced 2025-12-31 04:11:39 +09:00
.
This commit is contained in:
@@ -1,4 +1,38 @@
|
||||
local items = {
|
||||
['setting'] = {
|
||||
['PHI-EQ-SOLAR-TIER'] = {
|
||||
type = 'max',
|
||||
effect = {'solar-panel'}
|
||||
},
|
||||
['PHI-EQ-BATTERY-TIER'] = {
|
||||
type = 'max',
|
||||
effect = {'battery'}
|
||||
},
|
||||
['PHI-EQ-REACTOR-TIER'] = {
|
||||
type = 'max',
|
||||
effect = {'fusion-reactor'}
|
||||
},
|
||||
['PHI-EQ-LASER-TIER'] = {
|
||||
type = 'max',
|
||||
effect = {'personal-laser-defense'}
|
||||
},
|
||||
['PHI-EQ-ROBOPORT-TIER'] = {
|
||||
type = 'max',
|
||||
effect = {'personal-roboport'}
|
||||
},
|
||||
['PHI-EQ-SHIELD-TIER'] = {
|
||||
type = 'max',
|
||||
effect = {'energy-shield'}
|
||||
},
|
||||
['PHI-EQ-NIGHT-TIER'] = {
|
||||
type = 'max',
|
||||
effect = {'night-vision'}
|
||||
},
|
||||
['PHI-EQ-EXO-TIER'] = {
|
||||
type = 'max',
|
||||
effect = {'exoskeleton'}
|
||||
}
|
||||
},
|
||||
['solar-panel'] = {
|
||||
enabled = true,
|
||||
type = 'solar-panel',
|
||||
|
||||
122
PHI-EQ/data.lua
122
PHI-EQ/data.lua
@@ -9,7 +9,7 @@ local function EE(source, tier)
|
||||
item['categories'] = {'armor'}
|
||||
local w = 1
|
||||
local h = 1
|
||||
|
||||
|
||||
if (source.type == 'solar-panel') then
|
||||
item['type'] = 'solar-panel-equipment'
|
||||
item['power'] = (source.base * (2 ^ (tier - 1))) .. 'kW'
|
||||
@@ -124,63 +124,77 @@ local function ET(source, tier)
|
||||
table.insert(data.raw.technology[source.tech].effects, {type='unlock-recipe', recipe=source.name .. '-mk' .. tier .. '-equipment'})
|
||||
end
|
||||
|
||||
data:extend({
|
||||
{
|
||||
type = 'equipment-grid',
|
||||
name = 'equipment-grid-14x14',
|
||||
width = 14,
|
||||
height = 14,
|
||||
equipment_categories = {'armor'}
|
||||
},
|
||||
{
|
||||
type = 'armor',
|
||||
if settings.startup['PHI-EQ-ARMOR'].value then
|
||||
data:extend({
|
||||
{
|
||||
type = 'equipment-grid',
|
||||
name = 'equipment-grid-14x14',
|
||||
width = 14,
|
||||
height = 14,
|
||||
equipment_categories = {'armor'}
|
||||
},
|
||||
{
|
||||
type = 'armor',
|
||||
name = 'power-armor-mk3',
|
||||
icon = '__base__/graphics/icons/power-armor-mk2.png',
|
||||
icon_size = 64, icon_mipmaps = 4,
|
||||
resistances = {{type = 'physical', decrease = 20, percent = 50}, {type = 'acid', decrease = 20, percent = 80},
|
||||
{type = 'explosion', decrease = 70, percent = 60}, {type = 'fire', decrease = 20, percent = 80},
|
||||
{type = 'laser', decrease = 20, percent = 50}, {type = 'electric', decrease = 20, percent = 50},
|
||||
{type = 'impact', decrease = 20, percent = 50}, {type = 'poison', decrease = 20, percent = 50}},
|
||||
subgroup = 'armor',
|
||||
order = 'eb[power-armor-mk3]',
|
||||
stack_size = 1,
|
||||
infinite = true,
|
||||
equipment_grid = 'equipment-grid-14x14',
|
||||
inventory_size_bonus = 40,
|
||||
open_sound = {filename = '__base__/sound/armor-open.ogg', volume = 1},
|
||||
close_sound = {filename = '__base__/sound/armor-close.ogg', volume = 1}
|
||||
}
|
||||
})
|
||||
|
||||
data:extend({{
|
||||
type = 'recipe',
|
||||
name = 'power-armor-mk3',
|
||||
icon = '__base__/graphics/icons/power-armor-mk2.png',
|
||||
icon_size = 64, icon_mipmaps = 4,
|
||||
resistances = {{type = 'physical', decrease = 20, percent = 50}, {type = 'acid', decrease = 20, percent = 80},
|
||||
{type = 'explosion', decrease = 70, percent = 60}, {type = 'fire', decrease = 20, percent = 80},
|
||||
{type = 'laser', decrease = 20, percent = 50}, {type = 'electric', decrease = 20, percent = 50},
|
||||
{type = 'impact', decrease = 20, percent = 50}, {type = 'poison', decrease = 20, percent = 50}},
|
||||
subgroup = 'armor',
|
||||
order = 'eb[power-armor-mk3]',
|
||||
stack_size = 1,
|
||||
infinite = true,
|
||||
equipment_grid = 'equipment-grid-14x14',
|
||||
inventory_size_bonus = 40,
|
||||
open_sound = {filename = '__base__/sound/armor-open.ogg', volume = 1},
|
||||
close_sound = {filename = '__base__/sound/armor-close.ogg', volume = 1}
|
||||
}
|
||||
})
|
||||
energy_required = 5,
|
||||
enabled = 'false',
|
||||
ingredients = {{'power-armor-mk2', 2}},
|
||||
result = 'power-armor-mk3'
|
||||
}})
|
||||
|
||||
data:extend({{
|
||||
type = 'recipe',
|
||||
name = 'power-armor-mk3',
|
||||
energy_required = 5,
|
||||
enabled = 'false',
|
||||
ingredients = {{'power-armor-mk2', 2}},
|
||||
result = 'power-armor-mk3'
|
||||
}})
|
||||
for _, animation in ipairs(data.raw['character']['character']['animations']) do
|
||||
if animation.armors then
|
||||
for _, armor in ipairs(animation.armors) do
|
||||
if armor == 'power-armor-mk2' then
|
||||
animation.armors[#animation.armors + 1] = 'power-armor-mk3'
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for _, animation in ipairs(data.raw['character']['character']['animations']) do
|
||||
if animation.armors then
|
||||
for _, armor in ipairs(animation.armors) do
|
||||
if armor == 'power-armor-mk2' then
|
||||
animation.armors[#animation.armors + 1] = 'power-armor-mk3'
|
||||
break
|
||||
table.insert(data.raw.technology['power-armor-mk2'].effects, {type='unlock-recipe', recipe='power-armor-mk3'})
|
||||
end
|
||||
|
||||
for k, v in pairs(items['setting']) do
|
||||
for k2=1, #v.effect do
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
table.insert(data.raw.technology['power-armor-mk2'].effects, {type='unlock-recipe', recipe='power-armor-mk3'})
|
||||
|
||||
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)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "PHI-EQ",
|
||||
"version": "1.1.16",
|
||||
"version": "1.2.0",
|
||||
"factorio_version": "1.1",
|
||||
"date": "2023-05-10",
|
||||
"date": "2023-09-19",
|
||||
"title": "Phidias Equipment",
|
||||
"author": "PHIDIAS0303",
|
||||
"contributers": "",
|
||||
|
||||
@@ -146,3 +146,14 @@ personal-roboport-mk8-equipment=Personal Roboport MK8
|
||||
|
||||
night-vision-mk2-equipment=Nightvision Equipment MK2
|
||||
exoskeleton-mk2-equipment=Exoskeleton MK2
|
||||
|
||||
[mod-setting-name]
|
||||
PHI-EQ-SOLAR-TIER=Portable Solar Panel
|
||||
PHI-EQ-BATTERY-TIER=Personal Battery
|
||||
PHI-EQ-REACTOR-TIER=Portable Fusion Reactor
|
||||
PHI-EQ-LASER-TIER=Personal Laser Defense
|
||||
PHI-EQ-ROBOPORT-TIER=Personal Roboport
|
||||
PHI-EQ-SHIELD-TIER=Energy Shield
|
||||
PHI-EQ-NIGHT-TIER=Nightvision Equipment
|
||||
PHI-EQ-EXO-TIER=Exoskeleton
|
||||
PHI-EQ-ARMOR=Power armor
|
||||
|
||||
@@ -146,3 +146,14 @@ personal-roboport-mk8-equipment=携帯ロボットステーション8代
|
||||
|
||||
night-vision-mk2-equipment=暗視モジュール2代
|
||||
exoskeleton-mk2-equipment=強化外骨格モジュール2代
|
||||
|
||||
[mod-setting-name]
|
||||
PHI-EQ-SOLAR-TIER=携帯ソーラーパネルモジュール
|
||||
PHI-EQ-BATTERY-TIER=個人用バッテリー
|
||||
PHI-EQ-REACTOR-TIER=携帯核融合炉モジュール
|
||||
PHI-EQ-LASER-TIER=携帯レーザー防御モジュール
|
||||
PHI-EQ-ROBOPORT-TIER=携帯ロボットステーション
|
||||
PHI-EQ-SHIELD-TIER=エネルギーシールドモジュール
|
||||
PHI-EQ-NIGHT-TIER=暗視モジュール
|
||||
PHI-EQ-EXO-TIER=強化外骨格モジュール
|
||||
PHI-EQ-ARMOR=パワーアーマー
|
||||
|
||||
@@ -146,3 +146,14 @@ personal-roboport-mk8-equipment=機動無人機調度站8代
|
||||
|
||||
night-vision-mk2-equipment=夜視鏡2代
|
||||
exoskeleton-mk2-equipment=動力外骨骼2代
|
||||
|
||||
[mod-setting-name]
|
||||
PHI-EQ-SOLAR-TIER=攜帶式太陽能板
|
||||
PHI-EQ-BATTERY-TIER=電池設備
|
||||
PHI-EQ-REACTOR-TIER=攜帶式核融合反應器
|
||||
PHI-EQ-LASER-TIER=個人雷射防禦
|
||||
PHI-EQ-ROBOPORT-TIER=機動無人機調度站
|
||||
PHI-EQ-SHIELD-TIER=能量護盾
|
||||
PHI-EQ-NIGHT-TIER=夜視鏡
|
||||
PHI-EQ-EXO-TIER=動力外骨骼
|
||||
PHI-EQ-ARMOR=動力護甲
|
||||
|
||||
@@ -146,3 +146,14 @@ personal-roboport-mk8-equipment=機動無人機調度站8代
|
||||
|
||||
night-vision-mk2-equipment=夜視鏡2代
|
||||
exoskeleton-mk2-equipment=動力外骨骼2代
|
||||
|
||||
[mod-setting-name]
|
||||
PHI-EQ-SOLAR-TIER=攜帶式太陽能板
|
||||
PHI-EQ-BATTERY-TIER=電池設備
|
||||
PHI-EQ-REACTOR-TIER=攜帶式核融合反應器
|
||||
PHI-EQ-LASER-TIER=個人雷射防禦
|
||||
PHI-EQ-ROBOPORT-TIER=機動無人機調度站
|
||||
PHI-EQ-SHIELD-TIER=能量護盾
|
||||
PHI-EQ-NIGHT-TIER=夜視鏡
|
||||
PHI-EQ-EXO-TIER=動力外骨骼
|
||||
PHI-EQ-ARMOR=動力護甲
|
||||
|
||||
63
PHI-EQ/settings.lua
Normal file
63
PHI-EQ/settings.lua
Normal file
@@ -0,0 +1,63 @@
|
||||
data:extend({{
|
||||
type = 'int-setting',
|
||||
name = 'PHI-EQ-SOLAR-TIER',
|
||||
setting_type = 'startup',
|
||||
default_value = 8,
|
||||
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8},
|
||||
order = 'A1'
|
||||
}, {
|
||||
type = 'int-setting',
|
||||
name = 'PHI-EQ-BATTERY-TIER',
|
||||
setting_type = 'startup',
|
||||
default_value = 8,
|
||||
allowed_values = {2, 3, 4, 5, 6, 7, 8},
|
||||
order = 'A2'
|
||||
}, {
|
||||
type = 'int-setting',
|
||||
name = 'PHI-EN-REACTOR-TIER',
|
||||
setting_type = 'startup',
|
||||
default_value = 8,
|
||||
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8},
|
||||
order = 'A3'
|
||||
}, {
|
||||
type = 'int-setting',
|
||||
name = 'PHI-EN-LASER-TIER',
|
||||
setting_type = 'startup',
|
||||
default_value = 8,
|
||||
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8},
|
||||
order = 'A4'
|
||||
}, {
|
||||
type = 'int-setting',
|
||||
name = 'PHI-EN-ROBOPORT-TIER',
|
||||
setting_type = 'startup',
|
||||
default_value = 8,
|
||||
allowed_values = {2, 3, 4, 5, 6, 7, 8},
|
||||
order = 'A5'
|
||||
}, {
|
||||
type = 'int-setting',
|
||||
name = 'PHI-EN-SHIELD-TIER',
|
||||
setting_type = 'startup',
|
||||
default_value = 8,
|
||||
allowed_values = {2, 3, 4, 5, 6, 7, 8},
|
||||
order = 'A6'
|
||||
}, {
|
||||
type = 'int-setting',
|
||||
name = 'PHI-EN-NIGHT-TIER',
|
||||
setting_type = 'startup',
|
||||
default_value = 2,
|
||||
allowed_values = {1, 2},
|
||||
order = 'A7'
|
||||
}, {
|
||||
type = 'int-setting',
|
||||
name = 'PHI-EN-EXO-TIER',
|
||||
setting_type = 'startup',
|
||||
default_value = 2,
|
||||
allowed_values = {1, 2},
|
||||
order = 'A8'
|
||||
}, {
|
||||
type = 'bool-setting',
|
||||
name = 'PHI-EQ-ARMOR',
|
||||
setting_type = 'startup',
|
||||
default_value = true,
|
||||
order = 'A9'
|
||||
}})
|
||||
Reference in New Issue
Block a user