From 75958f26db839a7ceb1d3294108d84d12a305d03 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Tue, 9 Jan 2024 00:55:33 +0200 Subject: [PATCH 43/44] Tutorial: Turn lua script unit/city references to links See osdn #48585 Signed-off-by: Marko Lindqvist --- data/scenarios/tutorial.sav | 48 ++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/data/scenarios/tutorial.sav b/data/scenarios/tutorial.sav index 8cb2f82b60..c77f4bcd8c 100644 --- a/data/scenarios/tutorial.sav +++ b/data/scenarios/tutorial.sav @@ -105,7 +105,7 @@ end function tutorial_turn_callback(turn, year) if turn == 1 then notify.event(nil, nil, E.SCRIPT, -_("Welcome to Freeciv. You lead a civilization. Your\ntask is to conquer the world! You should start by\nexploring the land around you with your explorer,\nand using your settlers to find a good place to build\na city. Use the number pad to move units around.")) +_("Welcome to Freeciv. You lead a civilization. Your\ntask is to conquer the world! You should start by\nexploring the land around you with your explorer,\nand using your settlers to find a good place to build\na city. Use the number pad to move units around.")) end end signal.connect('turn_begin', 'tutorial_turn_callback') @@ -126,7 +126,7 @@ function tutorial_check_stacks(tile, player) -- formation: civilian plus bodyguard if n_our_units >= 3 then notify.event(player, tile, E.SCRIPT, -_("Outside of a city, if a 'stack' of units on a single tile is\nattacked, the strongest unit defends; and if that unit is defeated,\nALL of the units on the tile are killed. Therefore, it's often a\ngood idea to spread units out, avoiding 'stacks' of units like this,\nparticularly on land.")) +_("Outside of a city, if a 'stack' of units on a single tile is\nattacked, the strongest unit defends; and if that unit is defeated,\nALL of the units on the tile are killed. Therefore, it's often a\ngood idea to spread units out, avoiding 'stacks' of units like this,\nparticularly on land.")) vuln_stack_warning = true end end @@ -141,7 +141,7 @@ function tutorial_unit_moved_callback(unit, src_tile, dst_tile) and (has_tile_terrain_name(dst_tile, 'Grassland') or has_tile_terrain_name(dst_tile, 'Plains')) then notify.event(unit.owner, dst_tile, E.SCRIPT, -_("This looks like a good place to build a city. The next time this\nunit gets a chance to move, press (b) to found a city.\n\nIn general you want to build cities on open ground near water. Food\nis the most important resource for any city. Grassland and plains\nprovide plenty of food.")) +_("This looks like a good place to build a city. The next time this\n%s gets a chance to move, press (b) to found a city.\n\nIn general you want to build cities on open ground near water. Food\nis the most important resource for any city. Grassland and plains\nprovide plenty of food."), unit:link_text()) end end end @@ -154,7 +154,7 @@ function tutorial_first_city_pulse() citypulses = citypulses + 1 else notify.event(city_builder, city_tile, E.SCRIPT, -_("Now you have built your first city. The city window should have\nopened automatically; if not click on the city to open it. Cities are\na fundamental concept in Freeciv, so you should familiarize yourself\nwith them by playing around in the window. See the help menu for more.\n\nYou probably want to build some settlers first, so as to expand your\ncivilization further. Click on the production tab, then click on the\nsettler unit from the list of possible productions, then click on the\nChange button to begin building it. When you are done, close the city\ndialog. If all goes well the city should display the settler\nproduction on the map view.")) +_("Now you have built your first city. The city window should have\nopened automatically; if not click on the city to open it. Cities are\na fundamental concept in Freeciv, so you should familiarize yourself\nwith them by playing around in the window. See the help menu for more.\n\nYou probably want to build some settlers first, so as to expand your\ncivilization further. Click on the production tab, then click on the\nsettler unit from the list of possible productions, then click on the\nChange button to begin building it. When you are done, close the city\ndialog. If all goes well the city should display the settler\nproduction on the map view.")) signal.remove('pulse', 'tutorial_first_city_pulse') end end @@ -164,7 +164,7 @@ function tutorial_second_city_pulse() citypulses = citypulses + 1 else notify.event(city_builder, city_tile, E.SCRIPT, -_("Congratulations, you have founded your second city. This city will\nbehave almost exactly like the first one - it will be slightly different\nbecause of the terrain around it. You probably want to build\nsettlers here too.")) +_("Congratulations, you have founded your second city. This city will\nbehave almost exactly like the first one - it will be slightly different\nbecause of the terrain around it. You probably want to build\nsettlers here too.")) signal.remove('pulse', 'tutorial_second_city_pulse') end end @@ -174,7 +174,7 @@ function tutorial_third_city_pulse() citypulses = citypulses + 1 else notify.event(city_builder, city_tile, E.SCRIPT, -_("You have built your third city! Your civilization seems to be\nthriving. It might be time to think about a military. Pick one of\nthe cities that has a high production, and turn it into a military\ncenter. Build a Barracks there first, then start work on a military\nunit. Pick the best unit you have available - at the beginning of\nthe game, Warriors will be the only choice, but soon you will have\nplenty of options.\n\nThis might also be a good time to use the worklist feature of the\ncity dialog production report. Click on Barracks, then click Change\nto begin building them. Then double-click on a military unit to\nappend it to the worklist. As soon as the Barracks are complete the\ncity will automatically switch over to producing the unit.")) +_("You have built your third city! Your civilization seems to be\nthriving. It might be time to think about a military. Pick one of\nthe cities that has a high production, and turn it into a military\ncenter. Build a Barracks there first, then start work on a military\nunit. Pick the best unit you have available - at the beginning of\nthe game, Warriors will be the only choice, but soon you will have\nplenty of options.\n\nThis might also be a good time to use the worklist feature of the\ncity dialog production report. Click on Barracks, then click Change\nto begin building them. Then double-click on a military unit to\nappend it to the worklist. As soon as the Barracks are complete the\ncity will automatically switch over to producing the unit.")) signal.remove('pulse', 'tutorial_third_city_pulse') end end @@ -184,7 +184,7 @@ function tutorial_fourth_city_pulse() citypulses = citypulses + 1 else notify.event(city_builder, city_tile, E.SCRIPT, -_("Another city! You are really getting the hang of this. You\nprobably have a pretty good idea what to do with new cities by\nnow. Take a moment to look at the bar below the city on the map\nview. This display shows some useful information about the city.\nThe flag and background color indicate what civilization the city\nbelongs to (this will be useful when you meet other civilizations).\nThe top row of the bar also shows the name and size of the city, and\nwill show one or more stars to indicate if there are units in the\ncity. The bottom row shows what the city is building, and how long it\nwill take; it also shows how long the city will take to grow to the\nnext largest size.")) +_("Another city! You are really getting the hang of this. You\nprobably have a pretty good idea what to do with new cities by\nnow. Take a moment to look at the bar below the city on the map\nview. This display shows some useful information about the city.\nThe flag and background color indicate what civilization the city\nbelongs to (this will be useful when you meet other civilizations).\nThe top row of the bar also shows the name and size of the city, and\nwill show one or more stars to indicate if there are units in the\ncity. The bottom row shows what the city is building, and how long it\nwill take; it also shows how long the city will take to grow to the\nnext largest size.")) signal.remove('pulse', 'tutorial_fourth_city_pulse') end end @@ -194,7 +194,7 @@ function tutorial_fifth_city_pulse() citypulses = citypulses + 1 else notify.event(city_builder, city_tile, E.SCRIPT, -_("As the number of cities in your empire grows, it becomes harder to\nmanage individual cities. This is where the Cities report becomes\nuseful. Press F4 to bring it up. This report shows a list of cities\nwith various statistics about each. Play around with it a bit if you\nlike (return to the map view by pressing F1 or clicking on the View\ntab). With a bit of practice it is possible to control almost every\naspect of the cities from this report. The full power of the Cities\nreport is beyond the scope of this tutorial, however.")) +_("As the number of cities in your empire grows, it becomes harder to\nmanage individual cities. This is where the Cities report becomes\nuseful. Press F4 to bring it up. This report shows a list of cities\nwith various statistics about each. Play around with it a bit if you\nlike (return to the map view by pressing F1 or clicking on the View\ntab). With a bit of practice it is possible to control almost every\naspect of the cities from this report. The full power of the Cities\nreport is beyond the scope of this tutorial, however.")) signal.remove('pulse', 'tutorial_fifth_city_pulse') end end @@ -225,27 +225,27 @@ function tutorial_city_growth_callback(city, change, reason) if city.owner:is_human() then if size == 2 and not growth2msg then notify.event(city.owner, city.tile, E.SCRIPT, -_("Your city has grown! As a city grows, more citizens become\navailable that can be put to work in the fields or dedicated as\ncitizen specialists. A city with two citizens gets to work two\ndifferent tiles, in addition to its center tile which is worked\nfor free. In the city dialog, the map shows which tiles are worked\nand how much food, shields, and trade each provides. Food is used\nto grow your city, shields are used for production of buildings\nand units, while trade provides taxable revenue that can be\nturned into science research, gold, or luxuries.\n\nClick on a worked tile to remove the citizen from that tile. Then\nclick on an unworked tile to place a citizen there. You may place\nup to two citizens on tiles, of course. The remaining citizens are\nall specialists - by default they are all entertainers which provide\nonly luxuries (which will not be useful until later).")) +_("%s has grown! As a city grows, more citizens become\navailable that can be put to work in the fields or dedicated as\ncitizen specialists. A city with two citizens gets to work two\ndifferent tiles, in addition to its center tile which is worked\nfor free. In the city dialog, the map shows which tiles are worked\nand how much food, shields, and trade each provides. Food is used\nto grow your city, shields are used for production of buildings\nand units, while trade provides taxable revenue that can be\nturned into science research, gold, or luxuries.\n\nClick on a worked tile to remove the citizen from that tile. Then\nclick on an unworked tile to place a citizen there. You may place\nup to two citizens on tiles, of course. The remaining citizens are\nall specialists - by default they are all entertainers which provide\nonly luxuries (which will not be useful until later)."), city:link_text()) growth2msg = true elseif size == 3 and not growth3msg then notify.event(city.owner, city.tile, E.SCRIPT, -_("Your city has grown again! Now with three citizens you have\na fair amount of choice over where the city should focus its\nresources. A city of size three or more may also build\nsettlers, which costs two units of population.\n\nIf your city is building settlers, you should consider buying them\nnow. Open the city dialog and click on the Buy button. This trades\nin gold (if you have enough of it) to instantly complete the\nproduction.")) +_("%s has grown again! Now with three citizens you have\na fair amount of choice over where the city should focus its\nresources. A city of size three or more may also build\nsettlers, which costs two units of population.\n\nIf your city is building settlers, you should consider buying them\nnow. Open the city dialog and click on the Buy button. This trades\nin gold (if you have enough of it) to instantly complete the\nproduction."), city:link_text()) growth3msg = true elseif size == 5 and not growth5msg then notify.event(city.owner, city.tile, E.SCRIPT, -_("Now your city has grown to size five. As cities get larger unrest\nbecomes a problem. A city of this size will usually have one unhappy\ncitizen unless pacifying effects are used; meaning one entertainer\nspecialist is required to keep your citizens content. This is basically\na wasted citizen.\n\nThere are several things that can be done about this. One quick fix\nis to build a temple (or other cultural building) that will make an\nunhappy citizen content (see the help on City Improvements for specs\non each building type). As you get more large cities, it may pay off\nto change your tax rates (by pressing ctrl-T) to dedicate some of\nyour taxes directly to luxuries (every two luxuries will pacify one\ncitizen). Building a marketplace enhances the benefit from this\nby providing +50%% luxuries to the city.")) +_("Now %s has grown to size five. As cities get larger unrest\nbecomes a problem. A city of this size will usually have one unhappy\ncitizen unless pacifying effects are used; meaning one entertainer\nspecialist is required to keep your citizens content. This is basically\na wasted citizen.\n\nThere are several things that can be done about this. One quick fix\nis to build a temple (or other cultural building) that will make an\nunhappy citizen content (see the help on City Improvements for specs\non each building type). As you get more large cities, it may pay off\nto change your tax rates (by pressing ctrl-T) to dedicate some of\nyour taxes directly to luxuries (every two luxuries will pacify one\ncitizen). Building a marketplace enhances the benefit from this\nby providing +50%% luxuries to the city."), city:link_text()) growth5msg = true elseif size == 8 and not growth8msg then notify.event(city.owner, city.tile, E.SCRIPT, -_("Finally you have grown a city to size eight. A size eight city can\nprovide substantial output provided you have enough luxuries to keep\nyour population content.\n\nTo grow a city beyond size eight requires an aqueduct. If your city is\ngoing to continue to grow you should start building one soon. Building\nan aqueduct requires the Construction technology, unless your city is next to lake or river.")) +_("Finally you have grown %s to size eight. A size eight city can\nprovide substantial output provided you have enough luxuries to keep\nyour population content.\n\nTo grow a city beyond size eight requires an aqueduct. If your city is\ngoing to continue to grow you should start building one soon. Building\nan aqueduct requires the Construction technology, unless your city is next to lake or river."), city:link_text()) growth8msg = true elseif size == 16 and not growth16msg then notify.event(city.owner, city.tile, E.SCRIPT, -_("You have grown a city to size 16. To grow\nit larger, however, you will need to build a Sewer System. This\nrequires the Sanitation technology.")) +_("You have grown %s to size 16. To grow\nit larger, however, you will need to build a Sewer System. This\nrequires the Sanitation technology."), city:link_text()) growth16msg = true elseif size == 13 and not growth13msg then notify.event(city.owner, city.tile, E.SCRIPT, -_("Congratulations, you have grown a city to size 13. A city this\nlarge can provide a tremendous amount of output if properly upgraded.\nMake sure you have enough taxes and cultural buildings to keep your\ncitizens content. You should also make sure the city is upgraded\nwith buildings that provide bonuses to its output. Library, Marketplace,\nFactory, and Offshore Platform are four good buildings that provide a\nlarge bonus to big cities. Consider how much benefit each building\nwill provide and weigh this against its cost - for very large cities\nalmost all buildings are worthwhile. Such large cities will also\nprovide enough taxable revenue (gold) to allow you to purchase some\nbuildings to accelerate their productions.")) +_("Congratulations, you have grown %s to size 13. A city this\nlarge can provide a tremendous amount of output if properly upgraded.\nMake sure you have enough taxes and cultural buildings to keep your\ncitizens content. You should also make sure the city is upgraded\nwith buildings that provide bonuses to its output. Library, Marketplace,\nFactory, and Offshore Platform are four good buildings that provide a\nlarge bonus to big cities. Consider how much benefit each building\nwill provide and weigh this against its cost - for very large cities\nalmost all buildings are worthwhile. Such large cities will also\nprovide enough taxable revenue (gold) to allow you to purchase some\nbuildings to accelerate their productions."), city:link_text()) growth13msg = true end end @@ -265,15 +265,15 @@ function tutorial_unit_built_callback(unit) if has_unit_type_name(unit, 'Settlers') then if settlersbuilt == 0 then notify.event(unit.owner, unit.tile, E.SCRIPT, -_("You have built a settler unit. Settlers are best used to build \nnew cities, so as to expand your civilization. Move your settler\naway from your existing cities to find a spot for a new city. When\nyou have picked a spot press B to build the city.\n\nAgain, cities are best built on open ground near water. Grassland\nand plains provide food for the city. Forests and hills provide\nthe resources (shields) needed for building things. Rivers and ocean\ngive trade bonuses that provide civilization-wide benefits. Desert\nand tundra generally provide little output and are not of much\nuse to small cities. See the help on Terrain for more information\nabout terrain specs.")) +_("You have built a settlers unit. Settlers are best used to build \nnew cities, so as to expand your civilization. Move your settler\naway from your existing cities to find a spot for a new city. When\nyou have picked a spot press B to build the city.\n\nAgain, cities are best built on open ground near water. Grassland\nand plains provide food for the city. Forests and hills provide\nthe resources (shields) needed for building things. Rivers and ocean\ngive trade bonuses that provide civilization-wide benefits. Desert\nand tundra generally provide little output and are not of much\nuse to small cities. See the help on Terrain for more information\nabout terrain specs.")) elseif settlersbuilt == 1 then notify.event(unit.owner, unit.tile, E.SCRIPT, -_("Your second Settlers should also be used to build a new city.\nNotice how when you move the Settlers away from your existing cities\nan outline is drawn around them. This shows the area that would be\ncovered by a city built at this location; it fits in with the outline\nalready on the map view that shows which tiles are covered by your\nexisting cities. Generally when building new cities you want to make\nsure that all tiles are covered by at least one city, but after that\nit is best that your cities overlap as little as possible. Spreading\nout cities properly gives each city access to more resources, allowing\nthem to grow to larger sizes.")) +_("Your second Settlers should also be used to build a new city.\nNotice how when you move the Settlers away from your existing cities\nan outline is drawn around them. This shows the area that would be\ncovered by a city built at this location; it fits in with the outline\nalready on the map view that shows which tiles are covered by your\nexisting cities. Generally when building new cities you want to make\nsure that all tiles are covered by at least one city, but after that\nit is best that your cities overlap as little as possible. Spreading\nout cities properly gives each city access to more resources, allowing\nthem to grow to larger sizes.")) end settlersbuilt = settlersbuilt + 1 elseif not unit.utype:has_flag('NonMil') and milbuilt == 0 then notify.event(unit.owner, unit.tile, E.SCRIPT, -_("You have built your first military unit! Military units have two\nbasic purposes: attack and defense. Each unit has an attack strength\nand a defense strength. While a Warriors is a measly 1/1, a Phalanx\nis a much stronger defender with 2 defense (1/2). A Catapult is a good\nattacking unit because it has 6 attack (6/1).\n\nUsually it is a good idea to keep one or two defenders in each city.\nImportant cities like your capital may deserve extra protection. Units\nbuilt in one city may be sent to another city to defend (press the G\nkey to enter goto mode to move units easily over distances). If you\nare at war, however, you may wish to move your unit toward an enemy\ncity to attack. Be careful not to lose it though!")) +_("You have built your first military unit! Military units have two\nbasic purposes: attack and defense. Each unit has an attack strength\nand a defense strength. While a Warriors is a measly 1/1, a Phalanx\nis a much stronger defender with 2 defense (1/2). A Catapult is a good\nattacking unit because it has 6 attack (6/1).\n\nUsually it is a good idea to keep one or two defenders in each city.\nImportant cities like your capital may deserve extra protection. Units\nbuilt in one city may be sent to another city to defend (press the G\nkey to enter goto mode to move units easily over distances). If you\nare at war, however, you may wish to move your unit toward an enemy\ncity to attack. Be careful not to lose it though!")) milbuilt = milbuilt + 1 end -- The first military unit _could_ also be a boat... @@ -286,7 +286,7 @@ _("You have built your first military unit! Military units have two\nbasic purp -- will not survive long enough to reach Submarine/Carrier if boatsbuilt == 0 then notify.event(unit.owner, unit.tile, E.SCRIPT, -_("You have built your first waterborne unit. These can transport\nother units across water, allowing you to explore and settle new\nlands. You can load land units onto your boat in one of two ways.\nWhen your boat and the unit you want to transport are in the same\ncity, select the latter and press L to load the unit; or if the boat\nis adjacent to a land tile, you can move the unit from there onto the\nboat. When you want to disembark, select the transported unit and\npress U, or move it onto a land tile.")) +_("You have built your first waterborne unit. These can transport\nother units across water, allowing you to explore and settle new\nlands. You can load land units onto your boat in one of two ways.\nWhen your boat and the unit you want to transport are in the same\ncity, select the latter and press L to load the unit; or if the boat\nis adjacent to a land tile, you can move the unit from there onto the\nboat. When you want to disembark, select the transported unit and\npress U, or move it onto a land tile.")) end boatsbuilt = boatsbuilt + 1 end @@ -302,7 +302,7 @@ function tutorial_building_built_callback(building, city) end if building.id == find.building_type('Barracks').id and not barracksmsg then notify.event(city.owner, city.tile, E.SCRIPT, -_("You have built a Barracks. This building will make any military\nunits you build start out as veterans. Veteran units are stronger\nthan inexperienced (green) troops, and will survive longer in\ncombat. See the help on City Improvements for more information\nabout this and other buildings.\n\nYou probably want to start building a military unit in the city\nthat built the Barracks. A barracks are a significant investment\nand have a small upkeep as well, so it is not a good idea to let\nthem go to waste.")) +_("You have built a Barracks. This building will make any military\nunits you build start out as veterans. Veteran units are stronger\nthan inexperienced (green) troops, and will survive longer in\ncombat. See the help on City Improvements for more information\nabout this and other buildings.\n\nYou probably want to start building a military unit in the city\nthat built the Barracks. A barracks are a significant investment\nand have a small upkeep as well, so it is not a good idea to let\nthem go to waste.")) barracksmsg = true end end @@ -315,7 +315,7 @@ function tutorial_unit_cant_be_built_callback(unittype, city, reason) end if unittype.id == find.unit_type('Settlers').id and not nosettlermsg then notify.event(city.owner, city.tile, E.SCRIPT, -_("Your city cannot build a settler. Settlers take two units of\npopulation to build, so a city of size one or two cannot build one without\ndisbanding the city.\n\nTo remedy this, you need to adjust the citizens in the city to\nprovide more food so as to grow the city faster. Cities that\ndo not have much food should not try to build settlers. When\nfounding a new city, make sure it is built on terrain that provides\nenough food - grassland is best; plains or hills are almost as good.")) +_("Your city cannot build a settler. Settlers take two units of\npopulation to build, so a city of size one or two cannot build one without\ndisbanding the city.\n\nTo remedy this, you need to adjust the citizens in the city to\nprovide more food so as to grow the city faster. Cities that\ndo not have much food should not try to build settlers. When\nfounding a new city, make sure it is built on terrain that provides\nenough food - grassland is best; plains or hills are almost as good.")) nosettlermsg = true end end @@ -328,13 +328,13 @@ function tutorial_tech_researched_callback(tech, player, reason) end if numtechs == 0 then notify.event(player, nil, E.SCRIPT, -_("You have gained your first technology! Technological advances\nare an integral concept in Freeciv. As you increase your technology\nlevel new units, buildings, governments, and various free bonuses will\nbecome available to you.\n\nFor now, go over into the Research report and play around a little.\nPress F6 to open the Research report (or click on the Research tab in\nthe main window area). Find the technology called Republic and click\non it. Now Republic has been set as your technology goal; this means\nthe next advance on the path toward this technology will automatically\nbe chosen to research. In the top of the window it shows how much\nscientific research you are accomplishing each turn - research (bulbs)\ncomes from the taxable trade in your cities. In the bottom of the\nwindow is the tech tree; here you may left-click to set the research\ntarget or research goal, or right-click to get help about a particular\ntechnology. When you are done playing around click on the View tab\n(F1) to return to the map view.")) +_("You have gained your first technology! Technological advances\nare an integral concept in Freeciv. As you increase your technology\nlevel new units, buildings, governments, and various free bonuses will\nbecome available to you.\n\nFor now, go over into the Research report and play around a little.\nPress F6 to open the Research report (or click on the Research tab in\nthe main window area). Find the technology called Republic and click\non it. Now Republic has been set as your technology goal; this means\nthe next advance on the path toward this technology will automatically\nbe chosen to research. In the top of the window it shows how much\nscientific research you are accomplishing each turn - research (bulbs)\ncomes from the taxable trade in your cities. In the bottom of the\nwindow is the tech tree; here you may left-click to set the research\ntarget or research goal, or right-click to get help about a particular\ntechnology. When you are done playing around click on the View tab\n(F1) to return to the map view.")) elseif numtechs == 1 then notify.event(player, nil, E.SCRIPT, -_("Now you have gained your second technology. Go back into the\nResearch report (F6) and take a quick look at your progress. If you\nset Republic as your technology goal earlier, a new research target\nshould have been chosen for you automatically. If you do not have\nany goal set, however, there will not be any new target chosen until\nthe end of the turn.\n\nIn the turn when you complete your research, you can pick a new tech\nto research. However, switching targets midway through researching a\nparticular technology costs you all of the research done on\nit so far. Setting your technology goal wisely means you do not have\nto worry about picking a new research target each time you finish\nresearching a technology.")) +_("Now you have gained your second technology. Go back into the\nResearch report (F6) and take a quick look at your progress. If you\nset Republic as your technology goal earlier, a new research target\nshould have been chosen for you automatically. If you do not have\nany goal set, however, there will not be any new target chosen until\nthe end of the turn.\n\nIn the turn when you complete your research, you can pick a new tech\nto research. However, switching targets midway through researching a\nparticular technology costs you all of the research done on\nit so far. Setting your technology goal wisely means you do not have\nto worry about picking a new research target each time you finish\nresearching a technology.")) elseif tech.name == 'Republic' then notify.event(player, nil, E.SCRIPT, -_("You have successfully completed research into The Republic. This\ntechnology is particularly useful because it allows a new form of\ngovernment. The government your civilization follows is very\nimportant in determining your development. In the beginning you\nstarted as a Despotism, a very inefficient form of government. Later\ngovernment options will give you some choice of whether your\ncivilization is to be a peaceful trading nation or a conquering\njuggernaut. Each has advantages.\n\nFor now, you probably want to switch straight into Republic. In the\nCivilization menu, go to the Government submenu and choose\nRepublic. Yes you want a revolution! Changing governments means\ngoing through a few turns of anarchy, so it is not without cost.\nHowever Republic is a substantially better form of government\nthan Despotism so the investment will soon pay off.")) +_("You have successfully completed research into The Republic. This\ntechnology is particularly useful because it allows a new form of\ngovernment. The government your civilization follows is very\nimportant in determining your development. In the beginning you\nstarted as a Despotism, a very inefficient form of government. Later\ngovernment options will give you some choice of whether your\ncivilization is to be a peaceful trading nation or a conquering\njuggernaut. Each has advantages.\n\nFor now, you probably want to switch straight into Republic. In the\nCivilization menu, go to the Government submenu and choose\nRepublic. Yes you want a revolution! Changing governments means\ngoing through a few turns of anarchy, so it is not without cost.\nHowever Republic is a substantially better form of government\nthan Despotism so the investment will soon pay off.")) end numtechs = numtechs + 1 end @@ -347,7 +347,7 @@ function tutorial_hut_entered_callback(unit) end if not hutmsg then notify.event(unit.owner, unit.tile, E.SCRIPT, -_("Your unit has found a Hut. These are small villages scattered across\nthe landscape. When a unit enters one, several things may happen. The\nmost likely outcome is that you will find resources worth a small\namount of gold. However it is also possible to find technologies or\nmercenary units inside a hut. Some huts contain native settlers\nthat will join your civilization and bring a new city into your\nempire. Finally, some huts contain barbarians which will kill your\nunit instantly. On average, it is beneficial to search out and enter\nany huts you find as soon as possible.")) +_("%s has found a Hut. These are small villages scattered across\nthe landscape. When a unit enters one, several things may happen. The\nmost likely outcome is that you will find resources worth a small\namount of gold. However it is also possible to find technologies or\nmercenary units inside a hut. Some huts contain native settlers\nthat will join your civilization and bring a new city into your\nempire. Finally, some huts contain barbarians which will kill your\nunit instantly. On average, it is beneficial to search out and enter\nany huts you find as soon as possible."), unit:link_text()) hutmsg = true end end -- 2.43.0