Merge branch 'patch/6.1.1' into dev

This commit is contained in:
Cooldude2606
2020-09-08 19:11:00 +01:00
5 changed files with 92 additions and 33 deletions

View File

@@ -2,6 +2,8 @@
-- @config Roles
local Roles = require 'expcore.roles' --- @dep expcore.roles
local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data
local Statistics = PlayerData.Statistics
--- Role flags that will run when a player changes roles
Roles.define_flag_trigger('is_admin',function(player,state)
@@ -166,6 +168,7 @@ Roles.new_role('Partner','Part')
'command/unjail'
}
local hours10, hours250 = 10*216000, 250*60
Roles.new_role('Veteran','Vet')
:set_permission_group('Trusted')
:set_custom_color{r=140,g=120,b=200}
@@ -174,8 +177,12 @@ Roles.new_role('Veteran','Vet')
'command/chat-bot',
}
:set_auto_assign_condition(function(player)
if player.online_time > 10*216000 then
if player.online_time >= hours10 then
return true
else
local stats = Statistics:get(player, {})
local playTime, afkTime, mapCount = stats.Playtime or 0, stats.AfkTime or 0, stats.MapsPlayed or 0
return playTime - afkTime >= hours250 and mapCount >= 25
end
end)
@@ -192,6 +199,7 @@ Roles.new_role('Member','Mem')
'command/save-quickbar'
}
local hours3, hours15 = 3*216000, 15*60
Roles.new_role('Regular','Reg')
:set_permission_group('Standard')
:set_custom_color{r=79,g=155,b=163}
@@ -204,8 +212,12 @@ Roles.new_role('Regular','Reg')
'standard-decon'
}
:set_auto_assign_condition(function(player)
if player.online_time > 3*216000 then
if player.online_time >= hours3 then
return true
else
local stats = Statistics:get(player, {})
local playTime, afkTime, mapCount = stats.Playtime or 0, stats.AfkTime or 0, stats.MapsPlayed or 0
return playTime - afkTime >= hours15 and mapCount >= 5
end
end)
@@ -238,7 +250,7 @@ local default = Roles.new_role('Guest','')
Roles.new_role('Jail')
:set_permission_group('Restricted')
:set_custom_color{r=50,g=50,b=50}
:set_block_auto_promote(true)
:set_block_auto_assign(true)
:disallow(default.allowed)
--- System defaults which are required to be set

View File

@@ -3,6 +3,7 @@
local e = defines.events -- order as per lua api as it was easier just to go down the list
return {
MapsPlayed = true, --- @setting MapsPlayed If the number of maps which a player has played should be tracked
Playtime = true, --- @setting Playtime If playtime is tracked for a player, play time measured in minutes
AfkTime = true, --- @setting AfkTime If afk time is tracked for a player, play time measured in minutes, afk is once a player does nothing for 5 minutes
DistanceTravelled = true, --- @setting DistanceTravelled If distance Travelled is checked, only counts if not afk
@@ -21,7 +22,6 @@ return {
ItemsPickedUp = e.on_picked_up_item,
TilesBuilt = e.on_player_built_tile,
ItemsCrafted = e.on_player_crafted_item,
MapsPlayed = e.on_player_created,
DeconstructionPlannerUsed = e.on_player_deconstructed_area,
Deaths = e.on_player_died,
JoinCount = e.on_player_joined_game,