From 9ecd0cca0d80587b811862c5d8f788dca929b893 Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Tue, 23 Jul 2019 17:46:49 +0100 Subject: [PATCH] Config --- config/_file_loader.lua | 9 +- config/action_buttons.lua | 39 +- config/advanced_start.lua | 17 +- config/bonuses.lua | 2 + config/chat_reply.lua | 15 +- config/compilatron.lua | 10 +- config/death_logger.lua | 20 +- config/discord_alerts.lua | 2 + config/expcore-commands/auth_admin.lua | 6 +- config/expcore-commands/auth_roles.lua | 2 + .../expcore-commands/auth_runtime_disable.lua | 8 +- config/expcore-commands/parse_general.lua | 22 +- config/expcore-commands/parse_roles.lua | 10 +- config/permission_groups.lua | 12 +- config/pollution_grading.lua | 12 +- config/popup_messages.lua | 12 +- config/preset_player_colours.lua | 8 +- config/repair.lua | 14 +- config/rockets.lua | 40 +- config/roles.lua | 2 + config/science.lua | 10 +- config/scorched_earth.lua | 10 +- config/spawn_area.lua | 34 +- config/tasks.lua | 12 +- config/warnings.lua | 8 +- config/warps.lua | 30 +- doc/commands/Admin-Chat.html | 55 +- doc/commands/Bonus.html | 55 +- doc/commands/Cheat-Mode.html | 55 +- doc/commands/Clear-Inventory.html | 55 +- doc/commands/Debug.html | 55 +- doc/commands/Find.html | 55 +- doc/commands/Help.html | 55 +- doc/commands/Home.html | 55 +- doc/commands/Interface.html | 55 +- doc/commands/Jail.html | 55 +- doc/commands/Kill.html | 55 +- doc/commands/Me.html | 55 +- doc/commands/Rainbow.html | 55 +- doc/commands/Repair.html | 55 +- doc/commands/Reports.html | 55 +- doc/commands/Roles.html | 55 +- doc/commands/Spawn.html | 55 +- doc/commands/Tag.html | 55 +- doc/commands/Teleport.html | 55 +- doc/commands/Warnings.html | 55 +- doc/config.ld | 3 +- doc/configs/Advanced-Start.html | 507 +++++++++++ doc/configs/Bonuses.html | 238 +++++ doc/configs/Chat-Reply.html | 486 ++++++++++ doc/configs/Commands-Auth-Admin.html | 295 +++++++ doc/configs/Commands-Auth-Roles.html | 321 +++++++ .../Commands-Auth-Runtime-Disable.html | 443 ++++++++++ doc/configs/Commands-Parse-Roles.html | 355 ++++++++ doc/configs/Commands-Parse.html | 339 +++++++ doc/configs/Commands.auth_admin.html | 289 ++++++ doc/configs/Commands.auth_roles.html | 315 +++++++ .../Commands.auth_runtime_disable.html | 437 +++++++++ doc/configs/Commands.parse_general.html | 333 +++++++ doc/configs/Commands.parse_roles.html | 349 ++++++++ doc/configs/Compilatron.html | 355 ++++++++ doc/configs/Death-Logger.html | 417 +++++++++ doc/configs/Discord-Alerts.html | 238 +++++ doc/configs/File-Loader.html | 241 +++++ doc/configs/Permission-Groups.html | 296 +++++++ doc/configs/Player-List.html | 813 +++++++++++++++++ doc/configs/Pollution-Grading.html | 385 ++++++++ doc/configs/Popup-Messages.html | 415 +++++++++ doc/configs/Preset-Player-Colours.html | 325 +++++++ doc/configs/Repair.html | 415 +++++++++ doc/configs/Rockets.html | 835 ++++++++++++++++++ doc/configs/Roles.html | 293 ++++++ doc/configs/Science.html | 355 ++++++++ doc/configs/Scorched-Earth.html | 389 ++++++++ doc/configs/Spawn-Area.html | 745 ++++++++++++++++ doc/configs/Tasks.html | 385 ++++++++ doc/configs/Warnings.html | 356 ++++++++ doc/configs/Warps.html | 685 ++++++++++++++ doc/control/Jail.html | 55 +- doc/control/Production.html | 55 +- doc/control/Reports.html | 55 +- doc/control/Rockets.html | 55 +- doc/control/Tasks.html | 55 +- doc/control/Warnings.html | 55 +- doc/control/Warps.html | 55 +- doc/guis/Player-List.html | 55 +- doc/guis/Rocket-Info.html | 55 +- doc/guis/Science-Info.html | 55 +- doc/guis/Task-List.html | 55 +- doc/guis/Warps-List.html | 55 +- doc/index.html | 115 ++- doc/modules/config._file_loader.html | 19 +- doc/modules/config.action_buttons.html | 21 +- doc/modules/config.advanced_start.html | 23 +- doc/modules/config.bonuses.html | 25 +- doc/modules/config.chat_reply.html | 25 +- doc/modules/config.death_logger.html | 29 +- doc/modules/config.discord_alerts.html | 32 +- .../config.expcore-commands.auth_roles.html | 11 +- ...expcore-commands.auth_runtime_disable.html | 11 +- ...config.expcore-commands.parse_general.html | 15 +- .../config.expcore-commands.parse_roles.html | 15 +- doc/modules/config.permission_groups.html | 32 +- doc/modules/config.popup_messages.html | 37 +- doc/modules/config.rockets.html | 40 +- doc/modules/config.roles.html | 40 +- doc/modules/config.scorched_earth.html | 40 +- doc/modules/config.spawn_area.html | 40 +- doc/modules/config.warnings.html | 40 +- doc/modules/config.warps.html | 40 +- doc/modules/control.html | 55 +- doc/modules/expcore.commands.html | 55 +- doc/modules/expcore.common.html | 55 +- doc/modules/expcore.gui.concepts.center.html | 55 +- doc/modules/expcore.gui.concepts.left.html | 55 +- doc/modules/expcore.gui.concepts.popups.html | 55 +- doc/modules/expcore.gui.concepts.toolbar.html | 55 +- doc/modules/expcore.gui.core.html | 55 +- doc/modules/expcore.gui.elements.buttons.html | 55 +- .../expcore.gui.elements.checkbox.html | 55 +- .../expcore.gui.elements.dropdown.html | 55 +- .../expcore.gui.elements.elem-button.html | 55 +- .../expcore.gui.elements.progress-bar.html | 55 +- doc/modules/expcore.gui.elements.slider.html | 55 +- doc/modules/expcore.gui.elements.text.html | 55 +- doc/modules/expcore.gui.html | 55 +- doc/modules/expcore.gui.instances.html | 55 +- doc/modules/expcore.gui.prototype.html | 55 +- doc/modules/expcore.gui.test.html | 55 +- doc/modules/expcore.permission_groups.html | 55 +- doc/modules/expcore.roles.html | 55 +- doc/modules/expcore.store.html | 55 +- doc/modules/expcore.sudo.html | 55 +- .../modules.addons.advanced-start.html | 55 +- doc/modules/modules.addons.chat-popups.html | 55 +- doc/modules/modules.addons.damage-popups.html | 55 +- .../utils.alien_evolution_progress.html | 55 +- doc/modules/utils.core.html | 55 +- doc/modules/utils.debug.html | 55 +- doc/modules/utils.dump_env.html | 55 +- doc/modules/utils.event.html | 55 +- doc/modules/utils.event_core.html | 55 +- doc/modules/utils.math.html | 55 +- doc/modules/utils.recipe_locker.html | 55 +- doc/modules/utils.state_machine.html | 55 +- doc/modules/utils.table.html | 55 +- doc/modules/utils.task.html | 55 +- doc/modules/utils.timestamp.html | 55 +- doc/topics/license.html | 55 +- doc/topics/readme.md.html | 55 +- 150 files changed, 15734 insertions(+), 1895 deletions(-) create mode 100644 doc/configs/Advanced-Start.html create mode 100644 doc/configs/Bonuses.html create mode 100644 doc/configs/Chat-Reply.html create mode 100644 doc/configs/Commands-Auth-Admin.html create mode 100644 doc/configs/Commands-Auth-Roles.html create mode 100644 doc/configs/Commands-Auth-Runtime-Disable.html create mode 100644 doc/configs/Commands-Parse-Roles.html create mode 100644 doc/configs/Commands-Parse.html create mode 100644 doc/configs/Commands.auth_admin.html create mode 100644 doc/configs/Commands.auth_roles.html create mode 100644 doc/configs/Commands.auth_runtime_disable.html create mode 100644 doc/configs/Commands.parse_general.html create mode 100644 doc/configs/Commands.parse_roles.html create mode 100644 doc/configs/Compilatron.html create mode 100644 doc/configs/Death-Logger.html create mode 100644 doc/configs/Discord-Alerts.html create mode 100644 doc/configs/File-Loader.html create mode 100644 doc/configs/Permission-Groups.html create mode 100644 doc/configs/Player-List.html create mode 100644 doc/configs/Pollution-Grading.html create mode 100644 doc/configs/Popup-Messages.html create mode 100644 doc/configs/Preset-Player-Colours.html create mode 100644 doc/configs/Repair.html create mode 100644 doc/configs/Rockets.html create mode 100644 doc/configs/Roles.html create mode 100644 doc/configs/Science.html create mode 100644 doc/configs/Scorched-Earth.html create mode 100644 doc/configs/Spawn-Area.html create mode 100644 doc/configs/Tasks.html create mode 100644 doc/configs/Warnings.html create mode 100644 doc/configs/Warps.html diff --git a/config/_file_loader.lua b/config/_file_loader.lua index f6c11fcb..c4a5bba6 100644 --- a/config/_file_loader.lua +++ b/config/_file_loader.lua @@ -1,7 +1,8 @@ ---- This contains a list of all files that will be loaded and the order they are loaded in --- to stop a file from loading add "--" in front of it, remove the "--" to have the file be loaded --- config files should be loaded after all modules are loaded --- core files should be required by modules and not be present in this list +--- This contains a list of all files that will be loaded and the order they are loaded in; +-- to stop a file from loading add "--" in front of it, remove the "--" to have the file be loaded; +-- config files should be loaded after all modules are loaded; +-- core files should be required by modules and not be present in this list; +-- @config File-Loader return { --'example.file_not_loaded', 'modules.factorio-control', -- base factorio free play scenario diff --git a/config/action_buttons.lua b/config/action_buttons.lua index dadf057b..2e2fb9ae 100644 --- a/config/action_buttons.lua +++ b/config/action_buttons.lua @@ -1,8 +1,10 @@ ---- Config for the different action buttons that show on the player list --- each button has the button define(s) given along side an auth function, and optional reason callback --- if a reason callback is used then Store.set(action_name_store,player.name,'BUTTON_NAME') should be called during on_click --- buttons can be removed from the gui by commenting them out of the config at the bottom of this file --- the key used for the name of the button is the permission name used by the role system +--- Config for the different action buttons that show on the player list; +-- each button has the button define(s) given along side an auth function, and optional reason callback; +-- if a reason callback is used then Store.set(action_name_store,player.name,'BUTTON_NAME') should be called during on_click; +-- buttons can be removed from the gui by commenting them out of the config at the bottom of this file; +-- the key used for the name of the button is the permission name used by the role system; +-- @config Player-List + local Gui = require 'expcore.gui' --- @dep expcore.gui local Roles = require 'expcore.roles' --- @dep expcore.roles local Store = require 'expcore.store' --- @dep expcore.store @@ -50,7 +52,8 @@ local function teleport(from_player,to_player) return true end --- teleports the user to the action player +--- Teleports the user to the action player +-- @element goto_player local goto_player = Gui.new_button() :set_sprites('utility/export') @@ -66,7 +69,8 @@ Gui.new_button() end end) --- teleports the action player to the user +--- Teleports the action player to the user +-- @element bring_player local bring_player = Gui.new_button() :set_sprites('utility/import') @@ -82,7 +86,8 @@ Gui.new_button() end end) --- kills the action player, if there are alive +--- Kills the action player, if there are alive +-- @element kill_player local kill_player = Gui.new_button() :set_sprites('utility/too_far') @@ -98,7 +103,8 @@ Gui.new_button() end end) --- reports the action player, requires a reason to be given +--- Reports the action player, requires a reason to be given +-- @element report_player local report_player = Gui.new_button() :set_sprites('utility/spawn_flag') @@ -121,7 +127,8 @@ local function report_player_callback(player,reason) Reports.report_player(action_player_name,player.name,reason) end --- gives the action player a warning, requires a reason +--- Gives the action player a warning, requires a reason +-- @element warn_player local warn_player = Gui.new_button() :set_sprites('utility/spawn_flag') @@ -138,7 +145,8 @@ local function warn_player_callback(player,reason) Warnings.add_warning(action_player_name,player.name,reason) end --- jails the action player, requires a reason +--- Jails the action player, requires a reason +-- @element jail_player local jail_player = Gui.new_button() :set_sprites('utility/item_editor_icon') @@ -160,7 +168,8 @@ local function jail_player_callback(player,reason) Jail.jail_player(action_player_name,player.name,reason) end --- temp bans the action player, requires a reason +--- Temp bans the action player, requires a reason +-- @element temp_ban_player local temp_ban_player = Gui.new_button() :set_sprites('utility/clock') @@ -182,7 +191,8 @@ local function temp_ban_player_callback(player,reason) Jail.temp_ban_player(action_player,player.name,reason) end --- kicks the action player, requires a reason +--- Kicks the action player, requires a reason +-- @element kick_player local kick_player = Gui.new_button() :set_sprites('utility/warning_icon') @@ -197,7 +207,8 @@ local function kick_player_callback(player,reason) game.kick_player(action_player,reason) end --- bans the action player, requires a reason +--- Bans the action player, requires a reason +-- @element ban_player local ban_player = Gui.new_button() :set_sprites('utility/danger_icon') diff --git a/config/advanced_start.lua b/config/advanced_start.lua index 586530ad..f490a9cb 100644 --- a/config/advanced_start.lua +++ b/config/advanced_start.lua @@ -1,4 +1,5 @@ --- This file is used to setup the map starting settings and the items players will start with +-- @config Advanced-Start --- These are called factories because they return another function -- use these as a simple methods of adding new items @@ -61,14 +62,14 @@ end ]] return { - skip_intro=true, -- skips the intro given in the default factorio free play scenario - skip_victory=true, -- will skip the victory screen when a rocket is launched - disable_base_game_silo_script=true, -- will not load the silo script at all - research_queue_from_start=true, -- when true the research queue is useible from the start - friendly_fire=false, -- weather players will be able to attack each other on the same force - enemy_expansion=false, -- a catch all for in case the map settings file fails to load - chart_radius=10*32, -- the number of tiles that will be charted when the map starts - items = { -- items and there condition for being given + skip_intro=true, --- @setting skip_intro skips the intro given in the default factorio free play scenario + skip_victory=true, --- @setting skip_victory will skip the victory screen when a rocket is launched + disable_base_game_silo_script=true, --- @setting disable_base_game_silo_script will not load the silo script at all + research_queue_from_start=true, --- @setting research_queue_from_start when true the research queue is useible from the start + friendly_fire=false, --- @setting friendly_fire weather players will be able to attack each other on the same force + enemy_expansion=false, --- @setting enemy_expansion a catch all for in case the map settings file fails to load + chart_radius=10*32, --- @setting chart_radius the number of tiles that will be charted when the map starts + items = { --- @setting items items and there condition for being given -- ['item-name'] = function(amount_made,production_stats,player) return end -- 0 means no items given -- Plates ['iron-plate']=scale_amount_made(100,10,10), diff --git a/config/bonuses.lua b/config/bonuses.lua index d74ddfbf..b96b48a2 100644 --- a/config/bonuses.lua +++ b/config/bonuses.lua @@ -1,4 +1,6 @@ --- Lists all bonuses which can be used, name followed by min max +-- @config Bonuses + return { character_mining_speed_modifier={0,3}, character_crafting_speed_modifier={0,3}, diff --git a/config/chat_reply.lua b/config/chat_reply.lua index 536548cf..ca7d1700 100644 --- a/config/chat_reply.lua +++ b/config/chat_reply.lua @@ -1,8 +1,11 @@ --- This file defines the different triggers for the chat bot +-- @config Chat-Reply + local format_time = ext_require('expcore.common','format_time') --- @dep expcore.common + return { - allow_command_prefix_for_messages = true, -- when true any message trigger will print to all player when prefixed - messages = { -- will trigger when ever the word is said + allow_command_prefix_for_messages = true, --- @setting allow_command_prefix_for_messages when true any message trigger will print to all player when prefixed + messages = { --- @setting messages will trigger when ever the word is said ['discord']={'info.discord'}, ['expgaming']={'info.website'}, ['website']={'info.website'}, @@ -39,10 +42,10 @@ return { return {'chat-bot.map-time',format_time(game.tick,{days=true,hours=true,minutes=true,seconds=true,long=true})} end, }, - command_admin_only = false, -- when true will only allow chat commands for admins - command_permission = 'command/chat-bot', -- the permission used to allow command prefixes - command_prefix = '!', -- prefix used for commands below and to print to all players (if enabled above) - commands = { -- will trigger only when command prefix is given + command_admin_only = false, --- @setting command_admin_only when true will only allow chat commands for admins + command_permission = 'command/chat-bot', --- @setting command_permission the permission used to allow command prefixes + command_prefix = '!', --- @setting command_prefix prefix used for commands below and to print to all players (if enabled above) + commands = { --- @setting commands will trigger only when command prefix is given ['dev']={'chat-bot.not-real-dev'}, ['blame']=function(player) local names = {'Cooldude2606','arty714','badgamernl', 'mark9064', 'aldldl', 'Drahc_pro',player.name} diff --git a/config/compilatron.lua b/config/compilatron.lua index 116eb5b6..6b69601d 100644 --- a/config/compilatron.lua +++ b/config/compilatron.lua @@ -1,10 +1,12 @@ --- config file for the compliatrons including where they spawn and what messages they show +--- Config file for the compliatrons including where they spawn and what messages they show +-- @config Compilatron + return { - message_cycle=60*15, -- 15 seconds default, how often (in ticks) the messages will cycle - locations={ -- defines the spawn locations for all compilatrons + message_cycle=60*15, --- @setting message_cycle 15 seconds default, how often (in ticks) the messages will cycle + locations={ --- @setting locations defines the spawn locations for all compilatrons ['Spawn']={x=0,y=0} }, - messages={ -- the messages that each one will say, must be same name as its location + messages={ --- @setting messages the messages that each one will say, must be same name as its location ['Spawn']={ {'info.website'}, {'info.read-readme'}, diff --git a/config/death_logger.lua b/config/death_logger.lua index 7e03c2bb..1c5c578b 100644 --- a/config/death_logger.lua +++ b/config/death_logger.lua @@ -1,12 +1,14 @@ ---- This config controls what happens when a player dies mostly about map markers and item collection --- allow_teleport_to_body_command and allow_collect_bodies_command can be over ridden if command_auth_runtime_disable is present +--- This config controls what happens when a player dies mostly about map markers and item collection; +-- allow_teleport_to_body_command and allow_collect_bodies_command can be over ridden if command_auth_runtime_disable is present; -- if not present then the commands will not be loaded into the game +-- @config Death-Logger + return { - --allow_teleport_to_body_command=false, -- allows use of /return-to-body which teleports you to your last death - --allow_collect_bodies_command=false, -- allows use of /collect-body which returns all your items to you and removes the body - use_chests_as_bodies=false, -- weather items should be moved into a chest when a player dies - auto_collect_bodies=true, -- enables items being returned to the spawn point in chests upon corpse expiring - show_map_markers=true, -- shows markers on the map where bodies are - include_time_of_death=true, -- weather to include the time of death on the map marker - map_icon=nil -- the icon that the map marker shows; nil means no icon; format as a SingleID + --WIP_allow_teleport_to_body_command=false, -- allows use of /return-to-body which teleports you to your last death + --WIP_allow_collect_bodies_command=false, -- allows use of /collect-body which returns all your items to you and removes the body + use_chests_as_bodies=false, --- @setting use_chests_as_bodies weather items should be moved into a chest when a player dies + auto_collect_bodies=true, --- @setting auto_collect_bodies enables items being returned to the spawn point in chests upon corpse expiring + show_map_markers=true, --- @setting show_map_markers shows markers on the map where bodies are + include_time_of_death=true, --- @setting include_time_of_death weather to include the time of death on the map marker + map_icon=nil --- @setting map_icon the icon that the map marker shows; nil means no icon; format as a SingleID } \ No newline at end of file diff --git a/config/discord_alerts.lua b/config/discord_alerts.lua index 2eeb922f..1d2c58d0 100644 --- a/config/discord_alerts.lua +++ b/config/discord_alerts.lua @@ -1,4 +1,6 @@ --- Config file used to enable and disable different push messages for discord +-- @config Discord-Alerts + return { player_reports=true, player_warnings=true, diff --git a/config/expcore-commands/auth_admin.lua b/config/expcore-commands/auth_admin.lua index 331a55d9..5f2b8723 100644 --- a/config/expcore-commands/auth_admin.lua +++ b/config/expcore-commands/auth_admin.lua @@ -1,6 +1,8 @@ ---- This is a very simple config file which adds a admin only auth function --- not much to change here its more so it can be enabled and disabled from ./config/file_loader.lua +--- This is a very simple config file which adds a admin only auth functio; +-- not much to change here its more so it can be enabled and disabled from ./config/file_loader.lua; -- either way you can change the requirements to be "admin" if you wanted to +-- @config Commands-Auth-Admin + local Commands = require 'expcore.commands' --- @dep expcore.commands Commands.add_authenticator(function(player,command,tags,reject) diff --git a/config/expcore-commands/auth_roles.lua b/config/expcore-commands/auth_roles.lua index 071d07a2..cb7e0db9 100644 --- a/config/expcore-commands/auth_roles.lua +++ b/config/expcore-commands/auth_roles.lua @@ -1,4 +1,6 @@ --- This will make commands only work if the role has been allowed it in the role config +-- @config Commands-Auth-Roles + local Commands = require 'expcore.commands' --- @dep expcore.commands local Roles = require 'expcore.roles' --- @dep expcore.roles diff --git a/config/expcore-commands/auth_runtime_disable.lua b/config/expcore-commands/auth_runtime_disable.lua index 016c115d..204869f5 100644 --- a/config/expcore-commands/auth_runtime_disable.lua +++ b/config/expcore-commands/auth_runtime_disable.lua @@ -1,5 +1,7 @@ ---- This config for command auth allows commands to be globally enabled and disabled during runtime +--- This config for command auth allows commands to be globally enabled and disabled during runtime; -- this config adds Commands.disable and Commands.enable to enable and disable commands for all users +-- @config Commands-Auth-Runtime-Disable + local Commands = require 'expcore.commands' --- @dep expcore.commands local Global = require 'utils.global' --- @dep utils.global @@ -8,10 +10,14 @@ Global.register(disabled_commands,function(tbl) disabled_commands = tbl end) +--- Stops a command from be used by any one +-- @tparam string command_name the name of the command to disable function Commands.disable(command_name) disabled_commands[command_name] = true end +--- Allows a command to be used again after disable was used +-- @tparam string command_name the name of the command to enable function Commands.enable(command_name) disabled_commands[command_name] = nil end diff --git a/config/expcore-commands/parse_general.lua b/config/expcore-commands/parse_general.lua index 8a9817ae..7b9e282a 100644 --- a/config/expcore-commands/parse_general.lua +++ b/config/expcore-commands/parse_general.lua @@ -1,13 +1,10 @@ ---- This file contains some common command param parse functions --- this file is less of a config and more of a requirement but you may wish to change how some behave --- as such you need to be confident with lua but you edit this config file --- use Commands.add_parse('name',function(input,player,reject) end) to add a parse --- see ./expcore/commands.lua for more details -local Commands = require 'expcore.commands' --- @dep expcore.commands -local Game = require 'utils.game' --- @dep utils.game - ---[[ ->>>>Adds Parses: +--[[-- This file contains some common command param parse functions; +this file is less of a config and more of a requirement but you may wish to change how some behave; +as such you need to be confident with lua but you edit this config file; +use Commands.add_parse('name',function(input,player,reject) end) to add a parse; +see ./expcore/commands.lua for more details +@config Commands-Parse +@usage Adds Parses: boolean string-options - options: array string-max-length - max_length: number @@ -22,6 +19,11 @@ local Game = require 'utils.game' --- @dep utils.game surface ]] +local Commands = require 'expcore.commands' --- @dep expcore.commands +local Game = require 'utils.game' --- @dep utils.game + + + Commands.add_parse('boolean',function(input,player,reject) if not input then return end -- nil check input = input:lower() diff --git a/config/expcore-commands/parse_roles.lua b/config/expcore-commands/parse_roles.lua index 9071a7db..20b0d51f 100644 --- a/config/expcore-commands/parse_roles.lua +++ b/config/expcore-commands/parse_roles.lua @@ -1,4 +1,12 @@ ---- Adds some parse functions that can be used with the role system +--[[-- Adds some parse functions that can be used with the role system +@config Commands-Parse-Roles +@usage Adds Parses: + role + player-role + player-role-online + player-role-alive +]] + local Commands = require 'expcore.commands' --- @dep expcore.commands local Roles = require 'expcore.roles' --- @dep expcore.roles local auto_complete = ext_require('expcore.common','auto_complete') --- @dep expcore.common diff --git a/config/permission_groups.lua b/config/permission_groups.lua index 95c4c221..d3b4930d 100644 --- a/config/permission_groups.lua +++ b/config/permission_groups.lua @@ -1,9 +1,11 @@ ---- Use this file to add new permission groups to the game --- start with Permission_Groups.new_group('name') --- then use either :allow_all() or :disallow_all() to set the default for non specified actions +--- Use this file to add new permission groups to the game; +-- start with Permission_Groups.new_group('name'); +-- then use either :allow_all() or :disallow_all() to set the default for non specified actions; -- then use :allow{} and :disallow{} to specify certain actions to allow/disallow -local Event = require 'utils.event' --- @dep utils.event -local Game = require 'utils.game' --- @dep utils.game +-- @config Permission-Groups + +--local Event = require 'utils.event' -- @dep utils.event +--local Game = require 'utils.game' -- @dep utils.game local Permission_Groups = require 'expcore.permission_groups' --- @dep expcore.permission_groups Permission_Groups.new_group('Admin') diff --git a/config/pollution_grading.lua b/config/pollution_grading.lua index b19fd3ef..fdb73369 100644 --- a/config/pollution_grading.lua +++ b/config/pollution_grading.lua @@ -1,7 +1,9 @@ --- This controls how pollution is viewed on the map +--- This controls how pollution is viewed on the map +-- @config Pollution-Grading + return { - reference_point = {x=0,y=0}, -- where pollution is read from - max_scalar = 0.5, -- the scale between true max and max - min_scalar = 0.17, -- the scale between the lowest max and min - update_delay = 15 -- time in minutes between view updates + reference_point = {x=0,y=0}, --- @setting reference_point where pollution is read from + max_scalar = 0.5, --- @setting max_scalar the scale between true max and max + min_scalar = 0.17, --- @setting min_scalar the scale between the lowest max and min + update_delay = 15 --- @setting update_delay time in minutes between view updates } \ No newline at end of file diff --git a/config/popup_messages.lua b/config/popup_messages.lua index bee5b53c..75db9a47 100644 --- a/config/popup_messages.lua +++ b/config/popup_messages.lua @@ -1,8 +1,10 @@ --- A combination of config settings for different popup values like chat and damage +-- @config Popup-Messages + return { - show_player_messages=true, -- weather a message in chat will make a popup above them - show_player_mentions=true, -- weather a mentioned player will have a popup when mentioned in chat - show_player_damage=true, -- weather to show damage done by players - show_player_health=true, -- weather to show player health when attacked - damage_location_variance=0.8 -- how close to the eade of an entity the popups will appear + show_player_messages=true, --- @setting show_player_messages weather a message in chat will make a popup above them + show_player_mentions=true, --- @setting show_player_mentions weather a mentioned player will have a popup when mentioned in chat + show_player_damage=true, --- @setting show_player_damage weather to show damage done by players + show_player_health=true, --- @setting show_player_health weather to show player health when attacked + damage_location_variance=0.8 --- @setting damage_location_variance how close to the eade of an entity the popups will appear } \ No newline at end of file diff --git a/config/preset_player_colours.lua b/config/preset_player_colours.lua index d10fd64a..37a37792 100644 --- a/config/preset_player_colours.lua +++ b/config/preset_player_colours.lua @@ -1,6 +1,8 @@ --- preset colours that players get when they join the server, if not in the list then will be given a random colour (which isnt disallowed) +--- Preset colours that players get when they join the server, if not in the list then will be given a random colour (which isnt disallowed) +-- @config Preset-Player-Colours + return { - players={ + players={ --- @setting players list of all players and the colour in rgb256 that they will recive upon joining BADgamerNL={r=255,g=20,b=147}, arty714={r=150,g=68,b=161}, Cooldude2606={r=57,g=192,b=207}, @@ -13,7 +15,7 @@ return { cydes={r=82,g=249,b=155}, UUBlueFire={r=0,g=204,b=255} }, - disallow = { -- the value does not matter it is only the key which is checked + disallow = { --- @setting disallow colours which will not given to players; the value does not matter it is only the key which is checked black = {r = 0, g = 0, b = 0}, white = {r = 255, g = 255, b = 255}, jailed = {r = 255, g = 255, b = 255}, diff --git a/config/repair.lua b/config/repair.lua index 7a8e490c..0dbb1224 100644 --- a/config/repair.lua +++ b/config/repair.lua @@ -1,14 +1,16 @@ --- config file for the repair command +--- Config file for the repair command +-- @config Repair + return { - disallow = { -- items in this list will never be repaired + disallow = { --- @setting disallow items in this list will never be repaired ['loader']=true, ['fast-loader']=true, ['express-loader']=true, ['electric-energy-interface']=true, ['infinity-chest']=true }, - max_range=50, -- the max range that can be used with the repair command - allow_blueprint_repair=false, -- when true will allow blueprints (things not destroyed by biters) to be build instantly using the repair command - allow_ghost_revive=true, -- when true will allow ghosts (things destroyed by biters) to be build instantly using the repair command - allow_heal_entities=true -- when true will heal entities to full health that are within range + max_range=50, --- @setting max_range the max range that can be used with the repair command + allow_blueprint_repair=false, --- @setting allow_blueprint_repair when true will allow blueprints (things not destroyed by biters) to be build instantly using the repair command + allow_ghost_revive=true, --- @setting allow_ghost_revive when true will allow ghosts (things destroyed by biters) to be build instantly using the repair command + allow_heal_entities=true --- @setting allow_heal_entities when true will heal entities to full health that are within range } \ No newline at end of file diff --git a/config/rockets.lua b/config/rockets.lua index 3ce8428f..00432a9d 100644 --- a/config/rockets.lua +++ b/config/rockets.lua @@ -1,18 +1,20 @@ --- This file controls what will show in each section of the rocket info gui +-- @config Rockets + return { - stats = { --- The data that will show in the stats section - show_stats=true, -- false will hide this section all together - show_first_rocket = true, -- false will not show when the first rocket was launched - show_last_rocket = true, -- false will not show when the last rocket was launched - show_fastest_rocket = true, -- false will not show the time taken for the fastest rocket - show_total_rockets = true, -- false will not show the total number of rockets launched - show_game_avg = true, -- false will hide the avg across the entire map time - rolling_avg = { -- each number will be one statistic; 5 means the avg time taken for the last 5 rockets + stats = { --- @setting stats The data that will show in the stats section + show_stats=true, --- @setting show_stats false will hide this section all together + show_first_rocket = true, --- @setting show_first_rocket false will not show when the first rocket was launched + show_last_rocket = true, --- @setting show_last_rocket false will not show when the last rocket was launched + show_fastest_rocket = true, --- @setting show_fastest_rocket false will not show the time taken for the fastest rocket + show_total_rockets = true, --- @setting show_total_rockets false will not show the total number of rockets launched + show_game_avg = true, --- @setting show_game_avg false will hide the avg across the entire map time + rolling_avg = { --- @setting rolling_avg each number will be one statistic; 5 means the avg time taken for the last 5 rockets 5,10,25 } }, - milestones = { -- each number will be one statistic; 5 means the time that the 5th rocket was launched - show_milestones=true, -- false will hide this section all together + milestones = { --- @setting milestones each number will be one statistic; 5 means the time that the 5th rocket was launched + show_milestones=true, --- @setting show_milestones false will hide this section all together 1,2,5, 10,20,50, 100,200,500, @@ -20,14 +22,14 @@ return { 3000,3500,4000,4500, 5000 }, - progress = { --- The data and buttons in the build progress section - show_progress = true, -- false will hide this section altogether - allow_zoom_to_map = true, -- false will disable the zoom to map feature - allow_remote_launch = true, -- false removes the remote launch button for all players - remote_launch_admins_only = false, -- true will remove the remote launch button for all non (game) admins - remote_launch_role_permission = 'gui/rocket-info/remote_launch', -- value used by custom permission system to allow or disallow the button - allow_toggle_active = true, -- false removes the remote toggle auto launch button for all players - toggle_active_admins_only = false, -- true will remove the toggle auto launch button for all non (game) admins - toggle_active_role_permission = 'gui/rocket-info/toggle-active' -- value used by custom permission system to allow or disallow the button + progress = { --- @setting progress The data and buttons in the build progress section + show_progress = true, --- @setting show_progress false will hide this section altogether + allow_zoom_to_map = true, --- @setting allow_zoom_to_map false will disable the zoom to map feature + allow_remote_launch = true, --- @setting allow_remote_launch false removes the remote launch button for all players + remote_launch_admins_only = false, --- @setting remote_launch_admins_only true will remove the remote launch button for all non (game) admins + remote_launch_role_permission = 'gui/rocket-info/remote_launch', --- @setting remote_launch_role_permission value used by custom permission system to allow or disallow the button + allow_toggle_active = true, --- @setting allow_toggle_active false removes the remote toggle auto launch button for all players + toggle_active_admins_only = false, --- @setting toggle_active_admins_only true will remove the toggle auto launch button for all non (game) admins + toggle_active_role_permission = 'gui/rocket-info/toggle-active' --- @setting toggle_active_role_permission value used by custom permission system to allow or disallow the button } } \ No newline at end of file diff --git a/config/roles.lua b/config/roles.lua index 551e2866..d46d08fe 100644 --- a/config/roles.lua +++ b/config/roles.lua @@ -1,4 +1,6 @@ --- This is the main config file for the role system; file includes defines for roles and role flags and default values +-- @config Roles + local Roles = require 'expcore.roles' --- @dep expcore.roles -- Use these to adjust for ticks ie game.tick < 5*minutes diff --git a/config/science.lua b/config/science.lua index f3ee8939..d9e77d5f 100644 --- a/config/science.lua +++ b/config/science.lua @@ -1,8 +1,10 @@ --- config file for the science info gui +--- Config file for the science info gui +-- @config Science + return { -- list of all science packs to be shown in the gui - show_eta=true, -- when true the eta for research completion will be shown - color_clamp=5, -- the amount required for the text to show as green or red - color_flux=0.1, -- the ammount of flucuation allowed in production before icon change + show_eta=true, --- @setting show_eta when true the eta for research completion will be shown + color_clamp=5, --- @setting color_clamp the amount required for the text to show as green or red + color_flux=0.1, --- @setting color_flux the ammount of flucuation allowed in production before icon change 'automation-science-pack', 'logistic-science-pack', 'military-science-pack', diff --git a/config/scorched_earth.lua b/config/scorched_earth.lua index 1a46e20d..64ab9568 100644 --- a/config/scorched_earth.lua +++ b/config/scorched_earth.lua @@ -1,7 +1,9 @@ --- This file controls the placement/degrading of tiles as players build and walk +-- @config Scorched-Earth + return { - weakness_value=50, -- lower value will make tiles more likely to degrade - strengths={ -- this decides how "strong" a tile is, bigger number means less likely to degrade + weakness_value=50, --- @setting weakness_value lower value will make tiles more likely to degrade + strengths={ --- @setting strengths this decides how "strong" a tile is, bigger number means less likely to degrade -- debug: /interface require('modules.addons.worn-paths')(player.name,true) -- note: tiles are effected by the tiles around them, so player paths will not degrade as fast when made wider -- note: values are relative to the tile with the highest value, recommended to keep highest tile as a "nice" number @@ -42,7 +44,7 @@ return { --["water-shallow"]=90, --["water-mud"]=0, -- last tile, nothing to degrade to }, - degrade_order={ -- when a tile degrades it will turn into the next tile given here + degrade_order={ --- @setting degrade_order when a tile degrades it will turn into the next tile given here ["refined-concrete"]='concrete', ["refined-hazard-concrete-left"]='hazard-concrete-left', ["refined-hazard-concrete-right"]='hazard-concrete-right', @@ -79,7 +81,7 @@ return { --["water-shallow"]='water-mud', --["water-mud"]=0, -- last tile, nothing to degrade to }, - entities={ -- entities in this list will degrade the tiles under them when they are placed + entities={ --- @setting entities entities in this list will degrade the tiles under them when they are placed ['stone-furnace']=true, ['steel-furnace']=true, ['electric-furnace']=true, diff --git a/config/spawn_area.lua b/config/spawn_area.lua index 4d8f8eaf..889fc20e 100644 --- a/config/spawn_area.lua +++ b/config/spawn_area.lua @@ -1,33 +1,35 @@ --- Used to config the spawn generation settings yes there is alot here i know just ignore the long tables at the end (they were generated with a command) +-- @config Spawn-Area + return { - infinite_ammo_turrets = { -- These turrets will have they ammo refilled automatically and can not be looted - enabled=true, -- weather the turrets will be created and refilled - ammo_type='uranium-rounds-magazine', -- the ammo type that will be used - locations={ -- locations of all turrets, this is default it can be changed during runtime + infinite_ammo_turrets = { --- @setting infinite_ammo_turrets These turrets will have they ammo refilled automatically and can not be looted + enabled=true, --- @setting enabled weather the turrets will be created and refilled + ammo_type='uranium-rounds-magazine', --- @setting ammo_type the ammo type that will be used + locations={ --- @setting locations locations of all turrets, this is default it can be changed during runtime {surface=1,position={x=-3,y=-3}}, {surface=1,position={x=3 ,y=-3}}, {surface=1,position={x=-3,y=3 }}, {surface=1,position={x=3 ,y=3 }} } }, - afk_belts = { - enabled=true, -- weather afk belts will be generated - locations={ -- top left connors of any afk belt loops to be added + afk_belts = { --- @setting afk_belts setting relating to afk belts round the spawn point + enabled=true, --- @setting enabled weather afk belts will be generated + locations={ --- @setting locations top left connors of any afk belt loops to be added {x=-5,y=-5}, {x=5, y=-5}, {x=-5,y=5 }, {x=5, y=5 } } }, - corrections = { -- Some settings that have no where else to go - protect_entities=true, - offset = {x=0,y=-2}, -- a global offset value to correct the x and y values of the tables below - deconstruction_radius=20, -- when the spawn is made this area will have all entities removed first - deconstruction_tile='concrete', -- this is the tile that will spawn in the deconstruction radius - pattern_radius = 50, -- this is the radius of the pattern all water in this area will be filled - pattern_tile = 'stone-path' -- the tile that is used for the pattern + corrections = { --- @setting corrections Some settings that have no where else to go + protect_entities=true, --- @setting protect_entities if the spawn entites will be protected + offset = {x=0,y=-2}, --- @setting offset a global offset value to correct the x and y values of the tables below + deconstruction_radius=20, --- @setting deconstruction_radius when the spawn is made this area will have all entities removed first + deconstruction_tile='concrete', --- @setting deconstruction_tile this is the tile that will spawn in the deconstruction radius + pattern_radius = 50, --- @setting pattern_radius this is the radius of the pattern all water in this area will be filled + pattern_tile = 'stone-path' --- @setting pattern_tile the tile that is used for the pattern }, - entities = { -- All entities that will be created as part of spawn {entity-name,x-pos,y-pos} + entities = { --- @setting entities All entities that will be created as part of spawn {entity-name,x-pos,y-pos} {"stone-wall",-10,-6},{"stone-wall",-10,-5},{"stone-wall",-10,-4},{"stone-wall",-10,-3},{"stone-wall",-10,-2},{"stone-wall",-10,-1},{"stone-wall",-10,0},{"stone-wall",-10,3},{"stone-wall",-10,4},{"stone-wall",-10,5}, {"stone-wall",-10,6},{"stone-wall",-10,7},{"stone-wall",-10,8},{"stone-wall",-10,9},{"stone-wall",-8,-8},{"small-lamp",-8,-4},{"small-lamp",-8,-1},{"iron-chest",-8,0},{"iron-chest",-8,3},{"small-lamp",-8,4}, {"small-lamp",-8,7},{"stone-wall",-8,11},{"stone-wall",-7,-8},{"small-electric-pole",-7,-2},{"iron-chest",-7,0},{"iron-chest",-7,3},{"small-electric-pole",-7,5},{"stone-wall",-7,11},{"stone-wall",-6,-8},{"small-lamp",-6,-6}, @@ -43,7 +45,7 @@ return { {"stone-wall",9,-4},{"stone-wall",9,-3},{"stone-wall",9,-2},{"stone-wall",9,-1},{"stone-wall",9,0},{"stone-wall",9,3},{"stone-wall",9,4},{"stone-wall",9,5},{"stone-wall",9,6},{"stone-wall",9,7}, {"stone-wall",9,8},{"stone-wall",9,9} }, - tiles = { -- The location of the "pattern" tiles {x-pos,y-pos} + tiles = { --- @setting tiles The location of the "pattern" tiles {x-pos,y-pos} {-49,-3},{-49,-2},{-49,1},{-49,2},{-49,5},{-49,6},{-48,-4},{-48,-3},{-48,-2},{-48,1},{-48,2},{-48,5},{-48,6},{-48,7},{-47,-7},{-47,-6},{-47,-5},{-47,-4},{-47,-3},{-47,-2},{-47,5},{-47,6},{-47,7},{-47,8},{-47,9},{-47,10},{-46,-8},{-46,-7},{-46,-6},{-46,-5}, {-46,-4},{-46,-3},{-46,-2},{-46,-1},{-46,4},{-46,5},{-46,6},{-46,7},{-46,8},{-46,9},{-46,10},{-46,11},{-45,-17},{-45,-16},{-45,-15},{-45,-14},{-45,-13},{-45,-12},{-45,-9},{-45,-8},{-45,-7},{-45,-2},{-45,-1},{-45,0},{-45,1},{-45,2},{-45,3},{-45,4},{-45,5},{-45,10}, {-45,11},{-45,12},{-45,15},{-45,16},{-45,17},{-45,18},{-45,19},{-45,20},{-44,-18},{-44,-17},{-44,-16},{-44,-15},{-44,-14},{-44,-13},{-44,-12},{-44,-9},{-44,-8},{-44,-1},{-44,0},{-44,1},{-44,2},{-44,3},{-44,4},{-44,11},{-44,12},{-44,15},{-44,16},{-44,17},{-44,18},{-44,19}, diff --git a/config/tasks.lua b/config/tasks.lua index ac39ea40..95165ee0 100644 --- a/config/tasks.lua +++ b/config/tasks.lua @@ -1,7 +1,9 @@ --- config file for the tasks gui +--- Config file for the tasks gui +-- @config Tasks + return { - any_user_can_add_new_task = true, -- when false only people with edit permission can make new reports - user_can_edit_own_tasks = true, -- when false only people with edit permission can edit reports - only_admins_can_edit = false, -- true will hide the edit and delete buttons from non (game) admins - edit_tasks_role_permission = 'gui/task-list/edit' -- value used with custom permission system + any_user_can_add_new_task = true, --- @setting any_user_can_add_new_task when false only people with edit permission can make new reports + user_can_edit_own_tasks = true, --- @setting user_can_edit_own_tasks when false only people with edit permission can edit reports + only_admins_can_edit = false, --- @setting only_admins_can_edit true will hide the edit and delete buttons from non (game) admins + edit_tasks_role_permission = 'gui/task-list/edit' --- @setting edit_tasks_role_permission value used with custom permission system } \ No newline at end of file diff --git a/config/warnings.lua b/config/warnings.lua index 73696544..24f85867 100644 --- a/config/warnings.lua +++ b/config/warnings.lua @@ -1,6 +1,8 @@ --- Config file for the warning system, this is very similar to reports but is for the use of moderators rather than normal users. +-- @config Warnings + return { - actions = { -- what actions are taking at number of warnings + actions = { --- @setting actions what actions are taking at number of warnings -- if a localized string is used then __1__ will by_player_name and __2__ will be the current warning count (auto inserted) {'warnings.received',''}, {'warnings.received',''}, @@ -14,6 +16,6 @@ return { game.ban_player(player,{'warnings.received',by_player_name,number_of_warnings,{'warnings.ban',{'links.website'}}}) end }, - script_warning_cool_down=30, -- time for a script warning (given by script) to be removed (in minutes) - script_warning_limit=5 -- the number of script warnings (given by script) that are allowed before full warnings are given + script_warning_cool_down=30, --- @setting script_warning_cool_down time for a script warning (given by script) to be removed (in minutes) + script_warning_limit=5 --- @setting script_warning_limit the number of script warnings (given by script) that are allowed before full warnings are given } \ No newline at end of file diff --git a/config/warps.lua b/config/warps.lua index db9ace2b..fb620108 100644 --- a/config/warps.lua +++ b/config/warps.lua @@ -1,23 +1,25 @@ --- This file contains all the different settings for the warp system and gui +-- @config Warps + return { - recharge_time = 60, -- The amount of time in seconds that the player must wait between warps, acts as a balance - update_smoothing = 10, -- Higher is better, the amount of smoothing applied to recharge timer and other gui updates, max is 60 - minimum_distance = 100, -- The minimum distance that must be between warp points, creating new ones is blocked when too close - activation_range = 4, -- The distance the player must be to a warp in order to use the warp gui, gui can still be viewed but not used - spawn_activation_range = 20, -- A second activation range which is used for the forces spawn point - default_icon = 'discharge-defense-equipment', -- The default icon which is used by warps; must be an item name - user_can_edit_own_warps = false, -- When true the user can always edit warps which they created regardless of other settings - any_user_can_add_new_warp = false, -- When true any user is able to create new warps, however editing may still be restricted - only_admins_can_edit = false, -- When true only admins can edit warps - edit_warps_role_permission = 'gui/warp-list/edit', -- Role permission used by the role system to allow editing warps - bypass_warp_limits_permission = 'gui/warp-list/no-limit', -- Role permission used by the role system to allow bypassing the time and distance restrictions - entities = { -- The entities which are created for warps + recharge_time = 60, --- @setting recharge_time The amount of time in seconds that the player must wait between warps, acts as a balance + update_smoothing = 10, --- @setting update_smoothing Higher is better, the amount of smoothing applied to recharge timer and other gui updates, max is 60 + minimum_distance = 100, --- @setting minimum_distance The minimum distance that must be between warp points, creating new ones is blocked when too close + activation_range = 4, --- @setting activation_range The distance the player must be to a warp in order to use the warp gui, gui can still be viewed but not used + spawn_activation_range = 20, --- @setting spawn_activation_range A second activation range which is used for the forces spawn point + default_icon = 'discharge-defense-equipment', --- @setting default_icon The default icon which is used by warps; must be an item name + user_can_edit_own_warps = false, --- @setting user_can_edit_own_warps When true the user can always edit warps which they created regardless of other settings + any_user_can_add_new_warp = false, --- @setting any_user_can_add_new_warp When true any user is able to create new warps, however editing may still be restricted + only_admins_can_edit = false, --- @setting only_admins_can_edit When true only admins can edit warps + edit_warps_role_permission = 'gui/warp-list/edit', --- @setting edit_warps_role_permission Role permission used by the role system to allow editing warps + bypass_warp_limits_permission = 'gui/warp-list/no-limit', --- @setting bypass_warp_limits_permission Role permission used by the role system to allow bypassing the time and distance restrictions + entities = { --- @setting entities The entities which are created for warps {'small-lamp',-3,-2},{'small-lamp',-3,2},{'small-lamp',3,-2},{'small-lamp',3,2}, {'small-lamp',-2,-3},{'small-lamp',2,-3},{'small-lamp',-2,3},{'small-lamp',2,3}, {'small-electric-pole',-3,-3},{'small-electric-pole',3,3},{'small-electric-pole',-3,3},{'small-electric-pole',3,-3} }, - base_tile = 'tutorial-grid', -- The tile which is used for the warps - tiles = { -- The tiles which are created for warps + base_tile = 'tutorial-grid', --- @setting base_tile The tile which is used for the warps + tiles = { --- @setting tiles The tiles which are created for warps {-3,-2},{-3,-1},{-3,0},{-3,1},{-3,2},{3,-2},{3,-1},{3,0},{3,1},{3,2}, {-2,-3},{-1,-3},{0,-3},{1,-3},{2,-3},{-2,3},{-1,3},{0,3},{1,3},{2,3} } diff --git a/doc/commands/Admin-Chat.html b/doc/commands/Admin-Chat.html index 060b5926..48e49f18 100644 --- a/doc/commands/Admin-Chat.html +++ b/doc/commands/Admin-Chat.html @@ -101,28 +101,41 @@ +