1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2024-12-30 23:17:53 +02:00
ComfyFactorio/maps/overgrowth_map_info.lua
Gerkiz e91b6a352f 2.0 changes
Change global -> storage
Rework how rendering works
Game prototypes are now stored inside 'prototypes.#'
Renamed entity names
2024-10-22 21:47:11 +02:00

96 lines
2.8 KiB
Lua

--luacheck: ignore
local event = require 'utils.event'
local info =
[[
Nature in this world is out of control!
Stop the trees before it is too late.
Brick and other solid tiles are resistant to the wild growth.
Concrete has double the durability of bricks.
Refined Concrete has three times the resistance of concrete.
For your effort to colonize this overgrown planet,
the Choppy Co. pays you a coin for each tree you defeat.
Also, do not loose the market..
Good Luck & Much Chop
]]
local function create_map_intro_button(player)
if player.gui.top['map_intro_button'] then
return
end
local b = player.gui.top.add({ type = 'sprite-button', caption = '?', name = 'map_intro_button', tooltip = 'Map Info' })
b.style.font_color = { r = 0.1, g = 0.8, b = 0.1 }
b.style.font = 'heading-1'
b.style.minimal_height = 38
b.style.minimal_width = 38
b.style.top_padding = 2
b.style.left_padding = 4
b.style.right_padding = 4
b.style.bottom_padding = 2
end
local function create_map_intro(player)
if player.gui.left['map_intro_frame'] then
player.gui.left['map_intro_frame'].destroy()
end
local frame = player.gui.left.add { type = 'frame', name = 'map_intro_frame', direction = 'vertical' }
local t = frame.add { type = 'table', column_count = 1 }
local b = frame.add { type = 'button', caption = 'Close', name = 'close_map_intro_frame', align = 'right' }
b.style.font = 'default'
b.style.minimal_height = 30
b.style.minimal_width = 30
b.style.top_padding = 2
b.style.left_padding = 4
b.style.right_padding = 4
b.style.bottom_padding = 2
local frame = t.add { type = 'frame' }
local l = frame.add { type = 'label', caption = info }
l.style.single_line = false
l.style.font = 'default-semibold'
l.style.font_color = { r = 0.95, g = 0.95, b = 0.95 }
end
local function on_player_joined_game(event)
local player = game.players[event.player_index]
create_map_intro_button(player)
if player.online_time == 0 then
create_map_intro(player)
end
end
local function on_gui_click(event)
if not event then
return
end
if not event.element then
return
end
if not event.element.valid then
return
end
local player = game.players[event.element.player_index]
if event.element.name == 'close_map_intro_frame' then
player.gui.left['map_intro_frame'].destroy()
return
end
if event.element.name == 'map_intro_button' then
if player.gui.left['map_intro_frame'] then
player.gui.left['map_intro_frame'].destroy()
else
create_map_intro(player)
end
return
end
end
event.add(defines.events.on_player_joined_game, on_player_joined_game)
event.add(defines.events.on_gui_click, on_gui_click)