Merge lp:~widelands-dev/widelands/i18n into lp:widelands

Proposed by GunChleoc
Status: Merged
Merged at revision: 6845
Proposed branch: lp:~widelands-dev/widelands/i18n
Merge into: lp:widelands
Diff against target: 53872 lines (+20114/-18803)
435 files modified
campaigns/atl01.wmf/elemental (+1/-1)
campaigns/atl01.wmf/scripting/texts.lua (+380/-400)
campaigns/cconfig (+12/-12)
campaigns/emp01.wmf/elemental (+2/-2)
campaigns/emp01.wmf/scripting/texts.lua (+168/-117)
campaigns/emp02.wmf/elemental (+2/-2)
campaigns/emp02.wmf/scripting/texts.lua (+161/-118)
campaigns/t01.wmf/elemental (+2/-2)
campaigns/t01.wmf/scripting/init.lua (+5/-1)
campaigns/t01.wmf/scripting/initial_messages.lua (+20/-15)
campaigns/t01.wmf/scripting/khantrukhs_talking.lua (+13/-11)
campaigns/t01.wmf/scripting/texts.lua (+146/-110)
campaigns/t02.wmf/elemental (+2/-2)
campaigns/t02.wmf/scripting/mission_thread_texts.lua (+247/-268)
campaigns/t03.wmf/elemental (+1/-1)
campaigns/t03.wmf/scripting/texts.lua (+257/-230)
campaigns/tutorial01.wmf/elemental (+2/-2)
campaigns/tutorial01.wmf/scripting/texts.lua (+404/-436)
global/militarysites/barracks.empire/conf (+6/-0)
global/militarysites/barrier.barbarians/conf (+6/-0)
global/militarysites/barrier.empire/conf (+6/-0)
global/militarysites/castle.atlanteans/conf (+6/-0)
global/militarysites/castle.empire/conf (+6/-0)
global/militarysites/citadel.barbarians/conf (+6/-0)
global/militarysites/donjon.barbarians/conf (+6/-0)
global/militarysites/fortress.barbarians/conf (+6/-0)
global/militarysites/fortress.empire/conf (+6/-0)
global/militarysites/guardhall.atlanteans/conf (+6/-0)
global/militarysites/guardhouse.atlanteans/conf (+6/-0)
global/militarysites/high_tower.atlanteans/conf (+6/-0)
global/militarysites/outpost.empire/conf (+6/-0)
global/militarysites/sentry.barbarians/conf (+6/-0)
global/militarysites/sentry.empire/conf (+6/-0)
global/militarysites/small_tower.atlanteans/conf (+6/-0)
global/militarysites/stronghold.barbarians/conf (+6/-0)
global/militarysites/tower.atlanteans/conf (+6/-0)
global/militarysites/tower.empire/conf (+6/-0)
maps/Atoll.wmf/elemental (+2/-2)
maps/Calvisson.wmf/elemental (+2/-2)
maps/Checkmate.wmf/elemental (+1/-1)
maps/Comet Island.wmf/elemental (+1/-1)
maps/Crossing the horizon.wmf/elemental (+1/-1)
maps/Desert Tournament.wmf/elemental (+2/-2)
maps/Dry Riverbed.wmf/elemental (+1/-1)
maps/Elven Forests.wmf/elemental (+2/-2)
maps/Fellowships.wmf/elemental (+2/-2)
maps/Finlakes.wmf/elemental (+1/-1)
maps/Firegames.wmf/elemental (+1/-1)
maps/Four Castles.wmf/elemental (+1/-1)
maps/Four Mountains.wmf/elemental (+1/-1)
maps/Glacier Lake.wmf/elemental (+1/-1)
maps/Ice wars.wmf/elemental (+1/-1)
maps/Islands at war.wmf/elemental (+2/-2)
maps/Kings and Queens.wmf/elemental (+1/-1)
maps/Lake of tranquility.wmf/elemental (+1/-1)
maps/Last Bastion.wmf/elemental (+1/-1)
maps/Long, long way.wmf/elemental (+2/-2)
maps/MP Scenarios/Island Hopping.wmf/elemental (+1/-1)
maps/MP Scenarios/Island Hopping.wmf/scripting/first_island.lua (+4/-4)
maps/MP Scenarios/Island Hopping.wmf/scripting/multiplayer_init.lua (+31/-1)
maps/MP Scenarios/Island Hopping.wmf/scripting/texts.lua (+31/-24)
maps/MP Scenarios/Smugglers.wmf/elemental (+1/-1)
maps/MP Scenarios/Smugglers.wmf/scripting/multiplayer_init.lua (+2/-3)
maps/MP Scenarios/Smugglers.wmf/scripting/smuggling.lua (+10/-8)
maps/MP Scenarios/Smugglers.wmf/scripting/texts.lua (+38/-33)
maps/Mystical Maze.wmf/elemental (+1/-1)
maps/Plateau.wmf/elemental (+2/-2)
maps/Plateau.wmf/scripting/texts.lua (+39/-42)
maps/Rendez-Vous.wmf/elemental (+1/-1)
maps/River Explorers.wmf/elemental (+1/-1)
maps/Sun of fire.wmf/elemental (+2/-2)
maps/Swamp Island.wmf/elemental (+1/-1)
maps/Swamp Monks.wmf/elemental (+2/-2)
maps/The Nile.wmf/elemental (+2/-2)
maps/The Oasis Triangle.wmf/elemental (+1/-1)
maps/The Thaw.wmf/elemental (+1/-1)
maps/The big lake.wmf/elemental (+2/-2)
maps/The long way.wmf/elemental (+2/-2)
maps/The pass through the mountains.wmf/elemental (+2/-2)
maps/Together we're strong.wmf/elemental (+2/-2)
maps/Trident of Fire.wmf/elemental (+2/-2)
maps/Twin Lagoons.wmf/elemental (+1/-1)
maps/Two frontiers.wmf/elemental (+1/-1)
maps/Volcanic Winter.wmf/elemental (+1/-1)
maps/War of the Valleys.wmf/elemental (+1/-1)
maps/Wisent Valley.wmf/elemental (+1/-1)
po/map_plateau.wmf/map_plateau.wmf.pot (+93/-106)
po/maps/maps.pot (+416/-368)
po/mp_scenario_island_hopping.wmf/mp_scenario_island_hopping.wmf.pot (+174/-116)
po/mp_scenario_smugglers.wmf/mp_scenario_smugglers.wmf.pot (+82/-68)
po/scenario_atl01.wmf/scenario_atl01.wmf.pot (+685/-717)
po/scenario_dummy.wmf/scenario_dummy.wmf.pot (+14/-3)
po/scenario_emp01.wmf/scenario_emp01.wmf.pot (+335/-191)
po/scenario_emp02.wmf/scenario_emp02.wmf.pot (+411/-255)
po/scenario_t01.wmf/scenario_t01.wmf.pot (+343/-224)
po/scenario_t02.wmf/scenario_t02.wmf.pot (+570/-505)
po/scenario_t03.wmf/scenario_t03.wmf.pot (+436/-422)
po/scenario_tutorial01.wmf/scenario_tutorial01.wmf.pot (+913/-983)
po/texts/texts.pot (+690/-690)
po/tribe_atlanteans/tribe_atlanteans.pot (+1507/-1153)
po/tribe_barbarians/tribe_barbarians.pot (+3493/-3198)
po/tribe_empire/tribe_empire.pot (+1579/-1208)
po/widelands/gd.po (+504/-816)
po/widelands/widelands.pot (+1629/-2489)
po/win_conditions/gd.po (+51/-62)
po/win_conditions/win_conditions.pot (+223/-179)
po/world_blackland/world_blackland.pot (+294/-294)
po/world_desert/world_desert.pot (+228/-228)
po/world_greenland/world_greenland.pot (+338/-338)
po/world_winterland/world_winterland.pot (+323/-323)
scripting/format_help.lua (+24/-0)
scripting/format_scenario.lua (+85/-0)
scripting/formatting.lua (+3/-56)
scripting/win_condition_texts.lua (+1/-32)
scripting/win_conditions/02_collectors.lua (+13/-9)
scripting/win_conditions/03_territorial_lord.lua (+14/-7)
scripting/win_conditions/03_territorial_time.lua (+47/-21)
scripting/win_conditions/04_wood_gnome.lua (+15/-9)
src/economy/cmd_call_economy_balance.cc (+2/-2)
src/economy/economy_data_packet.cc (+5/-5)
src/economy/fleet.cc (+2/-2)
src/economy/portdock.cc (+2/-2)
src/economy/request.cc (+1/-1)
src/economy/wares_queue.cc (+2/-2)
src/editor/editorinteractive.cc (+4/-4)
src/editor/tools/editor_info_tool.cc (+87/-81)
src/editor/ui_menus/editor_main_menu_load_map.cc (+6/-6)
src/editor/ui_menus/editor_main_menu_save_map.cc (+11/-11)
src/editor/ui_menus/editor_player_menu.cc (+10/-6)
src/editor/ui_menus/editor_player_menu_allowed_buildings_menu.cc (+1/-1)
src/editor/ui_menus/editor_tool_change_height_options_menu.cc (+1/-1)
src/editor/ui_menus/editor_tool_change_resources_options_menu.cc (+1/-1)
src/editor/ui_menus/editor_toolsize_menu.cc (+1/-1)
src/game_io/game_cmd_queue_data_packet.cc (+2/-2)
src/game_io/game_game_class_data_packet.cc (+2/-2)
src/game_io/game_interactive_player_data_packet.cc (+3/-3)
src/game_io/game_player_economies_data_packet.cc (+4/-4)
src/game_io/game_player_info_data_packet.cc (+9/-9)
src/game_io/game_preload_data_packet.cc (+2/-2)
src/graphic/animation.cc (+2/-2)
src/logic/battle.cc (+3/-3)
src/logic/bob.cc (+1/-1)
src/logic/building.cc (+1/-1)
src/logic/cmd_calculate_statistics.cc (+2/-2)
src/logic/cmd_incorporate.cc (+1/-1)
src/logic/cmd_luacoroutine.cc (+2/-2)
src/logic/cmd_luascript.cc (+2/-2)
src/logic/cmd_queue.cc (+3/-3)
src/logic/constructionsite.cc (+3/-1)
src/logic/critter_bob.cc (+2/-2)
src/logic/game.cc (+2/-2)
src/logic/immovable.cc (+42/-46)
src/logic/instances.cc (+6/-6)
src/logic/legacy.cc (+2/-2)
src/logic/military_data.cc (+5/-5)
src/logic/militarysite.cc (+20/-30)
src/logic/militarysite.h (+10/-0)
src/logic/playercommand.cc (+43/-43)
src/logic/production_program.cc (+152/-126)
src/logic/productionsite.cc (+3/-3)
src/logic/replay.cc (+1/-1)
src/logic/requirements.cc (+4/-4)
src/logic/ship.cc (+7/-7)
src/logic/soldier.cc (+9/-7)
src/logic/tribe.cc (+9/-9)
src/logic/warehouse.cc (+1/-1)
src/logic/worker.cc (+13/-9)
src/logic/worker_program.cc (+2/-2)
src/logic/world.cc (+1/-1)
src/map_io/widelands_map_allowed_building_types_data_packet.cc (+2/-2)
src/map_io/widelands_map_allowed_worker_types_data_packet.cc (+2/-2)
src/map_io/widelands_map_bob_data_packet.cc (+4/-4)
src/map_io/widelands_map_bobdata_data_packet.cc (+13/-13)
src/map_io/widelands_map_building_data_packet.cc (+3/-3)
src/map_io/widelands_map_buildingdata_data_packet.cc (+26/-26)
src/map_io/widelands_map_elemental_data_packet.cc (+2/-2)
src/map_io/widelands_map_exploration_data_packet.cc (+2/-2)
src/map_io/widelands_map_extradata_data_packet.cc (+2/-2)
src/map_io/widelands_map_flag_data_packet.cc (+8/-6)
src/map_io/widelands_map_flagdata_data_packet.cc (+9/-9)
src/map_io/widelands_map_heights_data_packet.cc (+2/-2)
src/map_io/widelands_map_loader.cc (+1/-1)
src/map_io/widelands_map_node_ownership_data_packet.cc (+2/-2)
src/map_io/widelands_map_object_packet.cc (+3/-3)
src/map_io/widelands_map_objective_data_packet.cc (+3/-3)
src/map_io/widelands_map_player_names_and_tribes_data_packet.cc (+2/-2)
src/map_io/widelands_map_player_position_data_packet.cc (+3/-3)
src/map_io/widelands_map_players_messages_data_packet.cc (+20/-20)
src/map_io/widelands_map_players_view_data_packet.cc (+1/-1)
src/map_io/widelands_map_port_spaces_data_packet.cc (+2/-2)
src/map_io/widelands_map_road_data_packet.cc (+2/-2)
src/map_io/widelands_map_roaddata_data_packet.cc (+7/-7)
src/map_io/widelands_map_terrain_data_packet.cc (+2/-2)
src/map_io/widelands_map_version_data_packet.cc (+2/-2)
src/map_io/widelands_map_ware_data_packet.cc (+3/-3)
src/map_io/widelands_map_waredata_data_packet.cc (+4/-4)
src/network/internet_gaming.cc (+19/-6)
src/network/internet_gaming_messages.cc (+6/-6)
src/network/nethost.cc (+43/-24)
src/network/network_gaming_messages.cc (+14/-13)
src/s2map.cc (+9/-6)
src/scripting/lua_game.cc (+9/-4)
src/scripting/lua_globals.cc (+103/-1)
src/scripting/persistence.cc (+1/-1)
src/sound/sound_handler.cc (+2/-2)
src/ui_basic/helpwindow.cc (+2/-2)
src/ui_basic/messagebox.cc (+4/-4)
src/ui_fsmenu/campaign_select.cc (+4/-13)
src/ui_fsmenu/campaign_select.h (+1/-1)
src/ui_fsmenu/internet_lobby.cc (+2/-2)
src/ui_fsmenu/launchMPG.cc (+43/-40)
src/ui_fsmenu/launchSPG.cc (+19/-17)
src/ui_fsmenu/loadgame.cc (+3/-1)
src/ui_fsmenu/loadreplay.cc (+3/-1)
src/ui_fsmenu/main.cc (+1/-1)
src/ui_fsmenu/mapselect.cc (+4/-3)
src/ui_fsmenu/options.cc (+12/-7)
src/wlapplication.cc (+84/-105)
src/wui/building_statistics_menu.cc (+12/-12)
src/wui/buildingwindow.cc (+3/-3)
src/wui/encyclopedia_window.cc (+10/-14)
src/wui/fieldaction.cc (+6/-6)
src/wui/game_debug_ui.cc (+2/-2)
src/wui/game_main_menu_save_game.cc (+6/-9)
src/wui/game_message_menu.cc (+12/-12)
src/wui/game_options_menu.cc (+1/-2)
src/wui/interactive_base.cc (+4/-3)
src/wui/interactive_player.cc (+2/-2)
src/wui/login_box.cc (+3/-3)
src/wui/login_box.h (+2/-1)
src/wui/multiplayersetupgroup.cc (+4/-5)
src/wui/playerdescrgroup.cc (+13/-11)
src/wui/productionsitewindow.cc (+6/-4)
src/wui/shipwindow.cc (+2/-2)
src/wui/soldierlist.cc (+4/-2)
src/wui/story_message_box.cc (+1/-1)
src/wui/watchwindow.cc (+1/-1)
test/maps/expedition.wmf/scripting/init.lua (+6/-6)
test/maps/lua_testsuite.wmf/scripting/init.lua (+1/-0)
test/maps/lua_testsuite.wmf/scripting/string_bformat.lua (+27/-0)
tribes/atlanteans/advanced_shield/conf (+1/-1)
tribes/atlanteans/armoursmith/conf (+1/-1)
tribes/atlanteans/bakingtray/conf (+1/-1)
tribes/atlanteans/blackroot/conf (+1/-1)
tribes/atlanteans/bucket/conf (+1/-1)
tribes/atlanteans/builder/conf (+1/-1)
tribes/atlanteans/castle/conf (+5/-0)
tribes/atlanteans/coal/conf (+1/-1)
tribes/atlanteans/conf (+37/-37)
tribes/atlanteans/corn/conf (+1/-1)
tribes/atlanteans/double_trident/conf (+1/-1)
tribes/atlanteans/fish/conf (+1/-1)
tribes/atlanteans/gold/conf (+1/-1)
tribes/atlanteans/golden_tabard/conf (+1/-1)
tribes/atlanteans/goldore/conf (+1/-1)
tribes/atlanteans/guardhall/conf (+5/-0)
tribes/atlanteans/guardhouse/conf (+5/-0)
tribes/atlanteans/hammer/conf (+1/-1)
tribes/atlanteans/heavy_double_trident/conf (+1/-1)
tribes/atlanteans/high_tower/conf (+5/-0)
tribes/atlanteans/hook_pole/conf (+1/-1)
tribes/atlanteans/horse/conf (+1/-1)
tribes/atlanteans/iron/conf (+1/-1)
tribes/atlanteans/ironore/conf (+1/-1)
tribes/atlanteans/labyrinth/conf (+2/-2)
tribes/atlanteans/light_trident/conf (+1/-1)
tribes/atlanteans/long_trident/conf (+1/-1)
tribes/atlanteans/meat/conf (+1/-1)
tribes/atlanteans/milking_tongs/conf (+1/-1)
tribes/atlanteans/planks/conf (+1/-1)
tribes/atlanteans/quartz/conf (+1/-1)
tribes/atlanteans/sawyer/conf (+1/-1)
tribes/atlanteans/scout/conf (+1/-1)
tribes/atlanteans/scripting/sc01_castle_village.lua (+2/-2)
tribes/atlanteans/shovel/conf (+1/-1)
tribes/atlanteans/small_tower/conf (+5/-0)
tribes/atlanteans/spideryarn/conf (+1/-1)
tribes/atlanteans/steel_shield/conf (+1/-1)
tribes/atlanteans/stone/conf (+1/-1)
tribes/atlanteans/stonecutter/conf (+1/-1)
tribes/atlanteans/toolsmithy/conf (+1/-1)
tribes/atlanteans/tower/conf (+5/-0)
tribes/atlanteans/trunk/conf (+1/-1)
tribes/atlanteans/water/conf (+1/-1)
tribes/barbarians/axe/conf (+1/-1)
tribes/barbarians/axefactory/conf (+3/-3)
tribes/barbarians/axefactory/help.lua (+23/-23)
tribes/barbarians/bakery/help.lua (+14/-14)
tribes/barbarians/bakingtray/conf (+1/-1)
tribes/barbarians/barrier/conf (+5/-0)
tribes/barbarians/battlearena/help.lua (+14/-14)
tribes/barbarians/battleaxe/conf (+1/-1)
tribes/barbarians/blackwood/conf (+2/-2)
tribes/barbarians/broadaxe/conf (+1/-1)
tribes/barbarians/bronzeaxe/conf (+1/-1)
tribes/barbarians/builder/conf (+1/-1)
tribes/barbarians/cattlebreeder/conf (+1/-1)
tribes/barbarians/cattlefarm/help.lua (+9/-10)
tribes/barbarians/citadel/conf (+6/-0)
tribes/barbarians/coal/conf (+1/-1)
tribes/barbarians/coalmine/help.lua (+10/-10)
tribes/barbarians/conf (+46/-46)
tribes/barbarians/deep_coalmine/help.lua (+11/-11)
tribes/barbarians/deep_goldmine/help.lua (+11/-11)
tribes/barbarians/deep_oremine/help.lua (+9/-9)
tribes/barbarians/deeper_coalmine/help.lua (+10/-11)
tribes/barbarians/deeper_goldmine/help.lua (+10/-11)
tribes/barbarians/deeper_oremine/help.lua (+9/-10)
tribes/barbarians/donjon/conf (+6/-0)
tribes/barbarians/farm/help.lua (+9/-9)
tribes/barbarians/felling_axe/conf (+1/-1)
tribes/barbarians/fernery/help.lua (+13/-13)
tribes/barbarians/fire_tongs/conf (+1/-1)
tribes/barbarians/fish/conf (+1/-1)
tribes/barbarians/fisher/conf (+1/-1)
tribes/barbarians/fishers_hut/help.lua (+7/-7)
tribes/barbarians/fishing_rod/conf (+1/-1)
tribes/barbarians/fortress/conf (+5/-0)
tribes/barbarians/gamekeepers_hut/help.lua (+7/-7)
tribes/barbarians/gold/conf (+1/-1)
tribes/barbarians/goldmine/help.lua (+9/-9)
tribes/barbarians/goldstone/conf (+1/-1)
tribes/barbarians/granitemine/help.lua (+9/-9)
tribes/barbarians/hammer/conf (+1/-1)
tribes/barbarians/helm/conf (+1/-1)
tribes/barbarians/helmsmithy/conf (+1/-1)
tribes/barbarians/hunters_hut/help.lua (+10/-10)
tribes/barbarians/hunting_spear/conf (+1/-1)
tribes/barbarians/iron/conf (+1/-1)
tribes/barbarians/ironore/conf (+1/-1)
tribes/barbarians/kitchen_tools/conf (+1/-1)
tribes/barbarians/lime_kiln/help.lua (+16/-16)
tribes/barbarians/lumberjacks_hut/help.lua (+11/-11)
tribes/barbarians/mask/conf (+1/-1)
tribes/barbarians/meal/conf (+1/-1)
tribes/barbarians/meat/conf (+1/-1)
tribes/barbarians/metalworks/conf (+2/-2)
tribes/barbarians/metalworks/help.lua (+18/-18)
tribes/barbarians/micro-brewery/help.lua (+12/-12)
tribes/barbarians/oremine/help.lua (+8/-8)
tribes/barbarians/ox/conf (+1/-1)
tribes/barbarians/pick/conf (+1/-1)
tribes/barbarians/pittabread/conf (+1/-1)
tribes/barbarians/quarry/help.lua (+4/-4)
tribes/barbarians/rangers_hut/help.lua (+6/-6)
tribes/barbarians/scout/conf (+1/-1)
tribes/barbarians/scripting/sc01_citadel_village.lua (+2/-2)
tribes/barbarians/scythe/conf (+1/-1)
tribes/barbarians/sentry/conf (+5/-0)
tribes/barbarians/sharpaxe/conf (+1/-1)
tribes/barbarians/shovel/conf (+1/-1)
tribes/barbarians/stonemason/conf (+1/-1)
tribes/barbarians/strongbeer/conf (+1/-1)
tribes/barbarians/stronghold/conf (+6/-0)
tribes/barbarians/thatchreed/conf (+1/-1)
tribes/barbarians/trainingscamp/conf (+6/-6)
tribes/barbarians/trainingscamp/help.lua (+25/-23)
tribes/barbarians/trunk/conf (+2/-2)
tribes/barbarians/warhelmet/conf (+1/-1)
tribes/barbarians/warmill/conf (+6/-6)
tribes/barbarians/warmill/help.lua (+22/-22)
tribes/barbarians/warriorsaxe/conf (+1/-1)
tribes/barbarians/water/conf (+1/-1)
tribes/barbarians/well/help.lua (+6/-5)
tribes/empire/advanced_lance/conf (+1/-1)
tribes/empire/armour/conf (+1/-1)
tribes/empire/armoursmith/conf (+1/-1)
tribes/empire/armoursmithy/conf (+3/-3)
tribes/empire/axe/conf (+1/-1)
tribes/empire/bakingtray/conf (+1/-1)
tribes/empire/barracks/conf (+6/-0)
tribes/empire/barrier/conf (+6/-0)
tribes/empire/bread/conf (+1/-1)
tribes/empire/builder/conf (+1/-1)
tribes/empire/castle/conf (+6/-0)
tribes/empire/chain_armour/conf (+1/-1)
tribes/empire/cloth/conf (+1/-1)
tribes/empire/coal/conf (+1/-1)
tribes/empire/conf (+42/-42)
tribes/empire/donkey/conf (+1/-1)
tribes/empire/fish/conf (+1/-1)
tribes/empire/fisher/conf (+1/-1)
tribes/empire/fortress/conf (+6/-0)
tribes/empire/gold/conf (+1/-1)
tribes/empire/goldstone/conf (+1/-1)
tribes/empire/grape/conf (+1/-1)
tribes/empire/hammer/conf (+1/-1)
tribes/empire/heavy_lance/conf (+1/-1)
tribes/empire/helm/conf (+1/-1)
tribes/empire/hunting_spear/conf (+1/-1)
tribes/empire/iron/conf (+1/-1)
tribes/empire/ironore/conf (+1/-1)
tribes/empire/lance/conf (+1/-1)
tribes/empire/marble/conf (+1/-1)
tribes/empire/marblecolumn/conf (+1/-1)
tribes/empire/meat/conf (+1/-1)
tribes/empire/outpost/conf (+6/-0)
tribes/empire/plate_armour/conf (+1/-1)
tribes/empire/scout/conf (+1/-1)
tribes/empire/scripting/sc01_castle_village.lua (+2/-2)
tribes/empire/scythe/conf (+1/-1)
tribes/empire/sentry/conf (+6/-0)
tribes/empire/shovel/conf (+1/-1)
tribes/empire/stone/conf (+1/-1)
tribes/empire/stonemason/conf (+1/-1)
tribes/empire/toolsmithy/conf (+2/-2)
tribes/empire/tower/conf (+6/-0)
tribes/empire/trainingscamp/conf (+8/-8)
tribes/empire/trunk/conf (+1/-1)
tribes/empire/war_lance/conf (+1/-1)
tribes/empire/water/conf (+1/-1)
tribes/empire/wheat/conf (+1/-1)
tribes/empire/wine/conf (+1/-1)
tribes/empire/wood/conf (+1/-1)
tribes/empire/wood_lance/conf (+1/-1)
txts/README.lua (+18/-18)
txts/editor_readme (+5/-5)
txts/license (+3/-3)
txts/tips/atlanteans.tip (+1/-1)
txts/tips/barbarians.tip (+1/-1)
txts/tips/editor.tip (+5/-5)
txts/tips/empire.tip (+1/-1)
txts/tips/general_game.tip (+9/-9)
txts/tips/multiplayer.tip (+3/-3)
utils/buildcat.py (+14/-11)
utils/lua_xgettext.py (+291/-52)
utils/test/test_lua-xgettext.py (+67/-11)
worlds/blackland/conf (+24/-24)
worlds/blackland/terrainconf (+12/-12)
worlds/desert/conf (+29/-29)
worlds/desert/terrainconf (+11/-11)
worlds/greenland/conf (+26/-26)
worlds/greenland/terrainconf (+10/-10)
worlds/winterland/conf (+24/-24)
worlds/winterland/terrainconf (+9/-9)
To merge this branch: bzr merge lp:~widelands-dev/widelands/i18n
Reviewer Review Type Date Requested Status
SirVer Approve
Review via email: mp+209212@code.launchpad.net

Description of the change

A whole bunch of changes for i18n:

- Translators get control over ordering of placeholders
- Proper plural forms
- Other string design improvements

Because I can't compile at the moment, check my commit comments for things that still need to be tested before the merge:

http://bazaar.launchpad.net/~widelands-dev/widelands/i18n/revision/6878

To post a comment you must log in.
Revision history for this message
GunChleoc (gunchleoc) wrote :

After I could compile and test, this is the stuff that still needs looking into:

===============================

/test/maps/expedition.wmf/scripting/init.lua
- upper or lowercase needed here?
  wait_for_message("Expedition Ready")
  wait_for_message("Port Space Found")

===============================

/utils/test/test_lua-xgettext.py

- 2 differences, please check:

def run_test(self):
self.p.parse(self.code, self.filename)

+ print self.p.findings - do we need this line? It's in gci18nfixes, but missing from i18n

and at EOF:

- # k = SomeTestClass()
- # unittest.TextTestRunner().run(k)
+ k = SomeTestClass()
+ unittest.TextTestRunner().run(k)

===============================

Help messages in nethost.cc

Revision history for this message
SirVer (sirver) wrote :

> - upper or lowercase needed here?

The strings have been changed to be titelized and unfortunately we depend on them being the same. So uppercase should be correct.

> /utils/test/test_lua-xgettext.py

the print line and the comments (or non comments) are fine either way.

> Help messages in nethost.cc

