Files
factorio-scenario-ExpCluster/modules/commands/vlayer.lua
PHIDIAS 46f6215d94 Feature Update (#237)
See PR for details, there are too many to be included here.
2023-08-15 18:47:34 +01:00

29 lines
1.1 KiB
Lua

--- Adds a virtual layer to store power to save space.
-- @addon Virtual Layer
local Commands = require 'expcore.commands' --- @dep expcore.commands
require 'config.expcore.command_general_parse'
local vlayer = require 'modules.control.vlayer'
Commands.new_command('personal-battery-recharge', 'Recharge Player Battery upto a portion with vlayer')
:add_param('amount', 'number-range', 0.2, 1)
:register(function(player, amount)
local armor = player.get_inventory(defines.inventory.character_armor)[1].grid
for i=1, #armor.equipment do
if armor.equipment[i].energy < (armor.equipment[i].max_energy * amount) then
local energy_required = (armor.equipment[i].max_energy * amount) - armor.equipment[i].energy
if vlayer.power.energy >= energy_required then
armor.equipment[i].energy = armor.equipment[i].max_energy * amount
vlayer.power.energy = vlayer.power.energy - energy_required
else
armor.equipment[i].energy = armor.equipment[i].energy + vlayer.power.energy
vlayer.power.energy = 0
end
end
end
return Commands.success
end)