1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2026-06-20 16:32:28 +02:00

when creative mode is enabled, insert items to new players

This commit is contained in:
Gerkiz
2020-12-05 18:11:42 +01:00
parent 6370ac3720
commit 174f36c984
+84 -40
View File
@@ -5,7 +5,9 @@ local Color = require 'utils.color_presets'
local Event = require 'utils.event' local Event = require 'utils.event'
local Global = require 'utils.global' local Global = require 'utils.global'
local this = {} local this = {
players = {}
}
Global.register( Global.register(
this, this,
@@ -14,6 +16,8 @@ Global.register(
end end
) )
local Public = {}
commands.add_command( commands.add_command(
'spaghetti', 'spaghetti',
'Does spaghett.', 'Does spaghett.',
@@ -242,11 +246,10 @@ commands.add_command(
return return
end end
game.print(player.name .. ' has activated creative-mode!', Color.warning) game.print('[CREATIVE] ' .. player.name .. ' has activated creative-mode!', Color.warning)
Server.to_discord_bold(table.concat {'[Creative] ' .. player.name .. ' has activated creative-mode!'}) Server.to_discord_bold(table.concat {'[Creative] ' .. player.name .. ' has activated creative-mode!'})
for k, v in pairs(game.connected_players) do for k, v in pairs(game.connected_players) do
v.cheat_mode = true
if v.character ~= nil then if v.character ~= nil then
if v.get_inventory(defines.inventory.character_armor) then if v.get_inventory(defines.inventory.character_armor) then
v.get_inventory(defines.inventory.character_armor).clear() v.get_inventory(defines.inventory.character_armor).clear()
@@ -275,13 +278,17 @@ commands.add_command(
for _k, _v in pairs(item) do for _k, _v in pairs(item) do
i = i + 1 i = i + 1
if _k and _v.type ~= 'mining-tool' then if _k and _v.type ~= 'mining-tool' then
p_modifer[k].character_inventory_slots_bonus['creative'] = tonumber(i) p_modifer[player.index].character_inventory_slots_bonus['creative'] = tonumber(i)
p_modifer[player.index].character_mining_speed_modifier['creative'] = 50
p_modifer[player.index].character_health_bonus['creative'] = 2000
p_modifer[player.index].character_crafting_speed_modifier['creative'] = 50
v.character_inventory_slots_bonus = p_modifer[k].character_inventory_slots_bonus['creative'] v.character_inventory_slots_bonus = p_modifer[k].character_inventory_slots_bonus['creative']
v.insert {name = _k, count = _v.stack_size} v.insert {name = _k, count = _v.stack_size}
v.print('Inserted all base items.', Color.success) v.print('[CREATIVE] Inserted all base items.', Color.success)
p_modifer.creative_enabled = true Modifiers.update_player_modifiers(player)
end end
end end
this.creative_enabled = true
end end
end end
end end
@@ -379,43 +386,80 @@ local on_player_joined_game = function(event)
local player = game.players[event.player_index] local player = game.players[event.player_index]
if this.creative_enabled then if this.creative_enabled then
player.cheat_mode = true if not this.players[player.index] then
if player.character ~= nil then Public.insert_all_items(player)
if player.get_inventory(defines.inventory.character_armor) then this.players[player.index] = true
player.get_inventory(defines.inventory.character_armor).clear() end
end end
player.insert {name = 'power-armor-mk2', count = 1} end
local p_armor = player.get_inventory(5)[1].grid
if p_armor and p_armor.valid then function Public.insert_all_items(player)
p_armor.put({name = 'fusion-reactor-equipment'}) if player.character ~= nil then
p_armor.put({name = 'fusion-reactor-equipment'}) if player.get_inventory(defines.inventory.character_armor) then
p_armor.put({name = 'fusion-reactor-equipment'}) player.get_inventory(defines.inventory.character_armor).clear()
p_armor.put({name = 'exoskeleton-equipment'}) end
p_armor.put({name = 'exoskeleton-equipment'}) player.insert {name = 'power-armor-mk2', count = 1}
p_armor.put({name = 'exoskeleton-equipment'}) local p_armor = player.get_inventory(5)[1].grid
p_armor.put({name = 'energy-shield-mk2-equipment'}) if p_armor and p_armor.valid then
p_armor.put({name = 'energy-shield-mk2-equipment'}) p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'}) p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'}) p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'personal-roboport-mk2-equipment'}) p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'night-vision-equipment'}) p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'battery-mk2-equipment'}) p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'battery-mk2-equipment'}) p_armor.put({name = 'energy-shield-mk2-equipment'})
end p_armor.put({name = 'energy-shield-mk2-equipment'})
local item = game.item_prototypes p_armor.put({name = 'energy-shield-mk2-equipment'})
local i = 0 p_armor.put({name = 'energy-shield-mk2-equipment'})
local p_modifer = Modifiers.get_table() p_armor.put({name = 'personal-roboport-mk2-equipment'})
for _k, _v in pairs(item) do p_armor.put({name = 'night-vision-equipment'})
i = i + 1 p_armor.put({name = 'battery-mk2-equipment'})
if _k and _v.type ~= 'mining-tool' then p_armor.put({name = 'battery-mk2-equipment'})
p_modifer[player.index].character_inventory_slots_bonus['creative'] = tonumber(i) end
player.character_inventory_slots_bonus = p_modifer[player.index].character_inventory_slots_bonus['creative'] local item = game.item_prototypes
player.insert {name = _k, count = _v.stack_size} local i = 0
player.print('[CREATIVE] Inserted all base items.', Color.success) local p_modifer = Modifiers.get_table()
end for _k, _v in pairs(item) do
i = i + 1
if _k and _v.type ~= 'mining-tool' then
p_modifer[player.index].character_inventory_slots_bonus['creative'] = tonumber(i)
p_modifer[player.index].character_mining_speed_modifier['creative'] = 50
p_modifer[player.index].character_health_bonus['creative'] = 2000
p_modifer[player.index].character_crafting_speed_modifier['creative'] = 50
player.character_inventory_slots_bonus = p_modifer[player.index].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 end
end end
end end
end end
function Public.get(key)
if key then
return this[key]
else
return this
end
end
Event.on_init(
function()
this.creative_are_you_sure = false
this.creative_enabled = false
this.spaghetti_are_you_sure = false
this.spaghetti_enabled = false
end
)
function Public.reset()
this.creative_are_you_sure = false
this.creative_enabled = false
this.spaghetti_are_you_sure = false
this.spaghetti_enabled = false
this.players = {}
end
Event.add(defines.events.on_player_joined_game, on_player_joined_game) Event.add(defines.events.on_player_joined_game, on_player_joined_game)
return Public