Merge lp:~widelands-dev/widelands/i18n into lp:widelands
- i18n
- Merge into trunk
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 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
SirVer | Approve | ||
Review via email: mp+209212@code.launchpad.net |
Commit message
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://
To post a comment you must log in.
Revision history for this message
GunChleoc (gunchleoc) wrote : | # |
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/
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.
After I could compile and test, this is the stuff that still needs looking into:
======= ======= ======= ======= ===
/test/maps/ expedition. wmf/scripting/ init.lua for_message( "Expedition Ready") for_message( "Port Space Found")
- upper or lowercase needed here?
wait_
wait_
======= ======= ======= ======= ===
/utils/ test/test_ lua-xgettext. py
- 2 differences, please check:
def run_test(self): parse(self. code, self.filename)
self.p.
+ print self.p.findings - do we need this line? It's in gci18nfixes, but missing from i18n
and at EOF:
- # k = SomeTestClass() TextTestRunner( ).run(k) TextTestRunner( ).run(k)
- # unittest.
+ k = SomeTestClass()
+ unittest.
======= ======= ======= ======= ===
Help messages in nethost.cc