1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-03-17 20:58:13 +02:00

fix permissionlevels import

This commit is contained in:
danielmartin0 2024-09-18 18:07:18 +01:00
parent 585ee0d546
commit 0ce32bac22
6 changed files with 35 additions and 34 deletions

View File

@ -29,7 +29,7 @@ local simplex_noise = require 'utils.simplex_noise'.d2
local Token = require 'utils.token'
local Task = require 'utils.task'
local Highscore = require 'maps.pirates.highscore'
local Permissions = require 'maps.pirates.permissions'
local Classes = require 'maps.pirates.roles.classes'
local Gui = require 'maps.pirates.gui.gui'
-- local Session = require 'utils.datastore.session_data'
@ -73,7 +73,7 @@ local function check_captain(cmd)
if player ~= nil then
p = player.print
if not Common.validate_player(player) then return end
if not (Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN) then
if not (Permissions.player_privilege_level(player) >= Permissions.privilege_levels.CAPTAIN) then
p({ 'pirates.cmd_error_not_captain' }, Color.fail)
return false
end
@ -91,7 +91,7 @@ local function check_captain_or_admin(cmd)
if player ~= nil then
p = player.print
if not Common.validate_player(player) then return end
if not (player.admin or Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN) then
if not (player.admin or Permissions.player_privilege_level(player) >= Permissions.privilege_levels.CAPTAIN) then
p({ 'pirates.cmd_error_not_captain' }, Color.fail)
return false
end

View File

@ -13,6 +13,7 @@ local Surfaces = require 'maps.pirates.surfaces.surfaces'
local SurfacesCommon = require 'maps.pirates.surfaces.common'
local Hold = require 'maps.pirates.surfaces.hold'
-- local Cabin = require 'maps.pirates.surfaces.cabin'
local Permissions = require 'maps.pirates.permissions'
local window_name = 'crew'
@ -596,7 +597,7 @@ function Public.click(event)
if eventname == 'capn_summon_crew' then
--double check:
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
if Permissions.player_privilege_level(player) >= Permissions.privilege_levels.CAPTAIN then
Crew.summon_crew()
end
return
@ -604,7 +605,7 @@ function Public.click(event)
if eventname == 'capn_requisition' then
--double check:
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
if Permissions.player_privilege_level(player) >= Permissions.privilege_levels.CAPTAIN then
Roles.captain_tax(memory.playerindex_captain)
end
return
@ -622,7 +623,7 @@ function Public.click(event)
if eventname == 'capn_disband_crew' then
--double check:
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
if Permissions.player_privilege_level(player) >= Permissions.privilege_levels.CAPTAIN then
if not memory.disband_are_you_sure_ticks then
memory.disband_are_you_sure_ticks = {}
end
@ -633,7 +634,7 @@ function Public.click(event)
if eventname == 'capn_disband_are_you_sure' then
--double check:
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
if Permissions.player_privilege_level(player) >= Permissions.privilege_levels.CAPTAIN then
local force = memory.force
if force and force.valid then
local message = { 'pirates.crew_disbanded', player.name, memory.name, Utils.time_longform((memory.real_age or 0) / 60) }

View File

@ -22,12 +22,11 @@ local Cabin = require 'maps.pirates.surfaces.cabin'
local Crowsnest = require 'maps.pirates.surfaces.crowsnest'
local Progression = require 'maps.pirates.progression'
local Surfaces = require 'maps.pirates.surfaces.surfaces'
local Roles = require 'maps.pirates.roles.roles'
-- local Roles = require 'maps.pirates.roles.roles'
local Permissions = require 'maps.pirates.permissions'
local IslandEnum = require 'maps.pirates.surfaces.islands.island_enum'
local Kraken = require 'maps.pirates.surfaces.sea.kraken'
local GuiWelcome = require 'maps.pirates.gui.welcome'
local ComfyGui = require 'utils.gui'
ComfyGui.set_disabled_tab('Scoreboard', true)
ComfyGui.set_disabled_tab('Groups', true)
@ -1186,7 +1185,7 @@ local function on_gui_click(event)
if event.element.name and event.element.name == 'etaframe_piratebutton' then
if (memory.boat.state == Boats.enum_state.DOCKED or memory.boat.state == Boats.enum_state.LANDED) then
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
if Permissions.player_privilege_level(player) >= Permissions.privilege_levels.CAPTAIN then
if (not memory.undock_shortcut_are_you_sure_data) then memory.undock_shortcut_are_you_sure_data = {} end
if memory.undock_shortcut_are_you_sure_data[player.index] and memory.undock_shortcut_are_you_sure_data[player.index] > game.tick - 60 * 4 then
if memory.boat.state == Boats.enum_state.DOCKED then
@ -1199,13 +1198,13 @@ local function on_gui_click(event)
end
end
elseif memory.boat.state == Boats.enum_state.ATSEA_WAITING_TO_SAIL then
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
if Permissions.player_privilege_level(player) >= Permissions.privilege_levels.CAPTAIN then
local destination_index = memory.mapbeingloadeddestination_index
Progression.progress_to_destination(destination_index)
end
elseif memory.boat.state == Boats.enum_state.ATSEA_VICTORIOUS then
if Roles.player_privilege_level(player) >= Roles.privilege_levels.CAPTAIN then
if Permissions.player_privilege_level(player) >= Permissions.privilege_levels.CAPTAIN then
memory.boat.state = Boats.enum_state.ATSEA_SAILING
local force = memory.force

