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