mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-28 12:05:21 +09:00
Converted Modules To Use Roles
This commit is contained in:
@@ -37,7 +37,7 @@ script.on_event(defines.events.on_player_respawned,function(event)
|
||||
end
|
||||
end)
|
||||
|
||||
-- overided by ExpGamingCore.Ranking if present
|
||||
-- overided by ExpGamingCore.Role if present
|
||||
script.on_event(defines.events.on_pre_player_died,function(event)
|
||||
local player = Game.get_player(event)
|
||||
if player.admin then
|
||||
@@ -54,26 +54,26 @@ end)
|
||||
|
||||
return {
|
||||
on_init= function(self)
|
||||
if loaded_modules['ExpGamingCore.Ranking@^4.0.0'] then
|
||||
local Ranking = require('ExpGamingCore.Ranking@^4.0.0')
|
||||
if loaded_modules['ExpGamingCore.Role@^4.0.0'] then
|
||||
local Role = require('ExpGamingCore.Role@^4.0.0')
|
||||
-- instant respawn
|
||||
script.on_event(defines.events.on_pre_player_died,function(event)
|
||||
local player = Game.get_player(event)
|
||||
if Ranking.get_rank(player):allowed('bonus-respawn') then
|
||||
if Role.allowed(player,'bonus-respawn') then
|
||||
player.ticks_to_respawn = 120
|
||||
-- manually dispatch death event because it is not fired when ticks_to_respawn is set pre death
|
||||
Event.dispatch{
|
||||
script.raise_event(defines.events.on_player_died,{
|
||||
name=defines.events.on_player_died,
|
||||
tick=event.tick,
|
||||
player_index=event.player_index,
|
||||
cause = event.cause
|
||||
}
|
||||
})
|
||||
end
|
||||
end)
|
||||
-- either clears or adds default when rank changed
|
||||
script.on_event(defines.events.rank_change,function(event)
|
||||
script.on_event(defines.events.role_change,function(event)
|
||||
local player = Game.get_player(event)
|
||||
if event.new_rank:allowed('bonus') then
|
||||
if Role.allowed(player,'bonus') then
|
||||
for _,setting in pairs(settings) do player[key] = setting*0.2 end
|
||||
global[player.index]=20
|
||||
else
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
|
||||
local Game = require('FactorioStdLib.Game@^0.8.0')
|
||||
local Ranking = require('ExpGamingCore.Ranking@^4.0.0')
|
||||
local Role = require('ExpGamingCore.Role@^4.0.0')
|
||||
|
||||
-- Set an item to true to disallow it from being repaired
|
||||
local disallow = {
|
||||
@@ -46,9 +46,9 @@ commands.add_command('repair', 'Repairs all destoryed and damaged entites in an
|
||||
}, function(event,args)
|
||||
local range = args.range
|
||||
local player = Game.get_player(event)
|
||||
local rank = Ranking.get_rank(player)
|
||||
local highest_admin_power = Ranking.get_group('Admin').highest.power-1
|
||||
local max_range = rank.power-highest_admin_power > 0 and const/(rank.power-highest_admin_power) or nil
|
||||
local role = Role.get_highest(player)
|
||||
local highest_admin_power = Role.meta.groups.Admin.highest-1
|
||||
local max_range = role.index-highest_admin_power > 0 and const/(role.index-highest_admin_power) or nil
|
||||
local center = player and player.position or {x=0,y=0}
|
||||
if not range or max_range and range > max_range then player_return({'commands.invalid-range',0,math.floor(max_range)}) return commands.error end
|
||||
local area = {{center.x-range,center.y-range},{center.x+range,center.y+range}}
|
||||
|
||||
@@ -4,14 +4,13 @@
|
||||
-- @license https://github.com/explosivegaming/scenario/blob/master/LICENSE
|
||||
|
||||
local Game = require('FactorioStdLib.Game@^0.8.0')
|
||||
local Ranking -- ExpGamingCore.Ranking@^4.0.0
|
||||
local Role -- ExpGamingCore.Role@^4.0.0
|
||||
|
||||
-- Module Define
|
||||
local module_verbose = false
|
||||
local ThisModule = {
|
||||
on_init=function()
|
||||
if loaded_modules['ExpGamingCore.Ranking@^4.0.0'] then Ranking = require('ExpGamingCore.Ranking@^4.0.0') end
|
||||
--code
|
||||
if loaded_modules['ExpGamingCore.Role@^4.0.0'] then Role = require('ExpGamingCore.Role@^4.0.0') end
|
||||
end
|
||||
}
|
||||
|
||||
@@ -22,9 +21,9 @@ commands.add_command('tag', 'Give yourself a custom tag. Use "" to have more tha
|
||||
['tag'] = {true,'string-len',20}
|
||||
}, function(event,args)
|
||||
local player = Game.get_player(event)
|
||||
if Ranking then
|
||||
local rank = Ranking.get_rank(player)
|
||||
player.tag = rank.tag..' - '..args.tag
|
||||
if Role then
|
||||
local role = Role.get_highest(player)
|
||||
player.tag = role.tag..' - '..args.tag
|
||||
else player.tag = args.tag end
|
||||
player_return('Your tag has been set. Use /tag-clear to remove your tag')
|
||||
end)
|
||||
@@ -36,10 +35,11 @@ commands.add_command('tag-clear', 'Removes a custom tag.', {
|
||||
['player'] = {false,'player-rank'}
|
||||
}, function(event,args)
|
||||
local player = args.player or game.player
|
||||
if Ranking then
|
||||
local rank = Ranking.get_rank(player)
|
||||
player.tag = rank.tag
|
||||
if Role then
|
||||
local role = Role.get_highest(player)
|
||||
player.tag = role.tag
|
||||
else player.tag = '' end
|
||||
player_return('Your tag has been removed.')
|
||||
end)
|
||||
|
||||
return ThisModule
|
||||
Reference in New Issue
Block a user