diff --git a/utils/commands/misc.lua b/utils/commands/misc.lua index 434ca10a..e2edd2f7 100644 --- a/utils/commands/misc.lua +++ b/utils/commands/misc.lua @@ -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