diff --git a/.gitignore b/.gitignore
index 9a140dc8..b23b7166 100644
--- a/.gitignore
+++ b/.gitignore
@@ -82,7 +82,4 @@ $RECYCLE.BIN/
*.msp
# Windows shortcuts
-*.lnk
-
-.vscode
-*luacheckrc
+*.lnk
\ No newline at end of file
diff --git a/.luacheckrc b/.luacheckrc
index c3e0c5cf..98d8fa3e 100644
--- a/.luacheckrc
+++ b/.luacheckrc
@@ -1,947 +1,1641 @@
--------------------------------------------------------------------------------
---[LICENSE]--
--------------------------------------------------------------------------------
--- .luacheckrc
--- This file is free and unencumbered software released into the public domain.
---
--- Anyone is free to copy, modify, publish, use, compile, sell, or
--- distribute this file, either in source code form or as a compiled
--- binary, for any purpose, commercial or non-commercial, and by any
--- means.
---
--- In jurisdictions that recognize copyright laws, the author or authors
--- of this file dedicate any and all copyright interest in the
--- software to the public domain. We make this dedication for the benefit
--- of the public at large and to the detriment of our heirs and
--- successors. We intend this dedication to be an overt act of
--- relinquishment in perpetuity of all present and future rights to this
--- software under copyright law.
---
--- THE FILE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
--- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
--- IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
--- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
--- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
--- OTHER DEALINGS IN THE SOFTWARE.
---
--- For more information, please refer to
--- ]]
+--[[----------------------------------------------------------------------------
+ LICENSE
+ .luacheckrc for Factorio Version 0.18.8, luacheck version 0.23.0
+ This file is free and unencumbered software released into the public domain.
--------------------------------------------------------------------------------
---[.luacheckrc]-- Current Factorio Version .16
--------------------------------------------------------------------------------
--- Set up the the standards for this file.
-files['.luacheckrc'] = {
- std = 'lua52c',
- globals = {'files', 'exclude_files', 'not_globals', 'stds', 'std', 'max_line_length', 'ignore', 'quiet', "max_cyclomatic_complexity", "codes"},
- max_line_length = false --turn of line length warnings for this file
-}
+ Anyone is free to copy, modify, publish, use, compile, sell, or
+ distribute this file, either in source code form or as a compiled
+ binary, for any purpose, commercial or non-commercial, and by any
+ means.
+
+ In jurisdictions that recognize copyright laws, the author or authors
+ of this file dedicate any and all copyright interest in the
+ software to the public domain. We make this dedication for the benefit
+ of the public at large and to the detriment of our heirs and
+ successors. We intend this dedication to be an overt act of
+ relinquishment in perpetuity of all present and future rights to this
+ software under copyright law.
+
+ THE FILE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+ For more information, please refer to
+------------------------------------------------------------------------------]]
+local LINE_LENGTH = false
--------------------------------------------------------------------------------
---[Set Defaults]--
--------------------------------------------------------------------------------
-local LINE_LENGTH = false -- It is 2017 limits on length are a waste
local IGNORE = {'21./%w+_$', '21./^_%w+$', '213/[ijk]', '213/index', '213/key'}
-local NOT_GLOBALS = {'coroutine', 'io', 'socket', 'dofile', 'loadfile'} -- These globals are not available to the factorio API
-local STD_CONTROL = 'lua52c+factorio+factorio_control+stdlib+factorio_defines'
-local STD_DATA = 'lua52c+factorio+factorio_data+stdlib+stdlib_data+factorio_defines'
+-- These globals are not available to the factorio API
+local NOT_GLOBALS = {'coroutine', 'io', 'socket', 'dofile', 'loadfile'}
--- In a perfect world these would be STD_DATA and STD_CONTROL (mostly)
-local STD_BASE_DATA = 'lua52c+factorio+factorio_data+factorio_defines+factorio_base_data'
-local STD_BASE_CONTROL = 'lua52c+factorio+factorio_control+factorio_defines+factorio_base_control'
+local STD_CONTROL = 'lua52+factorio+factorio_control+stdlib+factorio_defines'
+local STD_DATA = 'lua52+factorio+factorio_data+stdlib+stdlib_data+factorio_defines'
--------------------------------------------------------------------------------
---[Assume Factorio Control stage as default]--
--------------------------------------------------------------------------------
-std = STD_CONTROL
-max_line_length = LINE_LENGTH
+-- For Base and Core Mods
+local STD_BASE_DATA = 'lua52+factorio+factorio_data+factorio_defines+factorio_base_data'
+local STD_BASE_CONTROL = 'lua52+factorio+factorio_control+factorio_defines+factorio_base_control'
-not_globals = NOT_GLOBALS
-ignore = IGNORE
-quiet = 1 -- pass -q option
-max_cyclomatic_complexity = 75
-codes = true
-
---List of files and directories to exclude
-exclude_files = {
- --Ignore special folders
- '**/.*/*', --Ignore if path starts with .
- '**/mod/stdlib/', --Ignore from symlinked
- '**/vendor/',
-
- --Ignore development mods
- '**/combat-tester/',
- '**/test-maker/',
- '**/trailer/',
-}
-
--------------------------------------------------------------------------------
---[Mod Prototypes]--
--------------------------------------------------------------------------------
---Set default prototype files
-files['**/data.lua'].std = STD_DATA
-files['**/data-updates.lua'].std = STD_DATA
-files['**/data-final-fixes.lua'].std = STD_DATA
-files['**/settings.lua'].std = STD_DATA
-files['**/settings-updates.lua'].std = STD_DATA
-files['**/settings-final-fixes.lua'].std = STD_DATA
-files['**/prototypes/'].std = STD_DATA
-files['**/settings/'].std = STD_DATA
-
--------------------------------------------------------------------------------
---[Base]--
--------------------------------------------------------------------------------
---Find and replace ignores *.cfg, migrations, *.txt, control.lua, *.json, trailer, scenarios, campaigns, *.glsl
-
-local base_scenarios = {
- std = STD_BASE_CONTROL .. '+factorio_base_scenarios+factorio_base_story',
- --Ignore these, Klonan is on his own!
- --ignore = {'212/event', '111', '112', '113', '211', '212', '213', '311', '411', '412', '421', '422', '423', '431', '432', '512'}
- ignore = {'...'}
-}
-files['**/base/scenarios/'] = base_scenarios
-files['**/base/tutorials/'] = base_scenarios
-files['**/base/campaigns/'] = base_scenarios
-files['**/wip-scenario/'] = base_scenarios
-
-files['**/base/migrations/'] = {std = STD_BASE_CONTROL}
-
-files['**/core/lualib/'] = {std = STD_BASE_CONTROL}
-files['**/core/lualib/util.lua'] = {globals = {'util', 'table'}, ignore = {'432/object'}}
-files['**/core/lualib/silo-script.lua'] = {globals = {'silo_script'}, ignore = {'4../player'}}
-files['**/core/lualib/production-score.lua'] = {globals = {'production_score', 'get_price_recursive'}, ignore = {'4../player'}}
-files['**/core/lualib/story*'] = {std = '+factorio_base_story', ignore = {'42./k', '42./filter'}}
-files['**/core/lualib/mod-gui.lua'] = {globals = {'mod_gui'}}
-files['**/core/lualib/camera.lua'] = {globals = {'camera'}}
-files['**/core/lualib/builder.lua'] = {globals = {'Builder', 'builder', 'action', 'down', 'right'}}
-
-files['**/core/lualib/bonus-gui-ordering/'] = {std = STD_BASE_DATA}
-files['**/core/lualib/dataloader.lua'] = {globals = {'data'}}
-files['**/core/lualib/circuit-connector-*'] = {std = STD_BASE_DATA..'+factorio_circuit_connector_generated'}
-files['**/core/lualib/bonus-gui-ordering.lua'] = {globals = {'bonus_gui_ordering'}}
-
-files['**/base/prototypes/'] = {std = STD_BASE_DATA}
-files['**/core/prototypes/'] = {std = STD_BASE_DATA}
-files['**/core/prototypes/noise-programs.lua'] = {ignore = {'212/x', '212/y', '212/tile', '212/map'}}
-
--------------------------------------------------------------------------------
---[Set STDLIB project modules]--
--------------------------------------------------------------------------------
-local stdlib_control = {
- std = 'lua52c+factorio+factorio_control+stdlib+factorio_defines',
+do -- Assume Factorio Control Stage as Default
+ std = STD_CONTROL
+ --cache = true
+ not_globals = NOT_GLOBALS
+ ignore = IGNORE
+ quiet = 1 -- pass -q option
+ max_cyclomatic_complexity = false
+ codes = true
max_line_length = LINE_LENGTH
-}
+ max_code_line_length = LINE_LENGTH
+ max_string_line_length = LINE_LENGTH
+ max_comment_line_length = LINE_LENGTH
-local stdlib_data = {
- std = 'lua52c+factorio+factorio_data+stdlib+factorio_defines',
- max_line_length = LINE_LENGTH
-}
+ --List of files and directories to exclude
+ exclude_files = {
+ --Ignore special folders
+ '**/.trash/',
+ '**/.history/',
+ '**/stdlib/vendor/',
--- Assume control stage for stdlib
-files['**/stdlib/'] = stdlib_control
+ --Ignore development mods
+ '**/combat-tester/',
+ '**/test-maker/',
+ '**/trailer/',
-files['**/stdlib/utils/math.lua'].std = 'lua52c'
-files['**/stdlib/utils/string.lua'].std = 'lua52c'
-files['**/stdlib/utils/table.lua'].std = 'lua52c'
-files['**/stdlib/utils/iterator.lua'].std = 'lua52c'
-files['**/stdlib/utils/is.lua'].std = 'lua52c'
+ --Ignore love Includes
+ '**/love/includes/'
+ }
+end
--- STDLIB data files
-files['**/stdlib/data/'] = stdlib_data
-files['**/creative'].ignore = {'...'}
+do -- Set default prototype files
+ files['**/data.lua'].std = STD_DATA
+ files['**/data-updates.lua'].std = STD_DATA
+ files['**/data-final-fixes.lua'].std = STD_DATA
+ files['**/settings.lua'].std = STD_DATA
+ files['**/settings-updates.lua'].std = STD_DATA
+ files['**/settings-final-fixes.lua'].std = STD_DATA
+ files['**/prototypes/'].std = STD_DATA
+ files['**/settings/'].std = STD_DATA
+end
--- STDLIB Busted Spec
-files['**/spec/**'] = {
- globals = {'serpent', 'log', 'SLOG', 'RESET'},
- std = 'lua52c+busted+factorio_defines+factorio_control+stdlib'
-}
+do -- Base and Core mod files
+ local base_scenarios = {
+ std = STD_BASE_CONTROL .. '+factorio_base_scenarios+factorio_base_story',
+ --ignore = {'212/event', '111', '112', '113', '211', '212', '213', '311', '411', '412', '421', '422', '423', '431', '432', '512'}
+ ignore = {'...'}
+ }
+ files['**/base/scenarios/'] = base_scenarios
+ files['**/base/tutorials/'] = base_scenarios
+ files['**/base/campaigns/'] = base_scenarios
+ files['**/wip-scenario/'] = base_scenarios
+ files['**/base/migrations/'] = {std = STD_BASE_CONTROL}
--------------------------------------------------------------------------------
---[STDS FACTORIO]--
--------------------------------------------------------------------------------
-stds.factorio = {
- --Set the read only variables
- read_globals = {
- -- @log@: Gives writing access to Factorio's logger instance.
- "log",
- -- @serpent@: Lua serializer and pretty printer. (https://github.com/pkulchenko/serpent)
- "serpent",
- -- @table_size@: Returns the number of elements inside an LUA table
- "table_size",
- util = {
- fields = {
- "by_pixel", "distance", "findfirstentity", "positiontostr", "formattime", "moveposition", "oppositedirection",
- "ismoduleavailable", "multiplystripes", "format_number", "increment", "color", "conditional_return",
- "add_shift", "merge", "premul_color", "encode", "decode",
- table = {
- fields = {
- "compare", "deepcopy"
+ files['**/core/lualib/'] = {std = STD_BASE_CONTROL}
+ files['**/core/lualib/util.lua'] = {globals = {'util', 'table'}, ignore = {'432/object'}}
+ files['**/core/lualib/silo-script.lua'] = {globals = {'silo_script'}, ignore = {'4../player'}}
+ files['**/core/lualib/production-score.lua'] = {globals = {'production_score', 'get_price_recursive'}, ignore = {'4../player'}}
+ files['**/core/lualib/story*'] = {std = '+factorio_base_story', ignore = {'42./k', '42./filter'}}
+ files['**/core/lualib/mod-gui.lua'] = {globals = {'mod_gui'}}
+ files['**/core/lualib/camera.lua'] = {globals = {'camera'}}
+ files['**/core/lualib/builder.lua'] = {globals = {'Builder', 'builder', 'action', 'down', 'right'}}
+
+ files['**/core/lualib/bonus-gui-ordering/'] = {std = STD_BASE_DATA}
+ files['**/core/lualib/dataloader.lua'] = {globals = {'data'}}
+ files['**/core/lualib/circuit-connector-*'] = {std = STD_BASE_DATA..'+factorio_circuit_connector_generated'}
+ files['**/core/lualib/bonus-gui-ordering.lua'] = {globals = {'bonus_gui_ordering'}}
+
+ files['**/base/prototypes/'] = {std = STD_BASE_DATA}
+ files['**/core/prototypes/'] = {std = STD_BASE_DATA}
+ files['**/core/prototypes/noise-programs.lua'] = {ignore = {'212/x', '212/y', '212/tile', '212/map'}}
+end
+
+do -- Stdlib Files
+ local stdlib_control = {
+ std = 'lua52+factorio+factorio_control+stdlib+factorio_defines',
+ max_line_length = LINE_LENGTH
+ }
+
+ local stdlib_data = {
+ std = 'lua52+factorio+factorio_data+stdlib+factorio_defines',
+ max_line_length = LINE_LENGTH
+ }
+
+ -- Assume control stage for stdlib
+ files['**/stdlib/'] = stdlib_control
+
+ -- Assume generic lua for stdlib utils
+ files['**/stdlib/utils/**'].std = 'lua52+stdlib'
+
+ -- STDLIB data stage files
+ files['**/stdlib/data/'] = stdlib_data
+
+ -- STDLIB Busted Spec
+ files['**/spec/**'] = {
+ globals = {'serpent', 'log', 'package.remove_stdlib'},
+ std = 'lua52c+busted+factorio_defines+factorio_control+stdlib'
+ }
+
+ -- Love
+ files['**/love/'].std = 'luajit+love+love_extra+stdlib+stdlib_data'
+end
+
+do -- Factorio STDs--
+ stds.factorio = {
+ --Set the read only variables
+ read_globals = {
+ -- @log@: Gives writing access to Factorio's logger instance.
+ "log",
+ -- @serpent@: Lua serializer and pretty printer. (https://github.com/pkulchenko/serpent).
+ "serpent",
+ -- @table_size@: Returns the number of elements inside an LUA table.
+ "table_size",
+ -- @lldebugger@: Provided by lua local debugger vscode extension.
+ lldebugger = {
+ fields = {'requestBreak'},
+ other_fields = true,
+ read_only = false,
+ },
+ -- @__DebugAdapter@: Provided by Factorio Mod Debug vscode extension.
+ __DebugAdapter = {
+ fields = {'print', 'stepIgnoreAll', 'stepIgnore', 'breakpoint'},
+ other_fields = true,
+ read_only = false
+ },
+ util = {
+ fields = {
+ "by_pixel", "distance", "findfirstentity", "positiontostr", "formattime", "moveposition", "oppositedirection",
+ "ismoduleavailable", "multiplystripes", "format_number", "increment", "color", "conditional_return",
+ "add_shift", "merge", "premul_color", "encode", "decode", "insert_safe",
+ table = {
+ fields = {
+ "compare", "deepcopy"
+ },
},
},
},
- },
- table = {
- fields = {
- "compare", "deepcopy"
+ table = {
+ fields = {
+ "compare", "deepcopy"
+ },
},
},
- },
-}
+ }
-stds.factorio_control = {
- read_globals = {
+ stds.factorio_control = {
+ read_globals = {
- -- @commands@:
- commands = {
- fields = {
- "add_command", "commands", "game_commands", "remove_command",
+ -- @commands@:
+ commands = {
+ fields = {
+ "add_command", "commands", "game_commands", "remove_command"
+ },
},
- },
- -- @settings@:
- settings = {
- fields = {
- "get_player_settings",
- startup = {read_only = false, other_fields = true},
- global = {read_only = false, other_fields = true},
- player = {read_only = false, other_fields = true},
+ -- @settings@:
+ settings = {
+ fields = {
+ "get_player_settings",
+ startup = {other_fields = true},
+ global = {other_fields = true},
+ player = {other_fields = true},
+ get = {read_only = false}, -- stdlib added
+ get_startup = {read_only = false} -- stdlib added
+ },
},
- },
- -- @script@: Provides an interface for registering event handlers.
- -- (http://lua-api.factorio.com/latest/LuaBootstrap.html)
- script = {
- fields = {
- "on_event", "on_nth_tick", "on_configuration_changed", "on_init", "on_load", "generate_event_name",
- "raise_event", "get_event_handler", "mod_name", "get_event_order"
+ -- @script@: Provides an interface for registering event handlers.
+ -- (http://lua-api.factorio.com/latest/LuaBootstrap.html)
+ script = {
+ fields = {
+ "on_event", "on_nth_tick", "on_configuration_changed", "on_init", "on_load", "generate_event_name",
+ "raise_event", "get_event_handler", "mod_name", "get_event_order",
+ "is_game_in_debug_mode", "object_name", "set_event_filter", "get_event_filter",
+ active_mods = {read_only = true, other_fields = true},
+ },
+ other_fields = false,
},
- },
- -- @remote@: Allows inter-mod communication by providing a repository of interfaces that is shared by all mods.
- -- (http://lua-api.factorio.com/latest/LuaRemote.html)
- remote = {
- fields = {
- "add_interface", "remove_interface", "call", "interfaces"
+ -- @remote@: Allows inter-mod communication by providing a repository of interfaces that is shared by all mods.
+ -- (http://lua-api.factorio.com/latest/LuaRemote.html)
+ remote = {
+ fields = {
+ interfaces = {read_only = false, other_fields = true},
+ "add_interface", "remove_interface", "call"
+ },
+ read_only = true,
+ other_fields = false,
},
- },
- -- @game@: Main object through which most of the API is accessed.
- -- It is, however, not available inside handlers registered with @script.on_load@.
- -- (http://lua-api.factorio.com/latest/LuaGameScript.html)
- game ={
- other_fields = true,
- read_only = false,
- fields = {
- "set_game_state", "get_entity_by_tag", "show_message_dialog", "disable_tips_and_tricks", "is_demo", "reload_script",
- "save_atlas", "check_consistency", "regenerate_entity", "take_screenshot", "write_file", "remove_path",
- "remove_offline_players", "force_crc", "merge_forces", "player", "server_save", "delete_surface", "disable_replay",
- "direction_to_string", "print", "tick", "finished", "difficulty",
- speed = {
- --rw
- read_only = false,
- },
- player = {
- --luaPlayer
- --The player typing at the console, nil in all other cases
- read_only = false,
- other_fields = true,
- },
- players = {
- --array of luaPlayer
- read_only = false,
- other_fields = true,
- },
- connected_players = {
- --array of luaPlayer
- read_only = false,
- other_fields = true,
- },
- surfaces = {
- --array of luaSurface
- read_only = false,
- other_fields = true,
- },
- create_surface = {
- --luaSurface
- read_only = false,
- other_fields = true,
- },
- forces = {
- --array of luaForce
- read_only = false,
- other_fields = true,
- },
- create_force = {
- --luaForce
- read_only = false,
- other_fields = true,
- },
- entity_prototypes = {
- --string dictionary - > luaEntityPrototype
- read_only = true,
- other_fields = true
- },
- item_prototypes = {
- --string dictionary - > luaItemPrototype
- read_only = true,
- other_fields = true
- },
- fluid_prototypes = {
- --string dictionary - > luaFluidPrototype
- read_only = true,
- other_fields = true
- },
- tile_prototypes = {
- --string dictionary - > luaTilePrototype
- read_only = true,
- other_fields = true
- },
- equipment_prototypes = {
- --string dictionary - > luaEquipmentPrototype
- read_only = true,
- other_fields = true
- },
- recipe_prototypes = {
- --string dictionary - > luaRecipePrototype
- read_only = true,
- other_fields = true
- },
- technology_prototypes = {
- --string dictionary - > luaTechnologyPrototype
- read_only = true,
- other_fields = true
- },
- damage_prototypes = {
- --string dictionary - > luaDamagePrototype
- read_only = true,
- other_fields = true
- },
- virtual_signal_prototypes = {
- --string dictionary - > luaVirtualSignalPrototype
- read_only = true,
- other_fields = true
- },
- equipment_grid_prototypes = {
- --string dictionary - > luaEquipmentGridPrototype
- read_only = true,
- other_fields = true
- },
- decorative_prototypes = {
- --string dictionary -> LuaDecorativePrototype
- read_only = true,
- other_fields = true
- },
- map_settings = {
- --custom -> mapsettings
- read_only = false,
- other_fields = true
- },
- active_mods = {
- --string dictionary -> string version
- read_only = true,
- other_fields = true
- },
- permissions = {
- read_only = true,
- other_fields = true
- },
- backer_names = {
- read_only = true,
- other_fields = true
+ rcon = {
+ fields = {'print'}
+ },
+
+ rendering = {
+ other_fields = false,
+ read_only = true,
+ fields = {
+ 'draw_animation',
+ 'draw_line',
+ 'draw_text',
+ 'draw_circle',
+ 'draw_rectangle',
+ 'draw_arc',
+ 'draw_polygon',
+ 'draw_sprite',
+ 'draw_light',
+ 'destroy',
+ 'is_font_valid',
+ 'is_valid',
+ 'get_all_ids',
+ 'clear',
+ 'get_type',
+ 'get_surface',
+ 'get_time_to_live',
+ 'set_time_to_live',
+ 'get_forces',
+ 'set_forces',
+ 'get_players',
+ 'set_players',
+ 'get_color',
+ 'set_color',
+ 'get_width',
+ 'set_width',
+ 'get_from',
+ 'set_from',
+ 'get_to',
+ 'set_to',
+ 'get_gap_amount',
+ 'set_gap_amount',
+ 'get_gap_length',
+ 'set_gap_length',
+ 'get_target',
+ 'set_target',
+ 'get_orientation',
+ 'set_orientation',
+ 'get_scale',
+ 'set_scale',
+ 'get_text',
+ 'set_text',
+ 'get_font',
+ 'set_font',
+ 'get_alignment',
+ 'set_alignment',
+ 'get_scale_with_zoom',
+ 'set_scale_with_zoom',
+ 'get_filled',
+ 'set_filled',
+ 'get_radius',
+ 'set_radius',
+ 'get_left_top',
+ 'set_left_top',
+ 'get_right_bottom',
+ 'set_right_bottom',
+ 'get_max_radius',
+ 'set_max_radius',
+ 'get_min_radius',
+ 'set_min_radius',
+ 'get_start_angle',
+ 'set_start_angle',
+ 'get_angle',
+ 'set_angle',
+ 'get_vertices',
+ 'set_vertices',
+ 'get_sprite',
+ 'set_sprite',
+ 'get_x_scale',
+ 'set_x_scale',
+ 'get_y_scale',
+ 'set_y_scale',
+ 'get_render_layer',
+ 'set_render_layer',
+ 'get_orientation_target',
+ 'set_orientation_target',
+ 'get_oriented_offset',
+ 'set_oriented_offset',
+ 'get_intensity',
+ 'set_intensity',
+ 'get_minimum_darkness',
+ 'set_minimum_darkness'
}
},
- },
- },
- globals = {
- -- @global@: The global dictionary, useful for storing data persistent across a save-load cycle.
- -- Writing access is given to the mod-id field (for mod-wise saved data).
- -- (http://lua-api.factorio.com/latest/Global.html)
- "global",
+ -- @game@: Main object through which most of the API is accessed.
+ -- It is, however, not available inside handlers registered with @script.on_load@.
+ -- (http://lua-api.factorio.com/latest/LuaGameScript.html)
+ game ={
+ other_fields = false,
+ read_only = false,
+ fields = {
+ 'auto_save',
+ 'ban_player',
+ 'check_consistency',
+ 'check_prototype_translations',
+ 'count_pipe_groups',
+ 'create_force',
+ 'create_profiler',
+ 'create_random_generator',
+ 'create_surface',
+ 'decode_string',
+ 'delete_surface',
+ 'direction_to_string',
+ 'disable_replay',
+ 'disable_tips_and_tricks',
+ 'disable_tutorial_triggers',
+ 'encode_string',
+ 'evaluate_expression',
+ 'force_crc',
+ 'get_active_entities_count',
+ 'get_entity_by_tag',
+ 'get_filtered_achievement_prototypes',
+ 'get_filtered_decorative_prototypes',
+ 'get_filtered_entity_prototypes',
+ 'get_filtered_equipment_prototypes',
+ 'get_filtered_fluid_prototypes',
+ 'get_filtered_item_prototypes',
+ 'get_filtered_mod_setting_prototypes',
+ 'get_filtered_recipe_prototypes',
+ 'get_filtered_technology_prototypes',
+ 'get_filtered_tile_prototypes',
+ 'get_map_exchange_string',
+ 'get_player',
+ 'get_surface',
+ 'get_train_stops',
+ 'help',
+ 'is_demo',
+ 'is_multiplayer',
+ 'is_valid_sound_path',
+ 'is_valid_sprite_path',
+ 'json_to_table',
+ 'kick_player',
+ 'log_recipe_locale',
+ 'merge_forces',
+ 'mute_player',
+ 'parse_map_exchange_string',
+ 'play_sound',
+ 'print',
+ 'print_stack_size',
+ 'purge_player',
+ 'regenerate_entity',
+ 'reload_mods',
+ 'reload_script',
+ 'remove_offline_players',
+ 'remove_path',
+ 'reset_time_played',
+ 'save_atlas',
+ 'server_save',
+ 'set_game_state',
+ 'set_wait_for_screenshots_to_finish',
+ 'show_message_dialog',
+ 'table_to_json',
+ 'take_screenshot',
+ 'take_technology_screenshot',
+ 'unban_player',
+ 'unmute_player',
+ 'write_file',
- -- @MOD@: Keep it organized, use this variable for anything that "NEEDS" to be global for some reason.
- "MOD"
- },
-}
+ achievement_prototypes = {read_only = true, other_fields = true},
+ active_mods = {read_only = true, other_fields = true},
+ ammo_category_prototypes = {read_only = true, other_fields = true},
+ autoplace_control_prototypes = {read_only = true, other_fields = true},
+ backer_names = {read_only = true, other_fields = true},
+ connected_players = {read_only = true, other_fields = true},
+ custom_input_prototypes = {read_only = true, other_fields = true},
+ damage_prototypes = {read_only = true, other_fields = true},
+ decorative_prototypes = {read_only = true, other_fields = true},
+ default_map_gen_settings = {read_only = true, other_fields = true},
+ difficulty = {read_only = true, other_fields = true},
+ difficulty_settings = {read_only = true, other_fields = true},
+ entity_prototypes = {read_only = true, other_fields = true},
+ equipment_category_prototypes = {read_only = true, other_fields = true},
+ equipment_grid_prototypes = {read_only = true, other_fields = true},
+ equipment_prototypes = {read_only = true, other_fields = true},
+ finished = {read_only = true, other_fields = true},
+ fluid_prototypes = {read_only = true, other_fields = true},
+ forces = {read_only = true, other_fields = true},
+ fuel_category_prototypes = {read_only = true, other_fields = true},
+ item_group_prototypes = {read_only = true, other_fields = true},
+ item_prototypes = {read_only = true, other_fields = true},
+ item_subgroup_prototypes = {read_only = true, other_fields = true},
+ map_settings = {read_only = true, other_fields = true},
+ mod_setting_prototypes = {read_only = true, other_fields = true},
+ module_category_prototypes = {read_only = true, other_fields = true},
+ named_noise_expressions = {read_only = true, other_fields = true},
+ noise_layer_prototypes = {read_only = true, other_fields = true},
+ object_name = {read_only = true, other_fields = true},
+ particle_prototypes = {read_only = true, other_fields = true},
+ permissions = {read_only = true, other_fields = true},
+ player = {read_only = true, other_fields = true},
+ players = {read_only = true, other_fields = true},
+ pollution_statistics = {read_only = true, other_fields = true},
+ recipe_category_prototypes = {read_only = true, other_fields = true},
+ recipe_prototypes = {read_only = true, other_fields = true},
+ resource_category_prototypes = {read_only = true, other_fields = true},
+ shortcut_prototypes = {read_only = true, other_fields = true},
+ styles = {read_only = true, other_fields = true},
+ surfaces = {read_only = true, other_fields = true},
+ technology_prototypes = {read_only = true, other_fields = true},
+ tick = {read_only = true, other_fields = true},
+ ticks_played = {read_only = true, other_fields = true},
+ tile_prototypes = {read_only = true, other_fields = true},
+ trivial_smoke_prototypes = {read_only = true, other_fields = true},
+ virtual_signal_prototypes = {read_only = true, other_fields = true},
-stds.factorio_data = {
-
- read_globals = {
- data = {
- fields = {
- raw = {
- other_fields = true,
- read_only = false
+ autosave_enabled = {read_only = false, other_fields = false},
+ draw_resource_selection = {read_only = false, other_fields = false},
+ enemy_has_vision_on_land_mines = {read_only = false, other_fields = false},
+ speed = {read_only = false, other_fields = false},
+ tick_paused = {read_only = false, other_fields = false},
+ ticks_to_run = {read_only = false, other_fields = false}
},
- "extend", "is_demo"
},
},
- settings = {
- fields = {
- "startup", "global", "player",
+ globals = {
+ -- @global@: The global dictionary, useful for storing data persistent across a save-load cycle.
+ -- Writing access is given to the mod-id field (for mod-wise saved data).
+ -- (http://lua-api.factorio.com/latest/Global.html)
+ "global",
+
+ -- @MOD@: Keep it organized, use this variable for anything that "NEEDS" to be global for some reason.
+ "MOD"
+ },
+ }
+
+ stds.factorio_data = {
+
+ read_globals = {
+ data = {
+ fields = {
+ raw = {
+ other_fields = true,
+ read_only = false
+ },
+ "extend", "is_demo"
+ },
},
- },
- --Popular mods
- angelsmods = {
- other_fields = true
- },
+ settings = {
+ fields = {
+ "startup", "global", "player", "get", "get_startup"
+ },
+ },
+
+ mods = {
+ other_fields = true
+ },
+
+ -- Popular mods that think they need globals!
+ angelsmods = {
+ other_fields = true
+ },
+
+ -- Popular mods that think they need globals!
+ bobmods = {
+ other_fields = true
+ },
- bobmods = {
- other_fields = true
- },
- mods = {
- other_fields = true
}
}
-}
+end
--------------------------------------------------------------------------------
---[Factorio Data]--------------------------------------------------------------
--------------------------------------------------------------------------------
-stds.factorio_base_control = {
- read_globals = {"silo_script", "mod_gui", "camera"}
-}
-
-stds.factorio_base_scenarios = {
- globals = {
- "check_automate_science_packs_advice", "check_research_hints", "check_supplies", "manage_attacks", "all_dead",
- "on_win", "difficulty_number", "init_attack_data", "handle_attacks", "count_items_in_container", "progress", "scanned",
- "check_light", "check_machine_gun", "level", "story_table",
-
- "tightspot_prices", "tightspot_make_offer", "tightspot_init", "tightspot_get_required_balance",
- "tightspot_init_level", "tightspot_init_spending_frame", "tightspot_init_progress_frame", "tightspot_update_progress", "tightspot_update_spending",
- "tightspot_get_missing_to_win", "tightspot_sell_back", "tightspot_start_level", "tightspot_show_level_description", "tightspot_update_speed_label",
- "map_ignore", "tightspot_check_level", "land_price",
-
- "transport_belt_madness_init", "transport_belt_madness_init_level", "transport_belt_madness_create_chests", "transport_belt_madness_fill_chests",
- "transport_belt_madness_start_level", "map_ignore", "map_clear", "map_load", "map_save", "transport_belt_madness_show_level_description",
- "transport_belt_madness_check_level", "transport_belt_madness_next_level", "transport_belt_madness_clear_level", "transport_belt_madness_contains_next_level",
-
- "restricted", "check_built_items", "result", "disable_combat_technologies", "apply_character_modifiers", "apply_combat_modifiers", "apply_balance",
- "load_config", "starting_area_constant", "create_next_surface", "end_round", "prepare_next_round", "silo_died","choose_joining_gui",
- "destroy_joining_guis", "create_random_join_gui", "create_auto_assign_gui", "create_pick_join_gui", "create_config_gui", "make_config_table", "default",
- "make_team_gui", "make_team_gui_config", "add_team_button_press", "trash_team_button_press", "remove_team_from_team_table", "add_team_to_team_table",
- "set_teams_from_gui", "on_team_button_press", "make_color_dropdown", "create_balance_option", "create_disable_frame", "disable_frame", "parse_disabled_items",
- "set_balance_settings", "config_confirm", "parse_config_from_gui", "get_color", "roll_starting_area", "delete_roll_surfaces", "auto_assign",
- "destroy_config_for_all", "prepare_map", "set_evolution_factor", "update_players_on_team_count", "random_join", "init_player_gui",
- "destroy_player_gui", "objective_button_press", "admin_button_press", "admin_frame_button_press", "diplomacy_button_press", "update_diplomacy_frame",
- "diplomacy_frame_button_press", "team_changed_diplomacy", "diplomacy_check_press", "get_stance", "give_inventory", "setup_teams", "disable_items_for_all",
- "set_random_team", "set_diplomacy", "create_spawn_positions", "set_spawn_position", "set_team_together_spawns", "chart_starting_area_for_force_spawns",
- "check_starting_area_chunks_are_generated", "check_player_color", "check_round_start", "clear_starting_area_enemies", "check_no_rush_end", "check_no_rush_players",
- "finish_setup", "chart_area_for_force", "setup_start_area_copy", "update_copy_progress", "update_progress_bar", "copy_paste_starting_area_tiles",
- "copy_paste_starting_area_entities", "create_silo_for_force", "setup_research", "on_chunk_generated", "get_distance_to_nearest_spawn",
- "create_wall_for_force", "fpn", "give_items", "create_item_frame", "create_technologies_frame", "create_cheat_frame", "create_day_frame",
- "time_modifier", "points_per_second_start", "points_per_second_level_subtract", "levels", "update_info", "get_time_left", "update_time_left",
- "on_joined", "make_frame", "update_frame", "update_table", "calculate_task_item_multiplayer", "setup_config", "select_from_probability_table",
- "select_inventory", "select_equipment", "select_challange_type", "save_round_statistics", "start_challenge", "create_teams", "set_areas",
- "decide_player_team", "set_teams", "refresh_leaderboard", "set_player", "generate_technology_list", "generate_research_task","setup_unlocks",
- "check_technology_progress", "generate_production_task", "generate_shopping_list_task", "set_gui_flow_table", "create_visibility_button",
- "check_item_lists", "update_task_gui", "check_end_of_round", "end_round_gui_update", "try_to_check_victory", "update_gui", "check_start_round",
- "check_start_set_areas", "check_start_setting_entities", "check_set_areas", "check_clear_areas", "check_chests", "check_chests_shopping_list",
- "check_chests_production", "check_input_chests", "fill_input_chests", "check_victory", "shopping_task_finished", "calculate_force_points",
- "update_research_task_table", "update_production_task_table", "update_shopping_list_task_table", "create_joined_game_gui", "pre_ending_round",
- "player_ending_prompt", "update_end_timer", "update_begin_timer", "team_finished", "save_points_list", "give_force_players_points",
- "update_winners_list", "set_spectator", "set_character", "give_starting_inventory", "give_equipment", "shuffle_table", "format_time",
- "spairs", "fill_leaderboard", "create_grid", "simple_entities", "save_map_data", "clear_map", "create_tiles", "recreate_entities",
- "map_sets", "give_points", "init_forces", "init_globals", "init_unit_settings", "check_next_wave", "next_wave", "calculate_wave_power",
- "wave_end", "make_next_spawn_tick", "check_spawn_units", "get_wave_units", "spawn_units", "randomize_ore", "set_command", "command_straglers",
- "unit_config", "make_next_wave_tick", "time_to_next_wave", "time_to_wave_end", "rocket_died", "unit_died", "get_bounty_price", "setup_waypoints",
- "insert_items", "give_starting_equipment", "give_spawn_equipment", "next_round_button_visible", "gui_init", "create_wave_frame", "create_money_frame",
- "create_upgrade_gui", "update_upgrade_listing", "upgrade_research", "get_upgrades", "get_money", "update_connected_players", "update_round_number",
- "set_research", "set_recipes", "check_deconstruction", "check_blueprint_placement", "loop_entities", "experiment_items",
- "setup", "story_gui_click", "clear_surface", "add_run_trains_button", "puzzle_condition", "basic_signals",
- "loop_trains", "Y_offset", "ghosts_1", "ghosts_2", "required_path", "through_wall_path", "count", "check_built_real_rail",
- "current_ghosts_count", "other", "rails", "set_rails", "straight_section", "late_entities", "entities", "stop",
- "get_spawn_coordinate",
-
- --tutorials
- "intermission", "create_entities_on_tick", "on_player_created", "required_count", "non_player_entities", "clear_rails",
- "chest", "damage", "furnace", "init_prototypes", "build_infi_table", "junk", "update_player_tags", "time_left", "team_production",
- "create_task_frame", "create_visibilty_buttons", "update_leaderboard", "in_in_area"
+do -- Factorio Base/Core STDs--
+ stds.factorio_base_control = {
+ read_globals = {"silo_script", "mod_gui", "camera"}
}
-}
-stds.factorio_base_data = {
- globals = {
- --Style
- "make_cursor_box", "make_full_cursor_box",
- "default_container_padding", "default_orange_color", "default_light_orange_color", "warning_red_color",
- "achievement_green_color", "achievement_tan_color", "orangebuttongraphcialset", "bluebuttongraphcialset",
- "bonus_gui_ordering", "trivial_smoke", "technology_slot_base_width", "technology_slot_base_height", "default_frame_font_vertical_compensation",
+ stds.factorio_base_scenarios = {
+ globals = {
+ "check_automate_science_packs_advice", "check_research_hints", "check_supplies", "manage_attacks", "all_dead",
+ "on_win", "difficulty_number", "init_attack_data", "handle_attacks", "count_items_in_container", "progress", "scanned",
+ "check_light", "check_machine_gun", "level", "story_table",
- --Belts
- "transport_belt_connector_frame_sprites", "transport_belt_circuit_wire_connection_point", "transport_belt_circuit_wire_max_distance",
- "transport_belt_circuit_connector_sprites", "ending_patch_prototype", "basic_belt_horizontal", "basic_belt_vertical",
- "basic_belt_ending_top", "basic_belt_ending_bottom", "basic_belt_ending_side", "basic_belt_starting_top", "basic_belt_starting_bottom",
- "basic_belt_starting_side", "fast_belt_horizontal", "fast_belt_vertical", "fast_belt_ending_top", "fast_belt_ending_bottom",
- "fast_belt_ending_side", "fast_belt_starting_top", "fast_belt_starting_bottom", "fast_belt_starting_side", "express_belt_horizontal",
- "express_belt_vertical", "express_belt_ending_top", "express_belt_ending_bottom", "express_belt_ending_side", "express_belt_starting_top",
- "express_belt_starting_bottom", "express_belt_starting_side",
+ "tightspot_prices", "tightspot_make_offer", "tightspot_init", "tightspot_get_required_balance",
+ "tightspot_init_level", "tightspot_init_spending_frame", "tightspot_init_progress_frame", "tightspot_update_progress", "tightspot_update_spending",
+ "tightspot_get_missing_to_win", "tightspot_sell_back", "tightspot_start_level", "tightspot_show_level_description", "tightspot_update_speed_label",
+ "map_ignore", "tightspot_check_level", "land_price",
- --Circuit Connectors
- "circuit_connector_definitions", "default_circuit_wire_max_distance", "inserter_circuit_wire_max_distance",
- "universal_connector_template", "belt_connector_template", "belt_frame_connector_template", "inserter_connector_template",
+ "transport_belt_madness_init", "transport_belt_madness_init_level", "transport_belt_madness_create_chests", "transport_belt_madness_fill_chests",
+ "transport_belt_madness_start_level", "map_ignore", "map_clear", "map_load", "map_save", "transport_belt_madness_show_level_description",
+ "transport_belt_madness_check_level", "transport_belt_madness_next_level", "transport_belt_madness_clear_level", "transport_belt_madness_contains_next_level",
- --Inserter Circuit Connectors
- "inserter_circuit_wire_max_distance", "inserter_default_stack_control_input_signal",
+ "restricted", "check_built_items", "result", "disable_combat_technologies", "apply_character_modifiers", "apply_combat_modifiers", "apply_balance",
+ "load_config", "starting_area_constant", "create_next_surface", "end_round", "prepare_next_round", "silo_died","choose_joining_gui",
+ "destroy_joining_guis", "create_random_join_gui", "create_auto_assign_gui", "create_pick_join_gui", "create_config_gui", "make_config_table", "default",
+ "make_team_gui", "make_team_gui_config", "add_team_button_press", "trash_team_button_press", "remove_team_from_team_table", "add_team_to_team_table",
+ "set_teams_from_gui", "on_team_button_press", "make_color_dropdown", "create_balance_option", "create_disable_frame", "disable_frame", "parse_disabled_items",
+ "set_balance_settings", "config_confirm", "parse_config_from_gui", "get_color", "roll_starting_area", "delete_roll_surfaces", "auto_assign",
+ "destroy_config_for_all", "prepare_map", "set_evolution_factor", "update_players_on_team_count", "random_join", "init_player_gui",
+ "destroy_player_gui", "objective_button_press", "admin_button_press", "admin_frame_button_press", "diplomacy_button_press", "update_diplomacy_frame",
+ "diplomacy_frame_button_press", "team_changed_diplomacy", "diplomacy_check_press", "get_stance", "give_inventory", "setup_teams", "disable_items_for_all",
+ "set_random_team", "set_diplomacy", "create_spawn_positions", "set_spawn_position", "set_team_together_spawns", "chart_starting_area_for_force_spawns",
+ "check_starting_area_chunks_are_generated", "check_player_color", "check_round_start", "clear_starting_area_enemies", "check_no_rush_end", "check_no_rush_players",
+ "finish_setup", "chart_area_for_force", "setup_start_area_copy", "update_copy_progress", "update_progress_bar", "copy_paste_starting_area_tiles",
+ "copy_paste_starting_area_entities", "create_silo_for_force", "setup_research", "on_chunk_generated", "get_distance_to_nearest_spawn",
+ "create_wall_for_force", "fpn", "give_items", "create_item_frame", "create_technologies_frame", "create_cheat_frame", "create_day_frame",
+ "time_modifier", "points_per_second_start", "points_per_second_level_subtract", "levels", "update_info", "get_time_left", "update_time_left",
+ "on_joined", "make_frame", "update_frame", "update_table", "calculate_task_item_multiplayer", "setup_config", "select_from_probability_table",
+ "select_inventory", "select_equipment", "select_challange_type", "save_round_statistics", "start_challenge", "create_teams", "set_areas",
+ "decide_player_team", "set_teams", "refresh_leaderboard", "set_player", "generate_technology_list", "generate_research_task","setup_unlocks",
+ "check_technology_progress", "generate_production_task", "generate_shopping_list_task", "set_gui_flow_table", "create_visibility_button",
+ "check_item_lists", "update_task_gui", "check_end_of_round", "end_round_gui_update", "try_to_check_victory", "update_gui", "check_start_round",
+ "check_start_set_areas", "check_start_setting_entities", "check_set_areas", "check_clear_areas", "check_chests", "check_chests_shopping_list",
+ "check_chests_production", "check_input_chests", "fill_input_chests", "check_victory", "shopping_task_finished", "calculate_force_points",
+ "update_research_task_table", "update_production_task_table", "update_shopping_list_task_table", "create_joined_game_gui", "pre_ending_round",
+ "player_ending_prompt", "update_end_timer", "update_begin_timer", "team_finished", "save_points_list", "give_force_players_points",
+ "update_winners_list", "set_spectator", "set_character", "give_starting_inventory", "give_equipment", "shuffle_table", "format_time",
+ "spairs", "fill_leaderboard", "create_grid", "simple_entities", "save_map_data", "clear_map", "create_tiles", "recreate_entities",
+ "map_sets", "give_points", "init_forces", "init_globals", "init_unit_settings", "check_next_wave", "next_wave", "calculate_wave_power",
+ "wave_end", "make_next_spawn_tick", "check_spawn_units", "get_wave_units", "spawn_units", "randomize_ore", "set_command", "command_straglers",
+ "unit_config", "make_next_wave_tick", "time_to_next_wave", "time_to_wave_end", "rocket_died", "unit_died", "get_bounty_price", "setup_waypoints",
+ "insert_items", "give_starting_equipment", "give_spawn_equipment", "next_round_button_visible", "gui_init", "create_wave_frame", "create_money_frame",
+ "create_upgrade_gui", "update_upgrade_listing", "upgrade_research", "get_upgrades", "get_money", "update_connected_players", "update_round_number",
+ "set_research", "set_recipes", "check_deconstruction", "check_blueprint_placement", "loop_entities", "experiment_items",
+ "setup", "story_gui_click", "clear_surface", "add_run_trains_button", "puzzle_condition", "basic_signals",
+ "loop_trains", "Y_offset", "ghosts_1", "ghosts_2", "required_path", "through_wall_path", "count", "check_built_real_rail",
+ "current_ghosts_count", "other", "rails", "set_rails", "straight_section", "late_entities", "entities", "stop",
+ "get_spawn_coordinate",
- --Sounds/beams
- "make_heavy_gunshot_sounds", "make_light_gunshot_sounds", "make_laser_sounds",
-
- --Gun/Laser
- "gun_turret_extension", "gun_turret_extension_shadow", "gun_turret_extension_mask", "gun_turret_attack",
- "laser_turret_extension", "laser_turret_extension_shadow", "laser_turret_extension_mask",
-
- --Pipes
- "pipecoverspictures", "pipepictures", "assembler2pipepictures", "assembler3pipepictures", "make_heat_pipe_pictures",
-
- --Combinators
- "generate_arithmetic_combinator", "generate_decider_combinator", "generate_constant_combinator",
-
- --Rail
- "destroyed_rail_pictures", "rail_pictures", "rail_pictures_internal", "standard_train_wheels", "drive_over_tie",
- "rolling_stock_back_light", "rolling_stock_stand_by_light",
-
- --Enemies
- "make_enemy_autoplace", "make_enemy_spawner_autoplace", "make_enemy_worm_autoplace",
- "make_spitter_attack_animation", "make_spitter_run_animation", "make_spitter_dying_animation",
- "make_spitter_attack_parameters", "make_spitter_roars", "make_spitter_dying_sounds",
- "make_spawner_idle_animation", "make_spawner_die_animation",
- "make_biter_run_animation", "make_biter_attack_animation", "make_biter_die_animation",
- "make_biter_roars", "make_biter_dying_sounds", "make_biter_calls",
- "make_worm_roars", "make_worm_dying_sounds", "make_worm_folded_animation", "make_worm_preparing_animation",
- "make_worm_prepared_animation", "make_worm_attack_animation", "make_worm_die_animation",
-
- --Other
- "tile_variations_template", "make_water_autoplace_settings",
- "make_unit_melee_ammo_type", "make_trivial_smoke", "make_4way_animation_from_spritesheet", "flying_robot_sounds",
- "productivitymodulelimitation", "crash_trigger", "capsule_smoke", "make_beam", "playeranimations",
- "make_blood_tint", "make_shadow_tint",
-
- --tiles
- "water_transition_template", "make_water_transition_template", "water_autoplace_settings", "water_tile_type_names",
- "patch_for_inner_corner_of_transition_between_transition",
+ --tutorials
+ "intermission", "create_entities_on_tick", "on_player_created", "required_count", "non_player_entities", "clear_rails",
+ "chest", "damage", "furnace", "init_prototypes", "build_infi_table", "junk", "update_player_tags", "time_left", "team_production",
+ "create_task_frame", "create_visibilty_buttons", "update_leaderboard", "in_in_area"
+ }
}
-}
-stds.factorio_base_story = {
- globals = {
- "story_init_helpers", "story_update_table", "story_init", "story_update", "story_on_tick", "story_add_update",
- "story_remove_update", "story_jump_to", "story_elapsed", "story_elapsed_check", "story_show_message_dialog",
- "set_goal", "player_set_goal", "on_player_joined", "flash_goal", "set_info", "player_set_info", "export_entities",
- "list", "recreate_entities", "entity_to_connect", "limit_camera", "find_gui_recursive", "enable_entity_export",
- "add_button", "on_gui_click", "set_continue_button_style", "add_message_log", "story_add_message_log",
- "player_add_message_log", "message_log_frame", "message_log_scrollpane", "message_log_close_button",
- "message_log_table", "toggle_message_log_button", "toggle_objective_button", "message_log_init",
- "add_gui_recursive", "add_toggle_message_log_button", "add_toggle_objective_button", "mod_gui",
- "flash_message_log_button", "flash_message_log_on_tick", "story_gui_click", "story_points_by_name", "story_branches",
- "player", "surface", "deconstruct_on_tick", "recreate_entities_on_tick", "flying_congrats", "story_table"
+ stds.factorio_base_data = {
+ globals = {
+ --Style
+ "make_cursor_box", "make_full_cursor_box",
+ "default_container_padding", "default_orange_color", "default_light_orange_color", "warning_red_color",
+ "achievement_green_color", "achievement_tan_color", "orangebuttongraphcialset", "bluebuttongraphcialset",
+ "bonus_gui_ordering", "trivial_smoke", "technology_slot_base_width", "technology_slot_base_height", "default_frame_font_vertical_compensation",
+
+ --Belts
+ "transport_belt_connector_frame_sprites", "transport_belt_circuit_wire_connection_point", "transport_belt_circuit_wire_max_distance",
+ "transport_belt_circuit_connector_sprites", "ending_patch_prototype", "basic_belt_horizontal", "basic_belt_vertical",
+ "basic_belt_ending_top", "basic_belt_ending_bottom", "basic_belt_ending_side", "basic_belt_starting_top", "basic_belt_starting_bottom",
+ "basic_belt_starting_side", "fast_belt_horizontal", "fast_belt_vertical", "fast_belt_ending_top", "fast_belt_ending_bottom",
+ "fast_belt_ending_side", "fast_belt_starting_top", "fast_belt_starting_bottom", "fast_belt_starting_side", "express_belt_horizontal",
+ "express_belt_vertical", "express_belt_ending_top", "express_belt_ending_bottom", "express_belt_ending_side", "express_belt_starting_top",
+ "express_belt_starting_bottom", "express_belt_starting_side",
+
+ --Circuit Connectors
+ "circuit_connector_definitions", "default_circuit_wire_max_distance", "inserter_circuit_wire_max_distance",
+ "universal_connector_template", "belt_connector_template", "belt_frame_connector_template", "inserter_connector_template",
+
+ --Inserter Circuit Connectors
+ "inserter_circuit_wire_max_distance", "inserter_default_stack_control_input_signal",
+
+ --Sounds/beams
+ "make_heavy_gunshot_sounds", "make_light_gunshot_sounds", "make_laser_sounds",
+
+ --Gun/Laser
+ "gun_turret_extension", "gun_turret_extension_shadow", "gun_turret_extension_mask", "gun_turret_attack",
+ "laser_turret_extension", "laser_turret_extension_shadow", "laser_turret_extension_mask",
+
+ --Pipes
+ "pipecoverspictures", "pipepictures", "assembler2pipepictures", "assembler3pipepictures", "make_heat_pipe_pictures",
+
+ --Combinators
+ "generate_arithmetic_combinator", "generate_decider_combinator", "generate_constant_combinator",
+
+ --Rail
+ "destroyed_rail_pictures", "rail_pictures", "rail_pictures_internal", "standard_train_wheels", "drive_over_tie",
+ "rolling_stock_back_light", "rolling_stock_stand_by_light",
+
+ --Enemies
+ "make_enemy_autoplace", "make_enemy_spawner_autoplace", "make_enemy_worm_autoplace",
+ "make_spitter_attack_animation", "make_spitter_run_animation", "make_spitter_dying_animation",
+ "make_spitter_attack_parameters", "make_spitter_roars", "make_spitter_dying_sounds",
+ "make_spawner_idle_animation", "make_spawner_die_animation",
+ "make_biter_run_animation", "make_biter_attack_animation", "make_biter_die_animation",
+ "make_biter_roars", "make_biter_dying_sounds", "make_biter_calls",
+ "make_worm_roars", "make_worm_dying_sounds", "make_worm_folded_animation", "make_worm_preparing_animation",
+ "make_worm_prepared_animation", "make_worm_attack_animation", "make_worm_die_animation",
+
+ --Other
+ "tile_variations_template", "make_water_autoplace_settings",
+ "make_unit_melee_ammo_type", "make_trivial_smoke", "make_4way_animation_from_spritesheet", "flying_robot_sounds",
+ "productivitymodulelimitation", "crash_trigger", "capsule_smoke", "make_beam", "playeranimations",
+ "make_blood_tint", "make_shadow_tint",
+
+ --tiles
+ "water_transition_template", "make_water_transition_template", "water_autoplace_settings", "water_tile_type_names",
+ "patch_for_inner_corner_of_transition_between_transition",
+ }
}
-}
-stds.factorio_circuit_connector_generated = {
- globals = {
- 'default_circuit_wire_max_distance', 'circuit_connector_definitions', 'universal_connector_template',
- 'belt_connector_template', 'belt_frame_connector_template', 'inserter_connector_template', 'inserter_connector_template',
- 'inserter_circuit_wire_max_distance', 'inserter_default_stack_control_input_signal', 'transport_belt_connector_frame_sprites',
- 'transport_belt_circuit_wire_max_distance',
+ stds.factorio_base_story = {
+ globals = {
+ "story_init_helpers", "story_update_table", "story_init", "story_update", "story_on_tick", "story_add_update",
+ "story_remove_update", "story_jump_to", "story_elapsed", "story_elapsed_check", "story_show_message_dialog",
+ "set_goal", "player_set_goal", "on_player_joined", "flash_goal", "set_info", "player_set_info", "export_entities",
+ "list", "recreate_entities", "entity_to_connect", "limit_camera", "find_gui_recursive", "enable_entity_export",
+ "add_button", "on_gui_click", "set_continue_button_style", "add_message_log", "story_add_message_log",
+ "player_add_message_log", "message_log_frame", "message_log_scrollpane", "message_log_close_button",
+ "message_log_table", "toggle_message_log_button", "toggle_objective_button", "message_log_init",
+ "add_gui_recursive", "add_toggle_message_log_button", "add_toggle_objective_button", "mod_gui",
+ "flash_message_log_button", "flash_message_log_on_tick", "story_gui_click", "story_points_by_name", "story_branches",
+ "player", "surface", "deconstruct_on_tick", "recreate_entities_on_tick", "flying_congrats", "story_table"
+ }
}
-}
---(( STDLIB ))--
-stds.stdlib = {
- read_globals = {
- table = {
- fields = {
- "map", "avg", "count_keys", "sum", "max", "remove", "insert", "invert", "first", "sort", "compare", "maxn", "any", "array_to_dictionary",
- "each", "flatten", "keys", "filter", "remove_keys", "flexcopy", "find", "fullcopy", "values", "pack", "deepcopy", "concat", "clear", "min",
- "is_empty", "merge", "size", "dictionary_merge", "unpack", "last"
+ stds.factorio_circuit_connector_generated = {
+ globals = {
+ 'default_circuit_wire_max_distance', 'circuit_connector_definitions', 'universal_connector_template',
+ 'belt_connector_template', 'belt_frame_connector_template', 'inserter_connector_template', 'inserter_connector_template',
+ 'inserter_circuit_wire_max_distance', 'inserter_default_stack_control_input_signal', 'transport_belt_connector_frame_sprites',
+ 'transport_belt_circuit_wire_max_distance',
+ }
+ }
+end
+
+do -- STDLIB STDs--
+ stds.stdlib = {
+ read_globals = {},
+ globals = {
+ 'STDLIB',
+ 'prequire',
+ 'rawtostring',
+ 'traceback',
+ 'data_traceback',
+ 'inspect',
+ 'serpent',
+ 'inline_if',
+ 'install',
+ 'log',
+ 'concat',
+ 'GAME',
+ 'AREA',
+ 'POSITION',
+ 'TILE',
+ 'SURFACE',
+ 'CHUNK',
+ 'COLOR',
+ 'ENTITY',
+ 'INVENTORY',
+ 'RESOURCE',
+ 'CONFIG',
+ 'LOGGER',
+ 'QUEUE',
+ 'EVENT',
+ 'GUI',
+ 'PLAYER',
+ 'FORCE',
+ 'MATH',
+ 'STRING',
+ 'TABLE'
+ }
+ }
+
+ stds.stdlib_control = {}
+
+ stds.stdlib_data = {
+ globals = {
+ 'DATA',
+ 'RECIPE',
+ 'ITEM',
+ 'FLUID',
+ 'ENTITY',
+ 'TECHNOLOGY',
+ 'CATEGORY'
+ }
+ }
+end
+
+do -- Love STDs
+ stds.love_extra = {
+ read_globals = {
+ love = {
+ fields = {
+ arg = {
+ fields = {
+ 'parseGameArguments',
+ 'parseOption',
+ 'getLow',
+ 'optionIndices',
+ 'options'
+ }
+ }
+ }
},
+ 'coroutine',
+ 'io',
+ 'socket',
+ 'dofile',
+ 'loadfile'
},
- string = {
- fields = {
- "is_space", "is_empty", "match", "title", "upper", "gmatch", "trim", "split", "len", "ordinal_suffix", "dump", "shorten", "reverse",
- "ends_with", "byte", "starts_with", "join", "is_alpha", "lower", "is_upper", "is_digit", "is_alnum", "rjust", "center", "ljust", "format",
- "char", "is_lower", "contains", "gsub", "find", "rep", "sub"
- },
- },
- math = {
- fields = {
- "asin", "max", "modf", "midrange_mean", "pow", "ldexp", "maxuint16", "fmod", "round_to", "randomseed", "huge", "harmonic_mean", "tan",
- "maxint32", "quadratic_mean", "pi", "energetic_mean", "minint8", "frexp", "generalized_mean", "rad", "sin", "sinh", "min", "geometric_mean",
- "atan", "avg", "cosh", "maxint8", "arithmetic_mean", "exp", "sum", "round", "maxuint64", "minint64", "ceil", "maxint64", "atan2", "floor_to",
- "floor", "log", "maxint16", "minint16", "tanh", "acos", "deg", "cos", "log10", "maxuint8", "abs", "weighted_mean", "random", "maxuint32",
- "sqrt", "minint32"
+ globals = {
+ love = {
+ fields = {
+ 'handlers'
+ }
}
- },
- },
- globals = {
- "prequire", "rawtostring", "traceback", "inspect", "serpent", "inline_if",
- "GAME", "AREA", "POSITION", "TILE", "SURFACE", "CHUNK", "COLOR", "ENTITY", "INVENTORY", "RESOURCE", "CONFIG", "LOGGER", "QUEUE",
- "EVENT", "GUI", "PLAYER", "FORCE",
- "_STDLIB_NO_DEFINES_COLOR", "_STDLIB_NO_DEFINES_TIME", "_STDLIB_NO_STRING", "_STDLIB_NO_TABLE", "_STDLIB_NO_MATH"
- }
-}
-
-stds.stdlib_control = {
-}
-
-stds.stdlib_data = {
- globals = {
- 'DATA', 'RECIPE', 'ITEM', 'FLUID', 'ENTITY', 'TECHNOLOGY', 'CATEGORY'
- }
-} --))
-
---(( FACTORIO DEFINES ))--
-stds.factorio_defines = {
- globals = {"creative_mode_defines"},
- read_globals = {
- defines = {
- fields = {
- events = {
- fields = {
- "on_tick", "on_gui_click", "on_gui_text_changed", "on_gui_checked_state_changed", "on_entity_died", "on_entity_damaged", "on_picked_up_item",
- "on_built_entity", "on_sector_scanned", "on_player_mined_item", "on_put_item", "on_rocket_launched", "on_pre_player_mined_item", "on_chunk_generated",
- "on_player_crafted_item", "on_robot_built_entity", "on_robot_pre_mined", "on_robot_mined", "on_research_started", "on_research_finished",
- "on_player_rotated_entity", "on_marked_for_deconstruction", "on_canceled_deconstruction", "on_trigger_created_entity", "on_train_changed_state",
- "on_player_created", "on_resource_depleted", "on_player_driving_changed_state", "on_force_created", "on_forces_merging", "on_player_cursor_stack_changed",
- "on_pre_entity_settings_pasted", "on_entity_settings_pasted", "on_player_main_inventory_changed", "on_player_quickbar_inventory_changed",
- "on_player_tool_inventory_changed", "on_player_armor_inventory_changed", "on_player_ammo_inventory_changed", "on_player_gun_inventory_changed",
- "on_player_placed_equipment", "on_player_removed_equipment", "on_pre_player_died", "on_player_died", "on_player_respawned", "on_player_joined_game",
- "on_player_left_game", "on_player_built_tile", "on_player_mined_tile", "on_robot_built_tile", "on_robot_mined_tile", "on_player_selected_area",
- "on_player_alt_selected_area", "on_player_changed_surface", "on_selected_entity_changed", "on_market_item_purchased", "on_player_dropped_item",
- "on_biter_base_built", "on_player_changed_force", "on_entity_renamed", "on_gui_selection_state_changed", "on_runtime_mod_setting_changed",
- "on_difficulty_settings_changed", "on_surface_created", "on_surface_deleted", "on_pre_surface_deleted", "on_player_mined_entity", "on_robot_mined_entity",
- "on_train_created", "on_gui_elem_changed", "on_player_setup_blueprint", "on_player_deconstructed_area", "on_player_configured_blueprint", "on_console_chat",
- "on_console_command", "on_player_removed", "on_player_used_capsule", "script_raised_built", "script_raised_destroy", "script_raised_revive",
- "on_player_promoted", "on_player_demoted", "on_combat_robot_expired", "on_player_changed_position", "on_mod_item_opened", "on_gui_opened",
- "on_gui_closed", "on_gui_value_changed", "on_player_muted", "on_player_unmuted", "on_player_cheat_mode_enabled", "on_player_cheat_mode_disabled",
- "on_character_corpse_expired", "on_pre_ghost_deconstructed", "on_player_pipette", "on_player_display_resolution_changed", "on_player_display_scale_changed",
- "on_pre_player_crafted_item", "on_player_cancelled_crafting", "on_chunk_charted", "on_technology_effects_reset", "on_land_mine_armed", "on_forces_merged",
- "on_player_trash_inventory_changed", "on_pre_player_left_game"
- },
- },
- alert_type = {
- fields = {
- "custom", "entity_destroyed", "entity_under_attack", "no_material_for_construction",
- "no_storage", "not_enough_construction_robots", "not_enough_repair_packs", "turret_fire",
- },
- },
- chain_signal_state = {
- fields = {
- "all_open", "none", "none_open", "partially_open",
- },
- },
- chunk_generated_status = {
- fields = {
- "basic_tiles", "corrected_tiles", "custom_tiles", "entities", "nothing", "tiles",
- },
- },
- circuit_condition_index = {
- fields = {
- "arithmetic_combinator", "constant_combinator", "decider_combinator", "inserter_circuit",
- "inserter_logistic", "lamp", "offshore_pump", "pump",
- },
- },
- circuit_connector_id = {
- fields = {
- "accumulator", "combinator_input", "combinator_output", "constant_combinator", "container",
- "electric_pole", "inserter", "lamp", "offshore_pump", "programmable_speaker", "pump",
- "rail_signal", "roboport", "storage_tank", "wall",
- },
- },
- command = {
- fields = {
- "attack", "attack_area", "build_base", "compound", "go_to_location", "group", "wander",
- },
- },
- compound_command = {
- fields = {
- "logical_and", "logical_or", "return_last",
- },
- },
- control_behavior = {
- fields = {
- inserter = {
- fields = {
- circuit_mode_of_operation = {
- fields = {
- "enable_disable", "none", "read_hand_contents", "set_filters", "set_stack_size",
- },
- },
- hand_read_mode = {
- fields = {
- "hold", "pulse",
- }
- },
- },
- },
- lamp = {
- fields = {
- circuit_mode_of_operation = {
- fields = {
- "use_colors",
- }
- },
- },
- },
- logistic_container = {
- fields = {
- circuit_mode_of_operation = {
- fields = {
- "send_contents", "set_requests",
- }
- },
- },
- },
- mining_drill = {
- fields = {
- resource_read_mode = {
- fields = {
- "entire_patch", "this_miner",
- }
- },
- },
- },
- roboport = {
- fields = {
- circuit_mode_of_operation = {
- fields = {
- "read_logistics", "read_robot_stats",
- }
- },
- },
- },
- train_stop = {
- fields = {
- circuit_mode_of_operation = {
- fields = {
- "enable_disable", "read_from_train", "send_to_train",
- }
- },
- },
- },
- type = {
- fields = {
- "accumulator", "arithmetic_combinator", "constant_combinator", "container",
- "decider_combinator", "generic_on_off", "inserter", "lamp", "logistic_container",
- "rail_signal", "roboport", "storage_tank", "train_stop", "transport_belt",
- },
- },
- },
- },
- controllers = {
- fields = {
- "character", "ghost", "god",
- },
- },
- deconstruction_item = {
- fields = {
- entity_filter_mode = {
- fields = {
- "blacklist", "whitelist",
- },
- },
- tile_filter_mode = {
- fields = {
- "always", "never", "normal", "only",
- }
- },
- },
- },
- difficulty = {
- fields = {
- "easy", "hard", "normal",
- },
- },
- difficulty_settings = {
- fields = {
- recipe_difficulty = {
- fields = {
- "expensive", "normal",
- },
- },
- technology_difficulty = {
- fields = {
- "expensive", "normal",
- }
- },
- },
- },
- direction = {
- fields = {
- "east", "north", "northeast", "northwest", "south", "southeast", "southwest", "west",
- },
- },
- distraction = {
- fields = {
- "by_anything", "by_damage", "by_enemy", "none",
- },
- },
- group_state = {
- fields = {
- "attacking_distraction", "attacking_target", "finished", "gathering", "moving",
- },
- },
- gui_type = {
- fields = {
- "achievement", "blueprint_library", "bonus", "controller", "entity", "equipment", "item",
- "kills", "logistic", "none", "other_player", "permissions", "production", "research",
- "trains", "tutorials", "custom",
- },
- },
- input_action = {
- fields = {
- "add_permission_group", "alt_select_area", "alt_select_blueprint_entities", "begin_mining",
- "begin_mining_terrain", "build_item", "build_rail", "build_terrain", "cancel_craft",
- "cancel_deconstruct", "cancel_new_blueprint", "cancel_research", "change_active_item_group_for_crafting",
- "change_active_item_group_for_filters", "change_active_quick_bar", "change_arithmetic_combinator_parameters",
- "change_blueprint_book_record_label", "change_decider_combinator_parameters", "change_item_label",
- "change_picking_state", "change_programmable_speaker_alert_parameters", "change_programmable_speaker_circuit_parameters",
- "change_programmable_speaker_parameters", "change_riding_state", "change_shooting_state",
- "change_single_blueprint_record_label", "change_train_stop_station", "change_train_wait_condition",
- "change_train_wait_condition_data", "clean_cursor_stack", "clear_blueprint", "clear_selected_blueprint",
- "clear_selected_deconstruction_item", "connect_rolling_stock", "copy_entity_settings", "craft",
- "craft_blueprint_record", "create_blueprint_like", "cursor_split", "cursor_transfer", "custom_input",
- "cycle_blueprint_book_backwards", "cycle_blueprint_book_forwards", "deconstruct", "delete_blueprint_record",
- "delete_custom_tag", "delete_permission_group", "disconnect_rolling_stock", "drop_blueprint_record",
- "drop_item", "drop_to_blueprint_book", "edit_custom_tag", "edit_permission_group", "edit_train_schedule",
- "export_blueprint", "fast_entity_split", "fast_entity_transfer", "grab_blueprint_record", "gui_checked_state_changed",
- "gui_click", "gui_elem_selected", "gui_selection_state_changed", "gui_text_changed", "import_blueprint",
- "import_blueprint_string", "inventory_split", "inventory_transfer", "launch_rocket", "market_offer",
- "mod_settings_changed", "open_achievements_gui", "open_blueprint_library_gui", "open_blueprint_record",
- "open_bonus_gui", "open_character_gui", "open_equipment", "open_gui", "open_item", "open_kills_gui",
- "open_logistic_gui", "open_production_gui", "open_technology_gui", "open_train_gui", "open_train_station_gui",
- "open_trains_gui", "open_tutorials_gui", "paste_entity_settings", "place_equipment", "remove_cables",
- "reset_assembling_machine", "reverse_rotate_entity", "rotate_entity", "select_area", "select_blueprint_entities",
- "select_entity_slot", "select_gun", "select_item", "select_tile_slot", "set_auto_launch_rocket", "set_autosort_inventory",
- "set_behavior_mode", "set_blueprint_icon", "set_circuit_condition", "set_circuit_mode_of_operation",
- "set_deconstruction_item_tile_selection_mode", "set_deconstruction_item_trees_only", "set_entity_color",
- "set_entity_energy_property", "set_filter", "set_inserter_max_stack_size", "set_inventory_bar", "set_logistic_filter_item",
- "set_logistic_filter_signal", "set_logistic_trash_filter_item", "set_research_finished_stops_game", "set_signal",
- "set_single_blueprint_record_icon", "set_train_stopped", "set_use_item_groups", "setup_assembling_machine",
- "setup_blueprint", "setup_single_blueprint_record", "shortcut_quick_bar_transfer", "smart_pipette", "stack_split",
- "stack_transfer", "start_repair", "start_research", "start_walking", "switch_connect_to_logistic_network",
- "switch_constant_combinator_state", "switch_power_switch_state", "switch_to_rename_stop_gui", "take_equipment",
- "toggle_connect_center_back_tank", "toggle_connect_front_center_tank", "toggle_deconstruction_item_entity_filter_mode",
- "toggle_deconstruction_item_tile_filter_mode", "toggle_driving", "toggle_enable_vehicle_logistics_while_moving",
- "toggle_entity_on_off_state", "toggle_show_entity_info", "use_ability", "use_item", "wire_dragging", "write_to_console",
- },
- },
- inventory = {
- fields = {
- "assembling_machine_input", "assembling_machine_modules", "assembling_machine_output", "beacon_modules",
- "burnt_result", "car_ammo", "car_trunk", "cargo_wagon", "chest", "fuel", "furnace_modules",
- "furnace_result", "furnace_source", "god_main", "god_quickbar", "item_main", "lab_input", "lab_modules",
- "mining_drill_modules", "player_ammo", "player_armor", "player_guns", "player_main", "player_quickbar",
- "player_tools", "player_trash", "player_vehicle", "roboport_material", "roboport_robot", "rocket_silo_result",
- "rocket_silo_rocket", "turret_ammo", "rocket", "character_corpse"
- },
- },
- logistic_member_index = {
- fields = {
- "character_provider", "character_requester", "character_storage", "generic_on_off_behavior", "logistic_container", "vehicle_storage",
- },
- },
- logistic_mode = {
- fields = {
- "active_provider", "none", "passive_provider", "requester", "storage", "buffer"
- },
- },
- mouse_button_type = {
- fields = {
- "left", "middle", "none", "right",
- },
- },
- rail_connection_direction = {
- fields = {
- "left", "none", "right", "straight",
- },
- },
- rail_direction = {
- fields = {
- "back", "front",
- },
- },
- riding = {
- fields = {
- acceleration = {
- fields = {
- "accelerating", "braking", "nothing", "reversing",
- },
- },
- direction = {
- fields = {
- "left", "right", "straight",
- }
- },
- },
- },
- shooting = {
- fields = {
- "not_shooting", "shooting_enemies", "shooting_selected",
- },
- },
- signal_state = {
- fields = {
- "closed", "open", "reserved", "reserved_by_circuit_network",
- },
- },
- train_state = {
- fields = {
- "arrive_signal", "arrive_station", "manual_control", "manual_control_stop", "no_path", "no_schedule",
- "on_the_path", "path_lost", "stop_for_auto_control", "wait_signal", "wait_station",
- },
- },
- transport_line = {
- fields = {
- "left_line", "left_split_line", "left_underground_line", "right_line", "right_split_line", "right_underground_line",
- "secondary_left_line", "secondary_left_split_line", "secondary_right_line", "secondary_right_split_line",
- },
- },
- wire_type = {
- fields = {
- "copper", "green", "red",
- }
- },
- -- Deprecated
- colors = {
- other_fields = true,
- },
- -- Deprecated
- anticolors = {
- other_fields = true,
- },
- -- Deprecated
- lightcolors = {
- other_fields = true,
- },
- color = {
- other_fields = true,
- },
- anticolor = {
- other_fields = true,
- },
- lightcolor = {
- other_fields = true,
- },
- time = {
- fields = {
- "second", "minute", "hour", "day", "week", "month", "year",
- }
- },
- },
}
}
-} --))
+end
---[[
+do -- Factorio Defines STDs--
+ stds.factorio_defines = {
+ read_globals = {
+ defines = {
+ fields = {
+ alert_type = {
+ fields = {
+ 'entity_destroyed',
+ 'entity_under_attack',
+ 'not_enough_construction_robots',
+ 'no_material_for_construction',
+ 'not_enough_repair_packs',
+ 'turret_fire',
+ 'custom',
+ 'no_storage',
+ 'train_out_of_fuel',
+ 'fluid_mixing'
+ }
+ },
+ behavior_result = {
+ fields = {
+ 'in_progress',
+ 'fail',
+ 'success',
+ 'deleted'
+ }
+ },
+ build_check_type = {
+ fields = {
+ 'script',
+ 'manual',
+ 'ghost_place',
+ 'ghost_revive'
+ }
+ },
+ chain_signal_state = {
+ fields = {
+ 'all_open',
+ 'partially_open',
+ 'none_open'
+ }
+ },
+ chunk_generated_status = {
+ fields = {
+ 'nothing',
+ 'custom_tiles',
+ 'basic_tiles',
+ 'corrected_tiles',
+ 'tiles',
+ 'entities'
+ }
+ },
+ circuit_condition_index = {
+ fields = {
+ 'inserter_circuit',
+ 'inserter_logistic',
+ 'lamp',
+ 'arithmetic_combinator',
+ 'decider_combinator',
+ 'constant_combinator',
+ 'offshore_pump',
+ 'pump'
+ }
+ },
+ circuit_connector_id = {
+ fields = {
+ 'accumulator',
+ 'constant_combinator',
+ 'container',
+ 'programmable_speaker',
+ 'rail_signal',
+ 'rail_chain_signal',
+ 'roboport',
+ 'storage_tank',
+ 'wall',
+ 'electric_pole',
+ 'inserter',
+ 'lamp',
+ 'combinator_input',
+ 'combinator_output',
+ 'offshore_pump',
+ 'pump'
+ }
+ },
+ command = {
+ fields = {
+ 'attack',
+ 'go_to_location',
+ 'compound',
+ 'group',
+ 'attack_area',
+ 'wander',
+ 'flee',
+ 'stop',
+ 'build_base'
+ }
+ },
+ compound_command = {
+ fields = {
+ 'logical_and',
+ 'logical_or',
+ 'return_last'
+ }
+ },
+ control_behavior = {
+ fields = {
+ inserter = {
+ fields = {
+ circuit_mode_of_operation = {
+ fields = {
+ 'enable_disable',
+ 'set_filters',
+ 'read_hand_contents',
+ 'set_stack_size'
+ }
+ },
+ hand_read_mode = {
+ fields = {
+ 'hold',
+ 'pulse'
+ }
+ }
+ }
+ },
+ lamp = {
+ fields = {
+ circuit_mode_of_operation = {
+ fields = {
+ 'use_colors'
+ }
+ }
+ }
+ },
+ logistic_container = {
+ fields = {
+ circuit_mode_of_operation = {
+ fields = {
+ 'send_contents',
+ 'set_requests'
+ }
+ }
+ }
+ },
+ mining_drill = {
+ fields = {
+ resource_read_mode = {
+ fields = {
+ 'this_miner',
+ 'entire_patch'
+ }
+ }
+ }
+ },
+ roboport = {
+ fields = {
+ circuit_mode_of_operation = {
+ fields = {
+ 'read_logistics',
+ 'read_robot_stats'
+ }
+ }
+ }
+ },
+ train_stop = {
+ fields = {
+ circuit_mode_of_operation = {
+ fields = {
+ 'enable_disable',
+ 'send_to_train',
+ 'read_from_train',
+ 'read_stopped_train'
+ }
+ }
+ }
+ },
+ transport_belt = {
+ fields = {
+ content_read_mode = {
+ fields = {
+ 'pulse',
+ 'hold'
+ }
+ }
+ }
+ },
+ type = {
+ fields = {
+ 'container',
+ 'generic_on_off',
+ 'inserter',
+ 'lamp',
+ 'logistic_container',
+ 'roboport',
+ 'storage_tank',
+ 'train_stop',
+ 'decider_combinator',
+ 'arithmetic_combinator',
+ 'constant_combinator',
+ 'transport_belt',
+ 'accumulator',
+ 'rail_signal',
+ 'rail_chain_signal',
+ 'wall',
+ 'mining_drill',
+ 'programmable_speaker'
+ }
+ }
+ }
+ },
+ controllers = {
+ fields = {
+ 'ghost',
+ 'character',
+ 'god',
+ 'editor',
+ 'cutscene',
+ 'spectator'
+ }
+ },
+ deconstruction_item = {
+ fields = {
+ entity_filter_mode = {
+ fields = {
+ 'whitelist',
+ 'blacklist'
+ }
+ },
+ tile_filter_mode = {
+ fields = {
+ 'whitelist',
+ 'blacklist'
+ }
+ },
+ tile_selection_mode = {
+ fields = {
+ 'normal',
+ 'always',
+ 'never',
+ 'only'
+ }
+ }
+ }
+ },
+ difficulty = {
+ fields = {
+ 'easy',
+ 'normal',
+ 'hard'
+ }
+ },
+ difficulty_settings = {
+ fields = {
+ recipe_difficulty = {
+ fields = {
+ 'normal',
+ 'expensive'
+ }
+ },
+ technology_difficulty = {
+ fields = {
+ 'normal',
+ 'expensive'
+ }
+ }
+ }
+ },
+ direction = {
+ fields = {
+ 'north',
+ 'northeast',
+ 'east',
+ 'southeast',
+ 'south',
+ 'southwest',
+ 'west',
+ 'northwest'
+ }
+ },
+ distraction = {
+ fields = {
+ 'by_enemy',
+ 'by_anything',
+ 'by_damage'
+ }
+ },
+ entity_status = {
+ fields = {
+ 'working',
+ 'no_power',
+ 'no_fuel',
+ 'no_recipe',
+ 'no_input_fluid',
+ 'no_research_in_progress',
+ 'no_minable_resources',
+ 'low_input_fluid',
+ 'low_power',
+ 'disabled_by_control_behavior',
+ 'disabled_by_script',
+ 'fluid_ingredient_shortage',
+ 'fluid_production_overload',
+ 'item_ingredient_shortage',
+ 'item_production_overload',
+ 'marked_for_deconstruction',
+ 'missing_required_fluid',
+ 'missing_science_packs',
+ 'waiting_for_source_items',
+ 'waiting_for_space_in_destination',
+ 'waiting_to_launch_rocket'
+ }
+ },
+ events = {
+ fields = {
+ 'on_tick',
+ 'on_gui_click',
+ 'on_gui_confirmed',
+ 'on_gui_text_changed',
+ 'on_gui_checked_state_changed',
+ 'on_entity_died',
+ 'on_post_entity_died',
+ 'on_entity_damaged',
+ 'on_picked_up_item',
+ 'on_built_entity',
+ 'on_sector_scanned',
+ 'on_player_mined_item',
+ 'on_put_item',
+ 'on_rocket_launched',
+ 'on_pre_player_mined_item',
+ 'on_chunk_generated',
+ 'on_player_crafted_item',
+ 'on_robot_built_entity',
+ 'on_robot_pre_mined',
+ 'on_robot_mined',
+ 'on_research_started',
+ 'on_research_finished',
+ 'on_player_rotated_entity',
+ 'on_player_set_quickbar_slot',
+ 'on_marked_for_deconstruction',
+ 'on_cancelled_deconstruction',
+ 'on_trigger_created_entity',
+ 'on_trigger_fired_artillery',
+ 'on_train_changed_state',
+ 'on_player_created',
+ 'on_resource_depleted',
+ 'on_player_driving_changed_state',
+ 'on_force_created',
+ 'on_forces_merging',
+ 'on_player_cursor_stack_changed',
+ 'on_pre_entity_settings_pasted',
+ 'on_entity_settings_pasted',
+ 'on_player_main_inventory_changed',
+ 'on_player_armor_inventory_changed',
+ 'on_player_ammo_inventory_changed',
+ 'on_player_gun_inventory_changed',
+ 'on_player_placed_equipment',
+ 'on_player_removed_equipment',
+ 'on_pre_player_died',
+ 'on_player_died',
+ 'on_player_respawned',
+ 'on_player_joined_game',
+ 'on_player_left_game',
+ 'on_player_built_tile',
+ 'on_player_mined_tile',
+ 'on_robot_built_tile',
+ 'on_robot_mined_tile',
+ 'on_player_selected_area',
+ 'on_player_alt_selected_area',
+ 'on_player_changed_surface',
+ 'on_selected_entity_changed',
+ 'on_market_item_purchased',
+ 'on_player_dropped_item',
+ 'on_biter_base_built',
+ 'on_player_changed_force',
+ 'on_entity_renamed',
+ 'on_gui_selection_state_changed',
+ 'on_runtime_mod_setting_changed',
+ 'on_difficulty_settings_changed',
+ 'on_surface_created',
+ 'on_surface_deleted',
+ 'on_pre_surface_deleted',
+ 'on_player_mined_entity',
+ 'on_robot_mined_entity',
+ 'on_train_created',
+ 'on_gui_elem_changed',
+ 'on_player_setup_blueprint',
+ 'on_player_deconstructed_area',
+ 'on_player_configured_blueprint',
+ 'on_console_chat',
+ 'on_console_command',
+ 'on_player_removed',
+ 'on_pre_player_removed',
+ 'on_player_used_capsule',
+ 'script_raised_built',
+ 'script_raised_destroy',
+ 'script_raised_revive',
+ 'on_player_promoted',
+ 'on_player_demoted',
+ 'on_combat_robot_expired',
+ 'on_player_changed_position',
+ 'on_mod_item_opened',
+ 'on_gui_opened',
+ 'on_gui_closed',
+ 'on_gui_value_changed',
+ 'on_player_muted',
+ 'on_player_unmuted',
+ 'on_player_cheat_mode_enabled',
+ 'on_player_cheat_mode_disabled',
+ 'on_character_corpse_expired',
+ 'on_pre_ghost_deconstructed',
+ 'on_player_pipette',
+ 'on_player_display_resolution_changed',
+ 'on_player_display_scale_changed',
+ 'on_pre_player_crafted_item',
+ 'on_player_cancelled_crafting',
+ 'on_chunk_charted',
+ 'on_technology_effects_reset',
+ 'on_land_mine_armed',
+ 'on_forces_merged',
+ 'on_player_trash_inventory_changed',
+ 'on_pre_player_left_game',
+ 'on_pre_surface_cleared',
+ 'on_surface_cleared',
+ 'on_chunk_deleted',
+ 'on_pre_chunk_deleted',
+ 'on_train_schedule_changed',
+ 'on_player_banned',
+ 'on_player_kicked',
+ 'on_player_unbanned',
+ 'on_rocket_launch_ordered',
+ 'on_script_path_request_finished',
+ 'on_ai_command_completed',
+ 'on_marked_for_upgrade',
+ 'on_cancelled_upgrade',
+ 'on_player_toggled_map_editor',
+ 'on_entity_cloned',
+ 'on_area_cloned',
+ 'on_brush_cloned',
+ 'on_game_created_from_scenario',
+ 'on_surface_imported',
+ 'on_surface_renamed',
+ 'on_player_toggled_alt_mode',
+ 'on_player_repaired_entity',
+ 'on_player_fast_transferred',
+ 'on_pre_robot_exploded_cliff',
+ 'on_robot_exploded_cliff',
+ 'on_entity_spawned',
+ 'on_cutscene_waypoint_reached',
+ 'on_unit_group_created',
+ 'on_unit_added_to_group',
+ 'on_unit_removed_from_group',
+ 'on_unit_group_finished_gathering',
+ 'on_build_base_arrived',
+ 'on_chart_tag_added',
+ 'on_chart_tag_modified',
+ 'on_chart_tag_removed',
+ 'on_lua_shortcut',
+ 'on_gui_location_changed',
+ 'on_gui_selected_tab_changed',
+ 'on_gui_switch_state_changed',
+ 'on_force_cease_fire_changed',
+ 'on_force_friends_changed',
+ 'on_string_translated',
+ 'on_script_trigger_effect'
+ }
+ },
+ flow_precision_index = {
+ fields = {
+ 'one_second',
+ 'one_minute',
+ 'ten_minutes',
+ 'one_hour',
+ 'ten_hours',
+ 'fifty_hours',
+ 'two_hundred_fifty_hours',
+ 'one_thousand_hours'
+ }
+ },
+ group_state = {
+ fields = {
+ 'gathering',
+ 'moving',
+ 'attacking_distraction',
+ 'attacking_target',
+ 'finished',
+ 'pathfinding',
+ 'wander_in_group'
+ }
+ },
+ gui_type = {
+ fields = {
+ 'entity',
+ 'research',
+ 'controller',
+ 'production',
+ 'item',
+ 'bonus',
+ 'trains',
+ 'achievement',
+ 'blueprint_library',
+ 'equipment',
+ 'logistic',
+ 'other_player',
+ 'kills',
+ 'permissions',
+ 'tutorials',
+ 'custom',
+ 'server_management',
+ 'player_management',
+ 'tile'
+ }
+ },
+ input_action = {
+ fields = {
+ 'activate_copy',
+ 'activate_cut',
+ 'activate_paste',
+ 'add_permission_group',
+ 'add_train_station',
+ 'admin_action',
+ 'alt_select_area',
+ 'alt_select_blueprint_entities',
+ 'alternative_copy',
+ 'begin_mining',
+ 'begin_mining_terrain',
+ 'build_item',
+ 'build_rail',
+ 'build_terrain',
+ 'cancel_craft',
+ 'cancel_deconstruct',
+ 'cancel_new_blueprint',
+ 'cancel_research',
+ 'cancel_upgrade',
+ 'change_active_item_group_for_crafting',
+ 'change_active_item_group_for_filters',
+ 'change_active_quick_bar',
+ 'change_arithmetic_combinator_parameters',
+ 'change_blueprint_book_record_label',
+ 'change_decider_combinator_parameters',
+ 'change_item_label',
+ 'change_multiplayer_config',
+ 'change_picking_state',
+ 'change_programmable_speaker_alert_parameters',
+ 'change_programmable_speaker_circuit_parameters',
+ 'change_programmable_speaker_parameters',
+ 'change_riding_state',
+ 'change_shooting_state',
+ 'change_single_blueprint_record_label',
+ 'change_train_stop_station',
+ 'change_train_wait_condition',
+ 'change_train_wait_condition_data',
+ 'clean_cursor_stack',
+ 'clear_selected_blueprint',
+ 'clear_selected_deconstruction_item',
+ 'clear_selected_upgrade_item',
+ 'connect_rolling_stock',
+ 'copy',
+ 'copy_entity_settings',
+ 'craft',
+ 'create_blueprint_like',
+ 'cursor_split',
+ 'cursor_transfer',
+ 'custom_input',
+ 'cycle_blueprint_book_backwards',
+ 'cycle_blueprint_book_forwards',
+ 'deconstruct',
+ 'delete_blueprint_library',
+ 'delete_blueprint_record',
+ 'delete_custom_tag',
+ 'delete_permission_group',
+ 'destroy_opened_item',
+ 'disconnect_rolling_stock',
+ 'drag_train_schedule',
+ 'drag_train_wait_condition',
+ 'drop_blueprint_record',
+ 'drop_item',
+ 'drop_to_blueprint_book',
+ 'edit_custom_tag',
+ 'edit_permission_group',
+ 'export_blueprint',
+ 'fast_entity_split',
+ 'fast_entity_transfer',
+ 'go_to_train_station',
+ 'grab_blueprint_record',
+ 'gui_checked_state_changed',
+ 'gui_click',
+ 'gui_confirmed',
+ 'gui_elem_changed',
+ 'gui_location_changed',
+ 'gui_selected_tab_changed',
+ 'gui_selection_state_changed',
+ 'gui_switch_state_changed',
+ 'gui_text_changed',
+ 'gui_value_changed',
+ 'import_blueprint',
+ 'import_blueprint_string',
+ 'import_permissions_string',
+ 'inventory_split',
+ 'inventory_transfer',
+ 'launch_rocket',
+ 'lua_shortcut',
+ 'map_editor_action',
+ 'market_offer',
+ 'mod_settings_changed',
+ 'open_achievements_gui',
+ 'open_blueprint_library_gui',
+ 'open_blueprint_record',
+ 'open_bonus_gui',
+ 'open_character_gui',
+ 'open_equipment',
+ 'open_gui',
+ 'open_item',
+ 'open_kills_gui',
+ 'open_logistic_gui',
+ 'open_mod_item',
+ 'open_production_gui',
+ 'open_technology_gui',
+ 'open_train_gui',
+ 'open_train_station_gui',
+ 'open_trains_gui',
+ 'open_tutorials_gui',
+ 'paste_entity_settings',
+ 'place_equipment',
+ 'quick_bar_pick_slot',
+ 'quick_bar_set_selected_page',
+ 'quick_bar_set_slot',
+ 'remove_cables',
+ 'remove_train_station',
+ 'reset_assembling_machine',
+ 'rotate_entity',
+ 'select_area',
+ 'select_blueprint_entities',
+ 'select_entity_slot',
+ 'select_item',
+ 'select_mapper_slot',
+ 'select_next_valid_gun',
+ 'select_tile_slot',
+ 'set_auto_launch_rocket',
+ 'set_autosort_inventory',
+ 'set_behavior_mode',
+ 'set_car_weapons_control',
+ 'set_circuit_condition',
+ 'set_circuit_mode_of_operation',
+ 'set_deconstruction_item_tile_selection_mode',
+ 'set_deconstruction_item_trees_and_rocks_only',
+ 'set_entity_color',
+ 'set_entity_energy_property',
+ 'set_filter',
+ 'set_heat_interface_mode',
+ 'set_heat_interface_temperature',
+ 'set_infinity_container_filter_item',
+ 'set_infinity_container_remove_unfiltered_items',
+ 'set_infinity_pipe_filter',
+ 'set_inserter_max_stack_size',
+ 'set_inventory_bar',
+ 'set_logistic_filter_item',
+ 'set_logistic_filter_signal',
+ 'set_logistic_trash_filter_item',
+ 'set_request_from_buffers',
+ 'set_research_finished_stops_game',
+ 'set_signal',
+ 'set_single_blueprint_record_icon',
+ 'set_splitter_priority',
+ 'set_train_stopped',
+ 'setup_assembling_machine',
+ 'setup_blueprint',
+ 'setup_single_blueprint_record',
+ 'smart_pipette',
+ 'stack_split',
+ 'stack_transfer',
+ 'start_repair',
+ 'start_research',
+ 'start_walking',
+ 'stop_building_by_moving',
+ 'switch_connect_to_logistic_network',
+ 'switch_constant_combinator_state',
+ 'switch_inserter_filter_mode_state',
+ 'switch_power_switch_state',
+ 'switch_to_rename_stop_gui',
+ 'take_equipment',
+ 'toggle_deconstruction_item_entity_filter_mode',
+ 'toggle_deconstruction_item_tile_filter_mode',
+ 'toggle_driving',
+ 'toggle_enable_vehicle_logistics_while_moving',
+ 'toggle_equipment_movement_bonus',
+ 'toggle_map_editor',
+ 'toggle_personal_roboport',
+ 'toggle_show_entity_info',
+ 'translate_string',
+ 'undo',
+ 'upgrade',
+ 'upgrade_opened_blueprint',
+ 'use_artillery_remote',
+ 'use_item',
+ 'wire_dragging',
+ 'write_to_console'
+ }
+ },
+ inventory = {
+ fields = {
+ 'fuel',
+ 'burnt_result',
+ 'chest',
+ 'furnace_source',
+ 'furnace_result',
+ 'furnace_modules',
+ 'character_main',
+ 'character_guns',
+ 'character_ammo',
+ 'character_armor',
+ 'character_vehicle',
+ 'character_trash',
+ 'god_main',
+ 'editor_main',
+ 'editor_guns',
+ 'editor_ammo',
+ 'editor_armor',
+ 'roboport_robot',
+ 'roboport_material',
+ 'robot_cargo',
+ 'robot_repair',
+ 'assembling_machine_input',
+ 'assembling_machine_output',
+ 'assembling_machine_modules',
+ 'lab_input',
+ 'lab_modules',
+ 'mining_drill_modules',
+ 'item_main',
+ 'rocket_silo_rocket',
+ 'rocket_silo_result',
+ 'rocket',
+ 'car_trunk',
+ 'car_ammo',
+ 'cargo_wagon',
+ 'turret_ammo',
+ 'beacon_modules',
+ 'character_corpse',
+ 'artillery_turret_ammo',
+ 'artillery_wagon_ammo'
+ }
+ },
+ logistic_member_index = {
+ fields = {
+ 'logistic_container',
+ 'vehicle_storage',
+ 'character_requester',
+ 'character_storage',
+ 'character_provider',
+ 'generic_on_off_behavior'
+ }
+ },
+ logistic_mode = {
+ fields = {
+ 'active_provider',
+ 'storage',
+ 'requester',
+ 'passive_provider',
+ 'buffer'
+ }
+ },
+ mouse_button_type = {
+ fields = {
+ 'left',
+ 'right',
+ 'middle'
+ }
+ },
+ rail_connection_direction = {
+ fields = {
+ 'left',
+ 'straight',
+ 'right'
+ }
+ },
+ rail_direction = {
+ fields = {
+ 'front',
+ 'back'
+ }
+ },
+ render_mode = {
+ fields = {
+ 'game',
+ 'chart',
+ 'chart_zoomed_in'
+ }
+ },
+ rich_text_setting = {
+ fields = {
+ 'enabled',
+ 'disabled',
+ 'highlight'
+ }
+ },
+ riding = {
+ fields = {
+ acceleration = {
+ fields = {
+ 'nothing',
+ 'accelerating',
+ 'braking',
+ 'reversing'
+ }
+ },
+ direction = {
+ fields = {
+ 'left',
+ 'straight',
+ 'right'
+ }
+ }
+ }
+ },
+ shooting = {
+ fields = {
+ 'not_shooting',
+ 'shooting_enemies',
+ 'shooting_selected'
+ }
+ },
+ signal_state = {
+ fields = {
+ 'open',
+ 'closed',
+ 'reserved',
+ 'reserved_by_circuit_network'
+ }
+ },
+ train_state = {
+ fields = {
+ 'on_the_path',
+ 'path_lost',
+ 'no_schedule',
+ 'no_path',
+ 'arrive_signal',
+ 'wait_signal',
+ 'arrive_station',
+ 'wait_station',
+ 'manual_control_stop',
+ 'manual_control'
+ }
+ },
+ transport_line = {
+ fields = {
+ 'left_line',
+ 'right_line',
+ 'left_underground_line',
+ 'right_underground_line',
+ 'secondary_left_line',
+ 'secondary_right_line',
+ 'left_split_line',
+ 'right_split_line',
+ 'secondary_left_split_line',
+ 'secondary_right_split_line'
+ }
+ },
+ wire_connection_id = {
+ fields = {
+ 'electric_pole',
+ 'power_switch_left',
+ 'power_switch_right'
+ }
+ },
+ wire_type = {
+ fields = {
+ 'red',
+ 'green',
+ 'copper'
+ }
+ },
+ -- Defines additional modules
+ color = {
+ other_fields = true
+ },
+ anticolor = {
+ other_fields = true
+ },
+ lightcolor = {
+ other_fields = true
+ },
+ time = {
+ fields = {
+ 'second',
+ 'minute',
+ 'hour',
+ 'day',
+ 'week',
+ 'month',
+ 'year'
+ }
+ }
+ }
+ }
+ }
+ }
+end
+
+--[[ Options
"ignore", "std", "globals", "unused_args", "self", "compat", "global", "unused", "redefined",
"unused_secondaries", "allow_defined", "allow_defined_top", "module",
"read_globals", "new_globals", "new_read_globals", "enable", "only", "not_globals",
@@ -949,54 +1643,55 @@ stds.factorio_defines = {
"max_cyclomatic_complexity"
--]]
--- Warnings list
--- 011 A syntax error.
--- 021 An invalid inline option.
--- 022 An unpaired inline push directive.
--- 023 An unpaired inline pop directive.
--- 111 Setting an undefined global variable.
--- 112 Mutating an undefined global variable.
--- 113 Accessing an undefined global variable.
--- 121 Setting a read-only global variable.
--- 122 Setting a read-only field of a global variable.
--- 131 Unused implicitly defined global variable.
--- 142 Setting an undefined field of a global variable.
--- 143 Accessing an undefined field of a global variable.
--- 211 Unused local variable.
--- 212 Unused argument.
--- 213 Unused loop variable.
--- 221 Local variable is accessed but never set.
--- 231 Local variable is set but never accessed.
--- 232 An argument is set but never accessed.
--- 233 Loop variable is set but never accessed.
--- 241 Local variable is mutated but never accessed.
--- 311 Value assigned to a local variable is unused.
--- 312 Value of an argument is unused.
--- 313 Value of a loop variable is unused.
--- 314 Value of a field in a table literal is unused.
--- 321 Accessing uninitialized local variable.
--- 331 Value assigned to a local variable is mutated but never accessed.
--- 341 Mutating uninitialized local variable.
--- 411 Redefining a local variable.
--- 412 Redefining an argument.
--- 413 Redefining a loop variable.
--- 421 Shadowing a local variable.
--- 422 Shadowing an argument.
--- 423 Shadowing a loop variable.
--- 431 Shadowing an upvalue.
--- 432 Shadowing an upvalue argument.
--- 433 Shadowing an upvalue loop variable.
--- 511 Unreachable code.
--- 512 Loop can be executed at most once.
--- 521 Unused label.
--- 531 Left-hand side of an assignment is too short.
--- 532 Left-hand side of an assignment is too long.
--- 541 An empty do end block.
--- 542 An empty if branch.
--- 551 An empty statement.
--- 611 A line consists of nothing but whitespace.
--- 612 A line contains trailing whitespace.
--- 613 Trailing whitespace in a string.
--- 614 Trailing whitespace in a comment.
--- 621 Inconsistent indentation (SPACE followed by TAB).
--- 631 Line is too long.
+--[[ Warnings list
+ -- 011 A syntax error.
+ -- 021 An invalid inline option.
+ -- 022 An unpaired inline push directive.
+ -- 023 An unpaired inline pop directive.
+ -- 111 Setting an undefined global variable.
+ -- 112 Mutating an undefined global variable.
+ -- 113 Accessing an undefined global variable.
+ -- 121 Setting a read-only global variable.
+ -- 122 Setting a read-only field of a global variable.
+ -- 131 Unused implicitly defined global variable.
+ -- 142 Setting an undefined field of a global variable.
+ -- 143 Accessing an undefined field of a global variable.
+ -- 211 Unused local variable.
+ -- 212 Unused argument.
+ -- 213 Unused loop variable.
+ -- 221 Local variable is accessed but never set.
+ -- 231 Local variable is set but never accessed.
+ -- 232 An argument is set but never accessed.
+ -- 233 Loop variable is set but never accessed.
+ -- 241 Local variable is mutated but never accessed.
+ -- 311 Value assigned to a local variable is unused.
+ -- 312 Value of an argument is unused.
+ -- 313 Value of a loop variable is unused.
+ -- 314 Value of a field in a table literal is unused.
+ -- 321 Accessing uninitialized local variable.
+ -- 331 Value assigned to a local variable is mutated but never accessed.
+ -- 341 Mutating uninitialized local variable.
+ -- 411 Redefining a local variable.
+ -- 412 Redefining an argument.
+ -- 413 Redefining a loop variable.
+ -- 421 Shadowing a local variable.
+ -- 422 Shadowing an argument.
+ -- 423 Shadowing a loop variable.
+ -- 431 Shadowing an upvalue.
+ -- 432 Shadowing an upvalue argument.
+ -- 433 Shadowing an upvalue loop variable.
+ -- 511 Unreachable code.
+ -- 512 Loop can be executed at most once.
+ -- 521 Unused label.
+ -- 531 Left-hand side of an assignment is too short.
+ -- 532 Left-hand side of an assignment is too long.
+ -- 541 An empty do end block.
+ -- 542 An empty if branch.
+ -- 551 An empty statement.
+ -- 611 A line consists of nothing but whitespace.
+ -- 612 A line contains trailing whitespace.
+ -- 613 Trailing whitespace in a string.
+ -- 614 Trailing whitespace in a comment.
+ -- 621 Inconsistent indentation (SPACE followed by TAB).
+ -- 631 Line is too long.
+--]]
diff --git a/README.md b/README.md
index affbc44a..851be090 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ Please report these errors to [the issues page](issues).
## Contributing
-All are welcome to make pull requests and issues for this scenario, if you are in any doubt, please ask someone in our [discord]. If you do not know lua and don't feel like learning you can always make a [feature request]. All our docs can be found [here][docs]. Please keep in mind while making code changes:
+All are welcome to make pull requests and issues for this scenario, if you are in any doubt, please ask someone in our [discord]. If you do not know lua and don't feel like learning you can always make a [feature request]. To find out what we already have please read our [docs]. Please keep in mind while making code changes:
* New features should have the branch names: `feature/feature-name`
* New features are merged into `dev` after it has been completed, this can be done through a pull request.
@@ -58,6 +58,7 @@ All are welcome to make pull requests and issues for this scenario, if you are i
| Scenario Version* | Version Name | Factorio Version** |
|---|---|---|
+| [v6.0][s6.0] | Gui / 0.18 Overhaul | [v0.18.17][f0.18.17] |
| [v5.10][s5.10] | Data Store Rewrite | [v0.17.71][f0.17.71] |
| [v5.9][s5.9] | Control Modules and Documentation | [v0.17.63][f0.17.63] |
| [v5.8][s5.8] | Home and Chat Bot | [v0.17.47][f0.17.49] |
@@ -79,6 +80,7 @@ All are welcome to make pull requests and issues for this scenario, if you are i
\*\* Factorio versions show the version they were made for, often the minimum requirement.
+[s6.0]: https://github.com/explosivegaming/scenario/releases/tag/6.0.0
[s5.10]: https://github.com/explosivegaming/scenario/releases/tag/5.10.0
[s5.9]: https://github.com/explosivegaming/scenario/releases/tag/5.9.0
[s5.8]: https://github.com/explosivegaming/scenario/releases/tag/5.8.0
@@ -96,6 +98,7 @@ All are welcome to make pull requests and issues for this scenario, if you are i
[s1.0]: https://github.com/explosivegaming/scenario/releases/tag/v1.0
[s0.1]: https://github.com/explosivegaming/scenario/releases/tag/v0.1
+[f0.18.17]: https://wiki.factorio.com/Version_history/0.18.0#0.18.17
[f0.17.71]: https://wiki.factorio.com/Version_history/0.17.0#0.17.71
[f0.17.63]: https://wiki.factorio.com/Version_history/0.17.0#0.17.63
[f0.17.49]: https://wiki.factorio.com/Version_history/0.17.0#0.17.49
diff --git a/config/_file_loader.lua b/config/_file_loader.lua
index c4a5bba6..c78f6bde 100644
--- a/config/_file_loader.lua
+++ b/config/_file_loader.lua
@@ -13,6 +13,7 @@ return {
'modules.commands.tag',
'modules.commands.teleport',
'modules.commands.cheat-mode',
+ 'modules.commands.ratio',
'modules.commands.interface',
'modules.commands.help',
'modules.commands.roles',
@@ -27,6 +28,8 @@ return {
'modules.commands.bonus',
'modules.commands.home',
-- QoL Addons
+ 'modules.addons.station-auto-name',
+ 'modules.addons.greetings',
'modules.addons.chat-popups',
'modules.addons.damage-popups',
'modules.addons.death-logger',
@@ -38,18 +41,20 @@ return {
'modules.addons.random-player-colours',
'modules.addons.discord-alerts',
'modules.addons.chat-reply',
+ 'modules.addons.tree-decon',
-- GUI
+ 'modules.gui.readme',
'modules.gui.rocket-info',
'modules.gui.science-info',
'modules.gui.warp-list',
'modules.gui.task-list',
'modules.gui.player-list',
+ 'modules.gui.server-ups',
'modules.commands.debug',
-- Config Files
- 'config.expcore-commands.auth_admin', -- commands tagged with admin_only are blocked for non admins
- 'config.expcore-commands.auth_roles', -- commands must be allowed via the role config
- 'config.expcore-commands.auth_runtime_disable', -- allows commands to be enabled and disabled during runtime
- 'config.permission_groups', -- loads some predefined permission groups
- 'config.roles', -- loads some predefined roles
- 'expcore.gui.test' -- loads multiple gui defines to test the gui system
+ 'config.expcore.command_auth_admin', -- commands tagged with admin_only are blocked for non admins
+ 'config.expcore.command_auth_roles', -- commands must be allowed via the role config
+ 'config.expcore.command_runtime_disable', -- allows commands to be enabled and disabled during runtime
+ 'config.expcore.permission_groups', -- loads some predefined permission groups
+ 'config.expcore.roles', -- loads some predefined roles
}
\ No newline at end of file
diff --git a/config/chat_reply.lua b/config/chat_reply.lua
index fc8dee5c..2f653569 100644
--- a/config/chat_reply.lua
+++ b/config/chat_reply.lua
@@ -1,7 +1,12 @@
--- 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
+local Async = require 'expcore.async'
+local format_time = _C.format_time --- @dep expcore.common
+
+local async_message = Async.register(function(player, message)
+ player.print(message)
+end)
return {
allow_command_prefix_for_messages = true, --- @setting allow_command_prefix_for_messages when true any message trigger will print to all player when prefixed
@@ -12,12 +17,13 @@ return {
['wiki']={'info.wiki'},
['status']={'info.status'},
['github']={'info.github'},
+ ['patreon']={'info.patreon'},
+ ['donate']={'info.patreon'},
['command']={'info.custom-commands'},
['commands']={'info.custom-commands'},
['softmod']={'info.softmod'},
['script']={'info.softmod'},
['loop']={'chat-bot.loops'},
- ['loops']={'chat-bot.loops'},
['rhd']={'info.lhd'},
['lhd']={'info.lhd'},
['roundabout']={'chat-bot.loops'},
@@ -38,8 +44,8 @@ return {
['online']=function()
return {'chat-bot.players-online',#game.connected_players}
end,
- ['time']=function()
- return {'chat-bot.map-time',format_time(game.tick,{days=true,hours=true,minutes=true,seconds=true,long=true})}
+ ['r!verify']=function(player)
+ return {'chat-bot.verify',player.name}
end,
},
command_admin_only = false, --- @setting command_admin_only when true will only allow chat commands for admins
@@ -65,5 +71,48 @@ return {
['evolution']=function()
return {'chat-bot.current-evolution',string.format('%.2f',game.forces['enemy'].evolution_factor)}
end,
+ ['makepopcorn']=function(player)
+ local timeout = math.floor(180*(math.random()+0.5))
+ Async(async_message,player,{'chat-bot.reply',{'chat-bot.get-popcorn-1'}})
+ Async.wait(timeout,async_message,player,{'chat-bot.reply',{'chat-bot.get-popcorn-2',player.name}})
+ end,
+ ['passsomesnaps']=function(player)
+ local timeout = math.floor(180*(math.random()+0.5))
+ Async(async_message,player,{'chat-bot.reply',{'chat-bot.get-snaps-1'}})
+ Async.wait(timeout,async_message,player,{'chat-bot.reply',{'chat-bot.get-snaps-2',player.name}})
+ Async.wait(timeout*(math.random()+0.5),async_message,player,{'chat-bot.reply',{'chat-bot.get-snaps-3',player.name}})
+ end,
+ ['makecocktail']=function(player)
+ local timeout = math.floor(180*(math.random()+0.5))
+ Async(async_message,player,{'chat-bot.reply',{'chat-bot.get-cocktail-1'}})
+ Async.wait(timeout,async_message,player,{'chat-bot.reply',{'chat-bot.get-cocktail-2',player.name}})
+ Async.wait(timeout*(math.random()+0.5),async_message,player,{'chat-bot.reply',{'chat-bot.get-cocktail-3',player.name}})
+ end,
+ ['makecoffee']=function(player)
+ local timeout = math.floor(180*(math.random()+0.5))
+ Async(async_message,player,{'chat-bot.reply',{'chat-bot.make-coffee-1'}})
+ Async.wait(timeout,async_message,player,{'chat-bot.reply',{'chat-bot.make-coffee-2',player.name}})
+ end,
+ ['orderpizza']=function(player)
+ local timeout = math.floor(180*(math.random()+0.5))
+ Async(async_message,player,{'chat-bot.reply',{'chat-bot.order-pizza-1'}})
+ Async.wait(timeout,async_message,player,{'chat-bot.reply',{'chat-bot.order-pizza-2',player.name}})
+ Async.wait(timeout*(math.random()+0.5),async_message,player,{'chat-bot.reply',{'chat-bot.order-pizza-3',player.name}})
+ end,
+ ['maketea']=function(player)
+ local timeout = math.floor(180*(math.random()+0.5))
+ Async(async_message,player,{'chat-bot.reply',{'chat-bot.make-tea-1'}})
+ Async.wait(timeout,async_message,player,{'chat-bot.reply',{'chat-bot.make-tea-2',player.name}})
+ end,
+ ['meadplease']=function(player)
+ local timeout = math.floor(180*(math.random()+0.5))
+ Async(async_message,player,{'chat-bot.reply',{'chat-bot.get-mead-1'}})
+ Async.wait(timeout,async_message,player,{'chat-bot.reply',{'chat-bot.get-mead-2',player.name}})
+ end,
+ ['passabeer']=function(player)
+ local timeout = math.floor(180*(math.random()+0.5))
+ Async(async_message,player,{'chat-bot.reply',{'chat-bot.get-beer-1'}})
+ Async.wait(timeout,async_message,player,{'chat-bot.reply',{'chat-bot.get-beer-2',player.name}})
+ end
}
}
diff --git a/config/compilatron.lua b/config/compilatron.lua
index 6b69601d..00c9ddcf 100644
--- a/config/compilatron.lua
+++ b/config/compilatron.lua
@@ -19,6 +19,7 @@ return {
{'info.status'},
{'info.lhd'},
{'info.github'},
+ {'info.patreon'},
}
}
}
\ No newline at end of file
diff --git a/config/discord_alerts.lua b/config/discord_alerts.lua
index 1d2c58d0..dc9c48c4 100644
--- a/config/discord_alerts.lua
+++ b/config/discord_alerts.lua
@@ -8,10 +8,12 @@ return {
player_mutes=true,
player_kicks=true,
player_promotes=false,
- config=true,
- purge=true,
- c=true,
- command=true,
+ player_jail=true,
+ player_temp_ban=true,
+ ['config']=true,
+ ['purge']=true,
+ ['c']=true,
+ ['command']=true,
['silent-command']=true,
['measured-command']=true,
['banlist']=true,
diff --git a/config/expcore-commands/auth_admin.lua b/config/expcore/command_auth_admin.lua
similarity index 100%
rename from config/expcore-commands/auth_admin.lua
rename to config/expcore/command_auth_admin.lua
diff --git a/config/expcore-commands/auth_roles.lua b/config/expcore/command_auth_roles.lua
similarity index 100%
rename from config/expcore-commands/auth_roles.lua
rename to config/expcore/command_auth_roles.lua
diff --git a/config/expcore-commands/parse_general.lua b/config/expcore/command_general_parse.lua
similarity index 100%
rename from config/expcore-commands/parse_general.lua
rename to config/expcore/command_general_parse.lua
diff --git a/config/expcore-commands/parse_roles.lua b/config/expcore/command_role_parse.lua
similarity index 92%
rename from config/expcore-commands/parse_roles.lua
rename to config/expcore/command_role_parse.lua
index 20b0d51f..12e76bbc 100644
--- a/config/expcore-commands/parse_roles.lua
+++ b/config/expcore/command_role_parse.lua
@@ -9,8 +9,8 @@
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
-require 'config.expcore-commands.parse_general'
+local auto_complete = _C.auto_complete --- @dep expcore.common
+require 'config.expcore.command_general_parse'
Commands.add_parse('role',function(input,player,reject)
if not input then return end
diff --git a/config/expcore-commands/auth_runtime_disable.lua b/config/expcore/command_runtime_disable.lua
similarity index 100%
rename from config/expcore-commands/auth_runtime_disable.lua
rename to config/expcore/command_runtime_disable.lua
diff --git a/config/permission_groups.lua b/config/expcore/permission_groups.lua
similarity index 97%
rename from config/permission_groups.lua
rename to config/expcore/permission_groups.lua
index 74fc894b..236268b4 100644
--- a/config/permission_groups.lua
+++ b/config/expcore/permission_groups.lua
@@ -13,7 +13,7 @@ Permission_Groups.new_group('Admin')
:disallow{
'add_permission_group', -- admin
'delete_permission_group',
- --'edit_permission_group', -- removed for admin till role script added
+ 'edit_permission_group',
'import_permissions_string',
'map_editor_action',
'toggle_map_editor',
@@ -85,7 +85,7 @@ Permission_Groups.new_group('Guest')
'set_auto_launch_rocket',
'change_programmable_speaker_parameters', -- guest
'change_train_stop_station',
- 'deconstruct',
+ --'deconstruct',
'remove_cables',
'remove_train_station',
'reset_assembling_machine',
diff --git a/config/roles.lua b/config/expcore/roles.lua
similarity index 64%
rename from config/roles.lua
rename to config/expcore/roles.lua
index d46d08fe..763fd132 100644
--- a/config/roles.lua
+++ b/config/expcore/roles.lua
@@ -3,20 +3,6 @@
local Roles = require 'expcore.roles' --- @dep expcore.roles
--- Use these to adjust for ticks ie game.tick < 5*minutes
-local seconds, minutes, hours = 60, 3600, 216000
-
---[[
- -- cant use a factory as it has up values ;-;
- local function playtime(time_required)
- return function(player)
- if player.online_time > time_required then
- return true
- end
- end
- end
-]]
-
--- Role flags that will run when a player changes roles
Roles.define_flag_trigger('is_admin',function(player,state)
player.admin = state
@@ -61,7 +47,8 @@ Roles.new_role('Administrator','Admin')
:set_flag('instance-respawn')
:set_parent('Moderator')
:allow{
- 'gui/warp-list/no-limit',
+ 'gui/warp-list/bypass-cooldown',
+ 'gui/warp-list/bypass-proximity',
}
Roles.new_role('Moderator','Mod')
@@ -90,6 +77,7 @@ Roles.new_role('Moderator','Mod')
'command/return',
'gui/rocket-info/toggle-active',
'gui/rocket-info/remote_launch',
+ 'fast-tree-decon',
}
Roles.new_role('Trainee','TrMod')
@@ -98,7 +86,7 @@ Roles.new_role('Trainee','TrMod')
:set_flag('is_admin')
:set_flag('is_spectator')
:set_flag('report-immune')
-:set_parent('Donator')
+:set_parent('Veteran')
:allow{
'command/admin-chat',
'command/teleport',
@@ -108,28 +96,42 @@ Roles.new_role('Trainee','TrMod')
'command/give-warning',
'command/get-warnings',
'command/get-reports',
+ 'command/jail',
+ 'command/unjail',
'command/kick',
'command/ban',
}
--- Trusted Roles
-Roles.new_role('Sponsor','Spon')
+Roles.new_role('Board Member','Board')
:set_permission_group('Trusted')
:set_custom_color{r=247,g=246,b=54}
:set_flag('is_spectator')
:set_flag('report-immune')
:set_flag('instance-respawn')
-:set_parent('Pay to Win')
+:set_parent('Sponsor')
:allow{
+ 'command/goto',
+ 'command/repair',
}
-Roles.new_role('Pay to Win','P2W')
+Roles.new_role('Senior Backer','Backer')
:set_permission_group('Trusted')
:set_custom_color{r=238,g=172,b=44}
:set_flag('is_spectator')
:set_flag('report-immune')
:set_flag('instance-respawn')
-:set_parent('Donator')
+:set_parent('Sponsor')
+:allow{
+}
+
+Roles.new_role('Sponsor','Spon')
+:set_permission_group('Trusted')
+:set_custom_color{r=238,g=172,b=44}
+:set_flag('is_spectator')
+:set_flag('report-immune')
+:set_flag('instance-respawn')
+:set_parent('Supporter')
:allow{
'gui/rocket-info/toggle-active',
'gui/rocket-info/remote_launch',
@@ -138,9 +140,10 @@ Roles.new_role('Pay to Win','P2W')
'command/home-set',
'command/home-get',
'command/return',
+ 'fast-tree-decon',
}
-Roles.new_role('Donator','Don')
+Roles.new_role('Supporter','Sup')
:set_permission_group('Trusted')
:set_custom_color{r=230,g=99,b=34}
:set_flag('is_spectator')
@@ -167,7 +170,7 @@ Roles.new_role('Veteran','Vet')
:allow{
'command/chat-bot',
}
-:set_auto_promote_condition(function(player)
+:set_auto_assign_condition(function(player)
if player.online_time > 10*216000 then
return true
end
@@ -179,7 +182,9 @@ Roles.new_role('Member','Mem')
:set_custom_color{r=24,g=172,b=188}
:set_parent('Regular')
:allow{
+ 'gui/task-list/add',
'gui/task-list/edit',
+ 'gui/warp-list/add',
'gui/warp-list/edit'
}
@@ -192,8 +197,9 @@ Roles.new_role('Regular','Reg')
'command/rainbow',
'command/go-to-spawn',
'command/me',
+ 'standard-decon'
}
-:set_auto_promote_condition(function(player)
+:set_auto_assign_condition(function(player)
if player.online_time > 3*216000 then
return true
end
@@ -206,15 +212,18 @@ local default = Roles.new_role('Guest','')
:allow{
'command/tag',
'command/tag-clear',
- 'command/chelp',
+ 'command/search-help',
'command/list-roles',
'command/find-on-map',
'command/report',
+ 'command/ratio',
+ 'command/server-ups',
'gui/player-list',
'gui/rocket-info',
'gui/science-info',
'gui/task-list',
'gui/warp-list',
+ 'gui/readme'
}
--- Jail role
@@ -234,9 +243,10 @@ Roles.define_role_order{
'Administrator',
'Moderator',
'Trainee',
+ 'Board Member',
+ 'Senior Backer',
'Sponsor',
- 'Pay to Win',
- 'Donator',
+ 'Supporter',
'Partner',
'Veteran',
'Member',
@@ -246,43 +256,44 @@ Roles.define_role_order{
}
Roles.override_player_roles{
- Cooldude2606={'Senior Administrator','Administrator','Moderator','Member'},
- arty714={'Senior Administrator','Administrator','Moderator','Member'},
- mark9064={'Administrator','Moderator','Member'},
- Drahc_pro={'Administrator','Moderator','Member'},
- aldldl={'Sponsor','Administrator','Moderator','Member'},
- LoicB={'Sponsor','Trainee','Member'},
- ookl={'Sponsor','Moderator','Member'},
- cydes={'Pay to Win','Moderator','Member'},
- darklich14={'Pay to Win','Moderator','Member'},
- porelos={'Pay to Win','Moderator','Member'},
- SilentLog={'Pay to Win','Moderator','Member'},
- UUBlueFire={'Pay to Win','Moderator','Member'},
- XenoCyber={'Pay to Win','Moderator','Member'},
- Chromaddict={'Donator','Moderator','Member'},
- eissturm={'Donator','Moderator','Member'},
- freek18={'Donator','Moderator','Member'},
- M74132={'Donator','Moderator','Member'},
- thadius856={'Donator','Moderator','Member'},
- ['7h3w1z4rd']={'Moderator','Member'},
- AssemblyStorm={'Moderator','Member'},
- bombershark={'Moderator','Member'},
- CmonMate497={'Moderator','Member'},
- facere={'Moderator','Member'},
- FlipHalfling90={'Moderator','Member'},
- Gizan={'Pay to Win','Moderator','Member'},
- Hobbitkicker={'Moderator','Member'},
- jessi_gaming={'Trainee','Member'},
- Koroto={'Moderator','Member'},
- mafisch3={'Moderator','Member'},
- maplesyrup01={'Moderator','Member'},
- NextIdea={'Moderator','Member'},
- Phoenix27833={'Moderator','Member'},
- Rezz={'Moderator','Member'},
- Ruuyji={'Moderator','Member'},
- samy115={'Moderator','Member'},
- scarbvis={'Moderator','Member'},
- Tcheko={'Moderator','Member'},
- WhomstThouAmMe={'Moderator','Member'},
- Windbomb={'Moderator','Member'},
+ ["Cooldude2606"]={"Senior Administrator","Moderator","Senior Backer","Supporter"},
+ ["arty714"]={"Senior Administrator","Senior Backer","Supporter"},
+ ["Drahc_pro"]={"Administrator","Moderator","Veteran","Member"},
+ ["mark9064"]={"Administrator","Moderator","Member"},
+ ["aldldl"]={"Administrator","Moderator","Senior Backer","Sponsor","Supporter","Member"},
+
+ ["ookl"]={"Moderator","Senior Backer","Sponsor","Supporter","Partner","Member"},
+ ["hamsterbryan"]={"Moderator","Senior Backer","Supporter","Member"},
+ ["M74132"]={"Moderator","Senior Backer","Sponsor","Supporter","Member"},
+ ["LoicB"]={"Moderator","Senior Backer","Supporter","Veteran","Member"},
+ ["UUBlueFire"]={"Moderator","Senior Backer","Supporter","Member"},
+
+ ["thadius856"]={"Moderator","Supporter","Member"},
+ ["XenoCyber"]={"Moderator","Supporter","Partner","Member"},
+ ["cydes"]={"Moderator","Supporter","Member"},
+ ["darklich14"]={"Moderator","Supporter","Member"},
+ ["SilentLog"]={"Moderator","Supporter","Member"},
+ ["freek18"]={"Moderator","Supporter","Member"},
+ ["porelos"]={"Moderator","Supporter","Member"},
+
+ ["7h3w1z4rd"]={"Moderator","Member"},
+ ["Windbomb"]={"Moderator","Member"},
+ ["Phoenix27833"]={"Moderator","Member"},
+ ["banakeg"]={"Moderator","Member"},
+ ["maplesyrup01"]={"Moderator","Member"},
+ ["FlipHalfling90"]={"Moderator","Member"},
+ ["Ruuyji"]={"Moderator","Member"},
+ ["Gizan"]={"Moderator"},
+ ["samy115"]={"Moderator","Member"},
+ ["Hobbitkicker"]={"Moderator","Member"},
+ ["facere"]={"Moderator","Member"},
+ ["whoami32"]={"Moderator","Member"},
+ ["NextIdea"]={"Moderator","Member"},
+ ["mafisch3"]={"Moderator","Member"},
+ ["Tcheko"]={"Moderator","Member"},
+ ["AssemblyStorm"]={"Moderator","Veteran","Member"},
+ ["connormkii"]={"Moderator","Veteran","Member"},
+ ["Koroto"]={"Moderator","Veteran","Member"},
+ ["scarbvis"]={"Moderator","Member"},
+ ["CmonMate497"]={"Moderator","Member"}
}
diff --git a/config/action_buttons.lua b/config/gui/player_list_actions.lua
similarity index 81%
rename from config/action_buttons.lua
rename to config/gui/player_list_actions.lua
index 2ce10565..1bd19bbf 100644
--- a/config/action_buttons.lua
+++ b/config/gui/player_list_actions.lua
@@ -12,8 +12,8 @@ local Game = require 'utils.game' --- @dep utils.game
local Reports = require 'modules.control.reports' --- @dep modules.control.reports
local Warnings = require 'modules.control.warnings' --- @dep modules.control.warnings
local Jail = require 'modules.control.jail' --- @dep modules.control.jail
-local Colors = require 'resources.color_presets' --- @dep resources.color_presets
-local format_chat_player_name = ext_require('expcore.common','format_chat_player_name') --- @dep expcore.common
+local Colors = require 'utils.color_presets' --- @dep utils.color_presets
+local format_chat_player_name = _C.format_chat_player_name --- @dep expcore.common
local selected_player_store = ''
local selected_action_store = ''
@@ -22,13 +22,6 @@ local function set_store_uids(player,action)
selected_action_store = action
end
--- common style used by all action buttons
-local function tool_button_style(style)
- Gui.set_padding_style(style,-1,-1,-1,-1)
- style.height = 28
- style.width = 28
-end
-
-- auth that will only allow when on player's of lower roles
local function auth_lower_role(player,selected_player_name)
local player_highest = Roles.get_player_highest_role(player)
@@ -56,14 +49,23 @@ local function teleport(from_player,to_player)
return true
end
+local function new_button(sprite,tooltip)
+ return Gui.element{
+ type = 'sprite-button',
+ style = 'tool_button',
+ sprite = sprite,
+ tooltip = tooltip
+ }:style{
+ padding = -1,
+ height = 28,
+ width = 28
+ }
+end
+
--- Teleports the user to the action player
-- @element goto_player
-local goto_player =
-Gui.new_button()
-:set_sprites('utility/export')
-:set_tooltip{'player-list.goto-player'}
-:set_style('tool_button',tool_button_style)
-:on_click(function(player,element)
+local goto_player = new_button('utility/export',{'player-list.goto-player'})
+:on_click(function(player)
local selected_player_name = get_action_player_name(player)
local selected_player = Game.get_player_from_any(selected_player_name)
if not player.character or not selected_player.character then
@@ -75,12 +77,8 @@ end)
--- Teleports the action player to the user
-- @element bring_player
-local bring_player =
-Gui.new_button()
-:set_sprites('utility/import')
-:set_tooltip{'player-list.bring-player'}
-:set_style('tool_button',tool_button_style)
-:on_click(function(player,element)
+local bring_player = new_button('utility/import',{'player-list.bring-player'})
+:on_click(function(player)
local selected_player_name = get_action_player_name(player)
local selected_player = Game.get_player_from_any(selected_player_name)
if not player.character or not selected_player.character then
@@ -92,12 +90,8 @@ end)
--- Kills the action player, if there are alive
-- @element kill_player
-local kill_player =
-Gui.new_button()
-:set_sprites('utility/too_far')
-:set_tooltip{'player-list.kill-player'}
-:set_style('tool_button',tool_button_style)
-:on_click(function(player,element)
+local kill_player = new_button('utility/too_far',{'player-list.kill-player'})
+:on_click(function(player)
local selected_player_name = get_action_player_name(player)
local selected_player = Game.get_player_from_any(selected_player_name)
if selected_player.character then
@@ -109,12 +103,8 @@ end)
--- Reports the action player, requires a reason to be given
-- @element report_player
-local report_player =
-Gui.new_button()
-:set_sprites('utility/spawn_flag')
-:set_tooltip{'player-list.report-player'}
-:set_style('tool_button',tool_button_style)
-:on_click(function(player,element)
+local report_player = new_button('utility/spawn_flag',{'player-list.report-player'})
+:on_click(function(player)
local selected_player_name = get_action_player_name(player)
if Reports.is_reported(selected_player_name,player.name) then
player.print({'expcom-report.already-reported'},Colors.orange_red)
@@ -133,12 +123,8 @@ end
--- Gives the action player a warning, requires a reason
-- @element warn_player
-local warn_player =
-Gui.new_button()
-:set_sprites('utility/spawn_flag')
-:set_tooltip{'player-list.warn-player'}
-:set_style('tool_button',tool_button_style)
-:on_click(function(player,element)
+local warn_player = new_button('utility/spawn_flag',{'player-list.warn-player'})
+:on_click(function(player)
Store.set(selected_action_store,player,'command/give-warning')
end)
@@ -151,12 +137,8 @@ end
--- Jails the action player, requires a reason
-- @element jail_player
-local jail_player =
-Gui.new_button()
-:set_sprites('utility/item_editor_icon')
-:set_tooltip{'player-list.jail-player'}
-:set_style('tool_button',tool_button_style)
-:on_click(function(player,element)
+local jail_player = new_button('utility/multiplayer_waiting_icon',{'player-list.jail-player'})
+:on_click(function(player)
local selected_player_name, selected_player_color = get_action_player_name(player)
if Jail.is_jailed(selected_player_name) then
player.print({'expcom-jail.already-jailed', selected_player_color},Colors.orange_red)
@@ -174,12 +156,8 @@ end
--- Temp bans the action player, requires a reason
-- @element temp_ban_player
-local temp_ban_player =
-Gui.new_button()
-:set_sprites('utility/clock')
-:set_tooltip{'player-list.temp-ban-player'}
-:set_style('tool_button',tool_button_style)
-:on_click(function(player,element)
+local temp_ban_player = new_button('utility/warning_white',{'player-list.temp-ban-player'})
+:on_click(function(player)
local selected_player_name, selected_player_color = get_action_player_name(player)
if Jail.is_jailed(selected_player_name) then
player.print({'expcom-jail.already-banned', selected_player_color},Colors.orange_red)
@@ -197,12 +175,8 @@ end
--- Kicks the action player, requires a reason
-- @element kick_player
-local kick_player =
-Gui.new_button()
-:set_sprites('utility/warning_icon')
-:set_tooltip{'player-list.kick-player'}
-:set_style('tool_button',tool_button_style)
-:on_click(function(player,element)
+local kick_player = new_button('utility/warning_icon',{'player-list.kick-player'})
+:on_click(function(player)
Store.set(selected_action_store,player,'command/kick')
end)
@@ -213,12 +187,8 @@ end
--- Bans the action player, requires a reason
-- @element ban_player
-local ban_player =
-Gui.new_button()
-:set_sprites('utility/danger_icon')
-:set_tooltip{'player-list.ban-player'}
-:set_style('tool_button',tool_button_style)
-:on_click(function(player,element)
+local ban_player = new_button('utility/danger_icon',{'player-list.ban-player'})
+:on_click(function(player)
Store.set(selected_action_store,player,'command/ban')
end)
diff --git a/config/rockets.lua b/config/gui/rockets.lua
similarity index 100%
rename from config/rockets.lua
rename to config/gui/rockets.lua
diff --git a/config/science.lua b/config/gui/science.lua
similarity index 100%
rename from config/science.lua
rename to config/gui/science.lua
diff --git a/config/gui/tasks.lua b/config/gui/tasks.lua
new file mode 100644
index 00000000..f7968e8e
--- /dev/null
+++ b/config/gui/tasks.lua
@@ -0,0 +1,13 @@
+--- Config file for the tasks gui
+-- @config Tasks
+
+return {
+ -- Adding tasks
+ allow_add_task = 'all', --- @setting allow_add_task dictates who is allowed to add new tasks; values: all, admin, expcore.roles, none
+ expcore_roles_allow_add_task = 'gui/task-list/add', --- @setting expcore_roles_allow_add_task if expcore.roles is used then this is the required permission
+
+ -- Editing tasks
+ allow_edit_task = 'expcore.roles', --- @setting allow_edit_task dictates who is allowed to edit existing tasks; values: all, admin, expcore.roles, none
+ expcore_roles_allow_edit_task = 'gui/task-list/edit', --- @setting expcore_roles_allow_edit_task if expcore.roles is used then this is the required permission
+ 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
+}
\ No newline at end of file
diff --git a/config/gui/warps.lua b/config/gui/warps.lua
new file mode 100644
index 00000000..d1710ba8
--- /dev/null
+++ b/config/gui/warps.lua
@@ -0,0 +1,41 @@
+--- This file contains all the different settings for the warp system and gui
+-- @config Warps
+
+return {
+ -- General config
+ update_smoothing = 10, --- @setting update_smoothing the amount of smoothing applied to updates to the cooldown timer, higher is better, max is 60
+ minimum_distance = 100, --- @setting minimum_distance the minimum distance that is allowed between warps on the same force
+ default_icon = 'discharge-defense-equipment', --- @setting default_icon the default icon that will be used for warps
+
+ -- Warp cooldowns
+ bypass_warp_cooldown = 'expcore.roles', --- @setting bypass_warp_cooldown dictates who the warp cooldown is applied to; values: all, admin, expcore.roles, none
+ expcore_roles_bypass_warp_cooldown = 'gui/warp-list/bypass-cooldown', --- @setting expcore_roles_bypass_warp_cooldown if expcore.roles is used then this is the required permission
+ cooldown_duraction = 60, --- @setting cooldown_duraction the duration of the warp cooldown in seconds
+
+ -- Warp proximity
+ bypass_warp_proximity = 'expcore.roles', --- @setting bypass_warp_proximity dictates who the warp proximity is applied to; values: all, admin, expcore.roles, none
+ expcore_roles_bypass_warp_proximity = 'gui/warp-list/bypass-proximity', --- @setting expcore_roles_bypass_warp_proximity if expcore.roles is used then this is the required permission
+ 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
+ spawn_proximity_radius = 20, --- @setting spawn_proximity_radius the minimum distance a player is allowed to be from they spawn point to use warps
+
+ -- Adding warps
+ allow_add_warp = 'expcore.roles', --- @setting allow_add_warp dictates who is allowed to add warps; values: all, admin, expcore.roles, none
+ expcore_roles_allow_add_warp = 'gui/warp-list/add', --- @setting expcore_roles_allow_add_warp if expcore.roles is used then this is the required permission
+
+ -- Editing warps
+ allow_edit_warp = 'expcore.roles', --- @setting allow_edit_warp dictates who is allowed to edit warps; values: all, admin, expcore.roles, none
+ expcore_roles_allow_edit_warp = 'gui/warp-list/edit', --- @setting expcore_roles_allow_edit_warp if expcore.roles is used then this is the required permission
+ 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
+
+ -- Warp area generation
+ entities = { --- @setting entities The entities which are created for warp areas
+ {'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', --- @setting base_tile The tile which is used for the warp areas
+ tiles = { --- @setting tiles The tiles which are created for warp areas
+ {-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}
+ }
+}
\ No newline at end of file
diff --git a/config/join_messages.lua b/config/join_messages.lua
new file mode 100644
index 00000000..b0226a28
--- /dev/null
+++ b/config/join_messages.lua
@@ -0,0 +1,8 @@
+return {
+ Cooldude2606 = 'Lua lets you set metatables on numbers, did you know that? Cooldude2606 knows this.',
+ samy115 = 'Tremble in fear as the banhammer is now here, its owner: samy115',
+ XenoCyber = '"Fire Fire Fire" oops wrong game, have no fear XenoCyber is here',
+ HunterOfGames = 'Unable to support HunterOfGames. You must construct additional miners.',
+ ookl = 'ookl says: "Pineapples are amazing, hello everyone!"',
+ arty714 = 'Arty\'s Potato made it!'
+}
\ No newline at end of file
diff --git a/config/preset_player_colours.lua b/config/preset_player_colours.lua
index d186fa01..b7e0bde7 100644
--- a/config/preset_player_colours.lua
+++ b/config/preset_player_colours.lua
@@ -16,7 +16,10 @@ return {
UUBlueFire={r=0,g=204,b=255},
CmonMate497={r=103,g=224,b=194},
s4sh={r=255,g=120,b=0},
- ArPiiX={r=0,g=255,b=0}
+ ArPiiX={r=0,g=255,b=0},
+ NextIdea={r=255,g=255,b=255},
+ hamsterbryan={r=0,g=255,b=0},
+ XenoCyber={r=0,g=128,b=255}
},
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},
diff --git a/config/tasks.lua b/config/tasks.lua
deleted file mode 100644
index 95165ee0..00000000
--- a/config/tasks.lua
+++ /dev/null
@@ -1,9 +0,0 @@
---- Config file for the tasks gui
--- @config Tasks
-
-return {
- 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/warps.lua b/config/warps.lua
deleted file mode 100644
index fb620108..00000000
--- a/config/warps.lua
+++ /dev/null
@@ -1,26 +0,0 @@
---- This file contains all the different settings for the warp system and gui
--- @config Warps
-
-return {
- 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', --- @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}
- }
-}
\ No newline at end of file
diff --git a/control.lua b/control.lua
index 82237d76..5658ba42 100644
--- a/control.lua
+++ b/control.lua
@@ -5,24 +5,17 @@
-- this file is the landing point for all scenarios please DO NOT edit directly, further comments are to aid development
log('[START] -----| Explosive Gaming Scenario Loader |-----')
-
--- Info on the data lifecycle and how we use it: https://github.com/Refactorio/RedMew/wiki/The-data-lifecycle
log('[INFO] Setting up lua environment')
-require 'resources.data_stages'
-_LIFECYCLE = _STAGE.control -- Control stage
--- Overrides the _G.print function
-require 'utils.print_override'
-
--- Omitting the math library is a very bad idea
-require 'utils.math'
-
--- Global Debug and make sure our version file is registered
-Debug = require 'utils.debug' --- @dep utils.debug
-require 'resources.version'
-
--- Global require function used to extract parts of a module, because simply being in common is not good enough
-ext_require = require('expcore.common').ext_require --- @dep expcore.common.ext_require
+-- Require the global overrides
+require 'overrides.stages' -- Data stages used in factorio, often used to test for runtime
+require 'overrides.print' -- Overrides the _G.print function
+require 'overrides.math' -- Omitting the math library is a very bad idea
+require 'overrides.table' -- Adds alot more functions to the table module
+inspect = require 'overrides.inspect' -- Used to covert any value into human readable string
+Debug = require 'overrides.debug' -- Global Debug module
+_C = require('expcore.common') -- _C is used to store lots of common functions expected to be used
+global.expgaming_version = '6.0.0' -- The current version for exp gaming scenario
-- Please go to config/file_loader.lua to edit the files that are loaded
log('[INFO] Getting file loader config')
@@ -52,7 +45,7 @@ end
-- Override the default require; require can no longer load new scripts
log('[INFO] Require Overright! No more requires can be made!')
-require 'utils.require_override'
+require 'overrides.require'
-- Logs all errors again to make it make it easy to find
log('[INFO] All files loaded with '..#errors..' errors:')
diff --git a/docs/addons/Advanced-Start.html b/docs/addons/Advanced-Start.html
index 8fc6a44a..1d717318 100644
--- a/docs/addons/Advanced-Start.html
+++ b/docs/addons/Advanced-Start.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
-
Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -348,7 +347,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Chat-Popups.html b/docs/addons/Chat-Popups.html
index c9ea0f82..7f17c3a9 100644
--- a/docs/addons/Chat-Popups.html
+++ b/docs/addons/Chat-Popups.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -349,7 +348,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Chat-Reply.html b/docs/addons/Chat-Reply.html
index d6eda160..d7927bc8 100644
--- a/docs/addons/Chat-Reply.html
+++ b/docs/addons/Chat-Reply.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -376,7 +375,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Compilatron.html b/docs/addons/Compilatron.html
index 4fafcaa9..5b569aae 100644
--- a/docs/addons/Compilatron.html
+++ b/docs/addons/Compilatron.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -57,10 +57,12 @@
+
+
@@ -68,13 +70,13 @@
Core
@@ -97,8 +99,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -585,7 +584,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Damage-Popups.html b/docs/addons/Damage-Popups.html
index a445fe5a..48df3a68 100644
--- a/docs/addons/Damage-Popups.html
+++ b/docs/addons/Damage-Popups.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -349,7 +348,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Death-Logger.html b/docs/addons/Death-Logger.html
index faadc765..a7b1b937 100644
--- a/docs/addons/Death-Logger.html
+++ b/docs/addons/Death-Logger.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -404,7 +403,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Discord-Alerts.html b/docs/addons/Discord-Alerts.html
index e0ecba4b..78f0bcd6 100644
--- a/docs/addons/Discord-Alerts.html
+++ b/docs/addons/Discord-Alerts.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -247,7 +246,7 @@
utils.game
- resources.color_presets
+ utils.color_presets
expcore.common
@@ -323,8 +322,8 @@
@@ -460,7 +459,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Player-Colours.html b/docs/addons/Player-Colours.html
index 8a60609c..a9b88d40 100644
--- a/docs/addons/Player-Colours.html
+++ b/docs/addons/Player-Colours.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -241,7 +240,7 @@
- resources.color_presets
+ utils.color_presets
utils.game
@@ -267,8 +266,8 @@
@@ -404,7 +403,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Pollution-Grading.html b/docs/addons/Pollution-Grading.html
index 46baddb7..d7166cc9 100644
--- a/docs/addons/Pollution-Grading.html
+++ b/docs/addons/Pollution-Grading.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -320,7 +319,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Scorched-Earth.html b/docs/addons/Scorched-Earth.html
index c4f4487d..464c0bf3 100644
--- a/docs/addons/Scorched-Earth.html
+++ b/docs/addons/Scorched-Earth.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -404,7 +403,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Spawn-Area.html b/docs/addons/Spawn-Area.html
index 6b3002a3..27174f1c 100644
--- a/docs/addons/Spawn-Area.html
+++ b/docs/addons/Spawn-Area.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -56,10 +56,12 @@
+
+
@@ -67,13 +69,13 @@
Core
@@ -96,8 +98,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -376,7 +375,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/addons/Tree-Decon.html b/docs/addons/Tree-Decon.html
new file mode 100644
index 00000000..1ae7cd94
--- /dev/null
+++ b/docs/addons/Tree-Decon.html
@@ -0,0 +1,383 @@
+
+
+
+
+
+
+
+ Tree-Decon addon
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tree-Decon addon
+
Makes trees which are marked for decon "decay" quickly to allow faster building
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/addons/greetings.html b/docs/addons/greetings.html
new file mode 100644
index 00000000..88bcabfb
--- /dev/null
+++ b/docs/addons/greetings.html
@@ -0,0 +1,383 @@
+
+
+
+
+
+
+
+ greetings addon
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
greetings addon
+
Greets players on join
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/commands/Admin-Chat.html b/docs/commands/Admin-Chat.html
index 04b6b9fe..e2928b14 100644
--- a/docs/commands/Admin-Chat.html
+++ b/docs/commands/Admin-Chat.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -388,7 +387,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Bonus.html b/docs/commands/Bonus.html
index 3786a596..b4acd3f8 100644
--- a/docs/commands/Bonus.html
+++ b/docs/commands/Bonus.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -500,7 +499,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Cheat-Mode.html b/docs/commands/Cheat-Mode.html
index 81523c11..bd44f024 100644
--- a/docs/commands/Cheat-Mode.html
+++ b/docs/commands/Cheat-Mode.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -361,7 +360,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Clear-Inventory.html b/docs/commands/Clear-Inventory.html
index a250f390..8c73ddea 100644
--- a/docs/commands/Clear-Inventory.html
+++ b/docs/commands/Clear-Inventory.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -388,7 +387,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Debug.html b/docs/commands/Debug.html
index 0af8bb1c..dc8bd630 100644
--- a/docs/commands/Debug.html
+++ b/docs/commands/Debug.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -365,7 +364,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Find.html b/docs/commands/Find.html
index 0f1ae48d..fa39eb7d 100644
--- a/docs/commands/Find.html
+++ b/docs/commands/Find.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -360,7 +359,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Help.html b/docs/commands/Help.html
index 024c376f..8d75f6db 100644
--- a/docs/commands/Help.html
+++ b/docs/commands/Help.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -404,7 +403,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Home.html b/docs/commands/Home.html
index d4881527..512a2ee6 100644
--- a/docs/commands/Home.html
+++ b/docs/commands/Home.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -458,7 +457,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Interface.html b/docs/commands/Interface.html
index eeaf7d3d..2f43cbd6 100644
--- a/docs/commands/Interface.html
+++ b/docs/commands/Interface.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -416,7 +415,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Jail.html b/docs/commands/Jail.html
index 67d43bef..f7cdeb46 100644
--- a/docs/commands/Jail.html
+++ b/docs/commands/Jail.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -611,7 +610,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Kill.html b/docs/commands/Kill.html
index 967cb7e1..085d3e43 100644
--- a/docs/commands/Kill.html
+++ b/docs/commands/Kill.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -389,7 +388,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Me.html b/docs/commands/Me.html
index fbba050f..c8286186 100644
--- a/docs/commands/Me.html
+++ b/docs/commands/Me.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -360,7 +359,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Rainbow.html b/docs/commands/Rainbow.html
index f30d335d..38c038a6 100644
--- a/docs/commands/Rainbow.html
+++ b/docs/commands/Rainbow.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -388,7 +387,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Repair.html b/docs/commands/Repair.html
index 361a22d7..0a156f7b 100644
--- a/docs/commands/Repair.html
+++ b/docs/commands/Repair.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -76,13 +76,13 @@
Core
@@ -111,10 +111,12 @@
+
+
@@ -123,8 +125,10 @@
Guis
@@ -135,7 +139,6 @@
Configs
-
@@ -144,22 +147,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -321,7 +320,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Reports.html b/docs/commands/Reports.html
index f94af164..88e9d0d0 100644
--- a/docs/commands/Reports.html
+++ b/docs/commands/Reports.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -585,7 +584,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Roles.html b/docs/commands/Roles.html
index 3bc1f04d..9ca693d6 100644
--- a/docs/commands/Roles.html
+++ b/docs/commands/Roles.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -250,7 +249,7 @@
expcore.roles
- resources.color_presets
+ utils.color_presets
@@ -334,8 +333,8 @@
@@ -557,7 +556,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Spawn.html b/docs/commands/Spawn.html
index 257da669..479f2750 100644
--- a/docs/commands/Spawn.html
+++ b/docs/commands/Spawn.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -389,7 +388,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Tag.html b/docs/commands/Tag.html
index 63606adc..c21383cd 100644
--- a/docs/commands/Tag.html
+++ b/docs/commands/Tag.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -443,7 +442,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Teleport.html b/docs/commands/Teleport.html
index 472651ba..b343424b 100644
--- a/docs/commands/Teleport.html
+++ b/docs/commands/Teleport.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -484,7 +483,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/commands/Warnings.html b/docs/commands/Warnings.html
index a62c9b8e..ab2e9aed 100644
--- a/docs/commands/Warnings.html
+++ b/docs/commands/Warnings.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -77,13 +77,13 @@
Core
@@ -112,10 +112,12 @@
+
+
@@ -124,8 +126,10 @@
Guis
@@ -136,7 +140,6 @@
Configs
-
@@ -145,22 +148,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -569,7 +568,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/config.ld b/docs/config.ld
index 01c7486c..43e5bfdc 100644
--- a/docs/config.ld
+++ b/docs/config.ld
@@ -2,7 +2,7 @@ file = '../'
dir = '../docs'
project = 'ExpGaming Scenario'
title = 'ExpGaming Scenario'
-description = 'Explosive Gaming\'s server scenario for 0.17'
+description = 'Explosive Gaming\'s server scenario for 0.18'
convert_opt = true
sort = false
diff --git a/docs/configs/Advanced-Start.html b/docs/configs/Advanced-Start.html
index 02b2965a..bb433438 100644
--- a/docs/configs/Advanced-Start.html
+++ b/docs/configs/Advanced-Start.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -506,7 +505,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Bonuses.html b/docs/configs/Bonuses.html
index 2e3966d2..ed9c3bd1 100644
--- a/docs/configs/Bonuses.html
+++ b/docs/configs/Bonuses.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -42,7 +42,6 @@
Configs
-
@@ -51,22 +50,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -74,13 +74,13 @@
Core
@@ -109,10 +109,12 @@
+
+
@@ -121,8 +123,10 @@
Guis
@@ -160,18 +164,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -237,7 +236,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Chat-Reply.html b/docs/configs/Chat-Reply.html
index 727827bc..f7c4bca2 100644
--- a/docs/configs/Chat-Reply.html
+++ b/docs/configs/Chat-Reply.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -51,7 +51,6 @@
Configs
-
@@ -60,22 +59,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -83,13 +83,13 @@
Core
@@ -118,10 +118,12 @@
+
+
@@ -130,8 +132,10 @@
Guis
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -485,7 +484,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Commands-Auth-Admin.html b/docs/configs/Commands-Auth-Admin.html
index fd824730..9da0f411 100644
--- a/docs/configs/Commands-Auth-Admin.html
+++ b/docs/configs/Commands-Auth-Admin.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -294,7 +293,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Commands-Auth-Roles.html b/docs/configs/Commands-Auth-Roles.html
index 4f49a827..477cb804 100644
--- a/docs/configs/Commands-Auth-Roles.html
+++ b/docs/configs/Commands-Auth-Roles.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -320,7 +319,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Commands-Auth-Runtime-Disable.html b/docs/configs/Commands-Auth-Runtime-Disable.html
index 9aacac5f..1636ab35 100644
--- a/docs/configs/Commands-Auth-Runtime-Disable.html
+++ b/docs/configs/Commands-Auth-Runtime-Disable.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -51,7 +51,6 @@
Configs
-
@@ -60,22 +59,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -83,13 +83,13 @@
Core
@@ -118,10 +118,12 @@
+
+
@@ -130,8 +132,10 @@
Guis
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -442,7 +441,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Commands-Parse-Roles.html b/docs/configs/Commands-Parse-Roles.html
index 64d71e20..9d4292ca 100644
--- a/docs/configs/Commands-Parse-Roles.html
+++ b/docs/configs/Commands-Parse-Roles.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -354,7 +353,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Commands-Parse.html b/docs/configs/Commands-Parse.html
index 574f8aa4..234392ad 100644
--- a/docs/configs/Commands-Parse.html
+++ b/docs/configs/Commands-Parse.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -338,7 +337,7 @@ see ./expcore/commands.lua for more details
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Compilatron.html b/docs/configs/Compilatron.html
index 98043b31..dec0e529 100644
--- a/docs/configs/Compilatron.html
+++ b/docs/configs/Compilatron.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -354,7 +353,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Death-Logger.html b/docs/configs/Death-Logger.html
index 859cf7d9..67857dec 100644
--- a/docs/configs/Death-Logger.html
+++ b/docs/configs/Death-Logger.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -416,7 +415,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Discord-Alerts.html b/docs/configs/Discord-Alerts.html
index 4139d6e6..5ea02120 100644
--- a/docs/configs/Discord-Alerts.html
+++ b/docs/configs/Discord-Alerts.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -42,7 +42,6 @@
Configs
-
@@ -51,22 +50,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -74,13 +74,13 @@
Core
@@ -109,10 +109,12 @@
+
+
@@ -121,8 +123,10 @@
Guis
@@ -160,18 +164,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -237,7 +236,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/File-Loader.html b/docs/configs/File-Loader.html
index 8aa4661f..3a9716cf 100644
--- a/docs/configs/File-Loader.html
+++ b/docs/configs/File-Loader.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -42,7 +42,6 @@
Configs
-
@@ -51,22 +50,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -74,13 +74,13 @@
Core
@@ -109,10 +109,12 @@
+
+
@@ -121,8 +123,10 @@
Guis
@@ -160,18 +164,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -240,7 +239,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Permission-Groups.html b/docs/configs/Permission-Groups.html
index 305e744d..3abffdaa 100644
--- a/docs/configs/Permission-Groups.html
+++ b/docs/configs/Permission-Groups.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -295,7 +294,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Player-List.html b/docs/configs/Player-List.html
index 2c9fc83f..cfda4261 100644
--- a/docs/configs/Player-List.html
+++ b/docs/configs/Player-List.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -51,7 +51,6 @@
Configs
-
@@ -60,22 +59,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -83,13 +83,13 @@
Core
@@ -118,10 +118,12 @@
+
+
@@ -130,8 +132,10 @@
Guis
@@ -169,18 +173,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -268,7 +267,7 @@
modules.control.jail
- resources.color_presets
+ utils.color_presets
expcore.common
@@ -504,8 +503,8 @@
@@ -812,7 +811,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Pollution-Grading.html b/docs/configs/Pollution-Grading.html
index 64d7f6f0..6be165c4 100644
--- a/docs/configs/Pollution-Grading.html
+++ b/docs/configs/Pollution-Grading.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -384,7 +383,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Popup-Messages.html b/docs/configs/Popup-Messages.html
index 114b8348..4f9f85b0 100644
--- a/docs/configs/Popup-Messages.html
+++ b/docs/configs/Popup-Messages.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -414,7 +413,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Preset-Player-Colours.html b/docs/configs/Preset-Player-Colours.html
index 824291f5..723391f4 100644
--- a/docs/configs/Preset-Player-Colours.html
+++ b/docs/configs/Preset-Player-Colours.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -324,7 +323,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Repair.html b/docs/configs/Repair.html
index e61920c5..e8582c36 100644
--- a/docs/configs/Repair.html
+++ b/docs/configs/Repair.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -414,7 +413,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Rockets.html b/docs/configs/Rockets.html
index 929fbf4c..0db5696a 100644
--- a/docs/configs/Rockets.html
+++ b/docs/configs/Rockets.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -834,7 +833,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Roles.html b/docs/configs/Roles.html
index 5c7aabf3..a6816311 100644
--- a/docs/configs/Roles.html
+++ b/docs/configs/Roles.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -292,7 +291,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Science.html b/docs/configs/Science.html
index c9c7fd1c..332659e6 100644
--- a/docs/configs/Science.html
+++ b/docs/configs/Science.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -354,7 +353,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Scorched-Earth.html b/docs/configs/Scorched-Earth.html
index 3c038550..a55e5c6b 100644
--- a/docs/configs/Scorched-Earth.html
+++ b/docs/configs/Scorched-Earth.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -388,7 +387,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Spawn-Area.html b/docs/configs/Spawn-Area.html
index 4395fc07..66357213 100644
--- a/docs/configs/Spawn-Area.html
+++ b/docs/configs/Spawn-Area.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -744,7 +743,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Tasks.html b/docs/configs/Tasks.html
index 1bd48171..f3bf9416 100644
--- a/docs/configs/Tasks.html
+++ b/docs/configs/Tasks.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -241,16 +240,16 @@
- any_user_can_add_new_task
+ allow_add_task
- user_can_edit_own_tasks
+ expcore_roles_allow_add_task
- only_admins_can_edit
+ allow_edit_task
- edit_tasks_role_permission
+ expcore_roles_allow_edit_task
@@ -264,15 +263,15 @@
-
when false only people with edit permission can make new reports
+
dictates who is allowed to add new tasks; values: all, admin, expcore.roles, none
@@ -291,15 +290,15 @@
-
when false only people with edit permission can edit reports
+
if expcore.roles is used then this is the required permission
@@ -318,15 +317,15 @@
-
true will hide the edit and delete buttons from non (game) admins
+
dictates who is allowed to edit existing tasks; values: all, admin, expcore.roles, none
@@ -345,15 +344,15 @@
-
value used with custom permission system
+
if expcore.roles is used then this is the required permission
@@ -384,7 +383,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Warnings.html b/docs/configs/Warnings.html
index 78291b18..77d8481e 100644
--- a/docs/configs/Warnings.html
+++ b/docs/configs/Warnings.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -355,7 +354,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/configs/Warps.html b/docs/configs/Warps.html
index c8a87917..81f0ffec 100644
--- a/docs/configs/Warps.html
+++ b/docs/configs/Warps.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -50,7 +50,6 @@
Configs
-
@@ -59,22 +58,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -82,13 +82,13 @@
Core
@@ -117,10 +117,12 @@
+
+
@@ -129,8 +131,10 @@
Guis
@@ -168,18 +172,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -241,37 +240,46 @@
- recharge_time
-
-
update_smoothing
minimum_distance
- activation_range
-
-
- spawn_activation_range
-
-
default_icon
- user_can_edit_own_warps
+ bypass_warp_cooldown
- any_user_can_add_new_warp
+ expcore_roles_bypass_warp_cooldown
- only_admins_can_edit
+ cooldown_duraction
- edit_warps_role_permission
+ bypass_warp_proximity
- bypass_warp_limits_permission
+ expcore_roles_bypass_warp_proximity
+
+
+ standard_proximity_radius
+
+
+ spawn_proximity_radius
+
+
+ allow_add_warp
+
+
+ expcore_roles_allow_add_warp
+
+
+ allow_edit_warp
+
+
+ expcore_roles_allow_edit_warp
entities
@@ -294,33 +302,6 @@
-
-
-
-
-
-
The amount of time in seconds that the player must wait between warps, acts as a balance
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -329,7 +310,7 @@
-
Higher is better, the amount of smoothing applied to recharge timer and other gui updates, max is 60
+
the amount of smoothing applied to updates to the cooldown timer, higher is better, max is 60
@@ -356,61 +337,7 @@
-
The minimum distance that must be between warp points, creating new ones is blocked when too close
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The distance the player must be to a warp in order to use the warp gui, gui can still be viewed but not used
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
A second activation range which is used for the forces spawn point
+
the minimum distance that is allowed between warps on the same force
@@ -437,7 +364,7 @@
-
The default icon which is used by warps; must be an item name
+
the default icon that will be used for warps
@@ -456,15 +383,15 @@
-
When true the user can always edit warps which they created regardless of other settings
+
dictates who the warp cooldown is applied to; values: all, admin, expcore.roles, none
@@ -483,15 +410,15 @@
-
When true any user is able to create new warps, however editing may still be restricted
+
if expcore.roles is used then this is the required permission
@@ -510,15 +437,15 @@
-
When true only admins can edit warps
+
the duration of the warp cooldown in seconds
@@ -537,15 +464,15 @@
-
Role permission used by the role system to allow editing warps
+
dictates who the warp proximity is applied to; values: all, admin, expcore.roles, none
@@ -564,15 +491,177 @@
-
Role permission used by the role system to allow bypassing the time and distance restrictions
+
if expcore.roles is used then this is the required permission
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
the minimum distance a player is allowed to be to a warp in order to use it
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
the minimum distance a player is allowed to be from they spawn point to use warps
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dictates who is allowed to add warps; values: all, admin, expcore.roles, none
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
if expcore.roles is used then this is the required permission
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dictates who is allowed to edit warps; values: all, admin, expcore.roles, none
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
if expcore.roles is used then this is the required permission
@@ -599,7 +688,7 @@
-
The entities which are created for warps
+
The entities which are created for warp areas
@@ -626,7 +715,7 @@
-
The tile which is used for the warps
+
The tile which is used for the warp areas
@@ -653,7 +742,7 @@
-
The tiles which are created for warps
+
The tiles which are created for warp areas
@@ -684,7 +773,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/control/Jail.html b/docs/control/Jail.html
index 46633de1..f66c2789 100644
--- a/docs/control/Jail.html
+++ b/docs/control/Jail.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
-
Explosive Gaming's server scenario for 0.17
+
Explosive Gaming's server scenario for 0.18
@@ -66,13 +66,13 @@
Core
@@ -87,10 +87,12 @@
+
+
@@ -99,8 +101,10 @@
Guis
@@ -138,7 +142,6 @@
Configs
-
@@ -147,22 +150,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -171,18 +175,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -1208,7 +1207,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/control/Production.html b/docs/control/Production.html
index ea5291cb..66ab08bb 100644
--- a/docs/control/Production.html
+++ b/docs/control/Production.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -42,9 +42,9 @@
Sections
@@ -66,13 +66,13 @@
Core
@@ -87,10 +87,12 @@
+
+
@@ -99,8 +101,10 @@
Guis
@@ -138,7 +142,6 @@
Configs
-
@@ -147,22 +150,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -171,18 +175,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -205,9 +204,9 @@
Jump to Section
@@ -275,7 +274,7 @@
- resources.color_presets
+ utils.color_presets
util
@@ -284,6 +283,22 @@
+
+
+
+
+
+ get_color(clamp, active_value, passive_value)
+ Returns a color value bassed on the value that was given
+
+
+ format_number(value)
+ Returns three parts used to format a number
+
+
+
+
-
-
-
-
-
-
-
- get_color(clamp, active_value, passive_value)
- Returns a color value bassed on the value that was given
-
-
- format_number(value)
- Returns three parts used to format a number
-
-
-
@@ -360,8 +359,8 @@
@@ -400,6 +399,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns a color value bassed on the value that was given
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ clamp
+
+ :
+
+ (number )
+
+ value which seperates the different colours
+
+
+
+
+
+
+
+
+
+ active_value
+
+ :
+
+ (number )
+
+ first value tested, tested against clamp
+
+
+
+
+
+
+
+
+
+ passive_value
+
+ :
+
+ (number )
+
+ second value tested, tested against 0
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (table )
+ contains r,g,b keys
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns three parts used to format a number
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ value
+
+ :
+
+ (number )
+
+ the value to format
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (string )
+ the sign for the number
+
+
+ (string )
+ the surfix for any unit used
+
+
+
+
+
@@ -1154,159 +1306,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Returns a color value bassed on the value that was given
-
-
-
-
Parameters:
-
-
-
-
-
-
-
-
-
- clamp
-
- :
-
- (number )
-
- value which seperates the different colours
-
-
-
-
-
-
-
-
-
- active_value
-
- :
-
- (number )
-
- first value tested, tested against clamp
-
-
-
-
-
-
-
-
-
- passive_value
-
- :
-
- (number )
-
- second value tested, tested against 0
-
-
-
-
-
-
-
-
-
-
Returns:
-
-
- (table )
- contains r,g,b keys
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Returns three parts used to format a number
-
-
-
-
Parameters:
-
-
-
-
-
-
-
-
-
- value
-
- :
-
- (number )
-
- the value to format
-
-
-
-
-
-
-
-
-
-
Returns:
-
-
- (string )
- the sign for the number
-
-
- (string )
- the surfix for any unit used
-
-
-
-
-
@@ -1329,7 +1328,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/control/Reports.html b/docs/control/Reports.html
index 4470dca7..09e64549 100644
--- a/docs/control/Reports.html
+++ b/docs/control/Reports.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -66,13 +66,13 @@
Core
@@ -87,10 +87,12 @@
+
+
@@ -99,8 +101,10 @@
Guis
@@ -138,7 +142,6 @@
Configs
-
@@ -147,22 +150,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -171,18 +175,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -1110,7 +1109,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/control/Rockets.html b/docs/control/Rockets.html
index ea2c7aae..d1bcf823 100644
--- a/docs/control/Rockets.html
+++ b/docs/control/Rockets.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -65,13 +65,13 @@
Core
@@ -86,10 +86,12 @@
+
+
@@ -98,8 +100,10 @@
Guis
@@ -137,7 +141,6 @@
Configs
-
@@ -146,22 +149,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -170,18 +174,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -984,7 +983,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/control/Tasks.html b/docs/control/Tasks.html
index 41068882..d8fe98bf 100644
--- a/docs/control/Tasks.html
+++ b/docs/control/Tasks.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -65,13 +65,13 @@
Core
@@ -86,10 +86,12 @@
+
+
@@ -98,8 +100,10 @@
Guis
@@ -137,7 +141,6 @@
Configs
-
@@ -146,22 +149,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -170,18 +174,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -998,7 +997,7 @@ Tasks.update_task(task_id,'We need more iron!' ,game.
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/control/Warnings.html b/docs/control/Warnings.html
index abec17b0..7465e015 100644
--- a/docs/control/Warnings.html
+++ b/docs/control/Warnings.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -65,13 +65,13 @@
Core
@@ -86,10 +86,12 @@
+
+
@@ -98,8 +100,10 @@
Guis
@@ -137,7 +141,6 @@
Configs
-
@@ -146,22 +149,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -170,18 +174,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -1465,7 +1464,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/control/Warps.html b/docs/control/Warps.html
index ebb0dfb5..f3a3b9f2 100644
--- a/docs/control/Warps.html
+++ b/docs/control/Warps.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -66,13 +66,13 @@
Core
@@ -87,10 +87,12 @@
+
+
@@ -99,8 +101,10 @@
Guis
@@ -138,7 +142,6 @@
Configs
-
@@ -147,22 +150,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -171,18 +175,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -274,9 +273,6 @@ Warps.make_warp_tag(warp_id)
config.warps
-
- expcore.common
-
@@ -463,31 +459,6 @@ Warps.make_warp_tag(warp_id)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1563,7 +1534,7 @@ Warps.make_warp_tag(warp_id)
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/core/Async.html b/docs/core/Async.html
new file mode 100644
index 00000000..6a6a6a2d
--- /dev/null
+++ b/docs/core/Async.html
@@ -0,0 +1,605 @@
+
+
+
+
+
+
+
+ Async core
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Async core
+
Core Module - Async
+- An extention of task and token to allow a single require to register and run async functions.
+
+
+
+
+
+
+
+
Usage
+
+
+local promote_player =
+Async.register(function (player)
+ player.admin = true
+end )
+
+Async(promote_player,game.player)
+
+local print_message =
+Async.register(function (player,message)
+ player.print (message)
+end )
+
+Async.wait(60 , print_message, game.player, 'One second has passed!' )
+
+
+
+
+
+
+
+
+
+
+
+
+ utils.task
+
+
+ utils.token
+
+
+
+
+
+
+
+
+
+
+ register(callback)
+ Register a new async function, must called when the file is loaded
+
+
+ run(token[, ...])
+ Runs an async function, you may supply any number of arguments as required by that function
+
+
+ wait(ticks, token[, ...])
+ Runs an async function after the given number of ticks, you may supply any number of arguments as required by that function
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Register a new async function, must called when the file is loaded
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ callback
+
+ :
+
+ (function )
+
+ the function that can be called as an async function
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (string )
+ the uid of the async function which can be passed to Async.run and Async.wait
+
+
+
+
+
+
+
+
+
+
Usage:
+
local set_admin =
+Async.register(function (player, state)
+ if player.valid then
+ player.admin = state
+ end
+end )
+
local print_to_player =
+Async.register(function (player, message)
+ if player.valid then
+ player.print (message)
+ end
+end )
+
+
+
+
+
+
+
+
+
+
+
Runs an async function, you may supply any number of arguments as required by that function
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ token
+
+ :
+
+ (string )
+
+ the token of the async function you want to run
+
+
+
+
+
+
+
+
+
+ ...
+
+ :
+
+ (any )
+
+ the other params that you want to pass to your function
+
+ (optional )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Usage:
+
Async.run(set_admin, player, true )
+
+
+
+
+
+
+
+
+
+
+
Runs an async function after the given number of ticks, you may supply any number of arguments as required by that function
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ ticks
+
+ :
+
+ (number )
+
+ the number of ticks that you want the function to run after
+
+
+
+
+
+
+
+
+
+ token
+
+ :
+
+ (string )
+
+ the token of the async function you want to run
+
+
+
+
+
+
+
+
+
+ ...
+
+ :
+
+ (any )
+
+ the other params that you want to pass to your function
+
+ (optional )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Usage:
+
Async.wait(300 , print_to_player, 'Hello, World!' )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/core/Commands.html b/docs/core/Commands.html
index 07dfce01..512c965a 100644
--- a/docs/core/Commands.html
+++ b/docs/core/Commands.html
@@ -29,7 +29,7 @@
ExpGaming Scenario
- Explosive Gaming's server scenario for 0.17
+ Explosive Gaming's server scenario for 0.18
@@ -42,6 +42,8 @@
Sections
@@ -89,10 +91,12 @@
+
+
@@ -101,8 +105,10 @@
Guis
@@ -140,7 +146,6 @@
Configs
-
@@ -149,22 +154,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -173,18 +179,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -207,6 +208,8 @@
Jump to Section
# Dependencies
+ # Tables
+ # Fields
# Authenication
# Getters
# Parse
@@ -232,7 +235,7 @@
Commands core
Core Module - Commands
- - Factorio command making module that makes commands with better parse and more modularity
+- Factorio command making module that makes commands with better parse and more modularity
@@ -241,193 +244,189 @@
Usage
-
-
-
-
-
-
- Commands.add_authenticator(function (player,command,flags,reject)
- if flags.admin_only then if player.admin then
- return true else
- return reject('This command is for admins only!' ) end
- else
- return true end
- end )
-
-
- :add_param('repeat_count' ,false ,'number-range-int' ,5 ,10 )
-
-
- input = Commands.parse('number-int' ,input,player,reject)
- if not input then return end
- Commands.add_parse('number-range-int' ,function (input,player,reject,range_min,range_max)
- local rtn = tonumber (input) and math .floor(tonumber (input)) or nil if not rtn or rtn < range_min or rtn > range_max then
- return reject('Number entered is not in range: ' ..range_min..', ' ..range_max)
- else
- return rtn
- end
- end )
-
-
- Commands.new_command('repeat-name' ,'Will repeat you name a number of times in chat.' )
+ Commands.new_command('repeat-name' , 'Will repeat you name a number of times in chat.' )
+:add_param('repeat-count' , false , 'number-range-int' , 1 , 5 ) :add_param('smiley' , true , function (input, player, reject) if not input then return end
+ if input:lower() == 'true' or input:lower() == 'yes' then
+ return true
+ else
+ return false
+ end
+end )
+:set_defaults{ smiley=false }
+:set_flag('admin_only' , true ) :add_alias('name' , 'rname' ) :register(function (player, repeat_count, smiley, raw)
+ game.print (player.name..' used a command with input: ' ..raw)
- :add_param('repeat-count' ,false ,'number-range-int' ,1 ,5 )
+ local msg = ') ' ..player.name
+ if smiley then
+ msg = ':' ..msg
+ end
- :add_param('smiley' ,true ,function (input,player,reject)
- if not input then return end
- if input:lower() == 'true' or input:lower() == 'yes' then
- return true
- else
- return false
- end
- end )
-
- :set_defaults{smiley=false }
-
- :set_defaults{
- amount = 50 , player = function (player)
- return player end
- }
-
- :set_flag('admin_only' ,true ) :add_alias('name' ,'rname' )
+
- :register(function (player,repeat_count,smiley,raw)
- game.print (player.name..' used a command with input: ' ..raw)
- local msg = ') ' ..player.name
- if smiley then
- msg = ':' ..msg
- end
- for 1 = 1 ,repeat_count do
- Command.print (1. .msg)
- end
- end )
+Commands.new_command('repeat-name' , 'Will repeat you name a number of times in chat.' )
- Commands.print (any,colour[opt]) Commands.error(message[opt]) return Commands.error(message[opt]) Commands.success(message[opt]) return Commands.success(message[opt]) return <any> if any value is returned then it will be returned to the player via a Commands.success call
+:add_param('repeat-count' , false , 'number-range-int' , 1 , 5 )
- Commands.new_command('repeat-name' ,'Will repeat you name a number of times in chat.' )
- :add_param('repeat-count' ,false ,'number-range-int' ,1 ,5 ) :add_param('smiley' ,true ,function (input,player,reject) if not input then return end
- if input:lower() == 'true' or input:lower() == 'yes' then
- return true
- else
- return false
- end
- end )
- :set_defaults{smiley=false }
- :set_flag('admin_only' ,true ) :add_alias('name' ,'rname' ) :register(function (player,repeat_count,smiley,raw)
- game.print (player.name..' used a command with input: ' ..raw)
- local msg = ') ' ..player.name
- if smiley then
- msg = ':' ..msg
- end
- for 1 = 1 ,repeat_count do
- Command.print (1. .msg)
- end
- end )
+:add_param('smiley' , true , function (input, player, reject)
+ if not input then return end
+ if input:lower() == 'true' or input:lower() == 'yes' then
+ return true
+ else
+ return false
+ end
+end )
+
+:set_defaults{smiley=false }
+
+:set_defaults{
+ amount = 50 , player = function (player)
+ return player end
+}
+
+:set_flag('admin_only' , true ) :add_alias('name' , 'rname' )
+:register(function (player, repeat_count, smiley, raw)
+ game.print (player.name..' used a command with input: ' ..raw)
+ local msg = ') ' ..player.name
+ if smiley then
+ msg = ':' ..msg
+ end
+ for 1 = 1 ,repeat_count do
+ Command.print (1. .msg)
+ end
+ end )
+
+Commands.print (any,colour[opt]) Commands.error(message[opt]) return Commands.error(message[opt]) Commands.success(message[opt]) return Commands.success(message[opt]) return <any>
+
+
+
+
+
+Commands.add_authenticator(function (player, command, flags, reject)
+ if flags.admin_only then
+ return player.admin or reject('This command is for admins only!' )
+ else
+ return true
+ end
+end )
+
+:add_param('repeat_count' , false , 'number-range-int' , 5 , 10 )
+
+
+input = Commands.parse('number-int' , input, player, reject)
+if not input then return end
+Commands.add_parse('number-range-int' ,function (input, player, reject, range_min, range_max)
+ local rtn = tonumber (input) and math .floor(tonumber (input)) or nil if not rtn or rtn < range_min or rtn > range_max then
+ return reject('Number entered is not in range: ' ..range_min..', ' ..range_max)
+ else
+ return rtn
+ end
+end )
@@ -449,6 +448,46 @@
+
+
+
+
+
+ defines
+ Values returned by the signal functions to cause the command system to react
+
+
+ commands
+ Custom command data will be stored here
+
+
+ authorization
+ Custom function are stored here which control who can use what commands
+
+
+ parse_functions
+ Used to store default functions which are common parse function such as player or number in range
+
+
+ _prototype
+ Used to store functions which gets added to new custom commands
+
+
+
+
+
+
+
+
+
+
+ authorization_fail_on_error
+ Set true to have authorize fail if a callback fails to run, more secure
+
+
+
+
+
@@ -475,11 +514,11 @@
get([player])
- Gets all commands that a player is allowed to use, game commands not included
+ Gets all commands that a player is allowed to use, game commands are not included
- search(keyword[, allowed_player])
- Searches command names and help messages to find possible commands, game commands included
+ search(keyword[, player])
+ Searches command names and help messages to find possible commands, game commands are included
@@ -491,8 +530,8 @@
add_parse(name, callback)
- Adds a parse function which can be called by name rather than callback (used in add_param)
- nb: this is not needed as you can use the callback directly this just allows it to be called by name
+ Adds a parse function which can be called by name (used in add_param)
+nb: this is not required as you can use the callback directly this just allows it to be called by name
remove_parse(name)
@@ -512,7 +551,7 @@
new_command(name, help)
- Creates a new command object to added details to, note this does not register the command to the game
+ Creates a new command object to added details to, note this does not register the command to the game api
Commands._prototype:add_param(name[, optional=false][, parse=pass function through][, ...])
@@ -520,26 +559,26 @@
Commands._prototype:set_defaults(defaults)
- Adds default values to params only matters if the param is optional, if default value is a function it is called with param player
+ Add default values to params, only as an effect if the param is optional, if default value is a function it is called with acting player
- Commands._prototype:set_flag(name, value)
+ Commands._prototype:set_flag(name[, value=true])
Adds a tag to the command which is passed via the flags param to the authenticators, can be used to assign command roles or type
Commands._prototype:add_alias(any)
- Adds an alias or multiple that will also be registered with the same callback, eg /teleport can be /tp with both working
+ Adds an alias, or multiple, that will also be registered with the same callback, eg /teleport can be used as /tp
Commands._prototype:enable_auto_concat()
Enables auto concatenation of any params on the end so quotes are not needed for last param
- nb: this will disable max param checking as they will be concatenated onto the end of that last param
- this can be useful for reasons or longs text, can only have one per command
+nb: this will disable max param checking as they will be concatenated onto the end of that last param
+this can be useful for reasons or longs text, can only have one per command
Commands._prototype:register(callback)
- Adds the callback to the command and registers all aliases, params and help message with the game
- nb: this must be the last function ran on the command and must be done for the command to work
+ Adds the callback to the command and registers all aliases, params and help message with the game api
+nb: this must be the last function ran on the command and must be done for the command to work
@@ -550,20 +589,23 @@
- error([error_message][, play_sound])
- Sends an error message to the player and returns a constant to return to command handler to exit execution
- nb: this is for non fatal errors meaning there is no log of this event
- nb: if reject is giving as a param to the callback use that instead
+ error([error_message=''][, play_sound=utility/wire_pickup])
+ Sends an error message to the player and when returned will stop exicution of the command
+nb: this is for non fatal errors meaning there is no log of this event, use during register callback
internal_error(success, command_name, error_message)
Sends an error to the player and logs the error, used with pcall within command handler please avoid direct use
- nb: use error(error_message) within your callback to trigger do not trigger directly as the handler may still continue
+nb: use error(error_message) within your callback to trigger do not trigger directly as code exictuion may still continue
success([value])
Sends a value to the player, followed by a command complete message
- nb: either return a value from your callback to trigger or return the return of this to prevent two messages
+nb: returning any value from your callback will trigger this function, return this function to prevent duplicate messages
+
+
+ print(value, colour)
+ Sends a value to the player, different to success as this does not signal the end of your command
run_command(command_event)
@@ -621,6 +663,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Values returned by the signal functions to cause the command system to react
+
+
+
+
Fields:
+
+
+
+
+
+
+
+
+
+ error
+
+
+
+
+
+
+
+
+
+
+
+
+
+ unauthorized
+
+
+
+
+
+
+
+
+
+
+
+
+
+ success
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Custom command data will be stored here
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Custom function are stored here which control who can use what commands
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Used to store default functions which are common parse function such as player or number in range
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Used to store functions which gets added to new custom commands
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Set true to have authorize fail if a callback fails to run, more secure
+
+
+
+
+
+
+
+
+
@@ -662,10 +921,6 @@
(
function )
the callback you want to register as an authenticator
- callback param - player: LuaPlayer - the player who is trying to use the command
- callback param - command: string - the name of the command which is being used
- callback param - flags: table - any flags which have been set for the command
- callback param - reject: function(error_message?: string) - call to fail authorize with optional error message
@@ -689,6 +944,16 @@
+
Usage:
+
local admin_authenticator =
+Commands.add_authenticator(function (player, command, flags, reject)
+ if flags.admin_only then
+ return player.admin or reject('This command is for admins only!' )
+ else
+ return true
+ end
+end )
@@ -736,7 +1001,7 @@
(boolean )
- was the callback found and removed
+ if the callback found and removed successfuly
@@ -746,6 +1011,9 @@
+
Usage:
+
Commands.remove_authenticator(admin_authenticator)
@@ -834,6 +1102,9 @@
+
Usage:
+
local authorized, status = Commands.authorize(game.player, 'repeat-name' )
@@ -850,7 +1121,7 @@
-
Gets all commands that a player is allowed to use, game commands not included
+
Gets all commands that a player is allowed to use, game commands are not included
@@ -895,6 +1166,11 @@
+
Usage:
+
local commands = Commands.get(game.player)
+
local commands = Commands.get()
@@ -902,13 +1178,13 @@
-
Searches command names and help messages to find possible commands, game commands included
+
Searches command names and help messages to find possible commands, game commands are included
@@ -928,7 +1204,7 @@
(
string )
- the word which you are trying to find
+ the word which you are trying to find in your search
@@ -938,7 +1214,7 @@
- allowed_player
+ player
:
@@ -969,6 +1245,11 @@
+ Usage:
+ local commands = Commands.search('repeat' )
+ local commands = Commands.search('repeat' , game.player)
@@ -985,8 +1266,8 @@
-
Adds a parse function which can be called by name rather than callback (used in add_param)
- nb: this is not needed as you can use the callback directly this just allows it to be called by name
+
Adds a parse function which can be called by name (used in add_param)
+nb: this is not required as you can use the callback directly this just allows it to be called by name
@@ -1023,10 +1304,6 @@
(
function )
the callback that is ran to parse the input
- parse param - input: string - the input given by the user for this param
- parse param - player: LuaPlayer - the player who is using the command
- parse param - reject: function(error_message) - use this function to send a error to the user and fail running
- parse return - the value that will be passed to the command callback, must not be nil and if reject then command is not run
@@ -1050,6 +1327,18 @@
+
Usage:
+
Commands.add_parse('number-range-int' , function (input, player, reject, range_min, range_max)
+ local rtn = tonumber (input) and math .floor(tonumber (input)) or nil if not rtn or rtn < range_min or rtn > range_max then
+ return reject('Number entered is not in range: ' ..range_min..', ' ..range_max)
+ else
+ return rtn
+ end
+end )
@@ -1100,6 +1389,9 @@
+
Usage:
+
Commands.remove_parse('number-range-int' )
@@ -1133,7 +1425,7 @@
(
string )
- the name of the parse to call, must be registered and cant be a function
+ the name of the parse to call, must be registered parse
@@ -1149,7 +1441,7 @@
(
string )
- string the input to pass to the parse, will always be a but might not be the original input
+ string the input to pass to the parse, must be a string but not necessarily the original input
@@ -1165,7 +1457,7 @@
(
LuaPlayer )
- the player that is calling using the command
+ the player that is using the command
@@ -1205,6 +1497,10 @@
+
Usage:
+
local parsed_input = Commands.parse('number-range-int' , '7' , player, reject, 1 , 10 )
@@ -1221,7 +1517,7 @@
-
Creates a new command object to added details to, note this does not register the command to the game
+
Creates a new command object to added details to, note this does not register the command to the game api
@@ -1281,6 +1577,10 @@
+
Usage:
+
local command =
+Commands.new_command('repeat-name' , 'Will repeat you name a number of times in chat.' )
@@ -1364,10 +1664,6 @@
extra args you want to pass to the parse function; for example if the parse is general use
- parse param - input: string - the input given by the user for this param
- parse param - player: LuaPlayer - the player who is using the command
- parse param - reject: function(error_message) - use this function to send a error to the user and fail running
- parse return - the value that will be passed to the command callback, must not be nil and if reject then command is not run
(
optional )
@@ -1392,6 +1688,14 @@
+
Usage:
+
command:add_param('repeat-count' , false , 'number-range-int' , 1 , 5 )
+
command:add_param('smiley' , true , function (input, player, reject)
+ if not input then return end
+ return input:lower() == 'true' or input:lower() == 'yes' or false
+end )
@@ -1405,7 +1709,7 @@
-
Adds default values to params only matters if the param is optional, if default value is a function it is called with param player
+
Add default values to params, only as an effect if the param is optional, if default value is a function it is called with acting player
@@ -1425,8 +1729,7 @@
(
table )
- table a keyed by the name of the param with the value as the default value {paramName=defaultValue}
- callback param - player: LuaPlayer - the player using the command, default value does not need to be a function callback
+ table which is keyed by the name of the param and the value is the default value
@@ -1450,6 +1753,15 @@
+
Usage:
+
command:set_defaults{
+ smiley = false ,
+ player_name = function (player)
+ return player.name
+ end
+}
@@ -1457,7 +1769,7 @@
@@ -1483,7 +1795,7 @@
(string )
- the name of the tag to be added; used to keep flags separate
+ the name of the tag to be added, set to true if no value is given
@@ -1500,8 +1812,8 @@
(any )
the tag that you want can be anything that the authenticators are expecting
- nb: if value is nil then name will be assumed as the value and added at a numbered index
+ (default : true)
@@ -1524,6 +1836,11 @@
+ Usage:
+ command:set_flag('admin_only' , true )
+ command:set_flag('admin_only' )
@@ -1537,7 +1854,7 @@
-
Adds an alias or multiple that will also be registered with the same callback, eg /teleport can be /tp with both working
+
Adds an alias, or multiple, that will also be registered with the same callback, eg /teleport can be used as /tp
@@ -1582,7 +1899,8 @@
Usage:
-
command:add_alias('aliasOne' ,'aliasTwo' ,'etc' )
+
command:add_alias('name' , 'rname' )
@@ -1597,8 +1915,8 @@
Enables auto concatenation of any params on the end so quotes are not needed for last param
- nb: this will disable max param checking as they will be concatenated onto the end of that last param
- this can be useful for reasons or longs text, can only have one per command
+nb: this will disable max param checking as they will be concatenated onto the end of that last param
+this can be useful for reasons or longs text, can only have one per command
@@ -1619,6 +1937,9 @@
+
Usage:
+
command:enable_auto_concat()
@@ -1632,8 +1953,8 @@
-
Adds the callback to the command and registers all aliases, params and help message with the game
- nb: this must be the last function ran on the command and must be done for the command to work
+
Adds the callback to the command and registers all aliases, params and help message with the game api
+nb: this must be the last function ran on the command and must be done for the command to work
@@ -1654,9 +1975,6 @@
(
function )
the callback for the command, will receive the player running command, and params added with add_param
- callback param - player: LuaPlayer - the player who used the command
- callback param - ... - any params which were registered with add_param in the order they where registered
- callback param - raw: string - the raw input from the user, comes after every param added with add_param
@@ -1673,6 +1991,16 @@
+
Usage:
+
command:register(function (player, repeat_count, smiley, _)
+ local msg = ') ' ..player.name
+ if smiley then msg = ':' ..msg end
+
+ for 1 = 1 ,repeat_count do
+ Command.print (1. .msg)
+ end
+end )
@@ -1683,15 +2011,14 @@
-
Sends an error message to the player and returns a constant to return to command handler to exit execution
- nb: this is for non fatal errors meaning there is no log of this event
- nb: if reject is giving as a param to the callback use that instead
+
Sends an error message to the player and when returned will stop exicution of the command
+nb: this is for non fatal errors meaning there is no log of this event, use during register callback
@@ -1713,7 +2040,7 @@
an optional error message that can be sent to the user
- (
optional )
+ (
default : '')
@@ -1730,7 +2057,7 @@
the sound to play for the error
- (
optional )
+ (
default : utility/wire_pickup)
@@ -1754,7 +2081,8 @@
Usage:
-
return Commands.error()
+
return Commands.error('The player you selected is offline' )
@@ -1769,7 +2097,7 @@
Sends an error to the player and logs the error, used with pcall within command handler please avoid direct use
- nb: use error(error_message) within your callback to trigger do not trigger directly as the handler may still continue
+nb: use error(error_message) within your callback to trigger do not trigger directly as code exictuion may still continue
@@ -1845,6 +2173,12 @@
+
Usage:
+
local success, err = pcall (command_data.callback, player, unpack(params))
+if Commands.internal_error(success, command_data.name, err) then
+ return command_log(player, command_data, 'Internal Error: Command Callback Fail' , raw_params, command_event.parameter, err)
+end
@@ -1859,7 +2193,7 @@
Sends a value to the player, followed by a command complete message
- nb: either return a value from your callback to trigger or return the return of this to prevent two messages
+nb: returning any value from your callback will trigger this function, return this function to prevent duplicate messages
@@ -1904,6 +2238,80 @@
+
Usage:
+
return Commands.success('Your message has been printed' )
+
return 'Your message has been printed'
+
+
+
+
+
+
+
+
+
+
+
Sends a value to the player, different to success as this does not signal the end of your command
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ value
+
+ :
+
+ (any )
+
+ the value that you want to return to the player
+
+
+
+
+
+
+
+
+
+ colour
+
+ :
+
+ (table )
+
+ the colour of the message that the player sees
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Usage:
+
Commands.print ('Your command is in progress' )
@@ -1954,6 +2362,8 @@
+
Usage:
+
Commands.run_command(event)
@@ -1972,7 +2382,7 @@
generated by LDoc
- Last updated 2019-10-15 22:37:40 UTC
+ Last updated 2020-03-31 23:28:20 UTC
diff --git a/docs/core/Common-Library.html b/docs/core/Common-Library.html
index 4206d114..8b86b626 100644
--- a/docs/core/Common-Library.html
+++ b/docs/core/Common-Library.html
@@ -42,7 +42,10 @@
Sections
@@ -50,13 +53,13 @@
Core
@@ -85,10 +88,12 @@
+
+
@@ -97,8 +102,10 @@
Guis
@@ -136,7 +143,6 @@
Configs
-
@@ -145,22 +151,23 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
@@ -169,18 +176,13 @@
Modules
-
-
-
-
+
+
+
+
-
-
-
-
-
@@ -203,7 +205,10 @@
Jump to Section
@@ -244,7 +249,7 @@
- resources.color_presets
+ utils.color_presets
utils.game
@@ -256,25 +261,77 @@
-
+
type_check(value[, test_type=nil])
- Compare types faster for faster validation of params
+ Asserts the argument is of type test_type
- type_check_error(value, test_type, error_message, level)
+ type_error(value, test_type, error_message, level)
Raises an error if the value is of the wrong type
- param_check(value, test_type, param_name, param_number)
+ multi_type_check(value, test_types)
+ Asserts the argument is one of type test_types
+
+
+ multi_type_error(value, test_types, error_message, level)
+ Raises an error if the value is of the wrong type
+
+
+ validate_argument_type(value, test_type, param_name, param_number)
Raises an error when the value is the incorrect type, uses a consistent error message format
- player_return(value[, colour=defines.colour.white][, player=game.player])
- Will return a value of any type to the player/server console, allows colour for in-game players
+ validate_argument_multi_type(value, test_types, param_name, param_number)
+ Raises an error when the value is the incorrect type, uses a consistent error message format
+
+
+ error_if_runtime()
+ Will raise an error if called during runtime
+
+
+ error_if_runetime_closure(func)
+ Will raise an error if the function is a closure
+
+
+
+
+
+
+
+
+
+
+ string_contains(s, contains)
+ Tests if a string contains a given substring.
+
+
+ resolve_value(value)
+ Used to resolve a value that could also be a function returning that value
+
+
+ get_actor()
+ Returns a valid string with the name of the actor of a command.
+
+
+ cast_bool(var)
+ Converts a varible into its boolean value, nil and false return false
+
+
+ ternary(c, t, f)
+ Returns either the second or third argument based on the first argument
+
+
+ comma_value(n)
+ Returns a string for a number with comma seperators
+
+
+ set_and_return(tbl, key, value)
+ Sets a table element to value while also returning value.
write_json(path, tbl)
@@ -285,8 +342,40 @@
Calls a require that will not error if the file is not found
- ext_require(path, ...)
- Calls a require and returns only the keys given, file must return a table
+ get_file_path([offset=0])
+ Returns a desync safe file path for the current file
+
+
+ enum(tbl)
+ Converts a table to an enum
+
+
+ auto_complete(options, input[, use_key=false][, rtn_key=false])
+ Returns the closest match to the input
+
+
+
+
+
+
+
+
+
+
+ format_chat_colour(message, color)
+ Returns a message with valid chat tags to change its colour
+
+
+ format_chat_colour_localized(message, color)
+ Returns a message with valid chat tags to change its colour, using localization
+
+
+ format_chat_player_name(player[, raw_string=false])
+ Returns the players name in the players color
+
+
+ player_return(value[, colour=defines.colour.white][, player=game.player])
+ Will return a value of any type to the player/server console, allows colour for in-game players
format_time(ticks, options)
@@ -296,6 +385,14 @@
string will return a string not a locale string
when a denomination is false it will overflow into the next one
+
+
+
+
+
+
+
+
move_items(items[, surface=navies][, position={0][, radius=32][, chest_type=iron-chest])
Moves items to the position and stores them in the closest entity of the type given
@@ -313,66 +410,6 @@
clear_flying_text(surface)
Clears all flying text entities on a surface
-
- string_contains(s, contains)
- Tests if a string contains a given substring.
-
-
- extract_keys(tbl, ...)
- Extracts certain keys from a table
-
-
- enum(tbl)
- Converts a table to an enum
-
-
- auto_complete(options, input[, use_key=false][, rtn_key=false])
- Returns the closest match to the input
-
-
- table_values(tbl[, sorted][, as_string])
- Returns a copy of all of the values in the table.
-
-
- table_keys(tbl[, sorted][, as_string])
- Returns a copy of all of the keys in the table.
-
-
- table_alphanumsort(tbl)
- Returns the list is a sorted way that would be expected by people (this is by key)
-
-
- table_keysort(tbl)
- Returns the list is a sorted way that would be expected by people (this is by key) (faster alternative than above)
-
-
- format_chat_colour(message, color)
- Returns a message with valid chat tags to change its colour
-
-
- format_chat_colour_localized(message, color)
- Returns a message with valid chat tags to change its colour, using localization
-
-
- format_chat_player_name(player[, raw_string=false])
- Returns the players name in the players color
-
-
- get_file_path([offset=0])
- Returns a desync safe file path for the current file
-
-
- array_insert(tbl[, start_index], values)
- Much faster method for inserting items into an array
-
-
- table_insert(tbl[, start_index], tbl2)
- Much faster method for inserting keys into a table
-
-
- resolve_value(value)
- Used to resolve a value that could also be a function returning that value
-
@@ -385,8 +422,8 @@
@@ -458,7 +495,7 @@
-
+
@@ -470,7 +507,7 @@
-
Compare types faster for faster validation of params
+
Asserts the argument is of type test_type
@@ -540,8 +577,8 @@
@@ -640,15 +677,193 @@
Usage:
- type_check_error('foo' ,'number' ,'Value must be a number' ) -- will raise error "Value must be a number"
+ type_error('foo' ,'number' ,'Value must be a number' ) -- will raise error "Value must be a number"
+
+
+
+
+
Asserts the argument is one of type test_types
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ value
+
+ :
+
+
+ the variable to check
+
+
+
+
+
+
+
+
+
+ test_types
+
+ :
+
+
+ the type as a table of strings
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (boolean )
+ true if value is one of test_types
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Raises an error if the value is of the wrong type
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ value
+
+ :
+
+ (any )
+
+ the value that you want to test the type of
+
+
+
+
+
+
+
+
+
+ test_types
+
+ :
+
+ (table )
+
+ the type as a table of strings
+
+
+
+
+
+
+
+
+
+ error_message
+
+ :
+
+ (string )
+
+ the error message that is returned
+
+
+
+
+
+
+
+
+
+ level
+
+ :
+
+ (number )
+
+ the level to call the error on (level = 1 means the caller)
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (boolean )
+ true if no error was called
+
+
+
+
+
+
+
+
+
+
Usage:
+
multi_type_error('foo' ,{'string' ,'table' },'Value must be a string or table' ) -- will raise error "Value must be a string or table"
+
+
+
+
+
+
@@ -747,21 +962,21 @@
Usage:
- param_check('foo' ,'number' ,'repeat_count' ,2 ) -- will raise error "Invalid param #02 given to <anon>; repeat_count is not of type number"
+ validate_argument_type('foo' ,'number' ,'repeat_count' ,2 ) -- will raise error "Bad argument #02 to " <anon>"; " repeat_count" is of type string expected number"
-
Will return a value of any type to the player/server console, allows colour for in-game players
+
Raises an error when the value is the incorrect type, uses a consistent error message format
@@ -779,8 +994,9 @@
:
+ (
any )
- any value of any type that will be returned to the player or console
+ the value that you want to test the type of
@@ -790,15 +1006,14 @@
- colour
+ test_types
:
- (defines.color or string )
+ (string )
- the colour of the text for the player, ignored when printing to console
+ the types that the value should be
- (default : defines.colour.white)
@@ -807,15 +1022,116 @@
- player
+ param_name
:
- (LuaPlayer )
+ (string )
+
+ the name of the param
+
+
+
+
+
+
+
+
+
+ param_number
+
+ :
+
+ (number )
+
+ the number param it is
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (boolean )
+ true if no error was raised
+
+
+
+
+
+
+
+
+
+
Usage:
+
validate_argument_type('foo' ,{'string' ,'table' },'repeat_count' ,2 ) -- will raise error "Bad argument #02 to " <anon>"; " repeat_count" is of type string expected string or table"
+
+
+
+
+
+
+
+
+
+
+
Will raise an error if called during runtime
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Usage:
+
error_if_runtime()
+
+
+
+
+
+
+
+
+
+
+
Will raise an error if the function is a closure
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ func
+
+
+
- the player that return will go to, if no game.player then returns to server
- (default : game.player)
@@ -832,9 +1148,445 @@
Usage:
- player_return('Hello, World!' ) -- returns 'Hello, World!' to game.player or server console
-
player_return('Hello, World!' ,'green' ) -- returns 'Hello, World!' to game.player with colour green or server console
-
player_return('Hello, World!' ,nil ,player) -- returns 'Hello, World!' to the given player
+
error_if_runetime_closure(func)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tests if a string contains a given substring.
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ s
+
+ :
+
+ (string )
+
+ the string to check for the substring
+
+
+
+
+
+
+
+
+
+ contains
+
+ :
+
+ (string )
+
+ the substring to test for
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (boolean )
+ true if the substring was found in the string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Used to resolve a value that could also be a function returning that value
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ value
+
+ :
+
+ (any )
+
+ the value which you want to test is not nil and if it is a function then call the function
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (any )
+ the value given or returned by value if it is a function
+
+
+
+
+
+
+
+
+
+
Usage:
+
local value = Common.resolve_value(self.defaut_value,self)
+
+
+
+
+
+
+
+
+
+
+
Returns a valid string with the name of the actor of a command.
+
+
+
+
+
+
+
Returns:
+
+
+ (string )
+ the name of the current actor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Converts a varible into its boolean value, nil and false return false
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ var
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (boolean )
+ the boolean form of the varible
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns either the second or third argument based on the first argument
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ c
+
+
+
+
+
+
+
+
+
+
+
+
+
+ t
+
+
+
+
+
+
+
+
+
+
+
+
+
+ f
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns a string for a number with comma seperators
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ n
+
+ :
+
+ (credit http )
+
+ //richard.warburton.it
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Sets a table element to value while also returning value.
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ tbl
+
+ :
+
+
+ table to change the element of
+
+
+
+
+
+
+
+
+
+ key
+
+ :
+
+
+ string
+
+
+
+
+
+
+
+
+
+ value
+
+ :
+
+
+ nil|boolean|number|string|table to set the element to
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+
+
+
+
+
+
@@ -965,14 +1717,14 @@
-
Calls a require and returns only the keys given, file must return a table
+
Returns a desync safe file path for the current file
@@ -986,29 +1738,71 @@
- path
+ offset
:
- (string )
+ (number )
- the path that you want to require
+ the offset in the stack to get, 0 is current file
+ (default : 0)
+
+
+
+
+
+
Returns:
+
+
+ (string )
+ the file path
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Converts a table to an enum
+
+
+
+
Parameters:
+
+
+
+
- ...
+ tbl
:
- (string )
+ (table )
- the name of the keys that you want returned
+ table the that will be converted
@@ -1021,18 +1815,433 @@
Returns:
- the keys in the order given
+ (table )
+ the new table that acts like an enum
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns the closest match to the input
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ options
+
+ :
+
+ (table )
+
+ table a of options for the auto complete
+
+
+
+
+
+
+
+
+
+ input
+
+ :
+
+ (string )
+
+ string the input that will be completed
+
+
+
+
+
+
+
+
+
+ use_key
+
+ :
+
+ (boolean )
+
+ when true the keys of options will be used as the options
+
+ (default : false)
+
+
+
+
+
+
+
+
+ rtn_key
+
+ :
+
+ (boolean )
+
+ when true the the key will be returned rather than the value
+
+ (default : false)
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ the list item found that matches the input
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns a message with valid chat tags to change its colour
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ message
+
+ :
+
+ (string )
+
+ the message that will be in the output
+
+
+
+
+
+
+
+
+
+ color
+
+ :
+
+ (table )
+
+ a color which contains r,g,b as its keys
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (string )
+ the message with the color tags included
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns a message with valid chat tags to change its colour, using localization
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ message
+
+ :
+
+ (string or table )
+
+ the message that will be in the output
+
+
+
+
+
+
+
+
+
+ color
+
+ :
+
+ (table )
+
+ a color which contains r,g,b as its keys
+
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (table )
+ the message with the color tags included
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Returns the players name in the players color
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ player
+
+ :
+
+ (LuaPlayer )
+
+ the player to use the name and color of
+
+
+
+
+
+
+
+
+
+ raw_string
+
+ :
+
+ (boolean )
+
+ when true a is returned rather than a localized string
+
+ (default : false)
+
+
+
+
+
+
+
+
+
Returns:
+
+
+ (table )
+ the players name with tags for the players color
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Will return a value of any type to the player/server console, allows colour for in-game players
+
+
+
+
Parameters:
+
+
+
+
+
+
+
+
+
+ value
+
+ :
+
+
+ any value of any type that will be returned to the player or console
+
+
+
+
+
+
+
+
+
+ colour
+
+ :
+
+ (defines.color or string )
+
+ the colour of the text for the player, ignored when printing to console
+
+ (default : defines.colour.white)
+
+
+
+
+
+
+
+
+ player
+
+ :
+
+ (LuaPlayer )
+
+ the player that return will go to, if no game.player then returns to server
+
+ (default : game.player)
+
+
+
+
+
+
+
+
+
+
+
Usage:
-
local extract, param_check = ext_require('expcore.common' ,'extract' ,'param_check' ) --- @dep expcore.common
+
player_return('Hello, World!' ) -- returns 'Hello, World!' to game.player or server console
+
player_return('Hello, World!' ,'green' ) -- returns 'Hello, World!' to game.player with colour green or server console
+
player_return('Hello, World!' ,nil ,player) -- returns 'Hello, World!' to the given player
@@ -1113,6 +2322,9 @@
+
+
+