From f5d548e709376da7cb7cf029d8a6bf1080d76fde Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sun, 29 Dec 2024 14:04:13 +0900 Subject: [PATCH 01/30] . --- .gitignore | 5 + README.md | 34 +- exp_legacy/module/config/_file_loader.lua | 10 +- exp_legacy/module/config/advanced_start.lua | 43 +-- exp_legacy/module/config/bonus.lua | 132 ++++---- exp_legacy/module/config/discord_alerts.lua | 23 +- .../config/expcore/permission_groups.lua | 32 +- exp_legacy/module/config/expcore/roles.lua | 319 +++++++++--------- exp_legacy/module/config/join_messages.lua | 6 - exp_legacy/module/config/spawn_area.lua | 206 +++-------- exp_legacy/module/config/vlayer.lua | 79 +++-- exp_legacy/module/locale/en/data.cfg | 2 +- exp_legacy/module/locale/en/expcore.cfg | 2 +- exp_legacy/module/locale/en/gui.cfg | 36 +- exp_legacy/module/locale/zh-CN/addons.cfg | 22 +- exp_legacy/module/locale/zh-CN/data.cfg | 4 +- exp_legacy/module/locale/zh-CN/gui.cfg | 37 +- exp_legacy/module/locale/zh-TW/addons.cfg | 22 +- exp_legacy/module/locale/zh-TW/data.cfg | 4 +- exp_legacy/module/locale/zh-TW/gui.cfg | 36 +- .../module/modules/addons/compilatron.lua | 4 +- exp_legacy/module/modules/control/vlayer.lua | 26 +- exp_legacy/module/modules/gui/vlayer.lua | 42 +-- 23 files changed, 532 insertions(+), 594 deletions(-) diff --git a/.gitignore b/.gitignore index 1ae60152..88ffb62e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,8 @@ node_modules/ package-lock.json pnpm-lock.yaml .vscode +exp_util/node-compile-cache/ +exp_commands/node-compile-cache/ +exp_groups/node-compile-cache/ +exp_legacy/node-compile-cache/ +exp_scenario/node-compile-cache/ diff --git a/README.md b/README.md index 83c95cb1..85dad859 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,20 @@

