Formated upto ExpGamingCore.Commands

This commit is contained in:
Cooldude2606
2018-09-17 21:36:29 +01:00
parent 4392671ce2
commit fcba578e83
23 changed files with 181 additions and 127 deletions

View File

@@ -1,39 +1,39 @@
--- A full ranking system for factorio.
-- @module ExpGamingCommands.kill
-- @module ExpGamingCommands.bonus@^4.0.0
-- @author Cooldude2606
-- @license https://github.com/explosivegaming/scenario/blob/master/LICENSE
local global = global{}
local Game = require('FactorioStdLib.Game@^0.8.0')
-- these are the settings which are changed with scale being as +100%
local settings = {
{key='character_mining_speed_modifier',scale=3},
{key='character_crafting_speed_modifier',scale=3},
{key='character_running_speed_modifier',scale=3},
{key='character_build_distance_bonus',scale=20},
{key='character_reach_distance_bonus',scale=20},
{key='character_inventory_slots_bonus',scale=200}
character_mining_speed_modifier=3,
character_crafting_speed_modifier=3,
character_running_speed_modifier=3,
character_build_distance_bonus=20,
character_reach_distance_bonus=20,
character_inventory_slots_bonus=200
}
local global = global{}
local Game = require('FactorioStdLib.Game')
--- Allows a player to set there bonus
-- @command bonus
-- @param bonus the amount of bonus there will get
commands.add_command('bonus', 'Set your player bonus (default is 20, guest has 0)', {
['bonus'] = {true,'number-range',-1,50} -- -1 < math.floor(bonus) <= 50
['bonus'] = {true,'number-range-int',-1,50} -- -1 < math.floor(bonus) <= 50
}, function(event,args)
local player = Game.get_player(event)
local bonus = args.bonus
for _,setting in pairs(settings) do player[setting.key] = setting.scale*math.floor(bonus)*0.01 end
for key,setting in pairs(settings) do player[key] = setting*math.floor(bonus)*0.01 end
global[player.index]=bonus
player_return('Bonus set to: '..math.floor(bonus)..'%')
end)
end).default_admin_only = true
script.on_event(defines.events.on_player_respawned,function(event)
local player = Game.get_player(event)
local bonus = global[player.index]
if bonus then
for _,setting in pairs(settings) do player[setting.key] = setting.scale*math.floor(bonus)*0.01 end
for _,setting in pairs(settings) do player[key] = setting*math.floor(bonus)*0.01 end
end
end)
@@ -54,8 +54,8 @@ end)
return {
on_init= function(self)
if loaded_modules['ExpGamingCore.Ranking'] then
local Ranking = require('ExpGamingCore.Ranking')
if loaded_modules['ExpGamingCore.Ranking@^4.0.0'] then
local Ranking = require('ExpGamingCore.Ranking@^4.0.0')
-- instant respawn
script.on_event(defines.events.on_pre_player_died,function(event)
local player = Game.get_player(event)
@@ -74,10 +74,10 @@ return {
script.on_event(defines.events.rank_change,function(event)
local player = Game.get_player(event)
if event.new_rank:allowed('bonus') then
for _,setting in pairs(settings) do player[setting.key] = setting.scale*0.2 end
for _,setting in pairs(settings) do player[key] = setting*0.2 end
global[player.index]=20
else
for _,setting in pairs(settings) do player[setting.key] = 0 end
for _,setting in pairs(settings) do player[key] = 0 end
global[player.index]=nil
end
end)