From 89d52fc73b572d0888c84cd9d02e952461381529 Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Thu, 18 Apr 2019 22:24:10 +0100
Subject: [PATCH 1/9] Moved Files Around
---
.gitignore | 2 +
.vscode/settings.json | 31 ----------------
Boiler Print Module | 37 -------------------
README.md | 5 +++
config.ld | 3 --
.../Bot}/autoMessage/control.lua | 0
.../Bot}/autoMessage/locale/de.cfg | 0
.../Bot}/autoMessage/locale/en.cfg | 0
.../Bot}/autoMessage/locale/fr.cfg | 0
.../Bot}/autoMessage/locale/nl.cfg | 0
.../Bot}/autoMessage/locale/sv-SE.cfg | 0
.../Bot}/autoMessage/softmod.json | 0
.../Commands}/cheatMode/control.lua | 0
.../Commands}/cheatMode/softmod.json | 0
.../Commands}/kill/control.lua | 0
.../Commands}/kill/softmod.json | 0
.../Commands}/tags/control.lua | 0
.../Commands}/tags/softmod.json | 0
.../Commands}/teleport/control.lua | 0
.../Commands}/teleport/softmod.json | 0
.../Core}/Command/control.lua | 0
.../Core}/Command/softmod.json | 0
.../Core}/Group/config.lua | 0
.../Core}/Group/control.lua | 0
.../Core}/Group/softmod.json | 0
.../Core}/Role/config.lua | 0
.../Core}/Role/control.lua | 0
.../Core}/Role/locale/en.cfg | 0
.../Core}/Role/softmod.json | 0
.../Core}/Role/src/commands.lua | 0
.../Core}/Role/src/sync.lua | 0
.../ExpAdmin}/Ban/control.lua | 0
.../ExpAdmin}/Ban/softmod.json | 0
.../ExpAdmin}/Commands/control.lua | 0
.../ExpAdmin}/Commands/softmod.json | 0
.../ExpAdmin}/Commands/src/clear.lua | 0
.../ExpAdmin}/Commands/src/jail.lua | 0
.../ExpAdmin}/Commands/src/reports.lua | 0
.../ExpAdmin}/Commands/src/tempban.lua | 0
.../ExpAdmin}/Commands/src/warnings.lua | 0
.../ExpAdmin}/Jail/control.lua | 0
.../ExpAdmin}/Jail/softmod.json | 0
.../ExpAdmin}/Kick/control.lua | 0
.../ExpAdmin}/Kick/softmod.json | 0
.../ExpAdmin}/Reports/control.lua | 0
.../ExpAdmin}/Reports/softmod.json | 0
.../ExpAdmin}/Teleport/control.lua | 0
.../ExpAdmin}/Teleport/softmod.json | 0
.../ExpAdmin}/TempBan/control.lua | 0
.../ExpAdmin}/TempBan/softmod.json | 0
.../ExpAdmin}/Warnings/control.lua | 0
.../ExpAdmin}/Warnings/locale/de.cfg | 0
.../ExpAdmin}/Warnings/locale/en.cfg | 0
.../ExpAdmin}/Warnings/locale/fr.cfg | 0
.../ExpAdmin}/Warnings/locale/nl.cfg | 0
.../ExpAdmin}/Warnings/locale/sv-SE.cfg | 0
.../ExpAdmin}/Warnings/softmod.json | 0
57 files changed, 7 insertions(+), 71 deletions(-)
delete mode 100644 .vscode/settings.json
delete mode 100644 Boiler Print Module
delete mode 100644 config.ld
rename old/modules/{ExpGamingBot => DONE/Bot}/autoMessage/control.lua (100%)
rename old/modules/{ExpGamingBot => DONE/Bot}/autoMessage/locale/de.cfg (100%)
rename old/modules/{ExpGamingBot => DONE/Bot}/autoMessage/locale/en.cfg (100%)
rename old/modules/{ExpGamingBot => DONE/Bot}/autoMessage/locale/fr.cfg (100%)
rename old/modules/{ExpGamingBot => DONE/Bot}/autoMessage/locale/nl.cfg (100%)
rename old/modules/{ExpGamingBot => DONE/Bot}/autoMessage/locale/sv-SE.cfg (100%)
rename old/modules/{ExpGamingBot => DONE/Bot}/autoMessage/softmod.json (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/cheatMode/control.lua (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/cheatMode/softmod.json (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/kill/control.lua (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/kill/softmod.json (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/tags/control.lua (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/tags/softmod.json (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/teleport/control.lua (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/teleport/softmod.json (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Command/control.lua (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Command/softmod.json (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Group/config.lua (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Group/control.lua (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Group/softmod.json (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Role/config.lua (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Role/control.lua (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Role/locale/en.cfg (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Role/softmod.json (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Role/src/commands.lua (100%)
rename old/modules/{ExpGamingCore => DONE/Core}/Role/src/sync.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Ban/control.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Ban/softmod.json (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Commands/control.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Commands/softmod.json (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Commands/src/clear.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Commands/src/jail.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Commands/src/reports.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Commands/src/tempban.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Commands/src/warnings.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Jail/control.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Jail/softmod.json (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Kick/control.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Kick/softmod.json (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Reports/control.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Reports/softmod.json (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Teleport/control.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Teleport/softmod.json (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/TempBan/control.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/TempBan/softmod.json (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Warnings/control.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Warnings/locale/de.cfg (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Warnings/locale/en.cfg (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Warnings/locale/fr.cfg (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Warnings/locale/nl.cfg (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Warnings/locale/sv-SE.cfg (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/Warnings/softmod.json (100%)
diff --git a/.gitignore b/.gitignore
index 290c8014..4cf9699f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -83,3 +83,5 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk
+
+#*.vscode
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 2e87afff..00000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "cSpell.enabledLanguageIds": [
- "asciidoc",
- "c",
- "cpp",
- "csharp",
- "css",
- "go",
- "handlebars",
- "html",
- "jade",
- "javascript",
- "javascriptreact",
- "json",
- "latex",
- "less",
- "lua",
- "markdown",
- "php",
- "plaintext",
- "pub",
- "python",
- "restructuredtext",
- "rust",
- "scss",
- "text",
- "typescript",
- "typescriptreact",
- "yml"
- ]
-}
\ No newline at end of file
diff --git a/Boiler Print Module b/Boiler Print Module
deleted file mode 100644
index b53932ae..00000000
--- a/Boiler Print Module
+++ /dev/null
@@ -1,37 +0,0 @@
---- Desction
--- @module ThisModule@X.Y.Z
--- @author
--- @license
--- @alias ThisModule
-
--- Module Require
-local Module = require('Module')
-local SubModule = require('Collection.Submodule')
-local OptModule -- OptModule@^X.Y.Z
-
--- Local Variables
-
--- Module Define
-local module_verbose = false
-local ThisModule = {
- on_init=function(self)
- if loaded_modules['OptModule'] then OptModule = require('OptModule') end
- if loaded_modules['OptModule2'] then require(module_path..'/src/module2',{self=self}) end
- --code
- end,
- on_post=function()
- --code
- end
-}
-
--- Global Define
-local global = global{
- key='value'
-}
-
--- Function Define
-
--- Event Handlers Define
-
--- Module Return
-return ThisModule
\ No newline at end of file
diff --git a/README.md b/README.md
index 06976858..ecec858d 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,10 @@
ExpGaming Scenario Repository
+Out Dated; Will be updated in the future
+
#### Use and Installation
+
* Download the git repo
* Move files into the scenario folder (C:\Users\User\AppData\Roaming\Factorio\scenarios\ExpGamingScenario)
* Make edits to role and group configs as well as any other configs that you want
@@ -30,9 +33,11 @@
* All modules will be loaded if you have not removed any, any problems see log file
#### Creation of new modules
+
* Please see [FactorioSoftmodManager](https://github.com/explosivegaming/FactorioSoftmodManager) for making new modules
#### Forks and Pull Requests
+
* We are happy for people to make pull requests if you wish to help make our server better
* Your server is a community server, it is all about the people and feedback is good
* Dont be afraid to make a pull request as if it fixes something then its a good change
\ No newline at end of file
diff --git a/config.ld b/config.ld
deleted file mode 100644
index c79db209..00000000
--- a/config.ld
+++ /dev/null
@@ -1,3 +0,0 @@
-new_type('command','Commands',false,'param')
-new_type('event','Events',false,'field')
-new_type('gui','Guis')
\ No newline at end of file
diff --git a/old/modules/ExpGamingBot/autoMessage/control.lua b/old/modules/DONE/Bot/autoMessage/control.lua
similarity index 100%
rename from old/modules/ExpGamingBot/autoMessage/control.lua
rename to old/modules/DONE/Bot/autoMessage/control.lua
diff --git a/old/modules/ExpGamingBot/autoMessage/locale/de.cfg b/old/modules/DONE/Bot/autoMessage/locale/de.cfg
similarity index 100%
rename from old/modules/ExpGamingBot/autoMessage/locale/de.cfg
rename to old/modules/DONE/Bot/autoMessage/locale/de.cfg
diff --git a/old/modules/ExpGamingBot/autoMessage/locale/en.cfg b/old/modules/DONE/Bot/autoMessage/locale/en.cfg
similarity index 100%
rename from old/modules/ExpGamingBot/autoMessage/locale/en.cfg
rename to old/modules/DONE/Bot/autoMessage/locale/en.cfg
diff --git a/old/modules/ExpGamingBot/autoMessage/locale/fr.cfg b/old/modules/DONE/Bot/autoMessage/locale/fr.cfg
similarity index 100%
rename from old/modules/ExpGamingBot/autoMessage/locale/fr.cfg
rename to old/modules/DONE/Bot/autoMessage/locale/fr.cfg
diff --git a/old/modules/ExpGamingBot/autoMessage/locale/nl.cfg b/old/modules/DONE/Bot/autoMessage/locale/nl.cfg
similarity index 100%
rename from old/modules/ExpGamingBot/autoMessage/locale/nl.cfg
rename to old/modules/DONE/Bot/autoMessage/locale/nl.cfg
diff --git a/old/modules/ExpGamingBot/autoMessage/locale/sv-SE.cfg b/old/modules/DONE/Bot/autoMessage/locale/sv-SE.cfg
similarity index 100%
rename from old/modules/ExpGamingBot/autoMessage/locale/sv-SE.cfg
rename to old/modules/DONE/Bot/autoMessage/locale/sv-SE.cfg
diff --git a/old/modules/ExpGamingBot/autoMessage/softmod.json b/old/modules/DONE/Bot/autoMessage/softmod.json
similarity index 100%
rename from old/modules/ExpGamingBot/autoMessage/softmod.json
rename to old/modules/DONE/Bot/autoMessage/softmod.json
diff --git a/old/modules/ExpGamingCommands/cheatMode/control.lua b/old/modules/DONE/Commands/cheatMode/control.lua
similarity index 100%
rename from old/modules/ExpGamingCommands/cheatMode/control.lua
rename to old/modules/DONE/Commands/cheatMode/control.lua
diff --git a/old/modules/ExpGamingCommands/cheatMode/softmod.json b/old/modules/DONE/Commands/cheatMode/softmod.json
similarity index 100%
rename from old/modules/ExpGamingCommands/cheatMode/softmod.json
rename to old/modules/DONE/Commands/cheatMode/softmod.json
diff --git a/old/modules/ExpGamingCommands/kill/control.lua b/old/modules/DONE/Commands/kill/control.lua
similarity index 100%
rename from old/modules/ExpGamingCommands/kill/control.lua
rename to old/modules/DONE/Commands/kill/control.lua
diff --git a/old/modules/ExpGamingCommands/kill/softmod.json b/old/modules/DONE/Commands/kill/softmod.json
similarity index 100%
rename from old/modules/ExpGamingCommands/kill/softmod.json
rename to old/modules/DONE/Commands/kill/softmod.json
diff --git a/old/modules/ExpGamingCommands/tags/control.lua b/old/modules/DONE/Commands/tags/control.lua
similarity index 100%
rename from old/modules/ExpGamingCommands/tags/control.lua
rename to old/modules/DONE/Commands/tags/control.lua
diff --git a/old/modules/ExpGamingCommands/tags/softmod.json b/old/modules/DONE/Commands/tags/softmod.json
similarity index 100%
rename from old/modules/ExpGamingCommands/tags/softmod.json
rename to old/modules/DONE/Commands/tags/softmod.json
diff --git a/old/modules/ExpGamingCommands/teleport/control.lua b/old/modules/DONE/Commands/teleport/control.lua
similarity index 100%
rename from old/modules/ExpGamingCommands/teleport/control.lua
rename to old/modules/DONE/Commands/teleport/control.lua
diff --git a/old/modules/ExpGamingCommands/teleport/softmod.json b/old/modules/DONE/Commands/teleport/softmod.json
similarity index 100%
rename from old/modules/ExpGamingCommands/teleport/softmod.json
rename to old/modules/DONE/Commands/teleport/softmod.json
diff --git a/old/modules/ExpGamingCore/Command/control.lua b/old/modules/DONE/Core/Command/control.lua
similarity index 100%
rename from old/modules/ExpGamingCore/Command/control.lua
rename to old/modules/DONE/Core/Command/control.lua
diff --git a/old/modules/ExpGamingCore/Command/softmod.json b/old/modules/DONE/Core/Command/softmod.json
similarity index 100%
rename from old/modules/ExpGamingCore/Command/softmod.json
rename to old/modules/DONE/Core/Command/softmod.json
diff --git a/old/modules/ExpGamingCore/Group/config.lua b/old/modules/DONE/Core/Group/config.lua
similarity index 100%
rename from old/modules/ExpGamingCore/Group/config.lua
rename to old/modules/DONE/Core/Group/config.lua
diff --git a/old/modules/ExpGamingCore/Group/control.lua b/old/modules/DONE/Core/Group/control.lua
similarity index 100%
rename from old/modules/ExpGamingCore/Group/control.lua
rename to old/modules/DONE/Core/Group/control.lua
diff --git a/old/modules/ExpGamingCore/Group/softmod.json b/old/modules/DONE/Core/Group/softmod.json
similarity index 100%
rename from old/modules/ExpGamingCore/Group/softmod.json
rename to old/modules/DONE/Core/Group/softmod.json
diff --git a/old/modules/ExpGamingCore/Role/config.lua b/old/modules/DONE/Core/Role/config.lua
similarity index 100%
rename from old/modules/ExpGamingCore/Role/config.lua
rename to old/modules/DONE/Core/Role/config.lua
diff --git a/old/modules/ExpGamingCore/Role/control.lua b/old/modules/DONE/Core/Role/control.lua
similarity index 100%
rename from old/modules/ExpGamingCore/Role/control.lua
rename to old/modules/DONE/Core/Role/control.lua
diff --git a/old/modules/ExpGamingCore/Role/locale/en.cfg b/old/modules/DONE/Core/Role/locale/en.cfg
similarity index 100%
rename from old/modules/ExpGamingCore/Role/locale/en.cfg
rename to old/modules/DONE/Core/Role/locale/en.cfg
diff --git a/old/modules/ExpGamingCore/Role/softmod.json b/old/modules/DONE/Core/Role/softmod.json
similarity index 100%
rename from old/modules/ExpGamingCore/Role/softmod.json
rename to old/modules/DONE/Core/Role/softmod.json
diff --git a/old/modules/ExpGamingCore/Role/src/commands.lua b/old/modules/DONE/Core/Role/src/commands.lua
similarity index 100%
rename from old/modules/ExpGamingCore/Role/src/commands.lua
rename to old/modules/DONE/Core/Role/src/commands.lua
diff --git a/old/modules/ExpGamingCore/Role/src/sync.lua b/old/modules/DONE/Core/Role/src/sync.lua
similarity index 100%
rename from old/modules/ExpGamingCore/Role/src/sync.lua
rename to old/modules/DONE/Core/Role/src/sync.lua
diff --git a/old/modules/ExpGamingAdmin/Ban/control.lua b/old/modules/DONE/ExpAdmin/Ban/control.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Ban/control.lua
rename to old/modules/DONE/ExpAdmin/Ban/control.lua
diff --git a/old/modules/ExpGamingAdmin/Ban/softmod.json b/old/modules/DONE/ExpAdmin/Ban/softmod.json
similarity index 100%
rename from old/modules/ExpGamingAdmin/Ban/softmod.json
rename to old/modules/DONE/ExpAdmin/Ban/softmod.json
diff --git a/old/modules/ExpGamingAdmin/Commands/control.lua b/old/modules/DONE/ExpAdmin/Commands/control.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Commands/control.lua
rename to old/modules/DONE/ExpAdmin/Commands/control.lua
diff --git a/old/modules/ExpGamingAdmin/Commands/softmod.json b/old/modules/DONE/ExpAdmin/Commands/softmod.json
similarity index 100%
rename from old/modules/ExpGamingAdmin/Commands/softmod.json
rename to old/modules/DONE/ExpAdmin/Commands/softmod.json
diff --git a/old/modules/ExpGamingAdmin/Commands/src/clear.lua b/old/modules/DONE/ExpAdmin/Commands/src/clear.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Commands/src/clear.lua
rename to old/modules/DONE/ExpAdmin/Commands/src/clear.lua
diff --git a/old/modules/ExpGamingAdmin/Commands/src/jail.lua b/old/modules/DONE/ExpAdmin/Commands/src/jail.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Commands/src/jail.lua
rename to old/modules/DONE/ExpAdmin/Commands/src/jail.lua
diff --git a/old/modules/ExpGamingAdmin/Commands/src/reports.lua b/old/modules/DONE/ExpAdmin/Commands/src/reports.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Commands/src/reports.lua
rename to old/modules/DONE/ExpAdmin/Commands/src/reports.lua
diff --git a/old/modules/ExpGamingAdmin/Commands/src/tempban.lua b/old/modules/DONE/ExpAdmin/Commands/src/tempban.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Commands/src/tempban.lua
rename to old/modules/DONE/ExpAdmin/Commands/src/tempban.lua
diff --git a/old/modules/ExpGamingAdmin/Commands/src/warnings.lua b/old/modules/DONE/ExpAdmin/Commands/src/warnings.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Commands/src/warnings.lua
rename to old/modules/DONE/ExpAdmin/Commands/src/warnings.lua
diff --git a/old/modules/ExpGamingAdmin/Jail/control.lua b/old/modules/DONE/ExpAdmin/Jail/control.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Jail/control.lua
rename to old/modules/DONE/ExpAdmin/Jail/control.lua
diff --git a/old/modules/ExpGamingAdmin/Jail/softmod.json b/old/modules/DONE/ExpAdmin/Jail/softmod.json
similarity index 100%
rename from old/modules/ExpGamingAdmin/Jail/softmod.json
rename to old/modules/DONE/ExpAdmin/Jail/softmod.json
diff --git a/old/modules/ExpGamingAdmin/Kick/control.lua b/old/modules/DONE/ExpAdmin/Kick/control.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Kick/control.lua
rename to old/modules/DONE/ExpAdmin/Kick/control.lua
diff --git a/old/modules/ExpGamingAdmin/Kick/softmod.json b/old/modules/DONE/ExpAdmin/Kick/softmod.json
similarity index 100%
rename from old/modules/ExpGamingAdmin/Kick/softmod.json
rename to old/modules/DONE/ExpAdmin/Kick/softmod.json
diff --git a/old/modules/ExpGamingAdmin/Reports/control.lua b/old/modules/DONE/ExpAdmin/Reports/control.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Reports/control.lua
rename to old/modules/DONE/ExpAdmin/Reports/control.lua
diff --git a/old/modules/ExpGamingAdmin/Reports/softmod.json b/old/modules/DONE/ExpAdmin/Reports/softmod.json
similarity index 100%
rename from old/modules/ExpGamingAdmin/Reports/softmod.json
rename to old/modules/DONE/ExpAdmin/Reports/softmod.json
diff --git a/old/modules/ExpGamingAdmin/Teleport/control.lua b/old/modules/DONE/ExpAdmin/Teleport/control.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Teleport/control.lua
rename to old/modules/DONE/ExpAdmin/Teleport/control.lua
diff --git a/old/modules/ExpGamingAdmin/Teleport/softmod.json b/old/modules/DONE/ExpAdmin/Teleport/softmod.json
similarity index 100%
rename from old/modules/ExpGamingAdmin/Teleport/softmod.json
rename to old/modules/DONE/ExpAdmin/Teleport/softmod.json
diff --git a/old/modules/ExpGamingAdmin/TempBan/control.lua b/old/modules/DONE/ExpAdmin/TempBan/control.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/TempBan/control.lua
rename to old/modules/DONE/ExpAdmin/TempBan/control.lua
diff --git a/old/modules/ExpGamingAdmin/TempBan/softmod.json b/old/modules/DONE/ExpAdmin/TempBan/softmod.json
similarity index 100%
rename from old/modules/ExpGamingAdmin/TempBan/softmod.json
rename to old/modules/DONE/ExpAdmin/TempBan/softmod.json
diff --git a/old/modules/ExpGamingAdmin/Warnings/control.lua b/old/modules/DONE/ExpAdmin/Warnings/control.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/Warnings/control.lua
rename to old/modules/DONE/ExpAdmin/Warnings/control.lua
diff --git a/old/modules/ExpGamingAdmin/Warnings/locale/de.cfg b/old/modules/DONE/ExpAdmin/Warnings/locale/de.cfg
similarity index 100%
rename from old/modules/ExpGamingAdmin/Warnings/locale/de.cfg
rename to old/modules/DONE/ExpAdmin/Warnings/locale/de.cfg
diff --git a/old/modules/ExpGamingAdmin/Warnings/locale/en.cfg b/old/modules/DONE/ExpAdmin/Warnings/locale/en.cfg
similarity index 100%
rename from old/modules/ExpGamingAdmin/Warnings/locale/en.cfg
rename to old/modules/DONE/ExpAdmin/Warnings/locale/en.cfg
diff --git a/old/modules/ExpGamingAdmin/Warnings/locale/fr.cfg b/old/modules/DONE/ExpAdmin/Warnings/locale/fr.cfg
similarity index 100%
rename from old/modules/ExpGamingAdmin/Warnings/locale/fr.cfg
rename to old/modules/DONE/ExpAdmin/Warnings/locale/fr.cfg
diff --git a/old/modules/ExpGamingAdmin/Warnings/locale/nl.cfg b/old/modules/DONE/ExpAdmin/Warnings/locale/nl.cfg
similarity index 100%
rename from old/modules/ExpGamingAdmin/Warnings/locale/nl.cfg
rename to old/modules/DONE/ExpAdmin/Warnings/locale/nl.cfg
diff --git a/old/modules/ExpGamingAdmin/Warnings/locale/sv-SE.cfg b/old/modules/DONE/ExpAdmin/Warnings/locale/sv-SE.cfg
similarity index 100%
rename from old/modules/ExpGamingAdmin/Warnings/locale/sv-SE.cfg
rename to old/modules/DONE/ExpAdmin/Warnings/locale/sv-SE.cfg
diff --git a/old/modules/ExpGamingAdmin/Warnings/softmod.json b/old/modules/DONE/ExpAdmin/Warnings/softmod.json
similarity index 100%
rename from old/modules/ExpGamingAdmin/Warnings/softmod.json
rename to old/modules/DONE/ExpAdmin/Warnings/softmod.json
From 2e017dbb706ab1e1efd30c7cbc24caf516d275ed Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Thu, 18 Apr 2019 22:44:17 +0100
Subject: [PATCH 2/9] Added go-to-spawn and clear-inventory
---
.gitignore | 2 +-
locale/en/commands.cfg | 3 +-
modules/addons/jail-control.lua | 1 +
modules/commands/clear-inventory.lua | 12 ++++++
modules/commands/spawn.lua | 38 +++++++++++++++++++
.../ExpAdmin}/ClearInventory/control.lua | 0
.../ExpAdmin}/ClearInventory/softmod.json | 0
7 files changed, 54 insertions(+), 2 deletions(-)
create mode 100644 modules/commands/clear-inventory.lua
create mode 100644 modules/commands/spawn.lua
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/ClearInventory/control.lua (100%)
rename old/modules/{ExpGamingAdmin => DONE/ExpAdmin}/ClearInventory/softmod.json (100%)
diff --git a/.gitignore b/.gitignore
index 4cf9699f..697e15f8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -84,4 +84,4 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk
-#*.vscode
\ No newline at end of file
+*.vscode
\ No newline at end of file
diff --git a/locale/en/commands.cfg b/locale/en/commands.cfg
index 182899f8..b35ff51f 100644
--- a/locale/en/commands.cfg
+++ b/locale/en/commands.cfg
@@ -33,4 +33,5 @@ warnings-received=__1__ recived a warning from __2__ for __3__.
warnings-player=__1__ has __2__ warnings and __3__/__4__ script warnings.
warnings-list-tilte=The following player have this many warnings (and this many script warnings):
warnings-list=__1__: __2__ (__3__/__4__)
-warnings-cleared=__1__ had all they warnings cleared by __2__.
\ No newline at end of file
+warnings-cleared=__1__ had all they warnings cleared by __2__.
+spawn-unavailable=They was a problem getting you to spawn, please try again later.
\ No newline at end of file
diff --git a/modules/addons/jail-control.lua b/modules/addons/jail-control.lua
index a65d6c2e..7e4aa526 100644
--- a/modules/addons/jail-control.lua
+++ b/modules/addons/jail-control.lua
@@ -11,6 +11,7 @@ local Public = {
player_temp_banned=script.generate_event_name(),
player_clear_temp_ban=script.generate_event_name()
}
+
Global.register({
Public.old_roles,
Public.temp_bans
diff --git a/modules/commands/clear-inventory.lua b/modules/commands/clear-inventory.lua
new file mode 100644
index 00000000..28fd9d35
--- /dev/null
+++ b/modules/commands/clear-inventory.lua
@@ -0,0 +1,12 @@
+local Commands = 'expcore.commands'
+local move_items = ext_require('expcore.common','move_items')
+require 'config.command_parse_roles'
+
+Commands.new_command('clear-inventory','Clears a players inventory')
+:add_param('player',false,'player-role-alive')
+:add_alias('clear-inv','move-inventory','move-inv')
+:register(function(player,action_player)
+ local inv = action_player.get_main_inventory()
+ move_items(inv.get_contents())
+ inv.clear()
+end)
\ No newline at end of file
diff --git a/modules/commands/spawn.lua b/modules/commands/spawn.lua
new file mode 100644
index 00000000..0b923222
--- /dev/null
+++ b/modules/commands/spawn.lua
@@ -0,0 +1,38 @@
+local Commands = require 'expcore.commands'
+local Roles = require 'expcore.roles'
+
+local function teleport(player)
+ local surface = player.surface
+ local spawn = player.force.get_spawn_position(surface)
+ local position = surface.find_non_colliding_position('player',spawn,32,1)
+ if not position then return false end
+ if player.driving then player.driving = false end -- kicks a player out a vehicle if in one
+ player.teleport(position,surface)
+ return true
+end
+
+Commands.new_command('go-to-spawn','Teleport to spawn')
+:add_param('player',true,'player-role-alive')
+:add_defaults{
+ player=function(player)
+ if player.connected and player.character and player.character.health > 0 then
+ return player
+ end
+ end
+}
+:add_alias('spawn','tp-spawn')
+:register(function(player,action_player)
+ if not action_player then
+ return Commands.error{'exp-commands.spawn-unavailable'}
+ elseif action_player == player then
+ if not teleport(player) then
+ return Commands.error{'exp-commands.spawn-unavailable'}
+ end
+ elseif Roles.player_allowed(player,'command/go-to-spawn/always') then
+ if not teleport(action_player) then
+ return Commands.error{'exp-commands.spawn-unavailable'}
+ end
+ else
+ return Commands.error{'expcore-commands.unauthorized'}
+ end
+end)
\ No newline at end of file
diff --git a/old/modules/ExpGamingAdmin/ClearInventory/control.lua b/old/modules/DONE/ExpAdmin/ClearInventory/control.lua
similarity index 100%
rename from old/modules/ExpGamingAdmin/ClearInventory/control.lua
rename to old/modules/DONE/ExpAdmin/ClearInventory/control.lua
diff --git a/old/modules/ExpGamingAdmin/ClearInventory/softmod.json b/old/modules/DONE/ExpAdmin/ClearInventory/softmod.json
similarity index 100%
rename from old/modules/ExpGamingAdmin/ClearInventory/softmod.json
rename to old/modules/DONE/ExpAdmin/ClearInventory/softmod.json
From 652fb42ec9782eb4c40e9ca9966d3df83f5caead Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Thu, 18 Apr 2019 23:05:25 +0100
Subject: [PATCH 3/9] Added repair
---
config/repair.lua | 13 +++++++++++++
modules/commands/repair.lua | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 50 insertions(+)
create mode 100644 config/repair.lua
create mode 100644 modules/commands/repair.lua
diff --git a/config/repair.lua b/config/repair.lua
new file mode 100644
index 00000000..dd58d8be
--- /dev/null
+++ b/config/repair.lua
@@ -0,0 +1,13 @@
+return {
+ disallow = {
+ ['loader']=true,
+ ['fast-loader']=true,
+ ['express-loader']=true,
+ ['electric-energy-interface']=true,
+ ['infinity-chest']=true
+ },
+ max_range=50,
+ allow_blueprint_repair=false,
+ allow_ghost_revive=true,
+ allow_heal_entities=true
+}
\ No newline at end of file
diff --git a/modules/commands/repair.lua b/modules/commands/repair.lua
new file mode 100644
index 00000000..786abdde
--- /dev/null
+++ b/modules/commands/repair.lua
@@ -0,0 +1,37 @@
+local Commands = require 'expcore.commands'
+local config = require 'config.repair'
+require 'config.command_parse_general'
+
+local max_time_to_live = 4294967295 -- unit32 max
+Commands.new_command('repair','Repairs entities on your force around you')
+:add_param('range',false,'integer-range',1,config.max_range)
+:register(function(player,range,raw)
+ local range2 = range^2
+ local surface = player.surface
+ local center = player.position
+ local area = {{x=center.x-range,y=center.y-range},{x=center.x+range,y=center.y+range}}
+ if config.allow_ghost_revive then
+ local ghosts = surface.find_entities_filtered({area=area,type='entity-ghost',force=player.force})
+ for _,ghost in pairs(ghosts) do
+ if ghost.valid and entity.force == player.force then
+ local x = ghost.position.x-center.x
+ local y = ghost.position.y-center.y
+ if x^2+y^2 <= range2 then
+ if config.allow_blueprint_repair or ghost.time_to_live ~= max_time_to_live then
+ ghost.revive()
+ end
+ end
+ end
+ end
+ end
+ if config.allow_heal_entities then
+ local entities = surface.find_entities_filtered({area=area,force=player.force})
+ for _,entity in pairs(entities) do
+ local x = entity.position.x-center.x
+ local y = entity.position.y-center.y
+ if entity.health and x^2+y^2 <= range2 then
+ entity.health = max_time_to_live
+ end
+ end
+ end
+end)
\ No newline at end of file
From 6af7bc10745b2cbe2bc6642b771fed371e754e4b Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Thu, 18 Apr 2019 23:20:19 +0100
Subject: [PATCH 4/9] Added Player Auto Color
---
config/preset_player_colours.lua | 36 +++++++++++++++++++
modules/addons/random-player-colours.lua | 27 ++++++++++++++
.../Commands}/repair/control.lua | 0
.../Commands}/repair/softmod.json | 0
.../Commands}/repair/src/tempban.lua | 0
.../{ => DONE}/PlayerAutoColor/control.lua | 0
.../{ => DONE}/PlayerAutoColor/softmod.json | 0
7 files changed, 63 insertions(+)
create mode 100644 config/preset_player_colours.lua
create mode 100644 modules/addons/random-player-colours.lua
rename old/modules/{ExpGamingCommands => DONE/Commands}/repair/control.lua (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/repair/softmod.json (100%)
rename old/modules/{ExpGamingCommands => DONE/Commands}/repair/src/tempban.lua (100%)
rename old/modules/{ => DONE}/PlayerAutoColor/control.lua (100%)
rename old/modules/{ => DONE}/PlayerAutoColor/softmod.json (100%)
diff --git a/config/preset_player_colours.lua b/config/preset_player_colours.lua
new file mode 100644
index 00000000..8a15069e
--- /dev/null
+++ b/config/preset_player_colours.lua
@@ -0,0 +1,36 @@
+return {
+ players={
+ BADgamerNL={r=255,g=20,b=147},
+ arty714={r=150,g=68,b=161},
+ Cooldude2606={r=57,g=192,b=207},
+ mark9064={r=99,g=0,b=255},
+ eissturm={r=25,g=25,b=112},
+ Sakama={r=20,g=213,b=80},
+ Sakama={r=20,g=213,b=80},
+ freek18={r=50,g=0,b=255},
+ aldldl={r=0,g=131,b=255},
+ NAD4X4={r=135,g=206,b=250},
+ cydes={r=82,g=249,b=155},
+ UUBlueFire={r=0,g=204,b=255}
+ },
+ disallow = { -- the value does not matter it is only the key which is checked
+ black = {r = 0, g = 0, b = 0},
+ white = {r = 255, g = 255, b = 255},
+ jailed = {r = 255, g = 255, b = 255},
+ probation = {r = 255, g = 255, b = 255},
+ guest = {r = 255, g = 255, b = 255},
+ auto_trusted = {r = 192, g = 192, b = 192},
+ regular = {r = 0.155, g = 0.540, b = 0.898},
+ admin = {r = 0.093, g = 0.768, b = 0.172},
+ donator = {r = 172.6, g = 70.2, b = 215.8},
+ [-10] = {r = 255, g = 255, b = 255},
+ [0] = {r = 255, g = 255, b = 255},
+ [10] = {r = 192, g = 192, b = 192},
+ [20] = {r = 0.155, g = 0.540, b = 0.898},
+ [30] = {r = 0.093, g = 0.768, b = 0.172},
+ success = {r = 0, g = 255, b = 0},
+ warning = {r = 255, g = 255, b = 0},
+ fail = {r = 255, g = 0, b = 0},
+ info = {r = 255, g = 255, b = 255}
+ }
+}
\ No newline at end of file
diff --git a/modules/addons/random-player-colours.lua b/modules/addons/random-player-colours.lua
new file mode 100644
index 00000000..df5b190b
--- /dev/null
+++ b/modules/addons/random-player-colours.lua
@@ -0,0 +1,27 @@
+local Colours = require 'resources.colour_presets'
+local Game = require 'utils.game'
+local Event = require 'utils.events'
+local config = require 'config.preset_player_colours'
+local Global = require 'utils.global'
+require 'utils.table'
+
+Global.reigster(config,function(tbl)
+ config = tbl
+end)
+
+local white = Colours.white
+local black = Colours.black
+Event.add(defines.events.on_player_created,function(event)
+ local color = 'white'
+ if config.players[player.name] then
+ color = config.players[player.name]
+ else
+ while not config.disallow[color] do
+ color = table.get_random_dictionary_entry(Colours,true)
+ end
+ color = Colours[color]
+ end
+ color = {r=color.r/255,g=color.g/255,b=color.b/255,a=0.5}
+ player.color = color
+ player.chat_color = color
+end)
\ No newline at end of file
diff --git a/old/modules/ExpGamingCommands/repair/control.lua b/old/modules/DONE/Commands/repair/control.lua
similarity index 100%
rename from old/modules/ExpGamingCommands/repair/control.lua
rename to old/modules/DONE/Commands/repair/control.lua
diff --git a/old/modules/ExpGamingCommands/repair/softmod.json b/old/modules/DONE/Commands/repair/softmod.json
similarity index 100%
rename from old/modules/ExpGamingCommands/repair/softmod.json
rename to old/modules/DONE/Commands/repair/softmod.json
diff --git a/old/modules/ExpGamingCommands/repair/src/tempban.lua b/old/modules/DONE/Commands/repair/src/tempban.lua
similarity index 100%
rename from old/modules/ExpGamingCommands/repair/src/tempban.lua
rename to old/modules/DONE/Commands/repair/src/tempban.lua
diff --git a/old/modules/PlayerAutoColor/control.lua b/old/modules/DONE/PlayerAutoColor/control.lua
similarity index 100%
rename from old/modules/PlayerAutoColor/control.lua
rename to old/modules/DONE/PlayerAutoColor/control.lua
diff --git a/old/modules/PlayerAutoColor/softmod.json b/old/modules/DONE/PlayerAutoColor/softmod.json
similarity index 100%
rename from old/modules/PlayerAutoColor/softmod.json
rename to old/modules/DONE/PlayerAutoColor/softmod.json
From cc64613f418e721e7a8e85ff398e5a0c2c5a5149 Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Thu, 18 Apr 2019 23:29:21 +0100
Subject: [PATCH 5/9] Bug Fix Round One
---
config/file_loader.lua | 7 +++++++
expcore/commands.lua | 2 +-
modules/addons/compilatron.lua | 10 +++++-----
modules/addons/random-player-colours.lua | 2 +-
modules/commands/clear-inventory.lua | 2 +-
modules/commands/spawn.lua | 2 +-
6 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/config/file_loader.lua b/config/file_loader.lua
index 7a85b3cc..790aa6c6 100644
--- a/config/file_loader.lua
+++ b/config/file_loader.lua
@@ -16,6 +16,12 @@ return {
'modules.commands.help',
'modules.commands.roles',
'modules.commands.rainbow',
+ 'modules.commands.clear-inventory',
+ 'modules.commands.jail',
+ 'modules.commands.repair',
+ 'modules.commands.reports',
+ 'modules.commands.spawn',
+ 'modules.commands.warnings',
-- QoL Addons
'modules.addons.chat-popups',
'modules.addons.damage-popups',
@@ -25,6 +31,7 @@ return {
'modules.addons.compilatron',
'modules.addons.scorched-earth',
'modules.addons.pollution-grading',
+ 'modules.addons.random-player-colours',
-- Config Files
'config.command_auth_admin', -- commands tagged with admin_only are blocked for non admins
'config.command_auth_roles', -- commands must be allowed via the role config
diff --git a/expcore/commands.lua b/expcore/commands.lua
index 9a8ef7f9..27257c9a 100644
--- a/expcore/commands.lua
+++ b/expcore/commands.lua
@@ -201,7 +201,7 @@
Commands.remove_parse(name) --- Removes a parse function, see add_parse for adding them
Commands.parse(name,input,player,reject,...) --- Intended to be used within other parse functions, runs a parse and returns success and new value
- Commands.add_command(name,help) --- Creates a new command object to added details to, note this does not register the command to the game
+ Commands.new_command(name,help) --- Creates a new command object to added details to, note this does not register the command to the game
Commands._prototype:add_param(name,optional,parse,...) --- Adds a new param to the command this will be displayed in the help and used to parse the input
Commands._prototype:set_defaults(defaults) --- Adds default values to params only matters if the param is optional
Commands._prototype:set_flag(name,value) --- 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
diff --git a/modules/addons/compilatron.lua b/modules/addons/compilatron.lua
index 29fc2bfe..ef81281d 100644
--- a/modules/addons/compilatron.lua
+++ b/modules/addons/compilatron.lua
@@ -31,17 +31,17 @@ local callback =
ent.surface.create_entity(
{name = 'compi-speech-bubble', text = messages[name][msg_number], position = {0, 0}, source = ent}
)
- Public.global.current_messages[name] = {message = message, msg_number = msg_number}
+ Public.current_messages[name] = {message = message, msg_number = msg_number}
end
)
--- This will move the messages onto the next message in the loop
local function circle_messages()
- for name, ent in pairs(Public.global.compilatrons) do
+ for name, ent in pairs(Public.compilatrons) do
if not ent.valid then
Public.spawn_compilatron(game.players[1].surface,name)
end
- local current_message = Public.global.current_messages[name]
+ local current_message = Public.current_messages[name]
local msg_number
local message
if current_message ~= nil then
@@ -71,12 +71,12 @@ function Public.add_compilatron(entity, name)
if name == nil then
return
end
- Public.global.compilatrons[name] = entity
+ Public.compilatrons[name] = entity
local message =
entity.surface.create_entity(
{name = 'compi-speech-bubble', text = messages[name][1], position = {0, 0}, source = entity}
)
- Public.global.current_messages[name] = {message = message, msg_number = 1}
+ Public.current_messages[name] = {message = message, msg_number = 1}
end
--- This spawns a new compilatron on a surface with the given location tag (not a position)
diff --git a/modules/addons/random-player-colours.lua b/modules/addons/random-player-colours.lua
index df5b190b..3a6fc2c1 100644
--- a/modules/addons/random-player-colours.lua
+++ b/modules/addons/random-player-colours.lua
@@ -1,4 +1,4 @@
-local Colours = require 'resources.colour_presets'
+local Colours = require 'resources.color_presets'
local Game = require 'utils.game'
local Event = require 'utils.events'
local config = require 'config.preset_player_colours'
diff --git a/modules/commands/clear-inventory.lua b/modules/commands/clear-inventory.lua
index 28fd9d35..0b8a8d26 100644
--- a/modules/commands/clear-inventory.lua
+++ b/modules/commands/clear-inventory.lua
@@ -1,4 +1,4 @@
-local Commands = 'expcore.commands'
+local Commands = require 'expcore.commands'
local move_items = ext_require('expcore.common','move_items')
require 'config.command_parse_roles'
diff --git a/modules/commands/spawn.lua b/modules/commands/spawn.lua
index 0b923222..027c85f3 100644
--- a/modules/commands/spawn.lua
+++ b/modules/commands/spawn.lua
@@ -13,7 +13,7 @@ end
Commands.new_command('go-to-spawn','Teleport to spawn')
:add_param('player',true,'player-role-alive')
-:add_defaults{
+:set_defaults{
player=function(player)
if player.connected and player.character and player.character.health > 0 then
return player
From 745e31b7e729a80b3b150abf7d87bdbf02b990dd Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Thu, 18 Apr 2019 23:40:55 +0100
Subject: [PATCH 6/9] Added Commands to roles
---
config/roles.lua | 33 +++++++++++++++++++-----
modules/addons/random-player-colours.lua | 5 ++--
modules/commands/warnings.lua | 2 +-
3 files changed, 31 insertions(+), 9 deletions(-)
diff --git a/config/roles.lua b/config/roles.lua
index b203201d..8faf42e9 100644
--- a/config/roles.lua
+++ b/config/roles.lua
@@ -33,12 +33,14 @@ Roles.new_role('System','SYS')
:set_permission_group('Admin')
:set_flag('is_admin')
:set_flag('is_spectator')
+:set_flag('report-immune')
:set_allow_all()
Roles.new_role('Senior Administrator','SAdmin')
:set_permission_group('Admin')
:set_flag('is_admin')
:set_flag('is_spectator')
+:set_flag('report-immune')
:set_parent('Administrator')
:allow{
'command/interface',
@@ -50,6 +52,7 @@ Roles.new_role('Administrator','Admin')
:set_custom_color{r=233,g=63,b=233}
:set_flag('is_admin')
:set_flag('is_spectator')
+:set_flag('report-immune')
:set_parent('Moderator')
:allow{
}
@@ -59,10 +62,19 @@ Roles.new_role('Moderator','Mod')
:set_custom_color{r=0,g=170,b=0}
:set_flag('is_admin')
:set_flag('is_spectator')
+:set_flag('report-immune')
:set_parent('Trainee')
:allow{
'command/assign-role',
- 'command/unassign-role'
+ 'command/unassign-role',
+ 'command/repair',
+ 'command/kill/always',
+ 'command/tag-clear/always',
+ 'command/go-to-spawn/always',
+ 'command/clear-reports',
+ 'command/clear-warnings',
+ 'command/clear-temp-ban',
+ 'command/clear-inventory',
}
Roles.new_role('Trainee','TrMod')
@@ -70,14 +82,17 @@ Roles.new_role('Trainee','TrMod')
:set_custom_color{r=0,g=170,b=0}
:set_flag('is_admin')
:set_flag('is_spectator')
+:set_flag('report-immune')
:set_parent('Donator')
:allow{
'command/admin-chat',
'command/teleport',
'command/bring',
'command/goto',
- 'command/kill/always',
- 'command/tag-clear/always',
+ 'command/temp-ban',
+ 'command/give-warning',
+ 'command/get-warning',
+ 'command/get-reports',
}
--- Trusted Roles
@@ -85,6 +100,7 @@ Roles.new_role('Sponsor','Spon')
:set_permission_group('Trusted')
:set_custom_color{r=247,g=246,b=54}
:set_flag('is_spectator')
+:set_flag('report-immune')
:set_parent('Pay to Win')
:allow{
}
@@ -93,6 +109,7 @@ Roles.new_role('Pay to Win','P2W')
:set_permission_group('Trusted')
:set_custom_color{r=238,g=172,b=44}
:set_flag('is_spectator')
+:set_flag('report-immune')
:set_parent('Donator')
:allow{
}
@@ -111,6 +128,8 @@ Roles.new_role('Partner','Part')
:set_flag('is_spectator')
:set_parent('Veteran')
:allow{
+ 'command/jail',
+ 'command/unjail'
}
Roles.new_role('Veteran','Vet')
@@ -138,7 +157,10 @@ Roles.new_role('Regular','Reg')
:set_custom_color{r=79,g=155,b=163}
:set_parent('Guest')
:allow{
- 'command/kill'
+ 'command/kill',
+ 'command/rainbow',
+ 'command/go-to-spawn',
+ 'command/me',
}
:set_auto_promote_condition(function(player)
if player.online_time > 3*216000 then
@@ -151,12 +173,11 @@ local default = Roles.new_role('Guest','')
:set_permission_group('Guest')
:set_custom_color{r=185,g=187,b=160}
:allow{
- 'command/me',
'command/tag',
'command/tag-clear',
'command/chelp',
'command/list-roles',
- 'command/rainbow'
+ 'command/report',
}
--- Jail role
diff --git a/modules/addons/random-player-colours.lua b/modules/addons/random-player-colours.lua
index 3a6fc2c1..0e347997 100644
--- a/modules/addons/random-player-colours.lua
+++ b/modules/addons/random-player-colours.lua
@@ -1,17 +1,18 @@
local Colours = require 'resources.color_presets'
local Game = require 'utils.game'
-local Event = require 'utils.events'
+local Event = require 'utils.event'
local config = require 'config.preset_player_colours'
local Global = require 'utils.global'
require 'utils.table'
-Global.reigster(config,function(tbl)
+Global.register(config,function(tbl)
config = tbl
end)
local white = Colours.white
local black = Colours.black
Event.add(defines.events.on_player_created,function(event)
+ local player = Game.get_player_by_index(event.player_index)
local color = 'white'
if config.players[player.name] then
color = config.players[player.name]
diff --git a/modules/commands/warnings.lua b/modules/commands/warnings.lua
index c4fe12f1..e4b0cb2c 100644
--- a/modules/commands/warnings.lua
+++ b/modules/commands/warnings.lua
@@ -46,7 +46,7 @@ Commands.new_command('get-warnings','Gets the number of warnings a player has. I
end
end)
-Commands.new_command('clear-warnigns','Clears all warnings (and script warnings) from a player')
+Commands.new_command('clear-warnings','Clears all warnings (and script warnings) from a player')
:add_param('player',false,'player')
:register(function(player,action_player,raw)
WarningsControl.clear_warnings(player,player.name)
From 37e040c09353295c77cb33210b169de184c7aa35 Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Fri, 19 Apr 2019 00:11:44 +0100
Subject: [PATCH 7/9] Bug Fixing Round Two
---
expcore/commands.lua | 4 ++--
expcore/common.lua | 2 +-
locale/en/commands.cfg | 3 ++-
modules/commands/repair.lua | 19 +++++++++++++------
modules/commands/reports.lua | 2 +-
modules/commands/roles.lua | 4 ++--
6 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/expcore/commands.lua b/expcore/commands.lua
index 27257c9a..c96dcce4 100644
--- a/expcore/commands.lua
+++ b/expcore/commands.lua
@@ -724,10 +724,10 @@ function Commands.run_command(command_event)
-- runs the command
-- player: LuaPlayer, ... command params, raw: string
- table.insert(params,input_string)
+ table.insert(params,command_data.max_param_count+1,input_string)
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',params,command_event.parameter,err)
+ return command_log(player,command_data,'Internal Error: Command Callback Fail',raw_params,command_event.parameter,err)
end
if err == Commands.defines.error or err == Commands.error then
return command_log(player,command_data,'Custom Error',raw_params,input_string)
diff --git a/expcore/common.lua b/expcore/common.lua
index 096e0eeb..2390c5ef 100644
--- a/expcore/common.lua
+++ b/expcore/common.lua
@@ -524,7 +524,7 @@ end
function Public.format_chat_player_name(player,raw_string)
player = Game.get_player_from_any(player)
local player_name = player and player.name or ''
- local player_chat_colour = player and player.chat_color or Colors.white
+ local player_chat_colour = player and player.chat_color or Colours.white
if raw_string then
return Public.format_chat_colour(player_name,player_chat_colour)
else
diff --git a/locale/en/commands.cfg b/locale/en/commands.cfg
index b35ff51f..f987582c 100644
--- a/locale/en/commands.cfg
+++ b/locale/en/commands.cfg
@@ -34,4 +34,5 @@ warnings-player=__1__ has __2__ warnings and __3__/__4__ script warnings.
warnings-list-tilte=The following player have this many warnings (and this many script warnings):
warnings-list=__1__: __2__ (__3__/__4__)
warnings-cleared=__1__ had all they warnings cleared by __2__.
-spawn-unavailable=They was a problem getting you to spawn, please try again later.
\ No newline at end of file
+spawn-unavailable=They was a problem getting you to spawn, please try again later.
+repair-result=__1__ entites were revived and __2__ were healed to max health.
\ No newline at end of file
diff --git a/modules/commands/repair.lua b/modules/commands/repair.lua
index 786abdde..660ec6eb 100644
--- a/modules/commands/repair.lua
+++ b/modules/commands/repair.lua
@@ -6,6 +6,8 @@ local max_time_to_live = 4294967295 -- unit32 max
Commands.new_command('repair','Repairs entities on your force around you')
:add_param('range',false,'integer-range',1,config.max_range)
:register(function(player,range,raw)
+ local revive_count = 0
+ local heal_count = 0
local range2 = range^2
local surface = player.surface
local center = player.position
@@ -13,12 +15,13 @@ Commands.new_command('repair','Repairs entities on your force around you')
if config.allow_ghost_revive then
local ghosts = surface.find_entities_filtered({area=area,type='entity-ghost',force=player.force})
for _,ghost in pairs(ghosts) do
- if ghost.valid and entity.force == player.force then
+ if ghost.valid then
local x = ghost.position.x-center.x
local y = ghost.position.y-center.y
if x^2+y^2 <= range2 then
if config.allow_blueprint_repair or ghost.time_to_live ~= max_time_to_live then
- ghost.revive()
+ revive_count = revive_count+1
+ if not config.disallow[ghost.ghost_name] then ghost.revive() end
end
end
end
@@ -27,11 +30,15 @@ Commands.new_command('repair','Repairs entities on your force around you')
if config.allow_heal_entities then
local entities = surface.find_entities_filtered({area=area,force=player.force})
for _,entity in pairs(entities) do
- local x = entity.position.x-center.x
- local y = entity.position.y-center.y
- if entity.health and x^2+y^2 <= range2 then
- entity.health = max_time_to_live
+ if entity.valid then
+ local x = entity.position.x-center.x
+ local y = entity.position.y-center.y
+ if entity.health and entity.get_health_ratio() ~= 1 and x^2+y^2 <= range2 then
+ heal_count = heal_count+1
+ entity.health = max_time_to_live
+ end
end
end
end
+ return Commands.success{'exp-commands.repair-result',revive_count,heal_count}
end)
\ No newline at end of file
diff --git a/modules/commands/reports.lua b/modules/commands/reports.lua
index f1c5c670..a1b83e45 100644
--- a/modules/commands/reports.lua
+++ b/modules/commands/reports.lua
@@ -9,7 +9,7 @@ Commands.new_command('report','Reports a player and notifies moderators')
input = Commands.parse('player',input,player,reject)
if not input then return end
if Roles.player_has_flag(player,'report-immune') then
- return reject{'exp-command.report-player-immune'}
+ return reject{'exp-commands.report-player-immune'}
else
return input
end
diff --git a/modules/commands/roles.lua b/modules/commands/roles.lua
index e19d521c..792447c9 100644
--- a/modules/commands/roles.lua
+++ b/modules/commands/roles.lua
@@ -40,7 +40,7 @@ Commands.new_command('list-roles','Lists all roles in they correct order')
:register(function(player,action_player,raw)
local roles = Roles.config.order
local message = {'exp-commands.roles-list'}
- if action_player ~= '' then
+ if action_player then
roles = Roles.get_player_roles(action_player)
end
for index,role in pairs(roles) do
@@ -49,7 +49,7 @@ Commands.new_command('list-roles','Lists all roles in they correct order')
local role_name = format_chat_colour_localized(role.name,colour)
if index == 1 then
message = {'exp-commands.roles-list',role_name}
- if action_player ~= '' then
+ if action_player then
local player_name_colour = format_chat_player_name(action_player)
message = {'exp-commands.roles-list-player',player_name_colour,role_name}
end
From 53a74b96e3cd056a2ede8c5527198e3483fc7ca9 Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Fri, 19 Apr 2019 14:06:08 +0100
Subject: [PATCH 8/9] Bug Fixing Round 3
---
.luacheckrc | 1002 +++++++++++++++++++++++++++
config/command_parse_roles.lua | 9 +-
config/roles.lua | 4 +-
expcore/common.lua | 4 +-
expcore/roles.lua | 4 +
locale/en/addons.cfg | 3 +-
modules/addons/jail-control.lua | 2 +-
modules/addons/reports-control.lua | 9 +-
modules/addons/warnings-control.lua | 7 +-
modules/commands/jail.lua | 5 +-
modules/commands/reports.lua | 7 +-
modules/commands/warnings.lua | 4 +-
12 files changed, 1042 insertions(+), 18 deletions(-)
create mode 100644 .luacheckrc
diff --git a/.luacheckrc b/.luacheckrc
new file mode 100644
index 00000000..c3e0c5cf
--- /dev/null
+++ b/.luacheckrc
@@ -0,0 +1,1002 @@
+-------------------------------------------------------------------------------
+--[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
+-- ]]
+
+-------------------------------------------------------------------------------
+--[.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
+}
+
+-------------------------------------------------------------------------------
+--[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'
+
+-- 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'
+
+-------------------------------------------------------------------------------
+--[Assume Factorio Control stage as default]--
+-------------------------------------------------------------------------------
+std = STD_CONTROL
+max_line_length = LINE_LENGTH
+
+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',
+ max_line_length = LINE_LENGTH
+}
+
+local stdlib_data = {
+ std = 'lua52c+factorio+factorio_data+stdlib+factorio_defines',
+ max_line_length = LINE_LENGTH
+}
+
+-- Assume control stage for stdlib
+files['**/stdlib/'] = stdlib_control
+
+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'
+
+-- STDLIB data files
+files['**/stdlib/data/'] = stdlib_data
+files['**/creative'].ignore = {'...'}
+
+-- STDLIB Busted Spec
+files['**/spec/**'] = {
+ globals = {'serpent', 'log', 'SLOG', 'RESET'},
+ std = 'lua52c+busted+factorio_defines+factorio_control+stdlib'
+}
+
+
+-------------------------------------------------------------------------------
+--[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"
+ },
+ },
+ },
+ },
+ table = {
+ fields = {
+ "compare", "deepcopy"
+ },
+ },
+ },
+}
+
+stds.factorio_control = {
+ read_globals = {
+
+ -- @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},
+ },
+ },
+
+ -- @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"
+ },
+ },
+
+ -- @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"
+ },
+ },
+
+ -- @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
+ }
+ },
+ },
+ },
+
+ 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"
+ },
+ },
+
+ settings = {
+ fields = {
+ "startup", "global", "player",
+ },
+ },
+
+ --Popular mods
+ angelsmods = {
+ other_fields = true
+ },
+
+ bobmods = {
+ other_fields = true
+ },
+
+ mods = {
+ other_fields = true
+ }
+ }
+}
+
+-------------------------------------------------------------------------------
+--[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"
+ }
+}
+
+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_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_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',
+ }
+}
+
+--(( 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"
+ },
+ },
+ 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 = {
+ "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",
+ }
+ },
+ },
+ }
+ }
+} --))
+
+--[[
+ "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",
+ "max_line_length", "max_code_line_length", "max_string_line_length", "max_comment_line_length",
+ "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.
diff --git a/config/command_parse_roles.lua b/config/command_parse_roles.lua
index 8f91863f..efdf2a00 100644
--- a/config/command_parse_roles.lua
+++ b/config/command_parse_roles.lua
@@ -6,8 +6,13 @@ require 'config.command_parse_general'
Commands.add_parse('role',function(input,player,reject)
if not input then return end
- local roles = Roles.config.roles
- local role = auto_complete(roles,input,true)
+ local roles = Roles.config.order
+ local rev_roles = {}
+ for i=#roles,1,-1 do
+ table.insert(rev_roles,roles[i])
+ end
+ local role = auto_complete(rev_roles,input)
+ role = Roles.get_role_by_name(role)
if not role then
return reject{'expcore-role.reject-role'}
else
diff --git a/config/roles.lua b/config/roles.lua
index 8faf42e9..3069af98 100644
--- a/config/roles.lua
+++ b/config/roles.lua
@@ -91,7 +91,7 @@ Roles.new_role('Trainee','TrMod')
'command/goto',
'command/temp-ban',
'command/give-warning',
- 'command/get-warning',
+ 'command/get-warnings',
'command/get-reports',
}
@@ -120,6 +120,8 @@ Roles.new_role('Donator','Don')
:set_flag('is_spectator')
:set_parent('Veteran')
:allow{
+ 'command/jail',
+ 'command/unjail'
}
Roles.new_role('Partner','Part')
diff --git a/expcore/common.lua b/expcore/common.lua
index 2390c5ef..481fc4b1 100644
--- a/expcore/common.lua
+++ b/expcore/common.lua
@@ -230,7 +230,7 @@ end
function Public.move_items(items,surface,position,radius,chest_type)
chest_type = chest_type or 'iron-chest'
surface = surface or game.surfaces[1]
- if type(position) ~= 'table' then return end
+ if position and type(position) ~= 'table' then return end
if type(items) ~= 'table' then return end
-- Finds all entities of the given type
local p = position or {x=0,y=0}
@@ -438,7 +438,7 @@ end
-- @return the list item found that matches the input
function Public.auto_complete(options,input,use_key,rtn_key)
local rtn = {}
- if type(input)~= 'string' then return end
+ if type(input) ~= 'string' then return end
input = input:lower()
for key,value in pairs(options) do
local check = use_key and key or value
diff --git a/expcore/roles.lua b/expcore/roles.lua
index f503798d..11df21dc 100644
--- a/expcore/roles.lua
+++ b/expcore/roles.lua
@@ -641,6 +641,8 @@ end
-- @treturn boolean true if the player was added successfully
function Roles._prototype:add_player(player,skip_check,skip_event)
player = Game.get_player_from_any(player)
+ -- Default role cant have players added or removed
+ if self.name == Roles.config.internal.default then return end
-- Check the player is valid, can be skipped but a name must be given
if not player then
if skip_check then
@@ -673,6 +675,8 @@ end
-- @treturn boolean true if the player was removed successfully
function Roles._prototype:remove_player(player,skip_check,skip_event)
player = Game.get_player_from_any(player)
+ -- Default role cant have players added or removed
+ if self.name == Roles.config.internal.default then return end
-- Check the player is valid, can be skipped but a name must be given
if not player then
if skip_check then
diff --git a/locale/en/addons.cfg b/locale/en/addons.cfg
index 07441927..2f205308 100644
--- a/locale/en/addons.cfg
+++ b/locale/en/addons.cfg
@@ -35,4 +35,5 @@ pre-pre-ban=You are close to reciving a ban; successful ban appeals are unlikely
pre-ban=This your LAST warning before you are BANNED! successful ban appeals are unlikely.
ban=You were banned for having too many warnings; Vist __1__ to request a ban appeal.
script-warning=You are reciving script warnings; if you recive too many you will recive a permiment warning (__1__/__2__)
-script-wrning-removed=A script warning has expired (__1__/__2__)
\ No newline at end of file
+script-wrning-removed=A script warning has expired (__1__/__2__)
+script-warning-limit=__1__ has recived a permiment warning from the script.
\ No newline at end of file
diff --git a/modules/addons/jail-control.lua b/modules/addons/jail-control.lua
index 7e4aa526..512c7724 100644
--- a/modules/addons/jail-control.lua
+++ b/modules/addons/jail-control.lua
@@ -38,7 +38,7 @@ function Public.jail_player(player,by_player_name)
player = Game.get_player_from_any(player)
if not player then return end
if Roles.player_has_role(player,'Jail') then return end
- local old_roles = Role.get_player_roles(player)
+ local old_roles = Roles.get_player_roles(player)
Public.old_roles[player.name] = old_roles
Roles.unassign_player(player,old_roles,by_player_name,true)
Roles.assign_player(player,'Jail',by_player_name,true)
diff --git a/modules/addons/reports-control.lua b/modules/addons/reports-control.lua
index eacb212b..e71b97f5 100644
--- a/modules/addons/reports-control.lua
+++ b/modules/addons/reports-control.lua
@@ -57,6 +57,9 @@ function Public.remove_player_report(player,by_player_name)
if reports and reports[by_player_name] then
event_emit(Public.player_report_removed,player,by_player_name)
reports[by_player_name] = nil
+ if Public.count_player_reports(player) == 0 then
+ Public.user_reports[player.name] = nil
+ end
return true
end
return false
@@ -115,7 +118,11 @@ function Public.count_player_reports(player,count_callback)
if not player then return end
local reports = Public.user_reports[player.name] or {}
if not count_callback then
- return #reports
+ local ctn = 0
+ for _ in pairs(reports) do
+ ctn=ctn+1
+ end
+ return ctn
else
local ctn = 0
for player_name,reason in pairs(reports) do
diff --git a/modules/addons/warnings-control.lua b/modules/addons/warnings-control.lua
index 18e12d19..d3c07bcd 100644
--- a/modules/addons/warnings-control.lua
+++ b/modules/addons/warnings-control.lua
@@ -2,6 +2,7 @@ local Game = require 'utils.game'
local Global = require 'utils.global'
local Event = require 'utils.event'
local config = require 'config.warnings'
+local format_chat_player_name = ext_require('expcore.common','format_chat_player_name')
require 'utils.table'
local Public = {
@@ -195,8 +196,8 @@ Event.add(Public.player_warning_added,function(event)
elseif type(action) == 'table' then
-- {locale,by_player_name,number_of_warning,...}
local current_action = table.deep_copy(action)
- table.insert(current_action,1,event.by_player_name)
- table.insert(current_action,1,event.warning_count)
+ table.insert(current_action,2,event.by_player_name)
+ table.insert(current_action,3,event.warning_count)
player.print(current_action)
elseif type(action) == 'string' then
player.print(action)
@@ -208,6 +209,8 @@ Event.add(Public.player_temp_warning_added,function(event)
local player = Game.get_player_by_index(event.player_index)
if event.temp_warning_count > config.temp_warning_limit then
Public.add_warnings(event.player_index,event.by_player_name)
+ local player_name_color = format_chat_player_name(player)
+ game.print{'warnings.script-warning-limit',player_name_color}
else
player.print{'warnings.script-warning',event.temp_warning_count,config.temp_warning_limit}
end
diff --git a/modules/commands/jail.lua b/modules/commands/jail.lua
index d6452252..6a30789f 100644
--- a/modules/commands/jail.lua
+++ b/modules/commands/jail.lua
@@ -48,13 +48,12 @@ end)
Commands.new_command('clear-temp-ban','Removes temp ban from a player; this will not restore they items.')
:add_param('player',false,'player-role')
-:add_param('reason',false)
:add_alias('untemp-ban','remove-temp-ban')
:enable_auto_concat()
-:register(function(player,action_player,reason,raw)
+:register(function(player,action_player,raw)
local action_player_name_color = format_chat_player_name(action_player)
local by_player_name_color = format_chat_player_name(player)
- if JailControl.clear_temp_ban_player(action_player,player.name,reason) then
+ if JailControl.clear_temp_ban_player(action_player,player.name) then
game.print{'exp-commands.jail-temp-ban-clear',action_player_name_color,by_player_name_color}
else
return Commands.error{'exp-commands.jail-not-temp-banned',action_player_name_color}
diff --git a/modules/commands/reports.lua b/modules/commands/reports.lua
index a1b83e45..3c57f533 100644
--- a/modules/commands/reports.lua
+++ b/modules/commands/reports.lua
@@ -8,7 +8,7 @@ Commands.new_command('report','Reports a player and notifies moderators')
:add_param('player',false,function(input,player,reject)
input = Commands.parse('player',input,player,reject)
if not input then return end
- if Roles.player_has_flag(player,'report-immune') then
+ if Roles.player_has_flag(input,'report-immune') then
return reject{'exp-commands.report-player-immune'}
else
return input
@@ -45,7 +45,8 @@ Commands.new_command('get-reports','Gets a list of all reports that a player has
Commands.print{'exp-commands.report-player-count-title'}
for player_name,reports in pairs(user_reports) do
local player_name_color = format_chat_player_name(player_name)
- Commands.print{'exp-commands.report-list',player_name_color,#reports}
+ local report_count = ReportsControl.count_player_reports(player_name)
+ Commands.print{'exp-commands.report-list',player_name_color,report_count}
end
end
end)
@@ -55,7 +56,7 @@ Commands.new_command('clear-reports','Clears all reports from a player or just t
:add_param('from-player',true,'player')
:register(function(player,action_player,from_player,raw)
if from_player then
- if not ReportsControl.remove_player_report(action_player,from_player) then
+ if not ReportsControl.remove_player_report(action_player,from_player.name) then
return Commands.error{'exp-commands.report-not-reported'}
end
else
diff --git a/modules/commands/warnings.lua b/modules/commands/warnings.lua
index e4b0cb2c..ae3c9692 100644
--- a/modules/commands/warnings.lua
+++ b/modules/commands/warnings.lua
@@ -49,8 +49,8 @@ end)
Commands.new_command('clear-warnings','Clears all warnings (and script warnings) from a player')
:add_param('player',false,'player')
:register(function(player,action_player,raw)
- WarningsControl.clear_warnings(player,player.name)
- WarningsControl.clear_temp_warnings(player,player.name)
+ WarningsControl.clear_warnings(action_player,player.name)
+ WarningsControl.clear_temp_warnings(action_player,player.name)
local action_player_name_color = format_chat_player_name(action_player)
local by_player_name_color = format_chat_player_name(player)
game.print{'exp-commands.warnings-cleared',action_player_name_color,by_player_name_color}
From c98ed90cdaf54db5991046997e6b6ed7ab19ce34 Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Fri, 19 Apr 2019 14:08:16 +0100
Subject: [PATCH 9/9] Ingrone luacheck
---
.gitignore | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 697e15f8..9a140dc8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -84,4 +84,5 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk
-*.vscode
\ No newline at end of file
+.vscode
+*luacheckrc