logo
- - Release + + Release - - Downloads + + Downloads - - Star + + Star - - Fork + + Fork + + + CodeFactor Discord @@ -25,9 +28,9 @@ Explosive Gaming (often ExpGaming) is a server hosting community with a strong f ## Installation -This is a plugin collection for [Clusterio](https://github.com/clusterio/clusterio) which implements all our scenario features. +This is a plugin collection for [Clusterio](https://github.com/clusterio/clusterio) which provides all our scenario features. -To use this plugin you must have a clusterio instance running, see [here](https://github.com/clusterio/clusterio?tab=readme-ov-file#installation) for clusterio installation instructions. +To use this plugin you must already have a clusterio instance running, see [here](https://github.com/clusterio/clusterio?tab=readme-ov-file#installation) for clusterio installation instructions. This module is currently not published and therefore can not be installed via `npm`. Instead follow the steps for [building from source](#building-from-source) @@ -35,8 +38,8 @@ This module is currently not published and therefore can not be installed via `n 1) Create a `external_plugins` directory within your clusterio instance. 2) Clone this repository into that directory: `git clone https://github.com/explosivegaming/ExpCluster` -3) Install the package dev dependencies: `pnpm install` (`pnpm` is recommended over `npm`) -4) Add supported plugins will be loaded on next controller / host restart. +3) Install the package dev dependencies: `pnpm install` +4) Add the plugins to your clusterio instance such as: `npx clusteriocontroller plugin add ./external_plugins/ExpCluster/exp_groups` ## Contributing @@ -68,7 +71,7 @@ See [Contributing](CONTRIBUTING.md) for how to make pull requests and issues. | [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. @@ -119,6 +122,11 @@ See [Contributing](CONTRIBUTING.md) for how to make pull requests and issues. The Explosive Gaming codebase is licensed under the [MIT](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 [website]: https://explosivegaming.nl [discord]: https://discord.explosivegaming.nl diff --git a/exp_legacy/module/config/_file_loader.lua b/exp_legacy/module/config/_file_loader.lua index 9e72d522..3ab87539 100644 --- a/exp_legacy/module/config/_file_loader.lua +++ b/exp_legacy/module/config/_file_loader.lua @@ -13,9 +13,9 @@ return { "modules.addons.advanced-start", "modules.addons.spawn-area", "modules.addons.compilatron", - "modules.addons.scorched-earth", - "modules.addons.pollution-grading", - "modules.addons.station-auto-name", + --"modules.addons.scorched-earth", + --"modules.addons.pollution-grading", + --"modules.addons.station-auto-name", "modules.addons.discord-alerts", "modules.addons.chat-reply", "modules.addons.tree-decon", @@ -44,8 +44,8 @@ return { --- GUI "modules.gui.readme", - "modules.gui.rocket-info", - "modules.gui.science-info", + -- "modules.gui.rocket-info", + -- "modules.gui.science-info", "modules.gui.autofill", "modules.gui.warp-list", "modules.gui.task-list", diff --git a/exp_legacy/module/config/advanced_start.lua b/exp_legacy/module/config/advanced_start.lua index 6653d06b..cbbfe84a 100644 --- a/exp_legacy/module/config/advanced_start.lua +++ b/exp_legacy/module/config/advanced_start.lua @@ -25,6 +25,7 @@ end --- Use to make a split point for the number of items given based on amount made -- ['firearm-magazine']=cutoff_amount_made(100, 10, 0) -- give 10 items until 100 items have been made +--[[ local function cutoff_amount_made(amount, before, after) return function(amount_made, items_made, player) if amount_made < amount then @@ -34,9 +35,11 @@ local function cutoff_amount_made(amount, before, after) end end end +]] --- Same as above but will not give any items if x amount has been made of another item, useful for tiers -- ['light-armor']=cutoff_amount_made_unless(5, 0,1,'heavy-armor',5) -- give light armor once 5 have been made unless 5 heavy armor has been made +--[[ local function cutoff_amount_made_unless(amount, before, after, second_item, second_amount) return function(amount_made, items_made, player) if items_made(second_item) < second_amount then @@ -50,9 +53,11 @@ local function cutoff_amount_made_unless(amount, before, after, second_item, sec end end end +]] -- Use for mass production items where you want the amount to change based on the amount already made -- ['iron-plate']=scale_amount_made(5*minutes, 10, 10) -- for first 5 minutes give 10 items then after apply a factor of 10 +--[[ local function scale_amount_made(amount, before, scalar) return function(amount_made, items_made, player) if amount_made < amount then @@ -62,6 +67,7 @@ local function scale_amount_made(amount, before, scalar) end end end +]] --[[ Common values @@ -79,33 +85,28 @@ return { enemy_expansion = false, --- @setting enemy_expansion a catch all for in case the map settings file fails to load chart_radius = 10 * 32, --- @setting chart_radius the number of tiles that will be charted when the map starts items = { --- @setting items items and there condition for being given - -- ['item-name'] = function(amount_made, production_stats, player) return end -- 0 means no items given - -- Plates - ["iron-plate"] = scale_amount_made(100, 10, 10), - ["copper-plate"] = scale_amount_made(100, 0, 8), - ["steel-plate"] = scale_amount_made(100, 0, 4), - -- Secondary Items - ["electronic-circuit"] = scale_amount_made(1000, 0, 6), - ["iron-gear-wheel"] = scale_amount_made(1000, 0, 6), - -- Starting Items - ["burner-mining-drill"] = cutoff_time(10 * minutes, 4, 0), - ["stone-furnace"] = cutoff_time(10 * minutes, 4, 0), - -- Armor - ["light-armor"] = cutoff_amount_made_unless(5, 0, 1, "heavy-armor", 5), - ["heavy-armor"] = cutoff_amount_made(5, 0, 1), - -- Weapon - ["pistol"] = cutoff_amount_made_unless(0, 1, 1, "submachine-gun", 5), - ["submachine-gun"] = cutoff_amount_made(5, 0, 1), - -- Ammo - ["firearm-magazine"] = cutoff_amount_made_unless(100, 10, 0, "piercing-rounds-magazine", 100), - ["piercing-rounds-magazine"] = cutoff_amount_made(100, 0, 10), - --[[ + ['iron-ore']=cutoff_time(20 * minutes, 80, 0), + ['stone']=cutoff_time(20 * minutes, 20, 0), + ['coal']=cutoff_time(20 * minutes, 20, 0), + -- ['burner-mining-drill']=cutoff_time(20 * minutes, 8, 0), + -- ['stone-furnace']=cutoff_time(20 * minutes, 8, 0), + ['submachine-gun'] = 1, + ['piercing-rounds-magazine'] = 20, ['construction-robot'] = 10, ['modular-armor'] = 1, ['solar-panel-equipment'] = 16, ['belt-immunity-equipment'] = 1, ['battery-equipment'] = 2, ['personal-roboport-equipment'] = 1 + --[[ + ['construction-robot'] = 50, + ['spidertron'] = 1, + ['spidertron-remote'] = 1, + ['modular-armor'] = 1, + ['solar-panel-equipment'] = 60, + ['belt-immunity-equipment'] = 1, + ['battery-equipment'] = 6, + ['personal-roboport-equipment'] = 5 ]] } } diff --git a/exp_legacy/module/config/bonus.lua b/exp_legacy/module/config/bonus.lua index 7c9289a4..78a0881d 100644 --- a/exp_legacy/module/config/bonus.lua +++ b/exp_legacy/module/config/bonus.lua @@ -10,96 +10,108 @@ return { Base point is equal to the amount of standard value in each parameter. CMMS CRS CCS CISB CHB CRDB PBR - STD 30 90 32 20 16 12 60 - = 260 + STD 20 60 24 12 8 8 40 + = 172 - MAX 60 180 64 40 32 24 120 - = 480 + MAX 40 120 48 24 16 16 80 + = 344 ]] pts = { - base = 260, + rate = { + ['Senior Administrator'] = 1.5, + ['Administrator'] = 1.4, + ['Senior Moderator'] = 1.3, + ['Moderator'] = 1.2, + ['Trainee Moderator'] = 1.2, + ['Board Member'] = 1.1, + ['Supporter'] = 1.1, + ['Partner'] = 1.1, + ['Senior Member'] = 1.1, + ['Member'] = 1 + }, + base = 172 }, gui_display_width = { half = 150, label = 70, slider = 180, - count = 50, + count = 50 }, conversion = { - ["cmms"] = "character_mining_speed_modifier", - ["crs"] = "character_running_speed_modifier", - ["ccs"] = "character_crafting_speed_modifier", - ["cisb"] = "character_inventory_slots_bonus", - ["chb"] = "character_health_bonus", - ["crdb"] = "character_reach_distance_bonus", + ['cmms'] = 'character_mining_speed_modifier', + ['crs'] = 'character_running_speed_modifier', + ['ccs'] = 'character_crafting_speed_modifier', + ['cisb'] = 'character_inventory_slots_bonus', + ['chb'] = 'character_health_bonus', + ['crdb'] = 'character_reach_distance_bonus', --[[ ['cpdb'] = 'character_item_pickup_distance_bonus' ]] }, player_special_bonus_rate = 300, player_special_bonus = { - ["personal_battery_recharge"] = { + ['personal_battery_recharge'] = { -- 1 MW - value = 6, - max = 12, - scale = 1, - cost_scale = 4, - cost = 40, - is_percentage = false, - }, - }, - player_bonus = { - ["character_mining_speed_modifier"] = { - value = 3, - max = 6, + value = 4, + max = 8, scale = 0.5, cost_scale = 1, cost = 10, - is_percentage = true, + is_percentage = false + } + }, + player_bonus = { + ['character_mining_speed_modifier'] = { + value = 2, + max = 4, + scale = 0.5, + cost_scale = 1, + cost = 10, + is_percentage = true }, - ["character_running_speed_modifier"] = { - value = 1.5, - max = 3, + ['character_running_speed_modifier'] = { + value = 1, + max = 2, scale = 0.25, cost_scale = 1, cost = 60, - is_percentage = true, + is_percentage = true }, - ["character_crafting_speed_modifier"] = { - value = 8, - max = 16, - scale = 1, + ['character_crafting_speed_modifier'] = { + value = 6, + max = 12, + scale = 0.5, cost_scale = 1, cost = 4, - is_percentage = true, + is_percentage = true }, - ["character_inventory_slots_bonus"] = { - value = 100, - max = 200, - scale = 10, + ['character_inventory_slots_bonus'] = { + value = 60, + max = 120, + scale = 5, cost_scale = 10, cost = 2, - is_percentage = false, + is_percentage = false }, - ["character_health_bonus"] = { - value = 200, - max = 400, - scale = 50, - cost_scale = 50, - cost = 4, - is_percentage = false, + ['character_health_bonus'] = { + value = 100, + max = 200, + scale = 25, + cost_scale = 25, + cost = 2, + is_percentage = false }, - ["character_reach_distance_bonus"] = { - value = 12, - max = 24, + ['character_reach_distance_bonus'] = { + value = 8, + max = 16, scale = 2, cost_scale = 1, cost = 1, is_percentage = false, combined_bonus = { - "character_resource_reach_distance_bonus", - "character_build_distance_bonus", - }, + 'character_resource_reach_distance_bonus', + 'character_build_distance_bonus' + } }, --[[ ['character_item_pickup_distance_bonus'] = { @@ -190,29 +202,29 @@ return { is_percentage = false }, ]] - ["worker_robots_battery_modifier"] = { + ['worker_robots_battery_modifier'] = { value = 1, max = 1, scale = 1, cost_scale = 1, cost = 1, - is_percentage = false, + is_percentage = false }, - ["worker_robots_storage_bonus"] = { + ['worker_robots_storage_bonus'] = { value = 1, max = 1, scale = 1, cost_scale = 1, cost = 1, - is_percentage = false, + is_percentage = false }, - ["following_robots_lifetime_modifier"] = { + ['following_robots_lifetime_modifier'] = { value = 1, max = 1, scale = 1, cost_scale = 1, cost = 1, - is_percentage = false, + is_percentage = false }, --[[ ['character_item_pickup_distance_bonus'] = { @@ -316,5 +328,5 @@ return { is_percentage = false } ]] - }, + } } diff --git a/exp_legacy/module/config/discord_alerts.lua b/exp_legacy/module/config/discord_alerts.lua index 11dfb6a8..be19c6e2 100644 --- a/exp_legacy/module/config/discord_alerts.lua +++ b/exp_legacy/module/config/discord_alerts.lua @@ -11,15 +11,16 @@ return { player_kicks = true, player_promotes = false, player_jail = true, - ["config"] = true, - ["purge"] = true, - ["c"] = true, - ["command"] = true, - ["silent-command"] = true, - ["measured-command"] = true, - ["banlist"] = true, - ["permissions"] = true, - ["editor"] = true, - ["cheat"] = true, - ["open"] = false, + ['config']=false, + ['purge']=false, + ['c']=false, + ['sc']=false, + ['command']=false, + ['silent-command']=false, + ['measured-command']=false, + ['banlist']=false, + ['permissions']=false, + ['editor']=false, + ['cheat']=false, + ['open']=false } diff --git a/exp_legacy/module/config/expcore/permission_groups.lua b/exp_legacy/module/config/expcore/permission_groups.lua index b0e972f3..7d986851 100644 --- a/exp_legacy/module/config/expcore/permission_groups.lua +++ b/exp_legacy/module/config/expcore/permission_groups.lua @@ -9,20 +9,23 @@ local Groups = require("modules.exp_legacy.expcore.permission_groups") --- @dep Groups.new_group("Admin") :allow_all() + +Groups.new_group('Mod') + :allow_all() :disallow{ - "add_permission_group", -- admin - "delete_permission_group", - "edit_permission_group", - "import_permissions_string", - "map_editor_action", - "toggle_map_editor", - "change_multiplayer_config", - "set_heat_interface_mode", - "set_heat_interface_temperature", - "set_infinity_container_filter_item", - "set_infinity_container_remove_unfiltered_items", - "set_infinity_pipe_filter", - } + 'add_permission_group', -- admin + 'delete_permission_group', + 'edit_permission_group', + 'import_permissions_string', + 'map_editor_action', + 'toggle_map_editor', + 'change_multiplayer_config', + 'set_heat_interface_mode', + 'set_heat_interface_temperature', + 'set_infinity_container_filter_item', + 'set_infinity_container_remove_unfiltered_items', + 'set_infinity_pipe_filter' + } Groups.new_group("Trusted") :allow_all() @@ -59,9 +62,8 @@ Groups.new_group("Standard") "set_infinity_pipe_filter", "admin_action", -- trusted "change_programmable_speaker_alert_parameters", -- standard - "drop_item", "open_new_platform_button_from_rocket_silo", - "set_rocket_silo_send_to_orbit_automated_mode", + "set_rocket_silo_send_to_orbit_automated_mode" } Groups.new_group("Guest") diff --git a/exp_legacy/module/config/expcore/roles.lua b/exp_legacy/module/config/expcore/roles.lua index 14fd9695..ca4c1f9c 100644 --- a/exp_legacy/module/config/expcore/roles.lua +++ b/exp_legacy/module/config/expcore/roles.lua @@ -37,12 +37,7 @@ Roles.new_role("Senior Administrator", "SAdmin") :set_flag("report-immune") :set_flag("instant-respawn") :set_parent("Administrator") - :allow{ - "command/_rcon", - "command/debug", - "command/set-cheat-mode", - "command/research-all", - } + :set_allow_all() Roles.new_role("Administrator", "Admin") :set_permission_group("Admin") @@ -51,63 +46,52 @@ Roles.new_role("Administrator", "Admin") :set_flag("is_spectator") :set_flag("report-immune") :set_flag("instant-respawn") + :set_parent("Senior Moderator") + :allow{ + "command/_rcon", + "command/debug", + "command/set-cheat-mode", + "command/research-all" + } + +Roles.new_role("Senior Moderator", "SMod") + :set_permission_group("Mod") + :set_custom_color{ r = 0, g = 170, b = 0 } + :set_flag("is_admin") + :set_flag("is_system") + :set_flag("is_spectator") + :set_flag("report-immune") + :set_flag("instant-respawn") :set_parent("Moderator") :allow{ "gui/warp-list/bypass-proximity", "gui/warp-list/bypass-cooldown", - "command/connect-all", + "command/connect-all" } Roles.new_role("Moderator", "Mod") - :set_permission_group("Admin") + :set_permission_group("Mod") :set_custom_color{ r = 0, g = 170, b = 0 } :set_flag("is_admin") :set_flag("is_spectator") :set_flag("report-immune") :set_flag("instant-respawn") - :set_parent("Trainee") + :set_parent("Trainee Moderator") :allow{ - "command/assign-role", - "command/unassign-role", - "command/repair", - "command/kill/always", - "command/clear-tag/always", - "command/spawn/always", - "command/clear-reports", - "command/clear-warnings", - "command/clear-script-warnings", - "command/clear-last-warnings", - "command/clear-inventory", - "command/kill-enemies", - "command/remove-enemies", - --'command/bonus', - "command/home", - "command/set-home", - "command/get-home", - "command/return", - "command/connect-player", - "command/set-bot-queue", - "command/set-game-speed", - "command/set-friendly-fire", - "command/set-always-day", - "command/set-pollution-enabled", - "command/clear-pollution", - "gui/rocket-info/toggle-active", - "gui/rocket-info/remote_launch", - "gui/bonus", - "fast-tree-decon", } -Roles.new_role("Trainee", "TrMod") - :set_permission_group("Admin") +Roles.new_role("Trainee Moderator", "Trainee") + :set_permission_group("Mod") :set_custom_color{ r = 0, g = 170, b = 0 } :set_flag("is_admin") :set_flag("is_spectator") :set_flag("report-immune") - :set_parent("Veteran") + :set_parent("Board Member") :allow{ + "command/assign-role", + "command/unassign-role", "command/admin-chat", - "command/goto", + "command/protect-tag", "command/teleport", "command/bring", "command/create-warning", @@ -115,19 +99,30 @@ Roles.new_role("Trainee", "TrMod") "command/get-reports", "command/protect-entity", "command/protect-area", - "command/protect-tag", - "command/jail", - "command/unjail", "command/kick", "command/ban", - "command/spectate", - "command/follow", "command/search", "command/search-online", "command/search-amount", "command/search-recent", - "command/clear-blueprints", - "gui/playerdata", + "command/clear-pollution", + "command/set-pollution-enabled", + "command/set-bot-queue", + "command/set-game-speed", + "command/kill-enemies", + "command/remove-enemies", + "command/set-friendly-fire", + "command/set-always-day", + "command/clear-reports", + "command/clear-warnings", + "command/clear-script-warnings", + "command/clear-last-warnings", + "command/clear-inventory", + "command/connect-player", + "command/kill/always", + -- "command/clear-tag/always", + "command/spawn/always", + "gui/playerdata" } --- Trusted Roles @@ -137,81 +132,85 @@ Roles.new_role("Board Member", "Board") :set_flag("is_spectator") :set_flag("report-immune") :set_flag("instant-respawn") - :set_parent("Sponsor") - :allow{ - "command/goto", - "command/repair", - "command/spectate", - "command/follow", - "gui/playerdata", - } - -Roles.new_role("Senior Backer", "Backer") - :set_permission_group("Trusted") - :set_custom_color{ r = 238, g = 172, b = 44 } - :set_flag("is_spectator") - :set_flag("report-immune") - :set_flag("instant-respawn") - :set_parent("Sponsor") - :allow{ - } - -Roles.new_role("Sponsor", "Spon") - :set_permission_group("Trusted") - :set_custom_color{ r = 238, g = 172, b = 44 } - :set_flag("is_spectator") - :set_flag("report-immune") - :set_flag("instant-respawn") :set_parent("Supporter") :allow{ - "gui/rocket-info/toggle-active", - "gui/rocket-info/remote_launch", - "gui/bonus", - --"command/bonus", - "command/home", - "command/set-home", - "command/get-home", - "command/return", - "fast-tree-decon", } Roles.new_role("Supporter", "Sup") :set_permission_group("Trusted") :set_custom_color{ r = 230, g = 99, b = 34 } :set_flag("is_spectator") - :set_parent("Veteran") + :set_parent("Partner") :allow{ - "command/tag-color", - "command/jail", - "command/unjail", - "command/set-join-message", - "command/remove-join-message", } Roles.new_role("Partner", "Part") :set_permission_group("Trusted") - :set_custom_color{ r = 140, g = 120, b = 200 } + :set_custom_color{ r = 24, g = 172, b = 188 } :set_flag("is_spectator") - :set_parent("Veteran") + :set_parent("Senior Member") :allow{ - "command/jail", - "command/unjail", } -local hours10, hours250 = 10 * 216000, 250 * 60 +Roles.new_role("Senior Member", "SMem") + :set_permission_group("Trusted") + :set_custom_color{ r = 24, g = 172, b = 188 } + :set_flag("is_spectator") + :set_parent("Member") + :allow{ + "command/set-join-message", + "command/remove-join-message", + "command/goto", + "command/jail", + "command/unjail", + "command/spectate", + "command/follow", + "command/repair" + } + +--- Standard User Roles +Roles.new_role("Member", "Mem") + :set_permission_group("Standard") + :set_custom_color{ r = 24, g = 172, b = 188 } + :set_flag("deconlog-bypass") + :set_parent("Veteran") + :allow{ + "gui/vlayer-edit", + "gui/rocket-info/toggle-active", + "gui/rocket-info/remote_launch", + "gui/tool", + -- "command/tag-color", + "command/clear-blueprints", + --"command/bonus", + "gui/bonus", + "command/personal-logistic", + "command/home", + "command/set-home", + "command/get-home", + "command/return", + "fast-tree-decon" + } + +local hours6, hours250 = 6 * 216000, 250 * 60 Roles.new_role("Veteran", "Vet") :set_permission_group("Trusted") :set_custom_color{ r = 140, g = 120, b = 200 } - :set_parent("Member") + :set_parent("Regular") :allow{ + "gui/surveillance", + "gui/warp-list/add", + "gui/warp-list/edit", "command/chat-bot", "command/clear-ground-items", "command/clear-blueprints-radius", "command/set-trains-to-automatic", "command/set-auto-research", + "command/lawnmower", + "command/waterfill", + "command/artillery" } :set_auto_assign_condition(function(player) - if player.online_time >= hours10 then + if player.online_time >= hours6 then return true else local stats = Statistics:get(player, {}) @@ -220,44 +219,25 @@ Roles.new_role("Veteran", "Vet") end end) ---- Standard User Roles -Roles.new_role("Member", "Mem") - :set_permission_group("Standard") - :set_custom_color{ r = 24, g = 172, b = 188 } - :set_flag("deconlog-bypass") - :set_parent("Regular") - :allow{ - "gui/task-list/add", - "gui/task-list/edit", - "gui/warp-list/add", - "gui/warp-list/edit", - "gui/surveillance", - "gui/vlayer-edit", - "gui/tool", - "command/save-quickbar", - "command/vlayer-info", - "command/personal-logistic", - "command/lawnmower", - "command/waterfill", - "command/artillery", - } - -local hours3, hours15 = 3 * 216000, 15 * 60 +local hours1, hours15 = 1 * 216000, 15 * 60 Roles.new_role("Regular", "Reg") :set_permission_group("Standard") :set_custom_color{ r = 79, g = 155, b = 163 } :set_parent("Guest") :allow{ + "gui/task-list/add", + "gui/task-list/edit", "command/kill", "command/rainbow", "command/spawn", "command/me", + "command/vlayer-info", "standard-decon", "bypass-entity-protection", - "bypass-nukeprotect", + "bypass-nukeprotect" } :set_auto_assign_condition(function(player) - if player.online_time >= hours3 then + if player.online_time >= hours1 then return true else local stats = Statistics:get(player, {}) @@ -271,8 +251,8 @@ local default = Roles.new_role("Guest", "") :set_permission_group("Guest") :set_custom_color{ r = 185, g = 187, b = 160 } :allow{ - "command/tag", - "command/tag-clear", + -- "command/tag", + -- "command/tag-clear", "command/commands", "command/get-role", "command/locate", @@ -280,6 +260,7 @@ local default = Roles.new_role("Guest", "") "command/ratio", "command/server-ups", "command/save-data", + "command/save-quickbar", "command/data-preference", "command/connect", "gui/player-list", @@ -312,57 +293,63 @@ Roles.define_role_order{ "System", -- Best to keep root at top "Senior Administrator", "Administrator", + "Senior Moderator", "Moderator", - "Trainee", + "Trainee Moderator", "Board Member", - "Senior Backer", - "Sponsor", "Supporter", "Partner", - "Veteran", + "Senior Member", "Member", + "Veteran", "Regular", "Jail", - "Guest", -- Default must be last if you want to apply restrictions to other roles + "Guest" -- Default must be last if you want to apply restrictions to other roles } Roles.override_player_roles{ - ["PHIDIAS0303"] = { "Moderator", "Board Member", "Member" }, - ["aldldl"] = { "Administrator", "Moderator", "Member" }, - ["arty714"] = { "Senior Administrator", "Moderator", "Member" }, - ["Cooldude2606"] = { "Senior Administrator", "Moderator", "Member" }, - ["Drahc_pro"] = { "Administrator", "Moderator", "Member" }, - ["mark9064"] = { "Administrator", "Moderator", "Member" }, - ["7h3w1z4rd"] = { "Moderator", "Member" }, - ["FlipHalfling90"] = { "Moderator", "Member" }, - ["hamsterbryan"] = { "Moderator", "Member" }, - ["HunterOfGames"] = { "Moderator", "Member" }, - ["NextIdea"] = { "Moderator", "Member" }, - ["TheKernel32"] = { "Moderator", "Member" }, - ["TheKernel64"] = { "Moderator", "Member" }, - ["tovernaar123"] = { "Moderator", "Member" }, - ["UUBlueFire"] = { "Moderator", "Member" }, - ["AssemblyStorm"] = { "Moderator", "Member" }, - ["banakeg"] = { "Moderator", "Member" }, - ["connormkii"] = { "Moderator", "Member" }, - ["cydes"] = { "Moderator", "Member" }, - ["darklich14"] = { "Moderator", "Member" }, - ["facere"] = { "Moderator", "Member" }, - ["freek18"] = { "Moderator", "Member" }, - ["Gizan"] = { "Moderator", "Member" }, - ["LoicB"] = { "Moderator", "Member" }, - ["M74132"] = { "Moderator", "Member" }, - ["mafisch3"] = { "Moderator", "Member" }, - ["maplesyrup01"] = { "Moderator", "Member" }, - ["ookl"] = { "Moderator", "Member" }, - ["Phoenix27833"] = { "Moderator", "Member" }, - ["porelos"] = { "Moderator", "Member" }, - ["Ruuyji"] = { "Moderator", "Member" }, - ["samy115"] = { "Moderator", "Member" }, - ["SilentLog"] = { "Moderator", "Member" }, - ["Tcheko"] = { "Moderator", "Member" }, - ["thadius856"] = { "Moderator", "Member" }, - ["whoami32"] = { "Moderator", "Member" }, - ["Windbomb"] = { "Moderator", "Member" }, - ["XenoCyber"] = { "Moderator", "Member" }, + ["PHIDIAS0303"] = { "Senior Administrator" }, + ["majoro"] = { "Trainee Moderator" }, + ["konohaScarlet_"] = { "Trainee Moderator" }, + ["hihicome3"] = { "Trainee Moderator" }, + ["Athenaa"] = { "Trainee Moderator" }, + ["rongli"] = { "Trainee Moderator" }, + ["JamesJung"] = { "Trainee Moderator" }, + ["aldldl"] = { "Moderator" }, + ["arty714"] = { "Moderator" }, + ["Cooldude2606"] = { "Moderator" }, + ["Drahc_pro"] = { "Moderator" }, + ["mark9064"] = { "Moderator" }, + ["7h3w1z4rd"] = { "Moderator" }, + ["FlipHalfling90"] = { "Moderator" }, + ["hamsterbryan"] = { "Moderator" }, + ["HunterOfGames"] = { "Moderator" }, + ["NextIdea"] = { "Moderator" }, + ["TheKernel32"] = { "Moderator" }, + ["TheKernel64"] = { "Moderator" }, + ["tovernaar123"] = { "Moderator" }, + ["UUBlueFire"] = { "Moderator" }, + ["AssemblyStorm"] = { "Moderator" }, + ["banakeg"] = { "Moderator" }, + ["connormkii"] = { "Moderator" }, + ["cydes"] = { "Moderator" }, + ["darklich14"] = { "Moderator" }, + ["facere"] = { "Moderator" }, + ["freek18"] = { "Moderator" }, + ["Gizan"] = { "Moderator" }, + ["LoicB"] = { "Moderator" }, + ["M74132"] = { "Moderator" }, + ["mafisch3"] = { "Moderator" }, + ["maplesyrup01"] = { "Moderator" }, + ["ookl"] = { "Moderator" }, + ["Phoenix27833"] = { "Moderator" }, + ["porelos"] = { "Moderator" }, + ["Ruuyji"] = { "Moderator" }, + ["samy115"] = { "Moderator" }, + ["SilentLog"] = { "Moderator" }, + ["Tcheko"] = { "Moderator" }, + ["thadius856"] = { "Moderator" }, + ["whoami32"] = { "Moderator" }, + ["Windbomb"] = { "Moderator" }, + ["XenoCyber"] = { "Moderator" } } diff --git a/exp_legacy/module/config/join_messages.lua b/exp_legacy/module/config/join_messages.lua index 61278a2f..97aeaddb 100644 --- a/exp_legacy/module/config/join_messages.lua +++ b/exp_legacy/module/config/join_messages.lua @@ -1,8 +1,2 @@ return { - Cooldude2606 = "Lua lets you set metatables on numbers, did you know that? Cooldude2606 knows this.", - samy115 = "Tremble in fear as the banhammer is now here, its owner: samy115", - XenoCyber = '"Fire Fire Fire" oops wrong game, have no fear XenoCyber is here', - HunterOfGames = "Unable to support HunterOfGames. You must construct additional miners.", - ookl = 'ookl says: "Pineapples are amazing, hello everyone!"', - arty714 = "Arty\'s Potato made it!", } diff --git a/exp_legacy/module/config/spawn_area.lua b/exp_legacy/module/config/spawn_area.lua index 3d6c0d80..5540faa0 100644 --- a/exp_legacy/module/config/spawn_area.lua +++ b/exp_legacy/module/config/spawn_area.lua @@ -4,180 +4,80 @@ return { spawn_area = { --- @setting spawn_area Settings relating to the whole spawn area -- Enable predefined patches: 128, else: 32 - deconstruction_radius = 20, -- @setting deconstruction_radius All entities within this radius will be removed - tile_radius = 20, - deconstruction_tile = "concrete", --- @setting deconstruction_tile Tile to be placed in the deconstruction radius, use nil for map gen - landfill_radius = 50, --- @setting pattern_radius All water within this radius will be land filled + deconstruction_radius = 12, -- @setting deconstruction_radius All entities within this radius will be removed + deconstruction_tile = 'refined-concrete', --- @setting deconstruction_tile Tile to be placed in the deconstruction radius, use nil for map gen + tile_radius = 14, + landfill_radius = 16, --- @setting pattern_radius All water within this radius will be land filled }, turrets = { --- @setting turrets Settings relating to adding turrets to spawn enabled = true, --- @setting enabled Whether turrets will be added to spawn - ammo_type = "uranium-rounds-magazine", --- @setting ammo_type The ammo type that will be used during refills - refill_time = 60 * 60 * 5, --- @setting refill_time The time in ticks between each refill of the turrets, only change if having lag issues - offset = { x = 0, y = 0 }, --- @setting offset The position offset to apply to turrets + ammo_type = 'uranium-rounds-magazine', --- @setting ammo_type The ammo type that will be used during refills + refill_time = 60*60*5, --- @setting refill_time The time in ticks between each refill of the turrets, only change if having lag issues + offset = {x=0, y=0}, --- @setting offset The position offset to apply to turrets locations = { --- @setting locations The locations of all turrets, this list can change during runtime - { surface = 1, position = { x = -3, y = -3 } }, - { surface = 1, position = { x = 3, y = -3 } }, - { surface = 1, position = { x = -3, y = 3 } }, - { surface = 1, position = { x = 3, y = 3 } }, - }, + {surface=1, position={x=2, y=2}}, + {surface=1, position={x=2, y=-2}}, + {surface=1, position={x=-2, y=2}}, + {surface=1, position={x=-2, y=-2}}, + } }, afk_belts = { --- @setting afk_belts Settings relating to adding afk belts to spawn enabled = true, --- @setting enabled Whether afk belts will be added to spawn - belt_type = "transport-belt", --- @setting belt_type The belt to be used as afk belts + belt_type = 'transport-belt', --- @setting belt_type The belt to be used as afk belts protected = true, --- @setting protected Whether belts will be protected from player interaction - offset = { x = 0, y = 0 }, --- @setting offset The position offset to apply to afk belts - locations = { --- @setting locations The locations to spawn afk belts at, given as the top left position - { -5, -5 }, { 5, -5 }, - { -5, 5 }, { 5, 5 }, - }, + offset = {x=0, y=0}, --- @setting offset The position offset to apply to afk belts + locations={ --- @setting locations The locations to spawn afk belts at, given as the top left position + {4, 4}, + {4, -4}, + {-4, 4}, + {-4, -4} + } }, water = { --- @setting water Settings relating to adding water to spawn enabled = true, --- @setting enabled Whether water tiles will be added to spawn - water_tile = "water-mud", --- @setting water_tile The tile to be used as the water tile - offset = { x = 0, y = 0 }, --- @setting offset The position offset to apply to water tiles + water_tile = 'water-mud', --- @setting water_tile The tile to be used as the water tile + offset = {x=0, y=0}, --- @setting offset The position offset to apply to water tiles locations = { --- @setting locations The location of the water tiles {x,y} -- Each is a 3x3 with the closest tile to 0,0 removed - { 7, 8 }, { 7, 9 }, { 8, 7 }, { 8, 8 }, { 8, 9 }, { 9, 7 }, { 9, 8 }, { 9, 9 }, -- Bottom Right - { 7, -9 }, { 7, -10 }, { 8, -8 }, { 8, -9 }, { 8, -10 }, { 9, -8 }, { 9, -9 }, { 9, -10 }, -- Top Right - { -8, -9 }, { -8, -10 }, { -9, -8 }, { -9, -9 }, { -9, -10 }, { -10, -8 }, { -10, -9 }, { -10, -10 }, -- Top Left - { -8, 8 }, { -8, 9 }, { -9, 7 }, { -9, 8 }, { -9, 9 }, { -10, 7 }, { -10, 8 }, { -10, 9 }, -- Bottom Left - }, + {5, 6}, {5, 7}, {6, 5}, {6, 6}, {6, 7}, {7, 5}, {7, 6}, {7, 7}, + {5, -7}, {5, -8}, {6, -6}, {6, -7}, {6, -8}, {7, -6}, {7, -7}, {7, -8}, + {-6, 6}, {-6, 7}, {-7, 5}, {-7, 6}, {-7, 7}, {-8, 5}, {-8, 6}, {-8, 7}, + {-6, -7}, {-6, -8}, {-7, -6}, {-7, -7}, {-7, -8}, {-8, -6}, {-8, -7}, {-8, -8}, + } }, entities = { --- @setting entities Settings relating to adding entities to spawn - enabled = true, --- @setting enabled Whether entities will be added to spawn + enabled = true, --- @setting enabled Whether entities will be added to spawn protected = true, --- @setting protected Whether entities will be protected from player interaction operable = true, --- @setting operable Whether entities can be opened by players, must be true if chests are used - offset = { x = 0, y = -2 }, --- @setting offset The position offset to apply to entities + offset = {x=0, y=0}, --- @setting offset The position offset to apply to entities locations = { --- @setting locations The location and names of entities {name,x,y} - { "stone-wall", -10, -5 }, { "stone-wall", -10, -4 }, { "stone-wall", -10, -3 }, { "stone-wall", -10, -2 }, { "stone-wall", -10, -1 }, { "stone-wall", -10, 0 }, { "stone-wall", -10, 3 }, { "stone-wall", -10, 4 }, { "stone-wall", -10, 5 }, - { "stone-wall", -10, 6 }, { "stone-wall", -10, 7 }, { "stone-wall", -10, 8 }, { "small-lamp", -8, -4 }, { "small-lamp", -8, -1 }, { "iron-chest", -8, 0 }, { "iron-chest", -8, 3 }, { "small-lamp", -8, 4 }, - { "small-lamp", -8, 7 }, { "stone-wall", -7, -8 }, { "small-electric-pole", -7, -2 }, { "iron-chest", -7, 0 }, { "iron-chest", -7, 3 }, { "small-electric-pole", -7, 5 }, { "stone-wall", -7, 11 }, { "stone-wall", -6, -8 }, { "small-lamp", -6, -6 }, - { "iron-chest", -6, 0 }, { "iron-chest", -6, 3 }, { "small-lamp", -6, 9 }, { "stone-wall", -6, 11 }, { "stone-wall", -5, -8 }, { "small-lamp", -5, -1 }, { "iron-chest", -5, 0 }, { "iron-chest", -5, 3 }, { "small-lamp", -5, 4 }, { "stone-wall", -5, 11 }, - { "stone-wall", -4, -8 }, { "small-electric-pole", -4, -5 }, { "iron-chest", -4, 0 }, { "iron-chest", -4, 3 }, { "small-electric-pole", -4, 8 }, { "stone-wall", -4, 11 }, { "stone-wall", -3, -8 }, { "small-lamp", -3, -6 }, { "small-lamp", -3, -3 }, { "small-lamp", -3, 6 }, - { "small-lamp", -3, 9 }, { "stone-wall", -3, 11 }, { "stone-wall", -2, -8 }, { "iron-chest", -2, -6 }, { "iron-chest", -2, -5 }, { "iron-chest", -2, -4 }, { "iron-chest", -2, -3 }, { "iron-chest", -2, -2 }, { "iron-chest", -2, 5 }, { "iron-chest", -2, 6 }, - { "iron-chest", -2, 7 }, { "iron-chest", -2, 8 }, { "iron-chest", -2, 9 }, { "stone-wall", -2, 11 }, { "stone-wall", 1, -8 }, { "iron-chest", 1, -6 }, - { "iron-chest", 1, -5 }, { "iron-chest", 1, -4 }, { "iron-chest", 1, -3 }, { "iron-chest", 1, -2 }, { "iron-chest", 1, 5 }, { "iron-chest", 1, 6 }, { "iron-chest", 1, 7 }, { "iron-chest", 1, 8 }, { "iron-chest", 1, 9 }, { "stone-wall", 1, 11 }, - { "stone-wall", 2, -8 }, { "small-lamp", 2, -6 }, { "small-lamp", 2, -3 }, { "small-lamp", 2, 6 }, { "small-lamp", 2, 9 }, { "stone-wall", 2, 11 }, { "stone-wall", 3, -8 }, { "small-electric-pole", 3, -5 }, { "iron-chest", 3, 0 }, { "iron-chest", 3, 3 }, - { "small-electric-pole", 3, 8 }, { "stone-wall", 3, 11 }, { "stone-wall", 4, -8 }, { "small-lamp", 4, -1 }, { "iron-chest", 4, 0 }, { "iron-chest", 4, 3 }, { "small-lamp", 4, 4 }, { "stone-wall", 4, 11 }, { "stone-wall", 5, -8 }, { "small-lamp", 5, -6 }, - { "iron-chest", 5, 0 }, { "iron-chest", 5, 3 }, { "small-lamp", 5, 9 }, { "stone-wall", 5, 11 }, { "stone-wall", 6, -8 }, { "small-electric-pole", 6, -2 }, { "iron-chest", 6, 0 }, { "iron-chest", 6, 3 }, { "small-electric-pole", 6, 5 }, { "stone-wall", 6, 11 }, - { "small-lamp", 7, -4 }, { "small-lamp", 7, -1 }, { "iron-chest", 7, 0 }, { "iron-chest", 7, 3 }, { "small-lamp", 7, 4 }, { "small-lamp", 7, 7 }, { "stone-wall", 9, -5 }, - { "stone-wall", 9, -4 }, { "stone-wall", 9, -3 }, { "stone-wall", 9, -2 }, { "stone-wall", 9, -1 }, { "stone-wall", 9, 0 }, { "stone-wall", 9, 3 }, { "stone-wall", 9, 4 }, { "stone-wall", 9, 5 }, { "stone-wall", 9, 6 }, { "stone-wall", 9, 7 }, - { "stone-wall", 9, 8 }, - }, + {'steel-chest', 1, 3}, {'steel-chest', 1, 4}, {'steel-chest', 1, 5}, + {'steel-chest', 3, 1}, {'steel-chest', 4, 1}, {'steel-chest', 5, 1}, + {'steel-chest', 1, -4}, {'steel-chest', 1, -5}, {'steel-chest', 1, -6}, + {'steel-chest', 3, -2}, {'steel-chest', 4, -2}, {'steel-chest', 5, -2}, + {'steel-chest', -2, 3}, {'steel-chest', -2, 4}, {'steel-chest', -2, 5}, + {'steel-chest', -4, 1}, {'steel-chest', -5, 1}, {'steel-chest', -6, 1}, + {'steel-chest', -2, -4}, {'steel-chest', -2, -5}, {'steel-chest', -2, -6}, + {'steel-chest', -4, -2}, {'steel-chest', -5, -2}, {'steel-chest', -6, -2}, + {'medium-electric-pole', 2, 3}, {'medium-electric-pole', 2, -4}, {'medium-electric-pole', -3, 3}, {'medium-electric-pole', -3, -4}, + {'small-lamp', 2, 4}, {'small-lamp', 2, -5}, {'small-lamp', -3, 4}, {'small-lamp', -3, -5}, + {'small-lamp', 4, 2}, {'small-lamp', 4, -3}, {'small-lamp', -5, 2}, {'small-lamp', -5, -3}, + {'stone-wall', 1, 7}, {'stone-wall', 2, 7}, {'stone-wall', 3, 7}, {'stone-wall', 4, 7}, + {'stone-wall', 7, 1}, {'stone-wall', 7, 2}, {'stone-wall', 7, 3}, {'stone-wall', 7, 4}, + {'stone-wall', 1, -8}, {'stone-wall', 2, -8}, {'stone-wall', 3, -8}, {'stone-wall', 4, -8}, + {'stone-wall', 7, -2}, {'stone-wall', 7, -3}, {'stone-wall', 7, -4}, {'stone-wall', 7, -5}, + {'stone-wall', -2, 7}, {'stone-wall', -3, 7}, {'stone-wall', -4, 7}, {'stone-wall', -5, 7}, + {'stone-wall', -8, 1}, {'stone-wall', -8, 2}, {'stone-wall', -8, 3}, {'stone-wall', -8, 4}, + {'stone-wall', -2, -8}, {'stone-wall', -3, -8}, {'stone-wall', -4, -8}, {'stone-wall', -5, -8}, + {'stone-wall', -8, -2}, {'stone-wall', -8, -3}, {'stone-wall', -8, -4}, {'stone-wall', -8, -5}, + } }, pattern = { - enabled = true, --- @setting enabled Whether pattern tiles will be added to spawn - pattern_tile = "stone-path", --- @setting pattern_tile The tile to be used for the pattern - offset = { x = 0, y = -2 }, --- @setting offset The position offset to apply to pattern tiles + enabled = false, --- @setting enabled Whether pattern tiles will be added to spawn + pattern_tile = 'refined-concrete', --- @setting pattern_tile The tile to be used for the pattern + offset = {x=0, y=0}, --- @setting offset The position offset to apply to pattern tiles locations = { --- @setting locations The location of the pattern tiles {x,y} - { -49, -3 }, { -49, -2 }, { -49, 1 }, { -49, 2 }, { -49, 5 }, { -49, 6 }, { -48, -4 }, { -48, -3 }, { -48, -2 }, { -48, 1 }, { -48, 2 }, { -48, 5 }, { -48, 6 }, { -48, 7 }, { -47, -7 }, { -47, -6 }, { -47, -5 }, { -47, -4 }, { -47, -3 }, { -47, -2 }, { -47, 5 }, { -47, 6 }, { -47, 7 }, { -47, 8 }, { -47, 9 }, { -47, 10 }, { -46, -8 }, { -46, -7 }, { -46, -6 }, { -46, -5 }, - { -46, -4 }, { -46, -3 }, { -46, -2 }, { -46, -1 }, { -46, 4 }, { -46, 5 }, { -46, 6 }, { -46, 7 }, { -46, 8 }, { -46, 9 }, { -46, 10 }, { -46, 11 }, { -45, -17 }, { -45, -16 }, { -45, -15 }, { -45, -14 }, { -45, -13 }, { -45, -12 }, { -45, -9 }, { -45, -8 }, { -45, -7 }, { -45, -2 }, { -45, -1 }, { -45, 0 }, { -45, 1 }, { -45, 2 }, { -45, 3 }, { -45, 4 }, { -45, 5 }, { -45, 10 }, - { -45, 11 }, { -45, 12 }, { -45, 15 }, { -45, 16 }, { -45, 17 }, { -45, 18 }, { -45, 19 }, { -45, 20 }, { -44, -18 }, { -44, -17 }, { -44, -16 }, { -44, -15 }, { -44, -14 }, { -44, -13 }, { -44, -12 }, { -44, -9 }, { -44, -8 }, { -44, -1 }, { -44, 0 }, { -44, 1 }, { -44, 2 }, { -44, 3 }, { -44, 4 }, { -44, 11 }, { -44, 12 }, { -44, 15 }, { -44, 16 }, { -44, 17 }, { -44, 18 }, { -44, 19 }, - { -44, 20 }, { -44, 21 }, { -43, -19 }, { -43, -18 }, { -43, -17 }, { -43, -1 }, { -43, 0 }, { -43, 1 }, { -43, 2 }, { -43, 3 }, { -43, 4 }, { -43, 20 }, { -43, 21 }, { -43, 22 }, { -42, -19 }, { -42, -18 }, { -42, -1 }, { -42, 0 }, { -42, 1 }, { -42, 2 }, { -42, 3 }, { -42, 4 }, { -42, 21 }, { -42, 22 }, { -41, -25 }, { -41, -24 }, { -41, -19 }, { -41, -18 }, { -41, -13 }, { -41, -12 }, - { -41, -11 }, { -41, -10 }, { -41, -5 }, { -41, -4 }, { -41, 7 }, { -41, 8 }, { -41, 13 }, { -41, 14 }, { -41, 15 }, { -41, 16 }, { -41, 21 }, { -41, 22 }, { -41, 27 }, { -41, 28 }, { -40, -26 }, { -40, -25 }, { -40, -24 }, { -40, -20 }, { -40, -19 }, { -40, -18 }, { -40, -13 }, { -40, -12 }, { -40, -11 }, { -40, -10 }, { -40, -5 }, { -40, -4 }, { -40, 7 }, { -40, 8 }, { -40, 13 }, { -40, 14 }, - { -40, 15 }, { -40, 16 }, { -40, 21 }, { -40, 22 }, { -40, 23 }, { -40, 27 }, { -40, 28 }, { -40, 29 }, { -39, -27 }, { -39, -26 }, { -39, -25 }, { -39, -24 }, { -39, -21 }, { -39, -20 }, { -39, -19 }, { -39, -13 }, { -39, -12 }, { -39, -5 }, { -39, -4 }, { -39, -3 }, { -39, -2 }, { -39, -1 }, { -39, 0 }, { -39, 1 }, { -39, 2 }, { -39, 3 }, { -39, 4 }, { -39, 5 }, { -39, 6 }, { -39, 7 }, - { -39, 8 }, { -39, 15 }, { -39, 16 }, { -39, 22 }, { -39, 23 }, { -39, 24 }, { -39, 27 }, { -39, 28 }, { -39, 29 }, { -39, 30 }, { -38, -27 }, { -38, -26 }, { -38, -25 }, { -38, -24 }, { -38, -21 }, { -38, -20 }, { -38, -13 }, { -38, -12 }, { -38, -5 }, { -38, -4 }, { -38, -3 }, { -38, -2 }, { -38, -1 }, { -38, 0 }, { -38, 1 }, { -38, 2 }, { -38, 3 }, { -38, 4 }, { -38, 5 }, { -38, 6 }, - { -38, 7 }, { -38, 8 }, { -38, 15 }, { -38, 16 }, { -38, 23 }, { -38, 24 }, { -38, 27 }, { -38, 28 }, { -38, 29 }, { -38, 30 }, { -37, -17 }, { -37, -16 }, { -37, -13 }, { -37, -12 }, { -37, -11 }, { -37, -10 }, { -37, -4 }, { -37, -3 }, { -37, -2 }, { -37, -1 }, { -37, 0 }, { -37, 3 }, { -37, 4 }, { -37, 5 }, { -37, 6 }, { -37, 7 }, { -37, 13 }, { -37, 14 }, { -37, 15 }, { -37, 16 }, - { -37, 19 }, { -37, 20 }, { -36, -17 }, { -36, -16 }, { -36, -13 }, { -36, -12 }, { -36, -11 }, { -36, -10 }, { -36, -9 }, { -36, -3 }, { -36, -2 }, { -36, -1 }, { -36, 0 }, { -36, 3 }, { -36, 4 }, { -36, 5 }, { -36, 6 }, { -36, 12 }, { -36, 13 }, { -36, 14 }, { -36, 15 }, { -36, 16 }, { -36, 19 }, { -36, 20 }, { -35, -29 }, { -35, -28 }, { -35, -23 }, { -35, -22 }, { -35, -17 }, { -35, -16 }, - { -35, -12 }, { -35, -11 }, { -35, -10 }, { -35, -9 }, { -35, -8 }, { -35, 11 }, { -35, 12 }, { -35, 13 }, { -35, 14 }, { -35, 15 }, { -35, 19 }, { -35, 20 }, { -35, 25 }, { -35, 26 }, { -35, 31 }, { -35, 32 }, { -34, -30 }, { -34, -29 }, { -34, -28 }, { -34, -23 }, { -34, -22 }, { -34, -17 }, { -34, -16 }, { -34, -15 }, { -34, -11 }, { -34, -10 }, { -34, -9 }, { -34, -8 }, { -34, 11 }, { -34, 12 }, - { -34, 13 }, { -34, 14 }, { -34, 18 }, { -34, 19 }, { -34, 20 }, { -34, 25 }, { -34, 26 }, { -34, 31 }, { -34, 32 }, { -34, 33 }, { -33, -31 }, { -33, -30 }, { -33, -29 }, { -33, -28 }, { -33, -23 }, { -33, -22 }, { -33, -16 }, { -33, -15 }, { -33, -14 }, { -33, -5 }, { -33, -4 }, { -33, -1 }, { -33, 0 }, { -33, 3 }, { -33, 4 }, { -33, 7 }, { -33, 8 }, { -33, 17 }, { -33, 18 }, { -33, 19 }, - { -33, 25 }, { -33, 26 }, { -33, 31 }, { -33, 32 }, { -33, 33 }, { -33, 34 }, { -32, -32 }, { -32, -31 }, { -32, -30 }, { -32, -29 }, { -32, -28 }, { -32, -27 }, { -32, -23 }, { -32, -22 }, { -32, -21 }, { -32, -15 }, { -32, -14 }, { -32, -6 }, { -32, -5 }, { -32, -4 }, { -32, -1 }, { -32, 0 }, { -32, 3 }, { -32, 4 }, { -32, 7 }, { -32, 8 }, { -32, 9 }, { -32, 17 }, { -32, 18 }, { -32, 24 }, - { -32, 25 }, { -32, 26 }, { -32, 30 }, { -32, 31 }, { -32, 32 }, { -32, 33 }, { -32, 34 }, { -32, 35 }, { -31, -33 }, { -31, -32 }, { -31, -31 }, { -31, -30 }, { -31, -29 }, { -31, -28 }, { -31, -27 }, { -31, -26 }, { -31, -22 }, { -31, -21 }, { -31, -20 }, { -31, -19 }, { -31, -18 }, { -31, -11 }, { -31, -10 }, { -31, -9 }, { -31, -8 }, { -31, -7 }, { -31, -6 }, { -31, -5 }, { -31, -1 }, { -31, 0 }, - { -31, 1 }, { -31, 2 }, { -31, 3 }, { -31, 4 }, { -31, 8 }, { -31, 9 }, { -31, 10 }, { -31, 11 }, { -31, 12 }, { -31, 13 }, { -31, 14 }, { -31, 21 }, { -31, 22 }, { -31, 23 }, { -31, 24 }, { -31, 25 }, { -31, 29 }, { -31, 30 }, { -31, 31 }, { -31, 32 }, { -31, 33 }, { -31, 34 }, { -31, 35 }, { -31, 36 }, { -30, -33 }, { -30, -32 }, { -30, -31 }, { -30, -30 }, { -30, -29 }, { -30, -28 }, - { -30, -27 }, { -30, -26 }, { -30, -21 }, { -30, -20 }, { -30, -19 }, { -30, -18 }, { -30, -11 }, { -30, -10 }, { -30, -9 }, { -30, -8 }, { -30, -7 }, { -30, -6 }, { -30, -1 }, { -30, 0 }, { -30, 1 }, { -30, 2 }, { -30, 3 }, { -30, 4 }, { -30, 9 }, { -30, 10 }, { -30, 11 }, { -30, 12 }, { -30, 13 }, { -30, 14 }, { -30, 21 }, { -30, 22 }, { -30, 23 }, { -30, 24 }, { -30, 29 }, { -30, 30 }, - { -30, 31 }, { -30, 32 }, { -30, 33 }, { -30, 34 }, { -30, 35 }, { -30, 36 }, { -29, -37 }, { -29, -36 }, { -29, -30 }, { -29, -29 }, { -29, -28 }, { -29, -27 }, { -29, -26 }, { -29, -15 }, { -29, -14 }, { -29, -10 }, { -29, -9 }, { -29, -8 }, { -29, -7 }, { -29, 10 }, { -29, 11 }, { -29, 12 }, { -29, 13 }, { -29, 17 }, { -29, 18 }, { -29, 29 }, { -29, 30 }, { -29, 31 }, { -29, 32 }, { -29, 33 }, - { -29, 39 }, { -29, 40 }, { -28, -38 }, { -28, -37 }, { -28, -36 }, { -28, -29 }, { -28, -28 }, { -28, -27 }, { -28, -26 }, { -28, -16 }, { -28, -15 }, { -28, -14 }, { -28, -9 }, { -28, -8 }, { -28, 11 }, { -28, 12 }, { -28, 17 }, { -28, 18 }, { -28, 19 }, { -28, 29 }, { -28, 30 }, { -28, 31 }, { -28, 32 }, { -28, 39 }, { -28, 40 }, { -28, 41 }, { -27, -39 }, { -27, -38 }, { -27, -37 }, { -27, -36 }, - { -27, -23 }, { -27, -22 }, { -27, -19 }, { -27, -18 }, { -27, -17 }, { -27, -16 }, { -27, -15 }, { -27, -5 }, { -27, -4 }, { -27, -1 }, { -27, 0 }, { -27, 1 }, { -27, 2 }, { -27, 3 }, { -27, 4 }, { -27, 7 }, { -27, 8 }, { -27, 18 }, { -27, 19 }, { -27, 20 }, { -27, 21 }, { -27, 22 }, { -27, 25 }, { -27, 26 }, { -27, 39 }, { -27, 40 }, { -27, 41 }, { -27, 42 }, { -26, -39 }, { -26, -38 }, - { -26, -37 }, { -26, -36 }, { -26, -24 }, { -26, -23 }, { -26, -22 }, { -26, -19 }, { -26, -18 }, { -26, -17 }, { -26, -16 }, { -26, -6 }, { -26, -5 }, { -26, -4 }, { -26, -1 }, { -26, 0 }, { -26, 1 }, { -26, 2 }, { -26, 3 }, { -26, 4 }, { -26, 7 }, { -26, 8 }, { -26, 9 }, { -26, 19 }, { -26, 20 }, { -26, 21 }, { -26, 22 }, { -26, 25 }, { -26, 26 }, { -26, 27 }, { -26, 39 }, { -26, 40 }, - { -26, 41 }, { -26, 42 }, { -25, -33 }, { -25, -32 }, { -25, -31 }, { -25, -30 }, { -25, -25 }, { -25, -24 }, { -25, -23 }, { -25, -22 }, { -25, -19 }, { -25, -18 }, { -25, -17 }, { -25, -9 }, { -25, -8 }, { -25, -7 }, { -25, -6 }, { -25, -5 }, { -25, -4 }, { -25, -1 }, { -25, 0 }, { -25, 1 }, { -25, 2 }, { -25, 3 }, { -25, 4 }, { -25, 7 }, { -25, 8 }, { -25, 9 }, { -25, 10 }, { -25, 11 }, - { -25, 12 }, { -25, 20 }, { -25, 21 }, { -25, 22 }, { -25, 25 }, { -25, 26 }, { -25, 27 }, { -25, 28 }, { -25, 33 }, { -25, 34 }, { -25, 35 }, { -25, 36 }, { -24, -33 }, { -24, -32 }, { -24, -31 }, { -24, -30 }, { -24, -29 }, { -24, -25 }, { -24, -24 }, { -24, -23 }, { -24, -22 }, { -24, -19 }, { -24, -18 }, { -24, -9 }, { -24, -8 }, { -24, -7 }, { -24, -6 }, { -24, -5 }, { -24, -4 }, { -24, -1 }, - { -24, 0 }, { -24, 1 }, { -24, 2 }, { -24, 3 }, { -24, 4 }, { -24, 7 }, { -24, 8 }, { -24, 9 }, { -24, 10 }, { -24, 11 }, { -24, 12 }, { -24, 21 }, { -24, 22 }, { -24, 25 }, { -24, 26 }, { -24, 27 }, { -24, 28 }, { -24, 32 }, { -24, 33 }, { -24, 34 }, { -24, 35 }, { -24, 36 }, { -23, -37 }, { -23, -36 }, { -23, -30 }, { -23, -29 }, { -23, -28 }, { -23, -19 }, { -23, -18 }, { -23, -15 }, - { -23, -14 }, { -23, -9 }, { -23, -8 }, { -23, -7 }, { -23, -6 }, { -23, -5 }, { -23, 0 }, { -23, 1 }, { -23, 2 }, { -23, 3 }, { -23, 8 }, { -23, 9 }, { -23, 10 }, { -23, 11 }, { -23, 12 }, { -23, 17 }, { -23, 18 }, { -23, 21 }, { -23, 22 }, { -23, 31 }, { -23, 32 }, { -23, 33 }, { -23, 39 }, { -23, 40 }, { -22, -38 }, { -22, -37 }, { -22, -36 }, { -22, -29 }, { -22, -28 }, { -22, -19 }, - { -22, -18 }, { -22, -15 }, { -22, -14 }, { -22, -13 }, { -22, -9 }, { -22, -8 }, { -22, -7 }, { -22, -6 }, { -22, 1 }, { -22, 2 }, { -22, 9 }, { -22, 10 }, { -22, 11 }, { -22, 12 }, { -22, 16 }, { -22, 17 }, { -22, 18 }, { -22, 21 }, { -22, 22 }, { -22, 31 }, { -22, 32 }, { -22, 39 }, { -22, 40 }, { -22, 41 }, { -21, -41 }, { -21, -40 }, { -21, -39 }, { -21, -38 }, { -21, -37 }, { -21, -29 }, - { -21, -28 }, { -21, -25 }, { -21, -24 }, { -21, -23 }, { -21, -22 }, { -21, -21 }, { -21, -20 }, { -21, -19 }, { -21, -18 }, { -21, -15 }, { -21, -14 }, { -21, -13 }, { -21, -12 }, { -21, -3 }, { -21, -2 }, { -21, 5 }, { -21, 6 }, { -21, 15 }, { -21, 16 }, { -21, 17 }, { -21, 18 }, { -21, 21 }, { -21, 22 }, { -21, 23 }, { -21, 24 }, { -21, 25 }, { -21, 26 }, { -21, 27 }, { -21, 28 }, { -21, 31 }, - { -21, 32 }, { -21, 40 }, { -21, 41 }, { -21, 42 }, { -21, 43 }, { -21, 44 }, { -20, -42 }, { -20, -41 }, { -20, -40 }, { -20, -39 }, { -20, -38 }, { -20, -29 }, { -20, -28 }, { -20, -25 }, { -20, -24 }, { -20, -23 }, { -20, -22 }, { -20, -21 }, { -20, -20 }, { -20, -19 }, { -20, -18 }, { -20, -15 }, { -20, -14 }, { -20, -13 }, { -20, -12 }, { -20, -3 }, { -20, -2 }, { -20, -1 }, { -20, 4 }, { -20, 5 }, - { -20, 6 }, { -20, 15 }, { -20, 16 }, { -20, 17 }, { -20, 18 }, { -20, 21 }, { -20, 22 }, { -20, 23 }, { -20, 24 }, { -20, 25 }, { -20, 26 }, { -20, 27 }, { -20, 28 }, { -20, 31 }, { -20, 32 }, { -20, 41 }, { -20, 42 }, { -20, 43 }, { -20, 44 }, { -20, 45 }, { -19, -43 }, { -19, -42 }, { -19, -41 }, { -19, -35 }, { -19, -34 }, { -19, -33 }, { -19, -32 }, { -19, -25 }, { -19, -24 }, { -19, -23 }, - { -19, -15 }, { -19, -14 }, { -19, -13 }, { -19, -9 }, { -19, -8 }, { -19, -7 }, { -19, -6 }, { -19, -2 }, { -19, -1 }, { -19, 0 }, { -19, 1 }, { -19, 2 }, { -19, 3 }, { -19, 4 }, { -19, 5 }, { -19, 9 }, { -19, 10 }, { -19, 11 }, { -19, 12 }, { -19, 16 }, { -19, 17 }, { -19, 18 }, { -19, 26 }, { -19, 27 }, { -19, 28 }, { -19, 35 }, { -19, 36 }, { -19, 37 }, { -19, 38 }, { -19, 44 }, - { -19, 45 }, { -19, 46 }, { -18, -43 }, { -18, -42 }, { -18, -35 }, { -18, -34 }, { -18, -33 }, { -18, -32 }, { -18, -31 }, { -18, -26 }, { -18, -25 }, { -18, -24 }, { -18, -15 }, { -18, -14 }, { -18, -10 }, { -18, -9 }, { -18, -8 }, { -18, -7 }, { -18, -6 }, { -18, -1 }, { -18, 0 }, { -18, 1 }, { -18, 2 }, { -18, 3 }, { -18, 4 }, { -18, 9 }, { -18, 10 }, { -18, 11 }, { -18, 12 }, { -18, 13 }, - { -18, 17 }, { -18, 18 }, { -18, 27 }, { -18, 28 }, { -18, 29 }, { -18, 34 }, { -18, 35 }, { -18, 36 }, { -18, 37 }, { -18, 38 }, { -18, 45 }, { -18, 46 }, { -17, -43 }, { -17, -42 }, { -17, -32 }, { -17, -31 }, { -17, -30 }, { -17, -27 }, { -17, -26 }, { -17, -25 }, { -17, -21 }, { -17, -20 }, { -17, -19 }, { -17, -18 }, { -17, -17 }, { -17, -16 }, { -17, -15 }, { -17, -14 }, { -17, -11 }, { -17, -10 }, - { -17, -9 }, { -17, -8 }, { -17, -7 }, { -17, -6 }, { -17, 0 }, { -17, 1 }, { -17, 2 }, { -17, 3 }, { -17, 9 }, { -17, 10 }, { -17, 11 }, { -17, 12 }, { -17, 13 }, { -17, 14 }, { -17, 17 }, { -17, 18 }, { -17, 19 }, { -17, 20 }, { -17, 21 }, { -17, 22 }, { -17, 23 }, { -17, 24 }, { -17, 28 }, { -17, 29 }, { -17, 30 }, { -17, 33 }, { -17, 34 }, { -17, 35 }, { -17, 45 }, { -17, 46 }, - { -16, -43 }, { -16, -42 }, { -16, -31 }, { -16, -30 }, { -16, -27 }, { -16, -26 }, { -16, -21 }, { -16, -20 }, { -16, -19 }, { -16, -18 }, { -16, -17 }, { -16, -16 }, { -16, -15 }, { -16, -14 }, { -16, -11 }, { -16, -10 }, { -16, -9 }, { -16, -8 }, { -16, -7 }, { -16, -6 }, { -16, 1 }, { -16, 2 }, { -16, 9 }, { -16, 10 }, { -16, 11 }, { -16, 12 }, { -16, 13 }, { -16, 14 }, { -16, 17 }, { -16, 18 }, - { -16, 19 }, { -16, 20 }, { -16, 21 }, { -16, 22 }, { -16, 23 }, { -16, 24 }, { -16, 29 }, { -16, 30 }, { -16, 33 }, { -16, 34 }, { -16, 45 }, { -16, 46 }, { -15, -43 }, { -15, -42 }, { -15, -39 }, { -15, -38 }, { -15, -37 }, { -15, -36 }, { -15, -35 }, { -15, -34 }, { -15, -20 }, { -15, -19 }, { -15, -18 }, { -15, -17 }, { -15, -10 }, { -15, -9 }, { -15, -8 }, { -15, -7 }, { -15, -3 }, { -15, -2 }, - { -15, 1 }, { -15, 2 }, { -15, 5 }, { -15, 6 }, { -15, 10 }, { -15, 11 }, { -15, 12 }, { -15, 13 }, { -15, 20 }, { -15, 21 }, { -15, 22 }, { -15, 23 }, { -15, 37 }, { -15, 38 }, { -15, 39 }, { -15, 40 }, { -15, 41 }, { -15, 42 }, { -15, 45 }, { -15, 46 }, { -14, -43 }, { -14, -42 }, { -14, -39 }, { -14, -38 }, { -14, -37 }, { -14, -36 }, { -14, -35 }, { -14, -34 }, { -14, -33 }, { -14, -19 }, - { -14, -18 }, { -14, -9 }, { -14, -8 }, { -14, -4 }, { -14, -3 }, { -14, -2 }, { -14, 1 }, { -14, 2 }, { -14, 5 }, { -14, 6 }, { -14, 7 }, { -14, 11 }, { -14, 12 }, { -14, 21 }, { -14, 22 }, { -14, 36 }, { -14, 37 }, { -14, 38 }, { -14, 39 }, { -14, 40 }, { -14, 41 }, { -14, 42 }, { -14, 45 }, { -14, 46 }, { -13, -39 }, { -13, -38 }, { -13, -35 }, { -13, -34 }, { -13, -33 }, { -13, -32 }, - { -13, -29 }, { -13, -28 }, { -13, -15 }, { -13, -14 }, { -13, -5 }, { -13, -4 }, { -13, -3 }, { -13, -2 }, { -13, 5 }, { -13, 6 }, { -13, 7 }, { -13, 8 }, { -13, 17 }, { -13, 18 }, { -13, 31 }, { -13, 32 }, { -13, 35 }, { -13, 36 }, { -13, 37 }, { -13, 38 }, { -13, 41 }, { -13, 42 }, { -12, -39 }, { -12, -38 }, { -12, -35 }, { -12, -34 }, { -12, -33 }, { -12, -32 }, { -12, -29 }, { -12, -28 }, - { -12, -27 }, { -12, -16 }, { -12, -15 }, { -12, -14 }, { -12, -13 }, { -12, -5 }, { -12, -4 }, { -12, -3 }, { -12, -2 }, { -12, 5 }, { -12, 6 }, { -12, 7 }, { -12, 8 }, { -12, 16 }, { -12, 17 }, { -12, 18 }, { -12, 19 }, { -12, 30 }, { -12, 31 }, { -12, 32 }, { -12, 35 }, { -12, 36 }, { -12, 37 }, { -12, 38 }, { -12, 41 }, { -12, 42 }, { -11, -43 }, { -11, -42 }, { -11, -34 }, { -11, -33 }, - { -11, -32 }, { -11, -29 }, { -11, -28 }, { -11, -27 }, { -11, -26 }, { -11, -23 }, { -11, -22 }, { -11, -21 }, { -11, -20 }, { -11, -17 }, { -11, -16 }, { -11, -15 }, { -11, -14 }, { -11, -13 }, { -11, -12 }, { -11, -9 }, { -11, -8 }, { -11, 1 }, { -11, 2 }, { -11, 11 }, { -11, 12 }, { -11, 15 }, { -11, 16 }, { -11, 17 }, { -11, 18 }, { -11, 19 }, { -11, 20 }, { -11, 23 }, { -11, 24 }, { -11, 25 }, - { -11, 26 }, { -11, 29 }, { -11, 30 }, { -11, 31 }, { -11, 32 }, { -11, 35 }, { -11, 36 }, { -11, 37 }, { -11, 45 }, { -11, 46 }, { -10, -44 }, { -10, -43 }, { -10, -42 }, { -10, -33 }, { -10, -32 }, { -10, -29 }, { -10, -28 }, { -10, -27 }, { -10, -26 }, { -10, -23 }, { -10, -22 }, { -10, -21 }, { -10, -20 }, { -10, -17 }, { -10, -16 }, { -10, -15 }, { -10, -14 }, { -10, -13 }, { -10, -12 }, { -10, -9 }, - { -10, -8 }, { -10, -7 }, { -10, 0 }, { -10, 1 }, { -10, 2 }, { -10, 3 }, { -10, 10 }, { -10, 11 }, { -10, 12 }, { -10, 15 }, { -10, 16 }, { -10, 17 }, { -10, 18 }, { -10, 19 }, { -10, 20 }, { -10, 23 }, { -10, 24 }, { -10, 25 }, { -10, 26 }, { -10, 29 }, { -10, 30 }, { -10, 31 }, { -10, 32 }, { -10, 35 }, { -10, 36 }, { -10, 45 }, { -10, 46 }, { -10, 47 }, { -9, -45 }, { -9, -44 }, - { -9, -43 }, { -9, -29 }, { -9, -28 }, { -9, -27 }, { -9, -23 }, { -9, -22 }, { -9, -21 }, { -9, -20 }, { -9, -17 }, { -9, -16 }, { -9, -15 }, { -9, -14 }, { -9, -13 }, { -9, -8 }, { -9, -7 }, { -9, -6 }, { -9, -5 }, { -9, -1 }, { -9, 0 }, { -9, 1 }, { -9, 2 }, { -9, 3 }, { -9, 4 }, { -9, 8 }, { -9, 9 }, { -9, 10 }, { -9, 11 }, { -9, 16 }, { -9, 17 }, { -9, 18 }, - { -9, 19 }, { -9, 20 }, { -9, 23 }, { -9, 24 }, { -9, 25 }, { -9, 26 }, { -9, 30 }, { -9, 31 }, { -9, 32 }, { -9, 46 }, { -9, 47 }, { -9, 48 }, { -8, -45 }, { -8, -44 }, { -8, -30 }, { -8, -29 }, { -8, -28 }, { -8, -24 }, { -8, -23 }, { -8, -22 }, { -8, -21 }, { -8, -20 }, { -8, -17 }, { -8, -16 }, { -8, -15 }, { -8, -14 }, { -8, -7 }, { -8, -6 }, { -8, -5 }, { -8, -4 }, - { -8, -1 }, { -8, 0 }, { -8, 1 }, { -8, 2 }, { -8, 3 }, { -8, 4 }, { -8, 7 }, { -8, 8 }, { -8, 9 }, { -8, 10 }, { -8, 17 }, { -8, 18 }, { -8, 19 }, { -8, 20 }, { -8, 23 }, { -8, 24 }, { -8, 25 }, { -8, 26 }, { -8, 27 }, { -8, 31 }, { -8, 32 }, { -8, 33 }, { -8, 47 }, { -8, 48 }, { -7, -45 }, { -7, -44 }, { -7, -39 }, { -7, -38 }, { -7, -37 }, { -7, -36 }, - { -7, -31 }, { -7, -30 }, { -7, -29 }, { -7, -25 }, { -7, -24 }, { -7, -23 }, { -7, -22 }, { -7, -21 }, { -7, -11 }, { -7, -10 }, { -7, -7 }, { -7, -6 }, { -7, -5 }, { -7, -4 }, { -7, 7 }, { -7, 8 }, { -7, 9 }, { -7, 10 }, { -7, 13 }, { -7, 14 }, { -7, 24 }, { -7, 25 }, { -7, 26 }, { -7, 27 }, { -7, 28 }, { -7, 32 }, { -7, 33 }, { -7, 34 }, { -7, 39 }, { -7, 40 }, - { -7, 41 }, { -7, 42 }, { -7, 47 }, { -7, 48 }, { -6, -46 }, { -6, -45 }, { -6, -44 }, { -6, -39 }, { -6, -38 }, { -6, -37 }, { -6, -36 }, { -6, -35 }, { -6, -31 }, { -6, -30 }, { -6, -25 }, { -6, -24 }, { -6, -23 }, { -6, -22 }, { -6, -12 }, { -6, -11 }, { -6, -10 }, { -6, -6 }, { -6, -5 }, { -6, 8 }, { -6, 9 }, { -6, 13 }, { -6, 14 }, { -6, 15 }, { -6, 25 }, { -6, 26 }, - { -6, 27 }, { -6, 28 }, { -6, 33 }, { -6, 34 }, { -6, 38 }, { -6, 39 }, { -6, 40 }, { -6, 41 }, { -6, 42 }, { -6, 47 }, { -6, 48 }, { -6, 49 }, { -5, -47 }, { -5, -46 }, { -5, -45 }, { -5, -44 }, { -5, -37 }, { -5, -36 }, { -5, -35 }, { -5, -34 }, { -5, -19 }, { -5, -18 }, { -5, -13 }, { -5, -12 }, { -5, -11 }, { -5, -10 }, { -5, -1 }, { -5, 0 }, { -5, 1 }, { -5, 2 }, - { -5, 3 }, { -5, 4 }, { -5, 13 }, { -5, 14 }, { -5, 15 }, { -5, 16 }, { -5, 21 }, { -5, 22 }, { -5, 37 }, { -5, 38 }, { -5, 39 }, { -5, 40 }, { -5, 47 }, { -5, 48 }, { -5, 49 }, { -5, 50 }, { -4, -47 }, { -4, -46 }, { -4, -45 }, { -4, -44 }, { -4, -43 }, { -4, -37 }, { -4, -36 }, { -4, -35 }, { -4, -34 }, { -4, -19 }, { -4, -18 }, { -4, -17 }, { -4, -13 }, { -4, -12 }, - { -4, -11 }, { -4, -10 }, { -4, -2 }, { -4, -1 }, { -4, 0 }, { -4, 1 }, { -4, 2 }, { -4, 3 }, { -4, 4 }, { -4, 5 }, { -4, 13 }, { -4, 14 }, { -4, 15 }, { -4, 16 }, { -4, 20 }, { -4, 21 }, { -4, 22 }, { -4, 37 }, { -4, 38 }, { -4, 39 }, { -4, 40 }, { -4, 46 }, { -4, 47 }, { -4, 48 }, { -4, 49 }, { -4, 50 }, { -3, -44 }, { -3, -43 }, { -3, -42 }, { -3, -41 }, - { -3, -40 }, { -3, -37 }, { -3, -36 }, { -3, -35 }, { -3, -34 }, { -3, -31 }, { -3, -30 }, { -3, -29 }, { -3, -28 }, { -3, -25 }, { -3, -24 }, { -3, -23 }, { -3, -22 }, { -3, -18 }, { -3, -17 }, { -3, -16 }, { -3, -7 }, { -3, -6 }, { -3, -3 }, { -3, -2 }, { -3, -1 }, { -3, 0 }, { -3, 3 }, { -3, 4 }, { -3, 5 }, { -3, 6 }, { -3, 9 }, { -3, 10 }, { -3, 19 }, { -3, 20 }, - { -3, 21 }, { -3, 25 }, { -3, 26 }, { -3, 27 }, { -3, 28 }, { -3, 31 }, { -3, 32 }, { -3, 33 }, { -3, 34 }, { -3, 37 }, { -3, 38 }, { -3, 39 }, { -3, 40 }, { -3, 43 }, { -3, 44 }, { -3, 45 }, { -3, 46 }, { -3, 47 }, { -2, -43 }, { -2, -42 }, { -2, -41 }, { -2, -40 }, { -2, -37 }, { -2, -36 }, { -2, -35 }, { -2, -34 }, { -2, -31 }, { -2, -30 }, { -2, -29 }, { -2, -28 }, - { -2, -25 }, { -2, -24 }, { -2, -23 }, { -2, -22 }, { -2, -21 }, { -2, -17 }, { -2, -16 }, { -2, -15 }, { -2, -8 }, { -2, -7 }, { -2, -6 }, { -2, -3 }, { -2, -2 }, { -2, -1 }, { -2, 0 }, { -2, 3 }, { -2, 4 }, { -2, 5 }, { -2, 6 }, { -2, 9 }, { -2, 10 }, { -2, 11 }, { -2, 18 }, { -2, 19 }, { -2, 20 }, { -2, 24 }, { -2, 25 }, { -2, 26 }, { -2, 27 }, { -2, 28 }, - { -2, 31 }, { -2, 32 }, { -2, 33 }, { -2, 34 }, { -2, 37 }, { -2, 38 }, { -2, 39 }, { -2, 40 }, { -2, 43 }, { -2, 44 }, { -2, 45 }, { -2, 46 }, { -1, -47 }, { -1, -46 }, { -1, -43 }, { -1, -42 }, { -1, -41 }, { -1, -40 }, { -1, -37 }, { -1, -36 }, { -1, -29 }, { -1, -28 }, { -1, -25 }, { -1, -24 }, { -1, -23 }, { -1, -22 }, { -1, -21 }, { -1, -20 }, { -1, -17 }, { -1, -16 }, - { -1, -15 }, { -1, -14 }, { -1, -13 }, { -1, -12 }, { -1, -9 }, { -1, -8 }, { -1, -7 }, { -1, -6 }, { -1, -3 }, { -1, -2 }, { -1, 5 }, { -1, 6 }, { -1, 9 }, { -1, 10 }, { -1, 11 }, { -1, 12 }, { -1, 15 }, { -1, 16 }, { -1, 17 }, { -1, 18 }, { -1, 19 }, { -1, 20 }, { -1, 23 }, { -1, 24 }, { -1, 25 }, { -1, 26 }, { -1, 27 }, { -1, 28 }, { -1, 31 }, { -1, 32 }, - { -1, 39 }, { -1, 40 }, { -1, 43 }, { -1, 44 }, { -1, 45 }, { -1, 46 }, { -1, 49 }, { -1, 50 }, { 0, -47 }, { 0, -46 }, { 0, -43 }, { 0, -42 }, { 0, -41 }, { 0, -40 }, { 0, -37 }, { 0, -36 }, { 0, -29 }, { 0, -28 }, { 0, -25 }, { 0, -24 }, { 0, -23 }, { 0, -22 }, { 0, -21 }, { 0, -20 }, { 0, -17 }, { 0, -16 }, { 0, -15 }, { 0, -14 }, { 0, -13 }, { 0, -12 }, - { 0, -9 }, { 0, -8 }, { 0, -7 }, { 0, -6 }, { 0, -3 }, { 0, -2 }, { 0, 5 }, { 0, 6 }, { 0, 9 }, { 0, 10 }, { 0, 11 }, { 0, 12 }, { 0, 15 }, { 0, 16 }, { 0, 17 }, { 0, 18 }, { 0, 19 }, { 0, 20 }, { 0, 23 }, { 0, 24 }, { 0, 25 }, { 0, 26 }, { 0, 27 }, { 0, 28 }, { 0, 31 }, { 0, 32 }, { 0, 39 }, { 0, 40 }, { 0, 43 }, { 0, 44 }, - { 0, 45 }, { 0, 46 }, { 0, 49 }, { 0, 50 }, { 1, -43 }, { 1, -42 }, { 1, -41 }, { 1, -40 }, { 1, -37 }, { 1, -36 }, { 1, -35 }, { 1, -34 }, { 1, -31 }, { 1, -30 }, { 1, -29 }, { 1, -28 }, { 1, -25 }, { 1, -24 }, { 1, -23 }, { 1, -22 }, { 1, -21 }, { 1, -17 }, { 1, -16 }, { 1, -15 }, { 1, -8 }, { 1, -7 }, { 1, -6 }, { 1, -3 }, { 1, -2 }, { 1, -1 }, - { 1, 0 }, { 1, 3 }, { 1, 4 }, { 1, 5 }, { 1, 6 }, { 1, 9 }, { 1, 10 }, { 1, 11 }, { 1, 18 }, { 1, 19 }, { 1, 20 }, { 1, 24 }, { 1, 25 }, { 1, 26 }, { 1, 27 }, { 1, 28 }, { 1, 31 }, { 1, 32 }, { 1, 33 }, { 1, 34 }, { 1, 37 }, { 1, 38 }, { 1, 39 }, { 1, 40 }, { 1, 43 }, { 1, 44 }, { 1, 45 }, { 1, 46 }, { 2, -44 }, { 2, -43 }, - { 2, -42 }, { 2, -41 }, { 2, -40 }, { 2, -37 }, { 2, -36 }, { 2, -35 }, { 2, -34 }, { 2, -31 }, { 2, -30 }, { 2, -29 }, { 2, -28 }, { 2, -25 }, { 2, -24 }, { 2, -23 }, { 2, -22 }, { 2, -18 }, { 2, -17 }, { 2, -16 }, { 2, -7 }, { 2, -6 }, { 2, -3 }, { 2, -2 }, { 2, -1 }, { 2, 0 }, { 2, 3 }, { 2, 4 }, { 2, 5 }, { 2, 6 }, { 2, 9 }, { 2, 10 }, - { 2, 19 }, { 2, 20 }, { 2, 21 }, { 2, 25 }, { 2, 26 }, { 2, 27 }, { 2, 28 }, { 2, 31 }, { 2, 32 }, { 2, 33 }, { 2, 34 }, { 2, 37 }, { 2, 38 }, { 2, 39 }, { 2, 40 }, { 2, 43 }, { 2, 44 }, { 2, 45 }, { 2, 46 }, { 2, 47 }, { 3, -47 }, { 3, -46 }, { 3, -45 }, { 3, -44 }, { 3, -43 }, { 3, -37 }, { 3, -36 }, { 3, -35 }, { 3, -34 }, { 3, -19 }, - { 3, -18 }, { 3, -17 }, { 3, -13 }, { 3, -12 }, { 3, -11 }, { 3, -10 }, { 3, -2 }, { 3, -1 }, { 3, 0 }, { 3, 1 }, { 3, 2 }, { 3, 3 }, { 3, 4 }, { 3, 5 }, { 3, 13 }, { 3, 14 }, { 3, 15 }, { 3, 16 }, { 3, 20 }, { 3, 21 }, { 3, 22 }, { 3, 37 }, { 3, 38 }, { 3, 39 }, { 3, 40 }, { 3, 46 }, { 3, 47 }, { 3, 48 }, { 3, 49 }, { 3, 50 }, - { 4, -47 }, { 4, -46 }, { 4, -45 }, { 4, -44 }, { 4, -37 }, { 4, -36 }, { 4, -35 }, { 4, -34 }, { 4, -19 }, { 4, -18 }, { 4, -13 }, { 4, -12 }, { 4, -11 }, { 4, -10 }, { 4, -1 }, { 4, 0 }, { 4, 1 }, { 4, 2 }, { 4, 3 }, { 4, 4 }, { 4, 13 }, { 4, 14 }, { 4, 15 }, { 4, 16 }, { 4, 21 }, { 4, 22 }, { 4, 37 }, { 4, 38 }, { 4, 39 }, { 4, 40 }, - { 4, 47 }, { 4, 48 }, { 4, 49 }, { 4, 50 }, { 5, -46 }, { 5, -45 }, { 5, -44 }, { 5, -39 }, { 5, -38 }, { 5, -37 }, { 5, -36 }, { 5, -35 }, { 5, -31 }, { 5, -30 }, { 5, -25 }, { 5, -24 }, { 5, -23 }, { 5, -22 }, { 5, -12 }, { 5, -11 }, { 5, -10 }, { 5, -6 }, { 5, -5 }, { 5, 8 }, { 5, 9 }, { 5, 13 }, { 5, 14 }, { 5, 15 }, { 5, 25 }, { 5, 26 }, - { 5, 27 }, { 5, 28 }, { 5, 33 }, { 5, 34 }, { 5, 38 }, { 5, 39 }, { 5, 40 }, { 5, 41 }, { 5, 42 }, { 5, 47 }, { 5, 48 }, { 5, 49 }, { 6, -45 }, { 6, -44 }, { 6, -39 }, { 6, -38 }, { 6, -37 }, { 6, -36 }, { 6, -31 }, { 6, -30 }, { 6, -29 }, { 6, -25 }, { 6, -24 }, { 6, -23 }, { 6, -22 }, { 6, -21 }, { 6, -11 }, { 6, -10 }, { 6, -7 }, { 6, -6 }, - { 6, -5 }, { 6, -4 }, { 6, 7 }, { 6, 8 }, { 6, 9 }, { 6, 10 }, { 6, 13 }, { 6, 14 }, { 6, 24 }, { 6, 25 }, { 6, 26 }, { 6, 27 }, { 6, 28 }, { 6, 32 }, { 6, 33 }, { 6, 34 }, { 6, 39 }, { 6, 40 }, { 6, 41 }, { 6, 42 }, { 6, 47 }, { 6, 48 }, { 7, -45 }, { 7, -44 }, { 7, -30 }, { 7, -29 }, { 7, -28 }, { 7, -24 }, { 7, -23 }, { 7, -22 }, - { 7, -21 }, { 7, -20 }, { 7, -17 }, { 7, -16 }, { 7, -15 }, { 7, -14 }, { 7, -7 }, { 7, -6 }, { 7, -5 }, { 7, -4 }, { 7, -1 }, { 7, 0 }, { 7, 1 }, { 7, 2 }, { 7, 3 }, { 7, 4 }, { 7, 7 }, { 7, 8 }, { 7, 9 }, { 7, 10 }, { 7, 17 }, { 7, 18 }, { 7, 19 }, { 7, 20 }, { 7, 23 }, { 7, 24 }, { 7, 25 }, { 7, 26 }, { 7, 27 }, { 7, 31 }, - { 7, 32 }, { 7, 33 }, { 7, 47 }, { 7, 48 }, { 8, -45 }, { 8, -44 }, { 8, -43 }, { 8, -29 }, { 8, -28 }, { 8, -27 }, { 8, -23 }, { 8, -22 }, { 8, -21 }, { 8, -20 }, { 8, -17 }, { 8, -16 }, { 8, -15 }, { 8, -14 }, { 8, -13 }, { 8, -8 }, { 8, -7 }, { 8, -6 }, { 8, -5 }, { 8, -1 }, { 8, 0 }, { 8, 1 }, { 8, 2 }, { 8, 3 }, { 8, 4 }, { 8, 8 }, - { 8, 9 }, { 8, 10 }, { 8, 11 }, { 8, 16 }, { 8, 17 }, { 8, 18 }, { 8, 19 }, { 8, 20 }, { 8, 23 }, { 8, 24 }, { 8, 25 }, { 8, 26 }, { 8, 30 }, { 8, 31 }, { 8, 32 }, { 8, 46 }, { 8, 47 }, { 8, 48 }, { 9, -44 }, { 9, -43 }, { 9, -42 }, { 9, -33 }, { 9, -32 }, { 9, -29 }, { 9, -28 }, { 9, -27 }, { 9, -26 }, { 9, -23 }, { 9, -22 }, { 9, -21 }, - { 9, -20 }, { 9, -17 }, { 9, -16 }, { 9, -15 }, { 9, -14 }, { 9, -13 }, { 9, -12 }, { 9, -9 }, { 9, -8 }, { 9, -7 }, { 9, 0 }, { 9, 1 }, { 9, 2 }, { 9, 3 }, { 9, 10 }, { 9, 11 }, { 9, 12 }, { 9, 15 }, { 9, 16 }, { 9, 17 }, { 9, 18 }, { 9, 19 }, { 9, 20 }, { 9, 23 }, { 9, 24 }, { 9, 25 }, { 9, 26 }, { 9, 29 }, { 9, 30 }, { 9, 31 }, - { 9, 32 }, { 9, 35 }, { 9, 36 }, { 9, 45 }, { 9, 46 }, { 9, 47 }, { 10, -43 }, { 10, -42 }, { 10, -34 }, { 10, -33 }, { 10, -32 }, { 10, -29 }, { 10, -28 }, { 10, -27 }, { 10, -26 }, { 10, -23 }, { 10, -22 }, { 10, -21 }, { 10, -20 }, { 10, -17 }, { 10, -16 }, { 10, -15 }, { 10, -14 }, { 10, -13 }, { 10, -12 }, { 10, -9 }, { 10, -8 }, { 10, 1 }, { 10, 2 }, { 10, 11 }, - { 10, 12 }, { 10, 15 }, { 10, 16 }, { 10, 17 }, { 10, 18 }, { 10, 19 }, { 10, 20 }, { 10, 23 }, { 10, 24 }, { 10, 25 }, { 10, 26 }, { 10, 29 }, { 10, 30 }, { 10, 31 }, { 10, 32 }, { 10, 35 }, { 10, 36 }, { 10, 37 }, { 10, 45 }, { 10, 46 }, { 11, -39 }, { 11, -38 }, { 11, -35 }, { 11, -34 }, { 11, -33 }, { 11, -32 }, { 11, -29 }, { 11, -28 }, { 11, -27 }, { 11, -16 }, - { 11, -15 }, { 11, -14 }, { 11, -13 }, { 11, -5 }, { 11, -4 }, { 11, -3 }, { 11, -2 }, { 11, 5 }, { 11, 6 }, { 11, 7 }, { 11, 8 }, { 11, 16 }, { 11, 17 }, { 11, 18 }, { 11, 19 }, { 11, 30 }, { 11, 31 }, { 11, 32 }, { 11, 35 }, { 11, 36 }, { 11, 37 }, { 11, 38 }, { 11, 41 }, { 11, 42 }, { 12, -39 }, { 12, -38 }, { 12, -35 }, { 12, -34 }, { 12, -33 }, { 12, -32 }, - { 12, -29 }, { 12, -28 }, { 12, -15 }, { 12, -14 }, { 12, -5 }, { 12, -4 }, { 12, -3 }, { 12, -2 }, { 12, 5 }, { 12, 6 }, { 12, 7 }, { 12, 8 }, { 12, 17 }, { 12, 18 }, { 12, 31 }, { 12, 32 }, { 12, 35 }, { 12, 36 }, { 12, 37 }, { 12, 38 }, { 12, 41 }, { 12, 42 }, { 13, -43 }, { 13, -42 }, { 13, -39 }, { 13, -38 }, { 13, -37 }, { 13, -36 }, { 13, -35 }, { 13, -34 }, - { 13, -33 }, { 13, -19 }, { 13, -18 }, { 13, -9 }, { 13, -8 }, { 13, -4 }, { 13, -3 }, { 13, -2 }, { 13, 1 }, { 13, 2 }, { 13, 5 }, { 13, 6 }, { 13, 7 }, { 13, 11 }, { 13, 12 }, { 13, 21 }, { 13, 22 }, { 13, 36 }, { 13, 37 }, { 13, 38 }, { 13, 39 }, { 13, 40 }, { 13, 41 }, { 13, 42 }, { 13, 45 }, { 13, 46 }, { 14, -43 }, { 14, -42 }, { 14, -39 }, { 14, -38 }, - { 14, -37 }, { 14, -36 }, { 14, -35 }, { 14, -34 }, { 14, -20 }, { 14, -19 }, { 14, -18 }, { 14, -17 }, { 14, -10 }, { 14, -9 }, { 14, -8 }, { 14, -7 }, { 14, -3 }, { 14, -2 }, { 14, 1 }, { 14, 2 }, { 14, 5 }, { 14, 6 }, { 14, 10 }, { 14, 11 }, { 14, 12 }, { 14, 13 }, { 14, 20 }, { 14, 21 }, { 14, 22 }, { 14, 23 }, { 14, 37 }, { 14, 38 }, { 14, 39 }, { 14, 40 }, - { 14, 41 }, { 14, 42 }, { 14, 45 }, { 14, 46 }, { 15, -43 }, { 15, -42 }, { 15, -31 }, { 15, -30 }, { 15, -27 }, { 15, -26 }, { 15, -21 }, { 15, -20 }, { 15, -19 }, { 15, -18 }, { 15, -17 }, { 15, -16 }, { 15, -15 }, { 15, -14 }, { 15, -11 }, { 15, -10 }, { 15, -9 }, { 15, -8 }, { 15, -7 }, { 15, -6 }, { 15, 1 }, { 15, 2 }, { 15, 9 }, { 15, 10 }, { 15, 11 }, { 15, 12 }, - { 15, 13 }, { 15, 14 }, { 15, 17 }, { 15, 18 }, { 15, 19 }, { 15, 20 }, { 15, 21 }, { 15, 22 }, { 15, 23 }, { 15, 24 }, { 15, 29 }, { 15, 30 }, { 15, 33 }, { 15, 34 }, { 15, 45 }, { 15, 46 }, { 16, -43 }, { 16, -42 }, { 16, -32 }, { 16, -31 }, { 16, -30 }, { 16, -27 }, { 16, -26 }, { 16, -25 }, { 16, -21 }, { 16, -20 }, { 16, -19 }, { 16, -18 }, { 16, -17 }, { 16, -16 }, - { 16, -15 }, { 16, -14 }, { 16, -11 }, { 16, -10 }, { 16, -9 }, { 16, -8 }, { 16, -7 }, { 16, -6 }, { 16, 0 }, { 16, 1 }, { 16, 2 }, { 16, 3 }, { 16, 9 }, { 16, 10 }, { 16, 11 }, { 16, 12 }, { 16, 13 }, { 16, 14 }, { 16, 17 }, { 16, 18 }, { 16, 19 }, { 16, 20 }, { 16, 21 }, { 16, 22 }, { 16, 23 }, { 16, 24 }, { 16, 28 }, { 16, 29 }, { 16, 30 }, { 16, 33 }, - { 16, 34 }, { 16, 35 }, { 16, 45 }, { 16, 46 }, { 17, -43 }, { 17, -42 }, { 17, -35 }, { 17, -34 }, { 17, -33 }, { 17, -32 }, { 17, -31 }, { 17, -26 }, { 17, -25 }, { 17, -24 }, { 17, -15 }, { 17, -14 }, { 17, -10 }, { 17, -9 }, { 17, -8 }, { 17, -7 }, { 17, -6 }, { 17, -1 }, { 17, 0 }, { 17, 1 }, { 17, 2 }, { 17, 3 }, { 17, 4 }, { 17, 9 }, { 17, 10 }, { 17, 11 }, - { 17, 12 }, { 17, 13 }, { 17, 17 }, { 17, 18 }, { 17, 27 }, { 17, 28 }, { 17, 29 }, { 17, 34 }, { 17, 35 }, { 17, 36 }, { 17, 37 }, { 17, 38 }, { 17, 45 }, { 17, 46 }, { 18, -43 }, { 18, -42 }, { 18, -41 }, { 18, -35 }, { 18, -34 }, { 18, -33 }, { 18, -32 }, { 18, -25 }, { 18, -24 }, { 18, -23 }, { 18, -15 }, { 18, -14 }, { 18, -13 }, { 18, -9 }, { 18, -8 }, { 18, -7 }, - { 18, -6 }, { 18, -2 }, { 18, -1 }, { 18, 0 }, { 18, 1 }, { 18, 2 }, { 18, 3 }, { 18, 4 }, { 18, 5 }, { 18, 9 }, { 18, 10 }, { 18, 11 }, { 18, 12 }, { 18, 16 }, { 18, 17 }, { 18, 18 }, { 18, 26 }, { 18, 27 }, { 18, 28 }, { 18, 35 }, { 18, 36 }, { 18, 37 }, { 18, 38 }, { 18, 44 }, { 18, 45 }, { 18, 46 }, { 19, -42 }, { 19, -41 }, { 19, -40 }, { 19, -39 }, - { 19, -38 }, { 19, -29 }, { 19, -28 }, { 19, -25 }, { 19, -24 }, { 19, -23 }, { 19, -22 }, { 19, -21 }, { 19, -20 }, { 19, -19 }, { 19, -18 }, { 19, -15 }, { 19, -14 }, { 19, -13 }, { 19, -12 }, { 19, -3 }, { 19, -2 }, { 19, -1 }, { 19, 4 }, { 19, 5 }, { 19, 6 }, { 19, 15 }, { 19, 16 }, { 19, 17 }, { 19, 18 }, { 19, 21 }, { 19, 22 }, { 19, 23 }, { 19, 24 }, { 19, 25 }, - { 19, 26 }, { 19, 27 }, { 19, 28 }, { 19, 31 }, { 19, 32 }, { 19, 41 }, { 19, 42 }, { 19, 43 }, { 19, 44 }, { 19, 45 }, { 20, -41 }, { 20, -40 }, { 20, -39 }, { 20, -38 }, { 20, -37 }, { 20, -29 }, { 20, -28 }, { 20, -25 }, { 20, -24 }, { 20, -23 }, { 20, -22 }, { 20, -21 }, { 20, -20 }, { 20, -19 }, { 20, -18 }, { 20, -15 }, { 20, -14 }, { 20, -13 }, { 20, -12 }, { 20, -3 }, - { 20, -2 }, { 20, 5 }, { 20, 6 }, { 20, 15 }, { 20, 16 }, { 20, 17 }, { 20, 18 }, { 20, 21 }, { 20, 22 }, { 20, 23 }, { 20, 24 }, { 20, 25 }, { 20, 26 }, { 20, 27 }, { 20, 28 }, { 20, 31 }, { 20, 32 }, { 20, 40 }, { 20, 41 }, { 20, 42 }, { 20, 43 }, { 20, 44 }, { 21, -38 }, { 21, -37 }, { 21, -36 }, { 21, -29 }, { 21, -28 }, { 21, -19 }, { 21, -18 }, { 21, -15 }, - { 21, -14 }, { 21, -13 }, { 21, -9 }, { 21, -8 }, { 21, -7 }, { 21, -6 }, { 21, 1 }, { 21, 2 }, { 21, 9 }, { 21, 10 }, { 21, 11 }, { 21, 12 }, { 21, 16 }, { 21, 17 }, { 21, 18 }, { 21, 21 }, { 21, 22 }, { 21, 31 }, { 21, 32 }, { 21, 39 }, { 21, 40 }, { 21, 41 }, { 22, -37 }, { 22, -36 }, { 22, -30 }, { 22, -29 }, { 22, -28 }, { 22, -19 }, { 22, -18 }, { 22, -15 }, - { 22, -14 }, { 22, -9 }, { 22, -8 }, { 22, -7 }, { 22, -6 }, { 22, -5 }, { 22, 0 }, { 22, 1 }, { 22, 2 }, { 22, 3 }, { 22, 8 }, { 22, 9 }, { 22, 10 }, { 22, 11 }, { 22, 12 }, { 22, 17 }, { 22, 18 }, { 22, 21 }, { 22, 22 }, { 22, 31 }, { 22, 32 }, { 22, 33 }, { 22, 39 }, { 22, 40 }, { 23, -33 }, { 23, -32 }, { 23, -31 }, { 23, -30 }, { 23, -29 }, { 23, -25 }, - { 23, -24 }, { 23, -23 }, { 23, -22 }, { 23, -19 }, { 23, -18 }, { 23, -9 }, { 23, -8 }, { 23, -7 }, { 23, -6 }, { 23, -5 }, { 23, -4 }, { 23, -1 }, { 23, 0 }, { 23, 1 }, { 23, 2 }, { 23, 3 }, { 23, 4 }, { 23, 7 }, { 23, 8 }, { 23, 9 }, { 23, 10 }, { 23, 11 }, { 23, 12 }, { 23, 21 }, { 23, 22 }, { 23, 25 }, { 23, 26 }, { 23, 27 }, { 23, 28 }, { 23, 32 }, - { 23, 33 }, { 23, 34 }, { 23, 35 }, { 23, 36 }, { 24, -33 }, { 24, -32 }, { 24, -31 }, { 24, -30 }, { 24, -25 }, { 24, -24 }, { 24, -23 }, { 24, -22 }, { 24, -19 }, { 24, -18 }, { 24, -17 }, { 24, -9 }, { 24, -8 }, { 24, -7 }, { 24, -6 }, { 24, -5 }, { 24, -4 }, { 24, -1 }, { 24, 0 }, { 24, 1 }, { 24, 2 }, { 24, 3 }, { 24, 4 }, { 24, 7 }, { 24, 8 }, { 24, 9 }, - { 24, 10 }, { 24, 11 }, { 24, 12 }, { 24, 20 }, { 24, 21 }, { 24, 22 }, { 24, 25 }, { 24, 26 }, { 24, 27 }, { 24, 28 }, { 24, 33 }, { 24, 34 }, { 24, 35 }, { 24, 36 }, { 25, -39 }, { 25, -38 }, { 25, -37 }, { 25, -36 }, { 25, -24 }, { 25, -23 }, { 25, -22 }, { 25, -19 }, { 25, -18 }, { 25, -17 }, { 25, -16 }, { 25, -6 }, { 25, -5 }, { 25, -4 }, { 25, -1 }, { 25, 0 }, - { 25, 1 }, { 25, 2 }, { 25, 3 }, { 25, 4 }, { 25, 7 }, { 25, 8 }, { 25, 9 }, { 25, 19 }, { 25, 20 }, { 25, 21 }, { 25, 22 }, { 25, 25 }, { 25, 26 }, { 25, 27 }, { 25, 39 }, { 25, 40 }, { 25, 41 }, { 25, 42 }, { 26, -39 }, { 26, -38 }, { 26, -37 }, { 26, -36 }, { 26, -23 }, { 26, -22 }, { 26, -19 }, { 26, -18 }, { 26, -17 }, { 26, -16 }, { 26, -15 }, { 26, -5 }, - { 26, -4 }, { 26, -1 }, { 26, 0 }, { 26, 1 }, { 26, 2 }, { 26, 3 }, { 26, 4 }, { 26, 7 }, { 26, 8 }, { 26, 18 }, { 26, 19 }, { 26, 20 }, { 26, 21 }, { 26, 22 }, { 26, 25 }, { 26, 26 }, { 26, 39 }, { 26, 40 }, { 26, 41 }, { 26, 42 }, { 27, -38 }, { 27, -37 }, { 27, -36 }, { 27, -29 }, { 27, -28 }, { 27, -27 }, { 27, -26 }, { 27, -16 }, { 27, -15 }, { 27, -14 }, - { 27, -9 }, { 27, -8 }, { 27, 11 }, { 27, 12 }, { 27, 17 }, { 27, 18 }, { 27, 19 }, { 27, 29 }, { 27, 30 }, { 27, 31 }, { 27, 32 }, { 27, 39 }, { 27, 40 }, { 27, 41 }, { 28, -37 }, { 28, -36 }, { 28, -30 }, { 28, -29 }, { 28, -28 }, { 28, -27 }, { 28, -26 }, { 28, -15 }, { 28, -14 }, { 28, -10 }, { 28, -9 }, { 28, -8 }, { 28, -7 }, { 28, 10 }, { 28, 11 }, { 28, 12 }, - { 28, 13 }, { 28, 17 }, { 28, 18 }, { 28, 29 }, { 28, 30 }, { 28, 31 }, { 28, 32 }, { 28, 33 }, { 28, 39 }, { 28, 40 }, { 29, -33 }, { 29, -32 }, { 29, -31 }, { 29, -30 }, { 29, -29 }, { 29, -28 }, { 29, -27 }, { 29, -26 }, { 29, -21 }, { 29, -20 }, { 29, -19 }, { 29, -18 }, { 29, -11 }, { 29, -10 }, { 29, -9 }, { 29, -8 }, { 29, -7 }, { 29, -6 }, { 29, -1 }, { 29, 0 }, - { 29, 1 }, { 29, 2 }, { 29, 3 }, { 29, 4 }, { 29, 9 }, { 29, 10 }, { 29, 11 }, { 29, 12 }, { 29, 13 }, { 29, 14 }, { 29, 21 }, { 29, 22 }, { 29, 23 }, { 29, 24 }, { 29, 29 }, { 29, 30 }, { 29, 31 }, { 29, 32 }, { 29, 33 }, { 29, 34 }, { 29, 35 }, { 29, 36 }, { 30, -33 }, { 30, -32 }, { 30, -31 }, { 30, -30 }, { 30, -29 }, { 30, -28 }, { 30, -27 }, { 30, -26 }, - { 30, -22 }, { 30, -21 }, { 30, -20 }, { 30, -19 }, { 30, -18 }, { 30, -11 }, { 30, -10 }, { 30, -9 }, { 30, -8 }, { 30, -7 }, { 30, -6 }, { 30, -5 }, { 30, -1 }, { 30, 0 }, { 30, 1 }, { 30, 2 }, { 30, 3 }, { 30, 4 }, { 30, 8 }, { 30, 9 }, { 30, 10 }, { 30, 11 }, { 30, 12 }, { 30, 13 }, { 30, 14 }, { 30, 21 }, { 30, 22 }, { 30, 23 }, { 30, 24 }, { 30, 25 }, - { 30, 29 }, { 30, 30 }, { 30, 31 }, { 30, 32 }, { 30, 33 }, { 30, 34 }, { 30, 35 }, { 30, 36 }, { 31, -32 }, { 31, -31 }, { 31, -30 }, { 31, -29 }, { 31, -28 }, { 31, -27 }, { 31, -23 }, { 31, -22 }, { 31, -21 }, { 31, -15 }, { 31, -14 }, { 31, -6 }, { 31, -5 }, { 31, -4 }, { 31, -1 }, { 31, 0 }, { 31, 3 }, { 31, 4 }, { 31, 7 }, { 31, 8 }, { 31, 9 }, { 31, 17 }, - { 31, 18 }, { 31, 24 }, { 31, 25 }, { 31, 26 }, { 31, 30 }, { 31, 31 }, { 31, 32 }, { 31, 33 }, { 31, 34 }, { 31, 35 }, { 32, -31 }, { 32, -30 }, { 32, -29 }, { 32, -28 }, { 32, -23 }, { 32, -22 }, { 32, -16 }, { 32, -15 }, { 32, -14 }, { 32, -5 }, { 32, -4 }, { 32, -1 }, { 32, 0 }, { 32, 3 }, { 32, 4 }, { 32, 7 }, { 32, 8 }, { 32, 17 }, { 32, 18 }, { 32, 19 }, - { 32, 25 }, { 32, 26 }, { 32, 31 }, { 32, 32 }, { 32, 33 }, { 32, 34 }, { 33, -30 }, { 33, -29 }, { 33, -28 }, { 33, -23 }, { 33, -22 }, { 33, -17 }, { 33, -16 }, { 33, -15 }, { 33, -11 }, { 33, -10 }, { 33, -9 }, { 33, -8 }, { 33, 11 }, { 33, 12 }, { 33, 13 }, { 33, 14 }, { 33, 18 }, { 33, 19 }, { 33, 20 }, { 33, 25 }, { 33, 26 }, { 33, 31 }, { 33, 32 }, { 33, 33 }, - { 34, -29 }, { 34, -28 }, { 34, -23 }, { 34, -22 }, { 34, -17 }, { 34, -16 }, { 34, -12 }, { 34, -11 }, { 34, -10 }, { 34, -9 }, { 34, -8 }, { 34, 11 }, { 34, 12 }, { 34, 13 }, { 34, 14 }, { 34, 15 }, { 34, 19 }, { 34, 20 }, { 34, 25 }, { 34, 26 }, { 34, 31 }, { 34, 32 }, { 35, -17 }, { 35, -16 }, { 35, -13 }, { 35, -12 }, { 35, -11 }, { 35, -10 }, { 35, -9 }, { 35, -3 }, - { 35, -2 }, { 35, -1 }, { 35, 0 }, { 35, 3 }, { 35, 4 }, { 35, 5 }, { 35, 6 }, { 35, 12 }, { 35, 13 }, { 35, 14 }, { 35, 15 }, { 35, 16 }, { 35, 19 }, { 35, 20 }, { 36, -17 }, { 36, -16 }, { 36, -13 }, { 36, -12 }, { 36, -11 }, { 36, -10 }, { 36, -4 }, { 36, -3 }, { 36, -2 }, { 36, -1 }, { 36, 0 }, { 36, 3 }, { 36, 4 }, { 36, 5 }, { 36, 6 }, { 36, 7 }, - { 36, 13 }, { 36, 14 }, { 36, 15 }, { 36, 16 }, { 36, 19 }, { 36, 20 }, { 37, -27 }, { 37, -26 }, { 37, -25 }, { 37, -24 }, { 37, -21 }, { 37, -20 }, { 37, -13 }, { 37, -12 }, { 37, -5 }, { 37, -4 }, { 37, -3 }, { 37, -2 }, { 37, -1 }, { 37, 0 }, { 37, 1 }, { 37, 2 }, { 37, 3 }, { 37, 4 }, { 37, 5 }, { 37, 6 }, { 37, 7 }, { 37, 8 }, { 37, 15 }, { 37, 16 }, - { 37, 23 }, { 37, 24 }, { 37, 27 }, { 37, 28 }, { 37, 29 }, { 37, 30 }, { 38, -27 }, { 38, -26 }, { 38, -25 }, { 38, -24 }, { 38, -21 }, { 38, -20 }, { 38, -19 }, { 38, -13 }, { 38, -12 }, { 38, -5 }, { 38, -4 }, { 38, -3 }, { 38, -2 }, { 38, -1 }, { 38, 0 }, { 38, 1 }, { 38, 2 }, { 38, 3 }, { 38, 4 }, { 38, 5 }, { 38, 6 }, { 38, 7 }, { 38, 8 }, { 38, 15 }, - { 38, 16 }, { 38, 22 }, { 38, 23 }, { 38, 24 }, { 38, 27 }, { 38, 28 }, { 38, 29 }, { 38, 30 }, { 39, -26 }, { 39, -25 }, { 39, -24 }, { 39, -20 }, { 39, -19 }, { 39, -18 }, { 39, -13 }, { 39, -12 }, { 39, -11 }, { 39, -10 }, { 39, -5 }, { 39, -4 }, { 39, 7 }, { 39, 8 }, { 39, 13 }, { 39, 14 }, { 39, 15 }, { 39, 16 }, { 39, 21 }, { 39, 22 }, { 39, 23 }, { 39, 27 }, - { 39, 28 }, { 39, 29 }, { 40, -25 }, { 40, -24 }, { 40, -19 }, { 40, -18 }, { 40, -13 }, { 40, -12 }, { 40, -11 }, { 40, -10 }, { 40, -5 }, { 40, -4 }, { 40, 7 }, { 40, 8 }, { 40, 13 }, { 40, 14 }, { 40, 15 }, { 40, 16 }, { 40, 21 }, { 40, 22 }, { 40, 27 }, { 40, 28 }, { 41, -19 }, { 41, -18 }, { 41, -1 }, { 41, 0 }, { 41, 1 }, { 41, 2 }, { 41, 3 }, { 41, 4 }, - { 41, 21 }, { 41, 22 }, { 42, -19 }, { 42, -18 }, { 42, -17 }, { 42, -1 }, { 42, 0 }, { 42, 1 }, { 42, 2 }, { 42, 3 }, { 42, 4 }, { 42, 20 }, { 42, 21 }, { 42, 22 }, { 43, -18 }, { 43, -17 }, { 43, -16 }, { 43, -15 }, { 43, -14 }, { 43, -13 }, { 43, -12 }, { 43, -9 }, { 43, -8 }, { 43, -1 }, { 43, 0 }, { 43, 1 }, { 43, 2 }, { 43, 3 }, { 43, 4 }, { 43, 11 }, - { 43, 12 }, { 43, 15 }, { 43, 16 }, { 43, 17 }, { 43, 18 }, { 43, 19 }, { 43, 20 }, { 43, 21 }, { 44, -17 }, { 44, -16 }, { 44, -15 }, { 44, -14 }, { 44, -13 }, { 44, -12 }, { 44, -9 }, { 44, -8 }, { 44, -7 }, { 44, -2 }, { 44, -1 }, { 44, 0 }, { 44, 1 }, { 44, 2 }, { 44, 3 }, { 44, 4 }, { 44, 5 }, { 44, 10 }, { 44, 11 }, { 44, 12 }, { 44, 15 }, { 44, 16 }, - { 44, 17 }, { 44, 18 }, { 44, 19 }, { 44, 20 }, { 45, -8 }, { 45, -7 }, { 45, -6 }, { 45, -5 }, { 45, -4 }, { 45, -3 }, { 45, -2 }, { 45, -1 }, { 45, 4 }, { 45, 5 }, { 45, 6 }, { 45, 7 }, { 45, 8 }, { 45, 9 }, { 45, 10 }, { 45, 11 }, { 46, -7 }, { 46, -6 }, { 46, -5 }, { 46, -4 }, { 46, -3 }, { 46, -2 }, { 46, 5 }, { 46, 6 }, { 46, 7 }, { 46, 8 }, - { 46, 9 }, { 46, 10 }, { 47, -4 }, { 47, -3 }, { 47, -2 }, { 47, 1 }, { 47, 2 }, { 47, 5 }, { 47, 6 }, { 47, 7 }, { 48, -3 }, { 48, -2 }, { 48, 1 }, { 48, 2 }, { 48, 5 }, { 48, 6 }, - }, + } }, resource_tiles = { enabled = false, diff --git a/exp_legacy/module/config/vlayer.lua b/exp_legacy/module/config/vlayer.lua index d3355c6b..32bfc605 100644 --- a/exp_legacy/module/config/vlayer.lua +++ b/exp_legacy/module/config/vlayer.lua @@ -8,26 +8,26 @@ return { unlimited_capacity = false, --- @setting unlimited_capacity When true the vlayer has an unlimited energy capacity, accumulators are not required unlimited_surface_area = false, --- @setting unlimited_surface_area When true the vlayer has an unlimited surface area, landfill is not required - modded_auto_downgrade = false, --- @setting modded_auto_downgrade When true modded items will be converted into their base game equivalent, original items can not be recovered + modded_auto_downgrade = true, --- @setting modded_auto_downgrade When true modded items will be converted into their base game equivalent, original items can not be recovered mimic_surface = "nauvis", --- @setting mimic_surface Surface name/index the vlayer will copy its settings from, use nil to use the settings below surface = { --- @setting surface When mimic_surface is nil these settings will be used instead, see LuaSurface for details always_day = false, solar_power_multiplier = 1, min_brightness = 0.15, - ticks_per_day = 25000, + ticks_per_day = 25200, daytime = 0, dusk = 0.25, evening = 0.45, morning = 0.55, - dawn = 0.75, + dawn = 0.75 }, interface_limit = { --- @setting interface_limit Sets the limit for the number of vlayer interfaces that can be created energy = 1, -- >1 allows for disconnected power networks to receive power - circuit = 10, -- No caveats - storage_input = 10, -- No caveats - storage_output = 1, -- >0 allows for item teleportation (allowed_items only) + circuit = 20, -- No caveats + storage_input = 30, -- No caveats + storage_output = 1 -- >0 allows for item teleportation (allowed_items only) }, allowed_items = { --- @setting allowed_items List of all items allowed in vlayer storage and their properties @@ -43,55 +43,64 @@ return { ["solar-panel"] = { starting_value = 0, required_area = 9, - production = 0.06, -- MW + production = 0.06 -- MW }, ["accumulator"] = { starting_value = 0, required_area = 4, discharge = 0.3, -- MW - capacity = 5, -- MJ + capacity = 5 -- MJ }, ["landfill"] = { starting_value = 0, required_area = 0, - surface_area = 6, -- Tiles + surface_area = 8 -- Tiles }, ["wood"] = { starting_value = 0, required_area = 0, surface_area = 0, fuel_value = 2, -- MJ - power = true, -- turn all wood to power to reduce trash + power = true -- turn all wood to power to reduce trash }, ["coal"] = { starting_value = 0, required_area = 0, surface_area = 0, fuel_value = 4, -- MJ - power = false, -- turn all coal to power to reduce trash + power = true -- turn all coal to power to reduce trash }, + ["solid-fuel"] = { + starting_value = 0, + required_area = 0, + surface_area = 0, + fuel_value = 12, -- MJ + power = true -- turn all solid fuel to power to reduce trash + }, + ["rocket-fuel"] = { + starting_value = 0, + required_area = 0, + surface_area = 0, + fuel_value = 100, -- MJ + power = true -- turn all rocket fuel to power to reduce trash + } --[[ - ['iron-ore'] = { + ["iron-ore"] = { starting_value = 0, required_area = 0, surface_area = 0 }, - ['copper-ore'] = { + ["copper-ore"] = { starting_value = 0, required_area = 0, surface_area = 0 }, - ['coal'] = { + ["stone"] = { starting_value = 0, required_area = 0, surface_area = 0 }, - ['stone'] = { - starting_value = 0, - required_area = 0, - surface_area = 0 - }, - ['uranium-ore'] = { + ["uranium-ore"] = { starting_value = 0, required_area = 0, surface_area = 0 @@ -103,72 +112,72 @@ return { ["solar-panel-2"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 4, + multiplier = 4 }, ["solar-panel-3"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 16, + multiplier = 16 }, ["solar-panel-4"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 64, + multiplier = 64 }, ["solar-panel-5"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 256, + multiplier = 256 }, ["solar-panel-6"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 1024, + multiplier = 1024 }, ["solar-panel-7"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 4096, + multiplier = 4096 }, ["solar-panel-8"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 16384, + multiplier = 16384 }, ["accumulator-2"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 4, + multiplier = 4 }, ["accumulator-3"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 16, + multiplier = 16 }, ["accumulator-4"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 64, + multiplier = 64 }, ["accumulator-5"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 256, + multiplier = 256 }, ["accumulator-6"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 1024, + multiplier = 1024 }, ["accumulator-7"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 4096, + multiplier = 4096 }, ["accumulator-8"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 16384, + multiplier = 16384 }, - }, + } } diff --git a/exp_legacy/module/locale/en/data.cfg b/exp_legacy/module/locale/en/data.cfg index b29656a3..a3c8944c 100644 --- a/exp_legacy/module/locale/en/data.cfg +++ b/exp_legacy/module/locale/en/data.cfg @@ -2,7 +2,7 @@ description-add=Sets / Gets your custom join message. description-remove=Removes you custom join message. arg-message=Your custom join message. -greet=[color=0,1,0] Welcome to explosive gaming community server! If you like the server join our discord: __1__ [/color] +greet=[color=0,1,0] Welcome to APERX gaming community server! __1__[/color] message-set=Your join message has been updated. message-get=Your join message is: __1__ message-cleared=Your join message has been cleared. diff --git a/exp_legacy/module/locale/en/expcore.cfg b/exp_legacy/module/locale/en/expcore.cfg index 69ec22ea..509e1734 100644 --- a/exp_legacy/module/locale/en/expcore.cfg +++ b/exp_legacy/module/locale/en/expcore.cfg @@ -27,4 +27,4 @@ preference-value-tooltip=Change by using /set-preference preference-All=All data will be saved preference-Statistics=Only statistics, settings, and required data will be saved preference-Settings=Only settings and required data will be saved -preference-Required=Only required data will be saved \ No newline at end of file +preference-Required=Only required data will be saved diff --git a/exp_legacy/module/locale/en/gui.cfg b/exp_legacy/module/locale/en/gui.cfg index 9f0957fd..30f4cfc3 100644 --- a/exp_legacy/module/locale/en/gui.cfg +++ b/exp_legacy/module/locale/en/gui.cfg @@ -133,8 +133,8 @@ goto-edit=Edit warp icon [readme] main-tooltip=Infomation welcome-tab=Welcome -welcome-tooltip=Welcome to Explosive Gaming -welcome-general=Welcome to Explosive Gaming; we host many factorio servers. While you are here, we ask you to follow our rules. You can find these in the tab above. You can also find our custom commands and links to our other servers. This map has been online for __2__.\nPlease note that our servers reset periodically, the next reset is: __1__ +welcome-tooltip=Welcome to APERX +welcome-general=Welcome to APERX; we host many factorio servers. While you are here, we ask you to follow our rules. You can find these in the tab above. You can also find our custom commands and links to our other servers. This map has been online for __2__.\nPlease note that our servers reset periodically, the next reset is: __1__ welcome-roles=We run a custom role system to help protect the work of others. As a result you may not be able to use your deconstruction planner yet or drop item on the groud. Roles also give you access to some custom features such as adding tasks to our task list or making new warp points.\nYou have been assigned the roles: __1__ welcome-chat=Chatting can be difficult for new players because it’s different than other games! It’s very simple, the button you need to press is the “GRAVE/TILDE” key (which is located under the “ESC key”) - If you would like to change the key, go to your Controls tab in options.\nThe setting you need to change is “Toggle chat (and Lua console)” you currently have it set to "__CONTROL__toggle-console__" rules-tab=Rules @@ -162,22 +162,22 @@ servers-tab=Servers servers-tooltip=Links to our other servers and sites servers-general=This is only one of our servers for factorio, we host many of others as well. Below you can find details about all the servers that we host as well as links to our external services such as discord or github. servers-factorio=Factorio Servers -servers-1=S1 Public -servers-d1=This is our 48 hour reset server. -servers-2=S2 Off -servers-d2=This server is closed. -servers-3=S3 Weekly -servers-d3=This is our weekly reset server. -servers-4=S4 Monthly -servers-d4=This is our monthly reset server. -servers-5=S5 Modded -servers-d5=This is our modded server, see discord for details. -servers-6=S6 Donator -servers-d6=This is our donator only server, online when requested. -servers-7=S7 Event -servers-d7=This is our event server, we try to run events at least once per week. -servers-8=S8 T̷-̶s̶-̴:̷ -servers-d8=N̵o̴ ̶o̷-̶e̵ ̴k̸n̷-̶w̵s̸ ̴w̷h̷a̶-̶ ̷h̴a̴p̷p̴e̷n̷s̸ ̷o̶n̴ ̷t̶h̴-̶s̶ ̷s̷e̶r̸v̸e̴r̷,̶ ̸i̸t̴ ̷m̶-̸g̴h̶t̷ ̸n̸-̶t̵ ̷e̴v̸e̸n̶t̷ ̵-̷x̴i̵s̶t̸.̸ +servers-1=S1 +servers-d1=This server resets weekly. +servers-2=S2 +servers-d2=This server resets weekly. +servers-3=S3 +servers-d3=This server resets weekly. +servers-4= +servers-d4= +servers-5=S5 +servers-d5=This server is only for members. Check discord for more details. +servers-6=S6 +servers-d6=This server is only for members. Check discord for more details. +servers-7= +servers-d7= +servers-8=S8 +servers-d8= servers-connect-Offline=Server is currently offline servers-connect-Current=This is your current server servers-connect-Version=Server is on a different version: __1__ diff --git a/exp_legacy/module/locale/zh-CN/addons.cfg b/exp_legacy/module/locale/zh-CN/addons.cfg index 04517f0b..47c623ad 100644 --- a/exp_legacy/module/locale/zh-CN/addons.cfg +++ b/exp_legacy/module/locale/zh-CN/addons.cfg @@ -7,20 +7,20 @@ player-health=__1__ player-damage=__1__ [links] -discord=https://discord.explosivegaming.nl -website=https://www.explosivegaming.nl -status=https://status.explosivegaming.nl -github=https://github.com/explosivegaming/scenario -patreon=https://www.patreon.com/ExpGaming +discord= +website= +status= +github= +patreon= [info] players-online=現在有 __1__ 人在線 total-map-time=地圖時間為 __1__ -discord=加入社群: https://discord.explosivegaming.nl -website=訪問網站: https://www.explosivegaming.nl -status=伺服器狀態: https://status.explosivegaming.nl -github=增加功能或回報錯誤: https://github.com/explosivegaming/scenario -patreon=支持我們: https://www.patreon.com/ExpGaming +discord= +website= +status= +github= +patreon= custom-commands=這裹使用了自制指令,如 /tag 和 /me。可使用 /chelp 查看更多。 read-readme=確保你已閱讀相關資訊。按左上 i 圖標可再次查看。 softmod=這裹用了自設情境,是一種軟裝模組。 @@ -43,7 +43,7 @@ reply=[Chat Bot] __1__ disallow=你沒有權限使用這個指令。 players-online=現在有 __1__ 人上線。 players=本地圖現在有 __1__ 人曾上線。 -not-real-dev=Cooldude2606 只是本場境的開發者 +not-real-dev= softmod=這裹用了自設情境。 blame=責怪 __1__ 吧。 afk=看看 __1__, 他已掛機 __2__ 。 diff --git a/exp_legacy/module/locale/zh-CN/data.cfg b/exp_legacy/module/locale/zh-CN/data.cfg index 76b58651..633aa430 100644 --- a/exp_legacy/module/locale/zh-CN/data.cfg +++ b/exp_legacy/module/locale/zh-CN/data.cfg @@ -2,10 +2,10 @@ description-add=設定 / 取得你的加入信息。 description-remove=移除你的加入信息。 arg-message=你的加入信息。 -greet=[color=0,1,0] 歡迎來到 EXP 的服務器! 若果你喜歡本服務器可加入 DISCORD: __1__ [/color] +greet=[color=0,1,0] 歡迎來到 APERX 的服務器! __1__[/color] message-set=你的加入信息已更新。 message-get=你的加入信息為: __1__ -message-cleared=你的加入信息已清除。 +message-cleared=的加入信息已清除。 [quickbar] saved=你的工具列已儲存。 diff --git a/exp_legacy/module/locale/zh-CN/gui.cfg b/exp_legacy/module/locale/zh-CN/gui.cfg index 1cabda1b..1acf3709 100644 --- a/exp_legacy/module/locale/zh-CN/gui.cfg +++ b/exp_legacy/module/locale/zh-CN/gui.cfg @@ -133,8 +133,8 @@ goto-edit=修改傳送陣圖案 [readme] main-tooltip=資訊 welcome-tab=歡迎 -welcome-tooltip=歡迎來到 Explosive Gaming -welcome-general=歡迎來到 Explosive Gaming; 你在這裏的時候要遵守規則。 你可以在左上方的介面找到更多資訊。 地圖時間 __2__。\n下次地圖重設: __1__ +welcome-tooltip=歡迎來到 APERX +welcome-general=歡迎來到 APERX; 你在這裏的時候要遵守規則。 你可以在左上方的介面找到更多資訊。 地圖時間 __2__。\n下次地圖重設: __1__ welcome-roles=我們有自訂的身份組來保護其他用戶。 所以你有機會不能使用拆除規劃器或掉東西。 身份組給予你各種權限\n你有以下身份組: __1__ welcome-chat=你可以使用 「重音符/抑音符」 鍵 (ESC 鍵 下方) - 你也可以在選項中修改按鍵。\n你目前設定為 「__CONTROL__toggle-console__」 rules-tab=規則 @@ -162,22 +162,22 @@ servers-tab=伺服器 servers-tooltip=到其他伺服器及網站的連結 servers-general=這是其中一個伺服器。你可以在下方找到其他同樣是由我們運行的伺服器資料。 servers-factorio=異星工廠伺服器 -servers-1=S1 公共 -servers-d1=這個服務器每兩日重設。 -servers-2=S2 - -servers-d2=這個服務器沒在營運。 -servers-3=S3 周 -servers-d3=這個服務器每週重設。 -servers-4=S4 月 -servers-d4=這個服務器每月重設。 -servers-5=S5 模組 -servers-d5=這個服務器運行模組,可在 Discord 中得到更多資訊。 -servers-6=S6 Donator -servers-d6=這個服務器為支持者運行,可在 Discord 中得到更多資訊。 -servers-7=S7 項目 -servers-d7=這個服務器只在有項目期間運行。 -servers-8=S8 T̷-̶s̶-̴:̷ -servers-d8=N̵o̴ ̶o̷-̶e̵ ̴k̸n̷-̶w̵s̸ ̴w̷h̷a̶-̶ ̷h̴a̴p̷p̴e̷n̷s̸ ̷o̶n̴ ̷t̶h̴-̶s̶ ̷s̷e̶r̸v̸e̴r̷,̶ ̸i̸t̴ ̷m̶-̸g̴h̶t̷ ̸n̸-̶t̵ ̷e̴v̸e̸n̶t̷ ̵-̷x̴i̵s̶t̸。̸ +servers-1=S1 +servers-d1=這個服務器每兩週重設。 +servers-2=S2 +servers-d2=這個服務器每兩週重設。 +servers-3=S3 +servers-d3=這個服務器每兩週重設。 +servers-4= +servers-d4= +servers-5=S5 會員 +servers-d5=這個服務器為會員運行,可在 Discord 中得到更多資訊。 +servers-6=S6 藍圖 +servers-d6=這個服務器為會員運行,可在 Discord 中得到更多資訊。 +servers-7= +servers-d7= +servers-8=S8 +servers-d8= servers-connect-Offline=該服務器目前沒有在運行 servers-connect-Current=你目前所在的伺服器 servers-connect-Version=該服務器運行不同的遊戲版本: __1__ @@ -353,4 +353,3 @@ research=研究 research-tooltip=啟用自動研究 spawn=傳送出生 spawn-tooltip=傳送到出生點 - diff --git a/exp_legacy/module/locale/zh-TW/addons.cfg b/exp_legacy/module/locale/zh-TW/addons.cfg index 04517f0b..47c623ad 100644 --- a/exp_legacy/module/locale/zh-TW/addons.cfg +++ b/exp_legacy/module/locale/zh-TW/addons.cfg @@ -7,20 +7,20 @@ player-health=__1__ player-damage=__1__ [links] -discord=https://discord.explosivegaming.nl -website=https://www.explosivegaming.nl -status=https://status.explosivegaming.nl -github=https://github.com/explosivegaming/scenario -patreon=https://www.patreon.com/ExpGaming +discord= +website= +status= +github= +patreon= [info] players-online=現在有 __1__ 人在線 total-map-time=地圖時間為 __1__ -discord=加入社群: https://discord.explosivegaming.nl -website=訪問網站: https://www.explosivegaming.nl -status=伺服器狀態: https://status.explosivegaming.nl -github=增加功能或回報錯誤: https://github.com/explosivegaming/scenario -patreon=支持我們: https://www.patreon.com/ExpGaming +discord= +website= +status= +github= +patreon= custom-commands=這裹使用了自制指令,如 /tag 和 /me。可使用 /chelp 查看更多。 read-readme=確保你已閱讀相關資訊。按左上 i 圖標可再次查看。 softmod=這裹用了自設情境,是一種軟裝模組。 @@ -43,7 +43,7 @@ reply=[Chat Bot] __1__ disallow=你沒有權限使用這個指令。 players-online=現在有 __1__ 人上線。 players=本地圖現在有 __1__ 人曾上線。 -not-real-dev=Cooldude2606 只是本場境的開發者 +not-real-dev= softmod=這裹用了自設情境。 blame=責怪 __1__ 吧。 afk=看看 __1__, 他已掛機 __2__ 。 diff --git a/exp_legacy/module/locale/zh-TW/data.cfg b/exp_legacy/module/locale/zh-TW/data.cfg index 76b58651..633aa430 100644 --- a/exp_legacy/module/locale/zh-TW/data.cfg +++ b/exp_legacy/module/locale/zh-TW/data.cfg @@ -2,10 +2,10 @@ description-add=設定 / 取得你的加入信息。 description-remove=移除你的加入信息。 arg-message=你的加入信息。 -greet=[color=0,1,0] 歡迎來到 EXP 的服務器! 若果你喜歡本服務器可加入 DISCORD: __1__ [/color] +greet=[color=0,1,0] 歡迎來到 APERX 的服務器! __1__[/color] message-set=你的加入信息已更新。 message-get=你的加入信息為: __1__ -message-cleared=你的加入信息已清除。 +message-cleared=的加入信息已清除。 [quickbar] saved=你的工具列已儲存。 diff --git a/exp_legacy/module/locale/zh-TW/gui.cfg b/exp_legacy/module/locale/zh-TW/gui.cfg index 65e60a84..1acf3709 100644 --- a/exp_legacy/module/locale/zh-TW/gui.cfg +++ b/exp_legacy/module/locale/zh-TW/gui.cfg @@ -133,8 +133,8 @@ goto-edit=修改傳送陣圖案 [readme] main-tooltip=資訊 welcome-tab=歡迎 -welcome-tooltip=歡迎來到 Explosive Gaming -welcome-general=歡迎來到 Explosive Gaming; 你在這裏的時候要遵守規則。 你可以在左上方的介面找到更多資訊。 地圖時間 __2__。\n下次地圖重設: __1__ +welcome-tooltip=歡迎來到 APERX +welcome-general=歡迎來到 APERX; 你在這裏的時候要遵守規則。 你可以在左上方的介面找到更多資訊。 地圖時間 __2__。\n下次地圖重設: __1__ welcome-roles=我們有自訂的身份組來保護其他用戶。 所以你有機會不能使用拆除規劃器或掉東西。 身份組給予你各種權限\n你有以下身份組: __1__ welcome-chat=你可以使用 「重音符/抑音符」 鍵 (ESC 鍵 下方) - 你也可以在選項中修改按鍵。\n你目前設定為 「__CONTROL__toggle-console__」 rules-tab=規則 @@ -162,22 +162,22 @@ servers-tab=伺服器 servers-tooltip=到其他伺服器及網站的連結 servers-general=這是其中一個伺服器。你可以在下方找到其他同樣是由我們運行的伺服器資料。 servers-factorio=異星工廠伺服器 -servers-1=S1 公共 -servers-d1=這個服務器每兩日重設。 -servers-2=S2 - -servers-d2=這個服務器沒在營運。 -servers-3=S3 周 -servers-d3=這個服務器每週重設。 -servers-4=S4 月 -servers-d4=這個服務器每月重設。 -servers-5=S5 模組 -servers-d5=這個服務器運行模組,可在 Discord 中得到更多資訊。 -servers-6=S6 Donator -servers-d6=這個服務器為支持者運行,可在 Discord 中得到更多資訊。 -servers-7=S7 項目 -servers-d7=這個服務器只在有項目期間運行。 -servers-8=S8 T̷-̶s̶-̴:̷ -servers-d8=N̵o̴ ̶o̷-̶e̵ ̴k̸n̷-̶w̵s̸ ̴w̷h̷a̶-̶ ̷h̴a̴p̷p̴e̷n̷s̸ ̷o̶n̴ ̷t̶h̴-̶s̶ ̷s̷e̶r̸v̸e̴r̷,̶ ̸i̸t̴ ̷m̶-̸g̴h̶t̷ ̸n̸-̶t̵ ̷e̴v̸e̸n̶t̷ ̵-̷x̴i̵s̶t̸。̸ +servers-1=S1 +servers-d1=這個服務器每兩週重設。 +servers-2=S2 +servers-d2=這個服務器每兩週重設。 +servers-3=S3 +servers-d3=這個服務器每兩週重設。 +servers-4= +servers-d4= +servers-5=S5 會員 +servers-d5=這個服務器為會員運行,可在 Discord 中得到更多資訊。 +servers-6=S6 藍圖 +servers-d6=這個服務器為會員運行,可在 Discord 中得到更多資訊。 +servers-7= +servers-d7= +servers-8=S8 +servers-d8= servers-connect-Offline=該服務器目前沒有在運行 servers-connect-Current=你目前所在的伺服器 servers-connect-Version=該服務器運行不同的遊戲版本: __1__ diff --git a/exp_legacy/module/modules/addons/compilatron.lua b/exp_legacy/module/modules/addons/compilatron.lua index 706b8c92..aea060d1 100644 --- a/exp_legacy/module/modules/addons/compilatron.lua +++ b/exp_legacy/module/modules/addons/compilatron.lua @@ -94,8 +94,8 @@ end -- @tparam string location the location tag that is in the config file function Public.spawn_compilatron(surface, location) local position = locations[location] - local pos = surface.find_non_colliding_position("small-biter", position, 1.5, 0.5) - local compi = surface.create_entity{ name = "small-biter", position = pos, force = game.forces.neutral } + local pos = surface.find_non_colliding_position("behemoth-biter", position, 1.5, 0.5) + local compi = surface.create_entity{ name = "behemoth-biter", position = pos, force = game.forces.neutral } Public.add_compilatron(compi, location) end diff --git a/exp_legacy/module/modules/control/vlayer.lua b/exp_legacy/module/modules/control/vlayer.lua index 6533a17b..ccd157ca 100644 --- a/exp_legacy/module/modules/control/vlayer.lua +++ b/exp_legacy/module/modules/control/vlayer.lua @@ -22,6 +22,7 @@ local vlayer_data = { properties = { total_surface_area = 0, used_surface_area = 0, + total_production = 0, production = 0, discharge = 0, capacity = 0, @@ -155,7 +156,7 @@ local function get_production_multiplier() end if surface.darkness then - -- We are using a real surface, our config does not contain 'darkness' + -- We are using a real surface, our config does not contain "darkness" local brightness = 1 - surface.darkness if brightness >= surface.min_brightness then @@ -212,7 +213,9 @@ function vlayer.allocate_item(item_name, count) assert(item_properties, "Item not allowed in vlayer: " .. tostring(item_name)) if item_properties.production then - vlayer_data.properties.production = vlayer_data.properties.production + item_properties.production * count + local nc = item_properties.production * count + vlayer_data.properties.production = vlayer_data.properties.production + nc + vlayer_data.properties.total_production = vlayer_data.properties.total_production + nc end if item_properties.capacity then @@ -232,6 +235,14 @@ function vlayer.allocate_item(item_name, count) end end +function vlayer.unable_alloc_item_pwr_calc(item_name, count) + local item_properties = config.allowed_items[item_name] + + if item_properties.production then + vlayer_data.properties.total_production = vlayer_data.properties.total_production + item_properties.production * count + end +end + -- For all allowed items, setup their starting values, default 0 for item_name, properties in pairs(config.allowed_items) do vlayer_data.storage.items[item_name] = properties.starting_value or 0 @@ -260,7 +271,9 @@ function vlayer.insert_item(item_name, count) vlayer.allocate_item(item_name, allocate_count) end + local nc = count - allocate_count vlayer_data.storage.unallocated[item_name] = vlayer_data.storage.unallocated[item_name] + count - allocate_count + vlayer.unable_alloc_item_pwr_calc(item_name, nc) else vlayer.allocate_item(item_name, count) end @@ -456,6 +469,7 @@ local function handle_unallocated() if allocation_count > 0 then vlayer_data.storage.unallocated[item_name] = vlayer_data.storage.unallocated[item_name] - allocation_count vlayer.allocate_item(item_name, allocation_count) + vlayer.unable_alloc_item_pwr_calc(item_name, -allocation_count) end end end @@ -464,15 +478,19 @@ end function vlayer.get_statistics() local vdp = vlayer_data.properties.production * mega local gdm = get_production_multiplier() + local gsm = get_sustained_multiplier() + local gald = get_actual_land_defecit() return { total_surface_area = vlayer_data.properties.total_surface_area, used_surface_area = vlayer_data.properties.used_surface_area, - remaining_surface_area = get_actual_land_defecit(), + remaining_surface_area = gald, + surface_area = vlayer_data.properties.total_surface_area - gald, production_multiplier = gdm, energy_max = vdp, energy_production = vdp * gdm, - energy_sustained = vdp * get_sustained_multiplier(), + energy_total_production = vlayer_data.properties.total_production * gsm * mega, + energy_sustained = vdp * gsm, energy_capacity = vlayer_data.properties.capacity * mega, energy_storage = vlayer_data.storage.energy, day_time = math.floor(vlayer_data.surface.daytime * vlayer_data.surface.ticks_per_day), diff --git a/exp_legacy/module/modules/gui/vlayer.lua b/exp_legacy/module/modules/gui/vlayer.lua index 6389947a..2dc8ed3d 100644 --- a/exp_legacy/module/modules/gui/vlayer.lua +++ b/exp_legacy/module/modules/gui/vlayer.lua @@ -177,9 +177,9 @@ local vlayer_gui_display_item_accumulator_count = font = "heading-2", } ---- Display label for the remaining surface area --- @element vlayer_gui_display_signal_remaining_surface_area_name -local vlayer_gui_display_signal_remaining_surface_area_name = +--- Display label for the surface area +-- @element vlayer_gui_display_signal_surface_area_name +local vlayer_gui_display_signal_surface_area_name = Gui.element{ type = "label", name = "vlayer_display_signal_remaining_surface_area_name", @@ -190,16 +190,16 @@ local vlayer_gui_display_signal_remaining_surface_area_name = width = 200, } -local vlayer_gui_display_signal_remaining_surface_area_count = +local vlayer_gui_display_signal_surface_area_count = Gui.element{ - type = "label", - name = "vlayer_display_signal_remaining_surface_area_count", - caption = "0", - style = "heading_2_label", + type = "progressbar", + name = "vlayer_display_signal_surface_area_count", + caption = "", + value = 0, + style = "electric_satisfaction_statistics_progressbar", }:style{ width = 200, - height = 28, - horizontal_align = "right", + font = "heading-2", } --- Display label for the sustained energy production @@ -217,14 +217,14 @@ local vlayer_gui_display_signal_sustained_name = local vlayer_gui_display_signal_sustained_count = Gui.element{ - type = "label", + type = "progressbar", name = "vlayer_display_signal_sustained_count", - caption = "0", - style = "heading_2_label", + caption = "", + value = 0, + style = "electric_satisfaction_statistics_progressbar", }:style{ width = 200, - height = 28, - horizontal_align = "right", + font = "heading-2", } --- Display label for the current energy production @@ -288,8 +288,8 @@ local vlayer_display_set = vlayer_gui_display_item_solar_count(disp) vlayer_gui_display_item_accumulator_name(disp) vlayer_gui_display_item_accumulator_count(disp) - vlayer_gui_display_signal_remaining_surface_area_name(disp) - vlayer_gui_display_signal_remaining_surface_area_count(disp) + vlayer_gui_display_signal_surface_area_name(disp) + vlayer_gui_display_signal_surface_area_count(disp) vlayer_gui_display_signal_sustained_name(disp) vlayer_gui_display_signal_sustained_count(disp) vlayer_gui_display_signal_production_name(disp) @@ -493,11 +493,13 @@ Event.on_nth_tick(config.update_tick_gui, function(_) val = (items_alloc["accumulator"] / math.max(items["accumulator"], 1)), cap = format_number(items_alloc["accumulator"], false) .. " / " .. format_number(items["accumulator"], false), }, - [vlayer_gui_display_signal_remaining_surface_area_count.name] = { - cap = format_number(stats.remaining_surface_area, false), + [vlayer_gui_display_signal_surface_area_count.name] = { + val = (stats.total_surface_area / math.max(stats.surface_area, 1)), + cap = format_number(stats.remaining_surface_area) }, [vlayer_gui_display_signal_sustained_count.name] = { - cap = format_energy(stats.energy_sustained, "W"), + val = (stats.energy_sustained / math.max(stats.energy_total_production, 1)), + cap = format_energy(stats.energy_sustained, "W") .. " / " .. format_energy(stats.energy_total_production, "W") }, [vlayer_gui_display_signal_production_count.name] = { val = (stats.energy_production / math.max(stats.energy_max, 1)), From 87dbf0db57b6db8fd9ab489ff6c483b255f1aece Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sun, 29 Dec 2024 14:06:16 +0900 Subject: [PATCH 02/30] . --- exp_legacy/module/locale/zh-CN/data.cfg | 2 +- exp_legacy/module/locale/zh-TW/data.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/exp_legacy/module/locale/zh-CN/data.cfg b/exp_legacy/module/locale/zh-CN/data.cfg index 633aa430..495f3f2d 100644 --- a/exp_legacy/module/locale/zh-CN/data.cfg +++ b/exp_legacy/module/locale/zh-CN/data.cfg @@ -5,7 +5,7 @@ arg-message=你的加入信息。 greet=[color=0,1,0] 歡迎來到 APERX 的服務器! __1__[/color] message-set=你的加入信息已更新。 message-get=你的加入信息為: __1__ -message-cleared=的加入信息已清除。 +message-cleared=你的加入信息已清除。 [quickbar] saved=你的工具列已儲存。 diff --git a/exp_legacy/module/locale/zh-TW/data.cfg b/exp_legacy/module/locale/zh-TW/data.cfg index 633aa430..495f3f2d 100644 --- a/exp_legacy/module/locale/zh-TW/data.cfg +++ b/exp_legacy/module/locale/zh-TW/data.cfg @@ -5,7 +5,7 @@ arg-message=你的加入信息。 greet=[color=0,1,0] 歡迎來到 APERX 的服務器! __1__[/color] message-set=你的加入信息已更新。 message-get=你的加入信息為: __1__ -message-cleared=的加入信息已清除。 +message-cleared=你的加入信息已清除。 [quickbar] saved=你的工具列已儲存。 From 0a4b392cf336b085870f130f3a1e371d7a0a1842 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sun, 29 Dec 2024 14:09:39 +0900 Subject: [PATCH 03/30] . --- README.md | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 85dad859..83c95cb1 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,17 @@

