This commit is contained in:
2024-10-25 00:23:26 +09:00
parent 0119818911
commit f011cc7290
11 changed files with 337 additions and 722 deletions

View File

@@ -243,120 +243,9 @@ local items = {
min = 2,
max = settings.startup['PHI-WE-RADAR-TIER'].value
}
},
['equipment'] = {
['solar-panel-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'solar-panel-equipment',
name = 'solar-panel',
ref_name = 'solar-panel-equipment',
tech = 'solar-panel-equipment',
min = 2,
max = settings.startup['PHI-EQ-SOLAR-TIER'].value,
base = 30,
graphics_name = 'solar-panel-equipment'
},
['fusion-reactor-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'generator-equipment',
name = 'fusion-reactor',
ref_name = 'fusion-reactor-equipment',
tech = 'fusion-reactor-equipment',
min = 2,
max = settings.startup['PHI-EQ-REACTOR-TIER'].value
},
['battery-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'battery-equipment',
name = 'battery',
ref_name = 'battery-mk3-equipment',
tech = 'battery-mk3-equipment',
min = 4,
max = settings.startup['PHI-EQ-BATTERY-TIER'].value
},
['personal-laser-defense-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'active-defense-equipment',
name = 'personal-laser-defense',
ref_name = 'personal-laser-defense-equipment',
tech = 'personal-laser-defense-equipment',
min = 2,
max = settings.startup['PHI-EQ-LASER-TIER'].value
},
['energy-shield-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'energy-shield-equipment',
name = 'energy-shield',
ref_name = 'energy-shield-mk2-equipment',
tech = 'energy-shield-mk2-equipment',
min = 3,
max = settings.startup['PHI-EQ-SHIELD-TIER'].value
},
['personal-roboport-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'roboport-equipment',
name = 'personal-roboport',
ref_name = 'personal-roboport-mk2-equipment',
tech = 'personal-roboport-mk2-equipment',
min = 3,
max = settings.startup['PHI-EQ-ROBOPORT-TIER'].value
},
['night-vision-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'night-vision-equipment',
name = 'night-vision',
ref_name = 'night-vision-equipment',
tech = 'night-vision-equipment',
min = 2,
max = settings.startup['PHI-EQ-NIGHT-TIER'].value
},
['exoskeleton-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'movement-bonus-equipment',
name = 'exoskeleton',
ref_name = 'exoskeleton-equipment',
tech = 'exoskeleton-equipment',
min = 2,
max = settings.startup['PHI-EQ-EXO-TIER'].value
}
},
['bonus'] = {
player_bonus = {
['character_mining_speed_modifier'] = {
value = settings.startup['PHI-PB-CMMS'].value
},
['character_running_speed_modifier'] = {
value = settings.startup['PHI-PB-CRS'].value
},
['character_crafting_speed_modifier'] = {
value = settings.startup['PHI-PB-CCS'].value
},
['character_inventory_slots_bonus'] = {
value = settings.startup['PHI-PB-CISB'].value
},
['character_health_bonus'] = {
value = settings.startup['PHI-PB-CHB'].value
},
['character_reach_distance_bonus'] = {
value = settings.startup['PHI-PB-CRDB'].value,
combined_bonus = {
'character_resource_reach_distance_bonus',
'character_build_distance_bonus'
}
}
}
}
}
--[[
if mods['space-age'] then
items['item']['fusion-reactor'] = {
enabled = settings.startup['PHI-EN'].value,
@@ -391,6 +280,42 @@ if mods['space-age'] then
max = settings.startup['PHI-EN-NUCLEAR-TIER'].value
}
items['item']['railgun-turret'] = {
enabled = settings.startup['PHI-WE'].value,
stage = 2,
type = 'ammo-turret',
name = 'railgun-turret',
ref_name = 'railgun-turret',
tech = 'railgun',
min = 2,
max = settings.startup['PHI-WE-GUN-TIER'].value
}
items['item']['rocket-turret'] = {
enabled = settings.startup['PHI-WE'].value,
stage = 2,
type = 'ammo-turret',
name = 'rocket-turret',
ref_name = 'rocket-turret',
tech = 'rocket-turret',
min = 2,
max = settings.startup['PHI-WE-GUN-TIER'].value
}
items['item']['tesla-turret'] = {
enabled = settings.startup['PHI-WE'].value,
stage = 2,
type = 'electric-turret',
name = 'tesla-turret',
ref_name = 'tesla-turret',
tech = 'tesla-weapons',
min = 2,
max = settings.startup['PHI-WE-LASER-TIER'].value
}
end
--[[
if mods['space-age'] then
items['item']['foundry'] = {
enabled = settings.startup['PHI-MB'].value,
stage = 2,
@@ -400,7 +325,7 @@ if mods['space-age'] then
tech = 'foundry',
min = 2,
max = settings.startup['PHI-MB-FURNACE-TIER'].value
}
items['item']['big-mining-drill'] = {
enabled = settings.startup['PHI-MB'].value,
@@ -435,39 +360,6 @@ if mods['space-age'] then
max = settings.startup['PHI-MB-ASSEMBLING-TIER'].value
}
items['item']['railgun-turret'] = {
enabled = settings.startup['PHI-WE'].value,
stage = 2,
type = 'ammo-turret',
name = 'railgun-turret',
ref_name = 'railgun-turret',
tech = 'railgun',
min = 2,
max = settings.startup['PHI-WE-GUN-TIER'].value
}
items['item']['rocket-turret'] = {
enabled = settings.startup['PHI-WE'].value,
stage = 2,
type = 'ammo-turret',
name = 'rocket-turret',
ref_name = 'rocket-turret',
tech = 'rocket-turret',
min = 2,
max = settings.startup['PHI-WE-GUN-TIER'].value
}
items['item']['tesla-turret'] = {
enabled = settings.startup['PHI-WE'].value,
stage = 2,
type = 'electric-turret',
name = 'tesla-turret',
ref_name = 'tesla-turret',
tech = 'tesla-weapons',
min = 2,
max = settings.startup['PHI-WE-LASER-TIER'].value
}
items['item']['biolab'] = {
enabled = settings.startup['PHI-MB'].value,
stage = 2,

View File

@@ -22,46 +22,6 @@ if settings.startup['PHI-XC'].value then
end)
end
if settings.startup['PHI-PB'].value then
commands.add_command('phi-pb-bonus', nil, function(command)
if not command.player_index then
game.print('Command Error - PHI-PB-BONUS')
return
end
local player = game.get_player(command.player_index)
local bonus = tonumber(command.parameter)
if not player then
return
end
if type(bonus) ~= 'number' then
player.print('Parameter need to be number')
return
end
if (bonus < 0) or (bonus > 10) then
player.print('Parameter need to be in range of 0 - 10')
return
end
for k, v in pairs(items['bonus']['player_bonus']) do
game.players[command.player_index][k] = bonus / 10 * v.value
if v.combined_bonus then
for i=1, #v.combined_bonus, 1 do
game.players[command.player_index][v.combined_bonus[i]] = bonus / 10 * v.value
end
end
end
end)
script.on_event(defines.events.on_player_died, function(event)
game.players[event.player_index].ticks_to_respawn = 120
end)
end
if settings.startup['PHI-CT'].value and settings.startup['PHI-CT-TRASH'].value then
local function trash_creation(event)
local entity = event.created_entity or event.entity

View File

@@ -16,16 +16,3 @@ for _, v in pairs(items['item']) do
main.EL(v)
end
end
for _, v in pairs(items['equipment']) do
if (v.stage == file_stage) and v.enabled and (v.max >= v.min) then
v.category = 'equipment'
for j=v.min, v.max, 1 do
main.EEQ(v, j)
main.EI(v, j)
main.ER(v, j)
main.ET(v, j)
end
end
end

View File

@@ -411,6 +411,7 @@ if settings.startup['PHI-MI'].value and (settings.startup['PHI-MI-LANDFILL'].val
data.raw.recipe['landfill'].ingredients = {{type='item', name='stone', amount=settings.startup['PHI-MI-LANDFILL'].value}}
end
--[[
if settings.startup['PHI-EQ'].value and settings.startup['PHI-EQ-ARMOR'].value then
data:extend({
{
@@ -511,68 +512,67 @@ if settings.startup['PHI-EQ'].value and settings.startup['PHI-EQ-ARMOR'].value t
table.insert(data.raw.technology['power-armor-mk2'].effects, {type='unlock-recipe', recipe='power-armor-mk3'})
end
if settings.startup['PHI-XW-WATER'].value > 0 then
local ocfs = 'offshore-pump'
data.raw[ocfs][ocfs].pumping_speed = settings.startup['PHI-XW-WATER'].value * 20
data.raw[ocfs][ocfs].flags = {'placeable-neutral', 'player-creation'}
data.raw[ocfs][ocfs].layers = {
item = true,
object = true,
player = true,
water_tile = true,
elevated_rail = true
}
data.raw[ocfs][ocfs].adjacent_tile_collision_mask = nil
data.raw[ocfs][ocfs].adjacent_tile_collision_test = {'ground-tile'}
data.raw[ocfs][ocfs].tile_buildability_rules = nil
data.raw[ocfs][ocfs].water_reflection = nil
end
]]
if settings.startup['PHI-CT'].value and settings.startup['PHI-CT-OIL'].value then
local item = table.deepcopy(data.raw['item']['offshore-pump'])
for _, v in pairs({'water', 'crude-oil', 'lava'}) do
if data.raw.fluid[v] then
local item = table.deepcopy(data.raw['item']['offshore-pump'])
item.name = 'oil-pump'
item.place_result = 'oil-pump'
item.order = 'b[fluids]-a[offshore-pump]-o'
item.pumping_speed = 20
item.adjacent_tile_collision_mask = nil
item.adjacent_tile_collision_test = {'ground-tile'}
item.tile_buildability_rules = nil
item.water_reflection = nil
item.layers = {
item = true,
object = true,
player = true,
water_tile = true,
elevated_rail = true
}
item.name = v .. '-pump'
item.place_result = v .. '-pump'
item.order = 'b[fluids]-a[offshore-pump]-o'
item.icons = {
{
icon = '__base__/graphics/icons/offshore-pump.png',
tint = items['tint'][2],
icon_size = 64,
icon_mipmaps = 4
}
}
item.icons = {
{
icon = '__base__/graphics/icons/offshore-pump.png',
tint = items['tint'][2],
icon_size = 64,
icon_mipmaps = 4
}
}
item.icon = nil
item.icon_size = nil
item.icon_mipmaps = nil
item.localised_name = {'name.oil-pump'}
item.localised_description = {'description.oil-pump'}
data:extend({item})
item.icon = nil
item.icon_size = nil
item.icon_mipmaps = nil
item.localised_name = {'name.' .. v .. '-pump'}
item.localised_description = {'description.' .. v .. '-pump'}
data:extend({item})
local entity = table.deepcopy(data.raw['offshore-pump']['offshore-pump'])
entity.name = 'oil-pump'
entity.minable.result = 'oil-pump'
entity.fluid = 'crude-oil'
entity.fluid_box.filter = 'crude-oil'
entity.localised_name = {'name.oil-pump'}
entity.localised_description = {'description.oil-pump'}
data:extend({entity})
local entity = table.deepcopy(data.raw['offshore-pump']['offshore-pump'])
entity.name = v .. '-pump'
entity.minable.result = v .. '-pump'
entity.fluid = 'crude-oil'
entity.fluid_box.filter = 'crude-oil'
entity.localised_name = {'name.' .. v .. '-pump'}
entity.localised_description = {'description.' .. v .. '-pump'}
data:extend({entity})
data:extend({{
type = 'recipe',
name = 'oil-pump',
energy_required = 2,
enabled = true,
ingredients = {{type='item', name='electronic-circuit', amount=2}, {type='item', name='pipe', amount=1}, {type='item', name='iron-gear-wheel', amount=1}},
results = {{type='item', name='oil-pump', amount=1}},
main_product = 'oil-pump',
localised_name = {'name.oil-pump'},
localised_description = {'description.oil-pump'}
}})
data:extend({{
type = 'recipe',
name = v .. '-pump',
energy_required = 2,
enabled = true,
ingredients = {{type='item', name='electronic-circuit', amount=2}, {type='item', name='pipe', amount=1}, {type='item', name='iron-gear-wheel', amount=1}},
results = {{type='item', name= v .. '-pump', amount=1}},
main_product = v .. '-pump',
localised_name = {'name.' .. v .. '-pump'},
localised_description = {'description.' .. v .. '-pump'}
}})
end
end
end
for _, v in pairs(items['item']) do
@@ -589,16 +589,3 @@ for _, v in pairs(items['item']) do
main.EL(v)
end
end
for _, v in pairs(items['equipment']) do
if (v.stage == file_stage) and v.enabled and (v.max >= v.min) then
v.category = 'equipment'
for j=v.min, v.max, 1 do
main.EEQ(v, j)
main.EI(v, j)
main.ER(v, j)
main.ET(v, j)
end
end
end

View File

@@ -272,28 +272,8 @@ PHI-MI-ROBOT=MI8 Robot efficiency
PHI-MI-TRAIN=MI9 Train efficiency
PHI-MI-ARTILLERY=MI10 Artillery range
PHI-XW-WATER=XW Water anywhere
PHI-XC=XC Clock GUI
PHI-PB=PB Bonus command
PHI-PB-CMMS=PBA1 Character manual mining speed
PHI-PB-CRS=PBA2 Character running speed
PHI-PB-CCS=PBA3 Character crafting speed
PHI-PB-CISB=PBA4 Character inventory slots bonus
PHI-PB-CHB=PBA5 Character health bonus
PHI-PB-CRDB=PBA6 Character reach distance bonus
PHI-PB-FMMS=PBB1 Force manual mining speed
PHI-PB-FRS=PBB2 Force running speed
PHI-PB-FCS=PBB3 Force crafting speed
PHI-PB-FISB=PBB4 Force inventory slots bonus
PHI-PB-FHB=PBB5 Force health bonus
PHI-PB-FRDB=PBB6 Force reach distance bonus
PHI-PB-FWRSM=PBB7 Force worker robots speed modifier
PHI-PB-FWRBM=PBB8 Force worker robots battery modifier
PHI-PB-FWRSB=PBB9 Force worker robots storage bonus
PHI-PB-FFRLM=PBB10 Force following robots lifetime modifier
PHI-CT=CT Creative testing tools
PHI-CT-OIL=CT1 Oil
PHI-CT-RADAR=CT2 Radar
@@ -340,19 +320,3 @@ PHI-MI-REPAIR=Default 1
PHI-MI-PIPE=Default 1
PHI-MI-ROBOT=Default 1
PHI-MI-TRAIN=Default 1
PHI-PB-CMMS=Default 2
PHI-PB-CRS=Default 1.5
PHI-PB-CCS=Default 5
PHI-PB-CISB=Default 100
PHI-PB-CHB=Default 200
PHI-PB-CRDB=Default 10
PHI-PB-FMMS=Default 2
PHI-PB-FRS=Default 1.5
PHI-PB-FCS=Default 5
PHI-PB-FISB=Default 100
PHI-PB-FHB=Default 200
PHI-PB-FRDB=Default 10
PHI-XW-WATER=Default 1 ; Disable 0

View File

@@ -271,28 +271,8 @@ PHI-MI-ROBOT=MI8 ロボット効率
PHI-MI-TRAIN=MI9 列車効率
PHI-MI-ARTILLERY=MI10 長距離砲射程
PHI-XW-WATER=XW どこでも水
PHI-XC=XC 時計 GUI
PHI-PB=PB ボーナス コマンド
PHI-PB-CMMS=PBA1 Character manual mining speed
PHI-PB-CRS=PBA2 Character running speed
PHI-PB-CCS=PBA3 Character crafting speed
PHI-PB-CISB=PBA4 Character inventory slots bonus
PHI-PB-CHB=PBA5 Character health bonus
PHI-PB-CRDB=PBA6 Character reach distance bonus
PHI-PB-FMMS=PBB1 Force manual mining speed
PHI-PB-FRS=PBB2 Force running speed
PHI-PB-FCS=PBB3 Force crafting speed
PHI-PB-FISB=PBB4 Force inventory slots bonus
PHI-PB-FHB=PBB5 Force health bonus
PHI-PB-FRDB=PBB6 Force reach distance bonus
PHI-PB-FWRSM=PBB7 Force worker robots speed modifier
PHI-PB-FWRBM=PBB8 Force worker robots battery modifier
PHI-PB-FWRSB=PBB9 Force worker robots storage bonus
PHI-PB-FFRLM=PBB10 Force following robots lifetime modifier
PHI-CT=CT クリエイティブテストツール
PHI-CT-OIL=CT1 原油
PHI-CT-RADAR=CT2 レーダー
@@ -339,19 +319,3 @@ PHI-MI-REPAIR=デフォルト 1
PHI-MI-PIPE=デフォルト 1
PHI-MI-ROBOT=デフォルト 1
PHI-MI-TRAIN=デフォルト 1
PHI-PB-CMMS=デフォルト 2
PHI-PB-CRS=デフォルト 1.5
PHI-PB-CCS=デフォルト 5
PHI-PB-CISB=デフォルト 100
PHI-PB-CHB=デフォルト 200
PHI-PB-CRDB=デフォルト 10
PHI-PB-FMMS=デフォルト 2
PHI-PB-FRS=デフォルト 1.5
PHI-PB-FCS=デフォルト 5
PHI-PB-FISB=デフォルト 100
PHI-PB-FHB=デフォルト 200
PHI-PB-FRDB=デフォルト 10
PHI-XW-WATER=デフォルト 1 ; 止める 0

View File

@@ -271,28 +271,8 @@ PHI-MI-ROBOT=MI8 無人機效率
PHI-MI-TRAIN=MI9 火車效率
PHI-MI-ARTILLERY=MI10 火炮炮彈射程
PHI-XW-WATER=XW 隨處水源
PHI-XC=XC 時鐘介面
PHI-PB=PB Bonus 命令
PHI-PB-CMMS=PBA1 個人挖掘速度
PHI-PB-CRS=PBA2 個人跑步速度
PHI-PB-CCS=PBA3 個人合成速度
PHI-PB-CISB=PBA4 個人儲存位
PHI-PB-CHB=PBA5 個人生命
PHI-PB-CRDB=PBA6 個人到達距離
PHI-PB-FMMS=PBB1 勢力挖掘速度
PHI-PB-FRS=PBB2 勢力跑步速度
PHI-PB-FCS=PBB3 勢力合成速度
PHI-PB-FISB=PBB4 勢力儲存位
PHI-PB-FHB=PBB5 勢力生命
PHI-PB-FRDB=PBB6 勢力到達距離
PHI-PB-FWRSM=PBB7 勢力機械人速度
PHI-PB-FWRBM=PBB8 勢力機械人電力
PHI-PB-FWRSB=PBB9 勢力機械人儲存
PHI-PB-FFRLM=PBB10 勢力戰鬥機械人生命時間
PHI-CT=CT 創意測試工具
PHI-CT-OIL=CT1 原油
PHI-CT-RADAR=CT2 雷達
@@ -340,18 +320,4 @@ PHI-MI-PIPE=預設 1
PHI-MI-ROBOT=預設 1
PHI-MI-TRAIN=預設 1
PHI-PB-CMMS=預設 2
PHI-PB-CRS=預設 1.5
PHI-PB-CCS=預設 5
PHI-PB-CISB=預設 100
PHI-PB-CHB=預設 200
PHI-PB-CRDB=預設 10
PHI-PB-FMMS=預設 2
PHI-PB-FRS=預設 1.5
PHI-PB-FCS=預設 5
PHI-PB-FISB=預設 100
PHI-PB-FHB=預設 200
PHI-PB-FRDB=預設 10
PHI-XW-WATER=預設 1 ; 停用 0

View File

@@ -271,28 +271,8 @@ PHI-MI-ROBOT=MI8 無人機效率
PHI-MI-TRAIN=MI9 火車效率
PHI-MI-ARTILLERY=MI10 火炮炮彈射程
PHI-XW-WATER=XW 隨處水源
PHI-XC=XC 時鐘介面
PHI-PB=PB Bonus 命令
PHI-PB-CMMS=PBA1 個人挖掘速度
PHI-PB-CRS=PBA2 個人跑步速度
PHI-PB-CCS=PBA3 個人合成速度
PHI-PB-CISB=PBA4 個人儲存位
PHI-PB-CHB=PBA5 個人生命
PHI-PB-CRDB=PBA6 個人到達距離
PHI-PB-FMMS=PBB1 勢力挖掘速度
PHI-PB-FRS=PBB2 勢力跑步速度
PHI-PB-FCS=PBB3 勢力合成速度
PHI-PB-FISB=PBB4 勢力儲存位
PHI-PB-FHB=PBB5 勢力生命
PHI-PB-FRDB=PBB6 勢力到達距離
PHI-PB-FWRSM=PBB7 勢力機械人速度
PHI-PB-FWRBM=PBB8 勢力機械人電力
PHI-PB-FWRSB=PBB9 勢力機械人儲存
PHI-PB-FFRLM=PBB10 勢力戰鬥機械人生命時間
PHI-CT=CT 創意測試工具
PHI-CT-OIL=CT1 原油
PHI-CT-RADAR=CT2 雷達
@@ -340,18 +320,4 @@ PHI-MI-PIPE=預設 1
PHI-MI-ROBOT=預設 1
PHI-MI-TRAIN=預設 1
PHI-PB-CMMS=預設 2
PHI-PB-CRS=預設 1.5
PHI-PB-CCS=預設 5
PHI-PB-CISB=預設 100
PHI-PB-CHB=預設 200
PHI-PB-CRDB=預設 10
PHI-PB-FMMS=預設 2
PHI-PB-FRS=預設 1.5
PHI-PB-FCS=預設 5
PHI-PB-FISB=預設 100
PHI-PB-FHB=預設 200
PHI-PB-FRDB=預設 10
PHI-XW-WATER=預設 1 ; 停用 0

View File

@@ -36,19 +36,19 @@ function main.EEE(source, tier)
if (source.type == 'electric-turret') or (source.type == 'ammo-turret') or (source.type == 'fluid-turret') then
item.attack_parameters.damage_modifier = (2 ^ (tier - source.min + 1))
item.attack_parameters.range = item.attack_parameters.range + (2 * (tier - source.min))
item.call_for_help_radius = item.call_for_help_radius + (2 * (tier - source.min))
item.attack_parameters.range = item.attack_parameters.range + (2 * (tier - source.min + 1))
item.call_for_help_radius = item.call_for_help_radius + (2 * (tier - source.min + 1))
if source.type == 'electric-turret' then
item.attack_parameters.damage_modifier = item.attack_parameters.damage_modifier * 2
item.glow_light_intensity = 1
item.attack_parameters.ammo_type.action.action_delivery.max_length = item.attack_parameters.ammo_type.action.action_delivery.max_length + (2 * (tier - source.min))
item.attack_parameters.ammo_type.action.action_delivery.max_length = item.attack_parameters.ammo_type.action.action_delivery.max_length + (2 * (tier - source.min + 1))
item.attack_parameters.ammo_type.energy_consumption = tonumber(string.match(item.attack_parameters.ammo_type.energy_consumption, '[%d%.]+')) * (2 ^ (tier - source.min + 1)) .. string.match(item.attack_parameters.ammo_type.energy_consumption, '%a+')
item.energy_source.input_flow_limit = tonumber(string.match(item.energy_source.input_flow_limit, '[%d%.]+')) * (2 ^ (tier - source.min + 1)) .. string.match(item.energy_source.input_flow_limit, '%a+')
item.energy_source.buffer_capacity = tonumber(string.match(item.energy_source.buffer_capacity, '[%d%.]+')) * (2 ^ (tier - source.min + 1)) .. string.match(item.energy_source.buffer_capacity, '%a+')
elseif source.type == 'fluid-turret' then
item.prepare_range = item.prepare_range + (2 * (tier - source.min))
item.prepare_range = item.prepare_range + (2 * (tier - source.min + 1))
end
end
@@ -214,94 +214,6 @@ function main.EEE(source, tier)
data:extend({item})
end
-- equipment
function main.EEQ(source, tier)
local item = table.deepcopy(data.raw[source.type][source.ref_name])
item.name = source.name .. '-mk' .. tier .. '-equipment'
item.take_result = item.name
if item.power then
item.power = tostring(tonumber(string.match(item.power, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.power, '%a+')
end
if item.energy_source then
if item.energy_source.buffer_capacity then
item.energy_source.buffer_capacity = tostring(tonumber(string.match(item.energy_source.buffer_capacity, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_source.buffer_capacity, '%a+')
end
if item.energy_source.input_flow_limit then
item.energy_source.input_flow_limit = tostring(tonumber(string.match(item.energy_source.input_flow_limit, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_source.input_flow_limit, '%a+')
end
if item.energy_source.output_flow_limit then
item.energy_source.output_flow_limit = tostring(tonumber(string.match(item.energy_source.output_flow_limit, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_source.output_flow_limit, '%a+')
end
end
if item.energy_consumption then
item.energy_consumption = tostring(tonumber(string.match(item.energy_consumption, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_consumption, '%a+')
elseif item.energy_input then
item.energy_input = tostring(tonumber(string.match(item.energy_input, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_input, '%a+')
end
if item.darkness_to_turn_on and item.color_lookup then
item.darkness_to_turn_on = 0
item.color_lookup = {{0, '__core__/graphics/color_luts/lut-sunset.png'}}
elseif item.attack_parameters then
if item.attack_parameters.cooldown then
item.attack_parameters.cooldown = math.floor(item.attack_parameters.cooldown * ((32 - (tier - source.min + 1)) / 32))
end
if item.attack_parameters.damage_modifier then
item.attack_parameters.damage_modifier = item.attack_parameters.damage_modifier * (2 ^ (tier - source.min + 1))
end
if item.attack_parameters.ammo_type then
if item.attack_parameters.ammo_type.energy_consumption then
item.attack_parameters.ammo_type.energy_consumption = tostring(tonumber(string.match(item.attack_parameters.ammo_type.energy_consumption, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.attack_parameters.ammo_type.energy_consumption, '%a+')
end
if item.attack_parameters.ammo_type.action_delivery then
if item.attack_parameters.ammo_type.action_delivery then
item.attack_parameters.ammo_type.action_delivery.max_length = item.attack_parameters.ammo_type.action_delivery.max_length + (tier - source.min + 1)
end
end
end
if item.attack_parameters.range then
item.attack_parameters.range = item.attack_parameters.range + (tier - source.min + 1)
end
elseif item.max_shield_value and item.energy_per_shield then
item.max_shield_value = item.max_shield_value * (2 ^ (tier - source.min + 1))
item.energy_per_shield = tostring(math.floor(tonumber(string.match(item.energy_per_shield, '[%d%.]+')) * ((32 - (tier - source.min + 1)) / 32))) .. string.match(item.energy_per_shield, '%a+')
elseif item.movement_bonus then
item.movement_bonus = item.movement_bonus * (2 ^ (tier - source.min + 1))
elseif item.charging_energy and item.charging_station_count then
item.charging_station_count = math.max(item.charging_station_count, 4)
item.charging_energy = tostring(tonumber(string.match(item.charging_energy, '[%d%.]+')) * (2 ^ (tier - source.min + 2))) .. string.match(item.charging_energy, '%a+')
end
if item.sprite then
item.sprite.tint = items['tint'][tier]
if item.sprite.hr_version then
item.sprite.hr_version.tint = items['tint'][tier]
end
end
item.localised_name = {'phi-cl.combine-gen', {'name.' .. source.ref_name}, tostring(tier)}
item.localised_description = item.localised_description
data:extend({item})
end
-- item
function main.EI(source, tier)
local item = table.deepcopy(data.raw.item[source.ref_name])

View File

@@ -1,5 +1,90 @@
--[[
** CONFIG
['equipment'] = {
['solar-panel-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'solar-panel-equipment',
name = 'solar-panel',
ref_name = 'solar-panel-equipment',
tech = 'solar-panel-equipment',
min = 2,
max = settings.startup['PHI-EQ-SOLAR-TIER'].value,
base = 30,
graphics_name = 'solar-panel-equipment'
},
['fusion-reactor-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'generator-equipment',
name = 'fusion-reactor',
ref_name = 'fusion-reactor-equipment',
tech = 'fusion-reactor-equipment',
min = 2,
max = settings.startup['PHI-EQ-REACTOR-TIER'].value
},
['battery-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'battery-equipment',
name = 'battery',
ref_name = 'battery-mk3-equipment',
tech = 'battery-mk3-equipment',
min = 4,
max = settings.startup['PHI-EQ-BATTERY-TIER'].value
},
['personal-laser-defense-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'active-defense-equipment',
name = 'personal-laser-defense',
ref_name = 'personal-laser-defense-equipment',
tech = 'personal-laser-defense-equipment',
min = 2,
max = settings.startup['PHI-EQ-LASER-TIER'].value
},
['energy-shield-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'energy-shield-equipment',
name = 'energy-shield',
ref_name = 'energy-shield-mk2-equipment',
tech = 'energy-shield-mk2-equipment',
min = 3,
max = settings.startup['PHI-EQ-SHIELD-TIER'].value
},
['personal-roboport-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'roboport-equipment',
name = 'personal-roboport',
ref_name = 'personal-roboport-mk2-equipment',
tech = 'personal-roboport-mk2-equipment',
min = 3,
max = settings.startup['PHI-EQ-ROBOPORT-TIER'].value
},
['night-vision-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'night-vision-equipment',
name = 'night-vision',
ref_name = 'night-vision-equipment',
tech = 'night-vision-equipment',
min = 2,
max = settings.startup['PHI-EQ-NIGHT-TIER'].value
},
['exoskeleton-equipment'] = {
enabled = settings.startup['PHI-EQ'].value,
stage = 1,
type = 'movement-bonus-equipment',
name = 'exoskeleton',
ref_name = 'exoskeleton-equipment',
tech = 'exoskeleton-equipment',
min = 2,
max = settings.startup['PHI-EQ-EXO-TIER'].value
}
},
if mods['aai-industry'] then
items['item']['industrial-furnace'] = {
enabled = settings.startup['PHI-MB'].value,
@@ -605,6 +690,94 @@
** MAIN
-- equipment
function main.EEQ(source, tier)
local item = table.deepcopy(data.raw[source.type][source.ref_name])
item.name = source.name .. '-mk' .. tier .. '-equipment'
item.take_result = source.name .. '-mk' .. tier .. '-equipment'
if item.power then
item.power = tostring(tonumber(string.match(item.power, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.power, '%a+')
end
if item.energy_source then
if item.energy_source.buffer_capacity then
item.energy_source.buffer_capacity = tostring(tonumber(string.match(item.energy_source.buffer_capacity, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_source.buffer_capacity, '%a+')
end
if item.energy_source.input_flow_limit then
item.energy_source.input_flow_limit = tostring(tonumber(string.match(item.energy_source.input_flow_limit, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_source.input_flow_limit, '%a+')
end
if item.energy_source.output_flow_limit then
item.energy_source.output_flow_limit = tostring(tonumber(string.match(item.energy_source.output_flow_limit, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_source.output_flow_limit, '%a+')
end
end
if item.energy_consumption then
item.energy_consumption = tostring(tonumber(string.match(item.energy_consumption, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_consumption, '%a+')
elseif item.energy_input then
item.energy_input = tostring(tonumber(string.match(item.energy_input, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.energy_input, '%a+')
end
if item.darkness_to_turn_on and item.color_lookup then
item.darkness_to_turn_on = 0
item.color_lookup = {{0, '__core__/graphics/color_luts/lut-sunset.png'}}
elseif item.attack_parameters then
if item.attack_parameters.cooldown then
item.attack_parameters.cooldown = math.floor(item.attack_parameters.cooldown * ((32 - (tier - source.min + 1)) / 32))
end
if item.attack_parameters.damage_modifier then
item.attack_parameters.damage_modifier = item.attack_parameters.damage_modifier * (2 ^ (tier - source.min + 1))
end
if item.attack_parameters.ammo_type then
if item.attack_parameters.ammo_type.energy_consumption then
item.attack_parameters.ammo_type.energy_consumption = tostring(tonumber(string.match(item.attack_parameters.ammo_type.energy_consumption, '[%d%.]+')) * (2 ^ (tier - source.min + 1))) .. string.match(item.attack_parameters.ammo_type.energy_consumption, '%a+')
end
if item.attack_parameters.ammo_type.action_delivery then
if item.attack_parameters.ammo_type.action_delivery then
item.attack_parameters.ammo_type.action_delivery.max_length = item.attack_parameters.ammo_type.action_delivery.max_length + (tier - source.min + 1)
end
end
end
if item.attack_parameters.range then
item.attack_parameters.range = item.attack_parameters.range + (tier - source.min + 1)
end
elseif item.max_shield_value and item.energy_per_shield then
item.max_shield_value = item.max_shield_value * (2 ^ (tier - source.min + 1))
item.energy_per_shield = tostring(math.floor(tonumber(string.match(item.energy_per_shield, '[%d%.]+')) * ((32 - (tier - source.min + 1)) / 32))) .. string.match(item.energy_per_shield, '%a+')
elseif item.movement_bonus then
item.movement_bonus = item.movement_bonus * (2 ^ (tier - source.min + 1))
elseif item.charging_energy and item.charging_station_count then
item.charging_station_count = math.max(item.charging_station_count, 4)
item.charging_energy = tostring(tonumber(string.match(item.charging_energy, '[%d%.]+')) * (2 ^ (tier - source.min + 2))) .. string.match(item.charging_energy, '%a+')
end
if item.sprite then
item.sprite.tint = items['tint'][tier]
if item.sprite.hr_version then
item.sprite.hr_version.tint = items['tint'][tier]
end
end
item.localised_name = {'phi-cl.combine-gen', {'name.' .. source.ref_name}, tostring(tier)}
item.localised_description = item.localised_description
data:extend({item})
end
for _, tc in pairs({'layers', 'sheets'}) do
if item[ve][tc] and item[ve][tc][1] then
@@ -650,6 +823,19 @@
end
** DATA
for _, v in pairs(items['equipment']) do
if (v.stage == file_stage) and v.enabled and (v.max >= v.min) then
v.category = 'equipment'
for j=v.min, v.max, 1 do
main.EEQ(v, j)
main.EI(v, j)
main.ER(v, j)
main.ET(v, j)
end
end
end
if settings.startup['PHI-CT'].value and settings.startup['PHI-CT-TRAIN'].value then
local item = table.deepcopy(data.raw['item']['used-up-uranium-fuel-cell'])
@@ -775,41 +961,6 @@ if settings.startup['PHI-MB'].value and mods['space-exploration'] and settings.s
end
end
if settings.startup['PHI-CT'].value and settings.startup['PHI-CT-MINER'].value then
local item = table.deepcopy(data.raw['item']['electric-mining-drill'])
item.name = 'large-area-electric-mining-drill'
item.place_result = 'large-area-electric-mining-drill'
item.order = 'zc'
item.localised_name = {'name.large-area-electric-mining-drill'}
item.localised_description = {'description.large-area-electric-mining-drill'}
data:extend({item})
local entity = table.deepcopy(data.raw['mining-drill']['electric-mining-drill'])
entity.name = 'large-area-electric-mining-drill'
entity.minable.result = 'large-area-electric-mining-drill'
entity.max_health = entity.max_health * 16
entity.energy_usage = (tonumber(string.match(entity.energy_usage, '%d+')) * 16) .. 'kW'
entity.resource_searching_radius = 9.99
entity.mining_speed = entity.mining_speed * 16
entity.energy_source.emissions_per_minute = entity.energy_source.emissions_per_minute * 16
entity.module_specification.module_slots = 8
entity.se_allow_in_space = true
entity.localised_name = {'name.large-area-electric-mining-drill'}
entity.localised_description = {'description.large-area-electric-mining-drill'}
data:extend({entity})
data:extend({{
type = 'recipe',
name = 'large-area-electric-mining-drill',
energy_required = 2,
enabled = true,
ingredients = {{'electric-mining-drill', 16}},
result = 'large-area-electric-mining-drill',
localised_name = {'name.large-area-electric-mining-drill'},
localised_description = {'description.large-area-electric-mining-drill'}
}})
end
if settings.startup['PHI-MI'].value and settings.startup['PHI-MI-REPAIR'].value then
for _, v in pairs(data.raw['repair-tool']) do
v.speed = v.speed * settings.startup['PHI-MI-REPAIR'].value
@@ -964,79 +1115,68 @@ if settings.startup['PHI-CT'].value and settings.startup['PHI-CT-TILE'].value th
end
** SETTING
,
--[[ {
, {
type = 'int-setting',
name = 'PHI-PB-FMMS',
name = 'PHI-EQ-SOLAR-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8},
order = 'D01'
}, {
type = 'int-setting',
name = 'PHI-EQ-BATTERY-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {2, 3, 4, 5, 6, 7, 8},
order = 'D02'
}, {
type = 'int-setting',
name = 'PHI-EQ-REACTOR-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8},
order = 'D03'
}, {
type = 'int-setting',
name = 'PHI-EQ-LASER-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8},
order = 'D04'
}, {
type = 'int-setting',
name = 'PHI-EQ-ROBOPORT-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {2, 3, 4, 5, 6, 7, 8},
order = 'D05'
}, {
type = 'int-setting',
name = 'PHI-EQ-SHIELD-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {2, 3, 4, 5, 6, 7, 8},
order = 'D06'
}, {
type = 'int-setting',
name = 'PHI-EQ-NIGHT-TIER',
setting_type = 'startup',
default_value = 2,
minimum_value = 0,
maximum_value = 10,
order = 'IB01'
}, {
type = 'double-setting',
name = 'PHI-PB-FRS',
setting_type = 'startup',
default_value = 1.5,
minimum_value = 0,
maximum_value = 10,
order = 'IB02'
allowed_values = {1, 2},
order = 'D07'
}, {
type = 'int-setting',
name = 'PHI-PB-FCS',
name = 'PHI-EQ-EXO-TIER',
setting_type = 'startup',
default_value = 5,
minimum_value = 0,
maximum_value = 20,
order = 'IB03'
default_value = 2,
allowed_values = {1, 2},
order = 'D08'
}, {
type = 'int-setting',
name = 'PHI-PB-FISB',
type = 'bool-setting',
name = 'PHI-EQ-ARMOR',
setting_type = 'startup',
default_value = 100,
minimum_value = 0,
maximum_value = 200,
order = 'IB04'
}, {
type = 'int-setting',
name = 'PHI-PB-FHB',
setting_type = 'startup',
default_value = 200,
minimum_value = 0,
maximum_value = 1000,
order = 'IB05'
}, {
type = 'double-setting',
name = 'PHI-PB-FWRSM',
setting_type = 'startup',
default_value = 1.3,
minimum_value = 0,
maximum_value = 20,
order = 'IB06'
}, {
type = 'double-setting',
name = 'PHI-PB-FWRBM',
setting_type = 'startup',
default_value = 1,
minimum_value = 0,
maximum_value = 20,
order = 'IB07'
}, {
type = 'int-setting',
name = 'PHI-PB-FWRSB',
setting_type = 'startup',
default_value = 1,
minimum_value = 0,
maximum_value = 40,
order = 'IB08'
}, {
type = 'int-setting',
name = 'PHI-PB-FFRLM',
setting_type = 'startup',
default_value = 1,
minimum_value = 0,
maximum_value = 20,
order = 'IB09'
default_value = true,
order = 'D09'
},
{
type = 'int-setting',

View File

@@ -114,68 +114,6 @@ data:extend({
setting_type = 'startup',
default_value = false,
order = 'D00'
}, {
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 = 'D01'
}, {
type = 'int-setting',
name = 'PHI-EQ-BATTERY-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {2, 3, 4, 5, 6, 7, 8},
order = 'D02'
}, {
type = 'int-setting',
name = 'PHI-EQ-REACTOR-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8},
order = 'D03'
}, {
type = 'int-setting',
name = 'PHI-EQ-LASER-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {1, 2, 3, 4, 5, 6, 7, 8},
order = 'D04'
}, {
type = 'int-setting',
name = 'PHI-EQ-ROBOPORT-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {2, 3, 4, 5, 6, 7, 8},
order = 'D05'
}, {
type = 'int-setting',
name = 'PHI-EQ-SHIELD-TIER',
setting_type = 'startup',
default_value = 8,
allowed_values = {2, 3, 4, 5, 6, 7, 8},
order = 'D06'
}, {
type = 'int-setting',
name = 'PHI-EQ-NIGHT-TIER',
setting_type = 'startup',
default_value = 2,
allowed_values = {1, 2},
order = 'D07'
}, {
type = 'int-setting',
name = 'PHI-EQ-EXO-TIER',
setting_type = 'startup',
default_value = 2,
allowed_values = {1, 2},
order = 'D08'
}, {
type = 'bool-setting',
name = 'PHI-EQ-ARMOR',
setting_type = 'startup',
default_value = true,
order = 'D09'
}, {
type = 'bool-setting',
name = 'PHI-MI',
@@ -202,73 +140,12 @@ data:extend({
setting_type = 'startup',
default_value = false,
order = 'E05'
}, {
type = 'int-setting',
name = 'PHI-XW-WATER',
setting_type = 'startup',
default_value = 1,
allowed_values = {0, 1, 2, 3, 4, 5},
order = 'G00'
}, {
type = 'bool-setting',
name = 'PHI-XC',
setting_type = 'startup',
default_value = false,
order = 'H00'
}, {
type = 'bool-setting',
name = 'PHI-PB',
setting_type = 'startup',
default_value = false,
order = 'I00'
}, {
type = 'int-setting',
name = 'PHI-PB-CMMS',
setting_type = 'startup',
default_value = 2,
minimum_value = 0,
maximum_value = 4,
order = 'IA01'
}, {
type = 'double-setting',
name = 'PHI-PB-CRS',
setting_type = 'startup',
default_value = 1.5,
minimum_value = 0,
maximum_value = 5,
order = 'IA02'
}, {
type = 'int-setting',
name = 'PHI-PB-CCS',
setting_type = 'startup',
default_value = 5,
minimum_value = 0,
maximum_value = 10,
order = 'IA03'
}, {
type = 'int-setting',
name = 'PHI-PB-CISB',
setting_type = 'startup',
default_value = 100,
minimum_value = 0,
maximum_value = 120,
order = 'IA04'
}, {
type = 'int-setting',
name = 'PHI-PB-CHB',
setting_type = 'startup',
default_value = 200,
minimum_value = 0,
maximum_value = 400,
order = 'IA05'
}, {
type = 'int-setting',
name = 'PHI-PB-CRDB',
setting_type = 'startup',
default_value = 10,
minimum_value = 0,
maximum_value = 20,
order = 'IA06'
}, {
type = 'bool-setting',
name = 'PHI-CT',