1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-01-06 00:23:49 +02:00
ComfyFactorio/maps/fish_defender_map_intro.lua
2019-02-26 20:05:31 +01:00

83 lines
2.8 KiB
Lua

local event = require 'utils.event'
local main_caption = " --Fish Defender-- "
local sub_caption = " *blb blubby blub* "
local info = [[
The biters have catched the scent of fish in the market.
Fend them off as long as possible!
Your ultimate goal is to evacuate all the fish to cat planet!
Put them in your rocket's cargo and launch them into space.
Don't worry, you will still get space science.
The Market will gladly take any coin you might find.
Additional turret slots can be bought at the market.
The railgun has been enhanced greatly.
Researching Laser Turret Damage will improve it even further.
The shotgun has recieved a damage buff.
Researching Tanks will unlock the artillery tech early
allowing you to produce shells.
]]
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 tt = t.add {type = "table", column_count = 3}
local l = tt.add {type = "label", caption = main_caption}
l.style.font = "default-listbox"
l.style.font_color = {r=0.11, g=0.8, b=0.44}
l.style.top_padding = 6
l.style.bottom_padding = 6
local l = tt.add {type = "label", caption = sub_caption}
l.style.font = "default"
l.style.font_color = {r=0.33, g=0.66, b=0.9}
l.style.minimal_width = 280
local b = tt.add {type = "button", caption = "X", 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 tt = t.add {type = "table", column_count = 1}
local frame = t.add {type = "frame"}
local l = frame.add {type = "label", caption = info}
l.style.single_line = false
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]
if player.online_time < 36000 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() end
if not event.element.valid then return end
if event.element.name == "fish_defense_waves" then create_map_intro(player) end
if not event.element.valid then return end
if event.element.parent then
if event.element.parent.name == "fish_defense_waves" then create_map_intro(player) end
end
end
event.add(defines.events.on_player_joined_game, on_player_joined_game)
event.add(defines.events.on_gui_click, on_gui_click)