lgtm.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'campaigns/atl01.wmf/elemental'
2--- campaigns/atl01.wmf/elemental 2010-11-18 10:39:43 +0000
3+++ campaigns/atl01.wmf/elemental 2014-03-05 18:47:45 +0000
4@@ -6,7 +6,7 @@
5 map_h="160"
6 nr_players="1"
7 world="greenland"
8-name=_"01 - From Nemesis to Genesis"
9+name=_"01 – From Nemesis to Genesis"
10 author="SirVer,Nasenbaer"
11 descr=_ "After landing on a mysterious island close to Atlantis, the remaining Atlanteans struggle to make a new home for themselves."
12 background="campaigns/atl01.wmf/pics/everythinglost.jpg"
13
14=== modified file 'campaigns/atl01.wmf/scripting/texts.lua'
15--- campaigns/atl01.wmf/scripting/texts.lua 2012-12-16 19:08:16 +0000
16+++ campaigns/atl01.wmf/scripting/texts.lua 2014-03-05 18:47:45 +0000
17@@ -3,6 +3,7 @@
18 -- =======================================================================
19
20 use("aux", "formatting")
21+use("aux", "format_scenario")
22
23 function jundlina(title, text)
24 return speech("map:princess.png", "2F9131", title, text)
25@@ -23,126 +24,126 @@
26 return speech("map:ostur.png", "375FFC", "Ostur", text)
27 end
28
29--- Append an objective text to a dialog box in a nice fashion.
30-function new_objectives(...)
31- local s = rt(
32- "<p font=DejaVuSerif font-size=18 font-weight=bold font-color=D1D1D1>"
33- .. _"New Objectives" .. "</p>")
34-
35- for idx,obj in ipairs{...} do
36- s = s .. obj.body
37- end
38- return s
39-end
40-
41 -- =======================================================================
42 -- Objectives
43 -- =======================================================================
44 obj_ensure_build_wares_production = {
45 name = "obj_ensure_build_wares_production",
46- title = _ "Ensure the supply of build wares",
47- body = objective_text(_"The supply of build wares", _
48-[[Build a quarry, two woodcutter's houses, two forester's houses and a
49-sawmill.]]
50+ title = _ "Ensure the supply of building wares",
51+ number = 6,
52+ body = objective_text(_"Supply Building Wares", _
53+[[Supply basic building material for your economy:]] .. "<br>" ..
54+[[• ]] .. _[[Build a quarry]] .. "<br>" ..
55+[[• ]] .. _[[Build two woodcutter’s houses]] .. "<br>" ..
56+[[• ]] .. _[[Build two forester’s houses]] .. "<br>" ..
57+[[• ]] .. _[[Build a sawmill]]
58 ),
59 }
60
61 obj_expand = {
62 name = "obj_expand",
63- title = _ "Expand your territory and explore the island",
64- body = objective_text(_"Expand and Explore", _
65-[[The island is huge and as long as we are not sure that we are alone
66-here, we cannot relax. Explore and conquer it, this is the
67-only way to protect us from threats on the island and from Atlantis.]]
68+ title = _ "Expand your territory and explore",
69+ number = 1,
70+ body = objective_text(_"Expand and Explore", _(
71+[[The island is huge and as long as we are not sure that we are alone here, we cannot relax. ]] ..
72+[[Explore and conquer it, this is the only way to protect us from threats on the island and from Atlantis.]]) .. [[<br>]] ..
73+[[• ]] .. _[[Build military sites to expand your territory]]
74 ),
75 }
76
77 obj_make_food_infrastructure = {
78 name = "obj_make_food_infrastructure",
79 title = _ "Establish a solid food production",
80- body = objective_text(_"Establish a food production", _
81-[[Food is very important for mines and military training areas. Establish
82-a well working food environment by building at least one farm, one blackroot
83-farm and a mill. The two kinds of flour together with water from a well
84-will be baked into bread in a bakery, so build a bakery and a well, too.<br><br>
85-The other two important food wares are smoked fish and smoked meat. Raw meat
86-is delivered from a hunter. A fisher gets the fish out of the sea while a
87-fish breeder makes sure that a school of fish does not go extinct by breeding
88-more. Make sure that there are always fish left, otherwise the fish breeder
89-won't be able to breed new ones. The smoking happens in a smokery, you
90-will need at least two of those.<br><br>
91-- Build a Farm and a Blackroot farm<br>
92-- Build a mill to make flour and blackroot flour<br>
93-- Build a well<br>
94-- Build a bakery to bake bread from flour, blackroot flour and water.<br>
95-- Build a hunter's house to get raw meat<br>
96-- Build a fisher's house close to water to get raw fish<br>
97-- Build a fishbreeder's house close to the fisher to make sure the fish do not die out<br>
98-- Build two smokeries to smoke raw meat and fish.]]
99+ number = 10,
100+ body = objective_text(_"Food Production", _(
101+[[Food is very important for mines and military training areas. ]] ..
102+[[Establish a well working food environment by building at least one farm, one blackroot farm and a mill. ]] ..
103+[[The two kinds of flour together with water from a well will be baked into bread in a bakery, ]] ..
104+[[so build a bakery and a well, too.]]) .. [[<br><br>]] ..
105+_([[The other two important food wares are smoked fish and smoked meat. ]] ..
106+[[Raw meat is delivered from a hunter. ]] ..
107+[[A fisher gets the fish out of the sea while a fish breeder makes sure that a school of fish does not go extinct ]] ..
108+[[by breeding more. Make sure that there are always fish left, ]] ..
109+[[otherwise the fish breeder won’t be able to breed new ones. ]] ..
110+[[The smoking happens in a smokery, you will need at least two of those.]]) .. [[<br>]] ..
111+[[• ]] .. _[[Build a farm and a blackroot farm]] .. "<br>" ..
112+[[• ]] .. _[[Build a mill to make flour and blackroot flour]] .. "<br>" ..
113+[[• ]] .. _[[Build a well]] .. "<br>" ..
114+[[• ]] .. _[[Build a bakery to bake bread from flour, blackroot flour and water]] .. "<br>" ..
115+[[• ]] .. _[[Build a hunter’s house to get raw meat]] .. "<br>" ..
116+[[• ]] .. _[[Build a fisher’s house close to water to get raw fish]] .. "<br>" ..
117+[[• ]] .. _[[Build a fish breeder’s house close to the fisher to make sure the fish do not die out]] .. "<br>" ..
118+[[• ]] .. _[[Build two smokeries to smoke raw meat and fish]]
119 )
120 }
121
122 obj_spidercloth_production = {
123 name = "obj_spidercloth_production",
124- title = _ "Build a spiderfarm and a weaving mill",
125- body = objective_text(_"Establish a spidercloth production", _
126-[[The weavers produce spidercloth and tabards in the weaving-mill. Spidercloth
127-is needed for the construction of some buildings and clothing while tabards
128-are the uniforms of soldiers. The weaving-mill needs gold yarn and spider yarn
129-as inputs. Spider yarn is produced by the spiderfarm while gold yarn is
130-produced by the gold weaver out of gold.<br><br>
131-- Build a Weaving-Mill<br>
132-- Build a Spiderfarm<br>
133-- Build a Goldweaver<br>]]
134+ title = _ "Build a spider farm and a weaving mill",
135+ number = 3,
136+ body = objective_text(_"Spidercloth Production", _(
137+[[The weavers produce spidercloth and tabards in the weaving-mill. ]] ..
138+[[Spidercloth is needed for the construction of some buildings and clothing, ]] ..
139+[[while tabards are the uniforms of soldiers. ]] ..
140+[[The weaving-mill needs gold yarn and spideryarn as raw material. ]] ..
141+[[Spideryarn is produced by the spider farm, while gold yarn is produced by the gold weaver out of gold.]]) .. "<br>" ..
142+[[• ]] .. _[[Build a weaving-mill]] .. "<br>" ..
143+[[• ]] .. _[[Build a spider farm]] .. "<br>" ..
144+[[• ]] .. _[[Build a goldweaver]]
145 )
146 }
147
148 obj_make_heavy_industry_and_mining = {
149 name = "obj_make_heavy_industry_and_mining",
150 title = _ "Build industry and mines",
151- body = objective_text(_"Build industry and mines", _
152-[[Iron ore, gold ore and coal are mined in the respective mines. The crystal mine
153-is digging for crystal, quartz and diamond - all of them are rare materials and
154-very seldom found. While it searches for them, it produces a lot of stone.<br>
155-The ores have to be smelted in smelting works before they can be used. The
156-refined materials are then used in the weapon smithy, the armor smithy and the
157-tool smithy.<br><br>
158-- Build a mine of each kind. Make sure to send geologists to the mountain first.<br>
159-- Build a smelting works.<br>
160-- Build an armor smithy and a weapon smithy.<br>
161-- Build a tool smithy.<br>]]
162+ number = 5,
163+ body = objective_text(_"Industry and Mines", _(
164+[[Iron ore, gold ore and coal are mined in the respective mines. ]] ..
165+[[The crystal mine will dig for crystal, quartz and diamond – all of them are precious materials and ]] ..
166+[[very rarely found. It will produce a lot of stone while searching for them.]]) .. "<br>" ..
167+_([[The ores have to be smelted at a smelting works before they can be used. ]] ..
168+[[The refined materials are then used in the weapon smithy, the armor smithy and the toolsmithy.]]) .. "<br>" ..
169+[[• ]] .. _[[Build a mine of each type. Make sure to send geologists to the mountain first.]] .. "<br>" ..
170+[[• ]] .. _[[Build a smelting works]] .. "<br>" ..
171+[[• ]] .. _[[Build an armor smithy and a weapon smithy]] .. "<br>" ..
172+[[• ]] .. _[[Build a toolsmithy]]
173 )
174 }
175
176 obj_make_training_buildings = {
177 name = "obj_make_training_buildings",
178- title = _"Build training buildings",
179- body = objective_text(_"Build training buildings to improve your soldiers", _
180-[[As all other tribes, the Atlanteans are also able to train soldiers: the
181-dungeon trains attack - the major attribute of the Atlanteans - and the
182-labyrinth trains evasion, health points and defense. The items produced by the
183-industry are used to train better soldiers in the two training buildings.<br><br>
184-- Build a dungeon and a labyrinth.<br>]])
185+ title = _"Build training buildings for soldiers",
186+ number = 2,
187+ body = objective_text(_"Soldier Training Buildings", _(
188+[[Like all other tribes, the Atlanteans are also able to train soldiers: ]] ..
189+[[the dungeon trains attack – the major attribute of the Atlanteans – and the labyrinth trains ]] ..
190+[[evasion, health and defense. The items produced by the industry are used to train better soldiers ]] ..
191+[[in the two training buildings.]]) .. "<br>" ..
192+[[• ]] .. _[[Build a dungeon and a labyrinth]]
193+ )
194 }
195
196 obj_horsefarm_and_warehouse = {
197 name = "obj_horsefarm_and_warehouse",
198 title = _"Build a warehouse and a horsefarm",
199- body = objective_text(_"Build a warehouse and a horsefarm", _
200-[[As your road network gets longer and more complicated, you should employ
201-horses to help out your carriers. Horses are bred in horsefarms using water and
202-corn. A warehouse will also help to ensure your transportation system does not
203-collapse.]])
204+ number = 2,
205+ body = objective_text(_"Warehouse and Horsefarm", _(
206+[[As your road network gets longer and more complicated, you should employ horses ]] ..
207+[[to help out your carriers. Horses are bred at horse farms using water and corn. ]] ..
208+[[A warehouse will also help to ensure that your transportation system does not collapse.]]) .. "<br>" ..
209+[[• ]] .. _[[Build a warehouse]] .. "<br>" ..
210+[[• ]] .. _[[Build a horse farm]])
211 }
212
213 obj_build_ships = {
214 name = "obj_build_ships",
215 title = _ "Build 3 ships to escape from the island",
216- body = objective_text(_"Escape from the island", _
217-[[There is a lake at the top of the island. Build 3 ships in these waters
218-and you might be able to rescue your people when the island is swallowed
219-completely by the ocean. Build a shipyard close to the lake to start
220-building ships.]]
221+ number = 1,
222+ body = objective_text(_"Escape From the Island", _(
223+[[There is a lake at the top of the island. ]] ..
224+[[Build three ships in these waters and you might be able to rescue your people ]] ..
225+[[before the island is swallowed completely by the ocean.]]) .. "<br>" ..
226+[[• ]] .. _[[Build a shipyard close to the lake to start building ships]]
227 )
228 }
229
230@@ -153,175 +154,168 @@
231 -- This is an array or message descriptions
232 initial_messages = {
233 {
234- title = _ "Proudest to the death",
235+ title = _ "Proud to the Death",
236 body = rt(
237- h1(_"Favored by the god") ..
238- p(_
239-[[On the hidden and lost island of Atlantis, a proud tribe settled since the
240-world was very young. Ruled by the bloodline of King Ajanthul - the first human
241-to be empowered by the sea god Lutas to breathe above the sea level - and the
242-wise clerics, who provided the link to Lutas - they prospered and became
243-civilized.]]
244- ) .. p(_
245-[[This story happens during the regency of King Askandor, the 43rd successor of
246-King Ajanthul. He has been a good king, ruling Atlantis with wisdom and
247-foresight. But with age, he became afraid of dying and so he began looking for
248-a cure to death even though most clerics warned him. Some said, endless life
249-was only for the gods and to seek for it was forbidden.]]
250- )
251+ h1(_"Favored by the God") ..
252+ p(_(
253+[[On the hidden and lost island of Atlantis, a proud tribe settled since the ]] ..
254+[[world was very young. Ruled by the bloodline of King Ajanthul – the first human ]] ..
255+[[to be empowered by the sea god Lutas to breathe above sea level – and the ]] ..
256+[[wise clerics, who provided the link to Lutas – they prospered and became ]] ..
257+[[civilized.]]
258+ )) .. p(_(
259+[[This story is taking place during the reign of King Askandor, the 43rd successor of King Ajanthul. ]] ..
260+[[He had been a good king, ruling Atlantis with wisdom and foresight. ]] ..
261+[[But with age, he became afraid of dying and so he began looking for ]] ..
262+[[a cure for death even though most clerics warned him against it. ]] ..
263+[[Some said that endless life was only for the gods and that to seek for it was forbidden.]]
264+ ))
265 ),
266 },
267 {
268- title = _ "The god's disgrace",
269+ title = _ "Disgraced Before the God",
270 body = rt(
271- h1(_"The god's punishment") ..
272- p(_
273-[[But all seemed well. Only the horses seemed to feel something was wrong.
274-In the nights, they went crazy and were full of fear. It was not long before the
275-horsebreeder Xydra figured out what was wrong with them: The sea level in front
276-of their stable was rising in an ever accelerating speed.]]
277- ) .. p(_
278-[[The clerics went into their meditation and the reason for the rising water
279-was soon to be found: The god Lutas had lost faith in the Atlanteans because of
280-the boldness of their king. He decided to withdraw the rights that were granted
281-to King Ajanthul and his children. And so, he called them back below the sea
282-again.]]
283- )
284+ h1(_"The God’s Punishment") ..
285+ p(_(
286+[[But all seemed well. Only the horses seemed to feel something was wrong. ]] ..
287+[[During the nights, they went crazy and were full of fear. ]] ..
288+[[It was not long before the horse breeder Xydra figured out what was wrong with them: ]] ..
289+[[the sea level in front of their stable was rising with ever increasing speed.]]
290+ )) .. p(_(
291+[[The clerics retreated into meditation and the reason for the rising water was soon to be found: ]] ..
292+[[the god Lutas had lost faith in the Atlanteans because of the boldness of their king. ]] ..
293+[[He decided to withdraw the rights that were granted to King Ajanthul and his children. ]] ..
294+[[And so, he called them back below the sea again.]]
295+ ))
296 )
297 },
298 {
299- title = _ "Uproar and confusion",
300+ title = _ "Uproar and Confusion",
301 body = rt(
302- h1(_"Chaos emerges...") ..
303- p(_
304-[[Guilt-ridden, the king committed suicide. Without a monarch, the people
305-turned to the clerics, but those had no substantial help to offer. Most
306-accepted their fate while others tried to change the god's mind by offering
307-animals in his temple. But to no avail...]]
308- ) .. p(_
309-[[Jundlina, the late king's daughter and the highest priestess of the god
310-was the most determined cleric. As countless offerings didn't change the
311-situation, she convinced herself that to soothe the god, an offer of great
312-personal value was needed. So she offered him her most beloved:
313-her husband, father of her only child.]]
314- ) .. p(_
315-[[But not even this changed the mind of the god. The water kept on rising.
316-Nearly driven crazy by guilt, pain and anger, Jundlina became a heretic:
317-Secretly, she gathered people of the common folk who were not in line with the
318-decision of the clerics to accept the god's will. Together with them, she set
319-the temple on fire and stole a ship to flee from the god's influence of
320-Atlantis. This small group started praying to Satul, the fire god and the worst
321-enemy of Lutas.]]
322- ) .. p(_
323-[[Leaving the dying Atlantis and their past behind, they started a quest to
324-find a place sheltered by the fire and protected from the sea.]]
325- )
326+ h1(_"Emerging Chaos...") ..
327+ p(_(
328+[[Guilt-ridden, the king committed suicide. ]] ..
329+[[Without a monarch, the people turned to the clerics, but they had no substantial help to offer. ]] ..
330+[[Most accepted their fate while others tried to change the god’s mind by offering animals in his temple. ]] ..
331+[[But to no avail...]]
332+ )) .. p(_(
333+[[Jundlina, the late king’s daughter and the highest priestess of the god was the most determined cleric. ]] ..
334+[[As countless offerings didn’t change the situation, she convinced herself that to soothe the god, ]] ..
335+[[an offer of great personal value was needed. So she offered him her most beloved: ]] ..
336+[[her husband, the father of her only child.]]
337+ )) .. p(_(
338+[[But not even this changed the mind of the god. The water kept on rising. ]] ..
339+[[Nearly driven insane by guilt, pain and anger, Jundlina became a heretic: ]] ..
340+[[Secretly, she gathered people of the common folk who were not in line ]] ..
341+[[with the decision of the clerics to accept the god’s will. ]] ..
342+[[Together with them, she set the temple on fire and stole a ship to flee from the god’s influence over Atlantis. ]] ..
343+[[This small group started praying to Satul, the fire god and the worst enemy of Lutas.]]
344+ )) .. p(_(
345+[[Leaving the dying Atlantis and their past behind, they started on a quest to ]] ..
346+[[find a place sheltered by the fire and protected from the sea.]]
347+ ))
348 )
349 },
350 } -- end of initial messages.
351
352 first_briefing_messages = {
353 {
354- title = _ "The princess' memoir",
355- body = jundlina(_ "Jundlina writes down her memories", _
356-[[We left Atlantis and sailed east. We entered the forbidden sea on the sixth
357-day without noticing any pursuers from Atlantis and without Lutas having smashed
358-our ship. Now, we are out of his reach. One day later, we sighted an island
359-which seems to have one of these fire spitting mountains on it. I deemed this
360-a sign from the fire god and we landed on its shore.]]
361- .. "<br><br>" .. _
362-[[We spent the last week building two watchtowers on the mountains close to
363-our landing area; and, of course, a hall for us all. We have very talented
364-constructors in our group - still, the buildings do not match the art we
365-had on Atlantis. I hope they will withstand the next rain. At least, the towers
366-will warn us if a ship from Atlantis follows us and if the island is inhabited,
367-we will see attackers a long time before they arrive.]]
368- .. "<br><br>" .. _
369-[[We have established ourselves on this island. The next step is now to make it
370-a home. I reckon we need to establish a sustainable economy and explore our
371-surroundings. I called for specialists and will follow their advice.]]
372- )
373-},
374-{
375- title = _ "Loftomor and Sidolus arrive",
376- body = jundlina( _"Jundlina", _
377-[[May Satul warm you both. Loftomor, you have been the island's most renowned
378-architect. Sidolus, you are a seasoned warrior and strategist. I have called
379-you before me to seek your counsel: What needs to be done to make this our new
380-home?]]
381- )
382-},
383-{
384- title = _ "Loftomor speaks",
385- body = loftomor(_
386-[[May Satul warm you, Jundlina! The most important things for building a
387-settlement are the building materials. There are some trees here, so we should
388-build housings for some woodcutters and of course also for foresters, so
389-we do not run out of trees. Oh, and we mustn't forget the sawmill, for most
390-buildings can't be made out of trunks alone. Stronger buildings also need
391-stone, but there is plenty to the north-east of here; we just need to build a
392-quarry and my stonemasons will go to work promptly.]]
393- ) .. new_objectives(obj_ensure_build_wares_production)
394-},
395-{
396- title = _ "Sidolus speaks",
397+ title = _ "The Princess’ Memoir",
398+ body = jundlina(_ "Jundlina Writes Down Her Memories", _(
399+[[We left Atlantis and sailed east. ]] ..
400+[[We entered the forbidden sea on the sixth day without noticing any pursuers from Atlantis ]] ..
401+[[and without Lutas having smashed our ship. Now, we are out of his reach. ]] ..
402+[[One day later, we sighted an island which seems to have one of these fire spitting mountains on it. ]] ..
403+[[I deemed this a sign from the fire god and we landed on its shore.]])
404+ .. "<br><br>" .. _(
405+[[We spent the last week building two watchtowers on the mountains close to our landing area; ]] ..
406+[[and, of course, a hall for us all. We have very talented constructors in our group – still, ]] ..
407+[[the buildings do not match the art we had on Atlantis. I hope they will withstand the next rain. ]] ..
408+[[At least, the towers will warn us if a ship from Atlantis follows us and if the island is inhabited, ]] ..
409+[[we will see attackers a long time before they arrive.]])
410+ .. "<br><br>" .. _(
411+[[We have established ourselves on this island. The next step is now to make it a home. ]] ..
412+[[I reckon we need to establish a sustainable economy and to explore our surroundings. ]] ..
413+[[I called for specialists and will follow their advice.]])
414+ )
415+},
416+{
417+ title = _ "Loftomor and Sidolus Arrive",
418+ body = jundlina( _"Jundlina", _(
419+[[May Satul warm you both. Loftomor, you have been the island’s most renowned architect. ]] ..
420+[[Sidolus, you are a seasoned warrior and strategist. I have called you before me to seek your counsel: ]] ..
421+[[what needs to be done to make this our new home?]]
422+ ))
423+},
424+{
425+ title = _ "Loftomor Speaks",
426+ body = loftomor(_(
427+[[May Satul warm you, Jundlina! ]] ..
428+[[The most important things for building a settlement are the building materials. ]] ..
429+[[There are some trees here, so we should build housings for some woodcutters and of course also for foresters, ]] ..
430+[[so we will not run out of trees. Oh, and we mustn’t forget the sawmill, ]] ..
431+[[for most buildings can’t be made out of logs alone. Stronger buildings also need stone, ]] ..
432+[[but there is plenty to the north-east of here; ]] ..
433+[[we just need to build a quarry, and my stonemasons will go to work promptly.]]
434+ )) .. new_objectives(obj_ensure_build_wares_production)
435+},
436+{
437+ title = _ "Sidolus Speaks",
438 body = sidolus(_
439-[[May Satul warm you, Jundlina! I agree with what Loftomor proposes. We need
440-a good supply of building materials for we have to expand our territory swiftly.
441-I will not feel safe on this island as long as we have not seen all shores
442-on it. I brought plenty of good men from Atlantis. The military might is
443-available. We only need some housings to live in.]]
444+[[May Satul warm you, Jundlina! I agree with what Loftomor proposes. ]] ..
445+[[We need a good supply of building materials for we have to expand our territory swiftly. ]] ..
446+[[I will not feel safe on this island as long as we have not seen all its shores it. ]] ..
447+[[I brought plenty of good men from Atlantis. The military might is available. ]] ..
448+[[We only need some housing to live in.]]
449 ) .. new_objectives(obj_expand)
450 }
451 }
452
453 food_story_message = {
454 {
455- title = _ "Jundlina is satisfied",
456- body = jundlina(_"Jundlina's Memoirs", _
457-[[Our building infrastructure is done and I spent some days making sure that
458-they work well together. Now, there are other pressing matters. I called
459-Colionder, my personal cook, before me to get his help with sorting some things
460-out.]]
461- )
462-},
463-{
464- title = _ "Colionder arrives",
465- body = colionder(_
466-[[May Satul warm you, Jundlina. Can I be of any service to you or the
467-god?]]
468- )
469-},
470-{
471- title = _ "Jundlina replies",
472- body = jundlina(_"Jundlina", _
473-[[May Satul warm you too, Colionder. Yes, I wondered if there is not a way
474-that we can centralize our food production. We lose a lot of productivity
475-because our people are accustomed to making their own food. I feel if we
476-could split responsibilities, it would be better for us all. I want your
477-thoughts on this.]]
478- )
479-},
480-{
481- title = _ "Colionder is in thought",
482- body = colionder(_
483-[[Ahh, but I think this is impossible to change. The preparing and eating of
484-food is something deeply ingrained in us Atlanteans - it is just a ceremony
485-that we need for our well being. So I guess we cannot take this away from
486-the individuals completely. But we might find a compromise in between: For me,
487-making bread is a troublesome task: grinding the blackroot and corn to flour
488-and then baking the bread is tedious and boring: I feel a more industrial
489-approach would be helpful here. I for one would love to just have fresh bread
490-delivered to my house every day. Oooh and even more important: the smoking of
491-fish and meat to cleanse them and improve their taste is terrible. My house is
492-full of smoke and stinks for weeks after it. Don't you think that this could be
493-done in a special building were the side effects do not matter? I think those
494-two things would be accepted by the people and would reduce the cooking times
495-without taking away the ritual.]]
496- )
497-},
498-{
499- title = _ "Jundlina agrees",
500+ title = _ "Jundlina is Satisfied",
501+ body = jundlina(_"Jundlina’s Memoirs", _(
502+[[Our building infrastructure is finished and I spent some days making sure that everybody is working well together. ]] ..
503+[[Now, there are other pressing matters. ]] ..
504+[[I called Colionder, my personal cook, before me to get his help with sorting some things out.]]
505+ ))
506+},
507+{
508+ title = _ "Colionder Arrives",
509+ body = colionder(_
510+[[May Satul warm you, Jundlina. Can I be of any service to you or the god?]]
511+ )
512+},
513+{
514+ title = _ "Jundlina Replies",
515+ body = jundlina(_"Jundlina", _(
516+[[May Satul warm you too, Colionder. ]] ..
517+[[Yes, I wondered if there is a way that we could centralize our food production. ]] ..
518+[[We lose a lot of productivity because our people are accustomed to making their own food. ]] ..
519+[[I feel if we could split responsibilities, it would be better for us all. ]] ..
520+[[I want your thoughts on this.]]
521+ ))
522+},
523+{
524+ title = _ "Colionder is in Thought",
525+ body = colionder(p(_(
526+[[Ahh, but I think this is impossible to change. ]] ..
527+[[The preparing and eating of food is something deeply ingrained in us Atlanteans]] ..
528+[[ – it is a ceremony that we just need for our well-being. ]] ..
529+[[So I guess we cannot take this away from the individuals completely.]])) .. p(_(
530+[[But we might find a compromise in between: for me, making bread is a troublesome task. ]] ..
531+[[Grinding the blackroot and corn to flour and then baking the bread is tedious and boring; ]] ..
532+[[I feel a more industrial approach would be helpful here. ]] ..
533+[[I for one would love to just have fresh bread delivered to my house every day.]])) .. p(_(
534+[[Oooh and even more important: the smoking of fish and meat to cleanse them and improve their taste is terrible. ]] ..
535+[[My house is full of smoke and stinks for weeks afterwards. ]] ..
536+[[Don’t you think that this could be done in a special building were the side effects do not matter? ]] ..
537+[[I think those two things would be accepted by the people ]] ..
538+[[and would reduce the cooking time without taking away the ritual.]]
539+ )))
540+},
541+{
542+ title = _ "Jundlina Agrees",
543 body = jundlina(_
544 [[Your words sound wise to me, Colionder. So be it then.]]
545 ) .. new_objectives(obj_make_food_infrastructure)
546@@ -330,135 +324,129 @@
547
548 food_story_ended_messages = {
549 {
550- title = _ "Jundlina is satisfied",
551- body = jundlina(_ "Jundlina is reviewing the reports", _
552-[[Seems like our food production is finished and everybody is working together
553-nicely. It is really starting to feel like home here.]]
554- )
555+ title = _ "Jundlina is Satisfied",
556+ body = jundlina(_ "Jundlina is Reviewing the Reports", _(
557+[[Seems like our food production is finished and everybody is working together nicely. ]] ..
558+[[It is really starting to feel like home here.]]
559+ ))
560 }
561 }
562
563 spidercloth_messages = {
564 {
565- title = _"A man comes to Jundlina",
566- body = opol(_
567-[[May Satul warm you, Jundlina. My Name is Opol and I am the highest weaver of
568-the guild abandoning Atlantis and Lutas with you. I come with sad news indeed:
569-We have no more spidercloth. Not a single piece is to be found in our
570-warehouses. Could you not help the weaver guild by arranging the building of a
571-weaving-mill and a spiderfarm? The spiders deliver the finest silk and we will
572-produce the finest spidercloth from it. We offer to also produce the tabards
573-for young soldiers and the golden tabards for officers for you in exchange.
574-You will need them for sure as soon as you want to recruit new soldiers.]])
575+ title = _"A Man Comes to Jundlina",
576+ body = opol(p(_(
577+[[May Satul warm you, Jundlina. ]] ..
578+[[My Name is Opol, and I am the highest weaver of the guild abandoning Atlantis and Lutas with you. ]] ..
579+[[I come with sad news indeed: we have no more spidercloth. Not a single piece is to be found in our warehouses. ]] ..
580+[[Could you not help the weavers’ guild by arranging the building of a weaving-mill and a spider farm? ]] ..
581+[[The spiders deliver the finest silk and we will produce the finest spidercloth from it.]])) .. p(_(
582+[[We offer to also produce the tabards for young soldiers and the golden tabards for officers for you in exchange. ]] ..
583+[[You will need them for sure as soon as you want to recruit new soldiers.]])))
584 },
585 {
586- title = _ "Jundlina replies",
587- body = jundlina(_ "Jundlina replies", _
588-[[May Satul warm you too, Opol. I wanted to delay production of spider cloth,
589-but I understand your urgency. Your suggestion sounds fair to me, I will build
590-your weaving-mill and spiderfarm. I will also build a goldweaver so that the
591-golden tabards you make will not be golden by name alone.]]
592- ) .. new_objectives(obj_spidercloth_production)
593+ title = _ "Jundlina Replies",
594+ body = jundlina(_ "Jundlina Replies", _(
595+[[May Satul warm you too, Opol. I wanted to delay production of spidercloth, but I understand your urgency. ]] ..
596+[[Your suggestion sounds fair to me, I will build your weaving-mill and spider farm. ]] ..
597+[[I will also build a goldweaver so that the golden tabards you make will not be golden by name alone.]]
598+ )) .. new_objectives(obj_spidercloth_production)
599 }
600 }
601
602 spidercloth_story_ended_messages = {
603 {
604- title = _ "Opol seeks out Jundlina",
605- body = opol(_
606-[[May Satul warm you, Jundlina!. The weaving-mill, goldweaver and spiderfarm
607-buildings are complete and are starting their work at this very moment. The
608-weaving guild is very grateful for your support and we will stand by our word
609-and deliver the first tabard very soon.]]
610- )
611+ title = _ "Opol Seeks Out Jundlina",
612+ body = opol(_(
613+[[May Satul warm you, Jundlina! ]] ..
614+[[The weaving-mill, goldweaver and spider farm buildings are complete ]] ..
615+[[and are starting their work at this very moment. The weavers’ guild is very grateful for your support ]] ..
616+[[and we will stand by our word and deliver the first tabard very soon.]]
617+ ))
618 },
619 {
620- title = _ "Jundlina replies",
621- body = jundlina(_
622-[[This is good news indeed, Opol. Our economy is developing very well. Go back
623-to your work now, Opol, and may Satul warm you and all your guild members!]]
624- )
625+ title = _ "Jundlina Replies",
626+ body = jundlina(_(
627+[[This is good news indeed, Opol. Our economy is developing very well. ]] ..
628+[[Go back to your work now, Opol, and may Satul warm you and all your guild members!]]
629+ ))
630 }
631 }
632
633
634 heavy_industry_story = {
635 {
636- title = _ "Sidolus seeks out Jundlina",
637- body = sidolus(_
638-[[May Satul warm you, Jundlina. Have you considered mining for goods in the
639-mountains around us? We are running short of quartz, crystal and diamonds for
640-our buildings. Also we could use more iron, gold and especially coal. If we
641-find an ample supply of those commodities, we could start producing weapons
642-and tools; this would help enormously. Of course, we would need smelters,
643-a weapon smithy, an armor smithy and a tool smithy. And maybe even more.]]
644- )
645+ title = _ "Sidolus Seeks Out Jundlina",
646+ body = sidolus(_(
647+[[May Satul warm you, Jundlina. Have you considered mining for resources in the mountains around us? ]] ..
648+[[We are running short of quartz, crystal and diamonds for our buildings. ]] ..
649+[[Also we could use more iron, gold and especially coal. If we find an ample supply of those commodities, ]] ..
650+[[we could start producing weapons and tools; this would help enormously. ]] ..
651+[[Of course, we would need smelters, a weapon smithy, an armor smithy and a toolsmithy. And maybe even more.]]
652+ ))
653 },
654 {
655- title = _ "Jundlina replies",
656- body = jundlina(_"Jundlina nods", _
657-[[I have considered this, Sidolus. I think, it is about time. We will make this
658-a priority for now. You shall get your industry and soon!]]
659- ) .. new_objectives(obj_make_heavy_industry_and_mining)
660+ title = _ "Jundlina Replies",
661+ body = jundlina(_"Jundlina Nods", _(
662+[[I have considered this, Sidolus. I think, it is about time. We will make this a priority for now. ]] ..
663+[[You shall get your industry and soon!]]
664+ )) .. new_objectives(obj_make_heavy_industry_and_mining)
665 },
666 }
667
668 training_story = {
669 {
670- title = _ "Jundlina summons Sidolus",
671- body = jundlina(_ "Jundlina is angry", _
672-[[What is this I hear, Sidolus? I received words about your soldiers
673-misbehaving and bullying the common folk. What is this nonsense all about? They
674-are servants for the common good and must not misuse their powers. This is
675-inexcusable! Explain this, if you will!]]
676- )
677- },
678- {
679- title = _ "Sidolus seems contrite",
680- body = sidolus(_
681-[[I agree with you and I have punished the trouble makers severely. But it is
682-very difficult to keep my men quiet: they are bored and have nothing to do. I
683-would like to ramp up their drill. I think more routine in their life would
684-keep them occupied and focused on their duties. I would need a dungeon and a
685-labyrinth for them. I have the plans ready, but I guess they won't come
686-cheap.]]
687- )
688- },
689- {
690- title = _"Jundlina replies",
691- body = jundlina(_
692-[[I do not fear the cost and labor as long as it keeps your people at bay. You
693-shall get your buildings. But note that I will not tolerate any rogue soldier;
694-if similar things happen again, I will make you responsible for them.
695-Dismissed.]]
696- ) .. new_objectives(obj_make_training_buildings)
697+ title = _ "Jundlina Summons Sidolus",
698+ body = jundlina(_ "Jundlina is Angry", _(
699+[[What is this I hear, Sidolus? I received words about your soldiers misbehaving and bullying the common folk. ]] ..
700+[[What is this nonsense all about? They are servants for the common good and must not misuse their powers. ]] ..
701+[[This is inexcusable! Explain this, if you will!]]
702+ ))
703+ },
704+ {
705+ title = _ "Sidolus Seems Contrite",
706+ body = sidolus(_(
707+[[I agree with you and I have punished the troublemakers severely. ]] ..
708+[[But it is very difficult to keep my men quiet: they are bored and have nothing to do. ]] ..
709+[[I would like to ramp up their drill. ]] ..
710+[[I think more routine in their life would keep them occupied and focused on their duties. ]] ..
711+[[I would need a dungeon and a labyrinth for them. ]] ..
712+[[I have the plans ready, but I guess they won’t come cheap.]]
713+ ))
714+ },
715+ {
716+ title = _"Jundlina Replies",
717+ body = jundlina(_(
718+[[I do not fear the cost and labor as long as it keeps your people at bay. You shall get your buildings. ]] ..
719+[[But note that I will not tolerate any rogue soldier; if similar things happen again, ]] ..
720+[[I will make you responsible for them. Dismissed.]]
721+ )) .. new_objectives(obj_make_training_buildings)
722 }
723 }
724
725 training_story_end = {
726 {
727- title = _ "Jundlina received a letter",
728- body = jundlina(_"Jundlina", _
729-[[I received an invitation from Sidolus. The first day of training in the newly
730-finished labyrinth will be tomorrow. The dungeon is done as well and will start
731-its work soon. I am looking forward to tomorrow; I am very interested in how our
732-soldiers are trained and I wonder if the additional workload will keep them from
733-bullying the civil population.]]
734- )
735+ title = _ "Jundlina Received a Letter",
736+ body = jundlina(_"Jundlina", _(
737+[[I received an invitation from Sidolus. The first day of training in the newly finished labyrinth will be tomorrow. ]] ..
738+[[The dungeon is done as well and will start its work soon. I am looking forward to tomorrow; ]] ..
739+[[I am very interested in how our soldiers are trained, and I wonder if the additional workload ]] ..
740+[[will keep them from bullying the civil population.]]
741+ ))
742 }
743 }
744
745 horsefarm_and_warehouse_story = {
746 {
747- title = _ "Jundlina considers the economy",
748- body = jundlina(_"Jundlina", _
749-[[People are complaining about crowded streets and slow transportation. We
750-need to help out our carriers on the roads. I decided to build a horsefarm
751-so that the horses can help with the heavy wares.<br>
752-Another way to take load from our roads is to build warehouses. We have claimed
753-the mountain now, it seems a good idea to have a warehouse on the plateau to
754-avoid having to transport everything up and down the slopes.]]
755- ) .. new_objectives(obj_horsefarm_and_warehouse)
756+ title = _ "Jundlina Considers the Economy",
757+ body = jundlina(_"Jundlina", p(_(
758+[[People are complaining about crowded streets and slow transportation. ]] ..
759+[[We need to help out our carriers on the roads. ]] ..
760+[[I have decided to build a horse farm so that the horses can help with the heavy wares.]])) .. p(_(
761+[[Another way to take load from our roads is to build warehouses. ]] ..
762+[[We have claimed the mountain now, it seems a good idea to have a warehouse on the plateau ]] ..
763+[[to avoid having to transport everything up and down the slopes.]]
764+ ))) .. new_objectives(obj_horsefarm_and_warehouse)
765 }
766 }
767
768@@ -469,21 +457,19 @@
769 {
770 posx = 100000,
771 posy = 0,
772- title = _ "A dangerous finding",
773- body = jundlina(_ "Jundlina is in thought", _
774-[[We found an old building, destroyed and burned by flames. I am very worried
775-about this finding. The building is not of any kind I've ever seen. It is
776-certainly not designed by any Atlantean architect I've ever heard about. The
777-building is crude, the assemblage is sloppy. But the materials are very
778-enduring: the wood used for it seemed to have been burned in a strange way
779-before it was used as building material - it is hard as stone.<br><br>
780-The implications frighten me. Are there others on this island? Where are they
781-then? They work with fire, are they praying to Satul too? Are they friends or
782-foe? And why is the building burned down? Has this island seen war? Is a
783-war being waged on it right now?<br><br>
784-We must improve our military capabilities. If there are foes on the island, we
785-have to be prepared when we meet them. We should also enforce the fortification
786-of our borders.]]
787+ title = _ "A Dangerous Discovery",
788+ body = jundlina(_ "Jundlina is in Thought", p(_(
789+[[We found an old building, destroyed and burned by flames. I am very worried about this discovery. ]] ..
790+[[The building is not of any kind I’ve ever seen. ]] ..
791+[[It is certainly not designed by any Atlantean architect I’ve ever heard about. ]] ..
792+[[The building is crude, the assemblage is sloppy. But the materials are very enduring: ]] ..
793+[[the wood used for it seemed to have been burned in a strange way before it was used as building material]] ..
794+[[ – it is hard as stone.]])) .. p(_(
795+[[The implications frighten me. Are there others on this island? Where are they then? ]] ..
796+[[They work with fire, are they praying to Satul too? Are they friends or foe? ]] ..
797+[[And why is the building burned down? Has this island seen war? Is a war being waged on it right now?]])) .. p(_(
798+[[We must improve our military capabilities. If there are foes on the island, we have to be prepared when we meet them. ]] ..
799+[[We should also enforce the fortification of our borders.]]))
800 )
801 }
802 }
803@@ -492,14 +478,13 @@
804 {
805 posx = 100000,
806 posy = 0,
807- title = _ "Another building.",
808- body = jundlina(_ "Jundlina is worried", _
809-[[We found one more building of this strange making. We have yet to see any of
810-its builders. But obviously there has been a community on this island before
811-and obviously it has been militarized. I have to check on our military status
812-with my generals. I will not allow that a potential enemy will find us
813-unprepared.]]
814- )
815+ title = _ "Another Building",
816+ body = jundlina(_ "Jundlina is Worried", _(
817+[[We found one more building of this strange making. We have yet to see any of its builders. ]] ..
818+[[But obviously there has been a community on this island before and obviously it was militarized. ]] ..
819+[[I have to check on our military status with my generals. ]] ..
820+[[I will not allow that a potential enemy will find us unprepared.]]
821+ ))
822 }
823 }
824
825@@ -507,15 +492,15 @@
826 {
827 posx = 100000,
828 posy = 0,
829- title = _ "One more building",
830- body = jundlina(_
831-[[And yet another of these buildings. We know now that the tribe that built
832-them once had complete control over the island. But I am no longer so scared of
833-potential enemies. We know so much of this island already and there is no trace
834-of this old economy to be found. I am starting to relax, but I will not let
835-our guard down as we continue to explore this beautiful island. But without
836-obvious dangers I am feeling very much at home here already.]]
837- )
838+ title = _ "One More Building",
839+ body = jundlina(_(
840+[[And yet another of these buildings. ]] ..
841+[[We know now that the tribe that built them once had complete control over the island. ]] ..
842+[[But I am no longer so scared of potential enemies. ]] ..
843+[[We know so much of this island already and there is no trace of this old economy to be found. ]] ..
844+[[I am starting to relax, but I will not let our guard down as we continue to explore this beautiful island. ]] ..
845+[[But without obvious dangers, I am feeling very much at home here already.]]
846+ ))
847 }
848 }
849
850@@ -526,74 +511,69 @@
851 {
852 posx = 100000,
853 posy = 0,
854- title = _ "The water is rising!",
855- body = jundlina(_"Jundlina", _
856-[[May Satul save us! Lutas is still trying to get to us. A scout informed me
857-that the ocean is rising quickly. We have to reach higher ground and evacuate
858-everybody and as much wares from the headquarters up the mountains. How can we
859-escape?]]
860- )
861-},
862-{
863- title = _ "A young man approaches",
864- body = ostur(_
865-[[May Satul warm you, Jundlina. My name is Ostur and I construct ships. I have
866-invented a new kind of ship: smaller than those we are used to, but much
867-sturdier. If we build them correctly, I am confident that we can go with them
868-a much longer distance and maybe escape from Lutas' influence.]]
869- )
870-},
871-{
872- title = _ "Jundlina replies",
873- body = jundlina(_ "Jundlina", _
874-[[Ostur, we have no time. The water rises too fast and if we build the ships on
875-shore they will vanish in the sea before they can float. I fear we are doomed!]]
876- ),
877+ title = _ "The Water is Rising!",
878+ body = jundlina(_"Jundlina", _(
879+[[May Satul save us! Lutas is still trying to get to us. A scout informed me that the ocean is rising quickly. ]] ..
880+[[We have to reach higher ground and evacuate everybody and as much wares as we can ]] ..
881+[[from the headquarters up the mountains. How can we escape?]]
882+ ))
883+},
884+{
885+ title = _ "A Young Man Approaches",
886+ body = ostur(_(
887+[[May Satul warm you, Jundlina. My name is Ostur and I construct ships. ]] ..
888+[[I have invented a new kind of ship: smaller than those we are used to, but much sturdier. ]] ..
889+[[If we build them correctly, I am confident that we can sail a much longer distance with them ]] ..
890+[[and maybe escape from Lutas’ influence.]]
891+ ))
892+},
893+{
894+ title = _ "Jundlina Replies",
895+ body = jundlina(_ "Jundlina", _(
896+[[Ostur, we have no time. The water rises too fast, and if we build the ships on the shore ]] ..
897+[[they will vanish in the sea before they can float. I fear we are doomed!]]
898+ )),
899 },
900 {
901 posx = 100000,
902 posy = 0,
903- title = _"Ostur seems confident",
904+ title = _"Ostur Seems Confident",
905 pre_func = function()
906 local lake_field = map:get_field(75,80)
907 p1:reveal_fields(lake_field:region(10))
908 scroll_smoothly_to(lake_field)
909 sleep(200)
910 end,
911- body = ostur(_
912-[[A friend of mine explored the island on his own and he told me of a big lake
913-at the top of the mountain. I suggest we build the ships in this lake and wait
914-until the island drowns beneath us. Then we can sail away. It is a bold plan,
915-but I think, it could work.]]
916- )
917+ body = ostur(_(
918+[[A friend of mine explored the island on his own and he told me of a big lake at the top of the mountain. ]] ..
919+[[I suggest we build the ships in this lake and wait until the island drowns beneath us. Then we can sail away. ]] ..
920+[[It is a bold plan, but I think it could work.]]
921+ ))
922 },
923 {
924- title = _ "Jundlina replies",
925- body = jundlina(_
926-[[Your red hair is a signal from the fire god. I will trust you and support your
927-plan. Our survival lays in your hands now, Ostur.
928-<br><br>Swift now, we need a house for Ostur next to the lake and we need
929-planks, trunks and spidercloth for the construction there. Forget about
930-everything else, we need those wares on top of the mountain before our
931-warehouses are all swallowed by the sea.]]
932- ) .. new_objectives(obj_build_ships)
933+ title = _ "Jundlina Replies",
934+ body = jundlina(p(_(
935+[[Your red hair is a signal from the fire god. I will trust you and support your plan. ]] ..
936+[[Our survival lies in your hands now, Ostur.]])) .. p(_(
937+[[Swift now, we need a house for Ostur next to the lake, and we need planks, logs and spidercloth ]] ..
938+[[for the construction there. Forget about everything else, ]] ..
939+[[we need those wares on top of the mountain before our warehouses are all swallowed by the sea.]]
940+ ))) .. new_objectives(obj_build_ships)
941 }
942 }
943
944 scenario_won = {
945 {
946- title = _ "Jundlina is relieved",
947- body = jundlina(_"Jundlina", _
948-[[Praise Satul! Ostur, the young ship builder did it. We have three ships -
949-never have I seen sturdier ones - with enough room to carry all of us and some
950-wares too. And this rescue came just in time: Lutas is about to swallow the rest
951-of this island, the water rises faster by the hour. But we can make our escape
952-now and start over in some country farther away... I expect a long journey, but
953-we will find the land of Satul in the end. This is what I promised my people.
954-And myself.]]
955- ) .. rt(h1(_ "Congratulations") .. p(_
956-[[You have won this mission. Continue with the next one or keep playing for
957-as long as you like.]]
958+ title = _ "Jundlina is Relieved",
959+ body = jundlina(_"Jundlina", _(
960+[[Praise Satul! Ostur, the young ship builder did it. ]] ..
961+[[We have three ships – never have I seen sturdier ones – with enough room to carry all of us and some wares too. ]] ..
962+[[And this rescue came just in time: Lutas is about to swallow the rest of this island, ]] ..
963+[[the water rises faster by the hour. But we can make our escape now and start over in some country farther away... ]] ..
964+[[I expect a long journey, but we will find the land of Satul in the end. ]] ..
965+[[This is what I promised my people. And myself.]]
966+ )) .. rt("<p font-size=10> <br></p>" .. h1(_ "Congratulations") .. p(_
967+[[You have won this mission. Continue with the next one or keep playing for as long as you like.]]
968 )),
969 },
970 }
971
972=== modified file 'campaigns/cconfig'
973--- campaigns/cconfig 2011-10-03 11:44:28 +0000
974+++ campaigns/cconfig 2014-03-05 18:47:45 +0000
975@@ -24,25 +24,25 @@
976 [global]
977 version = 6
978 # Barbarians Introduction
979-campname0=_"Barbarians - The second Empire"
980+campname0=_"Barbarians – The Second Empire"
981 campsect0=barbariantut
982 campdiff0=1
983 campdiffdescr0=_"Easy. Introduces the Barbarians"
984-campdesc0=_"When Chat’Karuth died, he was an old man, father to three strong and ambitious sons and warlord to an army that could match any enemy willing to rise against the ancient forests. Though at the end of his glorious reign, Chat’Karuth left his eldest son, Thron, to succeed him as the tribe's warlord – a decision that left his two brothers unsatisfied. The old warlord knew that. As his father instructed him, Thron left the capital of Al’thunran, the home of the Throne Among the Trees and withdrew his forces to the high hills where he buried the corpse of his father. There he swore to the gods and his father's spirit that he’d return to re-established order. While his brothers raged in blind war against Thron and the few forces he left to secure the borders of Al’thunran, the young warlord seeks to reunite his ambitious brothers and force the tribes to march once again under a common banner."
985+campdesc0=_"When Chat’Karuth died, he was an old man, father to three strong and ambitious sons, and warlord to an army that could match any enemy willing to rise against the ancient forests. Though at the end of his glorious reign, Chat’Karuth chose his eldest son, Thron, to succeed him as the tribe’s warlord – a decision that left his two brothers unsatisfied. The old warlord knew that. As his father instructed him, Thron left the capital of Al’thunran, the home of the Throne Among the Trees, and withdrew his forces to the high hills where he buried the corpse of his father. There he swore to the gods and his father’s spirit that he’d return to re-established order. While his brothers have raged blind war against Thron and the few forces he left to secure the borders of Al’thunran, the young warlord seeks to reunite his ambitious brothers and force the tribes to march once again under a common banner."
986 campvisi0=1
987 # Empire Introduction
988-campname1=_"Empire - The Months of Exile"
989+campname1=_"Empire – The Months of Exile"
990 campsect1=empiretut
991 campdiff1=1
992 campdiffdescr1=_"Easy. Introduces the Empire"
993-campdesc1=_"Six months ago, Lutius - a young general of the Empire - was sent with 150 soldiers to the frontier beyond the northern forests where Barbarian tribes were crossing onto land held by the Empire. His task was to defend the Empire's land. At first, everything was calm. He even talked to a few barbarian children and thought about a peaceful life - side by side with this archaic folk. He began to feel safer and his army began to drop their attention off the potential enemy. That was their undoing. One night in March his unprepared army was attacked by 100 barbarian footmen and was completely scattered. Only with his bare life he and a handful of his soldiers survived."
994+campdesc1=_"Six months ago, Lutius – a young general of the Empire – was sent with 150 soldiers to the frontier beyond the northern forests where Barbarian tribes were crossing onto land held by the Empire. His task was to defend the Empire’s land. At first, everything was calm. He even talked to a few barbarian children and thought about a peaceful life – side by side with this archaic folk. He began to feel safer and his army began to drop their attention off the potential enemy. That was their undoing. One night in March his unprepared army was attacked by 100 barbarian footmen and was completely scattered. Only with his bare life he and a handful of his soldiers survived."
995 campvisi1=0
996 # Atlantean Introduction
997-campname2=_"Atlanteans - The Run for the Fire"
998+campname2=_"Atlanteans – The Run for the Fire"
999 campsect2=atlanteans
1000 campdiff2=2
1001 campdiffdescr2=_"Challenging. Introduces the Atlanteans"
1002-campdesc2=_"When the God lost faith in the Atlanteans and drowned their island, one woman's struggle for justice and a second chance for her people would become the stuff of legends. Leading the remaining Atlanteans into a new future in a new part of the World, Jundlina became the most powerful human of her time, but at a high cost: her humanity and soul."
1003+campdesc2=_"When their God lost faith in the Atlanteans and drowned their island, one woman’s struggle for justice and a second chance for her people would become the stuff of legends. Leading the remaining Atlanteans into a new future in a new part of the World, Jundlina became the most powerful human of her time, but at a high cost: her humanity and soul."
1004 campvisi2=0
1005 cnewvisi2=empiretut01
1006
1007@@ -61,29 +61,29 @@
1008 #####
1009
1010 [barbariantut00]
1011-name=_"01 - Eyes in the Dark"
1012+name=_"01 – Eyes in the Dark"
1013 visible=1
1014 path="campaigns/t01.wmf"
1015
1016 [barbariantut01]
1017-name=_"02 - A Place to call Home"
1018+name=_"02 – A Place to Call Home"
1019 visible=0
1020 path="campaigns/t02.wmf"
1021
1022 [barbariantut02]
1023-name=_"03 - This Land is our Land"
1024+name=_"03 – This Land is Our Land"
1025 newvisi="campsect1"
1026 visible=0
1027 path="campaigns/t03.wmf"
1028
1029
1030 [empiretut00]
1031-name=_"01 - The Strands of Malac' Mor"
1032+name=_"01 – The Strands of Malac’ Mor"
1033 visible=1
1034 path="campaigns/emp01.wmf"
1035
1036 [empiretut01]
1037-name=_"02 - An Outpost for Exile"
1038+name=_"02 – An Outpost for Exile"
1039 visible=0
1040 path="campaigns/emp02.wmf"
1041
1042@@ -95,7 +95,7 @@
1043
1044
1045 [atlanteans00]
1046-name=_"01 - From Nemesis to Genesis"
1047+name=_"01 – From Nemesis to Genesis"
1048 visible=1
1049 path="campaigns/atl01.wmf"
1050
1051
1052=== modified file 'campaigns/emp01.wmf/elemental'
1053--- campaigns/emp01.wmf/elemental 2010-11-18 10:39:43 +0000
1054+++ campaigns/emp01.wmf/elemental 2014-03-05 18:47:45 +0000
1055@@ -4,7 +4,7 @@
1056 map_h=64
1057 nr_players=1
1058 world=desert
1059-name=_"01 - The Strands of Malac' Mor"
1060+name=_"01 – The Strands of Malac’ Mor"
1061 author=Nasenbaer
1062-descr=_"After losing an important battle against the barbarians which lead to the loss of a big part of the Empire's territory, Lutius leaves Fremil to start a new life. But his destiny takes his ship into a heavy storm, which nearly destroys it. Only with a lot of luck he manages to beach his damaged ship on an unknown desert strand and save his people. For now."
1063+descr=_"After losing an important battle against the barbarians which lead to the loss of a big part of the Empire’s territory, Lutius leaves Fremil to start a new life. But his destiny takes his ship into a heavy storm, which nearly destroys it. Only with a lot of luck he manages to beach his damaged ship on an unknown desert strand and save his people. For now."
1064 background="tribes/empire/pics/campmap-emp01.jpg"
1065
1066=== modified file 'campaigns/emp01.wmf/scripting/texts.lua'
1067--- campaigns/emp01.wmf/scripting/texts.lua 2012-12-16 19:08:16 +0000
1068+++ campaigns/emp01.wmf/scripting/texts.lua 2014-03-05 18:47:45 +0000
1069@@ -1,181 +1,232 @@
1070+-- =========================
1071+-- Some formating functions
1072+-- =========================
1073+
1074+use("aux", "formatting")
1075+use("aux", "format_scenario")
1076+
1077+function lutius(title, text)
1078+ return speech("map:Lutius.png", "2F9131", title, text)
1079+end
1080+function saledus(title, text)
1081+ return speech("map:Saledus.png", "8F9131", title, text)
1082+end
1083+function amalea(title, text)
1084+ return speech("map:Amalea.png", "AF7511", title, text)
1085+end
1086+
1087 -- =======================================================================
1088 -- Texts - No logic here
1089 -- =======================================================================
1090
1091
1092+-- ===========
1093+-- objectives
1094+-- ===========
1095+obj_build_barracks = {
1096+ name = "build_barracks",
1097+ title=_"Build a barracks",
1098+ number = 1,
1099+ body = objective_text(_"Barracks",
1100+[[• ]] .. _[[Build a barracks at the red house symbol on the east side of the forests, to the right of your provisional headquarters.]]),
1101+}
1102+
1103+obj_build_lumberjack = {
1104+ name = "build_lumberjack",
1105+ title=_"Build a lumberjack’s house",
1106+ number = 1,
1107+ body = objective_text(_"Lumberjack’s House",
1108+[[• ]] .. _[[Build a lumberjack’s house at the red house symbol, south of your provisional headquarters.]] .. "<br><br>" ..
1109+[[→ ]] .. _([[Cutting down enough trees for more buildings will take a while. ]] ..
1110+[[You can speed the game up by using PAGE UP and slow it down again with PAGE DOWN.]])),
1111+}
1112+
1113+obj_build_sawmill_and_lumberjacks = {
1114+ name = "build_sawmill_and_lumberjacks",
1115+ title=_"Build 2 lumberjack’s houses and a sawmill",
1116+ number = 3,
1117+ body = objective_text(_"Two Lumberjack’s Houses and a Sawmill",
1118+[[• ]] .. _[[Build two more lumberjack’s houses and a sawmill as soon as there is enough space for them.]]),
1119+}
1120+
1121+obj_build_forester = {
1122+ name = "build_forester",
1123+ title=_"Build a forester’s house",
1124+ number = 1,
1125+ body = objective_text(_"Forester’s House",
1126+[[• ]] .. _[[Build a forester’s house to preserve the wood resources of this island.]]),
1127+}
1128+
1129+obj_build_quarry = {
1130+ name = "build_quarry",
1131+ title=_"Build a quarry",
1132+ number = 5,
1133+ body = objective_text(_"Quarry",
1134+[[• ]] .. _[[Build a quarry in the south to cut some stones and marble out of the rocks.]] .. "<br><br>" ..
1135+[[→ ]] .. _[[These might be used for future buildings.]]),
1136+}
1137+
1138+
1139+
1140 -- ==================
1141 -- Texts to the user
1142 -- ==================
1143 diary_page_1 = {
1144- title =_ "A dark night",
1145- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1146- _"Diary of Lutius" ..
1147- "</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1148- _[[ "What has become of our Empire? I really ask this question - why did my king forbid me from fighting against that monsterous barbarian tribe, who first acted as a peaceful friend and then attacked my army in the darkest night?<br> With an army of 150 men, I was assigned to patrol on our northern frontier, which lies near the Galdin Mountains in a great, beautiful and ancient forest. Soon, we met a barbarian tribe, which at first was friendly. A few of my men even traded with them and their kids came to us, to admire our clean and tidy uniforms and weapons.<br> But in our fifth night in that region, they attacked us with no reason. I lost dozens of good men, and found myself imprisoned and brought to their chieftain. He spat at me, mocked me and told me to leave this land forever. He did not want new land and did not want our land, but he told me that THIS forest was their land - and would stay theirs until the ghosts take the last man of his folk!<br> Three weeks later, I came back to Fremil to speak with our king. He was furious at the Barbarians, yet disallowed an attack of these tribes. He believed that our army was too weak to survive in a war against the barbarians.<br> Still, I saw no way that I could erase my shame - without fighting against the Barbarians. So I left Fremil by boat to find myself a new world, and a new life, somewhere in the south. Now I am sailing on the perl-gulf with my family, some of my friends and a few of my best warriors." ]] ..
1149- "</p></rt>",
1150+ title =_ "A Dark Night",
1151+ body=lutius(_"Diary of Lutius",
1152+ _([[What has become of our Empire? I really ask this question – why did my king forbid me ]] ..
1153+[[from fighting against that monstrous barbarian tribe, who first acted as a peaceful friend ]] ..
1154+[[and then attacked my army in the darkest night?]]) .. "<br><br>" ..
1155+_([[With an army of 150 men, I was assigned to patrol on our northern frontier, ]] ..
1156+[[which lies near the Galdin Mountains in a great, beautiful and ancient forest. ]] ..
1157+[[Soon, we met a barbarian tribe, which at first was friendly. A few of my men even traded with them ]] ..
1158+[[and their kids came to us, to admire our clean and tidy uniforms and weapons.]]) .. "<br><br>" ..
1159+_([[But during our fifth night in that region, they attacked us with no reason. ]] ..
1160+[[I lost dozens of good men, and found myself imprisoned and brought to their chieftain. ]] ..
1161+[[He spat at me, mocked me and told me to leave this land forever. ]] ..
1162+[[He did not want new land and did not want our land, but he told me that THIS forest was their land]] ..
1163+[[ – and it would stay theirs until the ghosts took the last man of his folk!]]) .. "<br><br>" ..
1164+_([[Three weeks later, I returned to Fremil to speak with our king. ]] ..
1165+[[He was furious at the Barbarians, yet forbade any attack on these tribes. ]] ..
1166+[[He believed that our army was too weak to survive in a war against the barbarians.]]) .. "<br><br>" ..
1167+_([[Still, I saw no way that I could erase my shame without fighting against these barbarians. ]] ..
1168+[[So, I left Fremil by boat to find a new world and a new life for myself, somewhere in the south. ]] ..
1169+[[Now I am sailing on the perl-gulf with my family, some of my friends and a few of my best warriors.]])),
1170 w=500,
1171 posy=1,
1172 }
1173
1174 diary_page_2 = {
1175- title=_"The rough sea",
1176- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1177- _"Diary of Lutius" ..
1178- "</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1179- _[[ "It seems as if sailing on the perl-gulf was one of our biggest mistakes. Nature was against us and drove us into a dark, wild storm. I really don't know how many hours have passed since the waves rose higher than our boat, but still it would be suicide to go outside.<br> Our ship is badly damaged and is taking in more and more water. We can thank the Gods if we survive this black night with our lives." ]] ..
1180- "</p></rt>",
1181+ title=_"The Rough Sea",
1182+ body= lutius(_"Diary of Lutius",
1183+ _([[It seems as if sailing on the perl-gulf was one of our biggest mistakes. ]] ..
1184+[[Nature was against us and drove us into a dark, wild storm. ]] ..
1185+[[I really don’t know how many hours have passed since the waves rose higher than our boat, ]] ..
1186+[[but still it would be suicide to go outside.]]) .. "<br><br>" ..
1187+_([[Our ship is badly damaged and is taking in more and more water. ]] ..
1188+[[We can thank the Gods if we survive this black night with our lives.]])),
1189 w=400,
1190 posy=1,
1191 }
1192
1193 diary_page_3 = {
1194 title=_"Survivor",
1195- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1196- _"Diary of Lutius" ..
1197- "</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1198- _[[ "Finally, the Gods were with us!<br> We landed on an unknown coast and found peaceful rest under the palm trees growing at the shore. But that is about as good as it gets. The truth is:<br> when I woke up this morning, I saw nothing more than sand around us.<br> It really seems as if we landed under the only palm trees existing in this far-away sandy desert. I fear we won't find the help we need to get our ship repaired in good time." ]] ..
1199- "</p></rt>",
1200+ body= lutius(_"Diary of Lutius",
1201+ _([[Finally, the Gods were with us!]]) .. "<br><br>" ..
1202+_([[We landed on an unknown coast and found peaceful rest under the palm trees growing at the shore. ]] ..
1203+[[But that is about as good as it gets. The truth is: when I woke up this morning, I saw nothing but sand around us.]]) ..
1204+"<br><br>" ..
1205+_([[It really seems as if we have landed under the only palm trees existing in this far-away sandy desert. ]] ..
1206+[[I fear we won’t find the help we need to get our ship repaired in good time.]])),
1207 w=400,
1208 posy=1,
1209 }
1210
1211 saledus_1 = {
1212- title=_"A foreboding",
1213- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8F9131>" ..
1214- _"Saledus looks around nervously..." ..
1215- "</p></rt><rt image=map:Saledus.png><p line-spacing=3 font-size=12><br>" ..
1216- _[[ "Sire, I fear we are not safe in this foreign land. Who knows what terrible creatures live beyond this forest, in that mighty desert? What if these creatures enter the woods and await the time to attack us?<br> Well, perhaps my fear is misguided, but it can't be wrong to keep watch in the forests - so that we can be sure to see any potential enemies before they can see us.<br> We really should build a barracks in the eastern portion of the forest. Then one of us can keep watch in the darkness and keep us safe from these creatures."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1217- _"* Build a barracks at the red house symbol on the east side of the forests, to the right of your provisional headquarters." ..
1218- "</p></rt>",
1219+ title=_"A Foreboding",
1220+ body= saledus(_"Saledus looks around nervously...",
1221+ _([[Sire, I fear we are not safe in this foreign land. ]] ..
1222+[[Who knows what terrible creatures live beyond this forest, in that mighty desert? ]] ..
1223+[[What if these creatures enter the woods and await the time to attack us?]]) .. "<br><br>" ..
1224+_([[Well, perhaps my fear is misguided, but it can’t be wrong to keep watch in the forests]] ..
1225+[[ – so that we can be sure to see any potential enemies before they can see us.]]) .. "<br><br>" ..
1226+_([[We really should build a barracks in the eastern portion of the forest. ]] ..
1227+[[Then one of us can keep watch in the darkness and keep us safe from these creatures.]]))
1228+.. new_objectives(obj_build_barracks),
1229 w=400,
1230 }
1231
1232
1233 saledus_2 = {
1234- title=_"Safe for now",
1235- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8F9131>" ..
1236- _"Saledus speaks with a sigh of relief..." ..
1237- "</p></rt><rt image=map:Saledus.png><p line-spacing=3 font-size=12><br>" ..
1238- _[[ "Sire, I saw that the construction of the barracks was complete, so I assigned one of my best soldiers to it to keep watch on the desert.<br> This is a good step forward. Now we can feel a bit safer and can look forward to repair our ship." ]] ..
1239- "</p></rt>",
1240+ title=_"Safe For Now",
1241+ body= saledus(_"Saledus speaks with a sigh of relief...",
1242+ _([[Sire, I saw that the construction of the barracks was completed, ]] ..
1243+[[so I have assigned one of my best soldiers to it to keep watch on the desert.]]) .. "<br><br>" ..
1244+_([[This is a good step forward. Now we can feel a bit safer and can look forward to repairing our ship.]])),
1245 w=400,
1246 }
1247+
1248 amalea_1 = {
1249 title=_"Young Amalea",
1250- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=AF7511>" ..
1251- _"Amalea smiles..." ..
1252- "</p></rt><rt image=map:Amalea.png><p line-spacing=3 font-size=12><br>" ..
1253- _[[ "Hey Lutius, I just met Saledus outside.<br> He told me about the barracks. Well, I am not one of those girls who think we need more barracks - instead, we might concentrate on other things now.<br> It is absolutely clear that we need wood to repair our ship. So, I walked through the forest yesterday and found a nice place for a lumberjack's house, south of our provisional headquarters."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1254- _(
1255- "* Build a lumberjack's house at the red house symbol, south of your provisional headquarters. " ..
1256- "Cutting down enough trees for more buildings will take a while. You can " ..
1257- "speed the game up using PAGE UP and slow it down again with PAGE DOWN."
1258- ) ..
1259-
1260- "</p></rt>",
1261+ body= amalea(_"Amalea smiles...",
1262+ _([[Hey Lutius, I just met Saledus outside.]]) .. "<br><br>" ..
1263+_([[He told me about the barracks. Well, I am not one of those girls who think we need more barracks]] ..
1264+[[ – instead, we might concentrate on other things now.]]) .. "<br><br>" ..
1265+_([[It is absolutely clear that we need wood to repair our ship. ]] ..
1266+[[So, I walked through the forest yesterday and found a nice place for a lumberjack’s house, ]] ..
1267+[[south of our provisional headquarters.]]))
1268+.. new_objectives(obj_build_lumberjack),
1269 w=400,
1270 }
1271
1272 amalea_2 = {
1273 title=_"Young Amalea",
1274- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=AF7511>" ..
1275- _"Amalea recommends..." ..
1276- "</p></rt><rt image=map:Amalea.png><p line-spacing=3 font-size=12><br>" ..
1277- _[[ "Hey Lutius, I got the message that our first lumberjack started his work today. Perhaps it would be a good idea to wait until he cleans enough space for building up two further lumberjack's houses, so that we can harvest the trunks faster.<br> But unfortunately the trunks are useless for repairing our ship - we need refined lumber, like every ship and every bigger building needs, too. So we should build up a sawmill - as soon as we have enough space for this."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1278- _"* Build two more lumberjack's houses and a sawmill as soon as there is enough space for them." ..
1279- "</p></rt>",
1280+ body= amalea(_"Amalea recommends...",
1281+ _([[Hey Lutius, I got the message that our first lumberjack has started his work today. ]] ..
1282+[[Perhaps it would be a good idea to wait until he cleans enough space for constructing two more lumberjack’s houses, ]] ..
1283+[[so that we can harvest the logs faster.]]) .. "<br><br>" ..
1284+_([[But unfortunately the logs are useless for repairing our ship – we need refined lumber, ]] ..
1285+[[like every ship and every bigger building needs, too. ]] ..
1286+[[So we should build a sawmill – as soon as we have enough space for this.]]))
1287+.. new_objectives(obj_build_sawmill_and_lumberjacks),
1288 w=400,
1289 }
1290
1291 amalea_3 = {
1292 title=_"Young Amalea",
1293- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=AF7511>" ..
1294- _"Amalea comes in..." ..
1295- "</p></rt><rt image=map:Amalea.png><p line-spacing=3 font-size=12><br>" ..
1296- _[[ "Hi Lutius, I've got two important things to talk about... First the good news:<br> I saw that the construction of the sawmill is complete, so we can begin to refine the trunks that the lumberjacks are harvesting into lumber.<br> But that's just about the only positive thing I know to talk about. The bad news is that our lumberjacks harvest at an unbelievable speed. There are almost no trees left on this island.<br> Lutius, these trees provide shelter from the sandstorms from the desert, shade on the hot days and they are the home of so many gentle animals. We shouldn't leave this island a complete desert.<br> Lutius, I beg you: find someone who takes care about planting new trees."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1297- _"* Build a forester's house to preserve the wood resources of this island." ..
1298- "</p></rt>",
1299+ body= amalea(_"Amalea comes in...",
1300+ _([[Hi Lutius, I’ve got two important things to talk about... First the good news:]]) .. "<br><br>" ..
1301+_([[I noticed that the construction of the sawmill is complete, ]] ..
1302+[[so we can begin to refine the logs that the lumberjacks are harvesting into lumber.]]) .. "<br><br>" ..
1303+_([[But that’s just about the only positive thing I know to talk about. ]] ..
1304+[[The bad news is that our lumberjacks harvest at an incredible speed. ]] ..
1305+[[There are almost no trees left on this island.]]) .. "<br><br>" ..
1306+_([[Lutius, these trees provide shelter from the sandstorms that sweep in from the desert ]] ..
1307+[[and shade on the hot days, and they are the home of so many gentle animals. ]] ..
1308+[[We shouldn’t leave this island a complete desert.]]) .. "<br><br>" ..
1309+_([[Lutius, I beg you: find someone who takes care of planting new trees.]]))
1310+.. new_objectives(obj_build_forester),
1311 w=400,
1312 }
1313
1314 saledus_3 = {
1315- title=_"Thinking about the future",
1316- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8F9131>" ..
1317- _"Saledus notes..." ..
1318- "</p></rt><rt image=map:Saledus.png><p line-spacing=3 font-size=12><br>" ..
1319- _[[ "Hey, my good old friend. I just thought about the rocks standing on the south shore of this land. Perhaps we could cut out some useful hard stones and beautiful marble.<br> The repair of our ship will take a few weeks, anyway, and the resources we harvest now might be the base of strong and big buildings in another land."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1320- _"* Build a quarry in the south to cut some stones and marble out of the rocks.<br> These might be used for future buildings." ..
1321- "</p></rt>",
1322+ title=_"Thinking About the Future",
1323+ body= saledus(_"Saledus notes...",
1324+ _([[Hey, my good old friend. I just thought about the rocks standing on the south shore of this land. ]] ..
1325+[[Perhaps we could cut out some useful hard stones and beautiful marble.]]) .. "<br><br>" ..
1326+_([[The repair of our ship will take a few weeks, anyway, and the resources we harvest now ]] ..
1327+[[might be the base of strong and big buildings in another land.]]))
1328+.. new_objectives(obj_build_quarry),
1329 w=400,
1330 }
1331
1332 saledus_4 = {
1333- title=_"A step forward",
1334- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8F9131>" ..
1335- _"Saledus looks promising..." ..
1336- "</p></rt><rt image=map:Saledus.png><p line-spacing=3 font-size=12><br>" ..
1337- _[[ "Hey Lutius, today we got a lot closer to our first castle. The quarry to the south began its work today and will soon provide us with stones and beautiful marble.<br> Now we truly can look forward to settling down on another island." ]] ..
1338- "</p></rt>",
1339+ title=_"A Step Forward",
1340+ body= saledus(_"Saledus looks promising...",
1341+ _([[Hey Lutius, today we got a lot closer to our first castle. ]] ..
1342+[[The quarry to the south began its work today and will soon provide us with stones and beautiful marble.]]) .. "<br><br>" ..
1343+_([[Now we truly can look forward to settling down on another island.]])),
1344 w=400,
1345 }
1346
1347 diary_page_4 = {
1348 title=_"Mission Complete",
1349- body="<rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1350-_[[ "Today I got the message that our ship is completely repaired. At the moment my people are loading everything onto our newly repaired ship, hoping it will serve us better than last time.<br> Tonight will be our last night on this island. Tomorrow morning we will leave, searching for a new place for our exile.<br> I still wonder if we will ever see Fremil again.<br><br>--------------------- VICTORY! ----------------------<br><br> You have completed this mission. You may continue playing if you wish, otherwise move on to the next mission." ]] ..
1351-"</p></rt>",
1352+ body= lutius(
1353+_([[Today I got the message that our ship is completely repaired. ]] ..
1354+[[At the moment, my people are loading everything onto our newly repaired ship, ]] ..
1355+[[hoping it will serve us better than last time.]]) .. "<br><br>" ..
1356+_([[Tonight will be our last night on this island. ]] ..
1357+[[Tomorrow morning we will leave, searching for a new place for our exile.]]) .. "<br><br>" ..
1358+_([[I still wonder if we will ever see Fremil again.]])) ..
1359+ objective_text(_"Victory", _
1360+[[You have completed this mission. You may continue playing if you wish, otherwise move on to the next mission.]]
1361+ ),
1362 posy=1
1363 }
1364
1365 safe_peninsula = {
1366 title=_"Safe Peninsula",
1367- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1368- _"Saledus speaks:" ..
1369- "</p></rt><rt image=map:Saledus.png><p line-spacing=3 font-size=12><br>" ..
1370- _[[ "You have made this peninsula a very secure place. It is time to move on!" ]] ..
1371- "</p></rt>"
1372-}
1373-
1374--- ===========
1375--- objectives
1376--- ===========
1377-obj_build_barracks = {
1378- name = "build_barracks",
1379- title=_"Build a barracks",
1380- body= "<rt><p>" ..
1381- _"* Build a barracks at the red house symbol on the east side of the forests, to the right of your provisional headquarters." ..
1382- "</p></rt>"
1383-}
1384-obj_build_lumberjack = {
1385- name = "build_lumberjack",
1386- title=_"Build a lumberjack's house",
1387- body= "<rt><p>" ..
1388- _(
1389- "* Build a lumberjack's house at the red point, south of your provisional headquarters. " ..
1390- "Cutting down enough trees for more buildings will take a while. You can " ..
1391- "speed the game up using PAGE UP and slow it down again with PAGE DOWN."
1392- ) ..
1393- "</p></rt>"
1394-}
1395-obj_build_sawmill_and_lumberjacks = {
1396- name = "build_sawmill_and_lumberjacks",
1397- title=_"Build two lumberjack's houses and a sawmill",
1398- body="<rt><p>" ..
1399- _"* Build two more lumberjack's houses and a sawmill as soon as there is enough space for them." ..
1400- "</p></rt>"
1401-}
1402-obj_build_forester = {
1403- name = "build_forester",
1404- title=_"Build a forester's house",
1405- body="<rt><p>" ..
1406- _"* Build a forester's house to preserve the wood resources of this island." ..
1407- "</p></rt>"
1408-}
1409-obj_build_quarry = {
1410- name = "build_quarry",
1411- title=_"Build a quarry",
1412- body="<rt><p>" ..
1413- _"* Build a quarry in the south to cut some stones and marble out of the rocks.<br> These might be used for future buildings." ..
1414- "</p></rt>"
1415+ body= saledus(_"Saledus speaks:",
1416+ _[[You have made this peninsula a very secure place. It is time to move on!]])
1417 }
1418
1419
1420=== modified file 'campaigns/emp02.wmf/elemental'
1421--- campaigns/emp02.wmf/elemental 2010-11-18 10:39:43 +0000
1422+++ campaigns/emp02.wmf/elemental 2014-03-05 18:47:45 +0000
1423@@ -6,7 +6,7 @@
1424 map_h=80
1425 nr_players=2
1426 world=desert
1427-name=_"02 - An Outpost for Exile"
1428+name=_"02 – An Outpost for Exile"
1429 author=Nasenbaer
1430-descr=_"Finally the ship was repaired, so Lutius and his people again went on the quest to find a good place for a new beginning. Only a few days later they land on a green, mediterranean island, looking like paradise. Overjoyed, they set out to explore this new living space."
1431+descr=_"Finally the ship was repaired, so Lutius and his people returned to the quest to find a good place for a new beginning. Only a few days later, they land on a green, Mediterranean island, looking like paradise. Overjoyed, they set out to explore this new living space."
1432 background="tribes/empire/pics/campmap-emp02.jpg"
1433
1434=== modified file 'campaigns/emp02.wmf/scripting/texts.lua'
1435--- campaigns/emp02.wmf/scripting/texts.lua 2012-12-16 19:08:16 +0000
1436+++ campaigns/emp02.wmf/scripting/texts.lua 2014-03-05 18:47:45 +0000
1437@@ -1,3 +1,21 @@
1438+-- =========================
1439+-- Some formating functions
1440+-- =========================
1441+
1442+use("aux", "formatting")
1443+use("aux", "format_scenario")
1444+
1445+function lutius(title, text)
1446+ return speech("map:Lutius.png", "2F9131", title, text)
1447+end
1448+function saledus(title, text)
1449+ return speech("map:Saledus.png", "8F9131", title, text)
1450+end
1451+function amalea(title, text)
1452+ return speech("map:Amalea.png", "AF7511", title, text)
1453+end
1454+
1455+
1456 -- =======================================================================
1457 -- Texts only - no logic here
1458 -- =======================================================================
1459@@ -8,221 +26,246 @@
1460 obj_build_woodeconomy = {
1461 name = "build_woodeconomy ",
1462 title =_"Build up a wood economy",
1463- body ="<rt><p>" ..
1464-_"* Build three lumberjack's houses, a forester's house and a sawmill." ..
1465-"</p></rt>",
1466+ number = 5,
1467+ body = objective_text(_"Wood Economy",
1468+[[• ]] .. _[[Build three lumberjack’s houses, a forester’s house and a sawmill.]]),
1469 }
1470
1471 obj_build_quarry = {
1472 name = "build_quarry ",
1473 title =_"Build a quarry",
1474- body ="<rt><p>" ..
1475-_"* Build a quarry to the south of your headquarters." ..
1476-"</p></rt>",
1477+ number = 1,
1478+ body = objective_text(_"Quarry",
1479+[[• ]] .. _[[Build a quarry to the south of your headquarters.]]),
1480 }
1481
1482 obj_build_military_buildings = {
1483 name = "build_military_buildings ",
1484 title =_"Protect your colony",
1485- body ="<rt><p>" ..
1486-_"* Build some barracks and sentries around the colony." ..
1487-"</p></rt>",
1488+ number = 1,
1489+ body = objective_text(_"Protect Your Colony",
1490+[[• ]] .. _[[Build some barracks and sentries around the colony.]]),
1491 }
1492
1493 obj_build_marblemine = {
1494 name = "build_marblemine ",
1495 title =_"Start mining marble",
1496- body ="<rt><p>" ..
1497-_"* Expand to the east, to start mining marble from the mountain." ..
1498-"</p></rt>",
1499+ number = 1,
1500+ body = objective_text(_"Marble",
1501+[[• ]] .. _[[Expand to the east, to start mining marble from the mountain.]]),
1502 }
1503
1504 obj_build_mining_infrastructure = {
1505 name = "build_mining_infrastructure ",
1506 title =_"Build a stonemason and mining infrastructure",
1507- body ="<rt><p>" ..
1508-_"* Build a stonemason and then a complete mining and production infrastructure (coal mine and / or charcoal burner, iron ore mine, toolsmith's shop, weapon smithy, armour smithy and smelting works)." ..
1509-"</p></rt>",
1510+ number = 7,
1511+ body = objective_text(_"Stonemason and Mining Infrastructure",
1512+[[• ]] .. _[[Build a stonemason and then a complete mining and production infrastructure
1513+(coal mine and / or charcoal burner, iron ore mine, toolsmithy, weapon smithy, armor smithy and smelting works).]]),
1514 }
1515
1516 obj_build_Food_infrastructure = {
1517 name = "build_food_infrastructure",
1518 title =_"Provide your miners with food",
1519- body ="<rt><p>" ..
1520-_"* To produce some sustaining food for our miners, we could build up a tavern. To supply them with some good and strong drinks, we could build up a brewery and a winery.<br> Of course this means we will need more resources for preparing this food - like fish, meat or bread.<br> To provide these foodstuffs, you would have to build a fisher's house, a farm, a mill and a bakery.<br> Maybe you will also need a hunter's house,<br> a piggery, a vineyard and some wells.<br> It's up to you what you want to build.<br> But remember - coal and iron ore mines need beer, marble and gold mines need wine and all mines need at least rations, which are produced out of bread OR meat OR fish." ..
1521-"</p></rt>",
1522+ number = 1,
1523+ body = objective_text(_"Food For Your Miners",
1524+[[• ]] .. _([[To produce some sustaining food for our miners, we could build up a tavern. ]] ..
1525+[[To supply them with some good and strong drinks, we could build up a brewery and a winery.]]) .. "<br>" ..
1526+[[• ]] .. _([[Of course this means we will need more resources for preparing this food – like fish, meat or bread.]] ..
1527+[[To provide these foodstuffs, you would have to build a fisher’s house, a farm, a mill and a bakery.]]) .. "<br>" ..
1528+[[• ]] .. _[[Maybe you will also need a hunter’s house, a piggery, a vineyard and some wells.]] .. "<br><br>" ..
1529+[[→ ]] .. _([[It’s up to you what you want to build. But remember – coal and iron ore mines need beer, ]] ..
1530+[[marble and gold mines need wine and all mines need at least rations, which are produced out of bread OR meat OR fish.]])),
1531 }
1532
1533 obj_build_bigger_military_buildings = {
1534 name = "build_bigger_military_buildings ",
1535 title =_"Protect your eastern frontier",
1536- body ="<rt><p>" ..
1537-_"* Build up stronger military buildings, such as an outpost, a barrier or a tower, on the eastern frontier. To watch deep inside the enemy territory, build a tower." ..
1538-"</p></rt>",
1539+ number = 1,
1540+ body = objective_text(_"Protect Your Eastern Frontier",
1541+[[• ]] .. _[[Build up stronger military buildings, such as an outpost, a barrier or a tower, on the eastern frontier.]] ..
1542+"<br><br>" ..
1543+[[→ ]] .. _[[To watch deep inside the enemy territory, build a tower.]]),
1544 }
1545
1546 obj_remove_the_barbarians = {
1547 name = "remove_the_barbarians ",
1548 title =_"Destroy the barbarian tribe",
1549- body ="<rt><p>" ..
1550-_"* As soon as you have enough soldiers, attack and completely destroy the barbarian buildings.<br>" ..
1551-_"* Finally, build up a fortress on the peninsula<br> (near where the barbarian headquarters stood before), to avoid new settlements of other tribes in that region." ..
1552-"</p></rt>",
1553+ number = 2,
1554+ body = objective_text(_"Destroy the Barbarian Tribe",
1555+[[• ]] .. _[[As soon as you have enough soldiers, attack and completely destroy the barbarian buildings.]] .. "<br>" ..
1556+[[• ]] .. _([[Finally, build up a fortress on the peninsula (near where the barbarian headquarters stood before), ]] ..
1557+[[to avoid new settlements of other tribes in that region.]])),
1558 }
1559
1560-
1561 -- =====================
1562 -- Messages to the User
1563 -- =====================
1564 diary_page_5 = {
1565- title =_ "A new island",
1566+ title =_ "A New Island",
1567 posy= 1,
1568- body = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1569-_"Diary of Lutius" ..
1570-"</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1571-_[[ "Finally! This island appears to be made for us, it is a gift from the Gods to my people and myself.<br> Until now, we have only seen a small part of this island, but this part alone is already bringing sunlight in my mind. I feel as if we have found a priceless treasure, a land like paradise.<br> On this island, we will start our new life. We will build up an outpost for our exile, which perhaps will become a new, beautiful home for every one of us." ]] ..
1572-"</p></rt>",
1573+ body = lutius(_"Diary of Lutius",
1574+_([[Finally! This island appears to have been made for us, it is a gift from the Gods to my people and myself. ]] ..
1575+[[Until now, we have only seen a small part of this island, but this part alone is already bringing sunlight to my mind. ]] ..
1576+[[I feel as if we have found a priceless treasure, a land like paradise.]]) .. "<br><br>" ..
1577+_([[On this island, we will start our new life. ]] ..
1578+[[We will build up an outpost for our exile, which perhaps will become a new, beautiful home for every one of us.]])),
1579 }
1580
1581 diary_page_5_1 = {
1582- title =_ "The green forests",
1583+ title =_ "The Green Forests",
1584 posy = 1,
1585- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1586-_"Diary of Lutius" ..
1587-"</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1588-_[[ "As Saledus and I walked through these wonderful forests in the north, we felt that our future had just begun. This land is so peaceful, good and beautiful, I could stay here until the end of my life.<br> But until that day, may many years pass! For now, we must concentrate on the present, and build a few lumberjack's houses and a sawmill to produce some basic building materials.<br> But we shouldn't forget to preserve this natural bounty. These forests should last forever, so we really should build a forester's house too."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1589-_"* Build three lumberjack's houses, a forester's house and a sawmill." ..
1590-"</p></rt>",
1591+ body= lutius(_"Diary of Lutius",
1592+_([[As Saledus and I walked through these wonderful forests in the north, we felt that our future had just begun. ]] ..
1593+[[This land is so peaceful, good and beautiful, I could stay here until the end of my life.]]) .. "<br><br>" ..
1594+_([[But until that day, may many years pass! For now, we must concentrate on the present, ]] ..
1595+[[and build a few lumberjack’s houses and a sawmill to produce some basic building materials.]]) .. "<br><br>" ..
1596+_([[But we shouldn’t forget to preserve this natural bounty. ]] ..
1597+[[These forests should last forever, so we really should build a forester’s house too.]]))
1598+.. new_objectives(obj_build_woodeconomy),
1599 }
1600
1601 diary_page_5_2 = {
1602- title =_ "The rocks",
1603+ title =_ "The Rocks",
1604 posy = 1,
1605- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1606-_"Diary of Lutius" ..
1607-"</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1608-_[[ "Later, I walked down to the rocks in the south and looked for a place where we can build a quarry to get some hard stone for our larger buildings.<br> Again, I felt like I'm in paradise when I noticed that some marble-like stones were among the rocks. It seems that we will soon be able to build strong, luxurious buildings, like those we were accustomed to in Fremil."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1609-_"* Build a quarry to the south of your headquarters." ..
1610-"</p></rt>",
1611+ body= lutius(_"Diary of Lutius",
1612+_([[Later, I walked down to the rocks in the south and looked for a place where we could build a quarry ]] ..
1613+[[to get some hard stone for our larger buildings.]]) .. "<br><br>" ..
1614+_([[Again, I felt like I was in paradise when I noticed that some marble-like stones were among the rocks. ]] ..
1615+[[It seems that we will soon be able to build strong, luxurious buildings, like those we were accustomed to in Fremil.]]))
1616+.. new_objectives(obj_build_quarry),
1617 }
1618
1619 diary_page_6 = {
1620- title =_ "Wood for the colony",
1621+ title =_ "Wood for the Colony",
1622 posy=1,
1623- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1624-_"Diary of Lutius" ..
1625-"</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1626-_[[ "Good news! Today our wood economy was completed. Now we can be sure to have enough wood for our future building projects." ]] ..
1627-"</p></rt>",
1628+ body= lutius(_"Diary of Lutius",
1629+_([[Good news! Today our wood economy was completed. ]] ..
1630+[[Now we can be sure that we will have enough wood for our future building projects.]])),
1631 }
1632
1633 diary_page_7 = {
1634- title =_ "Stone for the colony",
1635+ title =_ "Stone for the Colony",
1636 posy=1,
1637- body="<rt><p font-size=24 text-align=left font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1638-_"Diary of Lutius" ..
1639-"</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1640-_[[ "Great! Today the building of the quarry was completed. Now we get enough stone to construct larger buildings." ]] ..
1641-"</p></rt>",
1642+ body= lutius(_"Diary of Lutius",
1643+_[[Great! Today the building of the quarry was completed. Now we will get enough stone to construct larger buildings.]]),
1644 }
1645
1646 saledus_1 = {
1647- title =_ "Dangerous shipparts",
1648+ title =_ "Dangerous Ship Parts",
1649 posy = 1,
1650- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8F9131>" ..
1651-_"Saledus looks unhappy" ..
1652-"</p></rt><rt image=map:Saledus.png><p line-spacing=3 font-size=12><br>" ..
1653-_[[ "Greetings Lutius, I don't want to start a panic, but I found something which gives me a sinking feeling in my stomach and spreads waves of fear in my heart. As I walked down to the southern shore I found the remains of another ship. I don't know whether these parts are all that is left of that ship. In any case, these parts do not seem to be old.<br> Perhaps the people aboard that ship were caught in the same storm which brought us to Malac' Mor - and were brought to this island.<br> I beg you to be cautious and to build some barracks or sentries around our colony."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1654-_"* Build some barracks and sentries around the colony." ..
1655-"</p></rt>",
1656+ body= saledus(_"Saledus looks unhappy",
1657+_([[Greetings Lutius, I don’t want to start a panic, ]] ..
1658+[[but I found something which gives me a sinking feeling in my stomach and spreads waves of fear in my heart. ]] ..
1659+[[As I walked down to the southern shore, I found the remains of another ship. ]] ..
1660+[[I don’t know whether these parts are all that is left of that ship. ]] ..
1661+[[In any case, these parts do not seem to be old.]]) .. "<br><br>" ..
1662+_([[Perhaps the people aboard that ship were caught in the same storm which brought us to Malac’ Mor]] ..
1663+[[ – and were brought to this island.]]) .. "<br><br>" ..
1664+_([[I beg you to be cautious and to build some barracks or sentries around our colony.]]))
1665+.. new_objectives(obj_build_military_buildings),
1666 }
1667
1668 saledus_2 = {
1669- title =_ "Marble on the mountain",
1670- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8F9131>" ..
1671-_"Saledus smiles" ..
1672-"</p></rt><rt image=map:Saledus.png><p line-spacing=3 font-size=12><br>" ..
1673-_[[ "Lutius, I've got good news for you:<br> As I walked to the east, I found a larger mountain.<br> I am not absolutely sure - a geologist should check if I am right - but I believe we could mine marble from some places on the mountain.<br> It would be a good source to bolster our supply of quality marble, beyond the meagre quantities available from the quarry. Perhaps you were right when you said that this island is like paradise.<br> Let us expand to that mountain and start mining marble."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1674-_"* Expand to the east, to start mining marble from the mountain." ..
1675-"</p></rt>",
1676+ title =_ "Marble on the Mountain",
1677+ body= saledus(_"Saledus smiles",
1678+_([[Lutius, I’ve got good news for you:]] ..
1679+[[As I walked to the east, I found a larger mountain.]] ..
1680+[[I am not absolutely sure – a geologist should check if I am right]] ..
1681+[[ – but I believe we could mine marble from some places on the mountain.]]) .. "<br><br>" ..
1682+_([[It would be a good source for bolstering our supply of quality marble, ]] ..
1683+[[beyond the meager quantities available from the quarry. ]] ..
1684+[[Perhaps you were right when you said that this island was like paradise.]]) .. "<br><br>" ..
1685+_([[Let us expand to that mountain and start mining marble.]]))
1686+.. new_objectives(obj_build_marblemine),
1687 }
1688
1689 saledus_3 = {
1690- title =_ "Further mountains",
1691- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8F9131>" ..
1692-_"Saledus is amazed" ..
1693-"</p></rt><rt image=map:Saledus.png><p line-spacing=3 font-size=12><br>" ..
1694-_[[ "By the Gods, this is an unbelievable strike of fortune! There are two more mountains and it seems that one has a large quantity of coal and the other of iron ore. We should immediately start to build iron ore and coal mines (or at least charcoal burners), smelting works, toolsmith's shops, armour and weapon smithies.<br> However: for all these bigger buildings, we need better and more elegant building materials. So, let's build<br> a stonemason, who cuts columns from marble.<br> After all, now we can begin living as we did in Fremil."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1695-_"* Build a stonemason and then a complete mining and production infrastructure (coal mine and / or charcoal burner, iron ore mine, toolsmith's shop, weapon smithy, armour smithy and smelting works)." ..
1696-"</p></rt>",
1697+ title =_ "Further Mountains",
1698+ body= saledus(_"Saledus is amazed",
1699+_([[By the Gods, this is an unbelievable stroke of fortune! ]] ..
1700+[[There are two more mountains, and it seems that one has a large quantity of coal and the other of iron ore. ]] ..
1701+[[We should immediately start to build iron ore and coal mines (or at least charcoal burners), ]] ..
1702+[[smelting works, toolsmithies, armor and weapon smithies.]]) .. "<br><br>" ..
1703+_([[However: for all these bigger buildings, we need better and more elegant building materials. ]] ..
1704+[[So, let’s build a stonemason, who will cut columns from marble.]]) .. "<br><br>" ..
1705+_([[After everything, we can now begin to live like we did in Fremil.]]))
1706+.. new_objectives(obj_build_mining_infrastructure),
1707 }
1708
1709 amalea_1 = {
1710- title =_ "Food for the miners",
1711- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=AF7511>" ..
1712-_"Amalea comes in..." ..
1713-"</p></rt><rt image=map:Amalea.png><p line-spacing=3 font-size=12><br>" ..
1714-_[[ "Hi Lutius, I hope you forgive my criticism, but it seems to me as if you forgot something.<br> It's nice, and of course a good idea, to build up mines, which will give us a more comfortable life,<br> but the people working in the mines are unhappy with the current situation. They have to do hard work and have no time for making their own food.<br> What do you think about helping them out?<br> I can't tell you what exactly we need... but here are my recommendations:"<br><br>-- NEW OBJECTIVE --<br> ]] ..
1715-_"* To produce some sustaining food for our miners, we could build up a tavern. To supply them with some good and strong drinks, we could build up a brewery and a winery.<br> Of course this means we will need more resources for preparing this food - like fish, meat or bread.<br> To provide these foodstuffs, you would have to build a fisher's house, a farm, a mill and a bakery.<br> Maybe you will also need a hunter's house,<br> a piggery, a vineyard and some wells.<br> It's up to you what you want to build.<br> But remember - coal and iron ore mines need beer, marble and gold mines need wine and all mines need at least rations, which are produced out of bread OR meat OR fish." ..
1716-"</p></rt>",
1717+ title =_ "Food for the Miners",
1718+ body= amalea(_"Amalea comes in...",
1719+_([[Hi Lutius, I hope you forgive my criticism, but it seems to me as if you forgot something.]]) .. "<br><br>" ..
1720+_([[It’s nice, and of course a good idea, to build up mines, which will give us a more comfortable life, ]] ..
1721+[[but the people working in the mines are unhappy with the current situation. ]] ..
1722+[[They have to do hard work and have no time for making their own food.]]) .. "<br><br>" ..
1723+_([[What do you think about helping them out? ]] ..
1724+[[I can’t tell you what we need exactly... but here are my recommendations:]]))
1725+.. new_objectives(obj_build_Food_infrastructure),
1726 }
1727
1728 diary_page_8 = {
1729 title =_ "The Barbarians",
1730 posy=1,
1731- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1732-_"Diary of Lutius" ..
1733-"</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1734-_[[ "By the Gods! This is absolutely terrible. It seems as if we stand close to a test - and it seems as if Saledus was right with his fear concerning the shipwreck he found.<br> Today, as I walked down to the eastern shore,<br> I got a shock. I caught sight of one of those hated, evil, barbarian tribes with whom we have had so many problems before.<br> At first, I was naive and hoped that they were peaceful, but as soon as one of them saw me they charged towards me and started attacking me with their throwing-spears. Thanks be to the Gods that<br> I was able to flee and hide myself, before retreating back to our colony under cover of darkness.<br> Anyway, we must build up stronger military buildings as soon as possible."<br><br>-- NEW OBJECTIVE --<br> ]] ..
1735-_"* Build up stronger military buildings, such as an outpost, a barrier or a tower, on the eastern frontier. To watch deep inside the enemy territory, build a tower." ..
1736-"</p></rt>",
1737+ body= lutius(_"Diary of Lutius",
1738+_([[By the Gods! This is absolutely terrible. It seems as if we stand close to a test]] ..
1739+[[ – and it seems as if Saledus was right with his fear concerning the shipwreck he found.]]) .. "<br><br>" ..
1740+_([[Today, as I walked down to the eastern shore, I got a shock. ]] ..
1741+[[I caught sight of one of those hated, evil, barbarian tribes with whom we have had so many problems before.]]) .. "<br><br>" ..
1742+_([[At first, I was naive and hoped that they were peaceful, but as soon as one of them saw me, ]] ..
1743+[[they charged towards me and started attacking me with their throwing-spears. Thanks be to the Gods ]] ..
1744+[[that I was able to flee and hide myself, before retreating back to our colony under cover of darkness.]]) .. "<br><br>" ..
1745+_([[Anyway, we must build up stronger military buildings as soon as possible.]]))
1746+.. new_objectives(obj_build_bigger_military_buildings),
1747 }
1748
1749 diary_page_9 = {
1750- title =_ "Command for Attack",
1751+ title =_ "Command to Attack",
1752 posy=1,
1753- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1754-_"Diary of Lutius" ..
1755-"</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1756-_[[ "That's good. The first large military building is complete and the mining infrastructure is getting better and better. Now we should think of preparing ourselves for battle."<br><br>-- NEW OBJECTIVES --<br> ]] ..
1757-_"* As soon as you have enough soldiers, attack and completely destroy the barbarian buildings.<br>" ..
1758-_"* Finally, build up a fortress on the peninsula<br> (near where the barbarian headquarters stood before), to avoid new settlements of other tribes in that region." ..
1759-"</p></rt>",
1760+ body= lutius(_"Diary of Lutius",
1761+_([[That’s good. The first large military building is complete and the mining infrastructure is getting better and better. ]] ..
1762+[[Now we should think about preparing ourselves for battle.]]))
1763+.. new_objectives(obj_remove_the_barbarians),
1764 }
1765
1766 diary_page_10 = {
1767 title =_ "Victory",
1768 posy=1,
1769- body="<rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1770-_[[ "Today is a proud day. We have fought for our new home and risen victorious.<br> There are still a few barbarians hiding on our island, but I am sure that we will find them soon.<br> Every barbarian who doesn't attack us will be put in a boat with the other peaceful ones, and sent back to their country."<br><br>--------------------- VICTORY! ----------------------]] ..
1771-"</p></rt>",
1772+ body= lutius(
1773+_([[Today is a proud day. We have fought for our new home and risen victorious.]]) .. "<br><br>" ..
1774+_([[There are still a few barbarians hiding on our island, but I am sure that we will find them soon.]] ..
1775+[[Every barbarian who doesn’t attack us will be put in a boat with the other peaceful ones, and sent back to their country.]]))
1776+.. objective_text(_"Victory",
1777+ _[[You have established a working economy, trained new soldiers and driven the barbarians from the island.]]
1778+),
1779 }
1780
1781 seven_days_later = {
1782- title =_ "As time is running by",
1783+ title =_ "As Time is Running By",
1784 w=200,
1785 h=150,
1786- body="<rt><p line-spacing=3 font-size=12>" ..
1787-_"7 days later..." ..
1788-"</p></rt>",
1789+ body=rt(p(_"7 days later...")),
1790 }
1791
1792 diary_page_11 = {
1793 title =_ "A Message",
1794 posy=1,
1795- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1796-_"Diary of Lutius" ..
1797-"</p></rt><rt image=map:Lutius.png><p line-spacing=3 font-size=12><br>" ..
1798-_[[ "Today a pigeon landed on our island.<br> It brought a message which fills me with dark thoughts and brings back my fears.<br> The message was addressed to me, begging me to come back to Fremil.<br> It says that the Empire is at war with the Barbarians. They were attacked from the north by the tribe I was forbidden to attack.<br> For me, it is clear what I must do...<br><br> You have completed this mission. You may continue playing if you wish, otherwise move on to the next mission." ]] ..
1799-"</p></rt>",
1800+ body= lutius(_"Diary of Lutius",
1801+_([[Today a pigeon landed on our island. ]] ..
1802+[[It brought a message which fills me with dark thoughts and brings back my fears.]]) .. "<br><br>" ..
1803+_([[The message was addressed to me, begging me to come back to Fremil.]] ..
1804+[[It says that the Empire is at war with the Barbarians. ]] ..
1805+[[They were attacked from the north by the tribe that I was forbidden to attack. ]] ..
1806+[[It is clear to me what I must do...]]) .. "<br><br>" ..
1807+_([[You have completed this mission. You may continue playing if you wish, otherwise move on to the next mission.]])),
1808 }
1809
1810 amalea_2 = {
1811- title =_ "Our new tavern",
1812- body="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=AF7511>" ..
1813-_"Amalea smiles" ..
1814-"</p></rt><rt image=map:Amalea.png><p line-spacing=3 font-size=12><br>" ..
1815-_[[ "Greetings, my friend, I just visited our new tavern<br> 'At the palms'. The beer they serve is really tasty. You really should take a drink there, too.<br> It is good to see that we have now got a warmer and more familiar environment on our island.<br> Thank you, Lutius." ]] ..
1816-"</p></rt>",
1817+ title =_ "Our New Tavern",
1818+ body= amalea(_"Amalea smiles",
1819+_([[Greetings, my friend, I just visited our new tavern ‘At the palms’. ]] ..
1820+[[The beer they serve is really tasty. You really should have a drink there, too.]]) .. "<br><br>" ..
1821+_([[It is good to see that we have now got a warmer and more familiar environment on our island. Thank you, Lutius.]])),
1822 }
1823
1824
1825=== modified file 'campaigns/t01.wmf/elemental'
1826--- campaigns/t01.wmf/elemental 2010-11-18 10:39:43 +0000
1827+++ campaigns/t01.wmf/elemental 2014-03-05 18:47:45 +0000
1828@@ -4,7 +4,7 @@
1829 map_h=64
1830 nr_players=1
1831 world=greenland
1832-name=_"01 - Eyes in the Dark"
1833+name=_"01 – Eyes in the Dark"
1834 author=Winterwind
1835-descr=_"In this tutorial the basic gameplay and control as well as basic production buildings of the Barbarians are introduced."
1836+descr=_"In this tutorial, the basic gameplay and control as well as basic production buildings of the Barbarians are introduced."
1837 background="tribes/barbarians/pics/campmap-tut1+2.jpg"
1838
1839=== modified file 'campaigns/t01.wmf/scripting/init.lua'
1840--- campaigns/t01.wmf/scripting/init.lua 2011-03-19 13:40:16 +0000
1841+++ campaigns/t01.wmf/scripting/init.lua 2014-03-05 18:47:45 +0000
1842@@ -56,6 +56,11 @@
1843 sleep(500)
1844 end
1845
1846+-- Add an objective
1847+function add_obj(objective, player)
1848+ return player:add_objective(objective.name, objective.title, objective.body)
1849+end
1850+
1851 use("aux", "coroutine")
1852 use("aux", "ui")
1853 use("aux", "table")
1854@@ -64,4 +69,3 @@
1855
1856 use("map", "initial_messages")
1857 use("map", "story_messages")
1858-
1859
1860=== modified file 'campaigns/t01.wmf/scripting/initial_messages.lua'
1861--- campaigns/t01.wmf/scripting/initial_messages.lua 2012-12-16 19:08:16 +0000
1862+++ campaigns/t01.wmf/scripting/initial_messages.lua 2014-03-05 18:47:45 +0000
1863@@ -2,30 +2,35 @@
1864 -- Send a bunch of story messages
1865 -- ===============================
1866
1867+--use("aux", "formatting")
1868+use("aux", "format_scenario")
1869+
1870+function thron(title, text)
1871+ return speech("map:chieftain.png", "2F9131", title, text)
1872+end
1873+
1874+
1875 function briefing_messages()
1876 -- Briefing message
1877-title = _"The story begins"
1878-msg = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
1879-_"Thron sighs..." ..
1880-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
1881-_[[ "It's been months and we are still hiding where the forests are old and dark.<br> My warriors hunt at day and lie awake at night - listening to the sounds of the cruel slaughter echoing from afar amongst the ancient trees." ]] ..
1882-"</p></rt>"
1883+title = _"The Story Begins"
1884+msg = thron(_"Thron sighs...",
1885+_[[It’s been months, and we are still hiding where the forests are old and dark.]] .. "<br><br>" ..
1886+_[[My warriors hunt at day and lie awake at night – listening to the sounds of the cruel slaughter echoing from afar amongst the ancient trees.]])
1887 show_story_box(title, msg)
1888
1889 msg =
1890-"<rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
1891-_[[ "We can see the raging flames that swallow Al'thunran from here, miles away.<br> The red lights flash in the darkness and dance to the rhythm of the wardrums that haunt me even in my nightmares." ]] ..
1892-"</p></rt>"
1893+thron(
1894+_[[We can see the raging flames that swallow Al’thunran from here, miles away.]] .. "<br><br>" ..
1895+_[[The red lights flash in the darkness and dance to the rhythm of the war drums that haunt me even in my nightmares.]])
1896 show_story_box(title, msg, al_thunran)
1897
1898-msg = "<rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
1899-_[[ "My father's bones rest peacefully in the grounds on which he once ended the senseless bloodspilling that has risen among us. It pains me that his peace only endured for one generation.<br> Boldreth, my loyal companion and friend is a source of peace and comfort to me in these dark times. He keeps my spirits high and those of my warriors awake, not to let greed or despair destroy the bonds between us as well." ]] ..
1900-"</p></rt>"
1901+msg = thron(
1902+_[[My father’s bones rest peacefully in the ground on which he once ended the senseless spilling of blood that had arisen amongst us. It pains me that his peace only endured for one generation.]] .. "<br><br>" ..
1903+_[[Boldreth, my loyal companion and friend is a source of peace and comfort to me in these dark times. He keeps my spirits high and those of my warriors awake, preventing greed or despair from destroying the bonds between us as well.]])
1904 show_story_box(title, msg, grave)
1905
1906-msg = "<rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
1907-_[[ "As father told me, there are times to fight and times to lie and wait, trying not to fall asleep or die before the right time comes. And so I do... wait." ]] ..
1908-"</p></rt>"
1909+msg = thron(
1910+_[[As father told me, there are times to fight and times to lie and wait, trying not to fall asleep or die before the right time comes. And so I do... wait.]])
1911 show_story_box(title, msg)
1912 sleep(2000)
1913
1914
1915=== modified file 'campaigns/t01.wmf/scripting/khantrukhs_talking.lua'
1916--- campaigns/t01.wmf/scripting/khantrukhs_talking.lua 2011-03-19 13:40:16 +0000
1917+++ campaigns/t01.wmf/scripting/khantrukhs_talking.lua 2014-03-05 18:47:45 +0000
1918@@ -19,37 +19,39 @@
1919 end
1920
1921 function tutorial_thread()
1922- show_story_box(_"Somebody comes up to you", khantrukh_1)
1923- show_story_box(_"The advisor", khantrukh_2, nil, 80, 80)
1924- o = start_lumberjack_01(p)
1925+ p = wl.Game().players[1]
1926+ show_story_box(_"Somebody Comes up to You", khantrukh_1)
1927+ show_story_box(_"The Advisor", khantrukh_2, nil, 80, 80)
1928+ local o = add_obj(start_lumberjack_01, p)
1929+
1930 -- Wait till the hut is build.
1931 while not check_for_buildings(p, {constructionsite = 1},
1932 wl.Game().map:get_field(15,11):region(2)) do sleep(5000) end
1933
1934- show_story_box(_"The advisor", khantrukh_3, nil, 80, 80)
1935+ show_story_box(_"The Advisor", khantrukh_3, nil, 80, 80)
1936
1937 -- Wait till the hut is build.
1938 while not check_for_buildings(p, {lumberjacks_hut = 1},
1939 wl.Game().map:get_field(15,11):region(2)) do sleep(5000) end
1940 o.done = true
1941
1942- p:message_box(_"The advisor", khantrukh_4, { h = 400 })
1943- p:message_box(_"The advisor", khantrukh_5, { h = 400 })
1944- o = start_lumberjack_02(p)
1945+ p:message_box(_"The Advisor", khantrukh_4, { h = 400 })
1946+ p:message_box(_"The Advisor", khantrukh_5, { h = 400 })
1947+ local o = add_obj(start_lumberjack_02, p)
1948
1949 -- Wait till the hut is build.
1950 while not check_for_buildings(p, {lumberjacks_hut = 1},
1951 wl.Game().map:get_field(12,13):region(2)) do sleep(5000) end
1952 o.done = true
1953
1954- p:message_box(_"The advisor", khantrukh_6, { h = 400 })
1955+ p:message_box(_"The Advisor", khantrukh_6, { h = 400 })
1956 p:allow_buildings{"rangers_hut", "quarry"}
1957- objq = start_quarries(p)
1958- objr = start_ranger(p)
1959+ objq = add_obj(start_quarries, p)
1960+ objr = add_obj(start_ranger, p)
1961 run(check_ranger)
1962 run(check_quarries)
1963
1964- p:message_box(_"The advisor", khantrukh_7, { h = 400 })
1965+ p:message_box(_"The Advisor", khantrukh_7, { h = 400 })
1966 while not (objr.done and objq.done) do
1967 sleep(5000)
1968 end
1969
1970=== modified file 'campaigns/t01.wmf/scripting/texts.lua'
1971--- campaigns/t01.wmf/scripting/texts.lua 2012-12-16 19:08:16 +0000
1972+++ campaigns/t01.wmf/scripting/texts.lua 2014-03-05 18:47:45 +0000
1973@@ -1,137 +1,173 @@
1974+use("aux", "formatting")
1975+use("aux", "format_scenario")
1976+
1977+function thron(title, text)
1978+ return speech("map:chieftain.png", "2F9131", title, text)
1979+end
1980+function khantrukh(title, text)
1981+ return speech("map:khantrukh.png", "8080FF", title, text)
1982+end
1983+
1984 -- =======================================================================
1985 -- Mission objectives
1986 -- =======================================================================
1987
1988-function start_lumberjack_01(p)
1989- return p:add_objective("lumberjack01",
1990- _ "Build a lumberjack's hut",
1991-"<rt><p>" ..
1992-_"* Press SPACE to see where you can build.<br> The red house symbols show you where a small building - like a lumberjack's hut - may be built.<br>" ..
1993-_"* Build a lumberjack's hut at the red house symbol just right of your headquarters by clicking on it and selecting a lumberjack's hut.<br>" ..
1994-_"* Build a road between your headquarters and the construction site of the lumberjack's hut.<br> When you place the lumberjack's hut, a flag is created for it. You need to connect it to another flag by building a road between them.<br> If you click on a flag and select to build a road, little symbols will appear around it to show you in which directions you can build it.<br> The colour of these symbols indicates how steep this part of the road will be. Green is for flat, yellow means steep and red stands for very steep. The steeper the road is, the harder it will be for your people to walk on it (and your wares will be transported more slowly).<br> You can click on any of the symbols to build the first part of the road there. New symbols will appear to show you where the next part of the road can go, and so on. However, you can also click farther away from the flag to build several steps at once. Click on the flag at the headquarters to finish the road." ..
1995-"</p></rt>")
1996-end
1997-
1998-function start_lumberjack_02(p)
1999- return p:add_objective("lumberjack02",
2000- _ "Build another lumberjack's hut",
2001- "<rt><p>" ..
2002-_"* Place a flag in the middle of the road.<br> There is a flag symbol in the middle of the way you just built. You create a flag there by clicking on the symbol and then choosing the flag button in the menu that opens up. This divides the way the wood is transported into two parts with one carrier each.<br> When many wares are being transported between two points, additional flags in between make them arrive at their destination faster, thus improving your infrastructure.<br>" ..
2003-_"* Place a lumberjack's hut just south of the flag you just placed on the road. Connect the flag you just raised with the flag of the new lumberjack's hut construction site afterwards.<br> Note that instead of building a road step by step, you may also click directly at its destination to build the entire road at once." ..
2004-"</p></rt>")
2005-end
2006-
2007-function start_ranger(p)
2008- return p:add_objective("ranger", _ "Build a ranger's hut",
2009-"<rt><p>" ..
2010-_"* Build a ranger's hut to the east of the first lumberjack's hut." ..
2011-"</p></rt>")
2012-end
2013-
2014-function start_quarries(p)
2015- return p:add_objective("quarries", _ "Build two quarries",
2016-"<rt><p>" ..
2017-_"* Build two quarries southwest of your headquarters." ..
2018-"</p></rt>")
2019-end
2020+start_lumberjack_01 = {
2021+ name = "start_lumberjack_01",
2022+ title = _ "Build a lumberjack’s hut",
2023+ number = 2,
2024+ body = objective_text(_"Build a lumberjack’s hut",
2025+[[• ]] .. _"Press SPACE to see where you can build. The red house symbols show you where a small building – like a lumberjack’s hut – may be built." .. "<br><br>" ..
2026+[[• ]] .. _"Build a lumberjack’s hut at the red house symbol just right of your headquarters by clicking on it and selecting a lumberjack’s hut." .. "<br><br>" ..
2027+[[• ]] .. _"Build a road between your headquarters and the construction site of the lumberjack’s hut." .. "<br><br>" ..
2028+[[→ ]] .. _"When you place the lumberjack’s hut, a flag is created for it. You need to connect it to another flag by building a road between them. If you click on a flag and select to build a road, little symbols will appear around it to show you in which directions you can build it." .. "<br><br>" ..
2029+[[→ ]] .. _"The colors of these symbols indicate how steep this part of the road will be. Green is for flat, yellow means steep and red stands for very steep. The steeper the road is, the harder it will be for your people to walk on it (and your wares will be transported more slowly)." .. "<br><br>" ..
2030+[[→ ]] .. "You can click on any of the symbols to build the first part of the road there. New symbols will appear to show you where the next part of the road can go, and so on. However, you can also click farther away from the flag to build several steps at once. Click on the flag at the headquarters to finish the road."
2031+ ),
2032+}
2033+
2034+start_lumberjack_01_01 = {
2035+ name = "start_lumberjack_01_01",
2036+ title = _ "Build a lumberjack’s hut",
2037+ number = 1,
2038+ body = objective_text(_"Build a lumberjack’s hut",
2039+[[• ]] .. _"Press SPACE to see where you can build. The red house symbols show you where a small building – like a lumberjack’s hut – may be built." .. "<br><br>" ..
2040+[[• ]] .. _"Build a lumberjack’s hut at the red house symbol just right of your headquarters by clicking on it and selecting a lumberjack’s hut."
2041+ ),
2042+}
2043+
2044+start_lumberjack_01_02 = {
2045+ name = "start_lumberjack_01_02",
2046+ title = _ "Build a road to the lumberjack’s hut",
2047+ number = 1,
2048+ body = objective_text(_"Road to the lumberjack’ hut",
2049+[[• ]] .. _"Build a road between your headquarters and the construction site of the lumberjack’s hut." .. "<br><br>" ..
2050+[[→ ]] .. _"When you place the lumberjack’s hut, a flag is created for it. You need to connect it to another flag by building a road between them. If you click on a flag and select to build a road, little symbols will appear around it to show you in which directions you can build it." .. "<br><br>" ..
2051+[[→ ]] .. _"The colors of these symbols indicate how steep this part of the road will be. Green is for flat, yellow means steep and red stands for very steep. The steeper the road is, the harder it will be for your people to walk on it (and your wares will be transported more slowly)." .. "<br><br>" ..
2052+[[→ ]] .. _"You can click on any of the symbols to build the first part of the road there. New symbols will appear to show you where the next part of the road can go, and so on. However, you can also click farther away from the flag to build several steps at once. Click on the flag at the headquarters to finish the road."
2053+ ),
2054+}
2055+
2056+start_lumberjack_02 = {
2057+ name = "start_lumberjack_02",
2058+ title = _ "Build a second lumberjack’s hut",
2059+ number = 2,
2060+ body = objective_text(_"Build a second lumberjack’s hut",
2061+[[• ]] .. _"Place a flag in the middle of the road. There is a flag symbol in the middle of the road you just built. You create a flag there by clicking on the symbol and then choosing the flag button in the menu that opens up. This will divide the road the wood is transported into two parts with one carrier each." .. "<br><br>" ..
2062+[[• ]] .. _"Place a lumberjack’s hut just south of the flag you just placed on the road. Connect the flag you just raised with the flag of the new lumberjack’s hut construction site afterwards. Note that instead of building a road step by step, you may also click directly at its destination to build the entire road at once." .. "<br><br>" ..
2063+[[→ ]] .. _"When many wares are being transported between two points, additional flags in between make them arrive at their destination faster, thus improving your infrastructure."
2064+ ),
2065+}
2066+
2067+start_lumberjack_02_01 = {
2068+ name = "start_lumberjack_02_01",
2069+ title = _ "Build a second lumberjack’s hut",
2070+ number = 1,
2071+ body = objective_text(_"Build a second lumberjack’s hut",
2072+[[• ]] .. _"Place a flag in the middle of the road. There is a flag symbol in the middle of the road you just built. You create a flag there by clicking on the symbol and then choosing the flag button in the menu that opens up. This will divide the road the wood is transported into two parts with one carrier each." .. "<br><br>" ..
2073+[[→ ]] .. _"When many wares are being transported between two points, additional flags in between make them arrive at their destination faster, thus improving your infrastructure."
2074+ ),
2075+}
2076+
2077+start_lumberjack_02_02 = {
2078+ name = "start_lumberjack_02_02",
2079+ title = _ "Build a second lumberjack’s hut",
2080+ number = 1,
2081+ body = objective_text(_"Build a second lumberjack’s hut",
2082+[[• ]] .. _"Place a lumberjack’s hut just south of the flag you just placed on the road. Connect the flag you just raised with the flag of the new lumberjack’s hut construction site afterwards. Note that instead of building a road step by step, you may also click directly at its destination to build the entire road at once."
2083+ ),
2084+}
2085+
2086+start_ranger = {
2087+ name = "start_ranger",
2088+ title = _ "Build a ranger’s hut",
2089+ number = 1,
2090+ body = objective_text(_"Build a ranger’s hut",
2091+[[• ]] .. _"Build a ranger’s hut to the east of the first lumberjack’s hut."
2092+ ),
2093+}
2094+
2095+start_quarries = {
2096+ name = "start_quarries",
2097+ title = _ "Build two quarries",
2098+ number = 1,
2099+ body = objective_text(_"Build two quarries",
2100+[[• ]] .. _"Build two quarries south-west of your headquarters."
2101+ ),
2102+}
2103
2104 -- =======================================================================
2105 -- Kankruth's texts
2106 -- =======================================================================
2107
2108-khantrukh_1="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8080FF>" ..
2109-_"An old man says..." ..
2110-"</p></rt><rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
2111-_[[ "Hail, chieftain. I am Khantrukh and have seen many winters pass. Please allow me to aid you with my counsel through these darkened days." ]] ..
2112-"</p></rt>"
2113-
2114-khantrukh_2= "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8080FF>" ..
2115-_"Khantrukh continues..." ..
2116-"</p></rt><rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
2117-_[[ "None but the gods know how long we have to remain hidden here. The warriors hope we may march back gloriously any day now, but I strongly doubt that will happen soon. And the days are already getting shorter and colder...<br> We should prepare, in case we have to face the winter in these harsh lands. I believe to the east of our campsite are a few places where we could raise a lumberjack's hut."<br><br>-- NEW OBJECTIVES --<br> ]] ..
2118-_"* Press SPACE to see where you can build.<br> The red house symbols show you where a small building - like a lumberjack's hut - may be built.<br>" ..
2119-_"* Build a lumberjack's hut at the red house symbol just right of your headquarters by clicking on it and selecting a lumberjack's hut.<br>" ..
2120-"</p></rt>"
2121-
2122-
2123-khantrukh_3 = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8080FF>" ..
2124-_"The elder remarks..." ..
2125-"</p></rt><rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
2126-_[[ "Obviously, it would be too exhausting for our people to walk all the way to the lumberjack's hut through the wilderness. We will have to build a road between our hall and the lumberjack's hut. It's not a hard guess that the men would appreciate a way as short and plain as possible - the wood will surely be heavy enough, nevertheless."<br><br>-- NEW OBJECTIVE --<br> ]] ..
2127-_"* Build a road between your headquarters and the construction site of the lumberjack's hut.<br> When you place the lumberjack's hut, a flag is created for it. You need to connect it to another flag by building a road between them.<br> If you click on a flag and select to build a road, little symbols will appear around it to show you in which directions you can build it.<br> The colour of these symbols indicates how steep this part of the road will be. Green is for flat, yellow means steep and red stands for very steep. The steeper the road is, the harder it will be for your people to walk on it (and your wares will be transported more slowly).<br> You can click on any of the symbols to build the first part of the road there. New symbols will appear to show you where the next part of the road can go, and so on. However, you can also click farther away from the flag to build several steps at once. Click on the flag at the headquarters to finish the road." ..
2128-"</p></rt>"
2129-
2130-khantrukh_4 = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8080FF>" ..
2131-_"Khantrukh remembers..." ..
2132-"</p></rt><rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
2133-_[[ "There is an old saying:<br> 'A burden divided is easier to endure.'<br> A crossroads on the way between our headquarters and the lumberjack's hut would ease the work of our carriers."<br><br>-- NEW OBJECTIVE --<br> ]] ..
2134-_"* Place a flag in the middle of the road.<br> There is a flag symbol in the middle of the way you just built. You create a flag there by clicking on the symbol and then choosing the flag button in the menu that opens up. This divides the way the wood is transported into two parts with one carrier each.<br> When many wares are being transported between two points, additional flags in between make them arrive at their destination faster, thus improving your infrastructure.<br>" ..
2135-"</p></rt>"
2136-
2137-khantrukh_5 = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8080FF>" ..
2138-_"The old man looks to the sky..." ..
2139-"</p></rt><rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
2140-_[[ "The northern winds tell us that the coming winter will be a long and cruel one. One lumberjack's hut will not be enough to fit the needs of our people. More trees wait for our axes just south of our new crossroads - let us raise a second lumberjack's hut there!"<br><br>-- NEW OBJECTIVE --<br> ]] ..
2141-_"* Place a lumberjack's hut just south of the flag you just placed on the road. Connect the flag you just raised with the flag of the new lumberjack's hut construction site afterwards.<br> Note that instead of building a road step by step, you may also click directly at its destination to build the entire road at once." ..
2142-"</p></rt>"
2143-
2144-khantrukh_6 = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8080FF>" ..
2145-_"Khantrukh nods..." ..
2146-"</p></rt><rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
2147-_[[ "Of course, if we intended to build a bigger settlement, many more lumberjack's huts would be advisable, but this should suffice for now.<br> But never forget - these forests are our heritage, entrusted upon us by our ancestors. We must always respect and care for them. What we take, we must give back again.<br> So, in order to replace the trees we chop down, we should build a ranger's hut, preferably close to the lumberjack's hut."<br><br>-- NEW OBJECTIVE --<br> ]] ..
2148-_"* Build a ranger's hut to the east of the first lumberjack's hut." ..
2149-"</p></rt>"
2150-
2151-
2152-khantrukh_7 = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8080FF>" ..
2153-_"The elder speaks..." ..
2154-"</p></rt><rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
2155-_[[ "I am well aware, chieftain, that neither you nor your warriors have the desire to stay in this forsaken place for long. But even so, our war to reconquer our home might take a long time and it would seem wise to make preparations.<br> I would advise that we obtain stones for the future - who knows what fortifications we might be forced to build very soon. And - like a gift of destiny - there are indeed great rocks just nearby..."<br><br>-- NEW OBJECTIVE --<br> ]] ..
2156-_"* Build two quarries southwest of your headquarters." ..
2157-"</p></rt>"
2158-
2159-khantrukh_8 = "<rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
2160-_[[ "Very well done, chieftain. We now have all we need to face the winter and may prepare ourselves for the battles ahead.<br><br>--------------------- VICTORY! ----------------------<br><br> You may continue to play this map if you wish. Otherwise, move on to the next mission." ]] ..
2161-"</p></rt>"
2162+khantrukh_1= khantrukh(_"An old man says...",
2163+_[[Hail, chieftain. I am Khantrukh and have seen many winters pass. Please allow me to aid you with my counsel through these darkened days.]])
2164+
2165+khantrukh_2= khantrukh(_"Khantrukh continues...",
2166+_[[None but the gods know how long we have to remain hidden here. The warriors hope we may march back gloriously any day now, but I strongly doubt that will happen soon. And the days are already getting shorter and colder...]] .. "<br><br>" ..
2167+_[[We should prepare, in case we have to face the winter in these harsh lands. I believe to the east of our campsite are a few places where we could raise a lumberjack’s hut.]])
2168+.. new_objectives(start_lumberjack_01_01)
2169+
2170+khantrukh_3 = khantrukh(_"The elder remarks...",
2171+_[[Obviously, it would be too exhausting for our people to walk all the way to the lumberjack’s hut through the wilderness. We will have to build a road between our hall and the lumberjack’s hut. It’s not a hard guess that the men would appreciate a way as short and plain as possible – the wood will surely be heavy enough, nevertheless.]])
2172+.. new_objectives(start_lumberjack_01_02)
2173+
2174+khantrukh_4 = khantrukh(_"Khantrukh remembers...",
2175+_[[There is an old saying:]] .. "<br><br>" ..
2176+_[[‘A burden divided is easier to endure.’]] .. "<br><br>" ..
2177+_[[A crossroads on the road between our headquarters and the lumberjack’s hut would ease the work of our carriers.]])
2178+.. new_objectives(start_lumberjack_02_01)
2179+
2180+khantrukh_5 = khantrukh(_"The old man looks to the sky...",
2181+_[[The northern winds tell us that the coming winter will be a long and cruel one. One lumberjack’s hut will not be enough to serve the needs of our people. More trees await our axes just south of our new crossroads – let us raise a second lumberjack’s hut there!]])
2182+.. new_objectives(start_lumberjack_02_02)
2183+
2184+khantrukh_6 = khantrukh(_"Khantrukh nods...",
2185+_[[Of course, if we intended to build a bigger settlement, many more lumberjack’s huts would be advisable, but this should suffice for now.]] .. "<br><br>" ..
2186+_[[But never forget – these forests are our heritage, entrusted upon us by our ancestors. We must always respect and care for them. What we take, we must give back again.]] .. "<br><br>" ..
2187+_[[So, in order to replace the trees we chop down, we should build a ranger’s hut, preferably close to the lumberjack’s hut.]])
2188+.. new_objectives(start_ranger)
2189+
2190+khantrukh_7 = khantrukh(_"The elder speaks...",
2191+_[[I am well aware, chieftain, that neither you nor your warriors have the desire to stay in this forsaken place for long. But even so, our war to reconquer our home might take a long time and it would seem wise to make preparations.]] .. "<br><br>" ..
2192+_[[I would advise that we obtain stones for the future – who knows what fortifications we might be forced to build very soon. And – like a gift of destiny – there are indeed great rocks just nearby...]])
2193+.. new_objectives(start_quarries)
2194+
2195+khantrukh_8 = khantrukh(_[[Very well done, chieftain. We now have all we need to face the winter and may prepare ourselves for the battles ahead.]])
2196+.. objective_text(_"Victory",
2197+ _[[You may continue to play this map if you wish. Otherwise, move on to the next mission.]]
2198+)
2199
2200 -- =======================================================================
2201 -- General story texts by the chieftain
2202 -- =======================================================================
2203 story_msg1 = {
2204- title = _"In the night",
2205- msg ="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
2206-_"Thron speaks..." ..
2207-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
2208-_ [[ "In another sleepless night, I went up to the hill and gazed to the north. The fires are still burning, satisfying their hunger upon my father's legacy.<br> They are a constant reminder why we have to hide here... and why we must return in the end!" ]] ..
2209-"</p></rt>",
2210+ title = _"In the Night",
2211+ msg = thron(_"Thron says...",
2212+_[[During another sleepless night, I went up to the hill and gazed towards the north. The fires are still burning, satisfying their hunger upon my father’s legacy.]] .. "<br><br>" ..
2213+_[[They are a constant reminder of why we have to hide here... and why we must return in the end!]]),
2214 field = al_thunran,
2215 }
2216
2217 story_msg2= {
2218- title = _"At the tomb",
2219- msg = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
2220-_"Thron speaks..." ..
2221-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
2222-_[[ "Once again, I went up to my father's tomb, in a sacred grove at the foot of the great spire of Kal'mavrath. I just stood there and felt neither the hours pass nor the cold rain pouring down from a darkened sky...<br> Somehow it felt like a farewell. For the first time, I wondered what the future might hold for me..." ]] ..
2223-"</p></rt>",
2224+ title = _"At the Tomb",
2225+ msg = thron(_"Thron says...",
2226+_[[Once again, I went up to my father’s tomb, in a sacred grove at the foot of the great spire of Kal’mavrath. I just stood there and felt neither the hours pass nor the cold rain pouring down from the darkened sky...]] .. "<br><br>" ..
2227+_[[Somehow, it felt like a farewell. For the first time, I wondered what the future might hold for me...]]),
2228 field = grave,
2229 }
2230
2231 story_msg3 = {
2232- title=_ "The other day",
2233- msg = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
2234-_"Thron says thoughtfully..." ..
2235-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
2236-_[[ "Some time ago, Boldreth came to me. His advice was to move to a place closer to home - to strike at the first sign of my brothers' forces wavering.<br> But I look over the forests and I can still see black smoke rising to the sky. I know - it is too early yet, and what he hopes for will not happen any time soon. He might still be right, but I fear the bloodshed that returning too fast would cause both on our and the other side..." ]] ..
2237-"</p></rt>"
2238+ title=_ "The Other Day",
2239+ msg = thron(_"Thron says thoughtfully...",
2240+_[[Some time ago, Boldreth came to me. His advice was to move to a place closer to home – to strike at the first sign of my brothers’ forces wavering.]] .. "<br><br>" ..
2241+_[[But when I look over the forests I can still see black smoke rising to the sky. I know – it is too early yet, and what he hopes for will not happen any time soon. He might still be right, but I fear the bloodshed that returning too fast would cause both on our and the other side...]])
2242 }
2243
2244 story_msg4 = {
2245-title =_ "The oath",
2246-msg = "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
2247-_"Thron looks furious..." ..
2248-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
2249-_[[ "Today, my warriors picked up an old man, wandering sick and wounded through the dark forest. We listened in horror when he told us of the atrocities taking place in Al'thunran.<br> I hereby renew my oath - I will stop this madness at any cost!" ]] ..
2250-"</p></rt>"
2251+title =_ "The Oath",
2252+msg = thron(_"Thron looks furious...",
2253+_[[Today, my warriors picked up an old man, wandering sick and wounded through the dark forest. We listened in horror as he told us of the atrocities taking place in Al’thunran.]] .. "<br><br>" ..
2254+_[[I hereby renew my oath – I will stop this madness at any cost!]])
2255 }
2256
2257
2258=== modified file 'campaigns/t02.wmf/elemental'
2259--- campaigns/t02.wmf/elemental 2010-11-18 10:39:43 +0000
2260+++ campaigns/t02.wmf/elemental 2014-03-05 18:47:45 +0000
2261@@ -4,7 +4,7 @@
2262 map_h=64
2263 nr_players=1
2264 world=greenland
2265-name=_"02 - A Place to call Home"
2266+name=_"02 – A Place to Call Home"
2267 author=Winterwind
2268-descr=_"In this scenario the higher production buildings, including mining and the military expansions will be introduced."
2269+descr=_"In this scenario, the higher production buildings including mining and military expansions will be introduced."
2270 background="tribes/barbarians/pics/campmap-tut1+2.jpg"
2271
2272=== modified file 'campaigns/t02.wmf/scripting/mission_thread_texts.lua'
2273--- campaigns/t02.wmf/scripting/mission_thread_texts.lua 2012-12-16 19:08:16 +0000
2274+++ campaigns/t02.wmf/scripting/mission_thread_texts.lua 2014-03-05 18:47:45 +0000
2275@@ -1,53 +1,9 @@
2276 -- =========================
2277 -- Some formating functions
2278 -- =========================
2279--- Rich Text
2280-function rt(text_or_opts, text)
2281- k = "<rt>"
2282- if text then
2283- k = ("<rt %s>"):format(text_or_opts)
2284- else
2285- text = text_or_opts
2286- end
2287-
2288- return k .. text .. "</rt>"
2289-end
2290-
2291--- Headings
2292-function h1(s)
2293- return "<p font=DejaVuSerif font-size=18 font-weight=bold font-color=D1D1D1>"
2294- .. s .. "<br></p><p font-size=8> <br></p>"
2295-end
2296-
2297-function h2(s)
2298- return "<p font=DejaVuSerif font-size=12 font-weight=bold font-color=D1D1D1>"
2299- .. s .. "<br></p><p font-size=4> <br></p>"
2300-end
2301-
2302--- Simple flowing text. One Paragraph
2303-function p(s)
2304- return "<p line-spacing=3 font-size=12>" .. s .. "<br></p>" ..
2305- "<p font-size=8> <br></p>"
2306-end
2307-
2308--- Direct speech by one of the persons that appear in the map
2309-function speech(img, clr, g_title, g_text)
2310- local title, text = g_title, g_text
2311- if not text then
2312- title = nil
2313- text = g_title
2314- end
2315-
2316- local s = ""
2317- if title then
2318- s = rt("<p font-size=20 font-weight=bold font-face=DejaVuSerif " ..
2319- ("font-color=%s>"):format(clr) .. title ..
2320- "</p><p font-size=8> <br></p>"
2321- )
2322- end
2323-
2324- return s .. rt(("image=%s"):format(img), p(text))
2325-end
2326+
2327+use("aux", "formatting")
2328+use("aux", "format_scenario")
2329
2330 function thron(title, text)
2331 return speech("map:chieftain.png", "2F9131", title, text)
2332@@ -59,146 +15,133 @@
2333 return speech("map:boldreth.png", "FF0000", title, text)
2334 end
2335
2336-function obj_text(heading, body)
2337- return rt(h2(heading) .. p(body))
2338-end
2339-
2340-function new_objectives(...)
2341- local s = rt(
2342- "<p font=DejaVuSerif font-size=18 font-weight=bold font-color=D1D1D1>"
2343- .. _"New Objectives" .. "</p>")
2344-
2345- for idx,obj in ipairs{...} do
2346- s = s .. obj.body
2347- end
2348- return s
2349-end
2350-
2351-
2352 -- =======================================================================
2353 -- OBJECTIVES
2354 -- =======================================================================
2355 obj_claim_northeastern_rocks = {
2356 name = "mission quarry",
2357 title =_"Expand north-east and build a quarry",
2358- body = obj_text(_"Expand north-east to the stones", _
2359-[[Build military buildings (like sentries or barriers) to expand your
2360-territory. Get to the rocks northeast from you and build a quarry there.]]
2361- ),
2362+ number = 1,
2363+ body = objective_text(_"Expand north-east to the stones", _(
2364+[[Build military buildings (like sentries or barriers) to expand your territory. ]] ..
2365+[[Get to the rocks north-east from you and build a quarry there.]]
2366+ )),
2367 }
2368
2369 obj_build_mines = {
2370-name="mission mines",
2371-title=_"Start building mines on the mountain",
2372-body= obj_text(_"Build coal and iron ore mines", _
2373-[[Build a coal mine and an iron ore mine. To do so, place a flag up on the
2374-mountain's flank to the east (on mountain terrain though, not mountain meadow).
2375-When you click at the new flag you can send geologists there. Because the flag
2376-is on mountains, the geologists will search for ores; otherwise, they will
2377-search for water. Then build a mine for both kinds of resource he will find,
2378-choosing the mine to be built appropriately:<br> Black - coal<br> Red - iron
2379-ore<br> Yellow - gold<br> Grey - granite<br> Mines may only be built on
2380-mountain terrain. Suitable places for mines are displayed as hammer and pick.]]
2381+ name="mission mines",
2382+ title=_"Start building mines on the mountain",
2383+ number = 2,
2384+ body= objective_text(_"Build coal and iron ore mines", _(
2385+[[Build a coal mine and an iron ore mine. To do so, place a flag up on the mountain’s flank to the east ]] ..
2386+[[(on mountain terrain though, not mountain meadow). When you click on the new flag, you can send geologists there. ]] ..
2387+[[Because the flag is on a mountain, the geologists will search for ores; otherwise, they would search for water. ]] ..
2388+[[Then build a mine for both kinds of resources that he will find, choosing the mine to be built appropriately:]]) .. "<br><br>" ..
2389+_[[Black – coal]] .. "<br>" ..
2390+_[[Red – iron ore]] .. "<br>" ..
2391+_[[Yellow – gold]] .. "<br>" ..
2392+_[[Grey – granite]] .. "<br><br>" ..
2393+_[[Mines can only be built on mountain terrain. Suitable places for mines are displayed as a mining symbol.]]
2394 )
2395 }
2396
2397 obj_basic_food = {
2398 name="basic food began",
2399 title=_"Provide your miners with food",
2400- body= obj_text(_"Build a hunter, a gamekeeper and a tavern", _
2401-[[In order to work, your miners need food.<br> A hunter can hunt down animals,
2402-while a gamekeeper prevents them from becoming extinct. The meat is then
2403-processed in a tavern into lunches for your miners.<br> This is only the
2404-first example of a ware which has to be refined before being used in a
2405-secondary building - others will follow.]]
2406+ number = 3,
2407+ body= objective_text(_"Build a hunter, a gamekeeper and a tavern", _
2408+[[In order to work, your miners need food.]] .. "<br><br>" ..
2409+_([[A hunter can hunt down animals, while a gamekeeper prevents them from becoming extinct. ]] ..
2410+[[The meat is then processed in a tavern into lunches for your miners.]]) .. "<br><br>" ..
2411+_([[This is only the first example of a ware which has to be refined before being used in a secondary building]] ..
2412+[[ – others will follow.]])
2413 )
2414 }
2415
2416 obj_begin_farming = {
2417-name="farming began",
2418-title=_"Bake bread",
2419-body=obj_text(_ "Build a well, a farm and a bakery", _
2420-[[Other ways to produce food - different kinds of food - are fishers and
2421-hunters. The wheat of the farms has to be processed with water in a bakery
2422-before it becomes edible. You can obtain water by building a well at a spot
2423-where your geologists find a water source.]]
2424- )
2425+ name="farming began",
2426+ title=_"Bake bread",
2427+ number = 3,
2428+ body=objective_text(_ "Build a well, a farm and a bakery", _(
2429+[[Other ways to produce food – different kinds of food – are fishers and hunters. ]] ..
2430+[[The wheat of the farms has to be processed with water in a bakery before it becomes edible. ]] ..
2431+[[You can obtain water by building a well at a spot where your geologists have found a water source.]]
2432+ ))
2433 }
2434
2435 obj_refine_ores = {
2436-name="refining began",
2437-title=_"Refine your mined resources",
2438-body= obj_text(_ "Build a smelting works", _
2439-[[The iron ore your miners bring up is not usable yet - it has to be melted
2440-into iron first.]]
2441+ name="refining began",
2442+ title=_"Refine your mined resources",
2443+ number = 1,
2444+ body= objective_text(_ "Build a smelting works", _
2445+[[The iron ore your miners dig up is not usable yet – it has to be melted into iron first.]]
2446 )
2447 }
2448
2449 obj_enhance_buildings = {
2450-name="enhance buildings",
2451-title=_"Enhance buildings and build a micro brewery",
2452-body= obj_text(_
2453+ name="enhance buildings",
2454+ title=_"Enhance buildings and build a micro brewery",
2455+ number = 3,
2456+ body= objective_text(_
2457 [[Enhance the coal mine and the tavern to the better versions of their
2458-buildings respectively. Also build a micro brewery.]], _
2459-[[A normal mine can only dig up about one third of all resources lying beneath
2460-it; then it must be enhanced to a deep mine in order to keep it working
2461-properly. To enhance a building, choose it and then click the appropriate
2462-button in the appearing window.<br> Workers gain experience by successful work.
2463-With enough experience they become more advanced workers, who are necessary to
2464-operate the enhanced buildings. Do not enhance a building before you have
2465-enough advanced workers to operate the advanced building! Such buildings
2466-usually have greater demands than the basic kind of that building - for
2467-instance, deep mines need snacks instead of rations. You will have to enhance
2468-your tavern to an inn in order to produce snacks out of pitta bread AND a
2469-second kind of food (meat or fish) AND beer. You may of course enhance all
2470-mines to deep mines instantly given you have the workers - bigger mines work a
2471-bit faster, smaller mines need cheaper food. It's up to you which strategy you
2472-prefer.]]
2473- )
2474+buildings respectively. Also build a micro brewery.]], _(
2475+[[A normal mine can only dig up about one third of all the resources lying beneath it; ]] ..
2476+[[then it must be enhanced to a deep mine in order to keep it working properly. ]] ..
2477+[[To enhance a building, choose it and then click the appropriate button in the appearing window.]]) .. "<br><br>" ..
2478+_([[Workers gain experience by successful work. With enough experience, they become more advanced workers, ]] ..
2479+[[who are necessary to operate the enhanced buildings. ]] ..
2480+[[Do not enhance a building before you have enough advanced workers to operate the advanced building!]]) .. "<br><br>" ..
2481+_([[Such buildings usually have greater demands than the basic kind of that building]] ..
2482+[[ – for instance, deep mines need snacks instead of rations. ]] ..
2483+[[You will have to enhance your tavern to an inn in order to produce snacks out of pitta bread AND a second kind of food]] ..
2484+[[ (meat or fish) AND beer. You may of course enhance all mines to deep mines instantly given you have the workers]] ..
2485+[[ – bigger mines work a bit faster, smaller mines need cheaper food. It’s up to you which strategy you prefer.]]
2486+ ))
2487 }
2488
2489 obj_better_material_1 = {
2490-name="built hardener",
2491-title=_"Build a wood hardener",
2492-body= obj_text(_ "Build a wood hardener", _
2493-[[Bigger and better buildings - including all military ones - require better
2494-building materials. They cannot be built of simple trunks - the wood has to be
2495-refined to blackwood by a wood hardener first. Always remember to build a wood
2496-hardener before you run out of blackwood, as without it you cannot expand.]]
2497- )
2498+ name="built hardener",
2499+ title=_"Build a wood hardener",
2500+ number = 1,
2501+ body= objective_text(_ "Build a wood hardener", _(
2502+[[Bigger and better buildings – including all military ones – require better building materials. ]] ..
2503+[[They cannot be built out of simple logs – the wood has to be refined to blackwood by a wood hardener first. ]] ..
2504+[[Always remember to build a wood hardener before you run out of blackwood, as without it you cannot expand.]]
2505+ ))
2506 }
2507
2508 obj_better_material_2 = {
2509-name="mission grindstone",
2510-title=_"Build a lime kiln and coal economy",
2511-body=obj_text(_"Build a lime kiln, a well and a charcoal burner or coal mine", _
2512-[[Better buildings may also require other improved materials besides blackwood.
2513-One of those is grout, which is produced out of raw stone, water and coal by a
2514-lime-burner. You can obtain water by building a well upon a water source, which
2515-your geologists can discover when you send them to any flag that is not on a
2516-mountain. Coal can be obtained by building a charcoal burner or a coal mine.]]
2517- )
2518+ name="mission grindstone",
2519+ title=_"Build a lime kiln and coal economy",
2520+ number = 3,
2521+ body=objective_text(_"Build a lime kiln, a well and a charcoal burner or coal mine", _(
2522+[[Better buildings may also require other improved materials besides blackwood. ]] ..
2523+[[One of these is grout, which is produced out of raw stone, water and coal by a lime-burner.]]) .. "<br><br>" ..
2524+_([[You can obtain water by building a well upon a water source, ]] ..
2525+[[which your geologists can discover when you send them to any flag that is not on a mountain. ]] ..
2526+[[Coal can be obtained by building a charcoal burner or a coal mine.]]
2527+ ))
2528 }
2529
2530 obj_better_material_3 = {
2531-name="mission fernery",
2532-title=_"Build a fernery",
2533-body= obj_text(_"Build a fernery", _
2534-[[The third material necessary for improved buildings is thatch reed, used to
2535-cover roofs. Thatch reed is planted by a ferner around his building, the
2536-fernery.]]
2537- )
2538+ name="mission fernery",
2539+ title=_"Build a reed yard",
2540+ number = 1,
2541+ body= objective_text(_"Build a reed yard", _(
2542+[[The third material necessary for improved buildings is thatch reed, used to cover roofs. ]] ..
2543+[[Thatch reed is planted by a gardener around his building, the reed yard.]]
2544+ ))
2545 }
2546
2547 obj_build_cattlefarm = {
2548 name = "mission cattlefarm",
2549 title = _ "Build a cattlefarm",
2550- body = obj_text(_"Build a cattlefarm", _
2551-[[When roads are under heavy load for a long time, one carrier is usually not
2552-enough to transport goods swiftly. Traffic jams are the consequence. Such roads
2553-therefore employ a second carrier: An ox that helps to carry the wares. This
2554-doubles the transport capacity.<br>Oxen are bred in cattle farms
2555-out of wheat and water.]]
2556+ number = 1,
2557+ body = objective_text(_"Build a cattlefarm", _(
2558+[[When roads are under heavy load for a long time, one carrier is usually not enough to transport goods swiftly. ]] ..
2559+[[Traffic jams are the consequence. Such roads therefore employ a second carrier: ]] ..
2560+[[An ox that helps to carry the wares. This doubles the transport capacity.]]) .. "<br><br>" ..
2561+_[[Oxen are bred in cattle farms out of wheat and water.]]
2562 )
2563 }
2564
2565@@ -207,237 +150,273 @@
2566 -- Texts for the Main Mission Thread
2567 -- =======================================================================
2568 briefing_msg_1 = {
2569- title =_ "The story continues",
2570- body = thron(_"Thron shakes his head...",
2571-_[[ "The war goes on. More and more of our brothers and sisters flee the brutal war raging in the capital beneath the trees.<br> The stories they tell about the deeds of our kin are sad to hear. I've spent nights lying awake, restless, more tired I ever believed one could be. Yet whenever I close my eyes, I see the fortress my father built consumed by flames. The Throne Among the Trees, the symbol of unity and peace among our kin, became the wedge that drives us apart." ]]
2572+ title =_ "The Story Continues",
2573+ body = thron(_"Thron is shaking his head...",
2574+_([[The war goes on. More and more of our brothers and sisters flee the brutal war raging ]] ..
2575+[[in the capital beneath the trees.]]) .. "<br><br>" ..
2576+_([[The stories they tell about the deeds of our kin are sad to hear. ]] ..
2577+[[I’ve spent nights lying awake, restless, more tired than I ever believed one could be. ]] ..
2578+[[Yet whenever I close my eyes, I see the fortress my father built consumed by flames. ]] ..
2579+[[The Throne Among the Trees, the symbol of unity and peace among our kin, became the wedge that drives us apart.]])
2580 )
2581 }
2582
2583 briefing_msg_2 = {
2584- title =_ "The story continues",
2585+ title =_ "The Story Continues",
2586 body = thron(
2587-_ [[ "Today my hunters brought men, women and little children who had hidden out in the forests, trying to escape the war, hate and revenge that rage among the tribes fighting each other like in old times, when we were no more but wild beasts driven and controlled by instincts. None of my brothers will ever gain and hold control over the wooden throne, none of the tribes will be strong enough to subdue the other. There will be no end to this slaughtering, unless... is this it? As father told me?<br> Rise against whoever threatens our very existence, may it even be one of your blood or mind?" ]]
2588+_([[Today my hunters brought men, women and little children before me who had hidden out in the forests, ]] ..
2589+[[trying to escape the war, hate and revenge that rage among the tribes fighting each other like in olden times, ]] ..
2590+[[when we were no more but wild beasts driven and controlled by instincts. ]] ..
2591+[[None of my brothers will ever gain and hold control over the wooden throne, ]] ..
2592+[[none of the tribes will be strong enough to subdue the other. T]] ..
2593+[[here will be no end to this slaughter, unless... is this it? As father told me?]]) .. "<br><br>" ..
2594+_([[To rise against whoever threatens our very existence, even tough it may be one of your own blood or mind?]])
2595 )
2596 }
2597
2598
2599 briefing_msg_3 = {
2600- title =_ "The story continues",
2601+ title =_ "The Story Continues",
2602 body = thron(
2603-_[[ "Boldreth seems more and more torn as the days go by. The spirits of my fellows sink as the cold season approaches, and we are still living in no more than huts and barracks. I never intended to stay out here in the wilderness for so long - but I never thought my brothers would engage in this senseless battle for so long either.<br> Perhaps it's time to make ourselves feel a little more at ease here. Perhaps it's time to give those who still live and think united a new home, replacing what is now lost to us? Until we can return to the place we once called our home..." ]]
2604+_([[Boldreth seems more and more torn as the days go by. ]] ..
2605+[[The spirits of my fellows sink as the cold season approaches, and we are still living in no more than huts and barracks. ]] ..
2606+[[I never intended to stay out here in the wilderness for so long]] ..
2607+[[ – but I never thought my brothers would engage in this senseless battle for so long either.]]) .. "<br><br>" ..
2608+_([[Perhaps it’s time to make ourselves feel a little more at ease here. ]] ..
2609+[[Perhaps it’s time to give those who still live and think united a new home, ]] ..
2610+[[replacing what is now lost to us? Until we can return to the place we once called our home...]])
2611 )
2612 }
2613
2614
2615 order_msg_1 = {
2616- title=_"Your loyal companion",
2617- body = boldreth(_"Brave Boldreth steps aside you...",
2618-_[[ "So you want to prepare us for a longer stay in these forests, Thron? Well, I see the wisdom in doing so, yet my heart is yearning for a glorious return to Al'thunran. Too long have we waited while our brethren have fought on the battlefield, and our axes and swords have turned rusty over time." ]]
2619+ title=_"Your Loyal Companion",
2620+ body = boldreth(_"Brave Boldreth steps to your side...",
2621+_([[So you want to prepare us for a longer stay in these forests, Thron? ]] ..
2622+[[Well, I see the wisdom in doing so, yet my heart is yearning for a glorious return to Al’thunran. ]] ..
2623+[[Too long have we waited while our brethren have fought on the battlefield, ]] ..
2624+[[and our axes and swords have turned rusty over time.]])
2625 )
2626 }
2627
2628
2629 order_msg_2 = {
2630- title =_ "The advisor",
2631+ title =_ "The Advisor",
2632 body = khantrukh(_"Khantrukh joins in ...",
2633-_[[ "I beg your forgiveness, chieftain, but I have a grave concern to discuss with you. The rocks close to our camp are shrinking fast under our workers' tools, and it is a matter of little time only before they are all gone." ]]
2634+_([[I beg your forgiveness, chieftain, but I have a grave concern to discuss with you. ]] ..
2635+[[The rocks close to our camp are shrinking fast under our workers’ tools, ]] ..
2636+[[and it is a matter of little time only before they are all gone.]])
2637 )
2638 }
2639
2640 order_msg_3 = {
2641- title=_"Your loyal companion",
2642+ title=_"Your Loyal Companion",
2643 posx = 0,
2644 body = boldreth( _"Boldreth jumps up...",
2645-_[["While it is certainly no worthy task for a warrior, at least it is
2646-something to be done! Thron, what do you say about me taking a few of our most
2647-restless warriors and venturing somewhat closer to the great mountain of
2648-Kal'mavrath - maybe we will find some more big stones to please the old man?"]]
2649+_([[While it is certainly no worthy task for a warrior, at least it is something to do! ]] ..
2650+[[Thron, what would you say about my taking a few of our most restless warriors ]] ..
2651+[[and venturing somewhat closer to the great mountain of Kal’mavrath]] ..
2652+[[ – maybe we will find some more big stones to please the old man?]])
2653 ) .. new_objectives(obj_claim_northeastern_rocks),
2654 }
2655
2656 order_msg_4 = {
2657- title =_ "The advisor",
2658+ title =_ "The Advisor",
2659 posx = 0,
2660 body = khantrukh( _"Khantrukh grumbles...", _
2661- [[ "Old man? Disrespectful youth!" ]]
2662+ [[Old man? Disrespectful youth!]]
2663 )
2664 }
2665
2666 order_msg_5_quarry = {
2667- title=_"The advisor",
2668+ title=_"The Advisor",
2669 body= khantrukh( _"Khantrukh nods satisfied...", _
2670-[[ "At last! These rocks should last for a while." ]]
2671+[[At last! These rocks should last for a while.]]
2672 )
2673 }
2674
2675 order_msg_6_geologist = {
2676- title=_"Your loyal companion",
2677- body=boldreth(_"Boldreth exclaims...", _
2678-[["Just look at that! In the east is the great mountain of Kal'mavrath! I
2679-wonder what treasures nature might have hidden beneath its majestic flanks!<br>
2680-Let's expand to the east. There's a chance for the elderly to become useful
2681-once in a while! Let us send out some of those who understand the stone's
2682-tongue to unravel the mountain's secrets!"]]) .. new_objectives(obj_build_mines)
2683+ title=_"Your Loyal Companion",
2684+ body=boldreth(_"Boldreth exclaims...",
2685+_([[Just look at that! In the east is the great mountain of Kal’mavrath! ]] ..
2686+[[I wonder what treasures nature might have hidden beneath its majestic flanks!]]) .. "<br><br>" ..
2687+_([[Let’s expand to the east. There’s a chance for the elderly to become useful once in a while! ]] ..
2688+[[Let us send out some of those who understand the stone’s tongue to unravel the mountain’s secrets!]])
2689+ ) .. new_objectives(obj_build_mines)
2690 }
2691
2692 order_msg_7_mines_up = {
2693- title=_"Your loyal companion",
2694- body=boldreth(_"Boldreth laughs...", _
2695-[[ "By Chat'Karuth's beard, this is awesome! Just imagine what we can use this coal and iron ore for!<br> It might even be enough to..." ]]
2696+ title=_"Your Loyal Companion",
2697+ body=boldreth(_"Boldreth laughs...",
2698+_([[By Chat’Karuth’s beard, this is amazing! Just imagine what we can use this coal and iron ore for!]]) .. "<br><br>" ..
2699+_([[It might even be enough to...]])
2700 )
2701 }
2702
2703 order_msg_8_mines_up = {
2704- title=_"The advisor",
2705- body =khantrukh(_"Khantrukh interrupts...", _
2706-[[ "While this is true, we should consider it later, for now other obstacles are at hand. The miners will definitely demand greater rations for working high up on the mountain in this bitter cold, and providing these supplies may not be easy." ]]
2707+ title=_"The Advisor",
2708+ body =khantrukh(_"Khantrukh interrupts...",
2709+_([[While this is true, we should consider it later, for now other obstacles are at hand. ]] ..
2710+[[The miners will definitely demand greater rations for working high up on the mountain in this bitter cold, ]] ..
2711+[[and providing these supplies may not be easy.]])
2712 )
2713 }
2714
2715
2716 order_msg_9_hunter = {
2717- title=_"Your loyal companion",
2718- body=boldreth(_"Boldreth nods...", _
2719-[["I have to hand it to you: you are right here, old man.<br> There seem to be
2720-quite many animals in the forests here - we might just hunt down more of them.
2721-And, of course, the people would cheer to a new tavern - hey, we might call it
2722-'Thron's Pride' or so if you want!"]]) .. new_objectives(obj_basic_food)
2723+ title=_"Your Loyal Companion",
2724+ body=boldreth(_"Boldreth nods...",
2725+_([[I have to hand it to you: you are right here, old man.]]) .. "<br><br>" ..
2726+_([[There seem to be quite a lot of animals in the forests here – we might just hunt down more of them. ]] ..
2727+[[And, of course, the people would cheer a new tavern – hey, we might call it ‘Thron’s Pride’ or so if you want!]])
2728+ ) .. new_objectives(obj_basic_food)
2729 }
2730
2731 order_msg_10_bread = {
2732- title=_"The advisor",
2733- body=khantrukh(_"The elder jumps into the air...", _
2734-[["Wisdom commands to seek variety.<br> North of the great mountain is a large
2735-plain - why don't we use the space Mother Nature gave us and build a farm? I
2736-sure would enjoy a freshly baked pitta bread for a change..."]]) ..
2737- new_objectives(obj_begin_farming)
2738+ title=_"The Advisor",
2739+ body=khantrukh(_"The elder jumps into the air...",
2740+_([[Wisdom commands to seek variety.
2741+
2742+North of the great mountain is a large plain – why don’t we use the space Mother Nature gave us and build a farm? ]] ..
2743+[[I sure would enjoy a freshly baked pitta bread for a change...]])
2744+ ) .. new_objectives(obj_begin_farming)
2745 }
2746
2747 order_msg_11_basic_food_began = {
2748- title=_"Your loyal companion",
2749- body=boldreth(_"Boldreth cheers up...", _
2750-[[ "Our hunters are out in the forests, Thron.<br> I promise you, before the sun sets today you will have a magnificent meal fit for the chieftain of all clans!" ]]
2751+ title=_"Your Loyal Companion",
2752+ body=boldreth(_"Boldreth cheers up...",
2753+_([[Our hunters are out in the forests, Thron.]]) .. "<br><br>" ..
2754+_([[I promise you, before the sun sets today you will have a magnificent meal fit for the chieftain of all clans!]])
2755 )
2756 }
2757
2758 order_msg_12_farming_began = {
2759- title=_"The advisor",
2760+ title=_"The Advisor",
2761 body=khantrukh(_ "Khantrukh gazes over the plains...",
2762-_[[ "Isn't it lovely, the view of golden fields, growing peacefully, dancing to the wind? And I believe the baker is just on his way here, with his most delicious bread reserved for our chieftain alone!" ]]
2763+_([[Isn’t it lovely, the view of golden fields, growing peacefully, dancing to the wind? ]] ..
2764+[[And I believe the baker is just on his way here, with his most delicious bread reserved for our chieftain alone!]])
2765 )
2766 }
2767
2768 order_msg_13_tavern = {
2769- title=_"A beautiful morning",
2770- body=thron(_"Thron recognizes...", _
2771-[[ "A tavern opened for our people yesterday. While I am hardly in the mood for celebration, I noticed how much this tiny bit of home meant to my people. Their songs filled the air until the deep night, and they were in higher spirit still the day after.<br> Maybe we actually are slowly creating a place here which we can... call home." ]]
2772+ title=_"A Beautiful Morning",
2773+ body=thron(_"Thron recognizes...",
2774+_([[A tavern opened for our people yesterday. While I am hardly in the mood for celebration, ]] ..
2775+[[I noticed how much this tiny bit of home means to my people. ]] ..
2776+[[Their songs filled the air until deep in the night, and they were in higher spirits still the day after.]]) .. "<br><br>" ..
2777+_([[Maybe we actually are slowly creating a place here which we can... call home.]])
2778 )
2779 }
2780
2781 order_msg_14_refine_ore = {
2782- title=_ "Your loyal companion",
2783- body= boldreth(_"Boldreth remarks...", _
2784-[["So now that we have both the mines and the food to sustain them, we should
2785-bring what our brave miners gain for us into a more useful state. The iron ore
2786-has to be melted into iron so that it is ready to be forged into whatever we
2787-want. And we need the coal to keep the smelter's ovens burning."]]) ..
2788- new_objectives(obj_refine_ores)
2789+ title=_ "Your Loyal Companion",
2790+ body= boldreth(_"Boldreth remarks...",
2791+_([[So now that we have both the mines and the food to sustain them, ]] ..
2792+[[we should bring what our brave miners gain for us into a more useful state. ]] ..
2793+[[The iron ore has to be melted into iron so that it is ready to be forged into whatever we want. ]] ..
2794+[[And we need the coal to keep the smelter’s ovens burning.]])
2795+ ) .. new_objectives(obj_refine_ores)
2796 }
2797
2798 order_msg_15_mines_exhausted = {
2799- title=_ "The advisor",
2800- body = khantrukh(_"Khantrukh speaks...", _
2801-[["Our miners are digging up less and less by day! We have to go deeper,
2802-closer to the mountain's core, if we want more of its treasures!<br> Of course,
2803-it is dark and cold in such depths and only few venture voluntarily into these
2804-places. We should reward this bravery with greater rations for them. And a pint
2805-of beer or two will keep their spirits high."]]) ..
2806- new_objectives(obj_enhance_buildings)
2807+ title=_ "The Advisor",
2808+ body = khantrukh(_"Khantrukh speaks...",
2809+_([[Our miners are digging up less and less by the day! We have to go deeper, closer to the mountain’s core, ]] ..
2810+[[if we want more of its treasures!]]) .. "<br><br>" ..
2811+_([[Of course, it is dark and cold in such depths and only a few venture voluntarily into these places. ]] ..
2812+[[We should reward this bravery with greater rations for them. And a pint of beer or two will keep their spirits high.]])
2813+ ) .. new_objectives(obj_enhance_buildings)
2814 }
2815
2816 order_msg_16_blackwood = {
2817- title=_"Your loyal companion",
2818- body= boldreth(_"Boldreth seems concerned...", _
2819-[["As I just discovered, we are running short on blackwood! We cannot put our
2820-warriors into some crumbling huts, and even less so in times as dangerous as
2821-ours!<br> We need a wood hardener, and we need one now!"]]) ..
2822- new_objectives(obj_better_material_1)
2823+ title=_"Your Loyal Companion",
2824+ body= boldreth(_"Boldreth seems concerned...",
2825+_([[As I just discovered, we are running short on blackwood! We cannot put our warriors into some crumbling huts, ]] ..
2826+[[and even less so in times as dangerous as ours!]]) .. "<br><br>" ..
2827+_([[We need a wood hardener, and we need one now!]])
2828+ ) .. new_objectives(obj_better_material_1)
2829 }
2830
2831 order_msg_17_grindstone = {
2832- title=_"Your loyal companion",
2833- body= boldreth(_"Boldreth smiles...", _
2834-[["Well, old friend, this should ensure that our fortifications do not break
2835-down with our foes' first battle cry! Now we can expand safely!<br> Still, it
2836-would not hurt to assemble some grout for our further campaign; thus we could,
2837-in times of need, build a fortress as the world has not seen before!"]]) ..
2838- new_objectives(obj_better_material_2)
2839+ title=_"Your Loyal Companion",
2840+ body= boldreth(_"Boldreth smiles...",
2841+_([[Well, old friend, this should ensure that our fortifications do not break down with our foes’ first battle cry! ]] ..
2842+[[Now we can expand safely!]]) .. "<br><br>" ..
2843+_([[Still, it would not hurt to accumulate some grout for our further campaign; ]] ..
2844+[[thus we could, in times of need, build a fortress such as the world has never seen before!]])
2845+ ) .. new_objectives(obj_better_material_2)
2846 }
2847
2848 order_msg_18_fernery = {
2849- title=_"The advisor",
2850- body= khantrukh(_"Khantrukh steps in...", _
2851-[["Chieftain, this is a disgrace! It is well that we can produce grout for
2852-mighty fortifications and great buildings now - only this does not prevent our
2853-roofs from becoming leaky! Maybe the young ones like spending their nights in
2854-the rain, but I just can't find any sleep with these raindrops dripping on my
2855-face!<br> Now this is a problem we should do something about!"]]) ..
2856- new_objectives(obj_better_material_3)
2857+ title=_"The Advisor",
2858+ body= khantrukh(_"Khantrukh steps in...",
2859+_([[Chieftain, this is a disgrace! ]] ..
2860+[[It is well that we can produce grout for mighty fortifications and great buildings now]] ..
2861+[[ – only this does not prevent our roofs from becoming leaky! ]] ..
2862+[[Maybe the young ones like spending their nights in the rain, ]] ..
2863+[[but I just can’t find any sleep with these raindrops dripping on my face!]]) .. "<br><br>" ..
2864+_([[Now this is a problem we should do something about!]])
2865+ ) .. new_objectives(obj_better_material_3)
2866 }
2867
2868 order_msg_19_all_material = {
2869- title=_"The advisor",
2870- body=khantrukh(_"Khantrukh seems relieved...", _
2871-[[ "Wonderful! Our roofs are not dripping anymore, and we have all the material we need for, well, whichever monumental building we see fit!" ]]
2872+ title=_"The Advisor",
2873+ body=khantrukh(_"Khantrukh seems relieved...",
2874+_([[Wonderful! Our roofs are not dripping anymore, and we have all the material we need for, ]] ..
2875+[[well, whichever monumental building we see fit!]])
2876 )
2877 }
2878
2879 msg_mission_complete = {
2880 title=_"Mission Complete",
2881- body= thron( _
2882-[["The other day Boldreth asked me to accompany him to the new inn. It would
2883-cheer me up, he said.<br> When I looked around, I saw faithful faces, trusting
2884-that I could guide them through these dark days. Yet before I could speak any
2885-words of gratitude or encouragement, one of my warriors ran into the inn. He
2886-had been far out in the forest for the past days and I could see how weary he
2887-was.<br> The news he brought changed everything..."]]) .. rt(
2888- h1(_"Victory") .. p(_
2889-[[You have completed this mission. You may continue playing if you wish,
2890-otherwise move on to the next mission.]]
2891- )
2892+ body= thron(
2893+_([[The other day Boldreth asked me to accompany him to the new inn. It would cheer me up, he said.]]) .. "<br><br>" ..
2894+_([[When I looked around, I saw faithful faces, trusting that I could guide them through these dark days. ]] ..
2895+[[Yet before I could speak any words of gratitude or encouragement, one of my warriors ran into the inn. ]] ..
2896+[[He had been far out in the forest for the past days and I could see how weary he was.]]) .. "<br><br>" ..
2897+_([[The news he brought changed everything...]])
2898+ ).. objective_text(_"Victory",
2899+ _[[You have completed this mission. You may continue playing if you wish, otherwise move on to the next mission.]]
2900 )
2901 }
2902
2903 msg_cattlefarm_00 = {
2904- title = _ "We need oxen!",
2905- body = khantrukh(_ "Khantrukh speaks", _
2906-[["As our realm gets bigger and bigger, the traffic on the roads gets
2907-overwhelming. Our poor carriers are no longer able to transport the goods as
2908-fast as we need them to. I suggest we give them some support by breeding
2909-oxen.<br> They are amazing animals: The ox is as swift as a human being while
2910-being much stronger and very frugal: all we need is wheat and water to breed
2911-them and they will do their work on the roads loyally and reliably."]]) ..
2912- new_objectives(obj_build_cattlefarm)
2913+ title = _ "We Need Oxen!",
2914+ body = khantrukh(_ "Khantrukh speaks...",
2915+_([[As our realm is getting bigger and bigger, the traffic on the roads is overwhelming. ]] ..
2916+[[Our poor carriers are no longer able to transport the goods as fast as we need them to. ]] ..
2917+[[I suggest we give them some support by breeding oxen.]]) .. "<br><br>" ..
2918+_([[They are amazing animals: The ox is as swift as a human being while being much stronger and very frugal: ]] ..
2919+[[all we need is wheat and water to breed them and they will do their work on the roads loyally and reliably.]])
2920+ ) .. new_objectives(obj_build_cattlefarm)
2921 }
2922
2923 msg_story_1 = {
2924- title=_"One fullmoon night",
2925- body=thron(_"Thron speaks...", _
2926-[[ "One night, when the moon shone brightly, I climbed to the peak of Kal'mavrath.<br> When I gazed at the horizon, I still saw crimson lights flicker in the distance. It is incredible how much passion my brethren fight this war with. I fear the moment I see Al'thunran again - will there be anything but ashes and wasted ruins left of our once beautiful capital when we get there?" ]]
2927+ title=_"One Full Moon Night",
2928+ body=thron(_"Thron speaks...",
2929+_([[One night, when the moon shone brightly, I climbed to the peak of Kal’mavrath.]]) .. "<br><br>" ..
2930+_([[When I gazed at the horizon, I still saw crimson lights flicker in the distance. ]] ..
2931+[[It is incredible with how much passion my brethren fight this war. ]] ..
2932+[[I fear the moment I will see Al’thunran again]] ..
2933+[[ – will there be anything but ashes and wasted ruins left of our once beautiful capital when we get there?]])
2934 )
2935 }
2936
2937 msg_story_2 = {
2938- title= _"Another cold day",
2939- body=thron(_"Thron looks worried...", _
2940-[[ "The winter is upon us. Many of us are suffering from the cold, yet we must endure. The day we may return cannot be far anymore - it must not be far anymore.<br> I prayed it might get warmer again, as I prayed the war would finally come to an end.<br> So far, it seems that neither prayer was fulfilled." ]]
2941+ title= _"Another Cold Day",
2942+ body=thron(_"Thron looks worried...",
2943+_([[The winter is upon us. Many of us are suffering from the cold, yet we must endure. ]] ..
2944+[[The day we may return cannot be far anymore – it must not be far anymore.]]) .. "<br><br>" ..
2945+_([[I prayed that it might get warmer again, as I prayed that the war would finally come to an end.]]) .. "<br><br>" ..
2946+_([[So far, it seems that neither prayer was fulfilled.]])
2947 )
2948 }
2949
2950 msg_village = {
2951- title=_"A friendly village joined us!",
2952- body= thron(_"Thron speaks...",_
2953-[[ "We have found a village with friendly and productive people, impressed by our wealth, technology and strength.<br> They have decided to join us!" ]]
2954+ title=_"A friendly village has joined us!",
2955+ body= thron(_"Thron speaks...",
2956+_([[We have found a village with friendly and productive people, impressed by our wealth, technology and strength.]]) .. "<br><br>" ..
2957+_([[They have decided to join us!]])
2958 )
2959 }
2960
2961
2962=== modified file 'campaigns/t03.wmf/elemental'
2963--- campaigns/t03.wmf/elemental 2010-11-18 10:39:43 +0000
2964+++ campaigns/t03.wmf/elemental 2014-03-05 18:47:45 +0000
2965@@ -4,7 +4,7 @@
2966 map_h="112"
2967 nr_players="4"
2968 world="winterland"
2969-name=_"03 - This Land is our Land"
2970+name=_"03 – This Land is Our Land"
2971 author="Wolfpac & Nasenbaer"
2972 descr=_"This tutorial explains the handling of military and training site buildings and will introduce fighting."
2973 background="tribes/barbarians/pics/campmap-tut3.jpg"
2974
2975=== modified file 'campaigns/t03.wmf/scripting/texts.lua'
2976--- campaigns/t03.wmf/scripting/texts.lua 2012-12-16 19:08:16 +0000
2977+++ campaigns/t03.wmf/scripting/texts.lua 2014-03-05 18:47:45 +0000
2978@@ -1,141 +1,153 @@
2979--- =========================
2980--- Some formating functions
2981--- =========================
2982--- Rich Text
2983-function rt(text_or_opts, text)
2984- k = "<rt>"
2985- if text then
2986- k = ("<rt %s>"):format(text_or_opts)
2987- else
2988- text = text_or_opts
2989- end
2990-
2991- return k .. text .. "</rt>"
2992-end
2993-
2994--- Headings
2995-function h1(s)
2996- return "<p font=DejaVuSerif font-size=18 font-weight=bold font-color=D1D1D1>"
2997- .. s .. "<br></p><p font-size=8> <br></p>"
2998-end
2999-
3000-function direct_speech(heading, text)
3001- return "<p font-size=24 font-face=DejaVuSerif font-weight=bold " ..
3002- "font-color=2F9131>" .. heading .. "</p><p font-size=8> <br></p>" .. text
3003-end
3004-
3005--- Simple flowing text. One Paragraph
3006-function p(s)
3007- return "<p line-spacing=3 font-size=12>" .. s .. "<br></p>" ..
3008- "<p font-size=8> <br></p>"
3009-end
3010-
3011--- No logic below
3012+use("aux", "formatting")
3013+use("aux", "format_scenario")
3014+
3015+function thron(title, text)
3016+ return speech("map:chieftain.png", "2F9131", title, text)
3017+end
3018+function khantrukh(title, text)
3019+ return speech("map:khantrukh.png", "8080FF", title, text)
3020+end
3021+function boldreth(title, text)
3022+ return speech("map:boldreth.png", "FF0000", title, text)
3023+end
3024
3025 -- =======================================================================
3026 -- Objective messages
3027 -- =======================================================================
3028+
3029+
3030 obj_build_small_food_economy = {
3031 name = "build_small_food_economy",
3032 title=_"Build up a small food economy",
3033- body = "<rt><p line-spacing=3 font-size=12>" ..
3034-_[[* Build up a basic food economy - a fisher's hut, a hunter's hut, a well, a farm and a bakery, to provide your people with food.]] ..
3035-"</p></rt>",
3036+ number = 5,
3037+ body = objective_text(_"Build up a small food economy",
3038+[[• ]] .. _([[Build up a basic food economy to provide your people with food]] ..
3039+[[ – a fisher’s hut, a hunter’s hut, a well, a farm and a bakery.]])),
3040 }
3041
3042 obj_build_cattlefarm = {
3043 name = "obj_build_cattlefarm",
3044- title = _ "Remember to build a cattle farm",
3045- body = rt(p(_
3046-[[As your roads grow longer and your economy bigger you should make good use
3047- of your oxen to help transport wares quicker. Remember to build a cattle
3048- farm!]]))
3049+ title = _ "Build a cattle farm",
3050+ number = 1,
3051+ body = objective_text(_"Remember to build a cattle farm",
3052+_([[As your roads grow longer and your economy bigger, you should make good use of your oxen ]] ..
3053+[[to help transport wares more quickly. Remember to build a cattle farm!]])),
3054 }
3055
3056 obj_build_a_donjon = {
3057 name = "build_a_donjon",
3058 title=_"Build a donjon",
3059- body= "<rt><p line-spacing=3 font-size=12>" ..
3060-_"* Build a donjon at the northeast of your territory to get a farther visual range and to protect your people from sudden attacks of enemies." ..
3061-"</p></rt>",
3062+ number = 1,
3063+ body = objective_text(_"Build a donjon",
3064+[[• ]] .. _([[Build a donjon at the north-east of your territory to get greater visual range ]] ..
3065+[[and to protect your people from sudden attacks of enemies.]])),
3066 }
3067
3068 obj_explore_further = {
3069 name = "explore_further",
3070 title=_"Explore further",
3071- body= "<rt><p line-spacing=3 font-size=12>" ..
3072-_"* Build more military buildings to explore the area around the headquarters and to ensure the safety of your people." ..
3073-"</p></rt>",
3074+ number = 1,
3075+ body = objective_text(_"Explore further",
3076+[[• ]] .. _([[Build more military buildings to explore the area around the headquarters ]] ..
3077+[[and to ensure the safety of your people.]])),
3078 }
3079
3080 obj_build_mining_economy = {
3081 name = "build_mining_economy",
3082- title=_"Build mines",
3083- body= "<rt><p line-spacing=3 font-size=12>" ..
3084-_"* Expand your territory to the mountains, send geologists to search for ore and coal and build a mining economy with mines, taverns, smelting works and metalworks." ..
3085-"</p></rt>",
3086+ title=_"Build a mining infrastructure",
3087+ number = 6,
3088+ body = objective_text(_"Build a mining infrastructure",
3089+[[• ]] .. _([[Expand your territory to the mountains, send geologists to search for ore and coal ]] ..
3090+[[and build a mining economy with mines, taverns, smelting works and metalworks.]])),
3091 }
3092
3093 obj_build_a_fortress = {
3094 name = "build_a_fortress",
3095 title=_"Build a fortress",
3096- body= "<rt><p line-spacing=3 font-size=12>" ..
3097-_"* Build a fortress to the east of the mountains." ..
3098-"</p></rt>",
3099-}
3100+ number = 1,
3101+ body = objective_text(_"Build a fortress",
3102+[[• ]] .. _"Build a fortress to the east of the mountains."),
3103+}
3104+
3105+obj_build_training_infrastructure = {
3106+ name = "build_training_infrastructure",
3107+ title=_"Build a training infrastructure",
3108+ number = 4,
3109+ body = objective_text(_"Build a training infrastructure",
3110+[[• ]] .. _"Build a battle arena and a training camp to the west of the mountains." ..
3111+"<br>" ..
3112+[[• ]] .. _([[Enhance your metal workshop to an axfactory in order to produce weapons, ]] ..
3113+[[and build up a second metal workshop to ensure the production of tools. ]] ..
3114+[[When the blacksmith reaches his next level (master blacksmith), ]] ..
3115+[[you can even enhance the axfactory to a war mill, which will produce additional weapons.]]) ..
3116+"<br>" ..
3117+[[• ]] .. _"Build a helmsmithy to the west of the mountains to provide your soldiers with better armor."),
3118+}
3119+
3120
3121 obj_build_a_warehouse = {
3122 name = "build_a_warehouse",
3123 title=_"Build a warehouse",
3124- body= "<rt><p line-spacing=3 font-size=12>" ..
3125-_"* Build a warehouse to the west of the mountains." ..
3126-"<br>" ..
3127-_"-> Warehouses are similar to your headquarters, with the only difference that it is not defended by soldiers. It is often wise to build a warehouse when your territory is growing and the paths to your headquarters get longer and longer." ..
3128-"</p></rt>",
3129+ number = 1,
3130+ body = objective_text(_"Build a warehouse",
3131+[[• ]] .. _"Build a warehouse to the west of the mountains." ..
3132+"<br><br>" ..
3133+[[→ ]] .. _([[Warehouses are similar to your headquarters, ]] ..
3134+[[with the only difference that they aren’t defended by soldiers. ]] ..
3135+[[It is often wise to build a warehouse when your territory is growing ]] ..
3136+[[and the paths to your headquarters get longer and longer.]])),
3137 }
3138
3139 obj_build_trainingssites = {
3140 name = "build_trainingssites",
3141- title=_"Build trainingssites",
3142- body= "<rt><p line-spacing=3 font-size=12>" ..
3143-_"* Build a battle arena and a trainings camp to the west of the mountains." ..
3144+ title=_"Build training sites",
3145+ number = 2,
3146+ body = objective_text(_"Build training sites",
3147+[[• ]] .. _"Build a battle arena and a training camp to the west of the mountains." ..
3148 "<br>" ..
3149-_"-> Trainingssites like a training camp or a battle arena are used for training soldiers in their different attributes. Those attributes are important in fights and the better a soldier is, the higher is the chance to win a fight.<br>Attributes are: health points, attack, defense and evade." ..
3150-"</p></rt>",
3151+[[→ ]] .. _([[Training sites like a training camp or a battle arena are used ]] ..
3152+[[for training soldiers in their different attributes. ]] ..
3153+[[These attributes are important in fights and the better a soldier is, the higher is the chance to win a fight.]]) .. "<br>" ..
3154+_"The attributes are: health points, attack, defense and evade."),
3155 }
3156
3157 obj_build_weapon_productions = {
3158 name = "build_weapon_productions",
3159- title=_"Build weapon productions",
3160- body= "<rt><p line-spacing=3 font-size=12>" ..
3161-_"* Enhance your metalworks to an axefactory to start producing weapons, and build up another metalworks to ensure the production of tools. When the blacksmith reaches his next level (master blacksmith), you can even enhance your axefactory to a war mill." ..
3162-"</p></rt>",
3163+ title=_"Build weapons production",
3164+ number = 3,
3165+ body = objective_text(_"Build weapons production",
3166+[[• ]] .. _([[Enhance your metal workshop to an axfactory in order to produce weapons, ]] ..
3167+[[and build up a second metal workshop to ensure the production of tools. ]] ..
3168+[[When the blacksmith reaches his next level (master blacksmith), ]] ..
3169+[[you can even enhance the axfactory to a war mill, which will produce additional weapons.]])),
3170 }
3171
3172 obj_build_a_helmsmithy = {
3173 name = "build_a_helmsmithy",
3174 title=_"Build a helmsmithy",
3175- body= "<rt><p line-spacing=3 font-size=12>" ..
3176-_"* Build a helmsmithy to the west of the mountains to provide your soldiers with better armor." ..
3177-"</p></rt>",
3178+ number = 1,
3179+ body = objective_text(_"Build a helmsmithy",
3180+[[• ]] .. _"Build a helmsmithy to the west of the mountains to provide your soldiers with better armor."),
3181 }
3182
3183 obj_destroy_kalitaths_army = {
3184 name = "destroy_kalitaths_army",
3185- title=_"Destroy Kalitaths army",
3186- body= "<rt><p line-spacing=3 font-size=12>" ..
3187-_"* Destroy Kalitaths army and expand your territory to the east." ..
3188-"<br>" ..
3189-_"-> To attack an enemy you must click on the door of an adversary's military building. A menu will pop up allowing you to select the number of soldiers that should attack. When you are ready with setting the number, click on the cross ('start attack')" ..
3190-"</p></rt>",
3191+ title=_"Destroy Kalitath’s army",
3192+ number = 2,
3193+ body = objective_text(_"Destroy Kalitath’s army",
3194+[[• ]] .. _"Destroy Kalitath’s army and expand your territory to the east." ..
3195+"<br><br>" ..
3196+[[→ ]] .. _([[To attack an enemy, you must click on the door of an adversary’s military building. ]] ..
3197+[[A menu will pop up allowing you to select the number of soldiers that should attack. ]] ..
3198+[[When you are ready with setting the number, click on the cross (‘Start Attack’).]])),
3199 }
3200
3201 obj_military_assault_on_althunran = {
3202 name = "military_assault_on_althunran",
3203 title=_"Military assault on Al’thunran",
3204- body= "<rt><p line-spacing=3 font-size=12>" ..
3205-_"* Destroy all enforcements of Thron’s two brothers to liberate the throne-circle." ..
3206-"</p></rt>",
3207+ number = 1,
3208+ body = objective_text(_"Military assault on Al’thunran",
3209+[[• ]] .. _"Destroy all forces of Thron’s two brothers to liberate the throne-circle."),
3210 }
3211
3212 -- =======================================================================
3213@@ -143,237 +155,252 @@
3214 -- =======================================================================
3215 story_msg_1 = {
3216 posy=1,
3217- title=_"Close to home",
3218- body ="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
3219-_"Thron looks worried..." ..
3220-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3221-
3222-_[[ "These last days we came closer to our capital. Many people have already joined us on our march and set their hopes on me. However, I fear that we are not strong enough to take up the battle with my brothers.<br>For now we rest at the borders of the old forest and prepare for the coming days." ]] ..
3223-"</p></rt>",
3224+ title=_"Close to Home",
3225+ body =thron(_"Thron looks worried...",
3226+_([[These last days, we came closer to our capital. ]] ..
3227+[[Many people have already joined us on our march and set their hopes on me. ]] ..
3228+[[However, I fear that we are not strong enough to take up the battle against my brothers.]]) ..
3229+"<br><br>" ..
3230+_([[For now, we are resting at the borders of the old forest and preparing for the coming days.]])),
3231 }
3232
3233 story_msg_2 = {
3234 posy=1,
3235- title=_"Another cold day",
3236- body ="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
3237-_"Thron looks worried." ..
3238-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3239-_[[ "The news that a patrol brought is not good to hear. Our spies tell us, that the wartribes still rage in battle but some of the elder soldiers and tribe leaders seem to grow tired of this senseless war. Kalitath, son of Kun is the first warleader to leave Al’thunran, thus leaving his side weak and vulnerable. As my scouts report, he has set foot on the lower grounds around the capitol, securing the outer fortification rings." ]] ..
3240-"</p></rt>",
3241+ title=_"Another Cold Day",
3242+ body =thron(_"Thron looks worried...",
3243+_([[The news that a patrol brought is not good to hear. ]] ..
3244+[[Our spies tell us that the war tribes still rage in battle, ]] ..
3245+[[but some of the elder soldiers and tribe leaders seem to grow tired of this senseless war. ]] ..
3246+[[Kalitath, son of Kun is the first war leader to leave Al’thunran, thus leaving his side weak and vulnerable. ]] ..
3247+[[As my scouts report, he has set foot on the lower grounds around the capital, ]] ..
3248+[[securing the outer fortification rings.]])),
3249 }
3250
3251 story_msg_3 = {
3252 title=_"Doubts",
3253 posy=1,
3254- body ="<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
3255-_"Boldreth shakes his head." ..
3256-"</p></rt><rt image=map:boldreth.png><p line-spacing=3 font-size=12>" ..
3257-_[[ "Thron seeks to believe that Kalitath is tired of fighting and will be willing to join us, once we march to re-establish law and order in Al’thunran. But I don’t think so. Kalitath is son to one of the mightiest generals of our forces and his family never quite liked the thought to bow before the banner of Chat’Karuth. Why should he march with his son to reclaim his heritage and the throne?" ]] ..
3258-"</p></rt>",
3259+ body = boldreth(_"Boldreth is shaking his head...",
3260+_([[Thron seeks to believe that Kalitath is tired of fighting and would be willing to join us ]] ..
3261+[[once we march to re-establish law and order in Al’thunran. But I don’t think so. ]] ..
3262+[[Kalitath is son to one of the mightiest generals of our forces ]] ..
3263+[[and his family never quite liked the thought of bowing before the banner of Chat’Karuth. ]] ..
3264+[[Why should he march with Chat’Karuth’s son to reclaim his heritage and the throne?]])),
3265 }
3266
3267 story_msg_4 = {
3268 posy=1,
3269- title=_"The story continues",
3270- body= "<rt image=map:boldreth.png><p line-spacing=3 font-size=12>" ..
3271-_[[ "However, Thron is not willing to listen to my doubts. He seeks to expand our fortifications to the borders of Kalitath’s territory and reunite with his forces. I have to keep an eye on everything that happens here." ]] ..
3272-"</p></rt>",
3273+ title=_"The Story Continues",
3274+ body= boldreth(
3275+_([[However, Thron is not willing to listen to my doubts. ]] ..
3276+[[He seeks to expand our fortifications to the borders of Kalitath’s territory and to reunite with his forces. ]] ..
3277+[[I have to keep an eye on everything that happens here.]])),
3278 }
3279
3280 story_msg_5 = {
3281 posy=1,
3282- title=_"Another cold day",
3283- body= "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
3284-_"Thron speaks confidently." ..
3285-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3286-_[[ "The frontier line of my forces has expanded to the edge of the forests. We have a long and cold winter and so many miles behind us. The fortification that we erected around Ondun will guarantee us a fast supply of men and goods and once Al’thunran is in my hands, the two cities will be linked by a good and defendable infrastructure. Still I hope I will not walk alone on this mission, I hope Kalitath son of Kun will follow my call." ]] ..
3287-"</p></rt>",
3288+ title=_"Another Cold Day",
3289+ body= thron(_"Thron is speaking confidently.",
3290+_([[The frontier line of my forces has expanded to the edge of the forests. ]] ..
3291+[[We have a long and cold winter and so many miles behind us. ]] ..
3292+[[The fortification that we erected around Ondun will guarantee us a fast supply of men and goods, ]] ..
3293+[[and once Al’thunran is in my hands, the two cities will be linked by a good and defensible infrastructure. ]] ..
3294+[[Still, I hope I will not walk alone on this mission, I hope Kalitath son of Kun will follow my call.]])),
3295 }
3296
3297 story_msg_6 = {
3298 posy=1,
3299- title=_"The story continues",
3300- body= "<rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3301-_[[ "I have sent men to meet with Kalitath in his fortress. He has barricaded the former main entrance to the capital and is trying to set up a siege ring around Al’thunran. He will not let anyone enter or leave the city while the ring is intact. Until now, he has not answered any of my messages. But the time I wait won't be lost. I will further upgrade my soldiers and prepare for battle." ]] ..
3302-"</p></rt>",
3303+ title=_"The Story Continues",
3304+ body= thron(
3305+_([[I have sent men to meet with Kalitath in his fortress. ]] ..
3306+[[He has barricaded the former main entrance to the capital and is trying to set up a siege ring around Al’thunran. ]] ..
3307+[[He will not let anyone enter or leave the city while the ring is intact. ]] ..
3308+[[Until now, he has not answered any of my messages. But the time I spend waiting won’t be lost. ]] ..
3309+[[I will further upgrade my soldiers and prepare for battle.]])),
3310 }
3311
3312 order_msg_7_destroy_kalitaths_army = {
3313- title=_"Your loyal companion",
3314- body= "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=FF0000>" ..
3315-_"Boldreth shouts out!" ..
3316-"</p></rt><rt image=map:boldreth.png><p line-spacing=3 font-size=12>" ..
3317-_[[ "This BASTARD! Only one man of our frontier patrol came back alive. He carried a message from Kalitath telling us that he will punish every move of our troops with their own blood! We cannot accept this behaviour. From now on there is war between Kalitath and us!" ]] ..
3318-"<br><br>" ..
3319-_"-- NEW OBJECTIVE --" ..
3320-"<br>" ..
3321-_"* Destroy Kalitath's army and expand your territory to the east." ..
3322-"<br>" ..
3323-_"-> To attack an enemy you must click on the door of an adversary's military building. A menu will pop up allowing you to select the number of soldiers that should attack. When you are ready with setting the number, click on the cross ('start attack')" ..
3324-"</p></rt>",
3325+ title=_"Your Loyal Companion",
3326+ body= boldreth(_"Boldreth shouts out!",
3327+_([[The BASTARD! Only one man of our frontier patrol came back alive. ]] ..
3328+[[He carried a message from Kalitath, telling us that he will punish every move of our troops with their own blood! ]] ..
3329+[[We cannot accept this behavior. From now on, there is war between Kalitath and us!]]))
3330+.. new_objectives(obj_destroy_kalitaths_army),
3331 }
3332
3333+
3334+
3335 order_msg_7_renegade_fortification = {
3336 posy = 1,
3337- title=_"Renegade fortification",
3338- body= "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
3339-_"Thron speaks:" ..
3340-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3341-_[[ "The traitor has left his armies dying where they lay as he saw that he would not keep my forces back. Kalitath disappeared in the mess of the war, but I don’t care now. Shall he flee and be forgotten for all times as a tribeleader that would not bow before the wooden throne, that is mine to take now. Even more his flight brought us a big benefit: All year Kalitath was so busy fighting that he did not even care to store enough food for all his men. Now that he has fled, their hunger has brought some of his younger followers to desert. This group holds a strong fortification on the main ring. But there is more news: My scouts reported, that the two raging tribes of my brothers are in chaos and have barely noticed the new danger that is about to strike them. However they would not care if they noticed I guess, blinded by rage and hate, there is no sense left in them at all I believe." ]] ..
3342-"</p></rt>",
3343+ title=_"Renegade Fortification",
3344+ body= thron(_"Thron says:",
3345+_([[The traitor left his armies dying where they lay when he saw that he would not keep my forces back. ]] ..
3346+[[Kalitath disappeared in the confusion of the war, but I don’t care now. ]] ..
3347+[[Shall he flee and be forgotten for all times as a tribal leader that would not bow before the wooden throne, ]] ..
3348+[[that is mine to take now.]]) .. "<br><br>" ..
3349+_([[Furthermore, his flight brought us a great benefit: ]] ..
3350+[[all year, Kalitath was so busy fighting that he did not even care to store enough food for all his men. ]] ..
3351+[[Now that he has fled, their hunger has caused some of his younger followers to desert. ]] ..
3352+[[This group holds a strong fortification on the main ring.]]) ..
3353+_([[But there is more news: ]] ..
3354+[[My scouts have reported that the two raging tribes of my brothers are in chaos ]] ..
3355+[[and have barely noticed the new danger that is about to strike them. ]] ..
3356+[[However, they would not care if they noticed I guess, blinded by rage and hate, ]] ..
3357+[[there is no sense left in them at all I believe.]])),
3358 }
3359
3360 briefing_msg_1 = {
3361 posy=1,
3362- title=_"Winter ahead",
3363- body= "<rt><p font-size=24 font-weight=bold font-face=DejaVuSerif font-color=2F9131>" ..
3364-_"Boldreth speaks:" ..
3365-"</p></rt><rt image=map:boldreth.png><p line-spacing=3 font-size=12>" ..
3366-_[[ "This morning I found Thron trouble-minded. He returned from his patrol late last night and sat back against a tree watching over the encampment. The number of quarrels and disputes keeps growing and the winter has us firmly in its grip. We should put food in our storage to survive the long, cold winter!" ]] ..
3367-"</p></rt>",
3368+ title=_"Winter Ahead",
3369+ body= boldreth(_"Boldreth says:",
3370+_([[This morning, I found Thron’s mind troubled. He returned from his patrol late last night ]] ..
3371+[[and sat back against a tree, watching over the encampment. ]] ..
3372+[[The number of quarrels and disputes keeps growing, and the winter has us firmly in its grip. ]] ..
3373+[[We should put food in our storage to survive the long, cold winter!]])),
3374 }
3375
3376 order_msg_1_small_food_economy = {
3377 posy=1,
3378- title=_"The advisor",
3379- body= "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=8080FF>" ..
3380-_"Khantrukh nods" ..
3381-"</p></rt><rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
3382-_[[ "Boldreth is right! We don't have enough food to survive a long, cold winter. We should start to build a well, a fisher's and a hunter's hut. And if we find enough space, we should as well build up a farm and a bakery! One of our farmers seems to be very clever he already got some crops to grow in this cold soil." ]] ..
3383-"<br><br>" ..
3384-_"-- NEW OBJECTIVE --" ..
3385-"<br>" ..
3386-_"* Build up a basic food economy - a fisher's hut, a hunter's hut, a well, a farm and a bakery, to provide your people with food." ..
3387-"</p></rt>",
3388+ title=_"The Advisor",
3389+ body= khantrukh(_"Khantrukh nods.",
3390+_([[Boldreth is right! We don’t have enough food to survive a long, cold winter. ]] ..
3391+[[We should start to build a well, a fisher’s and a hunter’s hut. ]] ..
3392+[[And if we find enough space, we should as well build up a farm and a bakery! ]] ..
3393+[[One of our farmers seems to be very clever – he already got some crops to grow in this cold soil.]]))
3394+.. new_objectives(obj_build_small_food_economy),
3395 }
3396
3397 story_note_1 = {
3398 posy=1,
3399- title=_"Food economy completed",
3400- body= "<rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3401-_[[ "Khantrukh just informed me, that our basic food economy was built up successfully. Finally none of us has to fear starvation anymore.]] ..
3402-"</p></rt>",
3403+ title=_"Food Economy Completed",
3404+ body= thron(
3405+_([[Khantrukh has just informed me that our basic food economy was built up successfully. ]] ..
3406+[[Finally, none of us has to fear starvation anymore.]])),
3407 }
3408
3409 order_msg_2_build_a_donjon = {
3410 posy=1,
3411 title=_"Tracks",
3412- body= "<rt image=map:boldreth.png><p line-spacing=3 font-size=12>" ..
3413- _[[ "Thron told me that he discovered tracks in the snow to the northeast of our settlement. He instructed us to build a Donjon, to have a greater visual range on the area around our hall to protect our people from sudden attacks." ]] ..
3414- "<br><br>" ..
3415-_"-- NEW OBJECTIVE --" ..
3416-"<br>" ..
3417-_"* Build a donjon at the northeast of your territory." ..
3418-"</p></rt>",
3419+ body= boldreth(
3420+ _([[Thron told me that he discovered tracks in the snow to the northeast of our settlement. ]] ..
3421+[[He has instructed us to build a Donjon, to have a greater visual range over the area around our hall ]] ..
3422+[[to protect our people from sudden attacks.]]))
3423+.. new_objectives(obj_build_a_donjon),
3424 }
3425
3426 order_msg_3_explore_further = {
3427 posy=1,
3428- title=_"Further explorations",
3429- body= "<rt image=map:boldreth.png><p line-spacing=3 font-size=12>" ..
3430-_[[ "The first fortification Thron ordered has just been completed. At the moment he seeks to bring trust and belief to those who live inside the walls of our new habitat, that we named 'Ondun', which means 'those who wait' in the old tongue. But Thron is not yet satisfied - and I fully understand his fears: The forests are deep and the frontier to Al’thunran is near. I am sure that there are a thousand greater dangers out there than the unknown tracks.<br>To overlook more of the area around our hall we should explore further and set up more guards and scouts to observe the frontier and keep an eye on the raging wars on our doorsteps. THEN we will be prepared once trouble seeks to capture our woods." ]] ..
3431+ title=_"Further Exploration",
3432+ body= boldreth(
3433+_([[The first fortification Thron ordered has just been completed. ]] ..
3434+[[At the moment, he seeks to bring trust and belief to those who live inside the walls of our new habitat, ]] ..
3435+[[that we named ‘Ondun’, which means ‘those who wait’ in the old tongue. ]] ..
3436+[[But Thron is not yet satisfied – and I fully understand his fears: ]] ..
3437+[[the forests are deep, and the frontier to Al’thunran is near. ]] ..
3438+[[I am sure that there are a thousand greater dangers out there than the unknown tracks.]]) ..
3439 "<br><br>" ..
3440-_"-- NEW OBJECTIVE --" ..
3441-"<br>" ..
3442-_"* Build more military buildings to explore the area around the headquarters and to ensure the safety of your people." ..
3443-"</p></rt>",
3444+_([[To overlook more of the area around our hall, we should explore further ]] ..
3445+[[and set up more guards and scouts to observe the frontier ]] ..
3446+[[and keep an eye on the raging wars on our doorstep. ]] ..
3447+[[THEN we will be prepared once trouble seeks to capture our woods.]]))
3448+.. new_objectives(obj_explore_further),
3449 }
3450
3451 order_msg_4_build_mining_economy = {
3452 posy=1,
3453- title=_"Mountains found",
3454- body= "<rt image=map:khantrukh.png><p line-spacing=3 font-size=12>" ..
3455-_[[ "I just talked to the leader of our patrol. He told me, that they found some mountains to the north east and the east of our territory. With a bit of luck this opens us a new chance for rearming our men, because as far as I remember, most of the mountains west to Al'thunran hold coal and some metal ores." ]] ..
3456-"<br><br>" ..
3457-_"-- NEW OBJECTIVE --" ..
3458-"<br>" ..
3459-_"* Expand your territory to the mountains, send geologists to search for ore and coal and build a mining economy with mines, taverns, smelting works and metalworks." ..
3460-"</p></rt>",
3461+ title=_"Mountains Found",
3462+ body= khantrukh(
3463+_([[I have just spoken to the leader of our patrol. ]] ..
3464+[[He told me that they found some mountains to the north-east and east of our territory. ]] ..
3465+[[With a bit of luck this will open up a new chance for rearming our men, ]] ..
3466+[[because as far as I remember, most of the mountains west to Al’thunran hold coal and some metal ores.]]))
3467+.. new_objectives(obj_build_mining_economy),
3468 }
3469
3470 story_note_2 = {
3471 posy=1,
3472- title=_"Mining economy completed",
3473- body= "<rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3474-_[[ "I just got informed, that our mining economy started its work. This news brought a smile to my face - even if the hardest part is still waiting to be done, now our smiths will give their best to further ease our lives." ]] ..
3475-"</p></rt>",
3476+ title=_"Mining Economy Completed",
3477+ body= thron(
3478+_([[I just got informed that our mining economy has started its work. ]] ..
3479+[[This news brought a smile to my face – even if the hardest part is still waiting to be done, ]] ..
3480+[[now that our smiths will give their best to further ease our lives.]])),
3481 }
3482
3483 order_msg_5_build_a_fortress = {
3484 posy=1,
3485- title=_"Fortress needed",
3486- body= "<rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3487-_[[ "Boldreth and I just explored the area around the three mountains. One major strategic problem of that area seems to be, that there are two bigger passages - one north and one south to the middle mountain. Those passages are quite hard to control and so it seems to me, like we have only one chance to secure the mountains from enemy hands: We must build a fortress to the east of the mountains!" ]] ..
3488-"<br><br>" ..
3489-_"-- NEW OBJECTIVE --" ..
3490-"<br>" ..
3491-_"* Build a fortress to the east of the mountains." ..
3492-"</p></rt>",
3493+ title=_"Fortress Needed",
3494+ body= thron(
3495+_([[Boldreth and I just explored the area around the three mountains. ]] ..
3496+[[One major strategic problem of that area seems to be that there are two bigger passages]] ..
3497+[[ – one north and one south of the central mountain. Those passages are quite hard to control, ]] ..
3498+[[and so it seems to me like we have only one chance to secure the mountains from enemy hands: ]] ..
3499+[[We must build a fortress to the east of the mountains!]]))
3500+.. new_objectives(obj_build_a_fortress),
3501 }
3502
3503 story_note_3 = {
3504 posy=1,
3505- title=_"Fortress completed",
3506- body= "<rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3507-_[[ "Finally!<br>The fortress was just completed, so the entrance to our settlement should be safe for now. For the future we might think on building some more fortifications like barriers and donjons at the passages, but for now we can take a deep breath." ]] ..
3508-"</p></rt>",
3509+ title=_"Fortress Completed",
3510+ body=thron(
3511+_([[Finally! The fortress has just been completed, so the entrance to our settlement should be safe for now. ]] ..
3512+[[For the future, we might think on building some more fortifications like barriers and donjons at the passages, ]] ..
3513+[[but for now we can take a deep breath.]])),
3514 }
3515
3516 order_msg_6_build_enhanced_economy_and_training = {
3517 posy=1,
3518- title=_"Enhanced economy and training",
3519- body= "<rt image=map:boldreth.png><p line-spacing=3 font-size=12>" ..
3520-_[[ "Our mining economy seems to work fine, that is already good news! Anyway there are still a lot of men and women waiting in our hall to get a task, so they can help our soldiers to prepare for the future fights.]] ..
3521-"<br>" ..
3522-_[[Our geologists found a lot more deposits of iron ore, coal and even gold. We should enhance our current mines as soon as our miners are more experienced. We should build up some more mines, a bigger food infrastructure to always supply our men with sufficient food and a further processing economy. But that's still not everything - most of our soldiers are quite young and neither have a good weapon nor are they well trained. We should build up trainingssites to prepare them for their future tasks." ]] ..
3523+ title=_"Enhanced Economy and Training",
3524+ body= boldreth(
3525+_([[Our mining economy seems to work fine, that is already good news! ]] ..
3526+[[Anyway, there are still a lot of men and women waiting in our hall to get a task, ]] ..
3527+[[so they can help our soldiers to prepare for the future fights.]]) ..
3528 "<br><br>" ..
3529-_"-- NEW OBJECTIVES --" ..
3530-"<br>" ..
3531-_"* Build a warehouse to the west of the mountains." ..
3532-"<br>" ..
3533-_"* Build a battle arena and a trainings camp to the west of the mountains." ..
3534-"<br>" ..
3535-_"* Enhance your metalworks to an axefactory in order to produce weapons and build up another metalworks to ensure the production of tools. When the blacksmith reaches his next level (master blacksmith), you can even enhance it to a war mill which produces additional weapons." ..
3536-"<br>" ..
3537-_"* Build a helmsmithy to the west of the mountains to provide your soldiers with better armor." ..
3538-"</p></rt>",
3539+_([[Our geologists found a lot more deposits of iron ore, coal and even gold. ]] ..
3540+[[We should enhance our current mines as soon as our miners are more experienced. ]] ..
3541+[[We should build up some more mines, a bigger food infrastructure ]] ..
3542+[[to always supply our men with sufficient food and a further processing economy. ]] ..
3543+[[But that’s still not everything – most of our soldiers are quite young ]] ..
3544+[[and neither have a good weapon nor are they well trained. ]] ..
3545+[[We should build up training sites to prepare them for their future tasks.]]))
3546+.. new_objectives(obj_build_training_infrastructure),
3547 }
3548
3549 story_msg_7 = {
3550 posy=1,
3551- title=_"Another cold day",
3552- body= "<rt><p font-size=24 font-face=DejaVuSerif font-weight=bold font-color=2F9131>" ..
3553-_"Thron looks worried." ..
3554-"</p></rt><rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3555-_[[ "My brothers and their soldiers are dead and left fire and destruction behind. In none of all the ruins could I find any man or woman of the normal folk and so I just may hope that they fled from this cruel battleground and started a better life somewhere else. Nothing is left from that beauty I remember, only ruins remain from the old capital. I am sorrowful but also relieved. I never hoped to ever see Al'thunran's old beauty again - it was only a few months ago that I wondered whether I would ever be able to set my feet in Al'thunran again. Now the old town is back in my hands and I will not hesitate to rebuild it with all the strength my people have. I can't wait to see it again in it's old beauty." ]] ..
3556-"<br><br>" ..
3557-_"--------------------- VICTORY! ----------------------" ..
3558-"<br><br>" ..
3559-_"You have completed the last mission of the barbarian tutorial campaign. You may continue playing if you wish, otherwise move on to the next campaign." ..
3560-"</p></rt>",
3561+ title=_"Another Cold Day",
3562+ body= thron(_"Thron looks worried...",
3563+_([[My brothers and their soldiers are dead and left fire and destruction behind. ]] ..
3564+[[In none of all the ruins could I find any man or woman of the normal folk, ]] ..
3565+[[and so I just may hope that they fled from this cruel battleground and started a better life somewhere else.]]) .. "<br><br>" ..
3566+_([[Nothing is left of that beauty I remember, only ruins remain of the old capital. ]] ..
3567+[[I am sorrowful but also relieved. I never hoped to ever see Al’thunran’s old beauty again]] ..
3568+[[ – it was only a few months ago that I wondered whether I would ever be able to set my feet in Al’thunran again. ]] ..
3569+[[Now the old town is back in my hands, and I will not hesitate to rebuild it with all the strength my people have. ]] ..
3570+[[I can’t wait to see it again in its old beauty.]]))
3571+.. objective_text(_"Victory",
3572+ _([[You have completed the last mission of the barbarian tutorial campaign. ]] ..
3573+[[You may continue playing if you wish, otherwise move on to the next campaign.]]))
3574 }
3575
3576 order_msg_7_free_althunran = {
3577 posy = 1,
3578- title=_"Military assault",
3579- body= "<rt image=map:chieftain.png><p line-spacing=3 font-size=12>" ..
3580-_[[ "So be it, the generals are out to set up my troops and Boldreth himself will lead the first strike. I will ride by his side, to free Al’thunran of this war and bring peace back to our capital. When the young sun rises above the trees tomorrow morning, I will order the assault. By dusk, I will celebrate my victory in the wooden halls of the warlord and sacrifice a newborn lamb in the honour of my father whose eyes are set upon me today.<br>So be it!" ]] ..
3581+ title=_"Military Assault",
3582+ body= thron(
3583+_([[So be it, the generals are out and about arranging my troops, and Boldreth himself will lead the first strike. ]] ..
3584+[[I will ride by his side, to free Al’thunran of this war and return peace to our capital.]]) .. "<br><br>" ..
3585+_([[When the young sun rises above the trees tomorrow morning, I will order the assault. ]] ..
3586+[[By dusk, I will celebrate my victory in the wooden halls of the warlord ]] ..
3587+[[and sacrifice a newborn lamb in the honor of my father, whose eyes are set upon me today.]]) ..
3588 "<br><br>" ..
3589-_"-- NEW OBJECTIVE --" ..
3590-"<br>" ..
3591-_"* Destroy all enforcements of Thron’s two brothers to liberate the throne-circle." ..
3592-"</p></rt>",
3593+_([[So be it!]]))
3594+.. new_objectives(obj_military_assault_on_althunran),
3595 }
3596
3597 cattlefarm_01 = {
3598- title = _ "Khantrukh speaks",
3599- body = rt("image=map:khantrukh.png", direct_speech(
3600-_"Khantrukh approaches", p(_
3601-[[ "Chieftain, remember the poor carriers: Our roads get longer and longer and
3602- the burden on their shoulders never gets lighter. We should breed more oxen to
3603- make their work lighter and our transportation more efficient." ]]
3604-
3605- ))) .. rt(p(_"-- NEW OBJECTIVE --")) .. obj_build_cattlefarm.body
3606+ title = _"Khantrukh says:",
3607+ body= khantrukh(
3608+_([[Chieftain, remember the poor carriers: Our roads get longer and longer ]] ..
3609+[[and the burden on their shoulders never gets lighter. ]] ..
3610+[[We should breed more oxen to make their work lighter and our transportation more efficient.]]))
3611+.. new_objectives(obj_build_cattlefarm),
3612 }
3613-
3614
3615
3616=== modified file 'campaigns/tutorial01.wmf/elemental'
3617--- campaigns/tutorial01.wmf/elemental 2010-04-29 15:48:50 +0000
3618+++ campaigns/tutorial01.wmf/elemental 2014-03-05 18:47:45 +0000
3619@@ -4,7 +4,7 @@
3620 map_h=64
3621 nr_players=2
3622 world=greenland
3623-name=_"Tutorial01"
3624+name=_"Tutorial 1"
3625 author="Winterwind, SirVer, Nasenbaer"
3626-descr=_"Basic tutorial - map based on Winterwind's tutorial 1 for Barbarians"
3627+descr=_"Basic Tutorial – a map based on Winterwind’s tutorial 1 for the Barbarians"
3628 background="tribes/barbarians/pics/campmap-tut1+2.jpg"
3629
3630=== modified file 'campaigns/tutorial01.wmf/scripting/texts.lua'
3631--- campaigns/tutorial01.wmf/scripting/texts.lua 2012-12-16 19:08:16 +0000
3632+++ campaigns/tutorial01.wmf/scripting/texts.lua 2014-03-05 18:47:45 +0000
3633@@ -5,228 +5,202 @@
3634 -- =========================
3635 -- Some formating functions
3636 -- =========================
3637--- Rich Text
3638-function rt(text_or_opts, text)
3639- k = "<rt>"
3640- if text then
3641- k = ("<rt %s>"):format(text_or_opts)
3642- else
3643- text = text_or_opts
3644- end
3645-
3646- return k .. text .. "</rt>"
3647-end
3648-
3649--- Headings
3650-function h1(s)
3651- return "<p font=DejaVuSerif font-size=18 font-weight=bold font-color=D1D1D1>"
3652- .. s .. "<br></p><p font-size=8> <br></p>"
3653-end
3654-
3655-function h2(s)
3656- return "<p font=DejaVuSerif font-size=12 font-weight=bold font-color=D1D1D1>"
3657- .. s .. "<br></p><p font-size=4> <br></p>"
3658-end
3659-
3660--- Simple flowing text. One Paragraph
3661-function p(s)
3662- return "<p line-spacing=3 font-size=12>" .. s .. "<br></p>" ..
3663- "<p font-size=8> <br></p>"
3664-end
3665+
3666+use("aux", "formatting")
3667
3668 -- =============
3669 -- Texts below
3670 -- =============
3671 scould_player = {
3672- title = _ "Nice and easy does it all the time",
3673+ title = _ "Nice And Easy Does It All the Time",
3674 body = rt(p(_
3675-[[I am sorry, but I have to rip this again. We might need the space here later
3676-on. If I am too slow for you, you might want to play a real game and just find
3677-everything out for yourself. Otherwise, please bear with me, I am not the
3678-youngest and quickest anymore.]]
3679+[[I am sorry, but will I have to tear this down again. ]] ..
3680+[[We might need the space here later on. ]] ..
3681+[[If I am too slow for you, you might want to play a real game and just find everything out for yourself. ]] ..
3682+[[Otherwise, please bear with me, I am not the youngest and quickest anymore.]]
3683 )
3684 )
3685 }
3686
3687 initial_message_01 = {
3688- title = _ "Welcome to the Widelands tutorial!",
3689+ title = _ "Welcome to the Widelands Tutorial!",
3690 body = rt(
3691 h1(_"Welcome to Widelands!") ..
3692- p(_
3693-[[Widelands is a slow-paced build-up strategy with an emphasis on construction,
3694-not destruction. This tutorial will get you through the basics of the game.]]
3695- ) .. p(_
3696-[[You can dismiss this box by left-clicking on the button below.]]
3697+ p(_(
3698+[[Widelands is a slow-paced build-up strategy game with an emphasis on construction, not destruction. ]] ..
3699+[[This tutorial will guide you through the basics of the game.]])
3700+ ) .. p([[• ]] .. _[[Dismiss this box by left-clicking on the button below.]]
3701 )
3702 ),
3703 }
3704 initial_message_02 = {
3705- title = _ "Diving in",
3706+ title = _ "Diving In",
3707 pos = "topright",
3708 field = wl.Game().map.player_slots[1].starting_field,
3709 body = rt(
3710- h1(_"Let's dive right in!") ..
3711- p(_
3712-[[There are three different tribes in Widelands: the barbarians, the empire and
3713-the atlanteans. All tribes have a different economy, strength and weaknesses,
3714-but the general gameplay is the same for all. We play the barbarians for now.]]
3715- ) .. p(_
3716-[[You usually start the game with one headquarters. This is the big building
3717-with the blue flag in front of it. The headquarters is a warehouse that stores
3718-wares, workers and soldiers. Some wares are needed for building houses, others
3719-for making other wares. Obviously, the wares in the headquarters will not last
3720-forever, so you must make sure to reproduce them. The most important wares in
3721-the early game are the basic build wares: trunks and raw stone. Let's make sure
3722-that we do not run out of trunks. For this, we need a lumberjack and a hut for
3723-him to stay in.]]
3724- ) .. p(_
3725-[[We need to find a nice place for the lumberjack's hut. To make this easier,
3726-we can activate the build help. There are two ways you can do this, either by
3727-clicking on the build help button at the bottom of the screen which is the
3728-fourth one from the left. Or you can use the SPACE key to toggle it.]]
3729- ) .. p(_
3730-[[Left-click the "OK" button to close this box and then try it.]]
3731+ h1(_"Let’s dive right in!") ..
3732+ p(_(
3733+[[There are three different tribes in Widelands: the Barbarians, the Empire and the Atlanteans. ]] ..
3734+[[All tribes have a different economy, strength and weaknesses, ]] ..
3735+[[but the general gameplay is the same for all. We will play the barbarians for now.]])
3736+ ) .. p(_(
3737+[[You will usually start the game with one headquarters. ]] ..
3738+[[This is the big building with the blue flag in front of it. ]] ..
3739+[[The headquarters is a warehouse that stores wares, workers and soldiers. ]] ..
3740+[[Some wares are needed for building houses, others for making other wares. ]] ..
3741+[[Obviously, the wares in the headquarters will not last forever, so you must make sure to replace them. ]] ..
3742+[[The most important wares in the early game are the basic construction wares: logs and raw stone. ]] ..
3743+[[Let’s make sure that we do not run out of logs. ]] ..
3744+[[For this, we need a lumberjack and a hut for him to stay in.]])
3745+ ) .. p(_(
3746+[[We need to find a nice place for the lumberjack’s hut. ]] ..
3747+[[To make this easier, we can activate ‘Show Building Spaces’. ]] ..
3748+[[There are two ways you can do this, either by clicking on the ‘Show Building Spaces’ button at the bottom of the screen, ]] ..
3749+[[which is the fourth one from the left. Or you can use the SPACE key to toggle it.]])
3750+ ) .. p([[• ]] .. _[[Left-click the ‘OK’ button to close this box and then try it.]]
3751 )
3752 ),
3753 obj_name = "enable_buildhelp",
3754- obj_title = _ "Enable the build help",
3755- obj_body = rt(h1(_"Enable the build help") ..
3756- p(_
3757-[[It is easier to understand what is allowed to be built on which field when
3758-the build help symbols are enabled. Do so now either by pressing SPACE or by
3759-clicking the fourth button from the left at the very bottom of the screen.
3760-Click the "OK" button and then give it a try.]]
3761+ obj_title = _ "Enable the showing of building spaces",
3762+ obj_body = rt(h1(_"Show Building Spaces") ..
3763+ p(_(
3764+[[It is easier to understand what type of buildings can be built on which field ]] ..
3765+[[when the symbols for the building spaces are enabled.]]) )..
3766+ p([[• ]] ..
3767+_([[Do so now either by pressing SPACE or by clicking the fourth button from the left at the very bottom of the screen. ]] ..
3768+[[Right-click on this window and then give it a try.]])
3769 )
3770 )
3771 }
3772
3773 lumberjack_message_01 = {
3774- title = _ "Lumberjack's spot",
3775+ title = _ "Lumberjack’s Spot",
3776 pos = "topright",
3777 field = first_lumberjack_field,
3778- body = rt(p(_
3779-[[There you go. I will explain about all those symbols in a minute. First, let
3780-me show you how to make a lumberjack's hut and how to connect it with a road.
3781-There is a sweet spot for a lumberjack right next to those trees. I'll describe
3782-the steps I will take and then ask you to click on the "OK" button for me to
3783-demonstrate.]]
3784+ body = rt(p(_(
3785+[[There you go. I will explain about all those symbols in a minute. ]] ..
3786+[[First, let me show you how to make a lumberjack’s hut and how to connect it with a road. ]] ..
3787+[[There is a sweet spot for a lumberjack right next to those trees. ]] ..
3788+[[I’ll describe the steps I will take and then ask you to click on the ‘OK’ button for me to demonstrate.]])
3789 )
3790 )
3791 }
3792
3793 lumberjack_message_02 = {
3794- title = _ "Building the lumberjack",
3795+ title = _ "Building the Lumberjack",
3796 pos = "topright",
3797- body = rt(p(_
3798-[[First, I'll left-click on the symbol where I want the lumberjack's hut to be
3799-built. A window will appear where I can choose between buildings. Because I'll
3800-click a yellow house symbol - which means that its field can house medium and small
3801-buildings - I am presented with all the medium buildings that I can build. The
3802-lumberjack's hut is a small building so I will go on to select the small buildings
3803-tab. Then I'll choose the lumberjack's hut.
3804-Click the "OK" button to watch me. I'll go really slow: I will click - then select
3805-the tab - and finally I'll choose the building.]]
3806+ body = rt(p(_(
3807+[[First, I’ll left-click on the symbol where I want the lumberjack’s hut to be built. ]] ..
3808+[[A window will appear where I can choose between buildings. ]] ..
3809+[[Because I’ll click a yellow house symbol – which means that its field can house medium and small buildings]] ..
3810+[[ – I am presented with all the medium buildings that I can build. ]] ..
3811+[[The lumberjack’s hut is a small building, so I will go on to select the small buildings tab. ]] ..
3812+[[Then I’ll choose the lumberjack’s hut.]])) ..
3813+ p([[• ]] ..
3814+_([[Click the ‘OK’ button to watch me. ]] ..
3815+[[I’ll go really slowly: I will click – then select the tab – and finally I’ll choose the building.]])
3816 )
3817 )
3818 }
3819
3820 lumberjack_message_03 = {
3821- title = _ "Building a connecting road",
3822+ title = _ "Building a Connecting Road",
3823 pos = "topright",
3824- body = rt(p(_
3825-[[That won't do yet. I still need to connect the lumberjack's hut to the
3826-rest of my road network. After I ordered a construction site, I was
3827-automatically put in road building mode, so all I have to do is click on the
3828-blue flag in front of my headquarters.]]
3829+ body = rt(p(_(
3830+[[That won’t do yet. I still need to connect the lumberjack’s hut to the rest of my road network. ]] ..
3831+[[After ordering the construction site, I was automatically put into road building mode, ]] ..
3832+[[so all I have to do is click on the blue flag in front of my headquarters.]])
3833 )
3834 )
3835 }
3836
3837 lumberjack_message_04 = {
3838- title = _ "Waiting for the lumberjack to go up",
3839+ title = _ "Waiting for the Lumberjack to Go Up",
3840 pos = "topright",
3841- body = rt(p(_
3842-[[Now watch closely as a builder leaves the headquarters and goes to the
3843-construction site. Also a carrier will take position in between the two blue
3844-flags and carry wares from one blue flag to the other.]]
3845+ body = rt(p(_(
3846+[[Now watch closely while a builder leaves the headquarters and goes to the construction site. ]] ..
3847+[[Also, a carrier will take position in between the two blue flags and carry wares from one blue flag to the other.]])
3848 )
3849 )
3850 }
3851
3852 lumberjack_message_05 = {
3853- title = _ "Placing another flag",
3854+ title = _ "Placing Another Flag",
3855 pos = "topright",
3856- body = rt(p(_
3857-[[Nice how they work, isn't it? But the poor carrier has a very long way to go.
3858-We can make it easier for him (and more efficient for us) when we place another
3859-blue flag on the road. You try it this time: click on the yellow flag symbol
3860-in between the two blue flags we just placed and then click on the]]
3861+ body = rt(p(_(
3862+[[Nice how they are working, isn’t it? But the poor carrier has a very long way to go. ]] ..
3863+[[We can make it easier for him (and more efficient for us) when we place another blue flag on the road.]])
3864+ ) .. p([[• ]] ..
3865+_([[You try it this time: click on the yellow flag symbol in between the two blue flags we just placed and then click on the]])
3866 )) .. rt("image=pics/menu_build_flag.png", p(_ "build flag symbol.")
3867 ),
3868 obj_name = "build_flag_on_road_to_lumberjack",
3869 obj_title = _ "Build a flag to divide the road to the lumberjack",
3870- obj_body = rt(h1(_"Build a flag on the road") .. p(_
3871-[[The shorter your road segments are, the faster your wares will be transported.
3872-You should therefore make sure that your roads have as many flags as possible.
3873-Build a blue flag now in the middle of the road that connects your headquarters
3874-to your lumberjack's hut.]])
3875+ obj_body = rt(h1(_"Build a Flag on the Road") .. p(_(
3876+[[The shorter your road segments are, the faster your wares will be transported. ]] ..
3877+[[You should therefore make sure that your roads have as many flags as possible.]])) ..
3878+ p([[• ]] ..
3879+_[[Build a blue flag now in the middle of the road that connects your headquarters to your lumberjack’s hut.]])
3880 )
3881 }
3882
3883 lumberjack_message_06 = {
3884- title = _ "Waiting for the hut to be finished",
3885+ title = _ "Waiting For the Hut to be Finished",
3886 pos = "topright",
3887 body = rt(p(_
3888-[[Well done! Let's wait till the hut is finished. If you want things to
3889-go faster, simply use the PAGE UP key on your keyboard to increase the game
3890-speed. You can use PAGE DOWN to make the game slower again.]]
3891+[[Well done! Let’s wait till the hut is finished.]]) ..
3892+ p(_(
3893+[[If you want things to go faster, simply use the PAGE UP key on your keyboard to increase the game speed. ]] ..
3894+[[You can use PAGE DOWN to make the game slower again.]])
3895 )
3896 )
3897 }
3898
3899 lumberjack_message_07 = {
3900- title = _ "Lumberjack is done",
3901+ title = _ "Lumberjack is Done",
3902 pos = "topright",
3903- body = rt(p(_
3904-[[Excellent. The lumberjack's hut is done. A lumberjack will now move in and
3905-start chopping down trees, so our trunks income is secured for now. Now on to
3906-the raw stone.]]
3907+ body = rt(p(_(
3908+[[Excellent. The lumberjack’s hut is done. ]] ..
3909+[[A lumberjack will now move in and start chopping down trees, so our logs income is secured for now. ]] ..
3910+[[Now on to the raw stone.]])
3911 )
3912 )
3913 }
3914
3915 inform_about_stones = {
3916- title = _ "Some stones were found",
3917- body = rt(h1(_ "Getting a quarry up.")) ..
3918- rt(p(_
3919-[[Stones can be mined in granite mines, but the easier way is to build a quarry
3920-next to some stones laying around. As it happens, there is a pile of them
3921-laying just to the west (left) of your headquarters. I will teach you now how to
3922-move your view over there.]]
3923- ) .. p(_
3924-[[There are two ways to move your view. The first one is using the cursor keys
3925-on your keyboard. Go ahead and try this out. Click the "OK" button and then move
3926-the view using the cursor keys]]
3927+ title = _ "Some Stones Were Found",
3928+ body = rt(h1(_"Getting a Quarry Up.")) ..
3929+ rt(p(_(
3930+[[Stones can be mined in granite mines, but the easier way is to build a quarry next to some stones lying around. ]] ..
3931+[[As it happens, there is a pile of them just to the west (left) of your headquarters. ]] ..
3932+[[I will teach you now how to move your view over there.]])
3933+ ) .. p([[→ ]] ..
3934+_([[There are two ways to move your view. The first one is using the cursor keys on your keyboard. ]] ..
3935+[[Go ahead and try this out.]])) ..
3936+ p([[• ]] ..
3937+_[[Click the ‘OK’ button and then move the view using the cursor keys]]
3938 )
3939 ),
3940 obj_name = "move_view_with_cursor_keys",
3941 obj_title = _ "Move your view with the cursor keys",
3942- obj_body = rt(h1(_"Moving your view") .. p(_
3943-[[Moving your view is essential to get a complete overview of your whole
3944-economy. There are two ways to move your view in Widelands. The first one is
3945-to use the cursor keys on your keyboard. The second one is the more common and
3946-faster one: press-and-hold the right mouse button anywhere on the map, then move
3947-your mouse around and you'll see the view scroll.]]
3948+ obj_body = rt(h1(_"Moving Your View") .. p(_(
3949+[[Moving your view is essential to get a complete overview of your whole economy. ]] ..
3950+[[There are two ways to move your view in Widelands.]])) .. p(
3951+[[→ ]] .. _[[The first one is to use the cursor keys on your keyboard.]])
3952+ .. p(
3953+[[→ ]] .. _([[The second one is the more common and faster one: press-and-hold the right mouse button anywhere on the map, ]] ..
3954+[[then move your mouse around and you’ll see the view scroll.]])
3955 )
3956 )
3957 }
3958
3959 tell_about_right_drag_move = {
3960- title = _ "Other ways to move the view",
3961+ title = _ "Other Ways to Move the View",
3962 body = rt(p(_
3963-[[Excellent. Now there is a faster way to move, using the mouse instead: Simply
3964-right-click-and-hold anywhere on the map, then drag the mouse and instead
3965-of the cursor, the view will be moved. Try it.]]
3966+[[Excellent. Now there is a faster way to move, using the mouse instead:]]
3967+ ) .. p([[• ]] ..
3968+_([[Simply right-click-and-hold anywhere on the map, ]] ..
3969+[[then drag the mouse and instead of the cursor, the view will be moved. Try it.]])
3970 )
3971 ),
3972 obj_name = "move_view_with_mouse",
3973@@ -235,7 +209,7 @@
3974 }
3975
3976 congratulate_and_on_to_quarry = {
3977- title = _ "Onward to the quarry",
3978+ title = _ "Onward to the Quarry",
3979 body = rt(p(_
3980 [[Great. Now about that quarry...]]
3981 )
3982@@ -245,17 +219,16 @@
3983 order_quarry_recap_how_to_build = {
3984 field = first_quarry_field,
3985 pos = "topright",
3986- title = _ "How to build a quarry",
3987+ title = _ "How to Build a Quarry",
3988 body = rt(p(_
3989-[[Build a quarry next to those stones here. Remember how I did it earlier?
3990-Make sure that build help is on, then just click the place were you want the
3991-building to be, choose it from the window that appears and it is placed. Maybe
3992-it is a good time to explain about all those build help symbols we activated
3993-earlier.]]
3994- ) .. p(_
3995-[[You can build four things on fields in Widelands: Flags, small houses, medium
3996-houses and big houses. But not every field can hold anything. The build help
3997-eases recognition:]]
3998+[[Build a quarry next to those stones here. Remember how I did it earlier?]]
3999+) .. p(_(
4000+[[Make sure that you are showing the building spaces, then just click on the space were you want the building to be, ]] ..
4001+[[choose it from the window that appears and it is placed. ]] ..
4002+[[Maybe this is a good time to explain about all those building space symbols we activated earlier.]])
4003+ ) .. p(_(
4004+[[You can build four things on fields in Widelands: Flags, small houses, medium houses and big houses. ]] ..
4005+[[But not every field can hold everything. The build space symbols ease recognition:]])
4006 )) .. rt("image=pics/big.png", p(_
4007 [[Everything can be built on the green house symbol.]]
4008 )) .. rt("image=pics/medium.png", p(_
4009@@ -264,24 +237,25 @@
4010 [[Red building symbols can only hold small buildings and flags.]]
4011 )) .. rt("image=pics/set_flag.png", p(_
4012 [[And finally the yellow flag symbol only allows for flags.]]
4013- )) .. rt(p(_
4014-[[If you place something on a field, the surrounding fields might have less
4015- space for holding buildings, so choose your fields wisely.]]
4016- )) .. rt(p(_
4017-[[Now go ahead, try it. The quarry is a small building, so if you click on a
4018-medium or big building symbol, you will have to select the small buildings
4019-tab first to find it. Go on, check it out!]]
4020+ )) .. rt(p(_(
4021+[[If you place something on a field, the surrounding fields might have less space for holding buildings, ]] ..
4022+[[so choose your fields wisely.]])
4023+ )) .. rt(p([[• ]] ..
4024+_([[Now go ahead, try it. ]] ..
4025+[[The quarry is a small building, so if you click on a medium or big building symbol, ]] ..
4026+[[you will have to select the small buildings tab first to find it. Go on, check it out!]])
4027 )
4028 ),
4029 obj_name = "build_a_quarry",
4030 obj_title = _ "Build a quarry next to the stones",
4031- obj_body = rt(h1(_ "Build a quarry") .. p(_
4032-[[There are some stones to the west of your headquarters. Build a quarry right
4033-next to them. The quarry is a small building like the lumberjack's hut. You
4034-can therefore build it on any field that shows a red, yellow or green house
4035-when the build help is enabled (Press SPACE for that).]]) .. p(_
4036-[[Just click on any house symbol next to the stones, select the small buildings
4037-tab in the window that opens up, then click on the quarry symbol.]]
4038+ obj_body = rt(h1(_ "Build a Quarry") .. p([[• ]] ..
4039+_[[There are some stones to the west of your headquarters. Build a quarry right next to them.]]) .. p(
4040+[[→ ]] .. _([[The quarry is a small building like the lumberjack’s hut. ]] ..
4041+[[You can therefore build it on any field that shows a red, ]] ..
4042+[[yellow or green house when the building spaces symbols are enabled (Press SPACE for that).]]
4043+ )) .. p([[→ ]] ..
4044+_([[Just click on any house symbol next to the stones, select the small buildings tab in the window ]] ..
4045+[[that opens up, then click on the quarry symbol.]])
4046 )
4047 )
4048 }
4049@@ -289,134 +263,131 @@
4050 talk_about_roadbuilding_00 = {
4051 pos = "topright",
4052 field = wl.Game().map:get_field(9,12),
4053- title = _ "Road building",
4054- body = rt(p(_
4055-[[Excellent! Directly after you placed a building, you are in road building
4056-mode. The new road will start at the flag in front of your newly placed
4057-construction site. You can enter road building mode for any flag by
4058-left-clicking on a flag and selecting]]
4059+ title = _ "Road Building",
4060+ body = rt(p(_(
4061+[[Excellent! Directly after placing the building, you have been switched into road building mode. ]] ..
4062+[[The new road will start at the flag in front of your newly placed construction site. ]] ..
4063+[[You can enter road building mode for any flag by left-clicking on a flag and selecting]])
4064 )) .. rt("image=pics/menu_build_way.png", p(_
4065 [[the road building symbol.]]
4066- )) .. rt(p(_
4067-[[If you decide you do not want to build a road at this time, you can cancel
4068-road building by clicking on the starting flag of the road and selecting]]
4069+ )) .. rt(p(_(
4070+[[If you decide you do not want to build a road at this time, you can cancel road building ]] ..
4071+[[by clicking on the starting flag of the road and selecting]])
4072 )) .. rt("image=pics/menu_abort.png", p(_
4073 [[the abort symbol.]]
4074- )) .. rt(p(_
4075-[[Now, about this road. Remember: we are already in road building mode since you
4076-just ordered the quarry. You can either make it longer by one field at a time
4077-by left-clicking multiple times on neighbouring fields for perfect control over
4078-the route the road takes like so:]]
4079+ )) .. rt(p(_(
4080+[[Now, about this road. Remember: we are already in road building mode since you just ordered the quarry. ]] ..
4081+[[You can either make it longer by one field at a time by left-clicking multiple times on neighboring fields ]] ..
4082+[[for perfect control over the route the road takes like so:]])
4083 ))
4084 }
4085
4086 talk_about_roadbuilding_01 = {
4087 pos = "topright",
4088 field = wl.Game().map:get_field(9,12),
4089- title = _ "Road building",
4090+ title = _ "Road Building",
4091 body = rt(p(_
4092-[[Alternatively, you can directly click the flag where
4093-the road should end like so.]]
4094+[[Or, you can directly click the flag where the road should end like so:]]
4095 ))
4096 }
4097
4098 talk_about_roadbuilding_02 = {
4099 pos = "topright",
4100- title = _ "Road building",
4101- body = rt(p(_
4102-[[One more thing: around the field where your road would end you can see
4103-different markers. They have the following meaning:]]
4104+ title = _ "Road Building",
4105+ body = rt(p(_(
4106+[[One more thing: around the field where your road would end, you can see different markers. ]] ..
4107+[[They have the following meaning:]])
4108 )) .. rt("image=pics/roadb_green.png", p(_
4109 [[The terrain is flat here. Your carriers will be very swift on this terrain.]]
4110- )) .. rt("image=pics/roadb_yellow.png", p(_
4111-[[There is a small slope to climb to reach this field. This means your
4112-workers are faster walking downwards than they are walking upwards.]]
4113- )) .. rt("image=pics/roadb_red.png", p(_
4114-[[The connection between the fields is extremely steep. The speed increase in
4115-one direction is huge while the slowdown in the other is also substantial.]]
4116- )) .. rt(p(_
4117-[[Keep the slopes in mind while placing roads and use them to your advantage.
4118-Also try to keep roads as short as possible and always remember to place as
4119-many flags as you can on road segments to share the load better.]]
4120- )) .. rt(p(_
4121-[[Now please rebuild the road between your quarry and your headquarters.
4122-We'll wait until the quarry is completed.]]
4123+ )) .. rt("image=pics/roadb_yellow.png", p(_(
4124+[[There is a small slope to climb to reach this field. ]] ..
4125+[[This means that your workers will be faster walking downhill than they will be walking uphill.]])
4126+ )) .. rt("image=pics/roadb_red.png", p(_(
4127+[[The connection between the fields is extremely steep. ]] ..
4128+[[The speed increase in one direction is huge while the slowdown in the other is also substantial.]])
4129+ )) .. rt(p(_(
4130+[[Keep the slopes in mind while placing roads and use them to your advantage. ]] ..
4131+[[Also, try to keep roads as short as possible and always remember to place ]] ..
4132+[[as many flags as you can on road segments to share the load better.]])
4133+ )) .. rt(p([[• ]] ..
4134+_([[Now please rebuild the road between your quarry and your headquarters. ]] ..
4135+[[We’ll wait until the quarry is completed.]])
4136 )),
4137 obj_name = "build_road_to_quarry",
4138 obj_title = _ "Connect the quarry to the headquarters",
4139- obj_body = rt(h1(_"Connect your construction site") .. p(_
4140-[[Connect your quarry construction site to your headquarters with a road. You
4141-are directly in road building mode when you ordered a new site. But now, you
4142-aren't. To build a completely new road just click on the flag in front of your
4143-construction site, click on the build road icon then click on the flag in front
4144-of your headquarters. Wait for the completion of the stonemason's hut.]]
4145+ obj_body = rt(h1(_"Connect Your Construction Site") .. p(_(
4146+[[Connect your quarry construction site to your headquarters with a road. ]] ..
4147+[[You would have been put directly into road building mode after ordering a new site. But now, you aren’t.]])) ..
4148+ p([[→ ]] ..
4149+_([[To build a completely new road, just click on the flag in front of your construction site, ]] ..
4150+[[click on the build road icon and then click on the flag in front of your headquarters. ]] ..
4151+[[Wait for the completion of the quarry.]])
4152 )
4153 )
4154 }
4155
4156 census_and_statistics_00 = {
4157- title = _ "Census and statistics",
4158- body = rt(p(_
4159-[[While we wait, I'll quickly show you another useful feature. All construction
4160-sites look the same and some buildings look alike. It is sometimes hard to tell
4161-them apart. Widelands offers a feature to show label texts over the buildings.
4162-They are called the census and you can toggle them via the 'c' key or via
4163-the button on the watch tab of any field.]]
4164- ) .. p(_
4165-[[Similar to this are building statistics which are also toggled via a
4166-button on the watch tab of any field. The hotkey for it is 's'. This will
4167-display an information string about the productivity of buildings or the
4168-progress of construction sites.]]
4169- ) .. p(_
4170-[[Let me quickly enable those two for you. Remember: 'c' and 's' are the keys.
4171-Alternatively you can click on any field without a building on it, select the
4172-watch tab and then click on the corresponding buttons.]]
4173+ title = _ "Census and Statistics",
4174+ body = rt(p(_(
4175+[[While we wait, I’ll quickly show you another useful feature. ]] ..
4176+[[All construction sites look the same, and some buildings look alike. It is sometimes hard to tell them apart. ]] ..
4177+[[Widelands offers a feature to show label texts over the buildings. ]] ..
4178+[[They are called the ‘census’ and you can toggle them via the ‘c’ key or via the button on the ‘Watch’ tab of any field.]])
4179+ ) .. p(_(
4180+[[Similar to this are the building statistics, which are also toggled via a button on the ‘Watch’ tab of any field. ]] ..
4181+[[The hotkey for it is ‘s’. This will display information about the productivity of buildings ]] ..
4182+[[or the progress of construction sites.]])
4183+ ) .. p(_(
4184+[[Let me quickly enable these two for you. Remember: ‘c’ and ‘s’ are the keys. ]] ..
4185+[[Alternatively, you can click on any field without a building on it, ]] ..
4186+[[select the watch tab and then click on the corresponding buttons.]])
4187 )
4188 )
4189 }
4190
4191 census_and_statistics_01 = {
4192- title = _ "Census and statistics",
4193+ title = _ "Census and Statistics",
4194 body = rt(p(_
4195-[[Now we know what's going on. Let's wait for this quarry to finish.]]
4196+[[Now we know what’s going on. Let’s wait for this quarry to finish.]]
4197 )
4198 )
4199 }
4200
4201 teaching_about_messages = {
4202 popup = true,
4203- title = _ "Introducing messages",
4204+ title = _ "Introducing Messages",
4205 body = rt(h1(_"Messages") ..
4206- p(_
4207-[[Hi, it's me again! This time, I sent you a message. Messages are sent to you
4208-by Widelands to inform you about important events: empty mines, attacks on your
4209-tribe, won or lost military buildings, resources found...]]
4210- ) .. p(_
4211-[[The message window can be toggled by the button on the very right at the
4212-bottom of the screen. This button also changes appearance if new messages are
4213-available, but there is also a bell sound played whenever you receive a new
4214-message.]]
4215- ) .. p(_
4216-[[Currently, you have two messages. This one which you are currently reading and
4217-the one that informed you that a new headquarters was added to your economy.
4218-Let's learn how to archive messages: You can check them off in your inbox so
4219-that they get a tick-symbol in front of them. Then, you can click the]]
4220- )) .. rt("image=pics/message_archive.png", p(_
4221+ p(_(
4222+[[Hi, it’s me again! This time, I have sent you a message. ]] ..
4223+[[Messages are sent to you by Widelands to inform you about important events: empty mines, attacks on your tribe, ]] ..
4224+[[won or lost military buildings, resources found...]]
4225+ )) .. p(_(
4226+[[The message window can be toggled by the button on the very right at the bottom of the screen. ]] ..
4227+[[This button will also change appearance whenever new messages are available, ]] ..
4228+[[but there is also a bell sound played whenever you receive a new message.]]
4229+ )) .. p(_(
4230+[[You have two messages at the moment. ]] ..
4231+[[This one, which you are currently reading, and the one that informed you that a new headquarters ]] ..
4232+[[was added to your economy. Let’s learn how to archive messages: ]] ..
4233+[[You can check them off in your inbox so that they get a tick-symbol in front of them. ]] ..
4234+[[Then, you can click the]]
4235+ ))) .. rt("image=pics/message_archive.png", p(_
4236 [[archive message button to move them into your archive.]]
4237- )) .. rt(p(_
4238-[[Archive all messages, including this one, that you currently have in your
4239- inbox.]]
4240+ )) .. rt(p([[• ]] ..
4241+_[[Archive all messages that you currently have in your inbox, including this one.]]
4242 )
4243 ),
4244 obj_name = "archive_all_messages",
4245 obj_title = _"Archive all messages in your inbox",
4246- obj_body = rt(h1(_"Archive our inbox messages") .. p(_
4247-[[The message window is central to fully controlling your tribe's fortune. But
4248-you get a lot of messages in a real game. To keep your head straight, you should
4249-try to keep the inbox empty. Archive all your messages in the inbox now. To do
4250-so, open the messages window by pressing 'n' or clicking the right most button
4251-at the very bottom of the screen. Then mark all messages by checking the check
4252-box in front of them. Then, click the archive all button]]
4253+ obj_body = rt(h1(_"Archive Your Inbox Messages") .. p(_(
4254+[[The message window is central to fully controlling your tribe’s fortune. ]] ..
4255+[[However, you will get a lot of messages in a real game. ]] ..
4256+[[To keep your head straight, you should try to keep the inbox empty. ]])
4257+ ) .. p([[• ]] ..
4258+_[[Archive all your messages in your inbox now.]]
4259+ ) .. p([[→ ]] ..
4260+_([[To do so, open the message window by pressing ‘n’ or clicking the rightmost button at the very bottom of the screen. ]] ..
4261+[[Then mark all messages by checking the check box in front of them. Then, click the ‘Archive All’ button.]])
4262 )
4263 )
4264 }
4265@@ -424,20 +395,21 @@
4266 closing_msg_window_00 = {
4267 pos = "topright",
4268 field = first_quarry_field,
4269- title = _"Closing windows",
4270- body = rt(p(_
4271-[[Excellent. By the way: closing windows in Widelands is as easy as
4272-right-clicking on them. This works with all windows except for story message
4273-windows like this one. Go ahead and try it. First, close this window by pressing
4274-the button below, then right click into the messages window to close it.]]
4275+ title = _"Closing Windows",
4276+ body = rt(p(_(
4277+[[Excellent. By the way: closing windows in Widelands is as easy as right-clicking on them. ]] ..
4278+[[This will work with all windows except for story message windows like this one. Go ahead and try it.]])
4279+ ) .. p([[• ]] ..
4280+_[[First, close this window by pressing the button below, then right-click into the messages window to close it.]]
4281 )
4282 ),
4283 obj_name = "close_message_window",
4284 obj_title = _ "Close the messages window",
4285- obj_body = rt(h1(_"Close the messages window") .. p(_
4286-[[All windows in Widelands can be closed by right clicking into them. Some
4287-windows can also be toggled with the buttons at the very bottom of the screen.
4288-Close the messages window now by right clicking into it.]]
4289+ obj_body = rt(h1(_"Close the Messages Window") .. p(_(
4290+[[All windows in Widelands can be closed by right-clicking into them. ]] ..
4291+[[Some windows can also be toggled with the buttons at the very bottom of the screen.]])
4292+ ) .. p([[• ]] ..
4293+_[[Close the messages window now by right-clicking into it.]]
4294 )
4295 )
4296 }
4297@@ -445,92 +417,87 @@
4298 closing_msg_window_01 = {
4299 pos = "topright",
4300 field = first_quarry_field,
4301- title = _ "Closing windows",
4302- body = rt(p(_
4303-[[Well done! Let's see how messages work in the real game, shall we? For this,
4304-I'll take all stones away from the poor stonemason in the quarry. He will then
4305-send a message that he can't find any in his working area the next time he
4306-tries to do some work.]]
4307+ title = _ "Closing Windows",
4308+ body = rt(p(_(
4309+[[Well done! Let’s see how messages work in a real game, shall we? ]] ..
4310+[[For this, I’ll take all stones away from the poor stonemason in the quarry. ]] ..
4311+[[He will then send a message that he can’t find any in his working area the next time he tries to do some work.]])
4312 )
4313 )
4314 }
4315
4316 conclude_messages = {
4317 pos = "topright",
4318- title = _ "Message arrived!",
4319- body = rt(p(_
4320-[[A message has been sent to you. See how the button at the bottom of the
4321-screen has changed appearance? You might now burn this quarry down as it is
4322-no longer of any use and is just blocking space. To do that, click on the
4323-quarry and select the destroy button.]]
4324+ title = _ "Message Arrived!",
4325+ body = rt(p(_(
4326+[[A message has been sent to you. See how the button at the bottom of the screen has changed appearance? ]] ..
4327+[[You can burn this quarry down now as it is no longer of any use and just blocking space.]])
4328+ ) .. p([[• ]] ..
4329+_[[To do that, click on the quarry and select the destroy button.]]
4330 ))
4331 }
4332
4333 introduce_expansion = {
4334- title = _ "Expanding your territory!",
4335- body = rt(p(_
4336-[[There is one more thing I'd like to teach you now: Expanding your territory.
4337-The place that we start with around our headquarters is barely enough for a
4338-basic build infrastructure and we do not have access to mountains which we
4339-need to mine minerals and coal. So we have to expand our territory.]]
4340- ) .. p(_
4341-[[Expanding is as simple as building a military building at the corner of
4342-your territory. The barbarians have a few different military buildings:
4343-sentries, barriers, donjons, fortresses and citadels. The bigger
4344-the building, the more expensive it is to build, the more land it conquers
4345-around itself and the more soldiers can be stationed there. The buildings also
4346-vary in their vision range: buildings with a tower see farther than others.]]
4347- ) .. p(_
4348-[[As soon as a military building is manned, it extends your land. You can then
4349-burn it down again if you need the place. But note that your land is then
4350-vulnerable: any military site from another player can conquer the land. You
4351-therefore need military sites to keep military influence over your land.]]
4352- ) .. p(_
4353-[[Let's try it out now: Build a few military buildings on your south western
4354-border. We want to capture some of this mountain, so we can search for
4355-resources there. Bigger buildings will conquer more land which can be beneficial
4356-close to mountains because you can't build houses in mountains.]]
4357+ title = _ "Expanding Your Territory!",
4358+ body = rt(p(_(
4359+[[There is one more thing I’d like to teach you now: Expanding your territory. ]] ..
4360+[[The place that we started with around our headquarters is barely enough for a basic building infrastructure, ]] ..
4361+[[and we do not have access to mountains, which we need to mine minerals and coal. So, we have to expand our territory.]])
4362+ ) .. p(_(
4363+[[Expanding is as simple as building a military building at the edge of your territory. ]] ..
4364+[[The barbarians have a selection of different military buildings: ]] ..
4365+[[sentries, barriers, donjons, fortresses and citadels. ]] ..
4366+[[The bigger the building, the more expensive it is to build, but the more land it will conquer around itself ]] ..
4367+[[and the more soldiers can be stationed there. ]] ..
4368+[[The buildings also vary in their vision range: buildings with a tower see farther than others.]])
4369+ ) .. p(_(
4370+[[As soon as a military building is manned, it will extend your land. ]] ..
4371+[[You can then burn it down again if you need the space. ]] ..
4372+[[But note that your land is then vulnerable: any military site from another player could conquer the land. ]] ..
4373+[[You therefore need military sites to keep military influence over your land.]])
4374+ ) .. p([[• ]] ..
4375+_[[Let’s try it out now: build a few military buildings on your south-western border.]]
4376+ ) .. p([[→ ]] ..
4377+_([[We want to capture some of this mountain so we can search for resources there. ]] ..
4378+[[Bigger buildings will conquer more land, which can be beneficial close to mountains, ]] ..
4379+[[because you can’t build houses on mountains.]])
4380 )
4381 ),
4382 obj_name = "conquer_mountain",
4383 obj_title = _ "Conquer an area were we can build mines",
4384- obj_body = rt(h1(_"Conquer the mountain to the south west") .. p(_
4385-[[For a full-fledged economy, we need coal, iron and gold. These can be found
4386-in mountains. Conquer some area on the mountains to the south-west of your
4387-headquarters by building some military buildings close to your border.]]
4388- ) .. p(_
4389-[[You can choose from the following military buildings: sentry,
4390-donjon, barrier and fortress. The bigger the building, the more expensive it is
4391-to be built. But it will also conquer a bigger region. Sometimes, it is useful
4392-to build a big military building next to a mountain so that you can reach
4393-fields farther up.]]
4394+ obj_body = rt(h1(_"Conquer the Mountain to the South-West") .. p(_(
4395+[[For a full-fledged economy, we need coal, iron and gold. These can be found in mountains. ]] ..
4396+[[Conquer some area on the mountains to the south-west of your headquarters ]] ..
4397+[[by building some military buildings close to your border.]])
4398+ ) .. p([[→ ]] ..
4399+_([[You can choose from the following military buildings: sentry, donjon, barrier and fortress. ]] ..
4400+[[The bigger the building, the more expensive it is to build it, but it will also conquer a bigger region. ]] ..
4401+[[Sometimes, it is useful to build a big military building next to a mountain ]] ..
4402+[[so that you can reach building sites farther up.]])
4403 )
4404 )
4405 }
4406
4407 mining_00 = {
4408 pos = "topright",
4409- title = _ "Searching for resources",
4410- body = rt(p(_
4411-[[Okay, now we own some of the area on this mountain. Mountains are very
4412-important, because they contain resources: coal, iron ore, gold ore and
4413-granite. Each tribe uses the resources differently, but all need mines to get
4414-the resources out of the ground.]]
4415- ) .. p(_
4416-[[Let's search for resources in this mountain. First, we'll build a road into
4417-the mountains and place a flag. Then, we click on the flag and call a geologist
4418-to it. I'll show you how it's done.]]
4419+ title = _ "Searching for Resources",
4420+ body = rt(p(_(
4421+[[Okay, now we own some of the area on this mountain. ]] ..
4422+[[Mountains are very important, because they contain resources: coal, iron ore, gold ore and granite. ]] ..
4423+[[Each tribe uses the resources differently, but all need mines to extract the resources from the ground.]])
4424+ ) .. p(_(
4425+[[Let’s search for resources in this mountain. First, we’ll build a road onto the mountain and place a flag. ]] ..
4426+[[Then, we will click on the flag and call a geologist to it. I’ll show you how it’s done.]])
4427 )
4428 )
4429 }
4430
4431 mining_01 = {
4432 pos = "topright",
4433- title = _"Waiting for the geologist",
4434- body = rt(p(_
4435-[[The geologist will arrive shortly to the flag and start investigating the
4436-area in his surroundings. He will place the following markers for the various
4437-resources:]]
4438+ title = _"Waiting for the Geologist",
4439+ body = rt(p(_(
4440+[[The geologist will arrive at the flag shortly and start investigating the area in his surroundings. ]] ..
4441+[[He will place the following markers for the various resources:]])
4442 )) ..
4443 rt("image=tribes/barbarians/resi_coal1/resi_00.png", p(_ "a bit of coal")) ..
4444 rt("image=tribes/barbarians/resi_coal2/resi_00.png", p(_ "a lot of coal")) ..
4445@@ -546,52 +513,54 @@
4446 rt("image=tribes/barbarians/resi_none/resi_00.png",
4447 p(_ "nothing was found here"))
4448 .. rt(p(_
4449-[[Let's wait and see what the geologist finds on the mountain.]]
4450+[[Let’s wait and see what the geologist finds on the mountain.]]
4451 )
4452 )
4453 }
4454
4455 mining_02 = {
4456 pos = "topright",
4457- title = _ "Mining conclusion",
4458- body = rt(p(_
4459-[[So our geologist found a lot of coal on this mountain. You should therefore
4460-build a coal mine here. Building a mine is like building a house. The build help
4461-symbol for where a mine can be built is]]
4462+ title = _ "Mining Conclusion",
4463+ body = rt(p(_(
4464+[[So our geologist found a lot of coal on this mountain. ]] ..
4465+[[You should therefore build a coal mine here. Building a mine is like building a house. ]] ..
4466+[[The building space symbol for where a mine can be built is]])
4467 )) .. rt("image=pics/mine.png", p(_"this one.")) ..
4468- rt(p(_
4469-[[Note that a mine needs rations to work. Rations are
4470-produced in taverns and taverns need meat, pitta bread, and fish to produce
4471-them. You will need a lot more infrastructure to get your mines working
4472-well. This infrastructure also varies from tribe to tribe. You'll get them
4473-explained in the introduction campaigns for the three tribes.]]
4474+ rt(p(_(
4475+[[Note that a mine needs rations to work. ]] ..
4476+[[Rations are produced in taverns, and taverns need meat, pitta bread, and fish to produce them. ]] ..
4477+[[You will need a lot more infrastructure to get your mines working well. ]] ..
4478+[[This infrastructure also varies from tribe to tribe. ]] ..
4479+[[We will explain them to you in the introduction campaigns for the three tribes.]])
4480 )
4481 )
4482 }
4483
4484 warfare_and_training_00 = {
4485 title = _ "Warfare and Training",
4486- body = rt(h1(_ "Soldiers and Warfare") .. p(_
4487-[[On to the last topic now. We are going to talk about soldiers, their training
4488-and their profession: warfare. As mentioned, Widelands is about building up,
4489-not burning down: therefore warfare is also more focused on the economics than
4490-the military strategies. Nevertheless, warfare offers one way to challenge
4491-other players and it has some game mechanics that deserve explanation. The
4492-economies of the tribes are explained in their individual tutorial campaigns.
4493-Ok, I am going to create us a little training ground with a training camp and a
4494-warehouse to the north east of here.]]) .. p(_
4495-[[If you want to come back to this south-western part of your realm, just scroll here
4496-via right-button scrolling or open the minimap by clicking on the]]
4497- )) .. rt("image=pics/menu_toggle_minimap.png", p(_
4498-[[minimap button at the bottom of the screen. Alternatively you could also press
4499-'m' on your keyboard]]
4500- )) .. (rt(p(_
4501-[[The minimap shows you the complete map in miniature. You can directly jump to
4502-any field by left-clicking on it. You can also toggle buildings, roads, flags
4503-and player indicators on and off inside the minimap.]]
4504- ) .. p(_
4505-[[But I digress. Back to soldiers. What was I about to do? Oh yes, I wanted to
4506-build a small training scenario for you. Let's do that now.]]
4507+ body = rt(h1(_ "Soldiers and Warfare") .. p(_(
4508+[[On to the last topic now. We are going to talk about soldiers, their training and their profession: warfare. ]] ..
4509+[[As I mentioned, Widelands is about building up, not burning down: ]] ..
4510+[[therefore, warfare is also more focused on economics than on military strategies.]]
4511+ )) .. p(_(
4512+[[Nevertheless, warfare offers one way of challenging other players, ]] ..
4513+[[and it has some game mechanics that deserve explanation. ]] ..
4514+[[The economies of the tribes are explained in their individual tutorial campaigns. ]]
4515+ )) .. p(_(
4516+[[Ok, I am going to create a little training ground for us with a training camp and a warehouse to the north east of here.]]))
4517+ .. p(_(
4518+[[If you want to come back to this south-western part of your realm, ]] ..
4519+[[just scroll here via right-button scrolling or open the minimap by clicking on the]])
4520+ )) .. rt("image=pics/menu_toggle_minimap.png", p(_(
4521+[[minimap button at the bottom of the screen.]]
4522+ )) .. p(_(
4523+[[Alternatively, you could also press ‘m’ on your keyboard.]])
4524+ )) .. (rt(p(_(
4525+[[The minimap shows the complete map in miniature. You can directly jump to any field by left-clicking on it. ]] ..
4526+[[You can also toggle buildings, roads, flags and player indicators on and off inside the minimap.]])
4527+ ) .. p(_(
4528+[[But I digress. Back to soldiers. What was I about to do? ]] ..
4529+[[Oh yes, I wanted to build a small training scenario for you. Let’s do that now.]])
4530 )
4531 )
4532 )
4533@@ -599,71 +568,73 @@
4534
4535 warfare_and_training_01 = {
4536 pos = "topright",
4537- title = _ "Trainings camp and soldier stats",
4538- body = rt(p(_
4539-[[There we go. Take a look at the soldiers that are on their way into our
4540-trainings camp. They look different than normal workers: they have a health bar
4541-over their head that displays their remaining hitpoints and they have four
4542-symbols which symbolize the individual soldier's current levels in the four
4543-different categories hitpoints, attack, defense and evade.]]
4544- ) .. p(_
4545-[[A soldier is created as any normal worker: a carrier grabs a tool in a
4546-warehouse as soon as a request for a certain profession is not fulfilled. The
4547-tool to create a barbarian soldier is an axe. The newly created soldier is of
4548-level 0. To make the soldier better in any of the four categories, training is
4549-needed. Training happens in training sites like the trainings camp or the
4550-battle arena: soldiers go there (as our little fellows are currently doing),
4551-consume some wares and advance a level in one category. If a barbarian soldier
4552-is fully trained, he has level 3 hitpoints, level 5 attack, level 0 defense and
4553-level 2 evade. This is one fearsome warrior then! The individual statistics
4554-have the following meaning:]]
4555- ) .. h2(_"Hitpoints:") .. p(_
4556-[[The total life of a soldier. A barbarian soldier starts with ~130 hitpoints,
4557-with each hitpoint level he gains 28 hitpoints.]]
4558- ) .. h2(_"Attack:") .. p(_
4559-[[The amount of damage a soldier inflicts upon a successful attack on the
4560-enemy. A barbarian soldier with attack level 0 inflicts ~14 hitpoints damage
4561-when he succeeds to hit an enemy. For each attack level, he gains 7 damage.]]
4562- ) .. h2(_"Defense:") .. p(_
4563-[[Defense is the value that is subtracted from the attack value. The barbarians
4564-can not train in this skill and therefore have always defense level 0 which
4565-means that they always get 3 hitpoints subtracted from the damage inflicted. If
4566-an attacker with an attack value of 15 hitpoints hits a barbarian soldier, the
4567-barbarian would lose 15 - 3 = 12 hitpoints. The 3 hitpoints that are subtracted
4568-are because of the defense ability.]]
4569- ) .. h2(_"Evade:") .. p(_
4570-[[Evade is the chance that the soldier is able to dodge an attack. It is 25% for
4571-a level 0 evade barbarian and increases in steps of 15% for each level.]]
4572+ title = _ "Trainings Camp and Soldier Stats",
4573+ body = rt(p(_(
4574+[[Here we go. Take a look at the soldiers that are on their way into our training camp. ]] ..
4575+[[They look different from normal workers: they have a health bar over their head ]] ..
4576+[[that displays their remaining health, and they have four symbols, ]] ..
4577+[[which symbolize the individual soldier’s current levels in the four different categories ]] ..
4578+[[health, attack, defense and evade.]])
4579+ ) .. p(_(
4580+[[A soldier is created like any normal worker: ]] ..
4581+[[a carrier grabs a tool in a warehouse as soon as a request for a certain profession is not fulfilled. ]] ..
4582+[[The tool to create a barbarian soldier is an ax. Newly created soldiers are of level 0. ]] ..
4583+[[To make soldiers better in any of the four categories, training is needed.]])
4584+ ) .. p(_(
4585+[[Training happens in training sites like the training camp or the battle arena: ]] ..
4586+[[soldiers go there (as our little fellows are currently doing), ]] ..
4587+[[consume some wares and advance a level in one category. If a barbarian soldier is fully trained, ]] ..
4588+[[he has level 3 health, level 5 attack, level 0 defense and level 2 evade. This is one fearsome warrior then!]] ..
4589+[[The individual statistics have the following meaning:]])
4590+ ) .. h2(_"Health:") .. p(_(
4591+[[The total life of a soldier. A barbarian soldier starts with ~130 health points, ]] ..
4592+[[and with each health level he gains 28 health points.]])
4593+ ) .. h2(_"Attack:") .. p(_(
4594+[[The amount of damage a soldier will inflict on the enemy when an attack is successful. ]] ..
4595+[[A barbarian soldier with attack level 0 inflicts ~14 points of health damage when he succeeds in hitting an enemy. ]] ..
4596+[[For each attack level, he gains 7 damage points.]])
4597+ ) .. h2(_"Defense:") .. p(_(
4598+[[Defense is the value that is subtracted from the attack value. ]] ..
4599+[[The barbarians cannot train in this skill and therefore have always defense level 0, ]] ..
4600+[[which means that they always get 3 points subtracted from the damage inflicted. ]] ..
4601+[[If an attacker with an attack value of 15 points hits a barbarian soldier, the barbarian will lose 15 - 3 = 12 health. ]] ..
4602+[[The 3 points are subtracted because of the defense ability.]])
4603+ ) .. h2(_"Evade:") .. p(_(
4604+[[Evade is the chance that the soldier is able to dodge an attack. ]] ..
4605+[[It is 25% for a level 0 evade barbarian and increases in steps of 15% for each level.]])
4606 )
4607 )
4608 }
4609
4610 enhance_fortress = {
4611 pos = "topright",
4612- title = _ "Enhance this fortress",
4613- body = rt(h1(_ "Enhancing buildings") .. p(_
4614-[[I will create an enemy for you soon, but let's make sure you are prepared.
4615-This fortress is already quite strong and conquers a lot of space. But there is
4616-an even bigger building: the citadel.]]
4617- ) .. p(_
4618-[[Citadels can not be built directly. Instead, you have to construct a fortress
4619-first and then enhance it to a citadel. To do so, click on the fortress, then
4620-choose the enhance to citadel button. Your soldiers will leave the citadel
4621-while the construction is going on. This means that your fortress has no
4622-military influence any more. If an enemy builds a military building nearby,
4623-your construction site could burn down. No sweat, that won't happen here.]]
4624- ) .. p(_
4625-[[Enhance your fortress to a citadel now. Remember that you can speed time up
4626-by using PAGE_UP, building a citadel takes a while.]]
4627+ title = _ "Enhance This Fortress",
4628+ body = rt(h1(_ "Enhancing Buildings") .. p(_(
4629+[[I will create an enemy for you soon, but first let’s make sure you are prepared. ]] ..
4630+[[This fortress is already quite strong and conquers a lot of space. ]] ..
4631+[[But there is an even bigger building: the citadel.]])
4632+ ) .. p(_(
4633+[[Citadels cannot be built directly. ]] ..
4634+[[Instead, you will have to construct a fortress first and then enhance it to a citadel. ]] ..
4635+[[To do so, click on the fortress, then choose the ‘Enhance to Citadel’ button. ]] ..
4636+[[Your soldiers will leave the fortress while the construction is going on. ]] ..
4637+[[This means that your fortress will lose its military influence. If an enemy occupies a military building nearby, ]] ..
4638+[[your construction site will burn down. No sweat, that won’t happen here.]])
4639+ ) .. p([[• ]] ..
4640+_[[Enhance your fortress to a citadel now.]]
4641+ ) .. p([[→ ]] ..
4642+_([[Remember that you can speed time up by using PAGE_UP. ]] ..
4643+[[Building a citadel takes a while.]])
4644 )
4645 ),
4646 obj_name = "enhance_fortress",
4647 obj_title = _"Enhance your fortress to a citadel",
4648- obj_body = rt(h1(_ "Enhance your fortress") .. p(_
4649-[[Enhance your fortress to a mighty citadel. The citadel can house 12 soldiers
4650-and is the biggest military building the barbarians can build. It also costs a
4651-lot and takes a long time to build. It is most suited to guard strategically
4652-important points like constricted points or mountains.]]
4653+ obj_body = rt(h1(_ "Enhance Your Fortress") .. p([[• ]] ..
4654+_[[Enhance your fortress to a mighty citadel.]]
4655+ ) .. p([[→ ]] ..
4656+_([[The citadel can house 12 soldiers and is the biggest military building the barbarians can build. ]] ..
4657+[[It also costs a lot of resources and takes a long time to build. ]] ..
4658+[[It is most suited to guard strategically important points like constricted points or mountains.]])
4659 )
4660 )
4661 }
4662@@ -671,23 +642,23 @@
4663 attack_enemey = {
4664 pos = "topright",
4665 title = _ "Defeat your enemy",
4666- body = rt(h1(_ "Defeat the enemy") .. p(_
4667-[[I created a sparring partner for you: It is an empire tribe close to your
4668-citadel. To attack its buildings, click on the door of your target building,
4669-choose the number of soldiers that you wish to send and click on the attack
4670-button. Your soldiers will come from all nearby military buildings. Likewise,
4671-the defenders will come from all nearby military buildings of the enemy and
4672-intercept your forces.]]
4673- ) .. p(_
4674-[[Attack and conquer all military buildings of the enemy and destroy its
4675-headquarters.]]
4676+ body = rt(h1(_ "Defeat the Enemy") .. p(_(
4677+[[I have created a sparring partner for you: It is an empire tribe close to your citadel. ]] ..
4678+[[To attack its buildings, click on the door of a target building, ]] ..
4679+[[choose the number of soldiers that you wish to send and click on the attack button. ]] ..
4680+[[Your soldiers will come from all nearby military buildings. ]] ..
4681+[[Likewise, the defenders will come from all nearby military buildings of the enemy and intercept your forces.]])
4682+ ) .. p([[• ]] ..
4683+_[[Attack and conquer all military buildings of the enemy and destroy their headquarters.]]
4684 )
4685 ),
4686 obj_name = "defeated_the_empire",
4687 obj_title = _ "Defeat the enemy tribe",
4688- obj_body = rt(h1(_"Defeat your enemy") .. p(_
4689-[[Defeat the nearby enemy. To attack a building, click on its doors, choose the
4690-number of attacking soldiers, then send them via the attack button.]]
4691+ obj_body = rt(h1(_"Defeat Your Enemy") .. p([[• ]] ..
4692+_[[Defeat the nearby enemy.]]
4693+ ) .. p([[→ ]] ..
4694+_([[To attack a building, click on its doors, choose the number of attacking soldiers, ]] ..
4695+[[then send them via the ‘Attack’ button.]])
4696 )
4697 )
4698 }
4699@@ -695,29 +666,26 @@
4700 conclude_tutorial = {
4701 title = _ "Conclusion",
4702 body = rt(h1(_"Conclusion") ..
4703- p(_
4704-[[This concludes the tutorial. There is some stuff we have not covered here --
4705-we have not even built a single producing building even though producing wares
4706-is the most important thing in Widelands -- but you've learned the ropes. You
4707-can learn about the remaining stuff while you go through the individual tribe's
4708-introduction campaigns. Each consists of some scenarios explaining the tribes
4709-and their economy while introducing the background story of Widelands. Have fun
4710-playing!]]
4711- ) .. p(_
4712-[[You can continue playing this map or you can end this game whenever you like.
4713-To leave this game and return to the main menu click on the]]
4714- )) .. rt("image=pics/menu_options_menu.png", p(_
4715-[[options menu button on the very left at the bottom of the screen.
4716-Then click the]]
4717+ p(_(
4718+[[This concludes the tutorial. ]] ..
4719+[[There is some stuff we have not covered here – we have not even built a single production building ]] ..
4720+[[even though producing wares is the most important thing in Widelands – but you’ve learned the ropes.]])
4721+ ) .. p(_(
4722+[[You can learn about the remaining stuff while you go through the individual tribes’ introduction campaigns. ]] ..
4723+[[Each consists of some scenarios explaining the tribe and its economy while introducing the background story of Widelands. ]] ..
4724+[[Have fun playing!]])
4725+ ) .. p(_(
4726+[[You can continue playing this map or you can end this game whenever you like. ]] ..
4727+[[To leave this game and return to the main menu, click on the]])
4728+ )) .. rt("image=pics/menu_options_menu.png", p(_(
4729+[[‘Options’ menu button on the very left at the bottom of the screen. ]] ..
4730+[[Then click the]])
4731 )) .. rt("image=pics/menu_exit_game.png", p(_
4732-[[exit game button.]]
4733+[[‘Exit Game’ button.]]
4734 )) .. rt(p(_
4735-[[Thanks for playing this tutorial. Enjoy Widelands and remember
4736-to visit us at]]
4737+[[Thanks for playing this tutorial. Enjoy Widelands and remember to visit us at]]
4738 )) .. rt("text-align=center",
4739 "<p font-size=24 font-decoration=underline>http://www.widelands.org</p>"
4740 )
4741 }
4742
4743-
4744-
4745
4746=== modified file 'global/militarysites/barracks.empire/conf'
4747--- global/militarysites/barracks.empire/conf 2013-06-11 16:37:44 +0000
4748+++ global/militarysites/barracks.empire/conf 2014-03-05 18:47:45 +0000
4749@@ -4,6 +4,12 @@
4750 max_soldiers=1
4751 buildable=no
4752 prefer_heroes=false
4753+occupied_string=
4754+aggressor_string=_Your Barracks discovered an aggressor.
4755+attack_string=_Your Barracks is under attack.
4756+defeated_enemy_string=_The enemy defeated your soldiers at the Barracks
4757+defeated_you_string=_Your soldiers defeated the enemy at the Barracks
4758+
4759
4760 [idle]
4761 pics=../../../tribes/empire/barracks/barracks_i_??.png
4762
4763=== modified file 'global/militarysites/barrier.barbarians/conf'
4764--- global/militarysites/barrier.barbarians/conf 2013-06-11 16:37:44 +0000
4765+++ global/militarysites/barrier.barbarians/conf 2014-03-05 18:47:45 +0000
4766@@ -4,6 +4,12 @@
4767 conquers=8
4768 buildable=no
4769 prefer_heroes=true
4770+occupied_string=
4771+aggressor_string=_Your Barrier discovered an aggressor.
4772+attack_string=_Your Barrier is under attack.
4773+defeated_enemy_string=_The enemy defeated your soldiers at the Barrier
4774+defeated_you_string=_Your soldiers defeated the enemy at the Barrier
4775+
4776
4777 [idle]
4778 pics=../../../tribes/barbarians/barrier/barrier_i_??.png
4779
4780=== modified file 'global/militarysites/barrier.empire/conf'
4781--- global/militarysites/barrier.empire/conf 2013-06-11 16:37:44 +0000
4782+++ global/militarysites/barrier.empire/conf 2014-03-05 18:47:45 +0000
4783@@ -4,6 +4,12 @@
4784 conquers=8
4785 buildable=no
4786 prefer_heroes=true
4787+occupied_string=
4788+aggressor_string=_Your Barrier discovered an aggressor.
4789+attack_string=_Your Barrier is under attack.
4790+defeated_enemy_string=_The enemy defeated your soldiers at the Barrier
4791+defeated_you_string=_Your soldiers defeated the enemy at the Barrier
4792+
4793
4794 [idle]
4795 pics=../../../tribes/empire/barrier/barrier_i_??.png
4796
4797=== modified file 'global/militarysites/castle.atlanteans/conf'
4798--- global/militarysites/castle.atlanteans/conf 2013-06-11 16:37:44 +0000
4799+++ global/militarysites/castle.atlanteans/conf 2014-03-05 18:47:45 +0000
4800@@ -4,6 +4,12 @@
4801 conquers=12
4802 buildable=no
4803 prefer_heroes=true
4804+occupied_string=
4805+aggressor_string=_Your Castle discovered an aggressor.
4806+attack_string=_Your Castle is under attack.
4807+defeated_enemy_string=_The enemy defeated your soldiers at the Castle
4808+defeated_you_string=_Your soldiers defeated the enemy at the Castle
4809+
4810
4811 [idle]
4812 pics=../../../tribes/atlanteans/castle/castle_i_??.png
4813
4814=== modified file 'global/militarysites/castle.empire/conf'
4815--- global/militarysites/castle.empire/conf 2013-06-11 16:37:44 +0000
4816+++ global/militarysites/castle.empire/conf 2014-03-05 18:47:45 +0000
4817@@ -4,6 +4,12 @@
4818 conquers=12
4819 buildable=no
4820 prefer_heroes=true
4821+occupied_string=
4822+aggressor_string=_Your Castle discovered an aggressor.
4823+attack_string=_Your Castle is under attack.
4824+defeated_enemy_string=_The enemy defeated your soldiers at the Castle
4825+defeated_you_string=_Your soldiers defeated the enemy at the Castle
4826+
4827
4828 [idle]
4829 pics=../../../tribes/empire/castle/castle_i_??.png
4830
4831=== modified file 'global/militarysites/citadel.barbarians/conf'
4832--- global/militarysites/citadel.barbarians/conf 2013-06-11 16:37:44 +0000
4833+++ global/militarysites/citadel.barbarians/conf 2014-03-05 18:47:45 +0000
4834@@ -4,6 +4,12 @@
4835 conquers=12
4836 buildable=no
4837 prefer_heroes=true
4838+occupied_string=
4839+aggressor_string=_Your Citadel discovered an aggressor.
4840+attack_string=_Your Citadel is under attack.
4841+defeated_enemy_string=_The enemy defeated your soldiers at the Citadel
4842+defeated_you_string=_Your soldiers defeated the enemy at the Citadel
4843+
4844
4845 [idle]
4846 pics=../../../tribes/barbarians/citadel/citadel_i_??.png
4847
4848=== modified file 'global/militarysites/donjon.barbarians/conf'
4849--- global/militarysites/donjon.barbarians/conf 2013-06-11 16:37:44 +0000
4850+++ global/militarysites/donjon.barbarians/conf 2014-03-05 18:47:45 +0000
4851@@ -5,6 +5,12 @@
4852 vision_range=17
4853 buildable=no
4854 prefer_heroes=true
4855+occupied_string=
4856+aggressor_string=_Your Donjon discovered an aggressor.
4857+attack_string=_Your Donjon is under attack.
4858+defeated_enemy_string=_The enemy defeated your soldiers at the Donjon
4859+defeated_you_string=_Your soldiers defeated the enemy at the Donjon
4860+
4861
4862 [idle]
4863 pics=../../../tribes/barbarians/donjon/donjon_i_??.png
4864
4865=== modified file 'global/militarysites/fortress.barbarians/conf'
4866--- global/militarysites/fortress.barbarians/conf 2013-06-11 16:37:44 +0000
4867+++ global/militarysites/fortress.barbarians/conf 2014-03-05 18:47:45 +0000
4868@@ -4,6 +4,12 @@
4869 conquers=11
4870 buildable=no
4871 prefer_heroes=true
4872+occupied_string=
4873+aggressor_string=_Your Fortress discovered an aggressor.
4874+attack_string=_Your Fortress is under attack.
4875+defeated_enemy_string=_The enemy defeated your soldiers at the Fortress
4876+defeated_you_string=_Your soldiers defeated the enemy at the Fortress
4877+
4878
4879 [idle]
4880 pics=../../../tribes/barbarians/fortress/fortress_i_??.png
4881
4882=== modified file 'global/militarysites/fortress.empire/conf'
4883--- global/militarysites/fortress.empire/conf 2013-06-11 16:37:44 +0000
4884+++ global/militarysites/fortress.empire/conf 2014-03-05 18:47:45 +0000
4885@@ -4,6 +4,12 @@
4886 conquers=11
4887 buildable=no
4888 prefer_heroes=true
4889+occupied_string=
4890+aggressor_string=_Your Fortress discovered an aggressor.
4891+attack_string=_Your Fortress is under attack.
4892+defeated_enemy_string=_The enemy defeated your soldiers at the Fortress
4893+defeated_you_string=_Your soldiers defeated the enemy at the Fortress
4894+
4895
4896 [idle]
4897 pics=../../../tribes/empire/fortress/fortress_i_??.png
4898
4899=== modified file 'global/militarysites/guardhall.atlanteans/conf'
4900--- global/militarysites/guardhall.atlanteans/conf 2013-06-11 16:37:44 +0000
4901+++ global/militarysites/guardhall.atlanteans/conf 2014-03-05 18:47:45 +0000
4902@@ -4,6 +4,12 @@
4903 conquers=7
4904 buildable=no
4905 prefer_heroes=true
4906+occupied_string=
4907+aggressor_string=_Your Guardhall discovered an aggressor.
4908+attack_string=_Your Guardhall is under attack.
4909+defeated_enemy_string=_The enemy defeated your soldiers at the Guardhall
4910+defeated_you_string=_Your soldiers defeated the enemy at the Guardhall
4911+
4912
4913 [idle]
4914 pics=../../../tribes/atlanteans/guardhall/guardhall_i_??.png
4915
4916=== modified file 'global/militarysites/guardhouse.atlanteans/conf'
4917--- global/militarysites/guardhouse.atlanteans/conf 2013-06-11 16:37:44 +0000
4918+++ global/militarysites/guardhouse.atlanteans/conf 2014-03-05 18:47:45 +0000
4919@@ -4,6 +4,12 @@
4920 max_soldiers=2
4921 buildable=no
4922 prefer_heroes=false
4923+occupied_string=
4924+aggressor_string=_Your Guardhouse discovered an aggressor.
4925+attack_string=_Your Guardhouse is under attack.
4926+defeated_enemy_string=_The enemy defeated your soldiers at the Guardhouse
4927+defeated_you_string=_Your soldiers defeated the enemy at the Guardhouse
4928+
4929
4930 [idle]
4931 pics=../../../tribes/atlanteans/guardhouse/guardhouse_i_??.png
4932
4933=== modified file 'global/militarysites/high_tower.atlanteans/conf'
4934--- global/militarysites/high_tower.atlanteans/conf 2013-06-11 16:37:44 +0000
4935+++ global/militarysites/high_tower.atlanteans/conf 2014-03-05 18:47:45 +0000
4936@@ -5,6 +5,12 @@
4937 vision_range=21
4938 buildable=no
4939 prefer_heroes=true
4940+occupied_string=
4941+aggressor_string=_Your High Tower discovered an aggressor.
4942+attack_string=_Your High Tower is under attack.
4943+defeated_enemy_string=_The enemy defeated your soldiers at the High Tower
4944+defeated_you_string=_Your soldiers defeated the enemy at the High Tower
4945+
4946
4947 [idle]
4948 pics=../../../tribes/atlanteans/high_tower/high_tower_i_??.png
4949
4950=== modified file 'global/militarysites/outpost.empire/conf'
4951--- global/militarysites/outpost.empire/conf 2013-06-11 16:37:44 +0000
4952+++ global/militarysites/outpost.empire/conf 2014-03-05 18:47:45 +0000
4953@@ -4,6 +4,12 @@
4954 conquers=7
4955 buildable=no
4956 prefer_heroes=false
4957+occupied_string=
4958+aggressor_string=_Your Outpost discovered an aggressor.
4959+attack_string=_Your Outpost is under attack.
4960+defeated_enemy_string=_The enemy defeated your soldiers at the Outpost
4961+defeated_you_string=_Your soldiers defeated the enemy at the Outpost
4962+
4963
4964 [idle]
4965 pics=../../../tribes/empire/outpost/outpost_i_??.png
4966
4967=== modified file 'global/militarysites/sentry.barbarians/conf'
4968--- global/militarysites/sentry.barbarians/conf 2013-06-11 16:37:44 +0000
4969+++ global/militarysites/sentry.barbarians/conf 2014-03-05 18:47:45 +0000
4970@@ -4,6 +4,12 @@
4971 max_soldiers=2
4972 buildable=no
4973 prefer_heroes=false
4974+occupied_string=
4975+aggressor_string=_Your Sentry discovered an aggressor.
4976+attack_string=_Your Sentry is under attack.
4977+defeated_enemy_string=_The enemy defeated your soldiers at the Sentry
4978+defeated_you_string=_Your soldiers defeated the enemy at the Sentry
4979+
4980
4981 [idle]
4982 pics=../../../tribes/barbarians/sentry/sentry_i_??.png
4983
4984=== modified file 'global/militarysites/sentry.empire/conf'
4985--- global/militarysites/sentry.empire/conf 2013-06-11 16:37:44 +0000
4986+++ global/militarysites/sentry.empire/conf 2014-03-05 18:47:45 +0000
4987@@ -4,6 +4,12 @@
4988 max_soldiers=2
4989 buildable=no
4990 prefer_heroes=false
4991+occupied_string=
4992+aggressor_string=_Your Sentry discovered an aggressor.
4993+attack_string=_Your Sentry is under attack.
4994+defeated_enemy_string=_The enemy defeated your soldiers at the Sentry
4995+defeated_you_string=_Your soldiers defeated the enemy at the Sentry
4996+
4997
4998 [idle]
4999 pics=../../../tribes/empire/sentry/sentry_i_??.png
5000
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to status/vote changes: