1-- =======================================================================
2--                      Atlanteans Tutorial Mission 01
3-- =======================================================================
4
5include "scripting/coroutine.lua"
6include "scripting/infrastructure.lua"
7include "scripting/messages.lua"
8include "scripting/objective_utils.lua"
9include "scripting/richtext_scenarios.lua"
10include "scripting/set.lua"
11include "scripting/table.lua"
12include "scripting/ui.lua"
13
14include "map:scripting/water_rising.lua"
15
16-- ===================
17-- Constants & Config
18-- ===================
19set_textdomain("scenario_atl01.wmf")
20
21game = wl.Game()
22map = game.map
23p1 = game.players[1]
24first_tower_field = map:get_field(94, 149)
25second_tower_field = map:get_field(79, 150)
26
27-- =================
28-- global variables
29-- =================
30expand_objective = nil
31let_the_water_rise = false -- If set to true, the water will begin to rise
32
33include "map:scripting/texts.lua"
34
35-- =================
36-- Helper functions
37-- =================
38
39-- Show many message boxes
40function msg_boxes(boxes_descr)
41   for idx,box_descr in ipairs(boxes_descr) do
42      campaign_message_box(box_descr)
43   end
44end
45
46-- Return the total number of items in warehouses of the given
47-- ware.
48function count_in_warehouses(ware)
49   local whs = array_combine(
50      p1:get_buildings("atlanteans_headquarters"),
51      p1:get_buildings("atlanteans_warehouse")
52   )
53   local rv = 0
54   for idx,wh in ipairs(whs) do
55      rv = rv + wh:get_wares(ware)
56   end
57   return rv
58end
59
60-- starting conditions are included later in the intro
61include "map:scripting/mission_thread.lua"
62include "map:scripting/water_rising.lua"
63