mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00

- removed tutorialization (Craft/Do X to unlock tech) - start with everything needed for power, electric mining drills, science lab and automation science already unlocked - updated world gen - updated mod api use - updated fluid boxes (CaitSith2) - new option: free sample quality (needs quality mod) - removed old gruft, faster gen speed, faster load time - lists space age as explicitly not supported, so it prevents the game from trying to load both - fixes Y offset of traps being wrong (way higher than intended) - client now has a 5 second timeout to communicate with the bound factorio server, so it aborts actions if the server died - savegames are now stored in write_data_directory -> saves -> Archipelago - add cargo-landing-pad handling - starting rocket silo and cargo landing pad respect free sample quality - supports Factorio 2.0 --------- Co-authored-by: CaitSith2 <d_good@caitsith2.com>
60 lines
3.0 KiB
Lua
60 lines
3.0 KiB
Lua
{% from "macros.lua" import dict_to_lua %}
|
|
-- TODO: Replace the tinting code with an actual rendered picture of the energy bridge icon.
|
|
-- This tint is so that one is less likely to accidentally mass-produce energy-bridges, then wonder why their rocket is not building.
|
|
function energy_bridge_tint()
|
|
return { r = 0, g = 1, b = 0.667, a = 1}
|
|
end
|
|
function tint_icon(obj, tint)
|
|
obj.icons = { {icon = obj.icon, icon_size = obj.icon_size, icon_mipmaps = obj.icon_mipmaps, tint = tint} }
|
|
obj.icon = nil
|
|
obj.icon_size = nil
|
|
obj.icon_mipmaps = nil
|
|
end
|
|
local energy_bridge = table.deepcopy(data.raw["accumulator"]["accumulator"])
|
|
energy_bridge.name = "ap-energy-bridge"
|
|
energy_bridge.minable.result = "ap-energy-bridge"
|
|
energy_bridge.localised_name = "Archipelago EnergyLink Bridge"
|
|
energy_bridge.energy_source.buffer_capacity = "50MJ"
|
|
energy_bridge.energy_source.input_flow_limit = "10MW"
|
|
energy_bridge.energy_source.output_flow_limit = "10MW"
|
|
tint_icon(energy_bridge, energy_bridge_tint())
|
|
energy_bridge.chargable_graphics.picture.layers[1].tint = energy_bridge_tint()
|
|
energy_bridge.chargable_graphics.charge_animation.layers[1].layers[1].tint = energy_bridge_tint()
|
|
energy_bridge.chargable_graphics.discharge_animation.layers[1].layers[1].tint = energy_bridge_tint()
|
|
data.raw["accumulator"]["ap-energy-bridge"] = energy_bridge
|
|
|
|
local energy_bridge_item = table.deepcopy(data.raw["item"]["accumulator"])
|
|
energy_bridge_item.name = "ap-energy-bridge"
|
|
energy_bridge_item.localised_name = "Archipelago EnergyLink Bridge"
|
|
energy_bridge_item.place_result = energy_bridge.name
|
|
tint_icon(energy_bridge_item, energy_bridge_tint())
|
|
data.raw["item"]["ap-energy-bridge"] = energy_bridge_item
|
|
|
|
local energy_bridge_recipe = table.deepcopy(data.raw["recipe"]["accumulator"])
|
|
energy_bridge_recipe.name = "ap-energy-bridge"
|
|
energy_bridge_recipe.results = { {type = "item", name = energy_bridge_item.name, amount = 1} }
|
|
energy_bridge_recipe.energy_required = 1
|
|
energy_bridge_recipe.enabled = {% if energy_link %}true{% else %}false{% endif %}
|
|
energy_bridge_recipe.localised_name = "Archipelago EnergyLink Bridge"
|
|
data.raw["recipe"]["ap-energy-bridge"] = energy_bridge_recipe
|
|
|
|
data.raw["map-gen-presets"].default["archipelago"] = {{ dict_to_lua({"default": False, "order": "a", "basic_settings": world_gen["basic"], "advanced_settings": world_gen["advanced"]}) }}
|
|
if mods["science-not-invited"] then
|
|
local weights = {
|
|
["automation-science-pack"] = 0, -- Red science
|
|
["logistic-science-pack"] = 0, -- Green science
|
|
["military-science-pack"] = 0, -- Black science
|
|
["chemical-science-pack"] = 0, -- Blue science
|
|
["production-science-pack"] = 0, -- Purple science
|
|
["utility-science-pack"] = 0, -- Yellow science
|
|
["space-science-pack"] = 0 -- Space science
|
|
}
|
|
{% if max_science_pack == 6 -%}
|
|
weights["space-science-pack"] = 1
|
|
{%- endif %}
|
|
{% for key in allowed_science_packs -%}
|
|
weights["{{key}}"] = 1
|
|
{% endfor %}
|
|
SNI.setWeights(weights)
|
|
end
|