logo
-
- Release + + Release - - Downloads + + Downloads - - Star + + Star - - Fork - - - CodeFactor + + Fork Discord @@ -28,9 +25,9 @@ Explosive Gaming (often ExpGaming) is a server hosting community with a strong f ## Installation -This is a plugin collection for [Clusterio](https://github.com/clusterio/clusterio) which provides all our scenario features. +This is a plugin collection for [Clusterio](https://github.com/clusterio/clusterio) which implements all our scenario features. -To use this plugin you must already have a clusterio instance running, see [here](https://github.com/clusterio/clusterio?tab=readme-ov-file#installation) for clusterio installation instructions. +To use this plugin you must have a clusterio instance running, see [here](https://github.com/clusterio/clusterio?tab=readme-ov-file#installation) for clusterio installation instructions. This module is currently not published and therefore can not be installed via `npm`. Instead follow the steps for [building from source](#building-from-source) @@ -38,8 +35,8 @@ This module is currently not published and therefore can not be installed via `n 1) Create a `external_plugins` directory within your clusterio instance. 2) Clone this repository into that directory: `git clone https://github.com/explosivegaming/ExpCluster` -3) Install the package dev dependencies: `pnpm install` -4) Add the plugins to your clusterio instance such as: `npx clusteriocontroller plugin add ./external_plugins/ExpCluster/exp_groups` +3) Install the package dev dependencies: `pnpm install` (`pnpm` is recommended over `npm`) +4) Add supported plugins will be loaded on next controller / host restart. ## Contributing @@ -71,7 +68,7 @@ See [Contributing](CONTRIBUTING.md) for how to make pull requests and issues. | [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][releases]. +\* 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. @@ -122,11 +119,6 @@ See [Contributing](CONTRIBUTING.md) for how to make pull requests and issues. The Explosive Gaming codebase is licensed under the [MIT](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 [website]: https://explosivegaming.nl [discord]: https://discord.explosivegaming.nl From e9f82db1548c256c86c3bda9a7e036c7bce75cb9 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sun, 29 Dec 2024 14:10:55 +0900 Subject: [PATCH 04/30] . --- exp_legacy/module/config/bonus.lua | 106 ++++++++++++++--------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/exp_legacy/module/config/bonus.lua b/exp_legacy/module/config/bonus.lua index 78a0881d..f01b5ac7 100644 --- a/exp_legacy/module/config/bonus.lua +++ b/exp_legacy/module/config/bonus.lua @@ -18,16 +18,16 @@ return { ]] pts = { rate = { - ['Senior Administrator'] = 1.5, - ['Administrator'] = 1.4, - ['Senior Moderator'] = 1.3, - ['Moderator'] = 1.2, - ['Trainee Moderator'] = 1.2, - ['Board Member'] = 1.1, - ['Supporter'] = 1.1, - ['Partner'] = 1.1, - ['Senior Member'] = 1.1, - ['Member'] = 1 + ["Senior Administrator"] = 1.5, + ["Administrator"] = 1.4, + ["Senior Moderator"] = 1.3, + ["Moderator"] = 1.2, + ["Trainee Moderator"] = 1.2, + ["Board Member"] = 1.1, + ["Supporter"] = 1.1, + ["Partner"] = 1.1, + ["Senior Member"] = 1.1, + ["Member"] = 1 }, base = 172 }, @@ -38,19 +38,19 @@ return { count = 50 }, conversion = { - ['cmms'] = 'character_mining_speed_modifier', - ['crs'] = 'character_running_speed_modifier', - ['ccs'] = 'character_crafting_speed_modifier', - ['cisb'] = 'character_inventory_slots_bonus', - ['chb'] = 'character_health_bonus', - ['crdb'] = 'character_reach_distance_bonus', + ["cmms"] = "character_mining_speed_modifier", + ["crs"] = "character_running_speed_modifier", + ["ccs"] = "character_crafting_speed_modifier", + ["cisb"] = "character_inventory_slots_bonus", + ["chb"] = "character_health_bonus", + ["crdb"] = "character_reach_distance_bonus", --[[ - ['cpdb'] = 'character_item_pickup_distance_bonus' + ["cpdb"] = "character_item_pickup_distance_bonus" ]] }, player_special_bonus_rate = 300, player_special_bonus = { - ['personal_battery_recharge'] = { + ["personal_battery_recharge"] = { -- 1 MW value = 4, max = 8, @@ -61,7 +61,7 @@ return { } }, player_bonus = { - ['character_mining_speed_modifier'] = { + ["character_mining_speed_modifier"] = { value = 2, max = 4, scale = 0.5, @@ -69,7 +69,7 @@ return { cost = 10, is_percentage = true }, - ['character_running_speed_modifier'] = { + ["character_running_speed_modifier"] = { value = 1, max = 2, scale = 0.25, @@ -77,7 +77,7 @@ return { cost = 60, is_percentage = true }, - ['character_crafting_speed_modifier'] = { + ["character_crafting_speed_modifier"] = { value = 6, max = 12, scale = 0.5, @@ -85,7 +85,7 @@ return { cost = 4, is_percentage = true }, - ['character_inventory_slots_bonus'] = { + ["character_inventory_slots_bonus"] = { value = 60, max = 120, scale = 5, @@ -93,7 +93,7 @@ return { cost = 2, is_percentage = false }, - ['character_health_bonus'] = { + ["character_health_bonus"] = { value = 100, max = 200, scale = 25, @@ -101,7 +101,7 @@ return { cost = 2, is_percentage = false }, - ['character_reach_distance_bonus'] = { + ["character_reach_distance_bonus"] = { value = 8, max = 16, scale = 2, @@ -109,12 +109,12 @@ return { cost = 1, is_percentage = false, combined_bonus = { - 'character_resource_reach_distance_bonus', - 'character_build_distance_bonus' + "character_resource_reach_distance_bonus", + "character_build_distance_bonus" } }, --[[ - ['character_item_pickup_distance_bonus'] = { + ["character_item_pickup_distance_bonus"] = { value = 0, max = 20, scale = 1, @@ -122,7 +122,7 @@ return { cost = 1, is_percentage = false }, - ['character_loot_pickup_distance_bonus'] = { + ["character_loot_pickup_distance_bonus"] = { value = 0, max = 20, scale = 1, @@ -130,7 +130,7 @@ return { cost = 1, is_percentage = false }, - ['character_item_drop_distance_bonus'] = { + ["character_item_drop_distance_bonus"] = { value = 0, max = 20, scale = 1, @@ -142,7 +142,7 @@ return { }, force_bonus = { --[[ - ['character_mining_speed_modifier'] = { + ["character_mining_speed_modifier"] = { value = 0, max = 6, scale = 0.5, @@ -150,7 +150,7 @@ return { cost = 10, is_percentage = true }, - ['character_running_speed_modifier'] = { + ["character_running_speed_modifier"] = { value = 0, max = 3, scale = 0.25, @@ -158,7 +158,7 @@ return { cost = 40, is_percentage = true }, - ['character_crafting_speed_modifier'] = { + ["character_crafting_speed_modifier"] = { value = 0, max = 16, scale = 1, @@ -166,7 +166,7 @@ return { cost = 4, is_percentage = true }, - ['character_inventory_slots_bonus'] = { + ["character_inventory_slots_bonus"] = { value = 0, max = 200, scale = 10, @@ -174,14 +174,14 @@ return { cost = 2, is_percentage = false }, - ['character_health_bonus'] = { + ["character_health_bonus"] = { value = 0, max = 400, scale = 50, cost = 4, is_percentage = false }, - ['character_reach_distance_bonus'] = { + ["character_reach_distance_bonus"] = { value = 0, max = 24, scale = 2, @@ -189,11 +189,11 @@ return { cost = 1, is_percentage = false, combined_bonus = { - 'character_resource_reach_distance_bonus', - 'character_build_distance_bonus' + "character_resource_reach_distance_bonus", + "character_build_distance_bonus" } }, - ['worker_robots_speed_modifier'] = { + ["worker_robots_speed_modifier"] = { value = 0, max = 0, scale = 0, @@ -202,7 +202,7 @@ return { is_percentage = false }, ]] - ['worker_robots_battery_modifier'] = { + ["worker_robots_battery_modifier"] = { value = 1, max = 1, scale = 1, @@ -210,7 +210,7 @@ return { cost = 1, is_percentage = false }, - ['worker_robots_storage_bonus'] = { + ["worker_robots_storage_bonus"] = { value = 1, max = 1, scale = 1, @@ -218,7 +218,7 @@ return { cost = 1, is_percentage = false }, - ['following_robots_lifetime_modifier'] = { + ["following_robots_lifetime_modifier"] = { value = 1, max = 1, scale = 1, @@ -227,7 +227,7 @@ return { is_percentage = false }, --[[ - ['character_item_pickup_distance_bonus'] = { + ["character_item_pickup_distance_bonus"] = { value = 0, max = 20, scale = 1, @@ -235,7 +235,7 @@ return { cost = 1, is_percentage = false }, - ['character_loot_pickup_distance_bonus'] = { + ["character_loot_pickup_distance_bonus"] = { value = 0, max = 20, scale = 1, @@ -243,7 +243,7 @@ return { cost = 1, is_percentage = false }, - ['character_item_drop_distance_bonus'] = { + ["character_item_drop_distance_bonus"] = { value = 0, max = 20, scale = 1, @@ -251,7 +251,7 @@ return { cost = 1, is_percentage = false }, - ['character_trash_slot_count'] = { + ["character_trash_slot_count"] = { value = 0, max = 0, scale = 0, @@ -259,7 +259,7 @@ return { cost = 1, is_percentage = false }, - ['mining_drill_productivity_bonus'] = { + ["mining_drill_productivity_bonus"] = { value = 0, max = 0, scale = 0, @@ -267,7 +267,7 @@ return { cost = 1, is_percentage = false }, - ['train_braking_force_bonus'] = { + ["train_braking_force_bonus"] = { value = 0, max = 0, scale = 0, @@ -275,7 +275,7 @@ return { cost = 1, is_percentage = false }, - ['laboratory_speed_modifier'] = { + ["laboratory_speed_modifier"] = { value = 0, max = 0, scale = 0, @@ -283,7 +283,7 @@ return { cost = 1, is_percentage = false }, - ['laboratory_productivity_bonus'] = { + ["laboratory_productivity_bonus"] = { value = 0, max = 0, scale = 0, @@ -291,7 +291,7 @@ return { cost = 1, is_percentage = false }, - ['inserter_stack_size_bonus'] = { + ["inserter_stack_size_bonus"] = { value = 0, max = 0, scale = 0, @@ -299,7 +299,7 @@ return { cost = 1, is_percentage = false }, - ['stack_inserter_capacity_bonus'] = { + ["stack_inserter_capacity_bonus"] = { value = 0, max = 0, scale = 0, @@ -307,7 +307,7 @@ return { cost = 1, is_percentage = false }, - ['artillery_range_modifier'] = { + ["artillery_range_modifier"] = { value = 0, max = 0, scale = 0, @@ -319,7 +319,7 @@ return { }, surface_bonus = { --[[ - ['solar_power_multiplier'] = { + ["solar_power_multiplier"] = { value = 1, max = 1000, scale = 1, From b32e854398462c772e9b5a6c93941b4b04671aa7 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sun, 29 Dec 2024 14:12:50 +0900 Subject: [PATCH 05/30] . --- exp_legacy/module/config/advanced_start.lua | 54 ++++++++++----------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/exp_legacy/module/config/advanced_start.lua b/exp_legacy/module/config/advanced_start.lua index cbbfe84a..539fa4f3 100644 --- a/exp_legacy/module/config/advanced_start.lua +++ b/exp_legacy/module/config/advanced_start.lua @@ -4,7 +4,7 @@ --- These are called factories because they return another function -- use these as a simple methods of adding new items -- they will do most of the work for you --- ['item-name'] = factory(params) +-- ["item-name"] = factory(params) -- luacheck:ignore 212/amount_made 212/items_made 212/player -- Use these to adjust for ticks ie game.tick < 5*minutes @@ -12,7 +12,7 @@ local seconds, minutes, hours = 60, 3600, 216000 --- Use to make a split point for the number of items given based on time --- ['stone-furnace']=cutoff_time(5*minutes, 4,0) -- before 5 minutes give four items after 5 minutes give none +-- ["stone-furnace"]=cutoff_time(5*minutes, 4,0) -- before 5 minutes give four items after 5 minutes give none local function cutoff_time(time, before, after) return function(amount_made, items_made, player) if game.tick < time then @@ -24,7 +24,7 @@ local function cutoff_time(time, before, after) end --- Use to make a split point for the number of items given based on amount made --- ['firearm-magazine']=cutoff_amount_made(100, 10, 0) -- give 10 items until 100 items have been made +-- ["firearm-magazine"]=cutoff_amount_made(100, 10, 0) -- give 10 items until 100 items have been made --[[ local function cutoff_amount_made(amount, before, after) return function(amount_made, items_made, player) @@ -38,7 +38,7 @@ end ]] --- Same as above but will not give any items if x amount has been made of another item, useful for tiers --- ['light-armor']=cutoff_amount_made_unless(5, 0,1,'heavy-armor',5) -- give light armor once 5 have been made unless 5 heavy armor has been made +-- ["light-armor"]=cutoff_amount_made_unless(5, 0,1,"heavy-armor",5) -- give light armor once 5 have been made unless 5 heavy armor has been made --[[ local function cutoff_amount_made_unless(amount, before, after, second_item, second_amount) return function(amount_made, items_made, player) @@ -56,7 +56,7 @@ end ]] -- Use for mass production items where you want the amount to change based on the amount already made --- ['iron-plate']=scale_amount_made(5*minutes, 10, 10) -- for first 5 minutes give 10 items then after apply a factor of 10 +-- ["iron-plate"]=scale_amount_made(5*minutes, 10, 10) -- for first 5 minutes give 10 items then after apply a factor of 10 --[[ local function scale_amount_made(amount, before, scalar) return function(amount_made, items_made, player) @@ -73,7 +73,7 @@ end Common values game.tick is the amount of time the game has been on for amount_made is the amount of that item which has been made - items_made('item-name') will return the amount of any item made + items_made("item-name") will return the amount of any item made player is the player who just spawned hours, minutes, seconds are the number of ticks in each unit of time ]] @@ -85,28 +85,28 @@ return { enemy_expansion = false, --- @setting enemy_expansion a catch all for in case the map settings file fails to load chart_radius = 10 * 32, --- @setting chart_radius the number of tiles that will be charted when the map starts items = { --- @setting items items and there condition for being given - ['iron-ore']=cutoff_time(20 * minutes, 80, 0), - ['stone']=cutoff_time(20 * minutes, 20, 0), - ['coal']=cutoff_time(20 * minutes, 20, 0), - -- ['burner-mining-drill']=cutoff_time(20 * minutes, 8, 0), - -- ['stone-furnace']=cutoff_time(20 * minutes, 8, 0), - ['submachine-gun'] = 1, - ['piercing-rounds-magazine'] = 20, - ['construction-robot'] = 10, - ['modular-armor'] = 1, - ['solar-panel-equipment'] = 16, - ['belt-immunity-equipment'] = 1, - ['battery-equipment'] = 2, - ['personal-roboport-equipment'] = 1 + ["iron-ore"] = cutoff_time(20 * minutes, 80, 0), + ["stone"] = cutoff_time(20 * minutes, 20, 0), + ["coal"] = cutoff_time(20 * minutes, 20, 0), + -- ["burner-mining-drill"]=cutoff_time(20 * minutes, 8, 0), + -- ["stone-furnace"]=cutoff_time(20 * minutes, 8, 0), + ["submachine-gun"] = 1, + ["piercing-rounds-magazine"] = 20, + ["construction-robot"] = 10, + ["modular-armor"] = 1, + ["solar-panel-equipment"] = 16, + ["belt-immunity-equipment"] = 1, + ["battery-equipment"] = 2, + ["personal-roboport-equipment"] = 1 --[[ - ['construction-robot'] = 50, - ['spidertron'] = 1, - ['spidertron-remote'] = 1, - ['modular-armor'] = 1, - ['solar-panel-equipment'] = 60, - ['belt-immunity-equipment'] = 1, - ['battery-equipment'] = 6, - ['personal-roboport-equipment'] = 5 + ["construction-robot"] = 50, + ["spidertron"] = 1, + ["spidertron-remote"] = 1, + ["modular-armor"] = 1, + ["solar-panel-equipment"] = 60, + ["belt-immunity-equipment"] = 1, + ["battery-equipment"] = 6, + ["personal-roboport-equipment"] = 5 ]] } } From d88def830f55011a4e8bfcc70d295709e2a76f7b Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sun, 29 Dec 2024 14:16:50 +0900 Subject: [PATCH 06/30] . --- exp_legacy/module/config/bonus.lua | 78 +++++++++++++++--------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/exp_legacy/module/config/bonus.lua b/exp_legacy/module/config/bonus.lua index f01b5ac7..a7d665a5 100644 --- a/exp_legacy/module/config/bonus.lua +++ b/exp_legacy/module/config/bonus.lua @@ -27,7 +27,7 @@ return { ["Supporter"] = 1.1, ["Partner"] = 1.1, ["Senior Member"] = 1.1, - ["Member"] = 1 + ["Member"] = 1, }, base = 172 }, @@ -35,7 +35,7 @@ return { half = 150, label = 70, slider = 180, - count = 50 + count = 50, }, conversion = { ["cmms"] = "character_mining_speed_modifier", @@ -57,7 +57,7 @@ return { scale = 0.5, cost_scale = 1, cost = 10, - is_percentage = false + is_percentage = false, } }, player_bonus = { @@ -67,7 +67,7 @@ return { scale = 0.5, cost_scale = 1, cost = 10, - is_percentage = true + is_percentage = true, }, ["character_running_speed_modifier"] = { value = 1, @@ -75,7 +75,7 @@ return { scale = 0.25, cost_scale = 1, cost = 60, - is_percentage = true + is_percentage = true, }, ["character_crafting_speed_modifier"] = { value = 6, @@ -83,7 +83,7 @@ return { scale = 0.5, cost_scale = 1, cost = 4, - is_percentage = true + is_percentage = true, }, ["character_inventory_slots_bonus"] = { value = 60, @@ -91,7 +91,7 @@ return { scale = 5, cost_scale = 10, cost = 2, - is_percentage = false + is_percentage = false, }, ["character_health_bonus"] = { value = 100, @@ -99,7 +99,7 @@ return { scale = 25, cost_scale = 25, cost = 2, - is_percentage = false + is_percentage = false, }, ["character_reach_distance_bonus"] = { value = 8, @@ -110,8 +110,8 @@ return { is_percentage = false, combined_bonus = { "character_resource_reach_distance_bonus", - "character_build_distance_bonus" - } + "character_build_distance_bonus", + }, }, --[[ ["character_item_pickup_distance_bonus"] = { @@ -120,7 +120,7 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["character_loot_pickup_distance_bonus"] = { value = 0, @@ -128,7 +128,7 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["character_item_drop_distance_bonus"] = { value = 0, @@ -136,8 +136,8 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false - } + is_percentage = false, + }, ]] }, force_bonus = { @@ -148,7 +148,7 @@ return { scale = 0.5, cost_scale = 1, cost = 10, - is_percentage = true + is_percentage = true, }, ["character_running_speed_modifier"] = { value = 0, @@ -156,7 +156,7 @@ return { scale = 0.25, cost_scale = 1, cost = 40, - is_percentage = true + is_percentage = true, }, ["character_crafting_speed_modifier"] = { value = 0, @@ -164,7 +164,7 @@ return { scale = 1, cost_scale = 1, cost = 4, - is_percentage = true + is_percentage = true, }, ["character_inventory_slots_bonus"] = { value = 0, @@ -172,14 +172,14 @@ return { scale = 10, cost_scale = 100, cost = 2, - is_percentage = false + is_percentage = false, }, ["character_health_bonus"] = { value = 0, max = 400, scale = 50, cost = 4, - is_percentage = false + is_percentage = false, }, ["character_reach_distance_bonus"] = { value = 0, @@ -190,8 +190,8 @@ return { is_percentage = false, combined_bonus = { "character_resource_reach_distance_bonus", - "character_build_distance_bonus" - } + "character_build_distance_bonus", + }, }, ["worker_robots_speed_modifier"] = { value = 0, @@ -199,7 +199,7 @@ return { scale = 0, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ]] ["worker_robots_battery_modifier"] = { @@ -208,7 +208,7 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["worker_robots_storage_bonus"] = { value = 1, @@ -216,7 +216,7 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["following_robots_lifetime_modifier"] = { value = 1, @@ -224,7 +224,7 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, --[[ ["character_item_pickup_distance_bonus"] = { @@ -233,7 +233,7 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["character_loot_pickup_distance_bonus"] = { value = 0, @@ -241,7 +241,7 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["character_item_drop_distance_bonus"] = { value = 0, @@ -249,7 +249,7 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["character_trash_slot_count"] = { value = 0, @@ -257,7 +257,7 @@ return { scale = 0, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["mining_drill_productivity_bonus"] = { value = 0, @@ -265,7 +265,7 @@ return { scale = 0, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["train_braking_force_bonus"] = { value = 0, @@ -273,7 +273,7 @@ return { scale = 0, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["laboratory_speed_modifier"] = { value = 0, @@ -281,7 +281,7 @@ return { scale = 0, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["laboratory_productivity_bonus"] = { value = 0, @@ -289,7 +289,7 @@ return { scale = 0, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["inserter_stack_size_bonus"] = { value = 0, @@ -297,7 +297,7 @@ return { scale = 0, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["stack_inserter_capacity_bonus"] = { value = 0, @@ -305,7 +305,7 @@ return { scale = 0, cost_scale = 1, cost = 1, - is_percentage = false + is_percentage = false, }, ["artillery_range_modifier"] = { value = 0, @@ -313,8 +313,8 @@ return { scale = 0, cost_scale = 1, cost = 1, - is_percentage = false - } + is_percentage = false, + }, ]] }, surface_bonus = { @@ -325,8 +325,8 @@ return { scale = 1, cost_scale = 1, cost = 1, - is_percentage = false - } + is_percentage = false, + }, ]] } } From 47e900f7352751cbeb56299db9bcc5007161e260 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sun, 29 Dec 2024 23:29:44 +0900 Subject: [PATCH 07/30] . --- exp_legacy/module/config/vlayer.lua | 66 ++++++++++++++--------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/exp_legacy/module/config/vlayer.lua b/exp_legacy/module/config/vlayer.lua index 32bfc605..3f455ed0 100644 --- a/exp_legacy/module/config/vlayer.lua +++ b/exp_legacy/module/config/vlayer.lua @@ -20,90 +20,90 @@ return { dusk = 0.25, evening = 0.45, morning = 0.55, - dawn = 0.75 + dawn = 0.75, }, interface_limit = { --- @setting interface_limit Sets the limit for the number of vlayer interfaces that can be created energy = 1, -- >1 allows for disconnected power networks to receive power circuit = 20, -- No caveats storage_input = 30, -- No caveats - storage_output = 1 -- >0 allows for item teleportation (allowed_items only) + storage_output = 1, -- >0 allows for item teleportation (allowed_items only) }, allowed_items = { --- @setting allowed_items List of all items allowed in vlayer storage and their properties --[[ Allowed properties: - starting_value = 0: The amount of the item placed into the vlayer on game start, ignores area requirements - required_area = 0: When greater than 0 the items properties are not applied unless their is sufficient surplus surface area - production = 0: The energy production of the item in MW, used for solar panels - discharge = 0: The energy discharge of the item in MW, used for accumulators - capacity = 0: The energy capacity of the item in MJ, used for accumulators - surface_area = 0: The surface area provided by the item, used for landfill + starting_value : The amount of the item placed into the vlayer on game start, ignores area requirements + required_area : When greater than 0 the items properties are not applied unless their is sufficient surplus surface area + production : The energy production of the item in MW, used for solar panels + discharge : The energy discharge of the item in MW, used for accumulators + capacity : The energy capacity of the item in MJ, used for accumulators + surface_area : The surface area provided by the item, used for landfill ]] ["solar-panel"] = { starting_value = 0, required_area = 9, - production = 0.06 -- MW + production = 0.06, -- MW }, ["accumulator"] = { starting_value = 0, required_area = 4, discharge = 0.3, -- MW - capacity = 5 -- MJ + capacity = 5, -- MJ }, ["landfill"] = { starting_value = 0, required_area = 0, - surface_area = 8 -- Tiles + surface_area = 8, -- Tiles }, ["wood"] = { starting_value = 0, required_area = 0, surface_area = 0, fuel_value = 2, -- MJ - power = true -- turn all wood to power to reduce trash + power = true, -- turn all wood to power to reduce trash }, ["coal"] = { starting_value = 0, required_area = 0, surface_area = 0, fuel_value = 4, -- MJ - power = true -- turn all coal to power to reduce trash + power = true, -- turn all coal to power to reduce trash }, ["solid-fuel"] = { starting_value = 0, required_area = 0, surface_area = 0, fuel_value = 12, -- MJ - power = true -- turn all solid fuel to power to reduce trash + power = true, -- turn all solid fuel to power to reduce trash }, ["rocket-fuel"] = { starting_value = 0, required_area = 0, surface_area = 0, fuel_value = 100, -- MJ - power = true -- turn all rocket fuel to power to reduce trash + power = true, -- turn all rocket fuel to power to reduce trash } --[[ ["iron-ore"] = { starting_value = 0, required_area = 0, - surface_area = 0 + surface_area = 0, }, ["copper-ore"] = { starting_value = 0, required_area = 0, - surface_area = 0 + surface_area = 0, }, ["stone"] = { starting_value = 0, required_area = 0, - surface_area = 0 + surface_area = 0, }, ["uranium-ore"] = { starting_value = 0, required_area = 0, - surface_area = 0 + surface_area = 0, }, ]] }, @@ -112,72 +112,72 @@ return { ["solar-panel-2"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 4 + multiplier = 4, }, ["solar-panel-3"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 16 + multiplier = 16, }, ["solar-panel-4"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 64 + multiplier = 64, }, ["solar-panel-5"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 256 + multiplier = 256, }, ["solar-panel-6"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 1024 + multiplier = 1024, }, ["solar-panel-7"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 4096 + multiplier = 4096, }, ["solar-panel-8"] = { starting_value = 0, base_game_equivalent = "solar-panel", - multiplier = 16384 + multiplier = 16384, }, ["accumulator-2"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 4 + multiplier = 4, }, ["accumulator-3"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 16 + multiplier = 16, }, ["accumulator-4"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 64 + multiplier = 64, }, ["accumulator-5"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 256 + multiplier = 256, }, ["accumulator-6"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 1024 + multiplier = 1024, }, ["accumulator-7"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 4096 + multiplier = 4096, }, ["accumulator-8"] = { starting_value = 0, base_game_equivalent = "accumulator", - multiplier = 16384 + multiplier = 16384, }, } } From 3e4318fcab4c9b0fbda5e3486beabea57879a9bb Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Sun, 29 Dec 2024 23:30:30 +0900 Subject: [PATCH 08/30] . --- exp_legacy/module/config/vlayer.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exp_legacy/module/config/vlayer.lua b/exp_legacy/module/config/vlayer.lua index 3f455ed0..e6058863 100644 --- a/exp_legacy/module/config/vlayer.lua +++ b/exp_legacy/module/config/vlayer.lua @@ -26,7 +26,7 @@ return { interface_limit = { --- @setting interface_limit Sets the limit for the number of vlayer interfaces that can be created energy = 1, -- >1 allows for disconnected power networks to receive power circuit = 20, -- No caveats - storage_input = 30, -- No caveats + storage_input = 20, -- No caveats storage_output = 1, -- >0 allows for item teleportation (allowed_items only) }, From 80cd1245e5542fbf66a44e4261a094ac171c9321 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Mon, 30 Dec 2024 16:09:23 +0900 Subject: [PATCH 09/30] . --- exp_commands/module/commands/types.lua | 27 ++++++++++++++++++++++++++ exp_commands/module/locale/en.cfg | 1 + exp_commands/module/locale/zh-CN.cfg | 1 + exp_commands/module/locale/zh-TW.cfg | 1 + 4 files changed, 30 insertions(+) diff --git a/exp_commands/module/commands/types.lua b/exp_commands/module/commands/types.lua index 451ef0a0..46b3ad91 100644 --- a/exp_commands/module/commands/types.lua +++ b/exp_commands/module/commands/types.lua @@ -25,6 +25,8 @@ local Commands = require("modules/exp_commands") local add, parse = Commands.add_data_type, Commands.parse_input local valid, invalid = Commands.status.success, Commands.status.invalid_input +local Roles = require("modules.exp_legacy.expcore.roles") --- @dep expcore.roles + local types = {} --- @class Commands._types --- A boolean value where true is one of: yes, y, true, 1 @@ -229,4 +231,29 @@ types.color = end end) +--- A player who has joined the game at least once, with a lower role +types.lower_role_player = +add("player", function(input, player) + local player_i = game.get_player(input) + local player = game.get_player(player) + + if Roles.get_player_highest_role(player_i).index <= Roles.get_player_highest_role(player).index then + return invalid{ "exp-commands-parse.player", input } + else + return valid(player) + end +end) + +--- A role that is lower than given user +types.lower_role = + add("role", function(input) + local player = game.get_player(input) + + if Roles.config.roles[input] and (Roles.config.roles[input].index >= Roles.get_player_highest_role(player).index) then + return valid(player) + else + return invalid{ "exp-commands-parse.role", input } + end + end) + return types diff --git a/exp_commands/module/locale/en.cfg b/exp_commands/module/locale/en.cfg index 5691ca4c..bc241876 100644 --- a/exp_commands/module/locale/en.cfg +++ b/exp_commands/module/locale/en.cfg @@ -27,6 +27,7 @@ force=Invalid Force Name. surface=Invalid Surface Name. planet=Invalid Planet Name. color=Invalid Color Name. +role=Invalid Role Name. [exp-commands-authorities] character-only=This command can not be used in remote view. diff --git a/exp_commands/module/locale/zh-CN.cfg b/exp_commands/module/locale/zh-CN.cfg index 8eb8c6ea..59c4d760 100644 --- a/exp_commands/module/locale/zh-CN.cfg +++ b/exp_commands/module/locale/zh-CN.cfg @@ -27,6 +27,7 @@ force=勢力名稱錯誤。 surface=地表名稱錯誤。 planet=星球名稱錯誤。 color=顏色名稱錯誤。 +role=權限組名稱錯誤。 [exp-commands-authorities] character-only=該命令不能在遠端視圖中使用。 diff --git a/exp_commands/module/locale/zh-TW.cfg b/exp_commands/module/locale/zh-TW.cfg index 8eb8c6ea..59c4d760 100644 --- a/exp_commands/module/locale/zh-TW.cfg +++ b/exp_commands/module/locale/zh-TW.cfg @@ -27,6 +27,7 @@ force=勢力名稱錯誤。 surface=地表名稱錯誤。 planet=星球名稱錯誤。 color=顏色名稱錯誤。 +role=權限組名稱錯誤。 [exp-commands-authorities] character-only=該命令不能在遠端視圖中使用。 From 596ea470827aa3c5719459e8141463e35caa7eeb Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Mon, 30 Dec 2024 16:30:41 +0900 Subject: [PATCH 10/30] . --- exp_legacy/module/modules/gui/player-list.lua | 3 +-- exp_legacy/module/modules/gui/warp-list.lua | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/exp_legacy/module/modules/gui/player-list.lua b/exp_legacy/module/modules/gui/player-list.lua index 19b81055..0cb3cf7d 100644 --- a/exp_legacy/module/modules/gui/player-list.lua +++ b/exp_legacy/module/modules/gui/player-list.lua @@ -117,8 +117,7 @@ local add_player_base = local selected_player = game.players[selected_player_name] if event.button == defines.mouse_button_type.left then -- LMB will open the map to the selected player - local position = selected_player.physical_position - event.player.zoom_to_world(position, 1.75) + event.player.set_controller{ type = defines.controllers.remote, position = selected_player.physical_position, surface = selected_player.physical_surface } else -- RMB will toggle the settings local old_selected_player_name = SelectedPlayer:get(player) diff --git a/exp_legacy/module/modules/gui/warp-list.lua b/exp_legacy/module/modules/gui/warp-list.lua index e0bdb0d5..9872c623 100644 --- a/exp_legacy/module/modules/gui/warp-list.lua +++ b/exp_legacy/module/modules/gui/warp-list.lua @@ -230,8 +230,7 @@ local warp_label = :on_click(function(player, element, _) local warp_id = element.parent.caption local warp = Warps.get_warp(warp_id) - local position = warp.position - player.zoom_to_world(position, 1.5) + player.set_controller{ type = defines.controllers.remote, position = warp.position, surface = warp.surface } end) :static_name(Gui.unique_static_name) From 43f61909e87b3af4d7686471a413e5db47d74b1d Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Mon, 30 Dec 2024 18:25:03 +0900 Subject: [PATCH 11/30] . --- exp_legacy/module/config/bonus.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exp_legacy/module/config/bonus.lua b/exp_legacy/module/config/bonus.lua index a7d665a5..c9b5220f 100644 --- a/exp_legacy/module/config/bonus.lua +++ b/exp_legacy/module/config/bonus.lua @@ -58,7 +58,7 @@ return { cost_scale = 1, cost = 10, is_percentage = false, - } + }, }, player_bonus = { ["character_mining_speed_modifier"] = { @@ -328,5 +328,5 @@ return { is_percentage = false, }, ]] - } + }, } From 4362b48106e8930c8d2e21d61c86df70bc9e43d4 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Mon, 30 Dec 2024 19:00:02 +0900 Subject: [PATCH 12/30] . --- exp_legacy/module/modules/control/selection.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exp_legacy/module/modules/control/selection.lua b/exp_legacy/module/modules/control/selection.lua index 5f746e36..7c026292 100644 --- a/exp_legacy/module/modules/control/selection.lua +++ b/exp_legacy/module/modules/control/selection.lua @@ -153,7 +153,7 @@ end --- Stop selection if the selection tool is removed from the cursor Event.add(defines.events.on_player_cursor_stack_changed, function(event) local player = game.players[event.player_index] --- @cast player -nil - if player.cursor_stack.is_selection_tool then return end + if player.cursor_stack and player.cursor_stack.is_selection_tool then return end Selection.stop(player) end) @@ -161,7 +161,7 @@ end) Event.add(defines.events.on_player_controller_changed, function(event) local player = game.players[event.player_index] --- @cast player -nil local inventory = player.get_main_inventory() - if player.cursor_stack.is_selection_tool and inventory then + if player.cursor_stack and player.cursor_stack.is_selection_tool and inventory then player.hand_location = { inventory = inventory.index, slot = #inventory } end end) From 3830a464f850a9016093f57abe1c7a37becb6f6f Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Mon, 30 Dec 2024 19:52:55 +0900 Subject: [PATCH 13/30] Update types.lua --- exp_commands/module/commands/types.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exp_commands/module/commands/types.lua b/exp_commands/module/commands/types.lua index 46b3ad91..56db8ae8 100644 --- a/exp_commands/module/commands/types.lua +++ b/exp_commands/module/commands/types.lua @@ -233,7 +233,7 @@ types.color = --- A player who has joined the game at least once, with a lower role types.lower_role_player = -add("player", function(input, player) +add("lower_role_player", function(input, player) local player_i = game.get_player(input) local player = game.get_player(player) @@ -246,7 +246,7 @@ end) --- A role that is lower than given user types.lower_role = - add("role", function(input) + add("lower_role", function(input) local player = game.get_player(input) if Roles.config.roles[input] and (Roles.config.roles[input].index >= Roles.get_player_highest_role(player).index) then From 5ae20ac21cfd6af219bb853c3f18c9111c815193 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Mon, 30 Dec 2024 19:55:13 +0900 Subject: [PATCH 14/30] Update types.lua --- exp_commands/module/commands/types.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/exp_commands/module/commands/types.lua b/exp_commands/module/commands/types.lua index 56db8ae8..13de4b54 100644 --- a/exp_commands/module/commands/types.lua +++ b/exp_commands/module/commands/types.lua @@ -231,6 +231,7 @@ types.color = end end) +--[[ --- A player who has joined the game at least once, with a lower role types.lower_role_player = add("lower_role_player", function(input, player) @@ -255,5 +256,6 @@ types.lower_role = return invalid{ "exp-commands-parse.role", input } end end) +]] return types From bd5b2179093b0b6f77d91e76f11ca55e9773d738 Mon Sep 17 00:00:00 2001 From: PHIDIAS0303 Date: Mon, 30 Dec 2024 22:38:40 +0900 Subject: [PATCH 15/30] . --- exp_scenario/module/commands/research.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exp_scenario/module/commands/research.lua b/exp_scenario/module/commands/research.lua index d6673193..56a5b569 100644 --- a/exp_scenario/module/commands/research.lua +++ b/exp_scenario/module/commands/research.lua @@ -71,7 +71,7 @@ local function on_research_finished(event) if not research.res_queue_enable then return end local force = event.research.force - if force.rockets_launched > 0 and force.technologies[config.bonus_inventory.res[config.mod_set].name].level > config.bonus_inventory.res[config.mod_set].level then + if force.technologies[config.bonus_inventory.res[config.mod_set].name].level > config.bonus_inventory.res[config.mod_set].level then module.res_queue(force, event.by_script) end end From d2e2e2d6c93b6b438fd116d17de8f4252e83c7e9 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 00:28:24 +0900 Subject: [PATCH 16/30] . --- exp_legacy/module/modules/gui/warp-list.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exp_legacy/module/modules/gui/warp-list.lua b/exp_legacy/module/modules/gui/warp-list.lua index 9872c623..9d5fbdd7 100644 --- a/exp_legacy/module/modules/gui/warp-list.lua +++ b/exp_legacy/module/modules/gui/warp-list.lua @@ -95,7 +95,7 @@ local add_new_warp = local position = player.physical_position -- Check if the warp is too close to water - local water_tiles = surface.find_tiles_filtered{ collision_mask = "water-tile", radius = config.standard_proximity_radius + 1, position = position } + local water_tiles = surface.find_tiles_filtered{ collision_mask = { layers = { water_tile = true } }, radius = config.standard_proximity_radius + 1, position = position } if #water_tiles > 0 then player.print( { "expcore-commands.command-fail", { "warp-list.too-close-to-water", config.standard_proximity_radius + 1 } }, From c5395e37b2be48a11a160e674a8469919c8bdc07 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 00:45:23 +0900 Subject: [PATCH 17/30] . --- exp_legacy/module/modules/gui/warp-list.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exp_legacy/module/modules/gui/warp-list.lua b/exp_legacy/module/modules/gui/warp-list.lua index 9d5fbdd7..67c4414a 100644 --- a/exp_legacy/module/modules/gui/warp-list.lua +++ b/exp_legacy/module/modules/gui/warp-list.lua @@ -95,7 +95,7 @@ local add_new_warp = local position = player.physical_position -- Check if the warp is too close to water - local water_tiles = surface.find_tiles_filtered{ collision_mask = { layers = { water_tile = true } }, radius = config.standard_proximity_radius + 1, position = position } + local water_tiles = surface.find_tiles_filtered{ collision_mask = { "water", "water-green", "water-mud", "water-shallow", "water-wube" }, radius = config.standard_proximity_radius + 1, position = position } if #water_tiles > 0 then player.print( { "expcore-commands.command-fail", { "warp-list.too-close-to-water", config.standard_proximity_radius + 1 } }, From 3266f444cd821efeb4c8e4fe6d134aa20c93f930 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 00:49:15 +0900 Subject: [PATCH 18/30] . --- exp_legacy/module/modules/gui/warp-list.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exp_legacy/module/modules/gui/warp-list.lua b/exp_legacy/module/modules/gui/warp-list.lua index 67c4414a..bcaa3856 100644 --- a/exp_legacy/module/modules/gui/warp-list.lua +++ b/exp_legacy/module/modules/gui/warp-list.lua @@ -95,7 +95,7 @@ local add_new_warp = local position = player.physical_position -- Check if the warp is too close to water - local water_tiles = surface.find_tiles_filtered{ collision_mask = { "water", "water-green", "water-mud", "water-shallow", "water-wube" }, radius = config.standard_proximity_radius + 1, position = position } + local water_tiles = surface.find_tiles_filtered{ collision_mask = { "water_tile" }, radius = config.standard_proximity_radius + 1, position = position } if #water_tiles > 0 then player.print( { "expcore-commands.command-fail", { "warp-list.too-close-to-water", config.standard_proximity_radius + 1 } }, From 51961d2aea3f3184662452f9bae93e27c020053d Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 00:50:23 +0900 Subject: [PATCH 19/30] . --- exp_legacy/module/modules/gui/warp-list.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exp_legacy/module/modules/gui/warp-list.lua b/exp_legacy/module/modules/gui/warp-list.lua index bcaa3856..e96de051 100644 --- a/exp_legacy/module/modules/gui/warp-list.lua +++ b/exp_legacy/module/modules/gui/warp-list.lua @@ -95,7 +95,7 @@ local add_new_warp = local position = player.physical_position -- Check if the warp is too close to water - local water_tiles = surface.find_tiles_filtered{ collision_mask = { "water_tile" }, radius = config.standard_proximity_radius + 1, position = position } + local water_tiles = surface.find_tiles_filtered{ collision_mask = "water_tile", radius = config.standard_proximity_radius + 1, position = position } if #water_tiles > 0 then player.print( { "expcore-commands.command-fail", { "warp-list.too-close-to-water", config.standard_proximity_radius + 1 } }, From 15141e98e0020bf729ef39bcacbef3c562e0f2af Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 02:58:15 +0900 Subject: [PATCH 20/30] . --- exp_legacy/module/config/expcore/roles.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exp_legacy/module/config/expcore/roles.lua b/exp_legacy/module/config/expcore/roles.lua index ca4c1f9c..829163c1 100644 --- a/exp_legacy/module/config/expcore/roles.lua +++ b/exp_legacy/module/config/expcore/roles.lua @@ -170,7 +170,7 @@ Roles.new_role("Senior Member", "SMem") --- Standard User Roles Roles.new_role("Member", "Mem") - :set_permission_group("Standard") + :set_permission_group("Trusted") :set_custom_color{ r = 24, g = 172, b = 188 } :set_flag("deconlog-bypass") :set_parent("Veteran") From d73688dd37a4f441f7aecedc20be434fc636ef4b Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:13:02 +0900 Subject: [PATCH 21/30] . --- exp_legacy/module/modules/gui/player-list.lua | 1 + exp_legacy/module/modules/gui/rocket-info.lua | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/exp_legacy/module/modules/gui/player-list.lua b/exp_legacy/module/modules/gui/player-list.lua index 0cb3cf7d..cc08db56 100644 --- a/exp_legacy/module/modules/gui/player-list.lua +++ b/exp_legacy/module/modules/gui/player-list.lua @@ -117,6 +117,7 @@ local add_player_base = local selected_player = game.players[selected_player_name] if event.button == defines.mouse_button_type.left then -- LMB will open the map to the selected player + local position = selected_player.physical_position event.player.set_controller{ type = defines.controllers.remote, position = selected_player.physical_position, surface = selected_player.physical_surface } else -- RMB will toggle the settings diff --git a/exp_legacy/module/modules/gui/rocket-info.lua b/exp_legacy/module/modules/gui/rocket-info.lua index 9e404d15..5355591e 100644 --- a/exp_legacy/module/modules/gui/rocket-info.lua +++ b/exp_legacy/module/modules/gui/rocket-info.lua @@ -127,7 +127,7 @@ local silo_cords = :on_click(function(player, element, _) local rocket_silo_name = element.parent.caption local rocket_silo = Rockets.get_silo_entity(rocket_silo_name) - player.zoom_to_world(rocket_silo.position, 2) + player.set_controller{ type = defines.controllers.remote, position = rocket_silo.position, surface = rocket_silo.surface } end) --- Base element for each rocket in the progress list From 4a1a451ff29a5905b4540648d05cd3ba141a7ee6 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:14:27 +0900 Subject: [PATCH 22/30] . --- exp_legacy/module/modules/gui/vlayer.lua | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/exp_legacy/module/modules/gui/vlayer.lua b/exp_legacy/module/modules/gui/vlayer.lua index 2dc8ed3d..a99860bb 100644 --- a/exp_legacy/module/modules/gui/vlayer.lua +++ b/exp_legacy/module/modules/gui/vlayer.lua @@ -369,14 +369,10 @@ local vlayer_gui_control_see = if target and vlayer_control_type_list[target] and n > 0 then local i = vlayer.get_interfaces() - - if i and i[vlayer_control_type_list[target]] and i[vlayer_control_type_list[target]][n] then - local pos = i[vlayer_control_type_list[target]][n].position - - if pos then - player.zoom_to_world(pos, 2) - player.print{ "vlayer.result-interface-location", { "vlayer.control-type-" .. vlayer_control_type_list[target]:gsub("_", "-") }, pos_to_gps_string(pos) } - end + local entity = i[vlayer_control_type_list[target]][n] + if entity and entity.valid then + player.set_controller{ type = defines.controllers.remote, position = entity.position, surface = entity.surface } + player.print{ "vlayer.result-interface-location", { "vlayer.control-type-" .. vlayer_control_type_list[target]:gsub("_", "-") }, pos_to_gps_string(entity.position) } end end end) From dfd3f85975983f362eda9112723bec3ac9cabafc Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:33:48 +0900 Subject: [PATCH 23/30] . --- exp_commands/module/commands/types.lua | 27 ------------------- exp_legacy/module/modules/control/vlayer.lua | 6 ++--- exp_legacy/module/modules/gui/player-list.lua | 1 - 3 files changed, 3 insertions(+), 31 deletions(-) diff --git a/exp_commands/module/commands/types.lua b/exp_commands/module/commands/types.lua index 13de4b54..2e823a4c 100644 --- a/exp_commands/module/commands/types.lua +++ b/exp_commands/module/commands/types.lua @@ -231,31 +231,4 @@ types.color = end end) ---[[ ---- A player who has joined the game at least once, with a lower role -types.lower_role_player = -add("lower_role_player", function(input, player) - local player_i = game.get_player(input) - local player = game.get_player(player) - - if Roles.get_player_highest_role(player_i).index <= Roles.get_player_highest_role(player).index then - return invalid{ "exp-commands-parse.player", input } - else - return valid(player) - end -end) - ---- A role that is lower than given user -types.lower_role = - add("lower_role", function(input) - local player = game.get_player(input) - - if Roles.config.roles[input] and (Roles.config.roles[input].index >= Roles.get_player_highest_role(player).index) then - return valid(player) - else - return invalid{ "exp-commands-parse.role", input } - end - end) -]] - return types diff --git a/exp_legacy/module/modules/control/vlayer.lua b/exp_legacy/module/modules/control/vlayer.lua index ccd157ca..c63a3e41 100644 --- a/exp_legacy/module/modules/control/vlayer.lua +++ b/exp_legacy/module/modules/control/vlayer.lua @@ -271,9 +271,9 @@ function vlayer.insert_item(item_name, count) vlayer.allocate_item(item_name, allocate_count) end - local nc = count - allocate_count - vlayer_data.storage.unallocated[item_name] = vlayer_data.storage.unallocated[item_name] + count - allocate_count - vlayer.unable_alloc_item_pwr_calc(item_name, nc) + local unallocated = count - allocate_count + vlayer_data.storage.unallocated[item_name] = vlayer_data.storage.unallocated[item_name] + unallocated + vlayer.unable_alloc_item_pwr_calc(item_name, unallocated) else vlayer.allocate_item(item_name, count) end diff --git a/exp_legacy/module/modules/gui/player-list.lua b/exp_legacy/module/modules/gui/player-list.lua index cc08db56..0cb3cf7d 100644 --- a/exp_legacy/module/modules/gui/player-list.lua +++ b/exp_legacy/module/modules/gui/player-list.lua @@ -117,7 +117,6 @@ local add_player_base = local selected_player = game.players[selected_player_name] if event.button == defines.mouse_button_type.left then -- LMB will open the map to the selected player - local position = selected_player.physical_position event.player.set_controller{ type = defines.controllers.remote, position = selected_player.physical_position, surface = selected_player.physical_surface } else -- RMB will toggle the settings From a0c0169a4b4d3ac03d8428c43a9d63c092c559b4 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:34:15 +0900 Subject: [PATCH 24/30] . --- exp_commands/module/commands/types.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/exp_commands/module/commands/types.lua b/exp_commands/module/commands/types.lua index 2e823a4c..451ef0a0 100644 --- a/exp_commands/module/commands/types.lua +++ b/exp_commands/module/commands/types.lua @@ -25,8 +25,6 @@ local Commands = require("modules/exp_commands") local add, parse = Commands.add_data_type, Commands.parse_input local valid, invalid = Commands.status.success, Commands.status.invalid_input -local Roles = require("modules.exp_legacy.expcore.roles") --- @dep expcore.roles - local types = {} --- @class Commands._types --- A boolean value where true is one of: yes, y, true, 1 From 3ab5becf169fef585d80ae15b36bbff39605c82d Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:37:50 +0900 Subject: [PATCH 25/30] . --- exp_legacy/module/modules/gui/server-ups.lua | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/exp_legacy/module/modules/gui/server-ups.lua b/exp_legacy/module/modules/gui/server-ups.lua index 592d8755..fc0bd3d2 100644 --- a/exp_legacy/module/modules/gui/server-ups.lua +++ b/exp_legacy/module/modules/gui/server-ups.lua @@ -57,6 +57,10 @@ Commands.new("server-ups", { "server-ups.description" }) local function set_location(event) local player = game.players[event.player_index] local label = player.gui.screen[server_ups.name] + if not label then + label = server_ups(player.gui.screen) + label.visible = UsesServerUps:get(player) + end local res = player.display_resolution local uis = player.display_scale -- below ups and clock @@ -65,12 +69,7 @@ local function set_location(event) end -- Draw the label when the player joins -Event.add(defines.events.on_player_created, function(event) - local player = game.players[event.player_index] - local label = server_ups(player.gui.screen) - label.visible = false - set_location(event) -end) +Event.add(defines.events.on_player_created, set_location) -- Update the caption for all online players -- percentage of game speed From 1eb7a27c7187606bf3b903a6c4988413ba7a9500 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:40:23 +0900 Subject: [PATCH 26/30] . --- exp_legacy/module/modules/gui/rocket-info.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/exp_legacy/module/modules/gui/rocket-info.lua b/exp_legacy/module/modules/gui/rocket-info.lua index 5355591e..f1860e0c 100644 --- a/exp_legacy/module/modules/gui/rocket-info.lua +++ b/exp_legacy/module/modules/gui/rocket-info.lua @@ -138,12 +138,15 @@ local rocket_entry = local player = Gui.get_player_from_element(parent) -- Add the toggle auto launch if the player is allowed it - if check_player_permissions(player, "toggle_active") then + -- Auto launch was removed from the api and no 2.0 equivalent was added + -- https://forums.factorio.com/viewtopic.php?f=28&t=118065&p=656502 + --[[if check_player_permissions(player, "toggle_active") then local flow = parent.add{ type = "flow", name = "toggle-" .. silo_name } local button = toggle_launch(flow) button.tooltip = silo_data.toggle_tooltip button.sprite = silo_data.toggle_sprite end + ]] -- Add the remote launch if the player is allowed it if check_player_permissions(player, "remote_launch") then @@ -246,7 +249,7 @@ local function get_progress_data(force_name) -- Get the toggle button data local toggle_tooltip = { "rocket-info.toggle-rocket-tooltip-disabled" } local toggle_sprite = "utility/play" - if rocket_silo.auto_launch then + if false --[[rocket_silo.auto_launch]] then toggle_tooltip = { "rocket-info.toggle-rocket-tooltip" } toggle_sprite = "utility/stop" end From 2944e730b06175fb90214fc2752db43542e2448c Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:41:06 +0900 Subject: [PATCH 27/30] . --- exp_legacy/module/modules/addons/logging.lua | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/exp_legacy/module/modules/addons/logging.lua b/exp_legacy/module/modules/addons/logging.lua index 331e6415..103a47a5 100644 --- a/exp_legacy/module/modules/addons/logging.lua +++ b/exp_legacy/module/modules/addons/logging.lua @@ -13,12 +13,13 @@ local function add_log(data) write_file(config.file_name, "\n", true, 0) end -Event.add(defines.events.on_rocket_launched, function(event) - if event and event.rocket and event.rocket.force and event.rocket.force.rockets_launched then - if event.rocket.force.rockets_launched >= config.rocket_launch_display_rate and event.rocket.force.rockets_launched % config.rocket_launch_display_rate == 0 then - add_log("[ROCKET] " .. event.rocket.force.rockets_launched .. " rockets launched") - elseif config.rocket_launch_display[event.rocket.force.rockets_launched] then - add_log("[ROCKET] " .. event.rocket.force.rockets_launched .. " rockets launched") +Event.add(defines.events.on_cargo_pod_finished_ascending, function(event) + if event and event.launched_by_rocket then + local force = event.cargo_pod.force + if force.rockets_launched >= config.rocket_launch_display_rate and force.rockets_launched % config.rocket_launch_display_rate == 0 then + add_log("[ROCKET] " .. force.rockets_launched .. " rockets launched") + elseif config.rocket_launch_display[force.rockets_launched] then + add_log("[ROCKET] " .. force.rockets_launched .. " rockets launched") end end end) From cf900d46cdde0cab28aca82308f951b532380d7c Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:41:38 +0900 Subject: [PATCH 28/30] . --- exp_legacy/module/modules/control/rockets.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exp_legacy/module/modules/control/rockets.lua b/exp_legacy/module/modules/control/rockets.lua index 195ac670..1b53946a 100644 --- a/exp_legacy/module/modules/control/rockets.lua +++ b/exp_legacy/module/modules/control/rockets.lua @@ -148,7 +148,7 @@ function Rockets.get_rolling_average(force_name, count) end --- Event used to update the stats and the hui when a rocket is launched -Event.add(defines.events.on_rocket_launched, function(event) +Event.add(defines.events.on_cargo_pod_finished_ascending, function(event) local entity = event.rocket_silo local silo_data = Rockets.get_silo_data(entity) local force = event.rocket_silo.force From 7555de476e9cb2820d03cdaf4fed3e37c885ccc8 Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:42:19 +0900 Subject: [PATCH 29/30] . --- exp_legacy/module/modules/control/rockets.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/exp_legacy/module/modules/control/rockets.lua b/exp_legacy/module/modules/control/rockets.lua index 1b53946a..528a4363 100644 --- a/exp_legacy/module/modules/control/rockets.lua +++ b/exp_legacy/module/modules/control/rockets.lua @@ -148,12 +148,13 @@ function Rockets.get_rolling_average(force_name, count) end --- Event used to update the stats and the hui when a rocket is launched -Event.add(defines.events.on_cargo_pod_finished_ascending, function(event) +--- @param event EventData.on_rocket_launched +Event.add(defines.events.on_rocket_launched, function(event) local entity = event.rocket_silo local silo_data = Rockets.get_silo_data(entity) local force = event.rocket_silo.force local force_name = force.name - local rockets_launched = force.rockets_launched + local rockets_launched = force.rockets_launched + 1 -- Hasn't updated when this event fires --- Handles updates to the rocket stats local stats = rocket_stats[force_name] From 6d6e44f0da1c6417514a7c7de76d536a747cf15e Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 31 Dec 2024 13:42:37 +0900 Subject: [PATCH 30/30] . --- exp_legacy/module/config/_file_loader.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exp_legacy/module/config/_file_loader.lua b/exp_legacy/module/config/_file_loader.lua index 3ab87539..69e21a27 100644 --- a/exp_legacy/module/config/_file_loader.lua +++ b/exp_legacy/module/config/_file_loader.lua @@ -44,8 +44,8 @@ return { --- GUI "modules.gui.readme", - -- "modules.gui.rocket-info", - -- "modules.gui.science-info", + "modules.gui.rocket-info", + "modules.gui.science-info", "modules.gui.autofill", "modules.gui.warp-list", "modules.gui.task-list",