1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-02-01 13:08:05 +02:00

Fix bugged creative command

This commit is contained in:
Gerkiz 2023-11-25 13:25:52 +01:00
parent 24f738865f
commit fa6dc9dce4

View File

@ -253,48 +253,12 @@ commands.add_command(
Modifiers.set('creative_enabled', true)
player.force.enable_all_prototypes()
this.creative_enabled = true
this.creative_are_you_sure = false
for _, iter_player in pairs(game.connected_players) do
if iter_player.character ~= nil then
if iter_player.get_inventory(defines.inventory.character_armor) then
iter_player.get_inventory(defines.inventory.character_armor).clear()
end
Modifiers.update_single_modifier(player, 'character_mining_speed_modifier', 'creative', 50)
Modifiers.update_single_modifier(player, 'character_health_bonus', 'creative', 2000)
Modifiers.update_single_modifier(player, 'character_crafting_speed_modifier', 'creative', 50)
Modifiers.update_single_modifier(player, 'character_inventory_slots_bonus', 'creative', #game.item_prototypes)
---@diagnostic disable-next-line: assign-type-mismatch
iter_player.character_inventory_slots_bonus = Modifiers.get_single_modifier(player, 'character_inventory_slots_bonus', 'creative')
Modifiers.update_player_modifiers(player)
iter_player.insert {name = 'power-armor-mk2', count = 1}
---@diagnostic disable-next-line: param-type-mismatch
local p_armor = iter_player.get_inventory(5)[1].grid
if p_armor and p_armor.valid then
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'personal-roboport-mk2-equipment'})
p_armor.put({name = 'night-vision-equipment'})
p_armor.put({name = 'battery-mk2-equipment'})
p_armor.put({name = 'battery-mk2-equipment'})
end
local item = game.item_prototypes
for _k, _v in pairs(item) do
if _k and _v.type ~= 'mining-tool' then
iter_player.insert {name = _k, count = _v.stack_size}
end
end
iter_player.print('[CREATIVE] Inserted all base items.', Color.success)
this.creative_enabled = true
this.creative_are_you_sure = false
for _, _player in pairs(game.connected_players) do
if _player.character ~= nil then
Public.insert_all_items(_player)
end
end
end
@ -413,53 +377,51 @@ commands.add_command(
)
local on_player_joined_game = function(player)
if this.creative_enabled then
if not this.players[player.index] then
Public.insert_all_items(player)
this.players[player.index] = true
end
end
Public.insert_all_items(player)
end
function Public.insert_all_items(player)
if this.creative_enabled then
if not this.players[player.index] then
if player.character ~= nil then
if player.get_inventory(defines.inventory.character_armor) then
player.get_inventory(defines.inventory.character_armor).clear()
end
player.insert {name = 'power-armor-mk2', count = 1}
local p_armor = player.get_inventory(5)[1].grid
if p_armor and p_armor.valid then
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'personal-roboport-mk2-equipment'})
p_armor.put({name = 'night-vision-equipment'})
p_armor.put({name = 'battery-mk2-equipment'})
p_armor.put({name = 'battery-mk2-equipment'})
end
local item = game.item_prototypes
local i = 0
for _k, _v in pairs(item) do
i = i + 1
if _k and _v.type ~= 'mining-tool' then
Modifiers.update_single_modifier(player, 'character_inventory_slots_bonus', 'creative', tonumber(i))
Modifiers.update_single_modifier(player, 'character_mining_speed_modifier', 'creative', 50)
Modifiers.update_single_modifier(player, 'character_health_bonus', 'creative', 2000)
Modifiers.update_single_modifier(player, 'character_crafting_speed_modifier', 'creative', 50)
player.character_inventory_slots_bonus = Modifiers.get_single_modifier(player, 'character_inventory_slots_bonus', 'creative')
player.insert {name = _k, count = _v.stack_size}
player.print('[CREATIVE] Inserted all base items.', Color.success)
Modifiers.update_player_modifiers(player)
end
if this.creative_enabled and not this.players[player.index] then
if player.character ~= nil then
if player.get_inventory(defines.inventory.character_armor) then
player.get_inventory(defines.inventory.character_armor).clear()
end
player.insert {name = 'power-armor-mk2', count = 1}
Modifiers.update_single_modifier(player, 'character_inventory_slots_bonus', 'creative', #game.item_prototypes)
Modifiers.update_single_modifier(player, 'character_mining_speed_modifier', 'creative', 150)
Modifiers.update_single_modifier(player, 'character_health_bonus', 'creative', 2000)
Modifiers.update_single_modifier(player, 'character_crafting_speed_modifier', 'creative', 150)
Modifiers.update_single_modifier(player, 'character_resource_reach_distance_bonus', 'creative', 150)
Modifiers.update_single_modifier(player, 'character_running_speed_modifier', 'creative', 2)
Modifiers.update_player_modifiers(player)
this.players[player.index] = true
local p_armor = player.get_inventory(5)[1].grid
if p_armor and p_armor.valid then
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'personal-roboport-mk2-equipment'})
p_armor.put({name = 'night-vision-equipment'})
p_armor.put({name = 'battery-mk2-equipment'})
p_armor.put({name = 'battery-mk2-equipment'})
end
local item = game.item_prototypes
local i = 0
for _k, _v in pairs(item) do
i = i + 1
if _k and _v.type ~= 'mining-tool' then
player.character_inventory_slots_bonus = Modifiers.get_single_modifier(player, 'character_inventory_slots_bonus', 'creative')
player.insert {name = _k, count = _v.stack_size}
player.print('[CREATIVE] Inserted all base items.', Color.success)
end
end
end