Two diff comments:
- name attribute in texts.lua.
- superfluous comment in mission_thread
Diff comments:
>
> === added file 'data/campaigns/emp03.wmf/scripting/mission_thread.lua'
> --- data/campaigns/emp03.wmf/scripting/mission_thread.lua 1970-01-01
> 00:00:00 +0000
> +++ data/campaigns/emp03.wmf/scripting/mission_thread.lua 2017-05-11
> 21:11:09 +0000
> @@ -0,0 +1,466 @@
> +include "scripting/messages.lua"
> +include "map:scripting/helper_functions.lua"
> +
> +function check_stonemason() -- check for completed stonemason
> + while #p1:get_buildings("empire_stonemasons_house") < 1 do sleep(3000) end
> + campaign_message_box(amalea_3)
> +
> + -- don't use all your marble for columns
> + o3 = add_campaign_objective(obj_lower_marble_column_demand)
> + run(economy_settings)
> +end
> +
> +function explore_sea() -- if more than 3 ships are available it is time to
> explore the whole map
> + while #p1:get_ships() < 3 do sleep(3000) end
> + if #p1:get_buildings("empire_port") == 5 then
> + run(artifacts)
> + else
> + campaign_message_box(amalea_11)
> + o11 = add_campaign_objective(obj_find_all_ports)
> + -- check if all ports possible are build
> + while #p1:get_buildings("empire_port") < 5 do sleep(3000) end
> + o11.done = true
> + campaign_message_box(amalea_12)
> + run(artifacts)
> + end
> +end
> +
> +function artifacts() -- check for control of all pieces of Neptune's shrine
> (artifacts)
> + local artifact_fields = {}
> + local i = 1
> + -- find all artifacts
> + for x=0, map.width-1 do
> + for y=0, map.height-1 do
> + local field = map:get_field(x,y)
> + if field.immovable and field.immovable:has_attribute("artifact")
> then
> + -- this assumes that the immovable has size small or medium,
> i.e. only occupies one field
> + artifact_fields[i] = map:get_field(x,y)
> + i = i + 1
> + end
> + end
> + end
> +
> + while true do
> + sleep(4000)
> + -- objective will be triggered if 50+ buildings are build
> + local number_buildings = {
> + "empire_headquarters_shipwreck",
> + "empire_warehouse",
> + "empire_port",
> + "empire_quarry",
> + "empire_lumberjacks_house",
> + "empire_foresters_house",
> + "empire_fishers_house",
> + "empire_hunters_house",
> + "empire_well",
> + "empire_scouts_house",
> + "empire_stonemasons_house",
> + "empire_sawmill",
> + "empire_mill",
> + "empire_bakery",
> + "empire_brewery",
> + "empire_vineyard",
> + "empire_winery",
> + "empire_tavern",
> + "empire_inn",
> + "empire_charcoal_kiln",
> + "empire_smelting_works",
> + "empire_toolsmithy",
> + "empire_armorsmithy",
> + "empire_shipyard",
> + "empire_donkeyfarm",
> + "empire_farm",
> + "empire_piggery",
> + "empire_sheepfarm",
> + "empire_weaving_mill",
> + "empire_weaponsmithy",
> + "empire_marblemine",
> + "empire_marblemine_deep",
> + "empire_coalmine",
> + "empire_coalmine_deep",
> + "empire_ironmine",
> + "empire_ironmine_deep",
> + "empire_goldmine",
> + "empire_goldmine_deep",
> + "empire_arena",
> + "empire_colosseum",
> + "empire_trainingcamp",
> + "empire_blockhouse",
> + "empire_sentry",
> + "empire_outpost",
> + "empire_barrier",
> + "empire_tower",
> + "empire_fortress",
> + "empire_castle",
> + }
> + if count_buildings(p1, number_buildings) > 50 then
> + break
> + end
> + sleep(4000)
> + end
> + campaign_message_box(saledus_8)
> +
> +
> + o12 = add_campaign_objective(obj_find_artifacts)
> +
> + local artifacts_owner = {}
> + repeat
> + sleep(2000)
> + local all_artifacts_found = true
> + for idx, f in ipairs(artifact_fields) do
> + if f.owner then
> + if not artifacts_owner[f] then
> + if f.owner ~= p1 then
> + artifacts_owner[f] = nil
> + all_artifacts_found = false
> + else
> + artifacts_owner[f] = f.owner
> + sleep(2000)
> + local prior_center = scroll_to_field(f)
> + campaign_message_box(diary_page_6)
> + sleep(2000)
> + scroll_to_map_pixel(prior_center)
> + end
> + end
> + else
> + all_artifacts_found = false
> + end
> + end
> + until all_artifacts_found
> + campaign_message_box(saledus_9)
> + o12.done = true
> +end
> +
> +function check_wood_industry() -- check for completed Woddcutter and sawmill
> + while not check_for_buildings(p1, { empire_lumberjacks_house = 1,
> empire_sawmill = 1}) do sleep(2000) end
> + campaign_message_box(amalea_10)
> +end
> +
> +function check_military() -- check for too much military buildings
> + local too_much_mil_build = nil
> + while not too_much_mil_build do
> + local number_mil_buildings = {
> + "empire_sentry",
> + "empire_blockhouse",
> + "empire_outpost",
> + "empire_barrier",
> + "empire_tower",
> + }
> + if count_buildings(p1, number_mil_buildings) > 2 and
> #p1:get_buildings("empire_port") < 2 then
> + too_much_mil_build = 1
> + break
> + end
> + sleep(3000)
> + end
> + campaign_message_box(amalea_9)
> +end
> +
> +function economy_settings() -- check for economy options of marble column
> lowered to 4
> + local flag_field = map:get_field(4, 7)
> + local flag = flag_field.immovable
> + local eco = flag.economy
> + while eco:ware_target_quantity("marble_column") ~= 4 do
> + sleep(2434)
> + end
> + sleep(4000)
> + o3.done = true
> + campaign_message_box(amalea_8)
> +end
> +
> +function building_industry() -- check for completed building industry
> + run(check_stonemason)
> + run(check_wood_industry)
> + while not check_for_buildings(p1, { empire_lumberjacks_house = 1,
> empire_sawmill = 1, empire_stonemasons_house = 1})
> + do sleep(2343) end
> + o2.done = true
> + end
> +
> +function port_build() -- check for port build to realize we need gold
> + while not check_for_buildings(p1, {empire_port = 1}) do sleep(2434) end
> + campaign_message_box(amalea_6)
> + p1:allow_buildings{
> + "empire_brewery",
> + "empire_coalmine",
> + "empire_coalmine_deep",
> + "empire_ironmine",
> + "empire_ironmine_deep",
> + "empire_goldmine",
> + "empire_goldmine_deep",
> + "empire_vineyard",
> + "empire_winery",
> + "empire_mill",
> + "empire_bakery",
> + "empire_piggery",
> + "empire_donkeyfarm",
> + "empire_tavern",
> + "empire_inn",
> + "empire_toolsmithy",
> + "empire_armorsmithy",
> + "empire_weaponsmithy",
> + "empire_smelting_works",
> + }
> + p2:allow_buildings{
> + "barbarians_coalmine",
> + "barbarians_ironmine",
> + "barbarians_goldmine",
> + "barbarians_granitemine",
> + "barbarians_coalmine_deep",
> + "barbarians_ironmine_deep",
> + "barbarians_goldmine_deep",
> + "barbarians_coalmine_deeper",
> + "barbarians_ironmine_deeper",
> + "barbarians_goldmine_deeper",
> + "barbarians_port",
> + "barbarians_cattlefarm",
> + "barbarians_charcoal_kiln",
> + "barbarians_weaving_mill",
> + }
> + o7 = add_campaign_objective(obj_produce_gold)
> + run(check_gold)
> +end
> +
> +function check_gold() -- check for gold to be able to send out expeditions
> + while p1:get_produced_wares_count('gold') < 6 do sleep(2434) end
> + campaign_message_box(amalea_7)
> + o7.done = true
> +end
> +
> +function ship_industry()
> + run(port_build)
> + while not check_for_buildings(p1, { empire_port = 1, empire_shipyard =1
> }) do sleep(2434) end
> + campaign_message_box(diary_page_4)
> + o5.done = true
> +end
> +
> +function wheat() -- check for enough wheat in warehouses
> + while count_in_warehouses("wheat") < 50 do sleep(2434) end
> + campaign_message_box(amalea_5)
> + p1:allow_buildings{"empire_well"}
> + p2:allow_buildings{"barbarians_warehouse" }
> + o6.done = true
> + -- We need to turn the wheat into cloth for building ships
> + o8 = add_campaign_objective(obj_produce_cloth)
> + p1:allow_buildings{
> + "empire_sheepfarm",
> + "empire_weaving_mill",
> + "empire_charcoal_kiln",
> + "empire_marblemine",
> + "empire_marblemine_deep"
> + }
> + p2:allow_buildings{
> + "barbarians_port",
> + "barbarians_shipyard",
> + "barbarians_brewery",
> + "barbarians_inn",
> + "barbarians_smelting_works",
> + "barbarians_metal_workshop",
> + "barbarians_ax_workshop",
> + "barbarians_warmill",
> + "barbarians_helmsmithy",
> + "barbarians_barracks",
> + "barbarians_battlearena",
> + "barbarians_trainingcamp",
> + "barbarians_big_inn",
> + }
> + while #p1:get_buildings("empire_weaving_mill") < 1 do sleep(3000) end
> + campaign_message_box(amalea_13)
> + while p1:get_produced_wares_count('cloth') < 6 do sleep(2434) end
> + o8.done = true
> + run(expedition)
> +end
> +
> +function expedition()
> + -- now we should explore our little world
> + while not o5.done == true do sleep(2434) end
> + campaign_message_box(saledus_5)
> + o9 = add_campaign_objective(obj_build_expedition_ports)
> +
> + while not check_for_buildings(p1, { empire_port = 3 }) do sleep(2434) end
> + campaign_message_box(saledus_6)
> +
> + p1:allow_buildings{"empire_barracks",
> + "empire_fortress",
> + "empire_arena",
> + "empire_trainingcamp",
> + "empire_colosseum",
> + "empire_warehouse",
> + "empire_castle",
> + "empire_scouts_house",
> + }
> + p2:allow_buildings{"barbarians_scouts_hut",
> + "barbarians_citadel",
> + }
> +
> + o9.done = true
> + o10 = add_campaign_objective(obj_conquer_all)
> + run(explore_sea)
> + run(soldiers)
> +
> + while true do
> + local barmil = {
> + "barbarians_headquarters",
> + "barbarians_warehouse",
> + "barbarians_port"}
> + if count_buildings(p2, barmil) < 1 then
> + break
> + end
> + sleep(2342)
> + end
> + o10.done = true
> +
> + -- Babarians defeated.
> + campaign_message_box(saledus_7)
> +
> + while not o12.done == true do sleep(3000) end -- to get home we need as
> well all artifacts
> + sleep(25000) -- Sleep a while to have some time between the last
> objective done message and final victory
> + campaign_message_box(diary_page_5)
> +
> + p1:reveal_campaign("campsect2")
> + p1:reveal_scenario("empiretut03")
> +end
> +
> +function soldiers() -- after discovery of babarian ruins we should hurry to
> build a full training capability
> + local ruins = map:get_field(86,82)
> + local ruin_fortress = map:get_field(85,80)
> +
> + while not p1:sees_field(ruins) == true do sleep(3000) end
> + scroll_to_field(ruin_fortress,5)
> + sleep(500)
> + --p1: reveal_fields(ruin_fortress:region(5))
Above: Removing commented code?
> + random_reveal(p1, ruin_fortress:region(5), 1000)
> + sleep(500)
> + campaign_message_box(saledus_12)
> +
> + local training = p1:get_buildings{
> + "empire_trainingcamp",
> + "empire_barracks",
> + "empire_arena",
> + "empire_colosseum"
> + }
> +
> + if #training.empire_trainingcamp > 0 and
> + #training.empire_barracks > 0 and
> + (#training.empire_arena > 0 or #training.empire_colosseum > 0) then
> + campaign_message_box(saledus_10)
> + else
> + campaign_message_box(saledus_11)
> + o13 = add_campaign_objective(obj_training)
> + end
> +
> + while not (#training.empire_trainingcamp > 0 and
> + #training.empire_barracks > 0 and
> + (#training.empire_arena > 0 or #training.empire_colosseum >
> 0)) do
> + sleep(3000)
> + training = p1:get_buildings{
> + "empire_trainingcamp",
> + "empire_barracks",
> + "empire_arena",
> + "empire_colosseum"
> + }
> + end
> + o13.done = true
> + campaign_message_box(saledus_10)
> +end
> +
> +function mission_thread()
> + sleep(1000)
> +
> + -- Initial messages
> + local sea = map:get_field(28, 8)
> +
> + scroll_to_field(sea,5)
> +
> + campaign_message_box(diary_page_1)
> +
> + -- Show the sea
> + random_reveal(p1, sea:region(5), 1000)
> + sleep(100)
> + local ship = p1:place_ship(sea)
> + sleep(2500)
> + campaign_message_box(diary_page_2)
> +
> + -- Hide the sea after 2 seconds
> + sleep(400)
> + ship:remove()
> + sleep(300)
> + random_hide(p1, sea:region(6), 1000)
> + sleep(300)
> +
> + -- Stranded again
> + scroll_to_field(sf) --scroll to the place where the ship is finally
> stranded
> + include "map:scripting/starting_conditions.lua" --now we place the
> shipwreck headquarters and fill it with workers and wares
> + p1:hide_fields(sf:region(13), true)
> + concentric_reveal(p1, sf, 13, 100)
> + campaign_message_box(diary_page_3)
> + sleep(400)
> + campaign_message_box(saledus)
> + sleep(400)
> + campaign_message_box(amalea)
> + sleep(400)
> + campaign_message_box(saledus_1)
> + o = add_campaign_objective(obj_build_first_outpost)
> + while #p1:get_buildings("empire_outpost") < 1 do sleep(3249) end
> + o.done = true
> +
> + -- Outpost is completed now
> + campaign_message_box(saledus_2)
> + o1 = add_campaign_objective(obj_build_quarry)
> + campaign_message_box(amalea_1)
> + while #p1:get_buildings("empire_quarry") < 1 do sleep(3000) end
> + o1.done = true
> +
> + -- quarry is now build but we need more basic infrastructure
> + campaign_message_box(amalea_2)
> + p1:allow_buildings{
> + "empire_barrier",
> + "empire_sawmill",
> + "empire_stonemasons_house",
> + "empire_foresters_house",
> + "empire_tower",
> + }
> + p2:allow_buildings{
> + "barbarians_tower",
> + "barbarians_fortress",
> + }
> + o2 = add_campaign_objective(obj_build_sawmill_stonemason_and_lumberjacks)
> + -- in the same time we need to discover more land and a port space
> + run(building_industry)
> + sleep(40000)
> + campaign_message_box(saledus_3)
> + p1:allow_buildings{
> + "empire_port",
> + "empire_shipyard",
> + }
> + o4 = add_campaign_objective(obj_find_port_space)
> +
> + local port = map:get_field(17, 17)
> + local fowned = nil
> + while not fowned do
> + if port.owner == p1 then
> + fowned = 1
> + break
> + end
> + sleep(3000)
> + end
> +
> + sleep(3213)
> + o4.done = true
> +
> + -- Portspace discovered now we can build a port
> + campaign_message_box(saledus_4)
> + p1:allow_buildings{
> + "empire_farm",
> + "empire_fishers_house",
> + "empire_hunters_house",
> + }
> + o5 = add_campaign_objective(obj_build_port_and_shipyard)
> + run(ship_industry)
> +
> + -- patience we have to think about how to get enough cloth to build a ship
> + campaign_message_box(amalea_4)
> + o6 = add_campaign_objective(obj_produce_wheat)
> + run(wheat)
> +end
> +
> +run(mission_thread)
> +run(check_military)
>
> === added file 'data/campaigns/emp03.wmf/scripting/texts.lua'
> --- data/campaigns/emp03.wmf/scripting/texts.lua 1970-01-01 00:00:00
> +0000
> +++ data/campaigns/emp03.wmf/scripting/texts.lua 2017-05-11 21:11:09
> +0000
> @@ -0,0 +1,639 @@
> +-- =========================
> +-- Some formating functions
> +-- =========================
> +
> +include "scripting/formatting.lua"
> +include "scripting/format_scenario.lua"
> +
> +function lutius(title, text)
> + return speech("map:Lutius.png", "2F9131", title, text)
> +end
> +function saledus2(title, text)
> + return speech("map:Saledus2.png", "8F9131", title, text)
> +end
> +function saledus3(title, text)
> + return speech("map:Saledus3.png", "8F9131", title, text)
> +end
> +function saledus4(title, text)
> + return speech("map:Saledus2.png", "8F9131", title, text)
> +end
> +function amalea1(title, text)
> + return speech("map:Amalea.png", "AF7511", title, text)
> +end
> +function amalea2(title, text)
> + return speech("map:Amalea2.png", "AF7511", title, text)
> +end
> +function amalea3(title, text)
> + return speech("map:Amalea3.png", "AF7511", title, text)
> +end
> +-- =======================================================================
> +-- Texts - No logic here
> +-- =======================================================================
> +
> +
> +-- ===========
> +-- objectives
> +-- ===========
> +obj_build_first_outpost = {
> + name = "build_a_first_outpost",
> + title=_"Build your first outpost",
> + number = 1,
> + body = objective_text(_"First Outpost",
> + listitem_bullet(_[[Build an outpost at the yellow house symbol to the
> east of your provisional headquarters.]])
> + ),
> +}
> +
> +obj_build_quarry = {
> + name = "build_quarry",
> + title=_"Build a quarry",
> + number = 1,
> + body = objective_text(_"Quarry",
> + listitem_bullet(_[[Build a quarry close to the abundant rocks, so we
> can free some building plots and get some valueable resources.]])
> + ),
> +}
> +
> +obj_build_sawmill_stonemason_and_lumberjacks = {
> + name = "build_sawmill_stonemason_and_lumberjacks",
> + title=_"Build a lumberjack’s house, a sawmill and a stonemason’s house",
> + number = 3,
> + body = objective_text(_"Lumberjack, Sawmill and Stonemason",
> + listitem_bullet(_[[Build a lumberjack’s house, a sawmill and a
> stonemason’s house as soon as there is enough space for them. This will
> complete the basic building material supply chain.]])
> + ),
> +}
> +
> +
> +obj_lower_marble_column_demand = {
> + name = "lower_marble_column_demand",
> + title=_"Lower the demand for marble columns",
> + number = 1,
> + body = objective_text(_"Lower Demand for Marble Columns",
> + listitem_bullet(_[[We should save some marble for buildings. So,
> please lower the demand for marble columns in the economy settings to
> four.]]) ..
> + listitem_arrow(_[[Remember that you can access the economy settings by
> clicking on any flag.]])
> + ),
> +}
> +
> +obj_find_port_space = {
> + name = "find_port_space",
> + title=_"Find a port space on the small island",
> + number = 1,
> + body = objective_text(_"Port Space",
> + listitem_bullet(_[[In order to regain access to the sea, we first must
> discover a port space.]])
> + ),
> +}
> +
> +obj_build_port_and_shipyard = {
> + name = "build_port_and_shipyard",
> + title=_"Build a port and a shipyard on the Island",
> + number = 2,
> + body = objective_text(_"Ship Industry",
> + listitem_bullet(_[[Build a port to set sail from this island.]])..
> + listitem_bullet(_[[Build a shipyard to produce the ships to sail
> on.]])),
> +}
> +
> +obj_produce_wheat = {
> + name = "produce_50_wheat",
> + title=_"Produce at least 50 sheaves of wheat",
> + number = 1,
> + body = objective_text(_"Wheat Production",
> + listitem_bullet(_[[To get our wool production started, we need at
> least 50 sheaves of wheat.]])
> + ),
> +}
> +
> +obj_produce_cloth = {
> + name = "produce_cloth",
> + title=_"Produce cloth for building our first ship",
> + number = 1,
> + body = objective_text(_"Cloth Production",
> + listitem_bullet(_[[Now let’s turn all the wheat into wool (at least 50
> bales) and then use the wool to weave cloth in order to build a ship.]])
> + ),
> +}
> +
> +obj_build_expedition_ports = {
> + name = "build_expedition_ports",
> + title=_"Build 2 ports on distant islands",
> + number = 1,
> + body = objective_text(_"Build 2 Expedition Ports",
> + listitem_bullet(_[[We should explore the island in the south. Use an
> expedition to build a port there. Afterwards, let’s try to find some mining
> resources.]]) ..
> + listitem_bullet(_[[We should send a ship nothwards to gather some
> intelligence about the Barbarians. Try to build a port on the island and
> found an outpost.]])
> + ),
> +}
> +
> +obj_produce_gold = {
> + name = "produce_gold",
> + title=_"Produce gold to send out expeditions",
> + number = 1,
> + body = objective_text(_"Gold Production",
> + listitem_bullet(_[[We need to produce at least 6 gold to be able to
> colonize our vicinity.]])
> + ),
> +}
> +
> +obj_conquer_all = {
> + name = "conquer_all",
> + title=_"Defeat the Barbarians",
> + number = 1,
> + body = objective_text(_"Defeat the Enemy",
> + listitem_bullet(_[[We should end the Barbarians’ existence in this
> part of the world.]])
> + ),
> +}
> +
> +obj_find_all_ports = {
> + name = "Explore_futher_ build_ports",
There is a space in the above name. Shouldn't this string also start with a
lowercase letter?
> + title=_"Explore further and build ports",
> + number = 1,
> + body = objective_text(_"Explore Additional Islands and Search for Port
> Spaces",
> + listitem_bullet(_[[We should discover more land and build as many
> ports as we can.]])
> + ),
> +}
> +
> +obj_find_artifacts = {
> + name = "find_neptunes_shrine",
> + title=_"Recover the shrine",
> + number = 1,
> + body = text_line("</p><p font-size=14 font-weight=bold font-color=d1d1d1
> line-spacing=6>Find the Holy Shrine<br>",
> + listitem_bullet(_[[We need to find and secure all six pieces of the
> holy shrine of Neptune.]]), "map:artifacts_models.png")
> +}
> +
> +
> +obj_training = {
> + name = "build_training_infrastructure",
> + title=_"Build a training infrastructure",
> + number = 3,
> + body = objective_text(_"Training Infrastructure",
> + listitem_bullet(_[[Build a training camp, some barracks and an arena
> or colosseum to train our soldiers.]])
> + ),
> +}
> +
> +
> +-- ==================
> +-- Texts to the user
> +-- ==================
> +diary_page_1 = {
> + title =_"The Journey Home",
> + body=lutius(_"Diary of Lutius",
> + -- TRANSLATORS: Lutius - Diary
> + _([[Finally, we were set towards Fremil again. I couldn’t await the
> chance to clear my records of this big defeat by the Barbarians.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Lutius - Diary
> + _([[But the gods themselves didn’t want us to get home so quickly!]])),
> +
> + posy=1,
> + w=500,
> +
> +}
> +
> +diary_page_2 = {
> + title=_"The Wrath of Neptune",
> + body= lutius(_"Diary of Lutius",
> + -- TRANSLATORS: Lutius - Diary
> + _([[Neptune himself was against us and drove us into a dark, wild
> storm again. But this time it felt even worse than last time. The waves were
> twice the height of our brave ship and the winds drove us into unsafe
> waters.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Lutius - Diary
> + _([[Our ship is heavily damaged. The mast has gone overboard and the
> hull is taking in more and more water. We would be glad to survive this black
> night with barely more than our lives.]])),
> +
> + posy=1,
> + w=500,
> +}
> +
> +diary_page_3 = {
> + title=_"Shipwrecked Again",
> + body= lutius(_"Diary of Lutius",
> + -- TRANSLATORS: Lutius - Diary
> + _([[Finally, the wrath of the gods and the ocean seems to be over.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Lutius - Diary
> + _([[We landed on an unknown coast and found some rest under the palm
> trees growing at the shore. But that is about as good as it gets. The truth
> is: when I woke up this morning, I saw nothing but sand and stone around
> us.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Lutius - Diary
> + _([[It really seems as if we have landed on a very small island with
> little space.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Lutius - Diary
> + _([[To make matters even worse, all the land we can see is blocked by
> rocks and trees. I fear we won’t find the resources we need to build a new
> ship.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Lutius - Diary
> + _([[I really don’t know if and how we will get back home. And the war
> is going on without us. I hope my comrades are defending our empire well.]])),
> +
> + posy=1,
> + w=500,
> +}
> +
> +saledus = {
> + title=_"No Sight",
> + body= saledus2(_"Saledus looks around nervously…",
> + -- TRANSLATORS: Saledus
> + _([[Sire, we do not know anything about the island. And I believe we
> are not safe either. It would probably be reasonable to build a tower to
> explore the island and add some military strength.]])),
> +
> + posy=1,
> + w=500,
> +}
> +
> +amalea = {
> + title=_"Amalea Interrupts",
> + body= amalea1(_"Amalea raises her hand…",
> + -- TRANSLATORS: Amalea
> + _([[Salve Lutius. As we don’t know how many resources we can get, we
> should be very restrictive in spending them. Even for military buildings, we
> should be very careful.]])),
> +
> + posy=1,
> + w=500,
> +}
> +
> +saledus_1 = {
> + title=_"Save Resources",
> + body= saledus2(_"Saledus is nodding in agreement…",
> + -- TRANSLATORS: Saledus
> + _([[Sire, Amalea is right about the resources. Therefore I correct
> myself. We should only build an outpost as this is the most effective
> military building.]]))
> + .. new_objectives(obj_build_first_outpost),
> +
> + posy=1,
> + w=500,
> + h=480,
> +}
> +
> +saledus_2 = {
> + title=_"Rocks, Nothing but Rocks",
> + body= saledus3(_"Saledus speaks with a sigh of relief…",
> + -- TRANSLATORS: Saledus
> + _([[Sire, I saw that the construction of the outpost was completed, so
> I have assigned some of my best soldiers to it to keep the watch.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Saledus
> + _([[But although this is a good step forward, I can’t see much space
> for buildings. The whole island is littered with rocks. How can we ever build
> a new ship or even have some basic infrastructure to make our lives more
> comfortable?]])),
> + posy=1,
> + w=500,
> +}
> +
> +amalea_1 = {
> + title=_"Amalea’s Plan",
> + body= amalea2(_"Amalea smiles…",
> + -- TRANSLATORS: Amalea
> + _([[Lutius, this may seem very tricky, but we can do it. First of all,
> we need patience as well as speed and a plan to succeed in this part of the
> world.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[I think we should try to reveal some building space by cutting up
> all the rocks in a quarry.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[Additionally, this would gain us some granite and some marble to
> build up our new world. We can use them as soon as there will finally be
> enough space for buildings.]]))
> + .. new_objectives(obj_build_quarry),
> + posy=1,
> + w=500,
> + h=480,
> +}
> +
> +amalea_2 = {
> + title=_"Amalea’s New Instructions",
> + body= amalea3(_"Amalea recommends…",
> + -- TRANSLATORS: Amalea
> + _([[Good news from the people, Lutius. I got the message that our
> first quarry has started its work today.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[Perhaps it would be a good idea to wait until it has cleared some
> space and then build up a basic construction material industry.]]))
> + .. new_objectives(obj_build_sawmill_stonemason_and_lumberjacks),
> + posy=1,
> + w=500,
> + h=500,
> +}
> +
> +amalea_3 = {
> + title=_"Amalea’s Recommendations",
> + body= amalea2(_"Amalea comes in…",
> + -- TRANSLATORS: Amalea
> + _([[I’ve got important things to talk about… First the good news:]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[I noticed that our stonemason has started his work, finally. He
> will cut the number of marble columns that we request in our basic economy
> settings.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[But here’s the rub, if we use up all of our marble for columns, we
> might run out. So, we should lower the settings for marble columns in the
> economy settings to a smaller amount. I think a reserve of 4 columns might be
> sufficient for the moment being.]]))
> + .. new_objectives(obj_lower_marble_column_demand),
> + posy=1,
> + w=500,
> + h=480,
> +}
> +
> +amalea_10 = {
> + title=_"Amalea Looks Happy",
> + body= amalea2(_"Amalea comes in…",
> + -- TRANSLATORS: Amalea
> + _([[Ave Lutius. I have excellent progress to report now.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[I found out that the construction of the lumberjack´s house and
> the sawmill is complete, so we can begin to harvest logs and make planks out
> of them.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[This is a great step forward in constructing advanced buildings.
> And we can think of using some planks to build new ships.]])),
> + posy=1,
> + w=500,
> +}
> +
> +saledus_3 = {
> + title=_"We Need a Port",
> + body= saledus2(_"Saledus thoughtfully…",
> + -- TRANSLATORS: Saledus
> + _([[Sire, I just pondered our way home. It is of utmost importance to
> build a port for loading our ships and starting an expedition.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Saledus
> + _([[The problem is that a port is a building which needs a very
> special place to be build. So, while building our economy, we should
> nevertheless expand further to discover the whole island. Let’s try to find
> such a valuable construction site.]]))
> + .. new_objectives(obj_find_port_space),
> + posy=1,
> + w=500,
> + h=480,
> +}
> +
> +saledus_4 = {
> + title=_"A Step Closer to Getting Home",
> + body= saledus3(_"Saledus looks excited…",
> + -- TRANSLATORS: Saledus
> + _([[Sire, today we got a lot closer to finally returning home again.
> Our military has spotted a space to build a port on. We should start to build
> a port quickly.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Saledus
> + _([[Now we truly can look forward to building some ships. So, we
> should build a shipyard as well.]]))
> + .. new_objectives(obj_build_port_and_shipyard),
> + posy=1,
> + w=500,
> + h=480,
> +}
> +
> +amalea_4 = {
> + title=_"Amalea’s Wisdom",
> + body= amalea2(_"Amalea recommends…",
> + -- TRANSLATORS: Amalea
> + _([[I understand the euphoria of Saledus, but we have some serious
> problems to solve first.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[To send out an expeditionary ship, we first need a ship.
> Unfortunately we have only 5 bales of cloth left, which we will need to build
> the port and the shipyard.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[So, we need more cloth to finally be able to build ships. But
> there is no space on the island for building a whole economy to produce
> cloth. Therefore, we need to build the necessary wares step by step.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[So, let’s think this over. To weave cloth we need some wool from a
> sheep farm. The sheepfarm itself needs wheat and water to work. So, let’s
> find a space for a big building and build a wheat farm first.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[After the production of enough wheat, we can dismantle the farm
> and build a sheep farm to produce wool. Later on, we could build a weaving
> mill in the same spot to use our wool for weaving cloth. But for the moment
> being, let’s start by producing a reasonable amount of wheat.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[I think a stock of 50 wheat would be enough for starters. Perhaps
> we will have to adjust the target quantity for wheat to achieve this.]]))
> + .. new_objectives(obj_produce_wheat),
> + posy=1,
> + w=500,
> + h=550,
> +}
> +
> +-- NOCOM (#codereview): This message was overlayed by another message by
> Amalea. Sleep in between?
> +-- I also made some message windows smaller. Our minimum supported
> resoultion is 800 x 600, so message windows that are higher than 550 are
> cumbersome.
> +diary_page_4 = {
> + title=_"Seafaring is Possible Again",
> + body= lutius(_"Diary of Lutius",
> + -- TRANSLATORS: Lutius - Diary
> + _([[Praise the gods. We finally have a ship industry.]])),
> + posy=1,
> + w=500,
> +}
> +
> +
> +amalea_5 = {
> + title=_"Amalea Proud",
> + body= amalea2(_"Amalea cheers…",
> + -- TRANSLATORS: Amalea
> + _([[Well done so far. We have produced enough wheat. Now dismantle the
> farm and build the next building in the production chain.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[Don’t forget to check the target quantity of wool and cloth in the
> economy settings. We need to turn all the wheat into wool and then the all
> the wool into cloth.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[Perhaps it would be a good idea to stop the shipyard’s production
> until we have some cloth available in order to not waste any logs or
> planks.]]))
> + .. new_objectives(obj_produce_cloth),
> + posy=1,
> + w=500,
> + h=480,
> +}
> +
> +saledus_5 = {
> + title=_"We Should Explore the Islands",
> + body= saledus2(_"Saledus is excited…",
> + -- TRANSLATORS: Saledus
> + _([[Now that we have all resources ready for building a ship, we
> should explore the surrounding islands.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Saledus
> + _([[First, we need to find some more resources to back up our growing
> economy. I have spotted an island with some mountains in the south. Perhaps
> we can find some valuable resources like iron there.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Saledus
> + _([[But the following objective is even more important:]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Saledus
> + _([[I think I have heard the wind carrying some weird but well known
> sounds from the north. If I’m not totally wrong, I have heard some Barbarian
> war drums. So, we should better go and have a look at what is going on up
> there.]]))
> + .. new_objectives(obj_build_expedition_ports),
> + posy=1,
> + w=500,
> + h=550,
> +}
> +
> +amalea_6 = {
> + title=_"Amalea Advises",
> + body= amalea3(_"Amalea looks thoughtfully…",
> + -- TRANSLATORS: Amalea
> + _([[Salve Lutius. While talking to all our brave builders, they told
> me that they had to use up all our remaining gold for building the port. Now
> we don’t have any gold left.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[But the problem is that for sending out an expedition, we need
> some gold.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[Fortunately, I spotted a mountain which looks very promising and
> seems to have some mining resources. Perhaps we should send some geologists
> to explore the hidden resources.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[I strongly recommend building a production chain for mining and
> melting some gold. I think we need a vineyard, a winery, a tavern, a fisher’s
> house or a hunter’s house and a smelting works. And the mines themselves of
> course.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[If there are difficulties with building all the buildings needed,
> we should think about all we have learned so far. We can cut down all the
> rocks. We should perhaps optimize our roads to free up some building sites,
> or even dismantle some military buildings to obtain more space for our
> economy.]]))
> + .. new_objectives(obj_produce_gold),
> + posy=1,
> + w=500,
> + h=550,
> +}
> +
> +saledus_6 = {
> + title=_"We Should Conquer All the Islands",
> + body= saledus3(_"Saledus is excited…",
> + -- TRANSLATORS: Saledus
> + _([[Now it is time to conquer the islands.]])
> + .. paragraphdivider() ..
> + _([[Let’s finish the Barbarians off and provide a nice colony to the
> caesar of our empire.]]))
> + .. new_objectives(obj_conquer_all),
> + posy=1,
> + w=500,
> + h=480,
> +}
> +
> +amalea_7 = {
> + title=_"Amalea’s Luck",
> + body= amalea2(_"Amalea is really proud of the achievements…",
> + -- TRANSLATORS: Amalea
> + _([[Lutius, we have just solved another problem. We managed to melt
> enough gold to send out at least three expeditions. Perhaps we might even
> keep some gold to make some jewelry.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[I’m just kidding. Of course we should spare as much gold as we can
> for building an arena and other buildings to train our soldiers.]])),
> + posy=1,
> + w=500,
> +}
> +
> +amalea_8 = {
> + title=_"Amalea is Pleased",
> + body= amalea1(_"Amalea is content that we will manage all our challenges",
> + -- TRANSLATORS: Amalea
> + _([[Well done so far. Now we will not produce more marble columns than
> needed. I really think we will need this economy feature quite often to
> adjust our economy. Remember, our industry will only be working until the
> given amount in the economy settings is reached.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[For example, it might be a good idea to produce a reasonable
> amount of a ware and afterwards dismantle the building to gain space for
> another building.]])),
> + posy=1,
> + w=500,
> +}
> +
> +amalea_9 = {
> + title=_"Amalea’s Reminder",
> + body= amalea3(_"Amalea is shaking her head…",
> + -- TRANSLATORS: Amalea
> + _([[Lutius. I really appreciate that you and Saledus are so concerned
> about our security. But I think we could use the little space on this island
> better than by building a lot of military buildings.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[I strongly recommend dismantling the most of them to be able to
> build industrial buildings. I don’t think there is much danger on this
> island, but if you want to be cautious, you can keep some sentries or
> blockhouses near the coastline.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[But be careful not to waste any bigger building spots.]])),
> + posy=1,
> + w=500,
> +}
> +
> +amalea_11 = {
> + title=_"Amalea’s Excited",
> + body= amalea1(_"Amalea is looking forward to the exploration…",
> + -- TRANSLATORS: Amalea
> + _([[Lutius. We have made so much progress so far. I just got the
> information that we have completed our third ship.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[Now that our fleet is growing and growing we should discover the
> complete region. Let’s try to find more land and eventually get more
> resources.]])
> + .. paragraphdivider() ..
> + -- TRANSLATORS: Amalea
> + _([[It would be especially helpful to find more marble, either within
> fields of rock or in the mountains to mine it.]]))
> + .. new_objectives(obj_find_all_ports),
> + posy=1,
> + w=500,
> + h=480,
> +}
> +
> +amalea_12 = {
> + title=_"Amalea is Very Content",
> + body= amalea2(_"Amalea is clapping her hands…",
> + -- TRANSLATORS: Amalea
> + _([[Lutius. Well done. Well done. We have discovered all possible port
> locations in the complete region. Now we can backup our economy and we will
> manage to sail home soon.]])),
> + posy=1,
> + w=500,
> +}
> +
> +amalea_13 = {
> + title=_"Amalea Consulting",
> + body= amalea1(_"Amalea is clapping her hands…",
> + -- TRANSLATORS: Amalea
> + _([[Salve Lutius. We just completed our weaving mill. Now we are very
> close to get to the sea again. However I thought it would be helpful to
> remind you that ship production is not the only industry that needs cloth.]])
> + .. paragraphdivider() ..
> + _([[We need as well some cloth to produce armor in our armor smithy.
> We need it to build some of the training buildings for our soldiers. And most
> important and most imminent we need it to send out expeditions.]])
> + .. paragraphdivider() ..
> + _([[Therefore I really recommend to check the stock of cloth quite
> regularly to ensure that at least we keep enough cloth to send out some
> expeditions. As one expedition needs 3 rolls of cloth I think a reserve of 6
> to 9 rolls giving us 2 to 3 expeditions would be sufficient.]])),
> + posy=1,
> + w=500,
> +}
> +
> +saledus_7 = {
> + title=_"Victory is Ours",
> + body= saledus3(_"Saledus is cheering…",
> + -- TRANSLATORS: Saledus
> + _([[Sire, finally we have defeated the Barbarians in this region. And
> furthermore, we have built a nice colony for our empire.]])
> + .. paragraphdivider() ..
> + _([[Caesar will be very pleased about our victory.]])),
> + posy=1,
> + w=500,
> +}
> +
> +saledus_8 = {
> + title=_"Pleasing Neptune",
> + body= saledus4(_"Saledus is Very Sad and Anxious…",
> + -- TRANSLATORS: Saledus
> + _([[Sire, we are making good progress towards getting home eventually.
> But there is one thing I need to talk about:]])
> + .. paragraphdivider() ..
> + _([[As we have seen on our last journey, it is of great importance to
> put the gods and especially Neptune in a good mood to safeguard our
> journey.]])
> + .. paragraphdivider() ..
> + _([[Unfortunately, we lost our holy shrine of Neptune in the great
> storm, so we can’t worship him well. I think we should search the whole
> region to see if we can recover all six pieces of the shrine.]])
> + .. paragraphdivider() ..
> + _([[To ease the search, I have crafted some models of the pieces as
> you can see. You can give them to our soldiers and sailors to look for
> them.]]))
> + .. new_objectives(obj_find_artifacts),
> + posy=1,
> + w=500,
> + h=550,
> +}
> +
> +saledus_9 = {
> + title=_"Praise, Praise, Praise",
> + body= saledus2(_"Saledus is happily worshipping…",
> + -- TRANSLATORS: Saledus
> + _([[Sire, we recovered the holy shrine of Neptune. Now we can seek his
> protection for our journey.]])
> + .. paragraphdivider() ..
> + _([[Oh great Neptune, safeguard our journey! Oh great Neptune, let the
> winds be friendly to our course! Oh great Neptune, save us from the creatures
> of the sea! Oh great Neptune, …]])),
> + posy=1,
> + w=500,
> +}
> +
> +saledus_12 = {
> + title=_"Unpleasant Discoveries",
> + body= saledus3(_"Saledus looks very worried…",
> + -- TRANSLATORS: Saledus
> + _([[Sire, we found the ruins of a former Barbarian fortress and
> village. I’m somewhat worried that we will have to fight against them before
> we are ready.]])),
> + posy=1,
> + w=500,
> +}
> +
> +saledus_10 = {
> + title=_"Train Faster, Train Harder",
> + body= saledus2(_"Saledus is demanding some discipline",
> + -- TRANSLATORS: Saledus
> + _([[Sire, we have all buildings available for training our soldiers,
> but we should increase our efforts to train them to the highest level and to
> train more of them.]])
> + .. paragraphdivider() ..
> + _([[We need a lot of food, a lot of iron and a lot of gold to do so.
> So, we have lots of challenges to cope with.]])),
> + posy=1,
> + w=500,
> +}
> +
> +saledus_11 = {
> + title=_"Training Infrastructure is Needed",
> + body= saledus3(_"Saledus has security concerns",
> + -- TRANSLATORS: Saledus
> + _([[Sire, we need to train some of our people to serve in your great
> army. It is important to increase the number of our soldiers as fast as we
> can. And we should train them well to improve their fighting abilities.]])
> + .. paragraphdivider() ..
> + _([[Therefore, we need to build a full training infrastructure despite
> the limited space available. We need some barracks, a training camp and an
> arena or a colosseum.]]))
> + .. new_objectives(obj_training),
> + posy=1,
> + w=500,
> + h=480,
> +}
> +
> +
> +
> +diary_page_5 = {
> + title=_"Time to get Home Again",
> + body= lutius(_"Diary of Lutius",
> + -- TRANSLATORS: Lutius - Diary
> + _([[Yes my fellow soldiers, we have done it! We have met all the
> challenges that were put in front of us. But my heart is still with our home.
> We shall set sail as soon as possible to help defend the Empire from the
> Barbarian tribe.]])
> + .. paragraphdivider() ..
> + _([[You have completed this mission. You may continue playing if you
> wish, otherwise move on to the next mission.]])),
> + posy=1,
> + w=500,
> +}
> +
> +
> +diary_page_6 = {
> + title=_"Artifact Found",
> + body= lutius(_"Diary of Lutius",
> + -- TRANSLATORS: Lutius - Diary
> + _([[Finally, we found a piece of our shrine. Praise Neptune!]])),
> + posy=1,
> + w=500,
> + }
> +
> +
> +
--
https://code.launchpad.net/~widelands-dev/widelands/empire-mission-3/+merge/321434
Your team Widelands Developers is requested to review the proposed merge of
lp:~widelands-dev/widelands/empire-mission-3 into lp:widelands.
_______________________________________________
Mailing list: https://launchpad.net/~widelands-dev
Post to : [email protected]
Unsubscribe : https://launchpad.net/~widelands-dev
More help : https://help.launchpad.net/ListHelp