@expcluster/legacy 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/dist/browser/package.json +40 -0
- package/dist/browser/tsconfig.browser.tsbuildinfo +1 -0
- package/dist/browser/web/index.d.ts +1 -0
- package/dist/browser/web/index.d.ts.map +1 -0
- package/dist/browser/web/index.js +2 -0
- package/dist/browser/web/index.js.map +1 -0
- package/dist/node/index.d.ts +3 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +10 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/instance.d.ts +4 -0
- package/dist/node/instance.d.ts.map +1 -0
- package/dist/node/instance.js +8 -0
- package/dist/node/instance.js.map +1 -0
- package/dist/node/tsconfig.node.tsbuildinfo +1 -0
- package/dist/web/manifest.json +7 -0
- package/dist/web/static/exp_legacy.9b6538559ed5e689539c.js +355 -0
- package/dist/web/static/index_ts.8f9d451c8d3f7f293da6.js +22 -0
- package/dist/web/static/main.94e1b48804112ca8bdfc.js +118 -0
- package/dist/web/static/package_json.a83729efdb0697b12396.js +22 -0
- package/dist/web/static/web_index_tsx.e5a01ac0e4b0a6f6517f.js +21 -0
- package/index.ts +8 -0
- package/instance.ts +7 -0
- package/module/config/_file_loader.lua +29 -0
- package/module/config/advanced_start.lua +112 -0
- package/module/config/afk_kick.lua +14 -0
- package/module/config/bonus.lua +105 -0
- package/module/config/chat_reply.lua +136 -0
- package/module/config/compilatron.lua +25 -0
- package/module/config/death_logger.lua +15 -0
- package/module/config/deconlog.lua +11 -0
- package/module/config/discord_alerts.lua +25 -0
- package/module/config/expcore/permission_groups.lua +143 -0
- package/module/config/graftorio.lua +7 -0
- package/module/config/gui/autofill.lua +129 -0
- package/module/config/gui/player_list_actions.lua +201 -0
- package/module/config/gui/rockets.lua +47 -0
- package/module/config/gui/science.lua +21 -0
- package/module/config/gui/tasks.lua +13 -0
- package/module/config/gui/warps.lua +52 -0
- package/module/config/inventory_clear.lua +9 -0
- package/module/config/join_messages.lua +8 -0
- package/module/config/lawnmower.lua +6 -0
- package/module/config/logging.lua +30 -0
- package/module/config/miner.lua +8 -0
- package/module/config/module.lua +86 -0
- package/module/config/nukeprotect.lua +30 -0
- package/module/config/pollution_grading.lua +9 -0
- package/module/config/popup_messages.lua +10 -0
- package/module/config/preset_player_colours.lua +33 -0
- package/module/config/preset_player_quickbar.lua +6 -0
- package/module/config/protection.lua +17 -0
- package/module/config/repair.lua +8 -0
- package/module/config/research.lua +179 -0
- package/module/config/scorched_earth.lua +116 -0
- package/module/config/spawn_area.lua +255 -0
- package/module/config/station_auto_name.lua +11 -0
- package/module/config/statistics.lua +46 -0
- package/module/config/vlayer.lua +180 -0
- package/module/config/warnings.lua +38 -0
- package/module/control.lua +46 -0
- package/module/expcore/datastore.lua +884 -0
- package/module/expcore/external.lua +146 -0
- package/module/expcore/permission_groups.lua +355 -0
- package/module/expcore/player_data.lua +152 -0
- package/module/locale/en/addons.cfg +31 -0
- package/module/locale/en/data.cfg +114 -0
- package/module/locale/en/expcore.cfg +16 -0
- package/module/locale/en/gui.cfg +114 -0
- package/module/locale/zh-CN/addons.cfg +31 -0
- package/module/locale/zh-CN/data.cfg +114 -0
- package/module/locale/zh-CN/expcore.cfg +16 -0
- package/module/locale/zh-CN/gui.cfg +122 -0
- package/module/locale/zh-TW/addons.cfg +31 -0
- package/module/locale/zh-TW/data.cfg +114 -0
- package/module/locale/zh-TW/expcore.cfg +16 -0
- package/module/locale/zh-TW/gui.cfg +122 -0
- package/module/module.json +14 -0
- package/module/module_exports.lua +3 -0
- package/module/modules/control/jail.lua +119 -0
- package/module/modules/control/protection.lua +204 -0
- package/module/modules/control/reports.lua +225 -0
- package/module/modules/control/spectate.lua +173 -0
- package/module/modules/control/vlayer.lua +807 -0
- package/module/modules/control/warnings.lua +331 -0
- package/module/modules/control/warps.lua +488 -0
- package/module/modules/data/alt-view.lua +26 -0
- package/module/modules/data/greetings.lua +45 -0
- package/module/modules/data/language.lua +21 -0
- package/module/modules/data/player-colours.lua +63 -0
- package/module/modules/data/quickbar.lua +72 -0
- package/module/modules/data/statistics.lua +181 -0
- package/module/modules/data/tag.lua +82 -0
- package/module/modules/data/toolbar.lua +31 -0
- package/module/modules/graftorio/forcestats.lua +196 -0
- package/module/modules/graftorio/general.lua +63 -0
- package/module/modules/graftorio/require.lua +28 -0
- package/module/modules/graftorio/statics.lua +36 -0
- package/module/modules/gui/vlayer.lua +547 -0
- package/module/modules/gui/warp-list.lua +909 -0
- package/module/utils/event.lua +86 -0
- package/package.json +38 -0
- package/tsconfig.browser.json +4 -0
- package/tsconfig.json +7 -0
- package/tsconfig.node.json +5 -0
- package/web/index.tsx +0 -0
- package/webpack.config.js +29 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
--- This file contains all the different settings for the autofill system and gui
|
|
2
|
+
-- @config Autofill
|
|
3
|
+
|
|
4
|
+
local config = {
|
|
5
|
+
-- General config
|
|
6
|
+
icon = "item/piercing-rounds-magazine", -- @setting icon that will be used for the toolbar
|
|
7
|
+
categories = {
|
|
8
|
+
ammo = "ammo",
|
|
9
|
+
fuel = "fuel",
|
|
10
|
+
shell = "shell",
|
|
11
|
+
},
|
|
12
|
+
entities = {
|
|
13
|
+
car = "car",
|
|
14
|
+
tank = "tank",
|
|
15
|
+
spidertron = "spidertron",
|
|
16
|
+
locomotive = "locomotive",
|
|
17
|
+
gun_turret = "gun-turret",
|
|
18
|
+
burner_mining_drill = "burner-mining-drill",
|
|
19
|
+
stone_furnace = "stone-furnace",
|
|
20
|
+
steel_furnace = "steel-furnace",
|
|
21
|
+
},
|
|
22
|
+
default_entities = {},
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
local default_categories = {
|
|
26
|
+
{
|
|
27
|
+
category = config.categories.ammo,
|
|
28
|
+
entity = { config.entities.car, config.entities.tank, config.entities.gun_turret },
|
|
29
|
+
inv = { defines.inventory.car_ammo, defines.inventory.turret_ammo },
|
|
30
|
+
items = {
|
|
31
|
+
{ name = "uranium-rounds-magazine", amount = 10, enabled = false },
|
|
32
|
+
{ name = "piercing-rounds-magazine", amount = 10, enabled = false },
|
|
33
|
+
{ name = "firearm-magazine", amount = 10, enabled = false },
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
category = config.categories.ammo,
|
|
38
|
+
entity = { config.entities.tank },
|
|
39
|
+
inv = { defines.inventory.car_ammo },
|
|
40
|
+
items = {
|
|
41
|
+
{ name = "flamethrower-ammo", amount = 10, enabled = false },
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
category = config.categories.shell,
|
|
46
|
+
entity = { config.entities.tank },
|
|
47
|
+
inv = { defines.inventory.car_ammo },
|
|
48
|
+
items = {
|
|
49
|
+
{ name = "cannon-shell", amount = 10, enabled = false },
|
|
50
|
+
{ name = "explosive-cannon-shell", amount = 10, enabled = false },
|
|
51
|
+
{ name = "uranium-cannon-shell", amount = 10, enabled = false },
|
|
52
|
+
{ name = "explosive-uranium-cannon-shell", amount = 10, enabled = false },
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
category = config.categories.ammo,
|
|
57
|
+
entity = { config.entities.spidertron },
|
|
58
|
+
inv = { defines.inventory.car_ammo },
|
|
59
|
+
items = {
|
|
60
|
+
{ name = "rocket", amount = 10, enabled = false },
|
|
61
|
+
{ name = "explosive-rocket", amount = 10, enabled = false },
|
|
62
|
+
{ name = "atomic-bomb", amount = 10, enabled = false },
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
category = config.categories.fuel,
|
|
67
|
+
entity = { config.entities.car, config.entities.tank, config.entities.locomotive, config.entities.burner_mining_drill, config.entities.stone_furnace, config.entities.steel_furnace },
|
|
68
|
+
inv = { defines.inventory.fuel },
|
|
69
|
+
items = {
|
|
70
|
+
{ name = "nuclear-fuel", amount = 10, enabled = false },
|
|
71
|
+
{ name = "rocket-fuel", amount = 10, enabled = false },
|
|
72
|
+
{ name = "solid-fuel", amount = 10, enabled = false },
|
|
73
|
+
{ name = "coal", amount = 10, enabled = false },
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
local function get_items_by_inv(entity, inv)
|
|
79
|
+
local items = entity.items
|
|
80
|
+
for _, category in pairs(default_categories) do
|
|
81
|
+
if table.contains(category.entity, entity.entity) then
|
|
82
|
+
if table.contains(category.inv, inv) then
|
|
83
|
+
for _, item in pairs(category.items) do
|
|
84
|
+
items[item.name] = {
|
|
85
|
+
entity = entity.entity,
|
|
86
|
+
category = category.category,
|
|
87
|
+
inv = inv,
|
|
88
|
+
name = item.name,
|
|
89
|
+
amount = item.amount,
|
|
90
|
+
enabled = item.enabled,
|
|
91
|
+
}
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
return items
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
local function generate_default_setting(entity_name, inv, enabled)
|
|
101
|
+
if not config.default_entities[entity_name] then
|
|
102
|
+
config.default_entities[entity_name] = {
|
|
103
|
+
entity = entity_name,
|
|
104
|
+
enabled = enabled,
|
|
105
|
+
items = {},
|
|
106
|
+
}
|
|
107
|
+
end
|
|
108
|
+
get_items_by_inv(config.default_entities[entity_name], inv)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
generate_default_setting(config.entities.car, defines.inventory.fuel, true)
|
|
112
|
+
generate_default_setting(config.entities.car, defines.inventory.car_ammo, true)
|
|
113
|
+
|
|
114
|
+
generate_default_setting(config.entities.locomotive, defines.inventory.fuel, true)
|
|
115
|
+
|
|
116
|
+
generate_default_setting(config.entities.tank, defines.inventory.fuel, true)
|
|
117
|
+
generate_default_setting(config.entities.tank, defines.inventory.car_ammo, true)
|
|
118
|
+
|
|
119
|
+
generate_default_setting(config.entities.spidertron, defines.inventory.car_ammo, true)
|
|
120
|
+
|
|
121
|
+
generate_default_setting(config.entities.gun_turret, defines.inventory.turret_ammo, true)
|
|
122
|
+
|
|
123
|
+
generate_default_setting(config.entities.burner_mining_drill, defines.inventory.fuel, true)
|
|
124
|
+
|
|
125
|
+
generate_default_setting(config.entities.stone_furnace, defines.inventory.fuel, true)
|
|
126
|
+
|
|
127
|
+
generate_default_setting(config.entities.steel_furnace, defines.inventory.fuel, true)
|
|
128
|
+
|
|
129
|
+
return config
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
--- Config for the different action buttons that show on the player list;
|
|
2
|
+
-- each button has the button define(s) given along side an auth function, and optional reason callback;
|
|
3
|
+
-- if a reason callback is used then Store.set(action_name_store,player.name,'BUTTON_NAME') should be called during on_click;
|
|
4
|
+
-- buttons can be removed from the gui by commenting them out of the config at the bottom of this file;
|
|
5
|
+
-- the key used for the name of the button is the permission name used by the role system;
|
|
6
|
+
-- @config Player-List
|
|
7
|
+
|
|
8
|
+
local ExpUtil = require("modules/exp_util")
|
|
9
|
+
local Gui = require("modules/exp_gui")
|
|
10
|
+
local Roles = require("modules/exp_roles")
|
|
11
|
+
local Reports = require("modules.exp_legacy.modules.control.reports") --- @dep modules.control.reports
|
|
12
|
+
local Warnings = require("modules.exp_legacy.modules.control.warnings") --- @dep modules.control.warnings
|
|
13
|
+
local Jail = require("modules.exp_legacy.modules.control.jail") --- @dep modules.control.jail
|
|
14
|
+
local Colors = require("modules/exp_util/include/color")
|
|
15
|
+
local format_player_name = ExpUtil.format_player_name_locale
|
|
16
|
+
|
|
17
|
+
--- Accessors injected by the gui so the actions can read the selected player and set the selected action
|
|
18
|
+
local get_selected_player --- @type fun(player: LuaPlayer): LuaPlayer
|
|
19
|
+
local set_selected_action --- @type fun(player: LuaPlayer, action: string?)
|
|
20
|
+
local function set_accessors(player_getter, action_setter)
|
|
21
|
+
get_selected_player, set_selected_action = player_getter, action_setter
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
-- gets the action player and a coloured name for the action to be used on
|
|
25
|
+
local function get_action_player(player)
|
|
26
|
+
local selected_player = get_selected_player(player) --[[@as LuaPlayer]]
|
|
27
|
+
local selected_player_color = format_player_name(selected_player)
|
|
28
|
+
return selected_player, selected_player_color
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
-- teleports one player to another
|
|
32
|
+
local function teleport(from_player, to_player)
|
|
33
|
+
local surface = to_player.physical_surface
|
|
34
|
+
local position = surface.find_non_colliding_position("character", to_player.physical_position, 32, 1)
|
|
35
|
+
if not position then return false end -- return false if no new position
|
|
36
|
+
if from_player.driving then from_player.driving = false end -- kicks a player out a vehicle if in one
|
|
37
|
+
from_player.teleport(position, surface)
|
|
38
|
+
return true
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
local function new_button(sprite, tooltip)
|
|
42
|
+
return Gui.define(tooltip[1])
|
|
43
|
+
:draw{
|
|
44
|
+
type = "sprite-button",
|
|
45
|
+
style = "tool_button",
|
|
46
|
+
sprite = sprite,
|
|
47
|
+
tooltip = tooltip,
|
|
48
|
+
}
|
|
49
|
+
:style{
|
|
50
|
+
padding = -1,
|
|
51
|
+
height = 28,
|
|
52
|
+
width = 28,
|
|
53
|
+
}
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
--- Teleports the user to the action player
|
|
57
|
+
-- @element goto_player
|
|
58
|
+
local goto_player = new_button("utility/export", { "exp-gui_player-list.goto-player" })
|
|
59
|
+
:on_click(function(def, player, element)
|
|
60
|
+
local selected_player = get_action_player(player)
|
|
61
|
+
if not player.character or not selected_player.character then
|
|
62
|
+
player.print({ "exp-commands-parse.player-alive" }, Colors.orange_red)
|
|
63
|
+
else
|
|
64
|
+
teleport(player, selected_player)
|
|
65
|
+
end
|
|
66
|
+
end)
|
|
67
|
+
|
|
68
|
+
--- Teleports the action player to the user
|
|
69
|
+
-- @element bring_player
|
|
70
|
+
local bring_player = new_button("utility/import", { "exp-gui_player-list.bring-player" })
|
|
71
|
+
:on_click(function(def, player, element)
|
|
72
|
+
local selected_player = get_action_player(player)
|
|
73
|
+
if not player.character or not selected_player.character then
|
|
74
|
+
player.print({ "exp-commands-parse.player-alive" }, Colors.orange_red)
|
|
75
|
+
else
|
|
76
|
+
teleport(selected_player, player)
|
|
77
|
+
end
|
|
78
|
+
end)
|
|
79
|
+
|
|
80
|
+
--- Reports the action player, requires a reason to be given
|
|
81
|
+
-- @element report_player
|
|
82
|
+
local report_player = new_button("utility/spawn_flag", { "exp-gui_player-list.report-player" })
|
|
83
|
+
:on_click(function(def, player, element)
|
|
84
|
+
local selected_player = get_action_player(player)
|
|
85
|
+
if Reports.is_reported(selected_player.name, player.name) then
|
|
86
|
+
player.print({ "exp-commands_report.already-reported" }, Colors.orange_red)
|
|
87
|
+
else
|
|
88
|
+
set_selected_action(player, "exp_scenario.command.create_report")
|
|
89
|
+
end
|
|
90
|
+
end)
|
|
91
|
+
|
|
92
|
+
local function report_player_callback(player, reason)
|
|
93
|
+
local selected_player, selected_player_color = get_action_player(player)
|
|
94
|
+
local by_player_name_color = format_player_name(player)
|
|
95
|
+
game.print{ "exp-commands_reports.response", selected_player_color, reason }
|
|
96
|
+
local trainee = Roles.get_role_by_name("Trainee")
|
|
97
|
+
for _, role in ipairs(trainee and Roles.get_higher_roles(trainee) or {}) do
|
|
98
|
+
role:print{ "exp-commands_reports.response-admin", selected_player_color, by_player_name_color, reason }
|
|
99
|
+
end
|
|
100
|
+
Reports.report_player(selected_player.name, player.name, reason)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
--- Gives the action player a warning, requires a reason
|
|
104
|
+
-- @element warn_player
|
|
105
|
+
local warn_player = new_button("utility/spawn_flag", { "exp-gui_player-list.warn-player" })
|
|
106
|
+
:on_click(function(def, player, element)
|
|
107
|
+
set_selected_action(player, "exp_scenario.command.create_warning")
|
|
108
|
+
end)
|
|
109
|
+
|
|
110
|
+
local function warn_player_callback(player, reason)
|
|
111
|
+
local selected_player, selected_player_color = get_action_player(player)
|
|
112
|
+
local by_player_name_color = format_player_name(player)
|
|
113
|
+
game.print{ "exp-commands_warnings.create", selected_player_color, by_player_name_color, reason }
|
|
114
|
+
Warnings.add_warning(selected_player.name, player.name, reason)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
--- Jails the action player, requires a reason
|
|
118
|
+
-- @element jail_player
|
|
119
|
+
local jail_player = new_button("utility/multiplayer_waiting_icon", { "exp-gui_player-list.jail-player" })
|
|
120
|
+
:on_click(function(def, player, element)
|
|
121
|
+
local selected_player, selected_player_color = get_action_player(player)
|
|
122
|
+
if Jail.is_jailed(selected_player.name) then
|
|
123
|
+
player.print({ "exp-commands_jail.already-jailed", selected_player_color }, Colors.orange_red)
|
|
124
|
+
else
|
|
125
|
+
set_selected_action(player, "exp_scenario.command.jail")
|
|
126
|
+
end
|
|
127
|
+
end)
|
|
128
|
+
|
|
129
|
+
local function jail_player_callback(player, reason)
|
|
130
|
+
local selected_player, selected_player_color = get_action_player(player)
|
|
131
|
+
local by_player_name_color = format_player_name(player)
|
|
132
|
+
game.print{ "exp-commands_jail.jailed", selected_player_color, by_player_name_color, reason }
|
|
133
|
+
Jail.jail_player(selected_player.name, player.name, reason)
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
--- Kicks the action player, requires a reason
|
|
137
|
+
-- @element kick_player
|
|
138
|
+
local kick_player = new_button("utility/warning_icon", { "exp-gui_player-list.kick-player" })
|
|
139
|
+
:on_click(function(def, player, element)
|
|
140
|
+
set_selected_action(player, "exp_scenario.gui.player_list.kick")
|
|
141
|
+
end)
|
|
142
|
+
|
|
143
|
+
local function kick_player_callback(player, reason)
|
|
144
|
+
local selected_player = get_action_player(player)
|
|
145
|
+
game.kick_player(selected_player, reason)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
--- Bans the action player, requires a reason
|
|
149
|
+
-- @element ban_player
|
|
150
|
+
local ban_player = new_button("utility/danger_icon", { "exp-gui_player-list.ban-player" })
|
|
151
|
+
:on_click(function(def, player, element)
|
|
152
|
+
set_selected_action(player, "exp_scenario.gui.player_list.ban")
|
|
153
|
+
end)
|
|
154
|
+
|
|
155
|
+
local function ban_player_callback(player, reason)
|
|
156
|
+
local selected_player = get_action_player(player)
|
|
157
|
+
game.ban_player(selected_player, reason)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
return {
|
|
161
|
+
set_accessors = set_accessors,
|
|
162
|
+
buttons = {
|
|
163
|
+
["exp_scenario.command.teleport"] = {
|
|
164
|
+
auth = function(player, selected_player)
|
|
165
|
+
return player.name ~= selected_player.name
|
|
166
|
+
end, -- cant teleport to your self
|
|
167
|
+
goto_player,
|
|
168
|
+
bring_player,
|
|
169
|
+
},
|
|
170
|
+
["exp_scenario.command.create_report"] = {
|
|
171
|
+
auth = function(player, selected_player)
|
|
172
|
+
if player == selected_player then return false end
|
|
173
|
+
if not Roles.player_has_permission(player, "exp_scenario.command.create_warning") then
|
|
174
|
+
return not Roles.player_has_permission(selected_player, "exp_scenario.bypass.reports")
|
|
175
|
+
end
|
|
176
|
+
end, -- can report any player that isn't immune and you aren't able to give warnings
|
|
177
|
+
reason_callback = report_player_callback,
|
|
178
|
+
report_player,
|
|
179
|
+
},
|
|
180
|
+
["exp_scenario.command.create_warning"] = {
|
|
181
|
+
auth = Roles.player_outranks, -- warn a lower user, replaces report
|
|
182
|
+
reason_callback = warn_player_callback,
|
|
183
|
+
warn_player,
|
|
184
|
+
},
|
|
185
|
+
["exp_scenario.command.jail"] = {
|
|
186
|
+
auth = Roles.player_outranks,
|
|
187
|
+
reason_callback = jail_player_callback,
|
|
188
|
+
jail_player,
|
|
189
|
+
},
|
|
190
|
+
["exp_scenario.gui.player_list.kick"] = {
|
|
191
|
+
auth = Roles.player_outranks,
|
|
192
|
+
reason_callback = kick_player_callback,
|
|
193
|
+
kick_player,
|
|
194
|
+
},
|
|
195
|
+
["exp_scenario.gui.player_list.ban"] = {
|
|
196
|
+
auth = Roles.player_outranks,
|
|
197
|
+
reason_callback = ban_player_callback,
|
|
198
|
+
ban_player,
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
--- This file controls what will show in each section of the rocket info gui
|
|
2
|
+
-- @config Rockets
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
stats = { --- @setting stats The data that will show in the stats section
|
|
6
|
+
show_stats = true, --- @setting show_stats false will hide this section all together
|
|
7
|
+
show_first_rocket = true, --- @setting show_first_rocket false will not show when the first rocket was launched
|
|
8
|
+
show_last_rocket = true, --- @setting show_last_rocket false will not show when the last rocket was launched
|
|
9
|
+
show_fastest_rocket = true, --- @setting show_fastest_rocket false will not show the time taken for the fastest rocket
|
|
10
|
+
show_total_rockets = true, --- @setting show_total_rockets false will not show the total number of rockets launched
|
|
11
|
+
show_game_avg = true, --- @setting show_game_avg false will hide the avg across the entire map time
|
|
12
|
+
rolling_avg = { --- @setting rolling_avg each number will be one statistic; 5 means the avg time taken for the last 5 rockets
|
|
13
|
+
5, 10, 25,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
milestones = { --- @setting milestones each number will be one statistic; 5 means the time that the 5th rocket was launched
|
|
17
|
+
show_milestones = true, --- @setting show_milestones false will hide this section all together
|
|
18
|
+
1,
|
|
19
|
+
2,
|
|
20
|
+
5,
|
|
21
|
+
10,
|
|
22
|
+
20,
|
|
23
|
+
50,
|
|
24
|
+
100,
|
|
25
|
+
200,
|
|
26
|
+
500,
|
|
27
|
+
1000,
|
|
28
|
+
1500,
|
|
29
|
+
2000,
|
|
30
|
+
2500,
|
|
31
|
+
3000,
|
|
32
|
+
3500,
|
|
33
|
+
4000,
|
|
34
|
+
4500,
|
|
35
|
+
5000,
|
|
36
|
+
},
|
|
37
|
+
progress = { --- @setting progress The data and buttons in the build progress section
|
|
38
|
+
show_progress = true, --- @setting show_progress false will hide this section altogether
|
|
39
|
+
allow_zoom_to_map = true, --- @setting allow_zoom_to_map false will disable the zoom to map feature
|
|
40
|
+
allow_remote_launch = true, --- @setting allow_remote_launch false removes the remote launch button for all players
|
|
41
|
+
remote_launch_admins_only = false, --- @setting remote_launch_admins_only true will remove the remote launch button for all non (game) admins
|
|
42
|
+
remote_launch_role_permission = "exp_scenario.gui.rocket_info.remote_launch", --- @setting remote_launch_role_permission value used by custom permission system to allow or disallow the button
|
|
43
|
+
allow_toggle_active = true, --- @setting allow_toggle_active false removes the remote toggle auto launch button for all players
|
|
44
|
+
toggle_active_admins_only = false, --- @setting toggle_active_admins_only true will remove the toggle auto launch button for all non (game) admins
|
|
45
|
+
toggle_active_role_permission = "exp_scenario.gui.rocket_info.toggle_active", --- @setting toggle_active_role_permission value used by custom permission system to allow or disallow the button
|
|
46
|
+
},
|
|
47
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
--- Config file for the science info gui
|
|
2
|
+
-- @config Science
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
-- list of all science packs to be shown in the gui
|
|
6
|
+
show_eta = true, --- @setting show_eta when true the eta for research completion will be shown
|
|
7
|
+
color_cutoff = 0.8, --- @setting color_cutoff the amount that production can fall before the text changes color
|
|
8
|
+
color_flux = 0.1, --- @setting color_flux the amount of fluctuation allowed in production before the icon changes color
|
|
9
|
+
"automation-science-pack",
|
|
10
|
+
"logistic-science-pack",
|
|
11
|
+
"military-science-pack",
|
|
12
|
+
"chemical-science-pack",
|
|
13
|
+
"production-science-pack",
|
|
14
|
+
"utility-science-pack",
|
|
15
|
+
"space-science-pack",
|
|
16
|
+
"metallurgic-science-pack",
|
|
17
|
+
"agricultural-science-pack",
|
|
18
|
+
"electromagnetic-science-pack",
|
|
19
|
+
"cryogenic-science-pack",
|
|
20
|
+
"promethium-science-pack",
|
|
21
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
--- Config file for the tasks gui
|
|
2
|
+
-- @config Tasks
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
-- Adding tasks
|
|
6
|
+
allow_add_task = "all", --- @setting allow_add_task dictates who is allowed to add new tasks; values: all, admin, exp_roles, none
|
|
7
|
+
exp_roles_allow_add_task = "exp_scenario.gui.task_list.add", --- @setting exp_roles_allow_add_task if exp_roles is used then this is the required permission
|
|
8
|
+
|
|
9
|
+
-- Editing tasks
|
|
10
|
+
allow_edit_task = "exp_roles", --- @setting allow_edit_task dictates who is allowed to edit existing tasks; values: all, admin, exp_roles, none
|
|
11
|
+
exp_roles_allow_edit_task = "exp_scenario.gui.task_list.edit", --- @setting exp_roles_allow_edit_task if exp_roles is used then this is the required permission
|
|
12
|
+
user_can_edit_own_tasks = true, --- @settings if true then the user who made the task can edit it regardless of the allow_edit_task setting
|
|
13
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
--- This file contains all the different settings for the warp system and gui
|
|
2
|
+
-- @config Warps
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
-- General config
|
|
6
|
+
update_smoothing = 10, --- @setting update_smoothing the amount of smoothing applied to updates to the cooldown timer, higher is better, max is 60
|
|
7
|
+
minimum_distance = 100, --- @setting minimum_distance the minimum distance that is allowed between warps on the same force
|
|
8
|
+
default_icon = { type = "item", name = "discharge-defense-equipment" }, --- @setting default_icon the default icon that will be used for warps
|
|
9
|
+
|
|
10
|
+
-- Warp cooldowns
|
|
11
|
+
bypass_warp_cooldown = "exp_roles", --- @setting bypass_warp_cooldown dictates who the warp cooldown is applied to; values: all, admin, exp_roles, none
|
|
12
|
+
exp_roles_bypass_warp_cooldown = "exp_scenario.gui.warp_list.bypass_cooldown", --- @setting exp_roles_bypass_warp_cooldown if exp_roles is used then this is the required permission
|
|
13
|
+
cooldown_duration = 60, --- @setting cooldown_duration the duration of the warp cooldown in seconds
|
|
14
|
+
|
|
15
|
+
-- Warp proximity
|
|
16
|
+
bypass_warp_proximity = "exp_roles", --- @setting bypass_warp_proximity dictates who the warp proximity is applied to; values: all, admin, exp_roles, none
|
|
17
|
+
exp_roles_bypass_warp_proximity = "exp_scenario.gui.warp_list.bypass_proximity", --- @setting exp_roles_bypass_warp_proximity if exp_roles is used then this is the required permission
|
|
18
|
+
standard_proximity_radius = 4, --- @setting standard_proximity_radius the minimum distance a player is allowed to be to a warp in order to use it
|
|
19
|
+
spawn_proximity_radius = 20, --- @setting spawn_proximity_radius the minimum distance a player is allowed to be from they spawn point to use warps
|
|
20
|
+
|
|
21
|
+
-- Adding warps
|
|
22
|
+
allow_add_warp = "exp_roles", --- @setting allow_add_warp dictates who is allowed to add warps; values: all, admin, exp_roles, none
|
|
23
|
+
exp_roles_allow_add_warp = "exp_scenario.gui.warp_list.add", --- @setting exp_roles_allow_add_warp if exp_roles is used then this is the required permission
|
|
24
|
+
|
|
25
|
+
-- Editing warps
|
|
26
|
+
allow_edit_warp = "exp_roles", --- @setting allow_edit_warp dictates who is allowed to edit warps; values: all, admin, exp_roles, none
|
|
27
|
+
exp_roles_allow_edit_warp = "exp_scenario.gui.warp_list.edit", --- @setting exp_roles_allow_edit_warp if exp_roles is used then this is the required permission
|
|
28
|
+
user_can_edit_own_warps = false, --- @settings user_can_edit_own_warps if true then the user who made the warp can edit it regardless of the allow_edit_warp setting
|
|
29
|
+
|
|
30
|
+
-- Warp area generation
|
|
31
|
+
entities = { --- @setting entities The entities which are created for warp areas
|
|
32
|
+
{ "small-lamp", -4, -2 }, { "small-lamp", -2, -4 }, { "medium-electric-pole", -3, -3 }, -- Top left corner
|
|
33
|
+
{ "small-lamp", 3, -2 }, { "small-lamp", 1, -4 }, { "medium-electric-pole", 2, -3 }, -- Top right corner
|
|
34
|
+
{ "small-lamp", 3, 1 }, { "small-lamp", 1, 3 }, { "medium-electric-pole", 2, 2 }, -- Bottom right corner
|
|
35
|
+
{ "small-lamp", -4, 1 }, { "small-lamp", -2, 3 }, { "medium-electric-pole", -3, 2 }, -- Bottom left corner
|
|
36
|
+
},
|
|
37
|
+
tiles = { --- @setting tiles The tiles which are created for warp areas
|
|
38
|
+
{ "black-refined-concrete", -4, -2 }, { "black-refined-concrete", -4, -1 }, { "black-refined-concrete", -4, 0 }, { "black-refined-concrete", -4, 1 },
|
|
39
|
+
{ "black-refined-concrete", -3, -3 }, { "purple-refined-concrete", -3, -2 }, { "purple-refined-concrete", -3, -1 }, { "purple-refined-concrete", -3, 0 },
|
|
40
|
+
{ "purple-refined-concrete", -3, 1 }, { "black-refined-concrete", -3, 2 }, { "black-refined-concrete", -2, -4 }, { "purple-refined-concrete", -2, -3 },
|
|
41
|
+
{ "purple-refined-concrete", -2, -2 }, { "purple-refined-concrete", -2, -1 }, { "purple-refined-concrete", -2, 0 }, { "purple-refined-concrete", -2, 1 },
|
|
42
|
+
{ "purple-refined-concrete", -2, 2 }, { "black-refined-concrete", -2, 3 }, { "black-refined-concrete", -1, -4 }, { "purple-refined-concrete", -1, -3 },
|
|
43
|
+
{ "purple-refined-concrete", -1, -2 }, { "purple-refined-concrete", -1, -1 }, { "purple-refined-concrete", -1, 0 }, { "purple-refined-concrete", -1, 1 },
|
|
44
|
+
{ "purple-refined-concrete", -1, 2 }, { "black-refined-concrete", -1, 3 }, { "black-refined-concrete", 0, -4 }, { "purple-refined-concrete", 0, -3 },
|
|
45
|
+
{ "purple-refined-concrete", 0, -2 }, { "purple-refined-concrete", 0, -1 }, { "purple-refined-concrete", 0, 0 }, { "purple-refined-concrete", 0, 1 },
|
|
46
|
+
{ "purple-refined-concrete", 0, 2 }, { "black-refined-concrete", 0, 3 }, { "black-refined-concrete", 1, -4 }, { "purple-refined-concrete", 1, -3 },
|
|
47
|
+
{ "purple-refined-concrete", 1, -2 }, { "purple-refined-concrete", 1, -1 }, { "purple-refined-concrete", 1, 0 }, { "purple-refined-concrete", 1, 1 },
|
|
48
|
+
{ "purple-refined-concrete", 1, 2 }, { "black-refined-concrete", 1, 3 }, { "black-refined-concrete", 2, -3 }, { "purple-refined-concrete", 2, -2 },
|
|
49
|
+
{ "purple-refined-concrete", 2, -1 }, { "purple-refined-concrete", 2, 0 }, { "purple-refined-concrete", 2, 1 }, { "black-refined-concrete", 2, 2 },
|
|
50
|
+
{ "black-refined-concrete", 3, -2 }, { "black-refined-concrete", 3, -1 }, { "black-refined-concrete", 3, 0 }, { "black-refined-concrete", 3, 1 },
|
|
51
|
+
},
|
|
52
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
--- Config to control when players items are removed, this is a list of event names that will trigger inventory clear
|
|
2
|
+
-- @config inventory_clear
|
|
3
|
+
|
|
4
|
+
local events = defines.events
|
|
5
|
+
return {
|
|
6
|
+
events.on_player_banned,
|
|
7
|
+
events.on_player_kicked,
|
|
8
|
+
-- events.on_player_left_game
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
return {
|
|
2
|
+
Cooldude2606 = "Lua lets you set metatables on numbers, did you know that? Cooldude2606 knows this.",
|
|
3
|
+
samy115 = "Tremble in fear as the banhammer is now here, its owner: samy115",
|
|
4
|
+
XenoCyber = '"Fire Fire Fire" oops wrong game, have no fear XenoCyber is here',
|
|
5
|
+
HunterOfGames = "Unable to support HunterOfGames. You must construct additional miners.",
|
|
6
|
+
ookl = 'ookl says: "Pineapples are amazing, hello everyone!"',
|
|
7
|
+
arty714 = "Arty\'s Potato made it!",
|
|
8
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
--- Settings for logging
|
|
2
|
+
-- @config logging
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
file_name = "log/logging.log",
|
|
6
|
+
rocket_launch_display = {
|
|
7
|
+
[1] = true,
|
|
8
|
+
[2] = true,
|
|
9
|
+
[5] = true,
|
|
10
|
+
[10] = true,
|
|
11
|
+
[20] = true,
|
|
12
|
+
[50] = true,
|
|
13
|
+
[100] = true,
|
|
14
|
+
[200] = true,
|
|
15
|
+
},
|
|
16
|
+
rocket_launch_display_rate = 500,
|
|
17
|
+
disconnect_reason = {
|
|
18
|
+
[defines.disconnect_reason.quit] = "left the game",
|
|
19
|
+
[defines.disconnect_reason.dropped] = "was dropped from the game",
|
|
20
|
+
[defines.disconnect_reason.reconnect] = "is reconnecting",
|
|
21
|
+
[defines.disconnect_reason.wrong_input] = "was having a wrong input",
|
|
22
|
+
[defines.disconnect_reason.desync_limit_reached] = "had desync limit reached",
|
|
23
|
+
[defines.disconnect_reason.cannot_keep_up] = "cannot keep up",
|
|
24
|
+
[defines.disconnect_reason.afk] = "was afk",
|
|
25
|
+
[defines.disconnect_reason.kicked] = "was kicked",
|
|
26
|
+
[defines.disconnect_reason.kicked_and_deleted] = "was kicked and deleted",
|
|
27
|
+
[defines.disconnect_reason.banned] = "was banned",
|
|
28
|
+
[defines.disconnect_reason.switching_servers] = "is switching servers",
|
|
29
|
+
},
|
|
30
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
--- Settings for miner
|
|
2
|
+
-- @config miner
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
fluid = true, --- @setting fluid When true, checks for for fluid pipes when removing miners
|
|
6
|
+
chest = true, --- @setting chest When true, checks for for chest when removing miners
|
|
7
|
+
beacon = true, --- @setting beacon When true, checks for for beacon when removing miners
|
|
8
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
return {
|
|
2
|
+
module_slots_per_row = 4,
|
|
3
|
+
module_slot_max = 8,
|
|
4
|
+
copy_paste_module = true,
|
|
5
|
+
copy_paste_rotation = false,
|
|
6
|
+
machines = {
|
|
7
|
+
},
|
|
8
|
+
machine_sets = {
|
|
9
|
+
["base"] = {
|
|
10
|
+
["electric-mining-drill"] = {
|
|
11
|
+
["module"] = "efficiency-module",
|
|
12
|
+
["prod"] = true,
|
|
13
|
+
},
|
|
14
|
+
["pumpjack"] = {
|
|
15
|
+
["module"] = "efficiency-module",
|
|
16
|
+
["prod"] = true,
|
|
17
|
+
},
|
|
18
|
+
["assembling-machine-2"] = {
|
|
19
|
+
["module"] = "productivity-module",
|
|
20
|
+
["prod"] = true,
|
|
21
|
+
},
|
|
22
|
+
["assembling-machine-3"] = {
|
|
23
|
+
["module"] = "productivity-module-3",
|
|
24
|
+
["prod"] = true,
|
|
25
|
+
},
|
|
26
|
+
["electric-furnace"] = {
|
|
27
|
+
["module"] = "productivity-module-3",
|
|
28
|
+
["prod"] = true,
|
|
29
|
+
},
|
|
30
|
+
["beacon"] = {
|
|
31
|
+
["module"] = "speed-module-3",
|
|
32
|
+
["prod"] = false,
|
|
33
|
+
},
|
|
34
|
+
["oil-refinery"] = {
|
|
35
|
+
["module"] = "productivity-module-3",
|
|
36
|
+
["prod"] = true,
|
|
37
|
+
},
|
|
38
|
+
["chemical-plant"] = {
|
|
39
|
+
["module"] = "productivity-module-3",
|
|
40
|
+
["prod"] = true,
|
|
41
|
+
},
|
|
42
|
+
["centrifuge"] = {
|
|
43
|
+
["module"] = "productivity-module-3",
|
|
44
|
+
["prod"] = true,
|
|
45
|
+
},
|
|
46
|
+
["lab"] = {
|
|
47
|
+
["module"] = "productivity-module-3",
|
|
48
|
+
["prod"] = true,
|
|
49
|
+
},
|
|
50
|
+
["rocket-silo"] = {
|
|
51
|
+
["module"] = "productivity-module-3",
|
|
52
|
+
["prod"] = true,
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
["space-age"] = {
|
|
56
|
+
["big-mining-drill"] = {
|
|
57
|
+
["module"] = "efficiency-module",
|
|
58
|
+
["prod"] = true,
|
|
59
|
+
},
|
|
60
|
+
["biochamber"] = {
|
|
61
|
+
["module"] = "efficiency-module",
|
|
62
|
+
["prod"] = true,
|
|
63
|
+
},
|
|
64
|
+
["electromagnetic-plant"] = {
|
|
65
|
+
["module"] = "productivity-module-3",
|
|
66
|
+
["prod"] = true,
|
|
67
|
+
},
|
|
68
|
+
["cryogenic-plant"] = {
|
|
69
|
+
["module"] = "productivity-module-3",
|
|
70
|
+
["prod"] = true,
|
|
71
|
+
},
|
|
72
|
+
["biolab"] = {
|
|
73
|
+
["module"] = "productivity-module-3",
|
|
74
|
+
["prod"] = true,
|
|
75
|
+
},
|
|
76
|
+
["foundry"] = {
|
|
77
|
+
["module"] = "productivity-module-3",
|
|
78
|
+
["prod"] = true,
|
|
79
|
+
},
|
|
80
|
+
["recycler"] = {
|
|
81
|
+
["module"] = "quality-module-3",
|
|
82
|
+
["prod"] = true,
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
return {
|
|
2
|
+
inventories = {
|
|
3
|
+
{
|
|
4
|
+
inventory = defines.inventory.character_ammo,
|
|
5
|
+
event = defines.events.on_player_ammo_inventory_changed,
|
|
6
|
+
items = {
|
|
7
|
+
["atomic-bomb"] = true,
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
inventory = defines.inventory.character_armor,
|
|
12
|
+
event = defines.events.on_player_armor_inventory_changed,
|
|
13
|
+
items = {},
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
inventory = defines.inventory.character_guns,
|
|
17
|
+
event = defines.events.on_player_gun_inventory_changed,
|
|
18
|
+
items = {},
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
inventory = defines.inventory.character_main,
|
|
22
|
+
event = defines.events.on_player_main_inventory_changed,
|
|
23
|
+
items = {
|
|
24
|
+
["atomic-bomb"] = true,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
ignore_permission = "exp_scenario.bypass.nuke_protection", -- @setting ignore_permission The permission that nukeprotect will ignore
|
|
29
|
+
ignore_admins = true, -- @setting ignore_admins Ignore admins, true by default. Allows usage outside of the roles module
|
|
30
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
--- This controls how pollution is viewed on the map
|
|
2
|
+
-- @config Pollution-Grading
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
reference_point = { x = 0, y = 0 }, --- @setting reference_point where pollution is read from
|
|
6
|
+
max_scalar = 0.5, --- @setting max_scalar the scale between true max and max
|
|
7
|
+
min_scalar = 0.17, --- @setting min_scalar the scale between the lowest max and min
|
|
8
|
+
update_delay = 15, --- @setting update_delay time in minutes between view updates
|
|
9
|
+
}
|