Files
factorio-mod-PHI-CL/PHI-CL/data/b/gm.lua
T
2026-07-01 18:31:04 +09:00

120 lines
5.4 KiB
Lua

local items = require('gm-c')
-- GM C 1 SPACE_AGE ENTITY
if data.raw['cargo-bay'] and data.raw['cargo-bay']['cargo-bay'] then
data.raw['cargo-bay']['cargo-bay'].inventory_size_bonus = math.max(40, data.raw['cargo-bay']['cargo-bay'].inventory_size_bonus or 0)
end
-- GM C 1 SPACE_AGE ENTITY
if data.raw['cargo-bay'] and data.raw['cargo-bay']['landing-pad-unloading-bay'] then
data.raw['cargo-bay']['landing-pad-unloading-bay'].inventory_size_bonus = math.max(40, data.raw['cargo-bay']['landing-pad-unloading-bay'].inventory_size_bonus or 0)
end
-- GM C 1 BASE ENTITY
if data.raw['rocket-silo'] and data.raw['rocket-silo']['rocket-silo'] then
data.raw['rocket-silo']['rocket-silo'].to_be_inserted_to_rocket_inventory_size = math.max(60, data.raw['rocket-silo']['rocket-silo'].to_be_inserted_to_rocket_inventory_size or 0)
end
-- GM C 1 BASE ENTITY
if data.raw['rocket-silo-rocket'] and data.raw['rocket-silo-rocket']['rocket-silo-rocket'] then
data.raw['rocket-silo-rocket']['rocket-silo-rocket'].inventory_size = math.max(60, data.raw['rocket-silo-rocket']['rocket-silo-rocket'].inventory_size or 0)
end
-- GM C 1 BASE ENTITY
if data.raw['cargo-wagon'] and data.raw['cargo-wagon']['cargo-wagon'] then
data.raw['cargo-wagon']['cargo-wagon'].inventory_size = math.max(80, data.raw['cargo-wagon']['cargo-wagon'].inventory_size or 0)
end
-- GM-SAP C 2 SPACE_AGE RESOURCE
for _, v in pairs({'lithium-brine', 'fluorine-vent'}) do
if data.raw.resource[v] then
data.raw.resource[v].infinite = true
data.raw.resource[v].minimum = math.max(60000, data.raw.resource[v].minimum or 0)
data.raw.resource[v].normal = math.max(300000, data.raw.resource[v].normal or 0)
data.raw.resource[v].infinite_depletion_amount = math.min(10, data.raw.resource[v].infinite_depletion_amount or 999)
end
end
-- GM C 5 BASE RECIPE
-- GM C 1 SPACE_AGE RECIPE
if items['recipe_reform'] then
for r, t in pairs(items['recipe_reform']) do
if data.raw.recipe[r] then
for k, v in pairs(t) do
data.raw.recipe[r][k] = v
end
end
end
end
-- GM C 1 BASE ITEM
if data.raw.ammo['artillery-shell'] then
data.raw.ammo['artillery-shell'].stack_size = data.raw['inserter']['stack-inserter'].max_belt_stack_size
end
-- GM C 1 BASE RESEARCH
-- GM C 1 ELEVATED_RAIL RESEARCH
-- GM C 2 SPACE_AGE RESEARCH
if items['technology_reform'] then
for t, l in pairs(items['technology_reform']) do
if data.raw.technology[t] then
for _, c in pairs({'prerequisites', 'effects', 'max_level', 'unit'}) do
if l[c] then
data.raw.technology[t][c] = l[c]
end
end
if data.raw.technology[t]['unit'] then
data.raw.technology[t].research_trigger = nil
for _, c in pairs({'ingredients', 'count', 'count_formula'}) do
if l['unit_' .. c] then
data.raw.technology[t]['unit'][c] = l['unit_' .. c]
end
end
end
end
end
end
-- GM H 7 SPACE_AGE RESEARCH
if items['technology'] then
for t, _ in pairs(items['technology']) do
if data.raw.technology[t] then
data.raw.technology[t].hidden = true
data.raw.technology[t].hidden_in_factoriopedia = true
data.raw.technology[t].effects = nil
data.raw.technology[t].research_trigger = nil
data.raw.technology[t].unit = {count = 1000, time = 30, ingredients = {{'automation-science-pack', 1}}}
end
end
end
-- GM A 9 BASE RESEARCH_EFFECT
for i=5, 7 do
local tn = 'laser-weapons-damage-' .. i
if data.raw.technology[tn] and data.raw.technology[tn].effects then
table.insert(data.raw.technology[tn].effects, {type = 'ammo-damage', ammo_category = 'tesla', modifier = 0.7})
table.insert(data.raw.technology[tn].effects, {type = 'ammo-damage', ammo_category = 'electric', modifier = 0.7})
table.insert(data.raw.technology[tn].effects, {type = 'ammo-damage', ammo_category = 'beam', modifier = 0.6})
end
end
-- GM A 13 BASE RESEARCH_EFFECT
for _, v in pairs({{'stronger-explosives-4', 'ammo-damage', 'artillery-shell', 0.1}, {'stronger-explosives-5', 'ammo-damage', 'artillery-shell', 0.1}, {'stronger-explosives-6', 'ammo-damage', 'artillery-shell', 0.2}, {'stronger-explosives-7', 'ammo-damage', 'artillery-shell', 0.2}, {'laser-weapons-damage-3', 'ammo-damage', 'beam', 0.3}, {'laser-weapons-damage-4', 'ammo-damage', 'beam', 0.4}, {'laser-shooting-speed-5', 'gun-speed', 'electric', 0.2}, {'laser-shooting-speed-6', 'gun-speed', 'electric', 0.3}, {'laser-shooting-speed-7', 'gun-speed', 'electric', 0.5}, {'physical-projectile-damage-6', 'ammo-damage', 'railgun', 0.2}, {'physical-projectile-damage-7', 'ammo-damage', 'railgun', 0.4}, {'weapon-shooting-speed-6', 'gun-speed', 'railgun', 0.2}, {'artillery-shell-speed-1', 'gun-speed', 'railgun', 0.2}}) do
if data.raw.technology[v[1]] and data.raw.technology[v[1]].effects then
table.insert(data.raw.technology[v[1]].effects, {type = v[2], ammo_category = v[3], modifier = v[4]})
end
end
-- GM C 5 BASE RESOURCE
-- GM C 3 SPACE_AGE RESOURCE
for _, v in pairs(data.raw['resource']) do
local vn = v.name
if data.raw.item[vn] and data.raw.item[vn].stack_size then
data.raw.item[vn].stack_size = math.max(data.raw.item[vn].stack_size, 100)
end
end