@@ -2440,7 +2441,7 @@ nb: use error(error_message) within your callback to trigger do not trigger dire
generated by LDoc
diff --git a/docs/core/Common.html b/docs/core/Common.html
index fed24023..9658dbfc 100644
--- a/docs/core/Common.html
+++ b/docs/core/Common.html
@@ -95,6 +95,7 @@
@@ -3403,7 +3404,7 @@ nb: this is one way, failing false after already gaining the role will not revok
generated by LDoc
diff --git a/docs/data/Alt-View.html b/docs/data/Alt-View.html
index 8bf070fd..f374bb9b 100644
--- a/docs/data/Alt-View.html
+++ b/docs/data/Alt-View.html
@@ -104,6 +104,7 @@
Explosive Gaming (often ExpGaming) is a server hosting community with a strong focus on Factorio and games that follow similar ideas. Our Factorio server are known for hosting large maps with the main goal of being a "mega base" which can produce as much as possible within our reset schedule. Although these servers tend to attract the more experienced players, our servers are open to everyone. You can find us through our [website], [discord], [wiki], or in the public games tab in Factorio (ExpGaming S1, ExpGaming S2, etc.).
+
Explosive Gaming (often ExpGaming) is a server hosting community with a strong focus on [Factorio](factorio) and games with similar themes. We are best known for our weekly reset Factorio server with a vanilla+ scenario. Although our servers tend to attract the more experienced players, our servers are open to everyone. You can find us through our [website], [discord], or the public server list with the name ExpGaming.
## Use and Installation
-
1) Download this [git repository](https://github.com/explosivegaming/scenario/archive/master.zip) for the stable release. The dev branch can be found [here](https://github.com/explosivegaming/scenario/archive/dev.zip) for those who want the latest features. See [releases](#releases) for other release branches.
-
2) Extract the downloaded zip file from the branch you downloaded into Factorio's scenario directory:
+
1) Download our [git repository](stable-dl) for the stable release. For the latest features you can download our [dev branch](experimental-dl). See [releases](#releases) for other major releases.
+
2) Extract the downloaded zip file into your Factorio scenario directory:
* Windows: `%appdata%\Factorio\scenarios`
* Linux: `~/.factorio/scenarios`
-
3) Within the scenario you can find `./config/_file_loader.lua` which contains a list of all the modules that will be loaded by the scenario; simply comment out (or remove) features you do not want but note that some modules may load other modules as dependencies even when removed from the list.
-
4) More advanced users may want to play with the other configs files within `./config` but please be aware that some of the config files will require a basic understanding of lua while others may just be a list of values.
-
5) Once you have made any config changes that you wish to make open Factorio, select play, then start scenario (or host scenario from within multiplayer tab), and select the scenario which will be called `scenario-master` if you have downloaded the latest stable release and have not changed the folder name.
-
6) The scenario will now load all the selected modules and start the map, any errors or exceptions raised in the scenario should not cause a game/server crash, so if any features do not work as expected then it may be returning an error in the log.
-Please report these errors to [the issues page](issues).
+
3) Within the scenario you can find `./config/_file_loader.lua` which contains a list of all the modules which will be loaded by the scenario. Comment out (or remove) features you do not want. Be aware modules may load other modules as dependencies even when removed from the list.
+
4) More advanced users can adjust other configs files within `./config` but please be aware some files will require a basic understanding of lua.
+
5) Once you have made your config changes: open Factorio, select either single or multiplayer, select (host) new game, and finally select our scenario which will be called `scenario-master` or `scenario-dev` under user scenarios.
+
6) You will now be asked to generate your map and the scenario will load all selected modules. If any module does not load as expected please check `factorio-current.log` in your Factorio directory for errors and report them to our [issues page](issues).
## Contributing
-
All are welcome to make pull requests and issues for this scenario, if you are in any doubt, please ask someone in our [discord]. If you do not know lua and don't feel like learning you can always make a [feature request]. To find out what we already have please read our [docs]. Please keep in mind while making code changes:
-
* New features should have the branch names: `feature/feature-name`
-* New features are merged into `dev` after it has been completed, this can be done through a pull request.
-* After a number of features have been added a release branch is made: `release/X.Y.0`
-* Bug fixes and localization can be made to the release branch with a pull request rather than into dev.
-* A release is merged into `master` on the following friday after it is considered stable.
-* Patches may be named `patch/X.Y.Z` and will be merged into `dev` and then `master` when appropriate.
+
All are welcome to make bug reports, feature requests, and pull requests for our scenario. We do not require you to have any lua or coding knowledge to make bug reports and feature requests. If you have any questions ask us in our [discord].
+
For developers wanting to add features please follow these guidelines:
+
* All code is documented using ldoc, the end result can be found [here](docs).
+* Changes should be made on your own fork and merged into `dev` through a pull request.
+* Pull requests are automatically linted and documentation checked.
+* Pull requests are manually reviewed to maintain code and language quality.
+* New features should have the branch names: `feature/feature-name`
+* Bug fixes should have the branch names: `fix/bug-name`
## Releases
-
| Scenario Version* | Version Name | Factorio Version** |
+
| Release* | Release Name | Factorio Version** |
|---|---|---|
-| [v6.1][s6.1] | External Data Overhaul | [v1.0.0][f1.0.0] |
-| [v6.0][s6.0] | Gui / 0.18 Overhaul | [v0.18.17][f0.18.17] |
-| [v5.10][s5.10] | Data Store Rewrite | [v0.17.71][f0.17.71] |
-| [v5.9][s5.9] | Control Modules and Documentation | [v0.17.63][f0.17.63] |
-| [v5.8][s5.8] | Home and Chat Bot | [v0.17.47][f0.17.49] |
-| [v5.7][s5.7] | Warp System | [v0.17.47][f0.17.47] |
-| [v5.6][s5.6] | Information Guis | [v0.17.44][f0.17.44] |
-| [v5.5][s5.5] | Gui System | [v0.17.43][f0.17.43] |
-| [v5.4][s5.4] | Admin Controls | [v0.17.32][f0.17.32] |
-| [v5.3][s5.3] | Custom Roles | [v0.17.28][f0.17.28] |
-| [v5.2][s5.2] | Quality of life | [v0.17.22][f0.17.22] |
-| [v5.1][s5.1] | Permission Groups | [v0.17.13][f0.17.13] |
-| [v5.0][s5.0] | 0.17 Overhaul| [v0.17][f0.17.9] |
-| [v4.0][s4.0] | Softmod Manager | [v0.16.51][f0.16.51] |
-| [v3.0][s3.0] | 0.16 Overhaul | [v0.16][f0.16] |
-| [v2.0][s2.0] | Localization and clean up | [v0.15][f0.15] |
-| [v1.0][s1.0] | Modulation | [v0.15][f0.15] |
-| [v0.1][s0.1] | First Tracked Version | [v0.14][f0.14] |
-
\* Scenario patch versions have been omitted.
-
\*\* Factorio versions show the version they were made for, often the minimum requirement.
-
[s6.1]: https://github.com/explosivegaming/scenario/releases/tag/6.1.0
+| [6.2][s6.2] | Mega Feature Bundle | [1.1.32][f1.1.32] |
+| [6.1][s6.1] | External Data Overhaul | [1.0.0][f1.0.0] |
+| [6.0][s6.0] | Gui / 0.18 Overhaul | [0.18.17][f0.18.17] |
+| [5.10][s5.10] | Data Store Rewrite | [0.17.71][f0.17.71] |
+| [5.9][s5.9] | Control Modules and Documentation | [0.17.63][f0.17.63] |
+| [5.8][s5.8] | Home and Chat Bot | [0.17.47][f0.17.49] |
+| [5.7][s5.7] | Warp System | [0.17.47][f0.17.47] |
+| [5.6][s5.6] | Information Guis | [0.17.44][f0.17.44] |
+| [5.5][s5.5] | Gui System | [0.17.43][f0.17.43] |
+| [5.4][s5.4] | Admin Controls | [0.17.32][f0.17.32] |
+| [5.3][s5.3] | Custom Roles | [0.17.28][f0.17.28] |
+| [5.2][s5.2] | Quality of life | [0.17.22][f0.17.22] |
+| [5.1][s5.1] | Permission Groups | [0.17.13][f0.17.13] |
+| [5.0][s5.0] | 0.17 Overhaul| [0.17][f0.17.9] |
+| [4.0][s4.0] | Softmod Manager | [0.16.51][f0.16.51] |
+| [3.0][s3.0] | 0.16 Overhaul | [0.16][f0.16] |
+| [2.0][s2.0] | Localization and clean up | [0.15][f0.15] |
+| [1.0][s1.0] | Modulation | [0.15][f0.15] |
+| [0.1][s0.1] | First Tracked Version | [0.14][f0.14] |
+
\* Scenario patch releases have been omitted and can be found [here](https://github.com/explosivegaming/scenario/releases).
+
\*\* Factorio versions show the version they were made for, often the minimum requirement to run the scenario.
+
From 9f0b4cf825db016c8cffe303bdebe2c50c2f345a Mon Sep 17 00:00:00 2001
From: oof2win2
Date: Sat, 14 Aug 2021 14:06:13 +0000
Subject: [PATCH 2/6] =?UTF-8?q?=F0=9F=90=9B=20Fixed=20GUI=20showing=20item?=
=?UTF-8?q?s=20when=20it=20shouldn't?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
expcore/gui/top_flow.lua | 3 ++-
expcore/roles.lua | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/expcore/gui/top_flow.lua b/expcore/gui/top_flow.lua
index e2cb38c1..6320dca5 100644
--- a/expcore/gui/top_flow.lua
+++ b/expcore/gui/top_flow.lua
@@ -73,7 +73,8 @@ function Gui.update_top_flow(player)
end
-- Set the visible state
- local allowed = type(authenticator) == 'function' and authenticator(player) or authenticator
+ local allowed = authenticator
+ if type(allowed) == 'function' then allowed = allowed(player) end
element.visible = is_visible and allowed or false
end
end
diff --git a/expcore/roles.lua b/expcore/roles.lua
index edcc989e..530f0a4f 100644
--- a/expcore/roles.lua
+++ b/expcore/roles.lua
@@ -114,6 +114,7 @@ local Event = require 'utils.event' --- @dep utils.event
local Groups = require 'expcore.permission_groups' --- @dep expcore.permission_groups
local Async = require 'expcore.async' --- @dep expcore.async
local Colours = require 'utils.color_presets' --- @dep utils.color_presets
+local Gui = require 'expcore.gui' --- @dep expcore.gui
local write_json = _C.write_json --- @dep expcore.common
local Roles = {
@@ -378,6 +379,7 @@ function Roles.assign_player(player, roles, by_player_name, skip_checks, silent)
end
if valid_player then
emit_player_roles_updated(valid_player, 'assign', roles, by_player_name, silent)
+ Gui.update_top_flow(valid_player)
end
end
@@ -410,6 +412,7 @@ function Roles.unassign_player(player, roles, by_player_name, skip_checks, silen
end
if valid_player then
emit_player_roles_updated(valid_player, 'unassign', roles, by_player_name, silent)
+ Gui.update_top_flow(valid_player)
end
end
From a494391680a548dd3cae8f1c76f2a7e2e6d4074e Mon Sep 17 00:00:00 2001
From: oof2win2
Date: Sat, 14 Aug 2021 14:33:47 +0000
Subject: [PATCH 3/6] :wrench: Made Gui not required for Roles
---
expcore/gui/_require.lua | 13 +++++++++++++
expcore/roles.lua | 3 ---
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/expcore/gui/_require.lua b/expcore/gui/_require.lua
index 51fc0a14..78aac647 100644
--- a/expcore/gui/_require.lua
+++ b/expcore/gui/_require.lua
@@ -128,4 +128,17 @@ require 'expcore.gui.left_flow'
require 'expcore.gui.helper_functions'
require 'expcore.gui.defines'
+local Roles = _C.opt_require('expcore.roles')
+local Event = _C.opt_require('utils.event')
+
+if Roles and Event then
+ Event.add(Roles.events.on_role_assigned, function(e)
+ Gui.update_top_flow(game.get_player(e.player_index))
+ end)
+ Event.add(Roles.events.on_role_unassigned, function(e)
+ Gui.update_top_flow(game.get_player(e.player_index))
+ end)
+end
+
+
return Gui
\ No newline at end of file
diff --git a/expcore/roles.lua b/expcore/roles.lua
index 530f0a4f..edcc989e 100644
--- a/expcore/roles.lua
+++ b/expcore/roles.lua
@@ -114,7 +114,6 @@ local Event = require 'utils.event' --- @dep utils.event
local Groups = require 'expcore.permission_groups' --- @dep expcore.permission_groups
local Async = require 'expcore.async' --- @dep expcore.async
local Colours = require 'utils.color_presets' --- @dep utils.color_presets
-local Gui = require 'expcore.gui' --- @dep expcore.gui
local write_json = _C.write_json --- @dep expcore.common
local Roles = {
@@ -379,7 +378,6 @@ function Roles.assign_player(player, roles, by_player_name, skip_checks, silent)
end
if valid_player then
emit_player_roles_updated(valid_player, 'assign', roles, by_player_name, silent)
- Gui.update_top_flow(valid_player)
end
end
@@ -412,7 +410,6 @@ function Roles.unassign_player(player, roles, by_player_name, skip_checks, silen
end
if valid_player then
emit_player_roles_updated(valid_player, 'unassign', roles, by_player_name, silent)
- Gui.update_top_flow(valid_player)
end
end
From 08027967b7e39b785373bce2b04fda093925a8b3 Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Sat, 14 Aug 2021 17:23:22 +0100
Subject: [PATCH 4/6] Corrected link issue in readme
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index f90ab184..51e765a1 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ All are welcome to make bug reports, feature requests, and pull requests for our
For developers wanting to add features please follow these guidelines:
-* All code is documented using ldoc, the end result can be found [here](docs).
+* All code is documented using ldoc, the end result can be found [here](online-docs).
* Changes should be made on your own fork and merged into `dev` through a pull request.
* Pull requests are automatically linted and documentation checked.
* Pull requests are manually reviewed to maintain code and language quality.
@@ -129,7 +129,7 @@ The Explosive Gaming codebase is licensed under the [GNU General Public License
[stable-dl]: https://github.com/explosivegaming/scenario/archive/master.zip
[experimental-dl]: https://github.com/explosivegaming/scenario/archive/dev.zip
[factorio]: https://factorio.com/
-[docs]: https://explosivegaming.github.io/scenario/
+[online-docs]: https://explosivegaming.github.io/scenario/
[issues]: https://github.com/explosivegaming/scenario/issues/new/choose
[website]: https://explosivegaming.nl
[discord]: https://discord.explosivegaming.nl
From c3662b5c4c4354b801a0d5b94bdbacd5d8ed96c6 Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Sat, 14 Aug 2021 17:28:55 +0100
Subject: [PATCH 5/6] Revmoed endding slash for urls
---
README.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 51e765a1..2f390b9c 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ All are welcome to make bug reports, feature requests, and pull requests for our
For developers wanting to add features please follow these guidelines:
-* All code is documented using ldoc, the end result can be found [here](online-docs).
+* All code is documented using ldoc, the end result can be found [here](docs).
* Changes should be made on your own fork and merged into `dev` through a pull request.
* Pull requests are automatically linted and documentation checked.
* Pull requests are manually reviewed to maintain code and language quality.
@@ -128,8 +128,8 @@ The Explosive Gaming codebase is licensed under the [GNU General Public License
[stable-dl]: https://github.com/explosivegaming/scenario/archive/master.zip
[experimental-dl]: https://github.com/explosivegaming/scenario/archive/dev.zip
-[factorio]: https://factorio.com/
-[online-docs]: https://explosivegaming.github.io/scenario/
+[factorio]: https://factorio.com
+[docs]: https://explosivegaming.github.io/scenario
[issues]: https://github.com/explosivegaming/scenario/issues/new/choose
[website]: https://explosivegaming.nl
[discord]: https://discord.explosivegaming.nl
From 96f8b177e0e340f26dd372bc70834aa6348786e7 Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Sat, 14 Aug 2021 17:40:02 +0100
Subject: [PATCH 6/6] Fixed reference style linking
---
README.md | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 2f390b9c..d314341b 100644
--- a/README.md
+++ b/README.md
@@ -24,11 +24,11 @@
## Explosive Gaming
-Explosive Gaming (often ExpGaming) is a server hosting community with a strong focus on [Factorio](factorio) and games with similar themes. We are best known for our weekly reset Factorio server with a vanilla+ scenario. Although our servers tend to attract the more experienced players, our servers are open to everyone. You can find us through our [website], [discord], or the public server list with the name ExpGaming.
+Explosive Gaming (often ExpGaming) is a server hosting community with a strong focus on [Factorio][factorio] and games with similar themes. We are best known for our weekly reset Factorio server with a vanilla+ scenario. Although our servers tend to attract the more experienced players, our servers are open to everyone. You can find us through our [website], [discord], or the public server list with the name ExpGaming.
## Use and Installation
-1) Download our [git repository](stable-dl) for the stable release. For the latest features you can download our [dev branch](experimental-dl). See [releases](#releases) for other major releases.
+1) Download our [git repository][stable-dl] for the stable release. For the latest features you can download our [dev branch][experimental-dl]. See [releases](#releases) for other major releases.
2) Extract the downloaded zip file into your Factorio scenario directory:
* Windows: `%appdata%\Factorio\scenarios`
@@ -40,7 +40,7 @@ Explosive Gaming (often ExpGaming) is a server hosting community with a strong f
5) Once you have made your config changes: open Factorio, select either single or multiplayer, select (host) new game, and finally select our scenario which will be called `scenario-master` or `scenario-dev` under user scenarios.
-6) You will now be asked to generate your map and the scenario will load all selected modules. If any module does not load as expected please check `factorio-current.log` in your Factorio directory for errors and report them to our [issues page](issues).
+6) You will now be asked to generate your map and the scenario will load all selected modules. If any module does not load as expected please check `factorio-current.log` in your Factorio directory for errors and report them to our [issues page][issues].
## Contributing
@@ -48,7 +48,7 @@ All are welcome to make bug reports, feature requests, and pull requests for our
For developers wanting to add features please follow these guidelines:
-* All code is documented using ldoc, the end result can be found [here](docs).
+* All code is documented using ldoc, the end result can be found [here][docs].
* Changes should be made on your own fork and merged into `dev` through a pull request.
* Pull requests are automatically linted and documentation checked.
* Pull requests are manually reviewed to maintain code and language quality.
@@ -79,7 +79,7 @@ For developers wanting to add features please follow these guidelines:
| [1.0][s1.0] | Modulation | [0.15][f0.15] |
| [0.1][s0.1] | First Tracked Version | [0.14][f0.14] |
-\* Scenario patch releases have been omitted and can be found [here](https://github.com/explosivegaming/scenario/releases).
+\* Scenario patch releases have been omitted and can be found [here][releases].
\*\* Factorio versions show the version they were made for, often the minimum requirement to run the scenario.
@@ -128,6 +128,7 @@ The Explosive Gaming codebase is licensed under the [GNU General Public License
[stable-dl]: https://github.com/explosivegaming/scenario/archive/master.zip
[experimental-dl]: https://github.com/explosivegaming/scenario/archive/dev.zip
+[releases]: https://github.com/explosivegaming/scenario/releases
[factorio]: https://factorio.com
[docs]: https://explosivegaming.github.io/scenario
[issues]: https://github.com/explosivegaming/scenario/issues/new/choose