mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 03:25:23 +09:00
54 lines
2.0 KiB
Lua
54 lines
2.0 KiB
Lua
--- Adds a better method of player starting items based on production levels.
|
|
-- @addon Advanced-Start
|
|
|
|
local Event = require("modules/exp_legacy/utils/event") --- @dep utils.event
|
|
local config = require("modules.exp_legacy.config.advanced_start") --- @dep config.advanced_start
|
|
local items = config.items
|
|
|
|
Event.add(defines.events.on_player_created, function(event)
|
|
local player = game.players[event.player_index]
|
|
-- game init settings
|
|
if event.player_index == 1 then
|
|
player.force.friendly_fire = config.friendly_fire
|
|
game.map_settings.enemy_expansion.enabled = config.enemy_expansion
|
|
local r = config.chart_radius
|
|
local p = player.position
|
|
player.force.chart(player.surface, {{p.x-r, p.y-r}, {p.x+r, p.y+r}})
|
|
end
|
|
-- spawn items
|
|
for item, callback in pairs(items) do
|
|
if type(callback) == 'function' then
|
|
local stats = player.force.get_item_production_statistics(player.surface)
|
|
local made = stats.get_input_count(item)
|
|
local success, count = pcall(callback, made, stats.get_input_count, player)
|
|
count = math.floor(count)
|
|
if success and count > 0 then
|
|
player.insert{name=item, count=count}
|
|
end
|
|
end
|
|
end
|
|
|
|
if config.armor.enable then
|
|
player.insert{name=config.armor.main, count=1}
|
|
|
|
for _, item in pairs(config.armor.item) do
|
|
player.insert{name=item.equipment, count=item.count}
|
|
end
|
|
end
|
|
end)
|
|
|
|
Event.on_init(function()
|
|
remote.call('freeplay', 'set_created_items', {})
|
|
remote.call('freeplay', 'set_chart_distance', 0)
|
|
remote.call('freeplay', 'set_skip_intro', config.skip_intro)
|
|
if config.research_queue_from_start then
|
|
for _, force in pairs(game.forces) do
|
|
--force.research_queue_enabled = true
|
|
end
|
|
end
|
|
if not config.disable_base_game_silo_script then
|
|
if config.skip_victory then
|
|
remote.call('silo_script', 'set_no_victory', true)
|
|
end
|
|
end
|
|
end) |