View File

@ -10,6 +10,25 @@ local CoreData = require 'maps.pirates.coredata'
local Public = {}
local privilege_levels = {
NORMAL = 1,
OFFICER = 2,
CAPTAIN = 3
}
Public.privilege_levels = privilege_levels
function Public.player_privilege_level(player)
local memory = Memory.get_crew_memory()
if Common.is_id_valid(memory.id) and Common.is_captain(player) then
return Public.privilege_levels.CAPTAIN
elseif Common.is_officer(player.index) then
return Public.privilege_levels.OFFICER
else
return Public.privilege_levels.NORMAL
end
end
local function set_normal_permissions(group)
if not _DEBUG then
group.set_allows_action(defines.input_action.edit_permission_group, false)

View File

@ -14,12 +14,6 @@ local Classes = require 'maps.pirates.roles.classes'
local Permissions = require 'maps.pirates.permissions'
local Public = {}
local privilege_levels = {
NORMAL = 1,
OFFICER = 2,
CAPTAIN = 3
}
Public.privilege_levels = privilege_levels
--== Roles — General ==--
@ -155,18 +149,6 @@ function Public.get_class_print_string(class, add_is_class_obstainable)
return nil
end
function Public.player_privilege_level(player)
local memory = Memory.get_crew_memory()
if Common.is_id_valid(memory.id) and Common.is_captain(player) then
return Public.privilege_levels.CAPTAIN
elseif Common.is_officer(player.index) then
return Public.privilege_levels.OFFICER
else
return Public.privilege_levels.NORMAL
end
end
function Public.make_captain(player)
local global_memory = Memory.get_global_memory()
local memory = Memory.get_crew_memory()

View File

@ -10,14 +10,14 @@ local Crew = require 'maps.pirates.crew'
local Balance = require 'maps.pirates.balance'
local Common = require 'maps.pirates.common'
-- local Utils = require 'maps.pirates.utils_local'
local Roles = require 'maps.pirates.roles.roles'
-- local Roles = require 'maps.pirates.roles.roles'
local Math = require 'maps.pirates.math'
local _inspect = require 'utils.inspect'.inspect
local SurfacesCommon = require 'maps.pirates.surfaces.common'
local Upgrades = require 'maps.pirates.shop.boat_upgrades'
local Cabin = require 'maps.pirates.surfaces.cabin'
-- local Upgrades = require 'maps.pirates.shop.boat_upgrades'
local Permissions = require 'maps.pirates.permissions'
local Public = {}
Public.Covered = require 'maps.pirates.shop.covered'
Public.Merchants = require 'maps.pirates.shop.merchants'
@ -91,7 +91,7 @@ local function purchaseData(market, player, offer_index)
local in_captains_cabin = type and type == SurfacesCommon.enum.CABIN
local dock_upgrades_market = destination.dynamic_data.dock_captains_market and (destination.dynamic_data.dock_captains_market == market)
local permission_level_fail = (in_captains_cabin and Roles.player_privilege_level(player) < Roles.privilege_levels.OFFICER) or (dock_upgrades_market and Roles.player_privilege_level(player) < Roles.privilege_levels.OFFICER)
local permission_level_fail = (in_captains_cabin and Permissions.player_privilege_level(player) < Permissions.privilege_levels.OFFICER) or (dock_upgrades_market and Permissions.player_privilege_level(player) < Permissions.privilege_levels.OFFICER)
if in_captains_cabin then
decay_type = 'static'