DELTA SVNLL€L# Server commands for the Webperimental ruleset # rulesetdir webperimental ENDREP DELTA SVN‚ôe‚ôe€‚ôe ; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes, ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. ; Note that the freeciv AI may not cope well with anything more ; than minor changes. [datafile] description="Experimental web-client buildings data for Freeciv" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 ; /* <-- avoid gettext warnings ; ; Below: The individual buildings, one per section. ; (Buildings = City Improvements and Wonders) ; ; The actual tag used (the * in [building_*]) does not matter, except ; it must be unique within this file, and it may be used in debug ; output when reading this file. ; ; Notes: ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in savegames ; must not change, use this when renaming a building after a ; ruleset has been released. ; genus = genus; one of: ; "GreatWonder", "SmallWonder", "Improvement", "Special". ; reqs = requirements to build the building (see effects.ruleset ; and README.effects for help on requirements) ; graphic = icon of improvement (used in city dialog) ; graphic_alt = alternate icon of improvement ; obsolete_by = requirements for the building to become obsolete ; build_cost = production shields required to build ; upkeep = monetary upkeep value ; sabotage = percent chance of diplomat sabotage being successful ; flags = special flag strings ; ; ** Building flags ** ; "VisibleByOthers" = Anyone who can see your city knows whether it has ; this improvement. (Great and small wonders are ; always visible.) ; "SaveSmallWonder" = If you lose the city with this building in, and the ; "savepalace" server setting is enabled, another will ; be built for free in a random city. ; Should only be used with genus "SmallWonder". ; "Gold" = Not a real building; production turned into gold ; indefinitely (capitalization/coinage). ; Genus should be "Special". ; "DisasterProof" = Disasters never destroy this building. Is meaningful ; only for genus "Improvement" buildings as others are ; automatically disaster proof. ; ; */ <-- avoid gettext warnings [building_airport] name = _("Airport") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Radio", "Player" } graphic = "b.airport" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 120 upkeep = 3 sabotage = 100 sound = "b_airport" sound_alt = "b_generic" helptext = _("\ Allows a city to produce veteran air units (including helicopters). \ Also, damaged air units (again, including helicopters) which stay in\ town for one full turn without moving are completely restored.\ "), _("\ A city with an Airport can airlift an extra unit per turn. Airlifting \ instantly transports the unit from one city\ to another and will use all of the unit's movement points. A unit\ must have some movement points left to be airlifted, and cannot\ carry cargo.\ "), _("\ Two cities with Airports can airlift medium and heavy weight units once\ Advanced Flight and Fusion Power are discovered.\ ") [building_aqueduct] name = _("Aqueduct") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Construction", "Player" } graphic = "b.aqueduct" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 60 upkeep = 2 sabotage = 100 sound = "b_aqueduct" sound_alt = "b_generic" helptext = _("\ Allows a city to grow larger than size 8. A Sewer System is also\ required for a city to grow larger than size 12.\ ") ; There is also an effect to reduce the chance of plague, but you have to ; enable illness in game.ruleset for that to be relevant. [building_bank] name = _("Bank") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Banking", "Player" "Building", "Marketplace", "City" } graphic = "b.bank" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 80 upkeep = 2 sabotage = 100 sound = "b_bank" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Together with the Marketplace improvement, a Bank increases the\ luxury and tax production within a city by 100%.\ ") [building_barracks] name = _("Barracks") genus = "Improvement" reqs = { "type", "name", "range" } graphic = "b.barracks_i" graphic_alt = "-" obsolete_by = { "type", "name", "range" "Tech", "Gunpowder", "Player" "Building", "Barracks II", "City" "Building", "Barracks III", "City" } build_cost = 30 upkeep = 1 sabotage = 100 sound = "b_barracks_i" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ With a Barracks, each new land unit built in a city will\ automatically have Veteran status, which means that its attack and\ defense strengths are increased by 50%. Also, damaged land units\ which stay in town for one full turn without moving are completely\ restored.\ ") [building_barracks_ii] name = _("Barracks II") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Gunpowder", "Player" } graphic = "b.barracks_ii" graphic_alt = "b.barracks_i" obsolete_by = { "type", "name", "range" "Tech", "Mobile Warfare", "Player" "Building", "Barracks III", "City" } build_cost = 30 upkeep = 1 sabotage = 100 sound = "b_barracks_ii" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ With a Barracks, each new land unit built in a city will\ automatically have Veteran status, which means that its attack and\ defense strengths are increased by 50%. Also, damaged land units\ which stay in town for one full turn without moving are completely\ restored.\ ") [building_barracks_iii] name = _("Barracks III") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Mobile Warfare", "Player" } graphic = "b.barracks_iii" graphic_alt = "b.barracks_i" obsolete_by = { "type", "name", "range" } build_cost = 30 upkeep = 1 sabotage = 100 sound = "b_barracks_iii" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ With a Barracks, each new land unit built in a city will\ automatically have Veteran status, which means that its attack and\ defense strengths are increased by 50%. Also, damaged land units\ which stay in town for one full turn without moving are completely\ restored.\ ") [building_cathedral] name = _("Cathedral") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Monotheism", "Player" "Building", "Temple", "City" } graphic = "b.cathedral" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 80 upkeep = 3 sabotage = 100 sound = "b_cathedral" sound_alt = "b_generic" helptext = _("\ A Cathedral makes 3 unhappy citizens content in a city, making it\ easier to maintain order in that city; however, it does not affect\ citizens made unhappy by military activity. The discovery of Theology\ increases the effect of a Cathedral, making an additional unhappy\ citizen content. The discovery of Communism lessens the effect of\ a Cathedral, reducing by one the number of unhappy citizens made\ content.\ ") [building_city_walls] name = _("City Walls") genus = "Improvement" flags = "VisibleByOthers" reqs = { "type", "name", "range" "Tech", "Masonry", "Player" } graphic = "b.city_walls" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 60 upkeep = 0 sabotage = 50 sound = "b_city_walls" sound_alt = "b_generic" helptext = _("\ City Walls make it easier to defend a city. They triple the defense\ strength of units within the city against land and helicopter\ units. They are ineffective against airborne and sea units as well\ as Howitzers. City Walls also prevent the loss of population which\ occurs when a defending unit is destroyed by a land unit.\ ") [building_coastal_defense] name = _("Coastal Defense") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Gunpowder", "Player" "TerrainClass", "Oceanic", "Adjacent" } graphic = "b.coastal_defense" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 60 upkeep = 1 sabotage = 100 sound = "b_coastal_defense" sound_alt = "b_generic" helptext = _("\ Increases the defense strength of units within a city by a factor\ of 2 when defending against bombardments from enemy ships.\ ") [building_colosseum] name = _("Colosseum") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Construction", "Player" } graphic = "b.colosseum" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 70 upkeep = 4 sabotage = 100 sound = "b_colosseum" sound_alt = "b_generic" helptext = _("\ Entertains the citizens of a city, making 3 unhappy citizens content. \ (Four after the discovery of Electricity.) However, it does not\ affect citizens made unhappy by military activity.\ ") ; NOTE: ; For Civ2 the "Electricity" condition should be "Electronics" [building_courthouse] name = _("Courthouse") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Code of Laws", "Player" } graphic = "b.courthouse" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 60 upkeep = 1 sabotage = 100 sound = "b_courthouse" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Reduces the corruption in a city by 50%, and makes the revolt cost\ of the city 4 times bigger. (These effects are redundant in your\ capital city.)\ "), _("\ Under a Democracy, a Courthouse also makes 1 unhappy citizen content\ (unless that citizen is unhappy about military activity).\ ") [building_factory] name = _("Factory") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Industrialization", "Player" } graphic = "b.factory" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 140 upkeep = 4 sabotage = 100 sound = "b_factory" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Increases the shield production in a city by 50%. This increase may\ also contribute significantly to pollution.\ ") [building_granary] name = _("Granary") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Pottery", "Player" } graphic = "b.granary" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 40 upkeep = 1 sabotage = 100 sound = "b_granary" sound_alt = "b_generic" helptext = _("\ The amount of stored food will be set to half full whenever a city\ with a Granary shrinks or grows. This helps a city to grow faster\ and more easily withstand famine.\ ") ; NOTE: ; In Civ2, city size reduction does not generate food like this. ; Dare I ask where this food comes from?? :-) [building_harbour] name = _("Harbor") rule_name = "Harbour" ; en_GB spelling used originally genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Seafaring", "Player" "TerrainClass", "Oceanic", "Adjacent" } graphic = "b.harbour" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 40 upkeep = 1 sabotage = 100 sound = "b_harbour" sound_alt = "b_generic" helptext = _("\ Gives one extra food resource on all Oceanic tiles. The city needs\ to be coastal to build this improvement.\ ") [building_hydro_plant] name = _("Hydro Plant") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Electronics", "Player" "Building", "Factory", "City" "Extra", "River", "Adjacent" } graphic = "b.hydro_plant" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 180 upkeep = 4 sabotage = 100 sound = "b_hydro_plant" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Increases the effect of Factory and Mfg. Plant on the shield\ production of a city, and also reduces the amount of pollution\ generated by that production. A Hydro Plant in combination with\ either a Factory or Mfg. Plant gives a 75% production bonus over\ the level without any of these improvements, while giving pollution\ only 75% of the equivalent combination with a Power Plant; a\ Hydro Plant, Factory, and Mfg. Plant together give a 150%\ production bonus with pollution only 50% of the equivalent\ combination with a Power Plant.\ "), _("\ In each city, only one Power Plant, Hydro Plant, Nuclear Plant, or\ Solar Plant can take effect at any one time.\ ") ; NOTE: ; For Civ1/2 the first shield production number above should be 100%, ; but the above describes current freeciv rules. [building_library] name = _("Library") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Writing", "Player" } graphic = "b.library" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 60 upkeep = 1 sabotage = 100 sound = "b_library" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Increases the science output in a city by 100%.\ ") [building_marketplace] name = _("Marketplace") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Currency", "Player" } graphic = "b.marketplace" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 60 upkeep = 0 sabotage = 100 sound = "b_marketplace" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Increases the luxury and tax output in a city by 50%.\ ") [building_mass_transit] name = _("Mass Transit") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Mass Production", "Player" } graphic = "b.mass_transit" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 120 upkeep = 4 sabotage = 100 sound = "b_mass_transit" sound_alt = "b_generic" helptext = _("\ Neutralizes the pollution generated by the population. \ The population simply has no effect on the pollution generated in\ the city.\ ") [building_mfg_plant] name = _("Mfg. Plant") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Robotics", "Player" "Building", "Factory", "City" } graphic = "b.mfg_plant" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 220 upkeep = 6 sabotage = 100 sound = "b_mfg_plant" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Together with a Factory, a Manufacturing Plant increases the shield\ production in a city by 100%. A Manufacturing Plant on its own\ increases shield production by 50%.\ "), _("\ A Manufacturing Plant also has a small risk of suffering an industrial\ accident, which can lead to pollution and reduce the city's population.\ ") [building_nuclear_plant] name = _("Nuclear Plant") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Nuclear Power", "Player" "Building", "Factory", "City" } graphic = "b.nuclear_plant" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 120 upkeep = 2 sabotage = 100 sound = "b_nuclear_plant" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Increases the effect of Factory and Mfg. Plant on the shield\ production of a city, and also reduces the amount of pollution\ generated by that production. A Nuclear Plant in combination with\ either a Factory or Mfg. Plant gives a 75% production bonus over\ the level without any of these improvements, while giving pollution\ only 75% of the equivalent combination with a Power Plant; a\ Nuclear Plant, Factory, and Mfg. Plant together give a 150%\ production bonus with pollution only 50% of the equivalent\ combination with a Power Plant.\ "), _("\ A Nuclear Plant has a small risk of suffering a nuclear accident, which\ can lead to fallout and reduce the city's population.\ "), _("\ In each city, only one Power Plant, Hydro Plant, Nuclear Plant, or\ Solar Plant can take effect at any one time.\ ") ; NOTE: ; For Civ1/2 the first number above should be 100%, but the above ; describes current freeciv rules. ; There would also be a change of meltdown during civil disorder, ; but that has not been implemented yet. [building_offshore_platform] name = _("Offshore Platform") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Miniaturization", "Player" "TerrainClass", "Oceanic", "Adjacent" } graphic = "b.offshore_platform" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 120 upkeep = 3 sabotage = 100 sound = "b_offshore_platform" sound_alt = "b_generic" helptext = _("\ Adds 1 extra shield resource on all Oceanic tiles worked by a city. The\ city needs to be coastal to build this improvement.\ ") [building_palace] name = _("Palace") genus = "SmallWonder" flags = "SaveSmallWonder" reqs = { "type", "name", "range" "Tech", "Masonry", "Player" } graphic = "b.palace" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 70 upkeep = 0 sabotage = 0 sound = "b_palace" sound_alt = "b_generic" helptext = _("\ Makes a city the capital and the center of your government.\ Corruption in other cities is related to how far away from the\ capital they are, except when the government is Democracy or\ Communism. On top of this, corruption in your capital itself is\ half of what it would otherwise be (as if it had a Courthouse).\ "), _("\ The cost to enemy Diplomats and Spies of inciting a revolt in a\ city also depends upon the city's distance from the capital\ (under all forms of government). Your capital city itself cannot\ be incited to revolt, and enjoys a bonus when enemy agents try\ to evade your own agents stationed in the city, or sabotage your\ buildings.\ "), _("\ Take good care of your capital, as its loss may result in your\ empire plunging into civil war. Losing your current palace also\ results in losing whatever spaceship you might have.\ "), _("\ If the capital is in a dangerous location, or a more central capital\ would give a better corruption distribution, you can move your palace\ by rebuilding it in another city.\ "), ; /* xgettext:no-c-format */ _("\ Under Despotism the city containing the palace gains a +75%\ production bonus, and under Monarchy a +50% production bonus.\ ") [building_police_station] name = _("Police Station") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Communism", "Player" } graphic = "b.police_station" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 50 upkeep = 2 sabotage = 100 sound = "b_police_station" sound_alt = "b_generic" helptext = _("\ Reduces the unhappiness caused by aggressively deployed military\ units owned by the city by 2 under Democracy and 1 under Republic\ -- in other words, it neutralizes the unhappiness caused by a single\ military unit. This improvement has no effect under other governments.\ ") ; NOTE: ; For Civ2 this should reduce unhappiness by one for *each* unit ; outside a city that is causing at least one unhappiness. [building_port_facility] name = _("Port Facility") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Amphibious Warfare", "Player" "TerrainClass", "Oceanic", "Adjacent" } graphic = "b.port_facility" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 60 upkeep = 3 sabotage = 100 sound = "b_port_facility" sound_alt = "b_generic" helptext = _("\ Allows a city to build veteran sea units. Also, damaged sea units\ which stay in town for one full turn without moving are completely\ restored.\ ") [building_power_plant] name = _("Power Plant") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Refining", "Player" "Building", "Factory", "City" } graphic = "b.power_plant" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 130 upkeep = 4 sabotage = 100 sound = "b_power_plant" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Increases the effect of Factory and Mfg. Plant on the shield\ production of a city. A Power Plant in combination with\ either a Factory or Mfg. Plant gives a 75% production bonus over\ the level without any of these improvements; a Power Plant,\ Factory, and Mfg. Plant together give a 150% production bonus.\ The extra production may lead to the city generating more\ pollution.\ "), _("\ In each city, only one Power Plant, Hydro Plant, Nuclear Plant, or\ Solar Plant can take effect at any one time.\ ") ; NOTE: ; For Civ1/2 the first number above should be 100%, but the above ; describes current freeciv rules. [building_recycling_center] name = _("Recycling Center") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Recycling", "Player" } graphic = "b.recycling_center" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 140 upkeep = 2 sabotage = 100 sound = "b_recycling_center" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Building a Recycling Center reduces the amount of pollution\ generated by production in a city by 66%.\ ") [building_research_lab] name = _("Research Lab") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Computers", "Player" "Building", "University", "City" } graphic = "b.research_lab" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 120 upkeep = 3 sabotage = 100 sound = "b_research_lab" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Together with a Library, a Research Lab increases the science\ production of a city by 200%. \ Together with a Library and a University, a Research Lab increases\ the science production of a city by 450%.\ ") [building_sam_battery] name = _("SAM Battery") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Rocketry", "Player" } graphic = "b.sam_battery" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 70 upkeep = 2 sabotage = 100 sound = "b_sam_battery" sound_alt = "b_generic" helptext = _("\ Doubles the defense of all units inside the city when attacked by\ aircraft (not including helicopters or missiles).\ ") [building_sdi_defense] name = _("SDI Defense") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Laser", "Player" } graphic = "b.sdi_defense" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 140 upkeep = 4 sabotage = 100 sound = "b_sdi_defense" sound_alt = "b_generic" helptext = _("\ Protects a city and its environs (up to 2 tiles away) from attacks\ by other nations' Nuclear units. A Nuclear unit not owned by you or a\ teammate which attacks a city with SDI Defense, or attacks a unit (or is\ deliberately exploded) within range, is shot down and simply has no effect.\ Also, doubles defense for units in the city against non-nuclear missiles.\ ") ; NOTE: ; Civ2 does not document the "Unit_Defend"/"Missile" aspect; does it apply or not? [building_sewer_system] name = _("Sewer System") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Sanitation", "Player" "Building", "Aqueduct", "City" } graphic = "b.sewer_system" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 80 upkeep = 2 sabotage = 100 sound = "b_sewer_system" sound_alt = "b_generic" helptext = _("\ Allows a city to grow larger than size 12. An Aqueduct is first\ required for a city to grow larger than size 8.\ ") ; There is also an effect to reduce the chance of plague, but you have to ; enable illness in game.ruleset for that to be relevant. [building_solar_plant] name = _("Solar Plant") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Environmentalism", "Player" "Building", "Factory", "City" } graphic = "b.solar_plant" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 320 upkeep = 4 sabotage = 100 sound = "b_solar_plant" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Increases the effect of Factory and Mfg. Plant on the shield\ production of a city, and also greatly reduces the amount of pollution\ generated by that production. A Solar Plant in combination with\ either a Factory or Mfg. Plant gives a 75% production bonus over\ the level without any of these improvements, while giving pollution\ only 50% of the equivalent combination with a Power Plant; a\ Solar Plant, Factory, and Mfg. Plant together give a 150%\ production bonus, and eliminates all pollution generated by\ production in that city.\ "), _("\ In each city, only one Power Plant, Hydro Plant, Nuclear Plant, or\ Solar Plant can take effect at any one time.\ ") [building_space_component] name = _("Space Component") genus = "Special" reqs = { "type", "name", "range" "Tech", "Plastics", "Player" "Building", "Factory", "City" } graphic = "b.space_component" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 160 upkeep = 0 sabotage = 100 sound = "b_space_component" sound_alt = "b_generic" helptext = _("\ Space Components can be differentiated into Propulsion and Fuel\ Components. Each pair of them reduces your spaceship's travel\ time. You can build up to 8 pairs.\ "), _("\ Before you can build any spaceship parts, the Apollo Program wonder\ must have been built by any player.\ ") [building_space_module] name = _("Space Module") genus = "Special" reqs = { "type", "name", "range" "Tech", "Superconductors", "Player" "Building", "Factory", "City" } graphic = "b.space_modules" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 320 upkeep = 0 sabotage = 100 sound = "b_space_module" sound_alt = "b_generic" helptext = _("\ Space Modules are the most expensive parts of spaceships. There\ are three different types of Space Module:\ "), _("\ - Habitation Module: provides living space for 10,000 people.\ "), _("\ - Life Support Module: provides food and water for the population of\ one Habitation Module.\ "), _("\ - Solar Panels: provides the energy needed for any two of the other\ Modules.\ "), _("\ You can build up to 4 Space Modules of each kind.\ "), _("\ Before you can build any spaceship parts, the Apollo Program wonder\ must have been built by any player.\ ") [building_space_structural] name = _("Space Structural") genus = "Special" reqs = { "type", "name", "range" "Tech", "Space Flight", "Player" "Building", "Factory", "City" } graphic = "b.space_structural" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 80 upkeep = 0 sabotage = 100 sound = "b_space_structural" sound_alt = "b_generic" helptext = _("\ Space Structurals form the base of your spaceship. All other\ spaceship parts need to be connected to Structurals in order to\ function. You can build up to 32 Space Structurals.\ "), _("\ Before you can build any spaceship parts, the Apollo Program wonder\ must have been built by any player.\ ") [building_stock_exchange] name = _("Stock Exchange") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Economics", "Player" "Building", "Bank", "City" } graphic = "b.stock_exchange" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 120 upkeep = 3 sabotage = 100 sound = "b_stock_exchange" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Together with a Bank, a Stock Exchange boosts tax and luxury\ production in a city by 50%. \ Together with a Marketplace and a Bank, a Stock Exchange boosts\ tax and luxury production in a city by 150%.\ ") [building_super_highways] name = _("Super Highways") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Automobile", "Player" } graphic = "b.super_highways" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 120 upkeep = 3 sabotage = 100 sound = "b_super_highways" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Increases trade resources by 50% on all tiles with roads or\ railroads.\ ") ; NOTE: ; Civ2 help says Super Highways increase trade from trade routes. [building_supermarket] name = _("Supermarket") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Refrigeration", "Player" } graphic = "b.supermarket" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 80 upkeep = 3 sabotage = 100 sound = "b_supermarket" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Increases the food resources by 50% on each farmland tile which\ is being used around the city. Farmland tiles are those which\ have been irrigated a second time.\ ") [building_temple] name = _("Temple") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "Ceremonial Burial", "Player" } graphic = "b.temple" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 30 upkeep = 1 sabotage = 100 sound = "b_temple" sound_alt = "b_generic" helptext = _("\ Makes one unhappy citizen content. The Mysticism advance doubles\ this effect. With both Mysticism and the Oracle, 4 citizens are\ made content. Does not affect citizens made unhappy by military\ activity.\ ") [building_university] name = _("University") genus = "Improvement" reqs = { "type", "name", "range" "Tech", "University", "Player" "Building", "Library", "City" } graphic = "b.university" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 120 upkeep = 3 sabotage = 100 sound = "b_university" sound_alt = "b_generic" ; /* xgettext:no-c-format */ helptext = _("\ Together with a Library, a University increases the science\ production of a city by 250%.\ ") [building_apollo_program] name = _("Apollo Program") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Space Flight", "Player" } graphic = "b.apollo_program" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 600 upkeep = 0 sabotage = 0 sound = "w_apollo_program" sound_alt = "w_generic" helptext = _("\ The entire map becomes permanently visible to the player who owns it\ -- the player always has up-to-date knowledge of all terrain and\ cities (but not units) despite fog-of-war. It allows all players to\ start building spaceship parts (assuming they have researched the\ necessary technologies).\ ") [building_asmiths_trading_co] name = _("A.Smith's Trading Co.") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Economics", "Player" } graphic = "b.asmiths_trading_co" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 400 upkeep = 0 sabotage = 0 sound = "w_asmiths_trading_co" sound_alt = "w_generic" helptext = _("\ City improvements which would normally have an upkeep of 1 are free\ of upkeep, for all your cities.\ ") [building_colossus] name = _("Colossus") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Bronze Working", "Player" } graphic = "b.colossus" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Flight", "World", TRUE } build_cost = 100 upkeep = 0 sabotage = 0 sound = "w_colossus" sound_alt = "w_generic" helptext = _("\ Each tile around the city where this wonder is built that is already\ generating some trade produces one extra trade resource.\ ") [building_copernicus_observatory] name = _("Copernicus' Observatory") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Astronomy", "Player" } graphic = "b.copernicus_observatory" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 200 upkeep = 0 sabotage = 0 sound = "w_copernicus_observatory" sound_alt = "w_generic" ; /* xgettext:no-c-format */ helptext = _("\ Boosts science production by 100% in the city where it is built.\ ") [building_cure_for_cancer] name = _("Cure For Cancer") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Genetic Engineering", "Player" } graphic = "b.cure_for_cancer" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 600 upkeep = 0 sabotage = 0 sound = "w_cure_for_cancer" sound_alt = "w_generic" helptext = _("\ This stunning technological achievement makes one unhappy\ citizen content in each of your cities (including citizens unhappy\ about military activity).\ ") ; There is also an effect to reduce the chance of plague, but you have to ; enable illness in game.ruleset for that to be relevant. ; NB: In Civ2 this makes 1 content citizen happy in all cities. [building_darwins_voyage] name = _("Darwin's Voyage") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Railroad", "Player" } graphic = "b.darwins_voyage" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 300 upkeep = 0 sabotage = 0 sound = "w_darwins_voyage" sound_alt = "w_generic" helptext = _("\ Charles Darwin's voyage sparked the discovery of the evolution\ of the species, which inspired greater confidence in science.\ Gives two immediate technology advances.\ ") [building_eiffel_tower] name = _("Eiffel Tower") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Steam Engine", "Player" } graphic = "b.eiffel_tower" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 100 upkeep = 0 sabotage = 0 sound = "w_eiffel_tower" sound_alt = "w_generic" ; /* xgettext:no-c-format */ helptext = _("\ Your reputation and goodwill among other nations is recovered twice\ as fast.\ ") [building_great_library] name = _("Great Library") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Literacy", "Player" } graphic = "b.great_library" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Electricity", "World", TRUE } build_cost = 300 upkeep = 0 sabotage = 0 sound = "w_great_library" sound_alt = "w_generic" helptext = _("\ The civilization which builds the Great Library gets every advance\ that at least two other teams have achieved.\ ") [building_great_wall] name = _("Great Wall") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Masonry", "Player" } graphic = "b.great_wall" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Metallurgy", "World", TRUE } build_cost = 300 upkeep = 0 sabotage = 0 sound = "w_great_wall" sound_alt = "w_generic" helptext = _("\ Works as a City Wall in all your cities.\ ") ; NOTE: ; Civ2 also doubles attack -vs- barbs, ; and enemies are forced to offer cease-fire or peace. [building_hanging_gardens] name = _("Hanging Gardens") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Pottery", "Player" } graphic = "b.hanging_gardens" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Railroad", "World", TRUE } build_cost = 200 upkeep = 0 sabotage = 0 sound = "w_hanging_gardens" sound_alt = "w_generic" helptext = _("\ Makes one content citizen happy in every city. Makes two extra\ content citizens happy in the city containing the Hanging Gardens\ (that is, a total of 3). In the unlikely event where there are no\ content citizens to get the effect of Hanging Gardens, the wonder\ applies to unhappy citizens (including those unhappy about military\ activity), making each content then happy.\ ") [building_hoover_dam] name = _("Hoover Dam") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Electronics", "Player" "Extra", "River", "Adjacent" } graphic = "b.hoover_dam" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 600 upkeep = 0 sabotage = 0 sound = "w_hoover_dam" sound_alt = "w_generic" helptext = _("\ Works as if you had a Hydro Plant in every city. (This reduces\ pollution and increases the effects of Factories and Mfg. Plants.)\ ") [building_isaac_newtons_college] name = _("Isaac Newton's College") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Theory of Gravity", "Player" } graphic = "b.isaac_newtons_college" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 300 upkeep = 0 sabotage = 0 sound = "w_isaac_newtons_college" sound_alt = "w_generic" ; /* xgettext:no-c-format */ helptext = _("\ Boosts science production by 100% in every city you control that\ has a University.\ ") [building_js_bachs_cathedral] name = _("J.S. Bach's Cathedral") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Theology", "Player" } graphic = "b.js_bachs_cathedral" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 400 upkeep = 0 sabotage = 0 sound = "w_js_bachs_cathedral" sound_alt = "w_generic" helptext = _("\ Makes two unhappy citizens content in every city (including citizens\ unhappy about military activity).\ ") [building_king_richards_crusade] name = _("King Richard's Crusade") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Engineering", "Player" } graphic = "b.king_richards_crusade" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Robotics", "World", TRUE } build_cost = 150 upkeep = 0 sabotage = 0 sound = "w_king_richards_crusade" sound_alt = "w_generic" helptext = _("\ Adds one extra shield resource on every tile around the city\ where it is built.\ ") [building_leonardos_workshop] name = _("Leonardo's Workshop") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Invention", "Player" } graphic = "b.leonardos_workshop" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Automobile", "World", TRUE } build_cost = 400 upkeep = 0 sabotage = 0 sound = "w_leonardos_workshop" sound_alt = "w_generic" helptext = _("\ Upgrades one obsolete unit per game turn.\ ") [building_lighthouse] name = _("Lighthouse") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Map Making", "Player" "TerrainClass", "Oceanic", "Adjacent" } graphic = "b.lighthouse" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Magnetism", "World", TRUE } build_cost = 200 upkeep = 0 sabotage = 0 sound = "w_lighthouse" sound_alt = "w_generic" helptext = _("\ Gives all your sea units 1 additional movement point. Makes all your\ new military sea units veterans (for all your cities).\ ") [building_magellans_expedition] name = _("Magellan's Expedition") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Navigation", "Player" "TerrainClass", "Oceanic", "Adjacent" } graphic = "b.magellans_expedition" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 400 upkeep = 0 sabotage = 0 sound = "w_magellans_expedition" sound_alt = "w_generic" helptext = _("\ Gives all your sea units 2 additional movement points.\ ") [building_manhattan_project] name = _("Manhattan Project") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Nuclear Fission", "Player" } graphic = "b.manhattan_project" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 600 upkeep = 0 sabotage = 0 sound = "w_manhattan_project" sound_alt = "w_generic" ;helptext is set in client/helpdata.c:helptext_wonder() ;helptext = [building_marco_polos_embassy] name = _("Marco Polo's Embassy") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Trade", "Player" } graphic = "b.marco_polos_embassy" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Communism", "World", TRUE } build_cost = 200 upkeep = 0 sabotage = 0 sound = "w_marco_polos_embassy" sound_alt = "w_generic" helptext = _("\ The player who owns it gets an embassy with all players.\ ") [building_michelangelos_chapel] name = _("Michelangelo's Chapel") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Monotheism", "Player" } graphic = "b.michelangelos_chapel" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 400 upkeep = 0 sabotage = 0 sound = "w_michelangelos_chapel" sound_alt = "w_generic" helptext = _("\ Counts as having a Cathedral in each of your cities. This makes 3\ unhappy citizens content in each city; however, it does not affect\ citizens made unhappy by military activity. The discovery of Theology\ increases the effect of a Cathedral, making an additional unhappy\ citizen content. The discovery of Communism lessens the effect of\ a Cathedral, reducing by one the number of unhappy citizens made\ content.\ ") [building_oracle] name = _("Oracle") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Mysticism", "Player" } graphic = "b.oracle" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Theology", "World", TRUE } build_cost = 100 upkeep = 0 sabotage = 0 sound = "w_oracle" sound_alt = "w_generic" helptext = _("\ Makes two additional unhappy citizens content in every city with\ a Temple. Does not affect citizens made unhappy by military\ activity.\ ") [building_pyramids] name = _("Pyramids") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Masonry", "Player" } graphic = "b.pyramids" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 200 upkeep = 0 sabotage = 0 sound = "w_pyramids" sound_alt = "w_generic" ; /* xgettext:no-c-format */ helptext = _("\ The amount of stored food lost when one of your cities grows or shrinks\ is reduced by 25%. This helps a city to grow faster and more easily\ withstand famine. Cumulative with Granary.\ ") [building_seti_program] name = _("SETI Program") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Computers", "Player" } graphic = "b.seti_program" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 600 upkeep = 0 sabotage = 0 sound = "w_seti_program" sound_alt = "w_generic" ; /* xgettext:no-c-format */ helptext = _("\ Boosts science production in each city with a Research Lab by 100%.\ ") [building_shakespeares_theatre] name = _("Shakespeare's Theater") rule_name = "Shakespeare's Theatre" ; en_GB used originally genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Medicine", "Player" } graphic = "b.shakespeares_theatre" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 200 upkeep = 0 sabotage = 0 sound = "w_shakespeares_theatre" sound_alt = "w_generic" helptext = _("\ Makes all angry and unhappy citizens content in the city where it\ is located, including citizens unhappy about military activity.\ ") [building_statue_of_liberty] name = _("Statue of Liberty") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Democracy", "Player" } graphic = "b.statue_of_liberty" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 400 upkeep = 0 sabotage = 0 sound = "w_statue_of_liberty" sound_alt = "w_generic" helptext = _("\ Allows you to choose any government, including those that have not yet\ been researched by your civilization, and without the transition\ period of Anarchy.\ ") [building_sun_tzus_war_academy] name = _("Sun Tzu's War Academy") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Feudalism", "Player" } graphic = "b.sun_tzus_war_academy" graphic_alt = "-" obsolete_by = { "type", "name", "range", "survives" "Tech", "Mobile Warfare", "World", TRUE } build_cost = 300 upkeep = 0 sabotage = 0 sound = "w_sun_tzus_war_academy" sound_alt = "w_generic" helptext = _("\ All your new military land units start with an additional veteran level\ (this is cumulative with any Barracks building in a city; with both, units\ are created as Hardened). The chance of a land unit getting the next\ veteran level after a battle increases by half.\ ") [building_united_nations] name = _("United Nations") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Communism", "Player" } graphic = "b.united_nations" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 600 upkeep = 0 sabotage = 0 sound = "w_united_nations" sound_alt = "w_generic" helptext = _("\ All your units regain two extra hitpoints per turn.\ ") ; NOTE: ; This does not match Civ1 or Civ2, but diplomatic effects are ; not very effective in multiplayer, and hitpoints effects do not ; apply for Civ1. Note in Civ1 Pyramids have a gov-change effect, ; but become obsolete, and the Statue of Liberty does not exist. ; NOTE: ; In Civ2 this provides embassies, forces peaceful enemies and ; allows Democracy to declare war 50% of the time. [building_womens_suffrage] name = _("Women's Suffrage") genus = "GreatWonder" reqs = { "type", "name", "range" "Tech", "Industrialization", "Player" } graphic = "b.womens_suffrage" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 600 upkeep = 0 sabotage = 0 sound = "w_womens_suffrage" sound_alt = "w_generic" helptext = _("\ Counts as a Police Station in every city. (That is, for each city, it\ reduces the unhappiness caused by aggressively deployed military\ units owned by that city by 2 under Democracy and 1 under Republic --\ in other words, it neutralizes the unhappiness caused by a single\ military unit per city. This wonder has no effect under other\ governments.)\ ") ; NOTE: ; For Civ2 this should reduce unhappiness by one for *each* unit ; outside a city that is causing at least one unhappiness. [building_capitalization] name = _("Coinage") genus = "Special" flags = "Gold" reqs = { "type", "name", "range" } graphic = "b.capitalization" graphic_alt = "-" obsolete_by = { "type", "name", "range" } build_cost = 999 upkeep = 0 sabotage = 0 ; FIXME: this is the real helptext; restore when have a subordnate analogue ; /* (ignore for gettext until fixed) ;helptext = _("\ ;This is not a normal improvement. Instead, setting a city's\ ; production to Capitalization means its shield production is\ ; converted to tax output (money).\ ;") ; */ helptext = _("\ This is not a normal improvement. Instead, setting a city's\ production to Coinage means its shield production is\ converted to tax output (money, coins!).\ ") ENDREP DELTA SVN¥ ¥ €¥ ; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. [datafile] description="Experimental web-client city rules for Freeciv" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 ; /* <-- avoid gettext warnings ; ; A specialist is a city citizen who is not a tile worker. Usually the ; player can control what specialist each citizen is, so long as the ; requirements for that specialist are met. ; ; Below are the entries for the specialists, one per specialist type. ; The tag name (in [specialist_*]) doesn't matter so long as it's unique. ; For each specialist the following fields may be set: ; ; ; name = translatable (plural) name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in savegames ; must not change, this is used when renaming a specialist ; after a ruleset has been released. (The original specialist ; names in the default ruleset were not designed to be ; user-visible.) ; short_name = one-character "short name" used (for instance) in cityrep; ; should be first character/abbrevation of "name" ; graphic_alt = fallback graphic tag in case the specialist graphic isn't ; found. Example value: "specialist.scientist_0" ; The specialist graphic allow different images based on ; citizen number. The alt tag don't. To use another ; specialist's tag use specialist._. ; reqs = requirements to have the specialist pick (see ; effects.ruleset and README.effects for help on requirements) ; helptext = optional help text string; should escape all raw newlines ; so that xgettext parsing works ; ; */ <-- avoid gettext warnings [specialist_elvis] name = _("Entertainers") rule_name = "elvis" short_name = _("?Elvis:E") reqs = { "type", "name", "range" ; Nothing } helptext = _("\ Each entertainer produces two luxury points for their city per turn. \ See the section on Happiness for the effects of luxury points.\ ") [specialist_scientist] name = _("Scientists") rule_name = "scientist" short_name = _("?Scientist:S") reqs = { "type", "name", "range" ; Nothing } helptext = _("\ Each scientist adds three points to your empire's research output \ per turn.\ ") [specialist_taxman] name = _("Taxmen") rule_name = "taxman" short_name = _("?Taxman:T") reqs = { "type", "name", "range" ; Nothing } helptext = _("\ Each tax collector produces three extra gold for your treasury \ per turn.\ ") [parameters] add_to_size_limit = 8 ; cities >= this cannot be added to. angry_citizens = TRUE ; set to FALSE to disable angry citizens celebrate_size_limit = 3 ; cities >= can celebrate changable_tax = TRUE ; set to FALSE to disallow changing of tax rates ;forced_science = 0 ; set these fields when changeable_tax is turned off ;forced_luxury = 100 ;forced_gold = 0 vision_reveal_tiles = TRUE ; civ1 & 2 default FALSE pop_report_zeroes = 4 ; Population in reports in tens of thousands [citizen] nationality = TRUE ; account for the nationality of the citizens convert_speed = 50 ; base probability 50/1000 -> once every 20 turns partisans_pct = 0 ; percentage of own nationality to inspire partisans ; if 0, original city owner information is used instead [missing_unit_upkeep] ; Get rid of a unit the city is unable to pay the X upkeep of. ; X_protected - never get rid of a unit with any of the listed unit type ; flags. ; X_unit_act - have the unit perform the listed actions until success, ; death or the list ends. ; X_wipe - wipe the unit if it survived performing the actions listed ; above. food_protected = "Undisbandable" ; food_unit_act = food_wipe = TRUE ; TODO: Should missing gold upkeep really be able to kill units with the ; Undisbandable unit type flag? ; gold_protected = ; gold_unit_act = gold_wipe = TRUE shield_protected = "Undisbandable" shield_unit_act = "Help Wonder", "Recycle Unit", "Disband Unit" shield_wipe = FALSE ENDREP DELTA SVNƒ½|ƒ½|€ƒ½|; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes, ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. ; Note that the freeciv AI may not cope well with anything more ; than minor changes. [datafile] description="Experimental web-client effects data for Freeciv" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 ; /* <-- avoid gettext warnings ; ; Effects ; ; type = What the effect does. Values of multiple active effects ; of the same type get summed for the total. ; See README.effects for list of possible types ; value = Value added for the effect type when this effect is active, ; i.e., all requirements are fulfilled ; multiplier = Name of the policy that gives a multiplier for effect's value ; reqs = Requirements for the effect to be active. ; See README.effects for help on requirements ; ; */ <-- avoid gettext warnings ; Cheating AI effects are in separate file *include "default/ai_effects.ruleset" [effect_unhappysize] type = "City_Unhappy_Size" value = 4 ; Barbarian effects [effect_barb1] type = "No_Diplomacy" value = 1 reqs = { "type", "name", "range" "NationGroup", "Barbarian", "Player" } ; Barbarian disappearance [effect_barb_disappear] type = "Retire_Pct" value = 10 reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", TRUE "Age", "5", "Local", TRUE "CityTile", "Center", "Local", FALSE } ; Lone Leader might escape on coast (33% chance) ; Complement of the two effects should be 0.9 * 0.66 = 0.594 ; (100 - 59) - 10 = 31 [effect_leader_escape] type = "Retire_Pct" value = 31 reqs = { "type", "name", "range" "UnitType", "Barbarian Leader", "Local" "Age", "5", "Local" "TerrainClass", "Oceanic", "Adjacent" "MaxUnitsOnTile", "1", "Local" } ; Specialist output bonuses [effect_elvis] type = "Specialist_Output" value = 2 reqs = { "type", "name", "range" "Specialist", "elvis", "Local" "OutputType", "luxury", "Local" } [effect_scientist] type = "Specialist_Output" value = 3 reqs = { "type", "name", "range" "Specialist", "scientist", "Local" "OutputType", "science", "Local" } [effect_taxman] type = "Specialist_Output" value = 3 reqs = { "type", "name", "range" "Specialist", "taxman", "Local" "OutputType", "gold", "Local" } ; Vision benefit from fortress watchtowers [effect_fortress_vision] type = "Unit_Vision_Radius_Sq" value = 8 reqs = { "type", "name", "range" "Extra", "Fortress", "tile" "Tech", "Invention", "player" "UnitClass", "Land", "Local" } ; basic free tech upkeep [effect_upkeep_tech_free] type = "Tech_Upkeep_Free" value = 3 ; Fortress HP regen [effect_fortress_hp_regen] type = "HP_Regen" value = 25 reqs = { "type", "name", "range" "Extra", "Fortress", "Tile" "UnitClass", "Land", "Local" } ; Base vision range - radius of vision is sqrt(5) = 2.24 [effect_city_vision] type = "City_Vision_Radius_Sq" value = 5 [effect_trade_routes_base] type = "Max_Trade_Routes" value = 2 [effect_trade_routes_magnetism] type = "Max_Trade_Routes" value = 1 reqs = { "type", "name", "range" "Tech", "Magnetism", "Player" } [effect_trade_routes_corporation] type = "Max_Trade_Routes" value = 1 reqs = { "type", "name", "range" "Tech", "The Corporation", "Player" } ; Nuclear power gives +1 moves to sea units [effect_nuclear_powered_boats] type = "Move_Bonus" value = 1 reqs = { "type", "name", "range" "Tech", "Nuclear Power", "Player" "UnitClass", "Sea", "Local" } [effect_anarchy_upkeep] type = "Upkeep_Free" value = 99 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" } [effect_anarchy_upkeep_tech_free] type = "Tech_Upkeep_Free" value = 9999 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" } [effect_republic] type = "Make_Content_Mil" value = 1 reqs = { "type", "name", "range" "Gov", "Republic", "Player" } [effect_corruption_anarchy0] type = "Output_Waste" value = 25 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" "OutputType", "Trade", "Local" } [effect_corruption_anarchy1] type = "Output_Waste_By_Distance" value = 2 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" "OutputType", "Trade", "Local" } [effect_corruption_despotism0] type = "Output_Waste" value = 37 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" "OutputType", "Trade", "Local" } [effect_corruption_despotism1] type = "Output_Waste_By_Distance" value = 4 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" "OutputType", "Trade", "Local" } [effect_corruption_monarchy0] type = "Output_Waste" value = 15 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" "OutputType", "Trade", "Local" } [effect_corruption_monarchy1] type = "Output_Waste_By_Distance" value = 2 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" "OutputType", "Trade", "Local" } [effect_corruption_communism0] type = "Output_Waste" value = 20 reqs = { "type", "name", "range" "Gov", "Communism", "Player" "OutputType", "Trade", "Local" } [effect_corruption_republic0] type = "Output_Waste" value = 15 reqs = { "type", "name", "range" "Gov", "Republic", "Player" "OutputType", "Trade", "Local" } [effect_corruption_republic1] type = "Output_Waste_By_Distance" value = 2 reqs = { "type", "name", "range" "Gov", "Republic", "Player" "OutputType", "Trade", "Local" } [effect_base_unit_upkeep] type = "Upkeep_Factor" value = 1 [effect_republic_unit_upkeep] type = "Upkeep_Factor" value = 1 reqs = { "type", "name", "range" "Gov", "Republic", "Player" "OutputType", "Food", "Local" } [effect_democracy_unit_upkeep] type = "Upkeep_Factor" value = 1 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" "OutputType", "Food", "Local" } [effect_republic_unit_unhappiness] type = "Unhappy_Factor" value = 1 reqs = { "type", "name", "range" "Gov", "Republic", "Player" } [effect_democracy_unit_unhappiness] type = "Unhappy_Factor" value = 2 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" } [effect_upkeep_free_units_anarchy] type = "Unit_Upkeep_Free_Per_City" value = 3 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" "OutputType", "Shield", "Local" } [effect_upkeep_free_units_despotism] type = "Unit_Upkeep_Free_Per_City" value = 3 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" "OutputType", "Shield", "Local" } [effect_upkeep_free_units_monarchy] type = "Unit_Upkeep_Free_Per_City" value = 3 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" "OutputType", "Shield", "Local" } [effect_upkeep_free_units_communism] type = "Unit_Upkeep_Free_Per_City" value = 3 reqs = { "type", "name", "range" "Gov", "Communism", "Player" "OutputType", "Shield", "Local" } [effect_civil_war_0] type = "Civil_War_Chance" value = 90 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" } [effect_civil_war_1] type = "Civil_War_Chance" value = 80 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" } [effect_civil_war_2] type = "Civil_War_Chance" value = 70 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" } [effect_civil_war_3] type = "Civil_War_Chance" value = 50 reqs = { "type", "name", "range" "Gov", "Communism", "Player" } [effect_civil_war_4] type = "Civil_War_Chance" value = 40 reqs = { "type", "name", "range" "Gov", "Republic", "Player" } [effect_civil_war_5] type = "Civil_War_Chance" value = 30 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" } [effect_empire_size_base_0] type = "Empire_Size_Base" value = 9 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" } [effect_empire_size_base_1] type = "Empire_Size_Base" value = 10 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" } [effect_empire_size_base_2] type = "Empire_Size_Base" value = 11 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" } [effect_empire_size_base_3] type = "Empire_Size_Base" value = 12 reqs = { "type", "name", "range" "Gov", "Communism", "Player" } [effect_empire_size_base_4] type = "Empire_Size_Base" value = 13 reqs = { "type", "name", "range" "Gov", "Republic", "Player" } [effect_empire_size_base_5] type = "Empire_Size_Base" value = 14 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" } [effect_empire_size_step_0] type = "Empire_Size_Step" value = 6 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" } [effect_empire_size_step_1] type = "Empire_Size_Step" value = 10 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" } [effect_empire_size_step_2] type = "Empire_Size_Step" value = 12 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" } ; Empire_Size_Step disabled for Communism [effect_empire_size_step_3] type = "Empire_Size_Step" value = 14 reqs = { "type", "name", "range" "Gov", "Republic", "Player" } [effect_empire_size_step_4] type = "Empire_Size_Step" value = 16 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" } [effect_max_rates_0] type = "Max_Rates" value = 100 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" } [effect_max_rates_1] type = "Max_Rates" value = 60 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" } [effect_max_rates_2] type = "Max_Rates" value = 70 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" } [effect_max_rates_3] type = "Max_Rates" value = 80 reqs = { "type", "name", "range" "Gov", "Communism", "Player" } [effect_max_rates_4] type = "Max_Rates" value = 80 reqs = { "type", "name", "range" "Gov", "Republic", "Player" } [effect_max_rates_5] type = "Max_Rates" value = 100 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" } [effect_martial_law_each_0] type = "Martial_Law_Each" value = 1 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" } [effect_martial_law_each_1] type = "Martial_Law_Each" value = 1 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" } [effect_martial_law_each_2] type = "Martial_Law_Each" value = 1 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" } [effect_martial_law_each_3] type = "Martial_Law_Each" value = 2 reqs = { "type", "name", "range" "Gov", "Communism", "Player" } [effect_martial_law_max_0] type = "Martial_Law_Max" value = 100 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" } [effect_martial_law_max_1] type = "Martial_Law_Max" value = 100 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" } [effect_martial_law_max_2] type = "Martial_Law_Max" value = 3 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" } [effect_martial_law_max_3] type = "Martial_Law_Max" value = 3 reqs = { "type", "name", "range" "Gov", "Communism", "Player" } [effect_rapture_grow_0] type = "Rapture_Grow" value = 3 reqs = { "type", "name", "range" "Gov", "Republic", "Player" } [effect_rapture_grow_1] type = "Rapture_Grow" value = 3 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" } [effect_communism_0] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range" "Gov", "Communism", "Player" "UnitFlag", "Diplomat", "Local" } [effect_gov_tile_bonus_0] type = "Output_Penalty_Tile" value = 2 reqs = { "type", "name", "range" "Gov", "Anarchy", "Player" } [effect_gov_tile_bonus_1] type = "Output_Penalty_Tile" value = 2 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" } [effect_gov_tile_bonus_2] type = "Output_Inc_Tile_Celebrate" value = 1 reqs = { "type", "name", "range" "OutputType", "Trade", "Local" "Gov", "Monarchy", "Player" } [effect_gov_tile_bonus_3] type = "Output_Inc_Tile_Celebrate" value = 1 reqs = { "type", "name", "range" "OutputType", "Trade", "Local" "Gov", "Communism", "Player" } [effect_gov_tile_bonus_4] type = "Output_Inc_Tile" value = 1 reqs = { "type", "name", "range" "Gov", "Republic", "Player" "OutputType", "Trade", "Local" } [effect_gov_tile_bonus_5] type = "Output_Inc_Tile" value = 1 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" "OutputType", "Trade", "Local" } [effect_revolution_0] type = "Revolution_Unhappiness" value = 2 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" } [effect_senate_0] type = "Has_Senate" value = 1 reqs = { "type", "name", "range" "Gov", "Republic", "Player" } [effect_senate_1] type = "Has_Senate" value = 1 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" } [effect_partisans_communism] type = "Inspire_Partisans" value = 1 reqs = { "type", "name", "range", "present" "Gov", "Communism", "Player", TRUE "Tech", "Communism", "Player", TRUE "Tech", "Gunpowder", "Player", TRUE "Tech", "Guerilla Warfare", "World", TRUE "NationGroup", "Barbarian", "Player", FALSE } [effect_partisans_democracy] type = "Inspire_Partisans" value = 1 reqs = { "type", "name", "range", "present" "Gov", "Democracy", "Player", TRUE "Tech", "Communism", "Player", TRUE "Tech", "Gunpowder", "Player", TRUE "Tech", "Guerilla Warfare", "World", TRUE "NationGroup", "Barbarian", "Player", FALSE } [effect_airport] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Airport", "City", TRUE "UnitClass", "Air", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE } [effect_airport_0a] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Airport", "City", TRUE "UnitClass", "Helicopter", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE } [effect_airport_0b] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Airport", "City", TRUE "UnitClass", "Missile", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE } [effect_airport_1] type = "HP_Regen" value = 100 reqs = { "type", "name", "range" "Building", "Airport", "City" "UnitClass", "Air", "Local" } [effect_airport_1a] type = "HP_Regen" value = 100 reqs = { "type", "name", "range" "Building", "Airport", "City" "UnitClass", "Helicopter", "Local" } [effect_airport_2] type = "Airlift" value = 1 reqs = { "type", "name", "range" "Building", "Airport", "City" } [effect_airlift_basic] type = "Airlift" value = 1 reqs = { "type", "name", "range" "Tech", "Flight", "Player" } ; Base max city size of 8 [effect_aqueduct_size] type = "Size_Adj" value = 8 [effect_aqueduct] type = "Size_Adj" value = 4 reqs = { "type", "name", "range" "Building", "Aqueduct", "City" } [effect_aqueduct_health] type = "Health_Pct" value = 50 reqs = { "type", "name", "range" "Building", "Aqueduct", "City" } [effect_bank] type = "Output_Bonus" value = 50 reqs = { "type", "name", "range" "Building", "Marketplace", "City" "Building", "Bank", "City" "OutputType", "Gold", "Local" } [effect_bank_1] type = "Output_Bonus" value = 50 reqs = { "type", "name", "range" "Building", "Marketplace", "City" "Building", "Bank", "City" "OutputType", "Luxury", "Local" } [effect_barracks] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Barracks", "City", TRUE "UnitClass", "Land", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE } [effect_barracks_1] type = "HP_Regen" value = 100 reqs = { "type", "name", "range", "present" "Building", "Barracks", "City", TRUE "UnitClass", "Land", "Local", TRUE } [effect_barracks_ii] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Barracks II", "City", TRUE "UnitClass", "Land", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE } [effect_barracks_ii_1] type = "HP_Regen" value = 100 reqs = { "type", "name", "range", "present" "Building", "Barracks II", "City", TRUE "UnitClass", "Land", "Local", TRUE } [effect_barracks_iii] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Barracks III", "City", TRUE "UnitClass", "Land", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE } [effect_barracks_iii_1] type = "HP_Regen" value = 100 reqs = { "type", "name", "range" "Building", "Barracks III", "City" "UnitClass", "Land", "Local" } [effect_cathedral] type = "Make_Content" value = 3 reqs = { "type", "name", "range", "present" "Building", "Cathedral", "City", TRUE "Building", "Michelangelo's Chapel", "Player", FALSE } [effect_cathedral_1] type = "Make_Content" value = 1 reqs = { "type", "name", "range", "present" "Tech", "Theology", "Player", TRUE "Building", "Cathedral", "City", TRUE "Building", "Michelangelo's Chapel", "Player", FALSE } [effect_cathedral_2] type = "Make_Content" value = -1 reqs = { "type", "name", "range", "present" "Tech", "Communism", "Player", TRUE "Building", "Cathedral", "City", TRUE "Building", "Michelangelo's Chapel", "Player", FALSE } [effect_city_walls] type = "Defend_Bonus" value = 200 reqs = { "type", "name", "range", "present" "Building", "City Walls", "City", TRUE "UnitClass", "Land", "Local", TRUE "Building", "Great Wall", "Player", FALSE "UnitType", "Howitzer", "Local", FALSE } [effect_city_walls_0] type = "Defend_Bonus" value = 200 reqs = { "type", "name", "range", "present" "Building", "City Walls", "City", TRUE "UnitClass", "Helicopter", "Local", TRUE "Building", "Great Wall", "Player", FALSE } [effect_city_walls_1] type = "Unit_No_Lose_Pop" value = 1 reqs = { "type", "name", "range" "Building", "City Walls", "City" } [effect_city_walls_visible] type = "Visible_Walls" value = 1 reqs = { "type", "name", "range" "Building", "City Walls", "City" } [effect_coastal_defense] type = "Defend_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "Coastal Defense", "City" "UnitClass", "Sea", "Local" } [effect_coastal_defense_trireme] type = "Defend_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "Coastal Defense", "City" "UnitClass", "Trireme", "Local" } [effect_colosseum] type = "Make_Content" value = 3 reqs = { "type", "name", "range" "Building", "Colosseum", "City" } [effect_colosseum_1] type = "Make_Content" value = 1 reqs = { "type", "name", "range" "Tech", "Electricity", "Player" "Building", "Colosseum", "City" } [effect_courthouse] type = "Output_Waste_Pct" value = 50 reqs = { "type", "name", "range", "present" "Building", "Courthouse", "City", TRUE "OutputType", "Trade", "Local", TRUE "Building", "Palace", "City", FALSE } ;[effect_courthouse_1] ;type = "Waste_Pct" ;value = 50 ;reqs = ; { "type", "name", "range", "present" ; "Building", "Courthouse", "City", TRUE ; "Building", "Palace", "City", FALSE ; } [effect_courthouse_2] type = "Make_Content" value = 1 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" "Building", "Courthouse", "City" } [effect_courthouse_3] type = "Incite_Cost_Pct" value = 300 reqs = { "type", "name", "range", "present" "Building", "Courthouse", "City", TRUE "MaxUnitsOnTile", "0", "Local", FALSE } [effect_incite_cost_empty_courthouse] type = "Incite_Cost_Pct" value = 100 reqs = { "type", "name", "range", "present" "MaxUnitsOnTile", "0", "Local", TRUE "Building", "Courthouse", "City", TRUE } [effect_diplomat_defense_extra] type = "Spy_Resistant" value = 25 reqs = { "type", "name", "range" "ExtraFlag", "DiplomatDefense", "Local" } [effect_incite_cost_empty] type = "Incite_Cost_Pct" value = -50 reqs = { "type", "name", "range", "present" "MaxUnitsOnTile", "0", "Local", TRUE "Building", "Courthouse", "City", FALSE } [effect_factory] type = "Output_Bonus" value = 50 reqs = { "type", "name", "range" "Building", "Factory", "City" "OutputType", "Shield", "Local" } [effect_granary] type = "Growth_Food" value = 50 reqs = { "type", "name", "range" "Building", "Granary", "City" } [effect_harbour] type = "Output_Add_Tile" value = 1 reqs = { "type", "name", "range" "TerrainClass", "Oceanic", "Local" "Building", "Harbour", "City" "OutputType", "Food", "Local" } [effect_hydro_plant] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range", "present" "Building", "Factory", "City", TRUE "Building", "Hydro Plant", "City", TRUE "OutputType", "Shield", "Local", TRUE "Building", "Hoover Dam", "Player", FALSE "Building", "Nuclear Plant", "City", FALSE "Building", "Solar Plant", "City", FALSE } [effect_hydro_plant_1] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range", "present" "Building", "Mfg. Plant", "City", TRUE "Building", "Hydro Plant", "City", TRUE "OutputType", "Shield", "Local", TRUE "Building", "Hoover Dam", "Player", FALSE "Building", "Nuclear Plant", "City", FALSE "Building", "Solar Plant", "City", FALSE } [effect_hydro_plant_2] type = "Pollu_Prod_Pct" value = -25 reqs = { "type", "name", "range", "present" "Building", "Factory", "City", TRUE "Building", "Hydro Plant", "City", TRUE "Building", "Recycling Center", "City", FALSE "Building", "Hoover Dam", "Player", FALSE "Building", "Nuclear Plant", "City", FALSE "Building", "Solar Plant", "City", FALSE } [effect_hydro_plant_3] type = "Pollu_Prod_Pct" value = -25 reqs = { "type", "name", "range", "present" "Building", "Mfg. Plant", "City", TRUE "Building", "Hydro Plant", "City", TRUE "Building", "Recycling Center", "City", FALSE "Building", "Hoover Dam", "Player", FALSE "Building", "Nuclear Plant", "City", FALSE "Building", "Solar Plant", "City", FALSE } [effect_library] type = "Output_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "Library", "City" "OutputType", "Science", "Local" } [effect_marketplace] type = "Output_Bonus" value = 50 reqs = { "type", "name", "range" "Building", "Marketplace", "City" "OutputType", "Gold", "Local" } [effect_marketplace_1] type = "Output_Bonus" value = 50 reqs = { "type", "name", "range" "Building", "Marketplace", "City" "OutputType", "Luxury", "Local" } ; No population pollution until certain techs researched [effect_pollu_pop_base] type = "Pollu_Pop_Pct_2" value = -100 [effect_pollu_pop_automobile] type = "Pollu_Pop_Pct_2" value = 25 reqs = { "type", "name", "range" "Tech", "Automobile", "Player" } [effect_pollu_pop_industrialization] type = "Pollu_Pop_Pct_2" value = 25 reqs = { "type", "name", "range" "Tech", "Industrialization", "Player" } [effect_pollu_pop_mass_production] type = "Pollu_Pop_Pct_2" value = 25 reqs = { "type", "name", "range" "Tech", "Mass Production", "Player" } [effect_pollu_pop_plastics] type = "Pollu_Pop_Pct_2" value = 25 reqs = { "type", "name", "range" "Tech", "Plastics", "Player" } [effect_mass_transit] type = "Pollu_Pop_Pct" value = -100 reqs = { "type", "name", "range" "Building", "Mass Transit", "City" } [effect_mfg_plant] type = "Output_Bonus" value = 50 reqs = { "type", "name", "range" "Building", "Mfg. Plant", "City" "OutputType", "Shield", "Local" } [effect_nuclear_plant] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range", "present" "Building", "Factory", "City", TRUE "Building", "Nuclear Plant", "City", TRUE "OutputType", "Shield", "Local", TRUE "Building", "Hoover Dam", "Player", FALSE "Building", "Solar Plant", "City", FALSE } [effect_nuclear_plant_1] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range", "present" "Building", "Mfg. Plant", "City", TRUE "Building", "Nuclear Plant", "City", TRUE "OutputType", "Shield", "Local", TRUE "Building", "Hoover Dam", "Player", FALSE "Building", "Solar Plant", "City", FALSE } [effect_nuclear_plant_2] type = "Pollu_Prod_Pct" value = -25 reqs = { "type", "name", "range", "present" "Building", "Factory", "City", TRUE "Building", "Nuclear Plant", "City", TRUE "Building", "Recycling Center", "City", FALSE "Building", "Hoover Dam", "Player", FALSE "Building", "Solar Plant", "City", FALSE } [effect_nuclear_plant_3] type = "Pollu_Prod_Pct" value = -25 reqs = { "type", "name", "range", "present" "Building", "Mfg. Plant", "City", TRUE "Building", "Nuclear Plant", "City", TRUE "Building", "Recycling Center", "City", FALSE "Building", "Hoover Dam", "Player", FALSE "Building", "Solar Plant", "City", FALSE } [effect_offshore_platform] type = "Output_Add_Tile" value = 1 reqs = { "type", "name", "range" "TerrainClass", "Oceanic", "Local" "Building", "Offshore Platform", "City" "OutputType", "Shield", "Local" } [effect_palace] type = "Output_Waste_Pct" value = 50 reqs = { "type", "name", "range" "Building", "Palace", "City" "OutputType", "Trade", "Local" } ;[effect_palace_1] ;type = "Waste_Pct" ;value = 50 ;reqs = ; { "type", "name", "range" ; "Building", "Palace", "City" ; } [effect_palace_2] type = "Spy_Resistant" value = 50 reqs = { "type", "name", "range" "Building", "Palace", "City" } [effect_palace_3] type = "Capital_City" value = 1 reqs = { "type", "name", "range" "Building", "Palace", "City" } [effect_palace_gov_center] type = "Gov_Center" value = 1 reqs = { "type", "name", "range" "Building", "Palace", "City" } [effect_palace_5] type = "Output_Bonus" value = 75 reqs = { "type", "name", "range" "Gov", "Despotism", "Player" "Building", "Palace", "City" "OutputType", "Shield", "Local" } [effect_palace_6] type = "Output_Bonus" value = 50 reqs = { "type", "name", "range" "Gov", "Monarchy", "Player" "Building", "Palace", "City" "OutputType", "Shield", "Local" } [effect_police_station] type = "Make_Content_Mil" value = 1 reqs = { "type", "name", "range", "present" "Gov", "Republic", "Player", TRUE "Building", "Police Station", "City", TRUE "Building", "Women's Suffrage", "Player", FALSE } [effect_police_station_1] type = "Make_Content_Mil" value = 2 reqs = { "type", "name", "range", "present" "Gov", "Democracy", "Player", TRUE "Building", "Police Station", "City", TRUE "Building", "Women's Suffrage", "Player", FALSE } [effect_port_facility] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Port Facility", "City", TRUE "UnitClass", "Sea", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE } [effect_port_facility_1] type = "HP_Regen" value = 100 reqs = { "type", "name", "range" "Building", "Port Facility", "City" "UnitClass", "Sea", "Local" } [effect_port_facility_trireme] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Port Facility", "City", TRUE "UnitClass", "Trireme", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE } [effect_port_facility_trireme_1] type = "HP_Regen" value = 100 reqs = { "type", "name", "range" "Building", "Port Facility", "City" "UnitClass", "Trireme", "Local" } [effect_power_plant] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range", "present" "Building", "Factory", "City", TRUE "Building", "Power Plant", "City", TRUE "OutputType", "Shield", "Local", TRUE "Building", "Hoover Dam", "Player", FALSE "Building", "Nuclear Plant", "City", FALSE "Building", "Hydro Plant", "City", FALSE "Building", "Solar Plant", "City", FALSE } [effect_power_plant_1] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range", "present" "Building", "Mfg. Plant", "City", TRUE "Building", "Power Plant", "City", TRUE "OutputType", "Shield", "Local", TRUE "Building", "Hoover Dam", "Player", FALSE "Building", "Nuclear Plant", "City", FALSE "Building", "Hydro Plant", "City", FALSE "Building", "Solar Plant", "City", FALSE } [effect_recycling_center] type = "Pollu_Prod_Pct" value = -66 reqs = { "type", "name", "range", "present" "Building", "Recycling Center", "City", TRUE ; A Solar Plant can give a stronger effect than a Recycling Center, in which ; case we want only the Solar Plant's effect (not the addition of the two). "Building", "Solar Plant", "City", FALSE } ; Nasty special cases: where a Solar Plant is present but its effect is less ; than that of a Recycling Center, top up so that the net effect is that of the ; Recycling Center. ; (This would be so much easier if effects could be combined by functions ; other than addition...) ; Factory and no Mfg. Plant: Solar Plant saves 50%, less than 66%; add 16% [effect_recycling_center_1] type = "Pollu_Prod_Pct" value = -16 reqs = { "type", "name", "range", "present" "Building", "Recycling Center", "City", TRUE "Building", "Solar Plant", "City", TRUE "Building", "Factory", "City", TRUE "Building", "Mfg. Plant", "City", FALSE } ; Mfg. Plant and no Factory: Solar Plant saves 50%, less than 66%; add 16% [effect_recycling_center_2] type = "Pollu_Prod_Pct" value = -16 reqs = { "type", "name", "range", "present" "Building", "Recycling Center", "City", TRUE "Building", "Solar Plant", "City", TRUE "Building", "Mfg. Plant", "City", TRUE "Building", "Factory", "City", FALSE } ; Neither Factory nor Mfg. Plant: Solar Plant saves 0%; add 66% [effect_recycling_center_3] type = "Pollu_Prod_Pct" value = -66 reqs = { "type", "name", "range", "present" "Building", "Recycling Center", "City", TRUE "Building", "Solar Plant", "City", TRUE "Building", "Factory", "City", FALSE "Building", "Mfg. Plant", "City", FALSE } [effect_research_lab] type = "Output_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "Library", "City" "Building", "Research Lab", "City" "OutputType", "Science", "Local" } [effect_research_lab_1] type = "Output_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "University", "City" "Building", "Research Lab", "City" "OutputType", "Science", "Local" } [effect_sam_battery] type = "Defend_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "SAM Battery", "City" "UnitClass", "Air", "Local" } [effect_sdi_defense] type = "Nuke_Proof" value = 100 reqs = { "type", "name", "range", "present" "Building", "SDI Defense", "City", TRUE "DiplRel", "Is foreign", "Local", TRUE "DiplRel", "Team", "Local", FALSE } [effect_sdi_defense_1] type = "Defend_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "SDI Defense", "City" "UnitClass", "Missile", "Local" } [effect_sewer_system] type = "Size_Unlimit" value = 1 reqs = { "type", "name", "range" "Building", "Aqueduct", "City" "Building", "Sewer System", "City" } [effect_sewer_system_health] type = "Health_Pct" value = 30 reqs = { "type", "name", "range" "Building", "Aqueduct", "City" "Building", "Sewer System", "City" } [effect_solar_plant] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range" "Building", "Factory", "City" "Building", "Solar Plant", "City" "OutputType", "Shield", "Local" } [effect_solar_plant_1] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range" "Building", "Mfg. Plant", "City" "Building", "Solar Plant", "City" "OutputType", "Shield", "Local" } [effect_solar_plant_2] type = "Pollu_Prod_Pct" value = -50 reqs = { "type", "name", "range" "Building", "Factory", "City" "Building", "Solar Plant", "City" } [effect_solar_plant_3] type = "Pollu_Prod_Pct" value = -50 reqs = { "type", "name", "range" "Building", "Mfg. Plant", "City" "Building", "Solar Plant", "City" } [effect_space_component] type = "SS_Component" value = 1 reqs = { "type", "name", "range" "Building", "Space Component", "City" } [effect_space_module] type = "SS_Module" value = 1 reqs = { "type", "name", "range" "Building", "Space Module", "City" } [effect_space_structural] type = "SS_Structural" value = 1 reqs = { "type", "name", "range" "Building", "Space Structural", "City" } [effect_plastics_slowdown] type = "Slow_Down_Timeline" value = 1 reqs = { "type", "name", "range", "survives" "Tech", "Plastics", "World", TRUE } [effect_superconductor_slowdown] type = "Slow_Down_Timeline" value = 1 reqs = { "type", "name", "range", "survives" "Tech", "Superconductors", "World", TRUE } [effect_spaceflight_slowdown] type = "Slow_Down_Timeline" value = 1 reqs = { "type", "name", "range", "survives" "Tech", "Space Flight", "World", TRUE } [effect_stock_exchange] type = "Output_Bonus" value = 50 reqs = { "type", "name", "range" "Building", "Bank", "City" "Building", "Stock Exchange", "City" "OutputType", "Gold", "Local" } [effect_stock_exchange_1] type = "Output_Bonus" value = 50 reqs = { "type", "name", "range" "Building", "Bank", "City" "Building", "Stock Exchange", "City" "OutputType", "Luxury", "Local" } [effect_super_highways] type = "Output_Per_Tile" value = 50 reqs = { "type", "name", "range" "Extra", "Road", "Local" "Building", "Super Highways", "City" "OutputType", "Trade", "Local" } [effect_mine] type = "Mining_Pct" value = 100 reqs = { "type", "name", "range" "Extra", "Mine", "Local" } [effect_oil_well] type = "Mining_Pct" value = 100 reqs = { "type", "name", "range" "Extra", "Oil Well", "Local" } [effect_irrigation] type = "Irrigation_Pct" value = 100 reqs = { "type", "name", "range", "present" "Extra", "Irrigation", "Local", TRUE "CityTile", "Center", "Local", FALSE } [effect_irrigation_2] type = "Irrigation_Pct" value = 100 reqs = { "type", "name", "range", "present" "CityTile", "Center", "Local", TRUE "TerrainAlter", "CanIrrigate", "Local", TRUE "Extra", "Mine", "Local", FALSE "Extra", "Oil Well", "Local", FALSE } [effect_supermarket] type = "Output_Per_Tile" value = 50 reqs = { "type", "name", "range", "present" "Extra", "Farmland", "Local", TRUE "Building", "Supermarket", "City", TRUE "OutputType", "Food", "Local", TRUE "CityTile", "Center", "Local", FALSE } [effect_supermarket_2] type = "Output_Per_Tile" value = 50 reqs = { "type", "name", "range", "present" "CityTile", "Center", "Local", TRUE "TerrainAlter", "CanIrrigate", "Local", TRUE "Building", "Supermarket", "City", TRUE "OutputType", "Food", "Local", TRUE "Extra", "Mine", "Local", FALSE "Extra", "Oil Well", "Local", FALSE } [effect_temple] type = "Make_Content" value = 1 reqs = { "type", "name", "range" "Building", "Temple", "City" } [effect_temple_1] type = "Make_Content" value = 1 reqs = { "type", "name", "range" "Tech", "Mysticism", "Player" "Building", "Temple", "City" } [effect_university] type = "Output_Bonus" value = 150 reqs = { "type", "name", "range" "Building", "Library", "City" "Building", "University", "City" "OutputType", "Science", "Local" } [effect_telegraph_border_vision] type = "Border_Vision" value = 1 reqs = { "type", "name", "range" "Tech", "Electricity", "Player" } [effect_apollo_program] type = "Reveal_Map" value = 1 reqs = { "type", "name", "range" "Building", "Apollo Program", "Player" } [effect_apollo_program_1] type = "Enable_Space" value = 1 reqs = { "type", "name", "range", "survives" "Building", "Apollo Program", "World", TRUE } [effect_asmiths_trading_co] type = "Upkeep_Free" value = 1 reqs = { "type", "name", "range" "Building", "A.Smith's Trading Co.", "Player" } [effect_colossus] type = "Output_Inc_Tile" value = 1 reqs = { "type", "name", "range" "Building", "Colossus", "City" "OutputType", "Trade", "Local" } [effect_copernicus_observatory] type = "Output_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "Copernicus' Observatory", "City" "OutputType", "Science", "Local" } [effect_cure_for_cancer] type = "Force_Content" value = 1 reqs = { "type", "name", "range" "Building", "Cure For Cancer", "Player" } [effect_cure_for_cancer_health] type = "Health_Pct" value = 20 reqs = { "type", "name", "range" "Building", "Cure For Cancer", "Player" } [effect_darwins_voyage] type = "Give_Imm_Tech" value = 2 reqs = { "type", "name", "range" "Building", "Darwin's Voyage", "Player" } [effect_eiffel_tower] type = "Gain_AI_Love" value = 20 reqs = { "type", "name", "range" "Building", "Eiffel Tower", "Player" } [effect_great_library] type = "Tech_Parasite" value = 2 reqs = { "type", "name", "range" "Building", "Great Library", "Player" } [effect_great_wall] type = "Defend_Bonus" value = 200 reqs = { "type", "name", "range", "present" "Building", "Great Wall", "Player", TRUE "UnitClass", "Land", "Local", TRUE "CityTile", "Center", "Local", TRUE "UnitType", "Howitzer", "Local", FALSE } [effect_great_wall_0] type = "Defend_Bonus" value = 200 reqs = { "type", "name", "range" "Building", "Great Wall", "Player" "UnitClass", "Helicopter", "Local" "CityTile", "Center", "Local" } [effect_great_wall_1] type = "Unit_No_Lose_Pop" value = 1 reqs = { "type", "name", "range" "Building", "Great Wall", "Player" } [effect_great_wall_visible] type = "Visible_Walls" value = 1 reqs = { "type", "name", "range" "Building", "Great Wall", "Player" } [effect_hanging_gardens] type = "Make_Happy" value = 1 reqs = { "type", "name", "range", "present" "Building", "Hanging Gardens", "Player", TRUE "Building", "Hanging Gardens", "City", FALSE } [effect_hanging_gardens_1] type = "Make_Happy" value = 3 reqs = { "type", "name", "range" "Building", "Hanging Gardens", "City" } [effect_hoover_dam] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range", "present" "Building", "Factory", "City", TRUE "Building", "Hoover Dam", "Player", TRUE "OutputType", "Shield", "Local", TRUE "Building", "Solar Plant", "City", FALSE } [effect_hoover_dam_1] type = "Output_Bonus" value = 25 reqs = { "type", "name", "range", "present" "Building", "Mfg. Plant", "City", TRUE "Building", "Hoover Dam", "Player", TRUE "OutputType", "Shield", "Local", TRUE "Building", "Solar Plant", "City", FALSE } [effect_hoover_dam_2] type = "Pollu_Prod_Pct" value = -25 reqs = { "type", "name", "range", "present" "Building", "Factory", "City", TRUE "Building", "Hoover Dam", "Player", TRUE "Building", "Recycling Center", "City", FALSE "Building", "Solar Plant", "City", FALSE } [effect_hoover_dam_3] type = "Pollu_Prod_Pct" value = -25 reqs = { "type", "name", "range", "present" "Building", "Mfg. Plant", "City", TRUE "Building", "Hoover Dam", "Player", TRUE "Building", "Recycling Center", "City", FALSE "Building", "Solar Plant", "City", FALSE } [effect_isaac_newtons_college] type = "Output_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "University", "City" "Building", "Isaac Newton's College", "Player" "OutputType", "Science", "Local" } [effect_js_bachs_cathedral] type = "Force_Content" value = 2 reqs = { "type", "name", "range" "Building", "J.S. Bach's Cathedral", "Player" } [effect_king_richards_crusade] type = "Output_Add_Tile" value = 1 reqs = { "type", "name", "range" "Building", "King Richard's Crusade", "City" "OutputType", "Shield", "Local" } [effect_leonardos_workshop] type = "Upgrade_Unit" value = 1 reqs = { "type", "name", "range" "Building", "Leonardo's Workshop", "Player" } [effect_lighthouse] type = "Move_Bonus" value = 1 reqs = { "type", "name", "range" "Building", "Lighthouse", "Player" "UnitClass", "Sea", "Local" } [effect_lighthouse_2] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Lighthouse", "Player", TRUE "UnitClass", "Sea", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE "Building", "Port Facility", "City", FALSE } [effect_lighthouse_trireme_move] type = "Move_Bonus" value = 1 reqs = { "type", "name", "range" "Building", "Lighthouse", "Player" "UnitClass", "Trireme", "Local" } [effect_lighthouse_trireme_veteran] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Lighthouse", "Player", TRUE "UnitClass", "Trireme", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE "Building", "Port Facility", "City", FALSE } [effect_magellans_expedition] type = "Move_Bonus" value = 2 reqs = { "type", "name", "range" "Building", "Magellan's Expedition", "Player" "UnitClass", "Sea", "Local" } [effect_magellan_trireme] type = "Move_Bonus" value = 2 reqs = { "type", "name", "range" "Building", "Magellan's Expedition", "Player" "UnitClass", "Trireme", "Local" } [effect_manhattan_project] type = "Enable_Nuke" value = 1 reqs = { "type", "name", "range", "survives" "Building", "Manhattan Project", "World", TRUE } [effect_marco_polos_contact] type = "Have_Contacts" value = 1 reqs = { "type", "name", "range" "Building", "Marco Polo's Embassy", "Player" } [effect_marco_polos_embassy] type = "Have_Embassies" value = 1 reqs = { "type", "name", "range" "Building", "Marco Polo's Embassy", "Player" } [effect_michelangelos_chapel] type = "Make_Content" value = 3 reqs = { "type", "name", "range" "Building", "Michelangelo's Chapel", "Player" } [effect_michelangelos_chapel_1] type = "Make_Content" value = 1 reqs = { "type", "name", "range" "Tech", "Theology", "Player" "Building", "Michelangelo's Chapel", "Player" } [effect_michelangelos_chapel_2] type = "Make_Content" value = -1 reqs = { "type", "name", "range" "Tech", "Communism", "Player" "Building", "Michelangelo's Chapel", "Player" } [effect_oracle] type = "Make_Content" value = 2 reqs = { "type", "name", "range" "Building", "Temple", "City" "Building", "Oracle", "Player" } [effect_pyramids] type = "Growth_Food" value = 25 reqs = { "type", "name", "range" "Building", "Pyramids", "Player" } [effect_seti_program] type = "Output_Bonus" value = 100 reqs = { "type", "name", "range" "Building", "Research Lab", "City" "Building", "SETI Program", "Player" "OutputType", "Science", "Local" } [effect_shakespeares_theatre] type = "No_Unhappy" value = 1 reqs = { "type", "name", "range" "Building", "Shakespeare's Theatre", "City" } [effect_statue_of_liberty] type = "Any_Government" value = 1 reqs = { "type", "name", "range" "Building", "Statue of Liberty", "Player" } [effect_statue_of_liberty_1] type = "No_Anarchy" value = 1 reqs = { "type", "name", "range" "Building", "Statue of Liberty", "Player" } [effect_sun_tzus_war_academy] type = "Veteran_Build" value = 1 reqs = { "type", "name", "range", "present" "Building", "Sun Tzu's War Academy", "Player", TRUE "UnitClass", "Land", "Local", TRUE "UnitFlag", "NonMil", "Local", FALSE "UnitFlag", "NoVeteran", "Local", FALSE } [effect_sun_tzus_war_academy_1] type = "Veteran_Combat" value = 50 reqs = { "type", "name", "range", "present" "Building", "Sun Tzu's War Academy", "Player", TRUE "UnitClass", "Land", "Local", TRUE "UnitFlag", "Diplomat", "Local", FALSE } [effect_united_nations] type = "Unit_Recover" value = 2 reqs = { "type", "name", "range" "Building", "United Nations", "Player" } [effect_womens_suffrage] type = "Make_Content_Mil" value = 1 reqs = { "type", "name", "range" "Gov", "Republic", "Player" "Building", "Women's Suffrage", "Player" } [effect_womens_suffrage_1] type = "Make_Content_Mil" value = 2 reqs = { "type", "name", "range" "Gov", "Democracy", "Player" "Building", "Women's Suffrage", "Player" } [effect_flight_trade_revenue_reduce] type = "Trade_Revenue_Bonus" value = -585 reqs = { "type", "name", "range" "Tech", "Flight", "Player" } [effect_railroad_trade_revenue_reduce] type = "Trade_Revenue_Bonus" value = -585 reqs = { "type", "name", "range" "Tech", "Railroad", "Player" } [effect_enter_marketplace_bonus_reduction] type = "Trade_Revenue_Bonus" value = -1585 reqs = { "type", "name", "range" "Action", "Enter Marketplace", "Local" } ; Fudge factor to more closely approximate Civ2 behavior. (Civ2 is ; really very different -- this just fakes it a little better) [effect_bonus_fudge_factor] type = "Trade_Revenue_Bonus" value = 1585 [effect_calendar_base] type = "Turn_Years" value = 50 ; 50 - 25 = 25 [effect_calendar_1] type = "Turn_Years" value = -25 reqs = { "type", "name", "range" "MinYear", "-1000", "World" } ; 25 - 5 = 20 [effect_calendar_2] type = "Turn_Years" value = -5 reqs = { "type", "name", "range" "MinYear", "0", "World" } ; 20 - 10 = 10 [effect_calendar_3] type = "Turn_Years" value = -10 reqs = { "type", "name", "range" "MinYear", "1000", "World" } ; 10 - 5 = 5 [effect_calendar_4] type = "Turn_Years" value = -5 reqs = { "type", "name", "range" "MinYear", "1500", "World" } ; 5 - 3 = 2 [effect_calendar_5] type = "Turn_Years" value = -3 reqs = { "type", "name", "range" "MinYear", "1750", "World" } ; 2 - 1 = 1 [effect_calendar_6] type = "Turn_Years" value = -1 reqs = { "type", "name", "range" "MinYear", "1900", "World" } [effect_tech_cost_base] type = "Tech_Cost_Factor" value = 1 ; Cities can always work tiles [effect_tile_workable] type = "Tile_Workable" value = 1 reqs = { "type", "name", "range", "present" "Terrain", "Inaccessible", "Local", FALSE } ; each city has at least one slot to build units [effect_city_build_slots_basic] type = "City_Build_Slots" value = 1 [effect_city_image_1] type = "City_Image" value = 1 reqs = { "type", "name", "range" "MinSize", "4", "City" } [effect_city_image_2] type = "City_Image" value = 1 reqs = { "type", "name", "range" "MinSize", "8", "City" } [effect_city_image_3] type = "City_Image" value = 1 reqs = { "type", "name", "range" "MinSize", "12", "City" } [effect_city_image_4] type = "City_Image" value = 1 reqs = { "type", "name", "range" "MinSize", "16", "City" } [effect_irrigate_src_ocean] type = "Irrig_Possible" value = 1 reqs = { "type", "name", "range" "TerrainClass", "Oceanic", "CAdjacent" } [effect_irrigate_src_river] type = "Irrig_Possible" value = 1 reqs = { "type", "name", "range" "Extra", "River", "CAdjacent" } [effect_irrigate_src_irrigation] type = "Irrig_Possible" value = 1 reqs = { "type", "name", "range" "Extra", "Irrigation", "CAdjacent" } [effect_mining] type = "Mining_Possible" value = 1 reqs = { "type", "name", "range", "present" "TerrainFlag", "Oil", "Local", FALSE } [effect_desert_oil] type = "Mining_Possible" value = 1 reqs = { "type", "name", "range" "Terrain", "Desert", "Local" "Tech", "Construction", "Player" } [effect_glacier_oil] type = "Mining_Possible" value = 1 reqs = { "type", "name", "range" "Terrain", "Glacier", "Local" "Tech", "Refining", "Player" } [effect_irrig_tf] type = "Irrig_TF_Possible" value = 1 [effect_mining_tf] type = "Mining_TF_Possible" value = 1 [effect_transform] type = "Transform_Possible" value = 1 reqs = { "type", "name", "range" "UnitFlag", "Transform", "Local" } [effect_pollution] type = "Output_Tile_Punish_Pct" value = 50 reqs = { "type", "name", "range", "present" "Extra", "Pollution", "Local", TRUE "Extra", "Fallout", "Local", FALSE } [effect_fallout] type = "Output_Tile_Punish_Pct" value = 50 reqs = { "type", "name", "range", "present" "Extra", "Fallout", "Local", TRUE "Extra", "Pollution", "Local", FALSE } [effect_pollution_fallout] type = "Output_Tile_Punish_Pct" value = 75 reqs = { "type", "name", "range" "Extra", "Fallout", "Local" "Extra", "Pollution", "Local" } [effect_unit_bribe_cost_settlers] type = "Unit_Bribe_Cost_Pct" value = -50 reqs = { "type", "name", "range" "UnitFlag", "Cities", "Local" } [effect_steal_gold_base] type = "Max_Stolen_Gold_Pm" value = 50 [effect_steal_gold_capital] type = "Max_Stolen_Gold_Pm" value = 250 reqs = { "type", "name", "range", "present" "Building", "Palace", "City", TRUE "Gov", "Anarchy", "Player", FALSE } [effect_central_planning_committee] type = "Max_Stolen_Gold_Pm" value = 200 reqs = { "type", "name", "range" "Building", "Palace", "City" "Gov", "Communism", "Player" } [effect_thiefs_share_base] type = "Thiefs_Share_Pm" value = 10 [effect_incident_success_steal_gold] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Steal Gold", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_success_steal_maps] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Steal Maps", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_illegal_action_move_cost_base] type = "Illegal_Action_Move_Cost" value = 1 reqs = { "type", "name", "range", "present" "Action", "Found City", "Local", FALSE "Action", "Join City", "Local", FALSE } [effect_incident_caught_steal_tech] type = "Casus_Belli_Caught" value = 1 reqs = { "type", "name", "range", "present" "Action", "Steal Tech", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_success_steal_tech] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Steal Tech", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_caught_tgt_steal_tech] type = "Casus_Belli_Caught" value = 1 reqs = { "type", "name", "range", "present" "Action", "Targeted Steal Tech", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_success_tgt_steal_tech] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Targeted Steal Tech", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_success_bribe_unit] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Bribe Unit", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_success_sabotage_unit] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Sabotage Unit", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_success_incite] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Incite City", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_success_poison] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Poison City", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_success_sabotage_city] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Sabotage City", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_incident_success_tgt_sabotage_city] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Targeted Sabotage City", "Local", TRUE "DiplRel", "War", "Local", FALSE } [effect_tgt_sabotage_city_half_chance] type = "Action_Odds_Pct" value = -50 reqs = { "type", "name", "range", "present" "Action", "Targeted Sabotage City", "Local", TRUE } [effect_incident_success_explode_nuke] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Explode Nuclear", "Local", TRUE } [effect_incident_success_suitcase_nuke] type = "Casus_Belli_Success" value = 1 reqs = { "type", "name", "range", "present" "Action", "Suitcase Nuke", "Local", TRUE } ENDREP DELTA SVN‚š‚š€‚š; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes, ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. ; Note that the freeciv AI may not cope well with anything more ; than minor changes. [datafile] description="Experimental web-client game rules for Freeciv" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 ; This section contains meta information for freeciv-ruledit to recreate the ruleset ; file in a form wanted. These have no in-game effect whatsoever [ruledit] ; Which file to read description in from. ;description_file = "" [about] ; Ruleset name name = _("Webperimental") ; There`s no separate versioning in rulesets part of main freeciv distribution ;version = "" ; Description of the ruleset summary = _("\ This ruleset has experimental rules to be used with web-client.\n\ Differences compared to the classic ruleset are:\n\ - Diplomat available from Alphabet\n\ - AI players are created with random trait values\n\ - Known techs tree cannot have holes in it\n\ - Diplomats can steal gold from enemy capitals (needs Banking)\n\ - Spies can steal gold from enemy cities (needs Banking)\n\ - A higher percentage of a nation's gold can be stolen from its capital \ (unless it's in Anarchy).\n\ - An even higher percentage of a nation's gold can be stolen from its \ capital if it is communist.\n\ - Unit stacks don't protect against spy actions\n\ - Spies can steal parts of other player's world map. \n\ - Spies belonging to the owner of the Manhattan Project can nuke cities.\n\ - Explorers can establish embassies once Writing is discovered. \ This action consumes the explorer.\n\ - Cities can be founded within enemy borders during war and \ before contact.\n\ - The Zone of Control rules have been turned off.\n\ - There's only one barbarian nation, attacking from both land and sea.\n\ - A player that knows Electricity has no fog of war inside his borders.\n\ - Foot soldiers can peacefully expel foreign civilian units from your terrain.\n\ - It is possible to establish an embassy while inside a ship.\n\ - The Leader unit can destroy a domestic city. (Be careful when you scorch \ the earth. If your Leader dies you lose he game.)\n\ - Labels the year using AD/BC.\n\ - All units can be airlifted:\n\ - Light weight units can be airlifted once Flight is known.\n\ - Medium weight units can be airlifted once Advanced Flight is known.\n\ - Heavy weight units can be airlifted once Fusion Power is known.\n\ - To airlift heavy and medium weight units an airport is required both \ in the source and in the destination city.\n\ - Cities that know Flight can airlift one (light weight) unit per turn. An \ Airport allows a city to airlift one more unit per turn.\n\ \n\ This ruleset is still in development. If playing it makes you think that \ a rule should change go to the Freeciv-web board at \ http://forum.freeciv.org/ and tell us in the \ webperimental ruleset feed back and suggestion thread.\ ") ; Detailed description ; When updating this, update also desciption_file in [ruledit] section to match ; description = "" [options] global_init_techs="" global_init_buildings="Palace" [civstyle] ; Value added to city pollution base_pollution = -20 ; Cost in luxuries of making one citizen happier happy_cost = 2 ; Cost in food of upkeeping a single citizen food_cost = 2 ; Parameters used to generalize the calculation of city granary size: ; if city_size <= num_inis: ; city_granary_size = (granary_food_ini[city_size] * foodbox / 100) ; if city_size > num_inis; ; city_granary_size = (granary_food_ini[num_inis] + ; granary_food_inc * (city_size - num_inis)) * foodbox / 100 granary_food_ini = 20 granary_food_inc = 10 ; City center minimum outputs min_city_center_food = 1 min_city_center_shield = 1 min_city_center_trade = 0 ; Square of initial city radius init_city_radius_sq = 5 ; Square of initially visible radius (true distance). init_vis_radius_sq = 5 ; A base bribe cost, modified heavily by other factors base_bribe_cost = 750 ; Barbarian leader ransom in gold ransom_gold = 100 ; Number of veteran levels lost when upgrading a unit upgrade_veteran_loss = 0 ; Number of veteran levels lost when auto-upgrading a unit autoupgrade_veteran_loss = 0 ; Whether player gets to select which terrain improvement to pillage. pillage_select = TRUE ; Whether one can steal a tech for which prereqs are not known tech_steal_allow_holes = FALSE ; Whether one can get a tech for which prereqs are not known via ; diplomatic trading tech_trade_allow_holes = FALSE ; ...and whether one can lose a tech which is prereq for another known ; tech via trade, if techlost_donor is nonzero tech_trade_loss_allow_holes = FALSE ; Whether one can get a tech for which prereqs are not known via ; parasite effect (Great Library) tech_parasite_allow_holes = FALSE ; Whether one can lose a tech which is prereq for another known tech ; due to negative bulbs, if techlossforgiveness allows loss tech_loss_allow_holes = FALSE ; Whether civil war is possible at all civil_war_enabled = TRUE ; Comma separated list of things to happen, in addition to death ; of owner, when gameloss unit dies ; "CivilWar" - Part of the empire remains, controlled by a new player ; "Barbarians" - Depending on if there`s also "CivilWar", all or part ; or half of the dead players empire gets under barbarian ; control. ; "Loot" - Player who killed the gameloss unit gets loot: ; Partial map, gold, techs, cities gameloss_style = "" ; Whether units may safely paradrop to transport on non-native terrain paradrop_to_transport = FALSE ; Method of paying unit and improvement gold upkeep ; "City" - The player`s total gold must be non-negative after paying upkeep ; costs associated with each city. If for any city the player`s ; gold is negative, random buildings in the city are sold off. If ; the gold is still negative, then supported units with gold upkeep ; are disbanded. ; "Mixed" - In the first step, the player`s total gold must be non-negative ; after paying upkeep for all buildings within a city. If for any ; city the player`s gold is negative, random buildings in the city ; are sold off. ; In the second step, gold upkeep for all units is paid in a lump ; sum. If the player does not have enough gold, random units with ; gold upkeep are disbanded. ; "Nation" - Gold upkeep for all buildings and units is paid in a lump sum ; after all cities have been processed. If the player does not ; have enough gold, random buildings from random cities are sold. ; If still more gold is needed, then random units with gold ; upkeep are disbanded. gold_upkeep_style = "City" [illness] ; Whether plagues (illness) are possible ; There are some latent building effects in effects.ruleset which affect ; health, if you enable plague here. illness_on = FALSE ; the base factor for illness (of percent) illness_base_factor = 25 ; minimum city size for illness illness_min_size = 3 ; factor for how much trading with a plagued city increases our city`s ; chance for plague (in percent) illness_trade_infection = 50 ; factor for how much pollution within a city increases its chance for ; plague (in percent) illness_pollution_factor = 50 [incite_cost] ; city_incite_cost = total_factor * (city_size) * (base_incite_cost ; + (units_cost) * unit_factor ; + (improvements_cost) * improvement_factor) ; / ((distance to capital) * 100) ; See city_incite_cost() for more details base_incite_cost = 1000 improvement_factor = 1 unit_factor = 2 total_factor = 100 [global_unit_options] ; Shore landing style ; FALSE - normal movement ; TRUE - (default) slow invasions by removing all ; movement points from ground units moving ; from ocean tile to land slow_invasions = TRUE [combat_rules] ; If tired_attack is set to TRUE, units that attack with less than a single ; move point (per move_fragments in terrain.ruleset) will have their attack ; power reduced accordingly. For instance, if move_fragments=3, a unit with ; 2/3 move points will have attack power 2/3 of normal. ; If this is set to FALSE units will attack with full strength even if they ; have only fractional moves left. tired_attack = FALSE [actions] ; If force_trade_route is set to TRUE it is illegal for an actor unit to ; enter the marketplace of a city if it can establish a trade route to it ; in stead. force_trade_route = TRUE ; If force_capture_units is set to TRUE it is illegal for an actor unit to ; bombard, explode nuclear or perform a regular attack against a tile if ; it can capture units on it in stead. force_capture_units = FALSE ; If force_bombard is set to TRUE it is illegal for an actor unit to ; explode nuclear or perform a regular attack against a tile if it can ; bombard it in stead. force_bombard = FALSE ; If force_explode_nuclear is set to TRUE it is illegal for an actor unit ; to perform a regular attack against a tile if it can do explode nuclear ; in stead. force_explode_nuclear = TRUE ; If poison_empties_food_stock is set to TRUE a successful "Poison City" ; will empty the food stock. poison_empties_food_stock = FALSE ; What each action should be called when showing them to the player. ; The first %s should be before the mnemonic of the action. ; The second %s marks where extra details should be inserted. ; /* TRANS: _Poison City (3% chance of success). */ ui_name_poison_city = _("%sPoison City%s") ; /* TRANS: _Sabotage Enemy Unit (3% chance of success). */ ui_name_sabotage_unit = _("%sSabotage Enemy Unit%s") ; /* TRANS: _Bribe Enemy Unit (3% chance of success). */ ui_name_bribe_unit = _("%sBribe Enemy Unit%s") ; /* TRANS: _Sabotage City (3% chance of success). */ ui_name_sabotage_city = _("%sSabotage City%s") ; /* TRANS: Industrial _Sabotage (3% chance of success). */ ui_name_targeted_sabotage_city = _("Industrial %sSabotage%s") ; /* TRANS: Incite a _Revolt (3% chance of success). */ ui_name_incite_city = _("Incite a %sRevolt%s") ; /* TRANS: Establish _Embassy (100% chance of success). */ ui_name_establish_embassy = _("Establish %sEmbassy%s") ; /* TRANS: Steal _Technology (3% chance of success). */ ui_name_steal_tech = _("Steal %sTechnology%s") ; /* TRANS: Indus_trial Espionage (3% chance of success). */ ui_name_targeted_steal_tech = _("Indus%strial Espionage%s") ; /* TRANS: _Investigate City (100% chance of success). */ ui_name_investigate_city = _("%sInvestigate City%s") ; /* TRANS: Steal _Gold (100% chance of success). */ ui_name_steal_gold = _("Steal %sGold%s") ; /* TRANS: Establish Trade _Route (100% chance of success). */ ui_name_establish_trade_route = _("Establish Trade %sRoute%s") ; /* TRANS: Sell _Goods (100% chance of success). */ ui_name_enter_marketplace = _("Sell %sGoods%s") ; /* TRANS: Help _build Wonder (100% chance of success). */ ui_name_help_wonder = _("Help %sbuild Wonder%s") ; /* TRANS: Rec_ycle Unit (100% chance of success). */ ui_name_recycle_unit = _("Rec%sycle Unit%s") ; /* TRANS: _You're Fired (100% chance of success). */ ui_name_disband_unit = _("%sYou're Fired%s") ; /* TRANS: _Build City (100% chance of success). */ ui_name_found_city = _("%sBuild City%s") ; /* TRANS: _Add to City (100% chance of success). */ ui_name_join_city = _("%sAdd to City%s") ; /* TRANS: Explode _Nuclear (100% chance of success). */ ui_name_explode_nuclear = _("Explode %sNuclear%s") ; /* TRANS: Set _Home City (100% chance of success). */ ui_name_home_city = _("Set %sHome City%s") ; /* TRANS: _Upgrade Unit (100% chance of success). */ ui_upgrade_unit = _("%sUpgrade Unit%s") ; /* TRANS: Drop _Paratrooper (100% chance of success). */ ui_paradrop_unit = _("Drop %sParatrooper%s") ; /* TRANS: _Airlift to City (100% chance of success). */ ui_airlift_unit = _("%sAirlift to City%s") ; /* TRANS: _Attack (100% chance of success). */ ui_name_attack = _("%sAttack%s") ; Suppress automatic help text generation about what enables and/or ; disables the following actions. ; ; Can make the help text less redundant when you document it your self. ;quiet_actions = "Targeted Sabotage City", "Targeted Steal Tech" ; /* <-- avoid gettext warnings ; ; Action enablers: ; ; action = the action to enable. ; actor_reqs = requirements that apply to the actor. ; target_reqs = requirements that apply to the target. ; ; README.actions lists the possible actions and their hard coded ; requirements. ; ; An action enabler is active when its actor_reqs AND its target_reqs are ; satisfied. ; ; */ <-- avoid gettext warnings [actionenabler_sabotage_city] action = "Sabotage City" actor_reqs = { "type", "name", "range" "UnitFlag", "Diplomat", "Local" "DiplRel", "War", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } [actionenabler_sabotage_city_target] action = "Targeted Sabotage City" actor_reqs = { "type", "name", "range" "DiplRel", "War", "Local" "UnitFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } [actionenabler_establish_embassy] action = "Establish Embassy" actor_reqs = { "type", "name", "range" "UnitFlag", "Diplomat", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Is foreign", "Local" } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [actionenabler_explorer_establish_embassy] action = "Establish Embassy" actor_reqs = { "type", "name", "range" "UnitType", "Explorer", "Local" "Tech", "Writing", "Player" "MinMoveFrags", "1", "Local" "DiplRel", "Is foreign", "Local" } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [actionenabler_investigate_city] action = "Investigate City" actor_reqs = { "type", "name", "range" "UnitFlag", "Diplomat", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Is foreign", "Local" } [actionenabler_poison_city] action = "Poison City" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "DiplRel", "War", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } target_reqs = { "type", "name", "range" "MinSize", "2", "City" } [actionenabler_steal_tech_random] action = "Steal Tech" actor_reqs = { "type", "name", "range" "UnitFlag", "Diplomat", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Is foreign", "Local" } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [actionenabler_steal_tech_target] action = "Targeted Steal Tech" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Is foreign", "Local" } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [actionenabler_incite_city] action = "Incite City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Diplomat", "Local", TRUE "DiplRel", "Alliance", "Local", FALSE "DiplRel", "Team", "Local", FALSE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Is foreign", "Local", TRUE } target_reqs = { "type", "name", "range", "present" "Gov", "Democracy", "Player", FALSE "Building", "Palace", "City", FALSE } [actionenabler_bribe_unit] action = "Bribe Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Diplomat", "Local", TRUE "DiplRel", "Alliance", "Local", FALSE "DiplRel", "Team", "Local", FALSE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Is foreign", "Local", TRUE } target_reqs = { "type", "name", "range", "present" "UnitFlag", "Unbribable", "Local", FALSE "CityTile", "Center", "Local", FALSE "Gov", "Democracy", "Player", FALSE } [actionenabler_sabotage_unit] action = "Sabotage Unit" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "DiplRel", "War", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } target_reqs = { "type", "name", "range", "present" "CityTile", "Center", "Local", FALSE "MinHitPoints", "2", "Local", TRUE } [actionenabler_steal_gold_capital] action = "Steal Gold" actor_reqs = { "type", "name", "range" "UnitFlag", "Diplomat", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "Tech", "Banking", "Player" "DiplRel", "Is foreign", "Local" } target_reqs = { "type", "name", "range" "Building", "Palace", "City" } [actionenabler_steal_gold_spy] action = "Steal Gold" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "Tech", "Banking", "Player" "DiplRel", "Is foreign", "Local" } [actionenabler_steal_maps] action = "Steal Maps" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "DiplRel", "Is foreign", "Local" } target_reqs = { "type", "name", "range", "present" "NationGroup", "Barbarian", "Player", FALSE } [actionenabler_suitcase_nuke] action = "Suitcase Nuke" actor_reqs = { "type", "name", "range" "UnitFlag", "Spy", "Local" "DiplRel", "War", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" "Building", "Manhattan Project", "Player" } [actionenabler_traderoute] action = "Establish Trade Route" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "TradeRoute", "Local", TRUE } [actionenabler_marketplace] action = "Enter Marketplace" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "TradeRoute", "Local", TRUE } [actionenabler_help_build_wonder] action = "Help Wonder" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "HelpWonder", "Local", TRUE "DiplRel", "Is foreign", "Local", FALSE } target_reqs = { "type", "name", "range" "BuildingGenus", "GreatWonder", "Local" } [actionenabler_help_build_small_wonder] action = "Help Wonder" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "HelpWonder", "Local", TRUE "DiplRel", "Is foreign", "Local", FALSE } target_reqs = { "type", "name", "range" "BuildingGenus", "SmallWonder", "Local" } [actionenabler_recycle_unit] action = "Recycle Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Undisbandable", "Local", FALSE } [actionenabler_disband_unit] action = "Disband Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Undisbandable", "Local", FALSE } [actionenabler_build_city_pioneer] action = "Found City" actor_reqs = { "type", "name", "range" "UnitFlag", "Cities", "Local" "UnitState", "OnLivableTile", "Local" "MinMoveFrags", "1", "Local" } target_reqs = { "type", "name", "range", "present" "CityTile", "Claimed", "Local", FALSE } [actionenabler_build_city_occupied] action = "Found City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Cities", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE "MinMoveFrags", "1", "Local", TRUE "DiplRel", "Armistice", "Local", FALSE "DiplRel", "Cease-fire", "Local", FALSE "DiplRel", "Peace", "Local", FALSE "DiplRel", "Alliance", "Local", FALSE "DiplRel", "Team", "Local", FALSE } [actionenabler_join_city] action = "Join City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "AddToCity", "Local", TRUE "DiplRel", "Is foreign", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE } [actionenabler_border_police] action = "Expel Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "BorderPolice", "Local", TRUE "UnitState", "OnDomesticTile", "Local", TRUE "DiplRel", "Is foreign", "Local", TRUE "DiplRel", "Team", "Local", FALSE "DiplRel", "Alliance", "Local", FALSE "DiplRel", "War", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE } target_reqs = { "type", "name", "range", "present" "UnitFlag", "Expellable", "Local", TRUE "UnitState", "OnDomesticTile", "Local", FALSE } ; The GameLoss unit requirement makes sending units on a suicide mission to ; capture and destroy cities deep inside enemy terrain national suicide. ; The risk of moving a GameLoss unit to the target city increases the cost ; of the action. Rationalization for the requirement: the physical presence ; of the Leader makes it easier to comply with the order to destroy the ; city. (See the "orders by phone" Milgram experiment variation) ; ; The domestic city requirement forces the player to invade a city before ; he can destroy it. If this limit is weakened by allowing the destruction ; of undefended (MaxUnitsOnTile) foreign cities during war it will lead to ; situations where a player can destroy a city but is unable to occupy it. ; Rationalization: the resistance must be crushed before the destruction. ; ; TODO: create an international incident (set the Casus_Belli_Success ; effect value to 1000) if "Destroy City" still is overpowered. [actionenabler_scorched_earth] action = "Destroy City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "GameLoss", "Local", TRUE "DiplRel", "Is foreign", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE "UnitState", "OnLivableTile", "Local", TRUE } [actionenabler_nuke] action = "Explode Nuclear" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Nuclear", "Local", TRUE } [actionenabler_attack] action = "Attack" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "NonMil", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE } [actionenabler_change_home_city] action = "Home City" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "NoHome", "Local", FALSE "UnitState", "HasHomeCity", "Local", TRUE "DiplRel", "Is foreign", "Local", FALSE } [actionenabler_paradrop_base] action = "Paradrop Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Paratroopers", "Local", TRUE "UnitState", "Transporting", "Local", FALSE "ExtraFlag", "ParadropFrom", "Local", TRUE } [actionenabler_paradrop_city] action = "Paradrop Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Paratroopers", "Local", TRUE "UnitState", "Transporting", "Local", FALSE "CityTile", "Center", "Local", TRUE } [actionenabler_upgrade_unit] action = "Upgrade Unit" actor_reqs = { "type", "name", "range", "present" "DiplRel", "Is foreign", "Local", FALSE } [actionenabler_airlift_light_unit] action = "Airlift Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "LightWeight", "Local", TRUE "UnitState", "Transporting", "Local", FALSE "MinMoveFrags", "1", "Local", TRUE } [actionenabler_airlift_medium_unit] action = "Airlift Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "MediumWeight", "Local", TRUE "UnitState", "Transporting", "Local", FALSE "Tech", "Advanced Flight", "Player", TRUE "Building", "Airport", "City", TRUE "MinMoveFrags", "1", "Local", TRUE } target_reqs = { "type", "name", "range" "Building", "Airport", "City" } [actionenabler_airlift_heavy_unit] action = "Airlift Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "HeavyWeight", "Local", TRUE "UnitState", "Transporting", "Local", FALSE "Tech", "Fusion Power", "Player", TRUE "Building", "Airport", "City", TRUE "MinMoveFrags", "1", "Local", TRUE } target_reqs = { "type", "name", "range" "Building", "Airport", "City" } [borders] ; Base border radius from city. radius_sq_city = 17 ; Border radius square increased by this amount / point of city size size_effect = 1 ; Difference between city workable area and area permanently claimed by ; city (these tiles cannot be stolen by stronger border sources). ; 0 means exactly city workable area is immune to border stealing. ; Negative value means outer workable tiles can be stolen; highly negative ; value (more than max city radius_sq) means any workable tile can be stolen. ; If City_Radius_Sq is variable, so is the set of locked tiles; this is ; a squared value, so the radius of the ring of tiles which are workable ; but not locked (or vice versa) varies but the area is constant. radius_sq_city_permanent = 0 [research] ; Method of calculating technology costs ; "Civ I|II" - Civ (I|II) style. Every new tech add base_tech_cost to ; cost of next tech. ; "Classic" - Cost of technology is: ; base_tech_cost * (1 + reqs) * sqrt(1 + reqs) / 2 ; where reqs == number of requirement for tech, counted ; recursively. ; "Classic+" - Cost are read from tech.ruleset. Missing costs are ; generated by style "Classic". ; "Experimental" - Cost of technology is: ; base_tech_cost * (reqs^2 / (1 + sqrt(sqrt(reqs + 1))) ; - 0.5) ; where reqs == number of requirement for tech, counted ; recursively. ; "Experimental+" - Cost are read from tech.ruleset. Missing costs are ; generated by style "Experimental". tech_cost_style = "Classic" ; Base research cost. Used in tech cost styles where tech cost is generated. ; In other words: used everywhere unless the cost of *all* techs are ; specified and the tech cost style is "Experimental+" or "Classic+". base_tech_cost = 20 ; Technology leak from other civilizations ; "None" - No reduction of the technology cost. ; "Embassies" - Technology cost is reduced depending on the number of ; players which already know the tech and you have an ; embassy with. ; "All Players" - Technology cost is reduced depending on the number of ; all players (human, AI and barbarians) which already ; know the tech. ; "Normal Players" - Technology cost is reduced depending on the number of ; normal players (human and AI) which already know the ; tech. tech_leakage = "None" ; Method of paying tech upkeep ; "None" - no upkeep ; "Basic" - upkeep is calculated as: ; / tech_upkeep_divider - tech_upkeep_free ; "Cities" - upkeep is calculated like "Basic", but multiplied by number of cities tech_upkeep_style = "None" ; upkeep cost is divided by this value tech_upkeep_divider = 2000 ; Method of selecting techs given for free ; "Goal" - Towards player`s goal, random if no goal ; "Random" - Random researchable tech ; "Cheapest" - Cheapest researchable tech, random among equal cost ones free_tech_method = "Goal" [culture] ; Minimum culture points for cultural domination victory victory_min_points = 1000 ; How big lead relative to second best player is needed for victory victory_lead_pct = 200 ; How much each culture point affects the migration ; from/to the city. Each culture point count as this many permilles ; of a migration point. migration_pml = 50 [calendar] ; Year in the beginning of the game start_year = -4000 ; Year 1 instead of 0. skip_year_0 = TRUE ; How many fragments each year has. Value 0 disables year advancement by fragment ; accumulation. fragments = 0 ; Calendar fragment names. If name is missing, only a fragment number +1 (so human readable ; numbers begin from 1 and not 0) is shown. ;fragment_name0 = "Jan" ;fragment_name1 = "Feb" ; ... ; What labels are used for positive and negative years. ; /* TRANS: year label (Anno Domini) */ positive_label = _("AD") ; /* TRANS: year label (Before Christ) */ negative_label = _("BC") ; /* <-- avoid gettext warnings ; ; Disaster types: ; ; name = translatable name as seen by user ; reqs = requirements for disaster to happen (see effects.ruleset ; and README.effects for help on requirements) ; frequency = how likely disaster is to occur ; effects ; - "DestroyBuilding" = Random building is destroyed ; - "ReducePopulation" = Reduce city size by one unless it's already 1 ; - "ReducePopDestroy" = Reduce city size by one, possibly destroying the city ; - "EmptyFoodStock" = Remove all food from food stock ; - "EmptyProdStock" = Destroy current production ; - "Pollution" = One tile surrounding city polluted ; - "Fallout" = One tile surrounding city polluted with fallout ; ; */ <-- avoid gettext warnings [disaster_earthquake] name = _("Earthquake") frequency = 10 effects = "DestroyBuilding" [disaster_pestilence] name = _("Pestilence") frequency = 10 effects = "ReducePopulation" [disaster_fire] name = _("Fire") frequency = 10 effects = "DestroyBuilding" [disaster_industrial_accident] name = _("Industrial Accident") reqs = { "type", "name", "range" "Building", "Mfg. Plant", "City" } frequency = 10 effects = "ReducePopulation", "Pollution" [disaster_nuclear_accident] name = _("Nuclear Accident") reqs = { "type", "name", "range" "Building", "Nuclear Plant", "City" } frequency = 10 effects = "ReducePopulation", "Fallout" ; /* <-- avoid gettext warnings ; ; Achievement types: ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in ; savegames must not change, use this when renaming a ; achievement after a ruleset has been released. ; type = What event grants the achievement to player. ; See README.achievements for list of these types. ; unique = If TRUE, only first one reaching the achievement will ; get it. Defaults to TRUE. ; value = Value to reach. Exact meaning of this depends on ; achievement type. ; culture = Amount of culture granted to player who gets achievement ; granted. ; first_msg = Message shown to first player gaining the achievement ; cons_msg = Message shown to consecutive players gaining the achievement ; ; */ <-- avoid gettext warnings ; No achievements in classic ruleset ; ; Trade settings ; ; IN = international, IC = intercontinental. ; For each of the trade route types: ; "pct" - Trade income %. If this is 0, trade route cannot be ; established at all ; "cancelling" - What to do to previously established traderoutes when they ; turn illegal ; "Active" - Keep them active (although they will only ; provide nonzero income if illegal due to ; trademindist rather than pct==0) ; "Inactive" - Keep them inactive ; "Cancel" - Cancel them altogether ; "bonus" - One-time bonuses granted when traderoute established ; "None" - No one-time bonus ; "Gold" - Bonus to gold ; "Science" - Bonus to research ; "Both" - Bonus to gold and research ; [trade] settings = { "type", "pct", "cancelling", "bonus" "National", 100, "Cancel", "Both" "NationalIC", 200, "Cancel", "Both" "IN", 200, "Cancel", "Both" "INIC", 400, "Cancel", "Both" "Ally", 200, "Cancel", "Both" "AllyIC", 400, "Cancel", "Both" "Enemy", 200, "Cancel", "Both" "EnemyIC", 400, "Cancel", "Both" "Team", 200, "Cancel", "Both" "TeamIC", 400, "Cancel", "Both" } ; /* <-- avoid gettext warnings ; ; Goods types: ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in ; savegames must not change, use this when renaming ; an good after a ruleset has been released. ; reqs = requirements for a city to provide goods (see effects.ruleset ; and README.effects for help on requirements) ; ; */ <-- avoid gettext warnings [goods_good] name = _("Goods") [playercolors] background.r = 86 background.g = 86 background.b = 86 ; Player colors for 32 players are defined below. ; Avoid greens, blues, and white / very pale colors (too easy to confuse ; with terrain). ; Avoid dark colors. colorlist = { "r", "g", "b" 255, 0, 0 255, 255, 0 0, 255, 255 138, 43, 226 255, 165, 0 255, 0, 255 173, 216, 230 0, 255, 127 250, 128, 114 124, 252, 0 139, 0, 0 255, 192, 203 211, 211, 211 218, 112, 214 255, 20, 147 100, 149, 237 255, 215, 0 245, 222, 179 255, 255, 128 192, 255, 128 204, 255, 0 255, 211, 140 255, 79, 0 240, 145, 169 255, 219, 88 153, 17, 153 184, 134, 11 255, 102, 0 102, 205, 170 195, 33, 72 168, 153, 230 255, 250, 205 } [teams] ; freeciv optional team names definition. ; ; names = ; _("Team 1"), ; _("Team 2"), ; _("Team 3"), ; _("Team 4"), ; etc... [settings] ; freeciv game settings for the experimental freeciv-web ruleset set = { "name", "value", "lock" "autosaves", "", TRUE "topology", "WRAPX", TRUE "nationset", "all", TRUE "compresstype", "xz", TRUE "traitdistribution", "EVEN", FALSE "maxplayers", 32, TRUE } ENDREP DELTA SVN¸4¸4€¸4 ; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. ; Note that the freeciv AI may not cope well with anything more ; than minor changes. [datafile] description="Experimental web-client governments data for Freeciv (as Civ2, minus fundamentalism)" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 [governments] during_revolution="Anarchy" ; /* <-- avoid gettext warnings ; ; Below: The individual government types, one per section. ; ; The actual tag used (the * in [government_*]) does not matter, except ; it must be unique within this file, and it may be used in debug ; output when reading this file. ; ; For the "official" rulesets, the order of these sections should not ; be changed because that would break backward compatability with ; savegames. (In particular, if Fundamentalism is added to default ; ruleset, should be added at end.) ; ; Notes on fields: ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in savegames ; must not change, use this when renaming a government after a ; ruleset has been released. ; reqs = requirements for this government (see README.effects) ; graphic = tag specifing preferred graphic ; graphic_alt = alternate graphics tag if preferred is not found; ; should be a standard tag if preferred is not; ; otherwise may be "-" ; ai_better = AI will not consider this government for use if the ; government listed here is available ; ruler_titles = ruler titles by nation, "-" is default, and non-matched ; nations are ignored ; helptext = optional help text string; should escape all raw newlines ; so that xgettext parsing works ; ; */ <-- avoid gettext warnings ;------------------------------------------------------------------------ [government_anarchy] name = _("Anarchy") ; No reqs graphic = "gov.anarchy" graphic_alt = "-" ruler_male_title = _("Warlord %s") ruler_female_title = _("Warlady %s") helptext = _("\ Anarchy is simply the absence of any recognizable government.\ Citizens are disorganized and unproductive, and will spend all\ income as quickly as possible, rather than paying taxes or\ conducting research.\ "), _("\ Anarchy offers slightly less corruption than Despotism,\ but slightly more unhappiness.\ ") ;------------------------------------------------------------------------ [government_despotism] name = _("Despotism") ; No reqs graphic = "gov.despotism" graphic_alt = "-" ai_better = "Monarchy" ruler_male_title = _("Chief %s") ruler_female_title = _("?female:Chief %s") helptext = _("\ Under Despotism, you are the absolute ruler of your people. Your\ control over your citizens is maintained largely by martial law.\ "), _("\ Despotism suffers the highest level of corruption of all\ forms of government.\ ") ;------------------------------------------------------------------------ [government_monarchy] name = _("Monarchy") reqs = { "type", "name", "range" "tech", "Monarchy", "Player" } graphic = "gov.monarchy" graphic_alt = "-" ai_better = "Communism" ruler_male_title = _("King %s") ruler_female_title = _("Queen %s") helptext = _("\ Under Monarchy, a king or queen serves as a hereditary figurehead\ for your government.\ "), _("\ Monarchy suffers the same small amount of corruption that\ the Republic does.\ ") ;------------------------------------------------------------------------ [government_communism] name = _("Communism") reqs = { "type", "name", "range" "tech", "Communism", "Player" } graphic = "gov.communism" graphic_alt = "-" ruler_male_title = _("Comrade %s") ruler_female_title = _("?female:Comrade %s") helptext = _("\ A Communist government is based on the ideal that all people are\ equal. All goods are owned by the state, rather than by private\ citizens. Communism gives a balance between military and commercial\ styles of government.\ "), _("\ Under Communism, corruption does not vary by distance from\ the capital; all cities (including the capital) have a modest amount\ of corruption.\ ") ;------------------------------------------------------------------------ [government_republic] name = _("Republic") reqs = { "type", "name", "range" "tech", "The Republic", "Player" } graphic = "gov.republic" graphic_alt = "-" ruler_male_title = _("President %s") ruler_female_title = _("?female:President %s") helptext = _("\ Under a Republican government, citizens hold an election to select a\ representative who will govern them; since elected leaders must\ remain popular to remain in control, citizens are given a greater\ degree of freedom. Citizens under the Republic become unhappy\ easily, but the self-sufficiency of your citizens allows high levels\ of trade.\ ") ;------------------------------------------------------------------------ [government_democracy] name = _("Democracy") reqs = { "type", "name", "range" "tech", "Democracy", "Player" } graphic = "gov.democracy" graphic_alt = "-" ruler_male_title = _("Prime Minister %s") ruler_female_title = _("?female:Prime Minister %s") helptext = _("\ Under Democracy, citizens govern directly by voting on issues.\ Democracy offers the highest possible level of trade, but also\ offers the most potential for unhappiness. There is no corruption\ during Democracy, but citizens become very upset during\ wars.\ ") ; /* <-- avoid gettext warnings ; ; Multipliers (aka policies) ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in ; savegames must not change, use this when renaming ; a multiplier after a ruleset has been released. ; default = default value (as presented in UI) ; start = minimum value (as presented in UI) ; stop = maximum value (as presented in UI) ; step = minimum increase/decrease (as presented in UI) ; offset = offset/factor control how UI values are turned ; factor = into effect values for use in effects.ruleset. ; effect_value = (ui_value + offset) * (factor/100) ; Optional; by default offset=0, factor=100, so ; that UI values are used as-is. ; helptext = optional help text string; should escape all raw ; newlines so that xgettext parsing works ; ; */ <-- avoid gettext warnings ENDREP DELTA SVN–V–V€–V ; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. [datafile] description="Experimental web-client nations data for Freeciv" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 ; This section contains meta information for freeciv-ruledit to recreate the ruleset ; file in a form wanted. These have no in-game effect whatsoever [ruledit] ; Nationlist to add include statement for. If this entry is omitted, all the nations ; will be saved to nations.ruleset itself. nationlist = "default/nationlist.ruleset" ; List of nations to embed to main nations.ruleset despite separate nationlist ; being used for other nations. embedded_nations = "barbarian" [compatibility] ; Initial government for all the nations that do not ; have it explicitly defined default_government = "Despotism" [default_traits] ; Default values for the AI traits. These are used if nation specific ; value for some trait has not been used. If these default too are ; not defined, the ultimate default is 50. ; _min and _max give the range from which the trait value ; is randomly chosen for a given AI player unless 'traitdistribution' ; server setting is 'FIXED' ; _default is the exaxt trait value used when 'traitdistribution' ; is 'FIXED'. If _default has not been given, it's set to the ; midpoint between _min and _max. ; Value of trait "expansionist" defines how much AI wants to settle new territory. expansionist_min = 30 expansionist_max = 85 expansionist_default = 50 ; Value of trait "trader" defines how much AI wants to establish trade routes. trader_min = 30 trader_max = 85 trader_default = 50 ; Value of trait "aggressive" defines how easily AI declares war. aggressive_min = 30 aggressive_max = 85 aggressive_default = 50 ; Please keep [ruledit] section in sync with these includes *include "default/nationlist.ruleset" ; This ruleset uses model of single LandAndSea barbarian nation [nation_barbarian] translation_domain="freeciv" name=_("Barbarian") plural=_("?plural:Barbarians") groups="Core", "Barbarian" legend=_("Since the dawn of civilization, barbarians have been a threat to\ cultured peoples everywhere.") leaders = { "name", "sex" "Genseric", "Male" "Alaric", "Male" "Theodoric", "Male" "Stilicho", "Male" "Attila", "Male" "Boadicea", "Female" } flag="barbarian" flag_alt = "-" style = "European" init_techs="" init_buildings="" init_units="" cities = "Barbaricum" is_playable = FALSE barbarian_type = "LandAndSea" ; nothing more needed for barbarians ENDREP DELTA SVN˜˜€˜-- Freeciv - Copyright (C) 2007 - The Freeciv Project -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2, or (at your option) -- any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- This file is for lua-functionality that is specific to a given -- ruleset. When freeciv loads a ruleset, it also loads script -- file called 'default.lua'. The one loaded if your ruleset -- does not provide an override is default/default.lua. -- Place Ruins at the location of the destroyed city. function city_destroyed_callback(city, loser, destroyer) city.tile:create_extra("Ruins", NIL) -- continue processing return false end signal.connect("city_destroyed", "city_destroyed_callback") -- Add random labels to the map. function place_map_labels() local mountains = 0 local deep_oceans = 0 local deserts = 0 local glaciers = 0 local selected_mountain = 0 local selected_ocean = 0 local selected_desert = 0 local selected_glacier = 0 -- Count the tiles that has a terrain type that may get a label. for place in whole_map_iterate() do local terr = place.terrain local tname = terr:rule_name() if tname == "Mountains" then mountains = mountains + 1 elseif tname == "Deep Ocean" then deep_oceans = deep_oceans + 1 elseif tname == "Desert" then deserts = deserts + 1 elseif tname == "Glacier" then glaciers = glaciers + 1 end end -- Decide if a label should be included and, in case it should, where. if random(1, 100) <= 75 then selected_mountain = random(1, mountains) end if random(1, 100) <= 75 then selected_ocean = random(1, deep_oceans) end if random(1, 100) <= 75 then selected_desert = random(1, deserts) end if random(1, 100) <= 75 then selected_glacier = random(1, glaciers) end -- Place the included labels at the location determined above. for place in whole_map_iterate() do local terr = place.terrain local tname = terr:rule_name() if tname == "Mountains" then selected_mountain = selected_mountain - 1 if selected_mountain == 0 then place:set_label(_("Highest Peak")) end elseif tname == "Deep Ocean" then selected_ocean = selected_ocean - 1 if selected_ocean == 0 then place:set_label(_("Deep Trench")) end elseif tname == "Desert" then selected_desert = selected_desert - 1 if selected_desert == 0 then place:set_label(_("Scorched Spot")) end elseif tname == "Glacier" then selected_glacier = selected_glacier - 1 if selected_glacier == 0 then place:set_label(_("Frozen Lake")) end end end return false end signal.connect("map_generated", "place_map_labels") ENDREP DELTA SVN¶b¶b€¶b ; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. [datafile] description="Experimental web-client nation theme data for Freeciv" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 ; /* <-- avoid gettext warnings ; ; Nation styles ; ; name = translatable name as seen by user ; rule_name = (optional) name for rulesets; if not ; present, 'name' is used. ; ; */ <-- avoid gettext warnings [style_european] name = _("?style:European") [style_classical] name = _("?style:Classical") [style_tropical] name = _("?style:Tropical") [style_asian] name = _("?style:Asian") [style_babylonian] name = _("?style:Babylonian") [style_celtic] name = _("?style:Celtic") ; /* <-- avoid gettext warnings ; ; City styles define the way cities are drawn ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in savegames ; must not change, use this when renaming a city style after a ; ruleset has been released. ; graphic = group of tiles to use, see cities spec for ; more info on city tiles ; citizens_graphic = group of citizens tiles to use, see citizens/small ; spec for more info on citizens tiles ; reqs = requirements for this city style (see README.effects) ; ; */ <-- avoid gettext warnings [citystyle_european] name = _("?citystyle:European") graphic = "city.european" graphic_alt = "-" citizens_graphic = "ancient" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "Style", "European", "Player" } [citystyle_classical] name = _("?citystyle:Classical") graphic = "city.classical" graphic_alt = "-" citizens_graphic = "ancient" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "Style", "Classical", "Player" } [citystyle_tropical] name = _("?citystyle:Tropical") graphic = "city.tropical" graphic_alt = "city.european" citizens_graphic = "ancient" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "Style", "Tropical", "Player" } [citystyle_asian] name = _("?citystyle:Asian") graphic = "city.asian" graphic_alt = "city.classical" citizens_graphic = "ancient" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "Style", "Asian", "Player" } [citystyle_babylonian] name = _("?citystyle:Babylonian") graphic = "city.babylonian" graphic_alt = "city.classical" citizens_graphic = "ancient" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "Style", "Babylonian", "Player" } [citystyle_celtic] name = _("?citystyle:Celtic") graphic = "city.celtic" graphic_alt = "city.european" citizens_graphic = "ancient" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "Style", "Celtic", "Player" } [citystyle_industrial] name = _("?citystyle:Industrial") graphic = "city.industrial" graphic_alt = "-" citizens_graphic = "industrial" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "tech", "Railroad", "Player" } [citystyle_electric] name = _("?citystyle:ElectricAge") graphic = "city.electricage" graphic_alt = "city.modern" citizens_graphic = "electricage" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "tech", "Automobile", "Player" } [citystyle_modern] name = _("?citystyle:Modern") graphic = "city.modern" graphic_alt = "-" citizens_graphic = "modern" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "tech", "Rocketry", "Player" } [citystyle_postmodern] name = _("?citystyle:PostModern") graphic = "city.postmodern" graphic_alt = "-" citizens_graphic = "postmodern" citizens_graphic_alt = "generic" reqs = { "type", "name", "range" "tech", "Superconductors", "Player" } ; /* <-- avoid gettext warnings ; ; Music styles ; ; Order is important. The last one for which activation requirements ; are fulfilled is the one that plays. ; ; music_peaceful = Music to play when nation in peaceful mood ; music_combat = Music to play when nation in combat mood ; reqs = requirements to activate the style (see effects.ruleset ; and README.effects for help on requirements) ; ; */ <-- avoid gettext warnings [musicstyle_european] music_peaceful = "music_european_peace" music_combat = "music_european_combat" reqs = { "type", "name", "range" "Style", "European", "Player" } [musicstyle_classical] music_peaceful = "music_classical_peace" music_combat = "music_classical_combat" reqs = { "type", "name", "range" "Style", "Classical", "Player" } [musicstyle_tropical] music_peaceful = "music_tropical_peace" music_combat = "music_tropical_combat" reqs = { "type", "name", "range" "Style", "Tropical", "Player" } [musicstyle_asian] music_peaceful = "music_asian_peace" music_combat = "music_asian_combat" reqs = { "type", "name", "range" "Style", "Asian", "Player" } [musicstyle_babylonian] music_peaceful = "music_babylonian_peace" music_combat = "music_babylonian_combat" reqs = { "type", "name", "range" "Style", "Babylonian", "Player" } [musicstyle_celtic] music_peaceful = "music_celtic_peace" music_combat = "music_celtic_combat" reqs = { "type", "name", "range" "Style", "Celtic", "Player" } [musicstyle_renaissance] music_peaceful = "music_renaissance_peace" music_combat = "music_renaissance_combat" reqs = { "type", "name", "range" "Tech", "University", "Player" } [musicstyle_industrial] music_peaceful = "music_industrial_peace" music_combat = "music_industrial_combat" reqs = { "type", "name", "range" "Tech", "Railroad", "Player" } [musicstyle_electricage] music_peaceful = "music_electricage_peace" music_combat = "music_electricage_combat" reqs = { "type", "name", "range" "Tech", "Automobile", "Player" } [musicstyle_modern] music_peaceful = "music_modern_peace" music_combat = "music_modern_combat" reqs = { "type", "name", "range" "Tech", "Rocketry", "Player" } [musicstyle_postmodern] music_peaceful = "music_postmodern_peace" music_combat = "music_postmodern_combat" reqs = { "type", "name", "range" "Tech", "Superconductors", "Player" } ENDREP DELTA SVN›e›e€›e ; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes, ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. [datafile] description="Experimental web-client technology data for Freeciv" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 [control] ; Names for custom tech flags. There can be up to 8 of these. ; name = rule name; In some circumstances user may see this ; as part of some sentences, so try to make it descriptive ; and sensible. ; helptxt = displayed in the help for advances with this flag (optional) ;flags = ; { "name", "helptxt" ; } ; /* <-- avoid gettext warnings ; ; Tech classes: ; ; First one is the default one. ; If there is none, tech classes feature is disabled ; ; name = translatable name as seen by user ; rule_name = (optional) name for rulesets etc; if not ; present, 'name' is used. ; cost_pct = how much techs of the class cost compared ; to normal. Default is 100%. ; ; */ <-- avoid gettext warnings ;[techclass_default] ;name = ; /* <-- avoid gettext warnings ; ; Below: The individual advances, one per section. ; The number can be variable, up to 196. ; ; The actual tag used (the * in [advance_*]) does not matter, except ; it must be unique within this file, and it may be used in debug ; output when reading this file. ; ; Notes: ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in savegames ; must not change, use this when renaming a tech after a ; ruleset has been released. ; class = tech class this tech belongs to, if they have been defined. ; Default is first one defined above. ; req1, req2 = advances required before researching this one ; root_req = tech required before acquiring this tech, by any ; means, inherited by all techs that require this tech in turn ; unless "None" is given here explicitly; and you can make ; a tech available only through the init_tech of a nation by ; making it root_req itself. ; research_reqs = requirements before researching this one. Can have non ; tech requirements because it is a requirement vector. ; See doc/README.effects to learn more about requirement ; vectors. ; Requireing a tech here in stead of in req1, req2 or ; root_req is not supported yet. ; Requirements that may become fulfilled during the game ; when they weren't at the start of the game is not ; supported yet. ; flags = special flag strings ; graphic = icon for technology ; graphic_alt = alternate icon ; helptext = optional help text string (set units ruleset for examples) ; bonus_message = text seen when a player is the first to discover ; an bonus tech. Must contain '%s' to mark place of the tech ; gained. ; cost = if tech_cost_style is set to "Classic+" or "Experimental+", ; this field is read for information on how much a tech ; costs. ; ; Special values for req1 and req2 are "None" (first section below) ; and "Never" (never available). If only one tech is required, ; it should be listed as req1. ; ; As well as custom flags defined above, the following flag strings are ; possible: ; ; "Bonus_Tech" = player gets extra tech if reached first ; "Bridge" = "Settler" unit types can build roads with ; "RequiresBridge" flag over roads with ; "PreventsOtherRoads" flag (rivers) ; "Build_Airborne" = from now on can build air units (for use by AI) ; "Claim_Ocean" = Player claims ocean tiles even if they are not ; adjacent to border source ; "Claim_Ocean_Limited" = Oceanic border sources claim ocean tiles even if ; they are not adjacent to border source ; ; */ <-- avoid gettext warnings [advance_advanced_flight] name = _("Advanced Flight") req1 = "Radio" req2 = "Machine Tools" flags = "" graphic = "a.advanced_flight" graphic_alt = "-" helptext = _("Enables airlift of medium weight units.") [advance_alphabet] name = _("Alphabet") req1 = "None" req2 = "None" flags = "" graphic = "a.alphabet" graphic_alt = "-" [advance_amphibious_warfare] name = _("Amphibious Warfare") req1 = "Navigation" req2 = "Tactics" flags = "" graphic = "a.amphibious_warfare" graphic_alt = "-" [advance_astronomy] name = _("Astronomy") req1 = "Mysticism" req2 = "Mathematics" flags = "" graphic = "a.astronomy" graphic_alt = "-" [advance_atomic_theory] name = _("Atomic Theory") req1 = "Theory of Gravity" req2 = "Physics" flags = "" graphic = "a.atomic_theory" graphic_alt = "-" [advance_automobile] name = _("Automobile") req1 = "Combustion" req2 = "Steel" graphic = "a.automobile" graphic_alt = "-" helptext = _("Increases the population's contribution to pollution.") [advance_banking] name = _("Banking") req1 = "Trade" req2 = "The Republic" flags = "" graphic = "a.banking" graphic_alt = "-" [advance_bridge_building] name = _("Bridge Building") req1 = "Iron Working" req2 = "Construction" flags = "Bridge" graphic = "a.bridge_building" graphic_alt = "-" helptext = _("Allows roads to be built on river tiles.") [advance_bronze_working] name = _("Bronze Working") req1 = "None" req2 = "None" flags = "" graphic = "a.bronze_working" graphic_alt = "-" [advance_ceremonial_burial] name = _("Ceremonial Burial") req1 = "None" req2 = "None" flags = "" graphic = "a.ceremonial_burial" graphic_alt = "-" [advance_chemistry] name = _("Chemistry") req1 = "University" req2 = "Medicine" flags = "" graphic = "a.chemistry" graphic_alt = "-" [advance_chivalry] name = _("Chivalry") req1 = "Feudalism" req2 = "Horseback Riding" flags = "" graphic = "a.chivalry" graphic_alt = "-" [advance_code_of_laws] name = _("Code of Laws") req1 = "Alphabet" req2 = "None" flags = "" graphic = "a.code_of_laws" graphic_alt = "-" [advance_combined_arms] name = _("Combined Arms") req1 = "Mobile Warfare" req2 = "Advanced Flight" flags = "" graphic = "a.combined_arms" graphic_alt = "-" [advance_combustion] name = _("Combustion") req1 = "Refining" req2 = "Explosives" flags = "" graphic = "a.combustion" graphic_alt = "-" [advance_communism] name = _("Communism") req1 = "Philosophy" req2 = "Industrialization" flags = "" graphic = "a.communism" graphic_alt = "-" helptext = _("Reduces the effect of Cathedrals.") [advance_computers] name = _("Computers") req1 = "Mass Production" req2 = "Miniaturization" flags = "" graphic = "a.computers" graphic_alt = "-" [advance_conscription] name = _("Conscription") req1 = "Democracy" req2 = "Metallurgy" flags = "" graphic = "a.conscription" graphic_alt = "-" [advance_construction] name = _("Construction") req1 = "Masonry" req2 = "Currency" flags = "" graphic = "a.construction" graphic_alt = "-" helptext = _("Allows Settlers, Workers and Engineers to build fortresses.") [advance_currency] name = _("Currency") req1 = "Bronze Working" req2 = "None" flags = "" graphic = "a.currency" graphic_alt = "-" [advance_democracy] name = _("Democracy") req1 = "Banking" req2 = "Invention" flags = "" graphic = "a.democracy" graphic_alt = "-" [advance_economics] name = _("Economics") req1 = "Banking" req2 = "University" flags = "" graphic = "a.economics" graphic_alt = "-" [advance_electricity] name = _("Electricity") req1 = "Metallurgy" req2 = "Magnetism" flags = "" graphic = "a.electricity" graphic_alt = "-" helptext = _("Improves the effect of Colosseums.") [advance_electronics] name = _("Electronics") req1 = "The Corporation" req2 = "Electricity" flags = "" graphic = "a.electronics" graphic_alt = "-" [advance_engineering] name = _("Engineering") req1 = "The Wheel" req2 = "Construction" flags = "" graphic = "a.engineering" graphic_alt = "-" [advance_environmentalism] name = _("Environmentalism") req1 = "Recycling" req2 = "Space Flight" flags = "" graphic = "a.environmentalism" graphic_alt = "-" [advance_espionage] name = _("Espionage") req1 = "Communism" req2 = "Democracy" flags = "" graphic = "a.espionage" graphic_alt = "-" [advance_explosives] name = _("Explosives") req1 = "Gunpowder" req2 = "Chemistry" flags = "" graphic = "a.explosives" graphic_alt = "-" [advance_feudalism] name = _("Feudalism") req1 = "Warrior Code" req2 = "Monarchy" flags = "" graphic = "a.feudalism" graphic_alt = "-" [advance_flight] name = _("Flight") req1 = "Combustion" req2 = "Theory of Gravity" flags = "Build_Airborne" graphic = "a.flight" graphic_alt = "-" helptext = _("Decreases one-time revenue from new trade routes."), _("Enables airlift of light weight units.") [advance_fusion_power] name = _("Fusion Power") req1 = "Nuclear Power" req2 = "Superconductors" flags = "" graphic = "a.fusion_power" graphic_alt = "-" helptext = _("Enables airlift of heavy weight units.") [advance_genetic_engineering] name = _("Genetic Engineering") req1 = "Medicine" req2 = "The Corporation" flags = "" graphic = "a.genetic_engineering" graphic_alt = "-" [advance_guerilla_warfare] name = _("Guerilla Warfare") req1 = "Communism" req2 = "Tactics" flags = "" graphic = "a.guerilla_warfare" graphic_alt = "-" [advance_gunpowder] name = _("Gunpowder") req1 = "Invention" req2 = "Iron Working" flags = "" graphic = "a.gunpowder" graphic_alt = "-" [advance_horseback_riding] name = _("Horseback Riding") req1 = "None" req2 = "None" flags = "" graphic = "a.horseback_riding" graphic_alt = "-" [advance_industrialization] name = _("Industrialization") req1 = "Railroad" req2 = "Banking" graphic = "a.industrialization" graphic_alt = "-" helptext = _("Population will start contributing to pollution.") [advance_invention] name = _("Invention") req1 = "Engineering" req2 = "Literacy" flags = "" graphic = "a.invention" graphic_alt = "-" helptext = _("Increases units' vision when in fortresses.") [advance_iron_working] name = _("Iron Working") req1 = "Bronze Working" req2 = "Warrior Code" flags = "" graphic = "a.iron_working" graphic_alt = "-" [advance_labor_union] name = _("Labor Union") req1 = "Mass Production" req2 = "Guerilla Warfare" flags = "" graphic = "a.labor_union" graphic_alt = "-" [advance_laser] name = _("Laser") req1 = "Mass Production" req2 = "Nuclear Power" flags = "" graphic = "a.laser" graphic_alt = "-" [advance_leadership] name = _("Leadership") req1 = "Chivalry" req2 = "Gunpowder" flags = "" graphic = "a.leadership" graphic_alt = "-" [advance_literacy] name = _("Literacy") req1 = "Writing" req2 = "Code of Laws" flags = "" graphic = "a.literacy" graphic_alt = "-" [advance_machine_tools] name = _("Machine Tools") req1 = "Steel" req2 = "Tactics" flags = "" graphic = "a.machine_tools" graphic_alt = "-" [advance_magnetism] name = _("Magnetism") req1 = "Iron Working" req2 = "Physics" flags = "" graphic = "a.magnetism" graphic_alt = "-" helptext = _("Allows establishing one more trade route from each city.") [advance_map_making] name = _("Map Making") req1 = "Alphabet" req2 = "None" flags = "" graphic = "a.map_making" graphic_alt = "-" [advance_masonry] name = _("Masonry") req1 = "None" req2 = "None" flags = "" graphic = "a.masonry" graphic_alt = "-" [advance_mass_production] name = _("Mass Production") req1 = "Automobile" req2 = "The Corporation" graphic = "a.mass_production" graphic_alt = "-" helptext = _("Increases the population's contribution to pollution.") [advance_mathematics] name = _("Mathematics") req1 = "Alphabet" req2 = "Masonry" flags = "" graphic = "a.mathematics" graphic_alt = "-" [advance_medicine] name = _("Medicine") req1 = "Philosophy" req2 = "Trade" flags = "" graphic = "a.medicine" graphic_alt = "-" [advance_metallurgy] name = _("Metallurgy") req1 = "Gunpowder" req2 = "University" flags = "" graphic = "a.metallurgy" graphic_alt = "-" [advance_miniaturization] name = _("Miniaturization") req1 = "Machine Tools" req2 = "Electronics" flags = "" graphic = "a.miniaturization" graphic_alt = "-" [advance_mobile_warfare] name = _("Mobile Warfare") req1 = "Automobile" req2 = "Tactics" flags = "" graphic = "a.mobile_warfare" graphic_alt = "-" [advance_monarchy] name = _("Monarchy") req1 = "Ceremonial Burial" req2 = "Code of Laws" flags = "" graphic = "a.monarchy" graphic_alt = "-" [advance_monotheism] name = _("Monotheism") req1 = "Philosophy" req2 = "Polytheism" flags = "" graphic = "a.monotheism" graphic_alt = "-" [advance_mysticism] name = _("Mysticism") req1 = "Ceremonial Burial" req2 = "None" flags = "" graphic = "a.mysticism" graphic_alt = "-" helptext = _("Improves the effect of Temples.") [advance_navigation] name = _("Navigation") req1 = "Seafaring" req2 = "Astronomy" flags = "" graphic = "a.navigation" graphic_alt = "-" [advance_nuclear_fission] name = _("Nuclear Fission") req1 = "Mass Production" req2 = "Atomic Theory" flags = "" graphic = "a.nuclear_fission" graphic_alt = "-" [advance_nuclear_power] name = _("Nuclear Power") req1 = "Nuclear Fission" req2 = "Electronics" flags = "" graphic = "a.nuclear_power" graphic_alt = "-" helptext = _("Gives sea units one extra move.") [advance_philosophy] name = _("Philosophy") req1 = "Mysticism" req2 = "Literacy" flags = "Bonus_Tech" bonus_message = _("Great philosophers from all the world join \ your civilization: you learn %s immediately.") graphic = "a.philosophy" graphic_alt = "-" [advance_physics] name = _("Physics") req1 = "Literacy" req2 = "Navigation" flags = "" graphic = "a.physics" graphic_alt = "-" [advance_plastics] name = _("Plastics") req1 = "Refining" req2 = "Space Flight" graphic = "a.plastics" graphic_alt = "-" helptext = _("Increases the population's contribution to pollution.") [advance_polytheism] name = _("Polytheism") req1 = "Horseback Riding" req2 = "Ceremonial Burial" flags = "" graphic = "a.polytheism" graphic_alt = "-" [advance_pottery] name = _("Pottery") req1 = "None" req2 = "None" flags = "" graphic = "a.pottery" graphic_alt = "-" [advance_radio] name = _("Radio") req1 = "Flight" req2 = "Electricity" flags = "" graphic = "a.radio" graphic_alt = "-" helptext = _("Allows Workers and Engineers to build airbases and buoys.") [advance_railroad] name = _("?tech:Railroad") req1 = "Steam Engine" req2 = "Bridge Building" flags = "" graphic = "a.railroad" graphic_alt = "-" helptext = _("\ Allows Settlers, Workers and Engineers to upgrade roads to railroads.\ "), _("\ Decreases one-time revenue from new trade routes.\ ") [advance_recycling] name = _("Recycling") req1 = "Mass Production" req2 = "Democracy" flags = "" graphic = "a.recycling" graphic_alt = "-" [advance_refining] name = _("Refining") req1 = "Chemistry" req2 = "The Corporation" flags = "" graphic = "a.refining" graphic_alt = "-" [advance_refrigeration] name = _("Refrigeration") req1 = "Sanitation" req2 = "Electricity" flags = "" graphic = "a.refrigeration" graphic_alt = "-" helptext = _("\ Allows Settlers, Workers and Engineers to upgrade irrigation systems \ to farmland.\ ") [advance_robotics] name = _("Robotics") req1 = "Mobile Warfare" req2 = "Computers" flags = "" graphic = "a.robotics" graphic_alt = "-" [advance_rocketry] name = _("Rocketry") req1 = "Advanced Flight" req2 = "Electronics" flags = "" graphic = "a.rocketry" graphic_alt = "-" [advance_sanitation] name = _("Sanitation") req1 = "Engineering" req2 = "Medicine" flags = "" graphic = "a.sanitation" graphic_alt = "-" [advance_seafaring] name = _("Seafaring") req1 = "Pottery" req2 = "Map Making" flags = "" graphic = "a.seafaring" graphic_alt = "-" [advance_space_flight] name = _("Space Flight") req1 = "Computers" req2 = "Rocketry" flags = "" graphic = "a.space_flight" graphic_alt = "-" [advance_stealth] name = _("Stealth") req1 = "Superconductors" req2 = "Advanced Flight" flags = "" graphic = "a.stealth" graphic_alt = "-" [advance_steam_engine] name = _("Steam Engine") req1 = "Physics" req2 = "Invention" flags = "" graphic = "a.steam_engine" graphic_alt = "-" [advance_steel] name = _("Steel") req1 = "Electricity" req2 = "Industrialization" flags = "" graphic = "a.steel" graphic_alt = "-" [advance_superconductors] name = _("Superconductors") req1 = "Nuclear Power" req2 = "Laser" flags = "" graphic = "a.superconductors" graphic_alt = "-" [advance_tactics] name = _("Tactics") req1 = "Conscription" req2 = "Leadership" flags = "" graphic = "a.tactics" graphic_alt = "-" [advance_the_corporation] name = _("The Corporation") req1 = "Economics" req2 = "Industrialization" flags = "" graphic = "a.the_corporation" graphic_alt = "-" helptext = _("Allows establishing one more trade route from each city.") [advance_the_republic] name = _("The Republic") req1 = "Code of Laws" req2 = "Literacy" flags = "" graphic = "a.the_republic" graphic_alt = "-" [advance_the_wheel] name = _("The Wheel") req1 = "Horseback Riding" req2 = "None" flags = "" graphic = "a.the_wheel" graphic_alt = "-" [advance_theology] name = _("Theology") req1 = "Feudalism" req2 = "Monotheism" flags = "" graphic = "a.theology" graphic_alt = "-" helptext = _("Improves the effect of Cathedrals.") [advance_theory_of_gravity] name = _("Theory of Gravity") req1 = "Astronomy" req2 = "University" flags = "" graphic = "a.theory_of_gravity" graphic_alt = "-" [advance_trade] name = _("Trade") req1 = "Currency" req2 = "Code of Laws" flags = "" graphic = "a.trade" graphic_alt = "-" [advance_university] name = _("University") req1 = "Mathematics" req2 = "Philosophy" flags = "" graphic = "a.university" graphic_alt = "-" [advance_warrior_code] name = _("Warrior Code") req1 = "None" req2 = "None" flags = "" graphic = "a.warrior_code" graphic_alt = "-" [advance_writing] name = _("Writing") req1 = "Alphabet" req2 = "None" flags = "" graphic = "a.writing" graphic_alt = "-" ENDREP DELTA SVNƒËƒË€ƒË ; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes, ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. ; Note that the freeciv AI may not cope well with anything more ; than minor changes. [datafile] description="Experimental web-client tile_type data for Freeciv" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 [control] ; Names for custom terrain flags. There can be up to 8 of these. ; name = rule name; In some circumstances user may see this ; as part of some sentences, so try to make it descriptive ; and sensible. ; helptxt = displayed in the help for terrains with this flag (optional) flags = { "name", "helptxt" _("Oil"), _("Has Oil Well instead of Mine.") _("NoPollution"), _("No Pollution nor Fallout appear here.") } ; Names for custom extra flags. There can be up to 8 of these. ; name = rule name; In some circumstances user may see this ; as part of some sentences, so try to make it descriptive ; and sensible. ; helptxt = displayed in the help for extra types with this flag ; (optional) extra_flags = { "name", "helptxt" _("ParadropFrom"), _("Units can paradrop from this tile.") _("DiplomatDefense"), _("Diplomatic units get a 25% defense bonus in diplomatic fights.") } [parameters] ; Percentage of "land" tiles required to be adjacent to a water tile before ; it may be "reclaimed" into a land tile (0-101; 0=anywhere, default 101=nowhere) ocean_reclaim_requirement = 30 ; Percentage of "water" tiles required to be adjacent to a land tile before ; it may be "channeled" into a water tile (0-101; 0=anywhere, default 101=nowhere) land_channel_requirement = 10 ; Percentage of unfrozen tiles (no "Frozen" flag) required to be adjacent ; to a frozen tile before it can thaw (0-101; 0=anywhere, default 101=nowhere) thaw_requirement = 0 ; Percentage of frozen tiles ("Frozen" flag) required to be adjacent to an ; unfrozen tile before it can freeze (0-101; 0=anywhere, default 101=nowhere) freeze_requirement = 0 ; Bodies of water up to this size are considered freshwater lakes, if there is ; also terrain type(s) with flag "FreshWater" in the ruleset. lake_max_size = 14 ; How many native tiles first startunit must be able to reach. ; 0 to disable check. min_start_native_area = 0 ; How many fragments each movement point has. ; For example road movement costs are relative to this. move_fragments = 3 ; How many move_fragments IgTer unit movement costs igter_cost = 1 ; Whether diagonal movement has increased cost ; The cost increase is more accurate with larger values for move_fragments pythagorean_diagonal = FALSE ; There is no resources in the middle of the oceans, only near coast ocean_resources = FALSE ; /* <-- avoid gettext warnings ; ; The individual terrain types, one per section. ; Roughly sorted by identifier. ; The actual tag used (the * in [terrain_*]) must be unique for each terrain, ; and may be used in debug output when reading this file. ; ; Notes: ; ; name = translatable name as seen by user; if "unused", it is ; not used, but is included for conversion and/or the ; editor. ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in ; savegames must not change, use this when renaming a ; terrain after a ruleset has been released. ; graphic = preferred graphic; Tilespec [tile_*] section ; with 'tag' matching this will be used. ; graphic_alt = alternate graphic. When no tilespec 'tag' matching ; preferred graphic is not found, this will be used. ; Otherwise may be "-" ; identifier = single-character identifier used in savegames. This ; must be unique for each terrain. ; class = Terrain class terrain belongs to: "Land" or "Oceanic" ; movement_cost = in whole movement points, not move_fragments; ; typically 1 to 3 ; defense_bonus = percent added to defense; typically 0% to 200% ; food = normal food production ; shield = normal shield production ; trade = normal trade production ; resources = list of possible resources on this terrain ; road_food_incr_pct = percent of road food_incr applied to this terrain ; road_shield_incr_pct = percent of road shield_incr applied to this terrain ; road_trade_incr_pct = percent of road trade_incr applied to this terrain ; base_time = time to build bases; if 0, cannot build any bases. ; Nonzero values only affect extras with build_time 0. ; road_time = time to build roads; if 0, cannot build any roads. ; Nonzero values only affect extras with build_time 0. ; irrigation_result = result of irrigation; one of: ; "no" -- cannot irrigate ; "yes" -- can irrigate ; terrain section -- irrigation changes to that terrain ; irrigation_food_incr = increment to food if tile is irrigated ; irrigation_time = time to irrigate; if 0, cannot irrigate ; Nonzero values only affect extras with build_time 0. ; mining_result = result of mining; one of: ; "no" -- cannot mine ; "yes" -- can mine ; terrain section -- mining changes to that terrain ; mining_shield_incr = increment to shields if tile is mined ; mining_time = time to mine; if 0, cannot mine ; Nonzero values only affect extras with build_time 0. ; transform_result = result of transformation; one of: ; "no" -- cannot transform ; terrain section -- transformation changes to that ; terrain ; transform_time = time to transform; if 0, cannot transform ; pillage_time = time to pillage extra from the tile (0 = impossible) ; Nonzero values only affect extras with removal_time 0. ; clean_pollution_time = time to clean pollution (0 = impossible) ; Nonzero values only affect extras with removal_time 0. ; clean_fallout_time = time to clean fallout (0 = impossible) ; Nonzero values only affect extras with removal_time 0. ; animal = unit type that can appear as animal on the terrain ; warmer_wetter_result = result of global warming for wet terrains; one of: ; "no" -- no change; does not count for warming ; "yes" -- no change; counts for warming ; terrain section -- warming changes to that terrain ; warmer_drier_result = result of global warming for dry terrains; ; see warmer_wetter_result ; cooler_wetter_result = result of nuclear winter for wet terrains; ; see warmer_wetter_result ; cooler_drier_result = result of nuclear winter for dry terrains; ; see warmer_wetter_result ; native_to = List of unit classes that can move here ; flags = General flags for this terrain. List taken from the ; following, and/or any user flags defined above: ; - NoBarbs = Barbarians will not be spawned here. ; - NoCities = Cities may not be built or found on this terrain. ; - Starter = Players will only be started on "Starter" terrain. ; (Currently this cannot be Oceanic terrain.) ; - CanHaveRiver = Set to 1 if this terrain can have river on it (the ; actual chance of river generation is controlled ; separately). ; - UnsafeCoast = This terrain does not provide a safe voyage for ; units with flag "Trireme" ; - FreshWater = This terrain is used for small bodies of water. ; If this becomes adjacent to non-FreshWater terrain, ; the whole contiguous FreshWater area will be flooded ; with the non-FreshWater terrain. ; - NotGenerated = Map generator never places this terrain type. It can ; be added from editor only, or by ingame events ; (lua scripting) ; - NoZoc = Units on this terrain are not generating or subject ; to zoc ; - NoFortify = Units cannot fortify on this terrain ; - Frozen = Frozen/polar terrain. For water tiles, Frozen terrain ; is generated near poles. Conversion between frozen ; and unfrozen terrain can be controlled with ; thaw_requirement/freeze_requirement, and Frozen ; terrain is shown differently on the overview map. ; property_* = specific property % values used by mapgen. Most ; terrains will have 0 for most values. Properties ; other than ocean_depth are only used for land tiles. ; - mountainous = degree to which this terrain is mountainous ; - green = how much life this terrain has ; - foliage = how much thick undergrowth the terrain has ; - tropical = how "tropical" the terrain is (high temperature) ; - temperate = how "temperate" the terrain is (med temperature) ; - cold = how "cold" the terrain is (low temperature) ; - frozen = how "frozen" the terrain is (very low temperature) ; (does not necessarily have to have the "Frozen" flag) ; - wet = how "wet" the terrain is (moisture) ; - dry = how "dry" the terrain is (moisture) ; - ocean_depth = the depth of an ocean, as an average level ; color.r = color of the terrain (red value) ; color.g = color of the terrain (green value) ; color.b = color of the terrain (blue value) ; helptext = optional help text string; should escape all raw ; newlines so that xgettext parsing works ; ; */ <-- avoid gettext warnings [terrain_inaccesible] name = _("Inaccessible") graphic = "inaccessible" graphic_alt = "arctic" identifier = "i" class = "Land" movement_cost = 0 defense_bonus = 0 food = 0 shield = 0 trade = 0 road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 0 road_time = 0 irrigation_result = "no" irrigation_food_incr = 0 irrigation_time = 0 mining_result = "no" mining_shield_incr = 0 mining_time = 0 transform_result = "no" transform_time = 0 pillage_time = 0 clean_pollution_time = 0 clean_fallout_time = 0 animal = "None" warmer_wetter_result = "no" warmer_drier_result = "no" cooler_wetter_result = "no" cooler_drier_result = "no" flags = "NotGenerated", "NoPollution", "NoCities", "UnsafeCoast", "Frozen" color.r = 25 color.g = 25 color.b = 25 helptext = _("\ No unit can enter this terrain, nor can any city work its tiles.\ ") [terrain_lake] name = _("Lake") graphic = "lake" graphic_alt = "coast" identifier = "+" class = "Oceanic" movement_cost = 1 defense_bonus = 0 food = 1 shield = 0 trade = 2 resources = "Fish" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 0 irrigation_result = "no" irrigation_food_incr = 0 irrigation_time = 0 mining_result = "no" mining_shield_incr = 0 mining_time = 0 transform_result = "Swamp" transform_time = 36 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "no" warmer_drier_result = "Swamp" cooler_wetter_result = "Glacier" cooler_drier_result = "Tundra" native_to = "Sea", "Air", "Missile", "Helicopter", "Trireme" flags = "NoCities", "NoBarbs", "NoPollution", "FreshWater", "NoZoc", "NoFortify" property_ocean_depth = 0 color.r = 46 color.g = 120 color.b = 182 helptext = _("\ Lakes are substantial bodies of fresh water.\ ") [terrain_ocean] name = _("Ocean") graphic = "coast" graphic_alt = "-" identifier = " " class = "Oceanic" movement_cost = 1 defense_bonus = 0 food = 1 shield = 0 trade = 2 resources = "Fish", "Whales" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 0 irrigation_result = "no" irrigation_food_incr = 0 irrigation_time = 0 mining_result = "no" mining_shield_incr = 0 mining_time = 0 transform_result = "Swamp" transform_time = 36 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "no" warmer_drier_result = "Swamp" cooler_wetter_result = "Glacier" cooler_drier_result = "Glacier" native_to = "Sea", "Air", "Missile", "Helicopter", "Trireme" flags = "NoCities", "NoPollution", "UnsafeCoast", "NoZoc", "NoFortify" property_ocean_depth = 32 color.r = 0 color.g = 46 color.b = 137 helptext = _("\ Shallow oceans are mostly found near coastlines, and are often rich\ sources of food and other resources.\ ") [terrain_deep_ocean] name = _("Deep Ocean") graphic = "floor" graphic_alt = "coast" identifier = ":" class = "Oceanic" movement_cost = 1 defense_bonus = 0 food = 1 shield = 0 trade = 2 ;resources = "none" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 0 irrigation_result = "no" irrigation_food_incr = 0 irrigation_time = 0 mining_result = "no" mining_shield_incr = 0 mining_time = 0 transform_result = "no" transform_time = 0 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "no" warmer_drier_result = "no" cooler_wetter_result = "no" cooler_drier_result = "no" native_to = "Sea", "Air", "Missile", "Helicopter" flags = "NoCities", "NoPollution", "UnsafeCoast", "NoZoc", "NoFortify" property_ocean_depth = 87 color.r = 0 color.g = 33 color.b = 129 helptext = _("\ Deep oceans cover much of the world away from coastlines, and only\ seaworthy units (not including Triremes) can travel on them.\ ") [terrain_glacier] name = _("Glacier") graphic = "arctic" graphic_alt = "-" identifier = "a" class = "Land" movement_cost = 2 defense_bonus = 0 food = 0 shield = 0 trade = 0 resources = "Ivory", "Oil" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 4 irrigation_result = "no" irrigation_food_incr = 0 irrigation_time = 0 mining_result = "yes" mining_shield_incr = 1 mining_time = 10 transform_result = "Tundra" transform_time = 24 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "Tundra" warmer_drier_result = "Tundra" cooler_wetter_result = "no" cooler_drier_result = "no" native_to = "Land", "Air", "Missile", "Helicopter" flags = "NoBarbs", "NoCities", "CanHaveRiver", "Oil", "Frozen" property_frozen = 100 color.r = 232 color.g = 232 color.b = 232 helptext = _("\ Glaciers are found only in the most northerly or southerly\ reaches of the world. They are very cold, and hence difficult to\ work with.\ "), _("\ Oil Wells can be built when Refining is known.\ ") [terrain_desert] name = _("Desert") graphic = "desert" graphic_alt = "-" identifier = "d" class = "Land" movement_cost = 1 defense_bonus = 0 food = 0 shield = 1 trade = 0 resources = "Oasis", "Oil" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 100 base_time = 1 road_time = 2 irrigation_result = "yes" irrigation_food_incr = 1 irrigation_time = 5 mining_result = "yes" mining_shield_incr = 1 mining_time = 5 transform_result = "Plains" transform_time = 24 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "Grassland" warmer_drier_result = "no" cooler_wetter_result = "Plains" cooler_drier_result = "Tundra" native_to = "Land", "Air", "Missile", "Helicopter" flags = "CanHaveRiver", "Oil" property_dry = 100 property_tropical = 50 property_temperate = 20 color.r = 214 color.g = 185 color.b = 106 helptext = _("\ Deserts are regions of extreme dryness, making agriculture and\ trade very difficult.\ "), _("\ Oil Wells can be built when Construction is known.\ ") [terrain_forest] name = _("Forest") graphic = "forest" graphic_alt = "-" identifier = "f" class = "Land" movement_cost = 2 defense_bonus = 50 food = 1 shield = 2 trade = 0 resources = "Pheasant", "Silk" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 4 irrigation_result = "Plains" irrigation_food_incr = 0 irrigation_time = 5 mining_result = "Swamp" mining_shield_incr = 0 mining_time = 15 transform_result = "Grassland" transform_time = 24 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "Jungle" warmer_drier_result = "Plains" cooler_wetter_result = "Swamp" cooler_drier_result = "Tundra" native_to = "Land", "Air", "Missile", "Helicopter" flags = "Starter", "CanHaveRiver" property_cold = 20 property_wet = 20 property_foliage = 50 property_temperate = 50 color.r = 43 color.g = 107 color.b = 19 helptext = _("\ Forests are densely wooded, making agriculture somewhat\ problematic.\ ") [terrain_grassland] name = _("Grassland") graphic = "grassland" graphic_alt = "-" identifier = "g" class = "Land" movement_cost = 1 defense_bonus = 0 food = 2 shield = 0 trade = 0 resources = "Resources" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 100 base_time = 1 road_time = 2 irrigation_result = "yes" irrigation_food_incr = 1 irrigation_time = 5 mining_result = "Forest" mining_shield_incr = 0 mining_time = 10 transform_result = "Hills" transform_time = 24 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "Lake" warmer_drier_result = "Desert" cooler_wetter_result = "Glacier" cooler_drier_result = "Tundra" native_to = "Land", "Air", "Missile", "Helicopter" flags = "Starter", "CanHaveRiver" property_green = 50 property_temperate = 50 color.r = 11 color.g = 138 color.b = 4 helptext = _("\ Grasslands afford exceptional agricultural opportunities.\ ") [terrain_hills] name = _("Hills") graphic = "hills" graphic_alt = "-" identifier = "h" class = "Land" movement_cost = 2 defense_bonus = 100 food = 1 shield = 0 trade = 0 resources = "Coal", "Wine" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 4 irrigation_result = "yes" irrigation_food_incr = 1 irrigation_time = 10 mining_result = "yes" mining_shield_incr = 3 mining_time = 10 transform_result = "Plains" transform_time = 24 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "no" warmer_drier_result = "no" cooler_wetter_result = "no" cooler_drier_result = "no" native_to = "Land", "Air", "Missile", "Helicopter" flags = "Starter", "CanHaveRiver" property_green = 50 property_mountainous = 30 color.r = 24 color.g = 97 color.b = 5 helptext = _("\ In addition to being amenable to agriculture, Hills are frequently\ rich in resources.\ ") [terrain_jungle] name = _("Jungle") graphic = "jungle" graphic_alt = "-" identifier = "j" class = "Land" movement_cost = 2 defense_bonus = 50 food = 1 shield = 0 trade = 0 resources = "Gems", "Fruit" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 4 irrigation_result = "Grassland" irrigation_food_incr = 0 irrigation_time = 15 mining_result = "Forest" mining_shield_incr = 0 mining_time = 15 transform_result = "Plains" transform_time = 24 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "Lake" warmer_drier_result = "Desert" cooler_wetter_result = "Swamp" cooler_drier_result = "Tundra" native_to = "Land", "Air", "Missile", "Helicopter" flags = "CanHaveRiver" property_foliage = 50 property_tropical = 50 property_wet = 50 color.r = 55 color.g = 156 color.b = 38 helptext = _("\ Jungles are densely overgrown, making agriculture somewhat\ problematic.\ ") [terrain_mountains] name = _("Mountains") graphic = "mountains" graphic_alt = "-" identifier = "m" class = "Land" movement_cost = 3 defense_bonus = 200 food = 0 shield = 1 trade = 0 resources = "Gold", "Iron" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 6 irrigation_result = "no" irrigation_food_incr = 0 irrigation_time = 0 mining_result = "yes" mining_shield_incr = 1 mining_time = 10 transform_result = "Hills" transform_time = 24 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "no" warmer_drier_result = "no" cooler_wetter_result = "no" cooler_drier_result = "no" native_to = "Land", "Air", "Missile", "Helicopter" flags = "CanHaveRiver" property_mountainous = 70 color.r = 129 color.g = 127 color.b = 118 helptext = _("\ Mountains are regions of extreme altitude, making agriculture and\ trade very difficult.\ ") [terrain_plains] name = _("Plains") graphic = "plains" graphic_alt = "-" identifier = "p" class = "Land" movement_cost = 1 defense_bonus = 0 food = 1 shield = 1 trade = 0 resources = "Buffalo", "Wheat" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 100 base_time = 1 road_time = 2 irrigation_result = "yes" irrigation_food_incr = 1 irrigation_time = 5 mining_result = "Forest" mining_shield_incr = 0 mining_time = 15 transform_result = "Grassland" transform_time = 24 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "Lake" warmer_drier_result = "Desert" cooler_wetter_result = "Glacier" cooler_drier_result = "Tundra" native_to = "Land", "Air", "Missile", "Helicopter" flags = "Starter", "CanHaveRiver" property_green = 50 property_temperate = 50 color.r = 122 color.g = 156 color.b = 46 helptext = _("\ Plains are very broad, sparse regions, which makes trade slightly\ inconvenient.\ ") [terrain_swamp] name = _("Swamp") graphic = "swamp" graphic_alt = "-" identifier = "s" class = "Land" movement_cost = 2 defense_bonus = 50 food = 1 shield = 0 trade = 0 resources = "Peat", "Spice" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 4 irrigation_result = "Grassland" irrigation_food_incr = 0 irrigation_time = 15 mining_result = "Forest" mining_shield_incr = 0 mining_time = 15 transform_result = "Lake" transform_time = 36 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "Lake" warmer_drier_result = "Desert" cooler_wetter_result = "Glacier" cooler_drier_result = "Tundra" native_to = "Land", "Air", "Missile", "Helicopter" flags = "CanHaveRiver" property_wet = 100 property_tropical = 10 property_temperate = 10 property_cold = 10 color.r = 48 color.g = 85 color.b = 97 helptext = _("\ Swamps suffer from an over-abundance of water, making agriculture\ somewhat problematic.\ ") [terrain_tundra] name = _("Tundra") graphic = "tundra" graphic_alt = "-" identifier = "t" class = "Land" movement_cost = 1 defense_bonus = 0 food = 1 shield = 0 trade = 0 resources = "Game", "Furs" road_food_incr_pct = 0 road_shield_incr_pct = 0 road_trade_incr_pct = 0 base_time = 1 road_time = 2 irrigation_result = "yes" irrigation_food_incr = 1 irrigation_time = 5 mining_result = "no" mining_shield_incr = 0 mining_time = 0 transform_result = "Desert" transform_time = 24 pillage_time = 1 clean_pollution_time = 3 clean_fallout_time = 3 animal = "None" warmer_wetter_result = "Lake" warmer_drier_result = "Desert" cooler_wetter_result = "Glacier" cooler_drier_result = "no" native_to = "Land", "Air", "Missile", "Helicopter" flags = "Starter", "NoBarbs", "CanHaveRiver" property_cold = 50 color.r = 188 color.g = 188 color.b = 188 helptext = _("\ Tundra are broad, cold regions, fit for some agriculture and little\ else.\ ") ; /* <-- avoid gettext warnings ; ; Resource types: ; ; The actual tag used (the * in [resource_*]) must be unique for each resource, ; and may be used in debug output when reading this file. ; ; Notes: ; ; extra = name of the extra this resource section is part of ; identifier = single-character identifier used in old savegames. This ; must be unique for each resource, and changing it will ; break loading those old savegames. ; food = increased food production ; shield = increased shield production ; trade = increased trade production ; ; */ <-- avoid gettext warnings [resource_gold] extra = "Gold" identifier = "$" trade = 6 # glacier, hills, mountains. [resource_iron] extra = "Iron" identifier = "/" shield = 3 # mountains. [resource_game] extra = "Game" identifier = "e" food = 2 shield = 1 # tundra. [resource_furs] extra = "Furs" identifier = "u" food = 1 trade = 3 # tundra-only (beaver pelts). [resource_coal] extra = "Coal" identifier = "c" shield = 2 # hills. [resource_fish] extra = "Fish" identifier = "y" food = 2 # ocean. [resource_fruit] extra = "Fruit" identifier = "f" food = 3 trade = 1 # jungle. [resource_gems] extra = "Gems" identifier = "g" trade = 4 # jungle. ; "h" reserved for strategic horses [resource_buffalo] extra = "Buffalo" identifier = "b" shield = 2 # plains (horses => buffalo => cattle). [resource_wheat] extra = "Wheat" identifier = "j" food = 2 # plains. ; "k" reserved for (cane) sugar ; "l" reserved for tobacco ; "m" reserved for marble [resource_oasis] extra = "Oasis" identifier = "o" food = 3 # desert. [resource_peat] extra = "Peat" identifier = "a" shield = 4 # swamp (petroleum => peat => petroleum). [resource_pheasant] extra = "Pheasant" identifier = "p" food = 2 # forest, forested. ; "r" reserved for rubber [resource_bonus] extra = "Resources" identifier = "r" shield = 1 # grassland. [resource_icy_ivory] extra = "Ivory" identifier = "i" food = 1 shield = 1 trade = 4 # glacier (seals => walrus). [resource_silk] extra = "Silk" identifier = "s" trade = 3 # forest, wooded. [resource_spice] extra = "Spice" identifier = "t" food = 2 trade = 4 # swamp-only. ; "u" reserved for uranium [resource_whales] extra = "Whales" identifier = "v" food = 1 shield = 1 # ocean (sea). [resource_wine] extra = "Wine" identifier = "w" trade = 4 # hills-only. [resource_oil] extra = "Oil" identifier = "x" shield = 3 ; glacier used to have 4 # glacier, desert [extraui] ; Player visible names of the base gui types. ui_name_base_fortress = _("?gui_type:Build Fortress/Buoy") ui_name_base_airbase = _("?gui_type:Build Airbase") ; /* <-- avoid gettext warnings ; ; Each extra, including bases, roads, and resource, must have a section here. ; Bases, roads, and resources have additional sections for their specific features. ; ; ; Extra types: ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in ; savegames must not change, use this when renaming ; an extra after a ruleset has been released. ; category = How UI should categorize this extra. One of ; "Infra", "Natural", "Nuisance", "Resource", or "Bonus" ; causes = events that can create extra type. ; "Irrigation", "Mine", "Hut", "Pollution", "Fallout", ; "Base", "Road", "Resource", or "Appear" ; rmcauses = events that can remove extra type. ; "CleanPollution", "CleanFallout", "Pillage", or ; "Disappear" ; graphic = tag specifying preferred graphic ; graphic_alt = tag for alternate graphic if preferred graphic is ; not present. Can use eg "-" for no alternate ; graphic ; activity_gfx = tag specifying graphic for unit building extra ; (can be "none") ; act_gfx_alt = tag for alternative graphic for unit building extra ; act_gfx_alt2 = tag for second alternative graphic for unit building extra ; rmact_gfx = tag specifying graphic for unit removing extra ; (can be "none") ; rmact_gfx_alt = tag for alternative graphic for unit removing extra ; reqs = requirements to build the extra (see effects.ruleset ; and README.effects for help on requirements) ; rmreqs = requirements to remove the extra ; appearance_reqs = spontaneous appearance requirements ; disappearance_reqs = spontaneous disappearance requirements ; buildable = Can extra be built? Defaults to TRUE if extra has ; any causes indicating it can result from worker ; activity. ; build_time = how long it takes a unit to build this extra. ; Value of 0 (default) means that terrain- and ; build activity specific time is used instead. ; build_time_factor = This setting take effect only if build_time is 0. ; Terrain and activity specific build time will be ; multiplied by this value (default 1) ; removal_time = how long it takes a unit to remove this extra. ; Value of 0 (default) means that terrain- and ; removal activity specific time is used instead. ; removal_time_factor = This setting take effect only if removal_time is 0. ; Terrain and activity specific removal time will be ; multiplied by this value (default 1) ; defense_bonus = Percent added to defense when tile has the extra ; (default none) ; appearance_chance = If extra has cause "Appear" and other requirements ; for its appearance are fulfilled, this tells how big ; chance it has to appear each turn. The chance is 1/10000 ; times this value. ; disappearance_chance = If extra has rmcause "Disappear" and other requirements ; for its disappearance are fulfilled, this tells how big ; chance it has to disappear each turn. The chance is 1/10000 ; times this value. ; native_to = List of unit classes that are considered to ; be inside the extra when they are on same tile ; conflicts = List of extras that cannot be on the same tile. ; Bases with non-zero border_sq automatically conflict ; with each other. ; hidden_by = List of extra types that will make this extra ; type not to show on UI if both present. ; flags ; - "NativeTile" = Native units consider tile native regardless of ; terrain ; - "Refuel" = Native units can use tile as refuel point ; - "TerrChangeRemoves" = Extra gets removed when ever terrain changes even ; if target terrain could support it ; - "AlwaysOnCityCenter" = City center tiles always have this extra type ; regardless of its other requirements ; - "AutoOnCityCenter" = City center tiles will automatically have this ; extra type if the player can build it ; - "ConnectLand" = Road style gfx on Oceanic tiles are drawn to ; connect to adjacent Land tiles even if they have ; no extra. This affects appearance only ; - "GlobalWarming" = Instances of this extra on map count towards ; Global Warming ; - "NuclearWinter" = Instances of this extra on map count towards ; Nuclear Winter ; - "ShowFlag" = Draw owner's flag ; - "NaturalDefense" = Extra's defense bonus will be counted to "Natural" ; defense layer. The defense bonus of all the extras ; located at the tile, native to defending unit, ; is calculated as a 1 + sum of bonuses from the extras ; on the default "Fortification" defense layer multiplied ; by the 1 + sum of bonuses from the extras on the ; "Natural" layer. ; - "NoStackDeath" = Units inside do not die all at once when attacked ; helptext = optional help text string; should escape all raw ; newlines so that xgettext parsing works ; ; */ <-- avoid gettext warnings [extra_irrigation] name = _("Irrigation") category = "Infra" causes = "Irrigation" rmcauses = "Pillage" graphic = "tx.irrigation" graphic_alt = "-" activity_gfx = "unit.irrigation" act_gfx_alt = "unit.irrigate" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" build_time = 0 removal_time = 0 conflicts = "Mine", "Oil Well" hidden_by = "Farmland" [extra_mine] name = _("Mine") category = "Infra" causes = "Mine" rmcauses = "Pillage" graphic = "tx.mine" graphic_alt = "-" activity_gfx = "unit.mine" act_gfx_alt = "unit.plant" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range", "present" "TerrainFlag", "Oil", "Local", FALSE } build_time = 0 removal_time = 0 conflicts = "Irrigation", "Farmland" [extra_oil_well] name = _("Oil Well") category = "Infra" causes = "Mine" rmcauses = "Pillage" graphic = "tx.oil_mine" graphic_alt = "tx.mine" activity_gfx = "unit.oil_mine" act_gfx_alt = "unit.mine" act_gfx_alt2 = "unit.plant" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range" "TerrainFlag", "Oil", "Local" } build_time = 0 removal_time = 0 conflicts = "Irrigation", "Farmland" [extra_pollution] name = _("Pollution") category = "Nuisance" causes = "Pollution" rmcauses = "CleanPollution" graphic = "tx.pollution" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "unit.pollution" rmact_gfx_alt = "-" reqs = { "type", "name", "range", "present" "TerrainFlag", "NoPollution", "Local", FALSE } removal_time = 0 flags = "GlobalWarming" [extra_hut] name = _("Minor Tribe Village") rule_name = "Hut" category = "Bonus" causes = "Hut" ;rmcauses = "" graphic = "tx.village" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range" "TerrainClass", "Land", "Local" } helptext = _("\ Villages (also called \"huts\") are primitive communities spread \ across the world at the beginning of the game. Any land unit can enter \ a village, making the village disappear and deliver a random response. \ If the village proves hostile, it could produce barbarians or the unit \ entering may simply be destroyed. If they are friendly, the player \ could receive gold, a new technology, a military unit (occasionally a \ settler; and sometimes a unit that the player cannot yet create), or \ even a new city.\ "), _("\ Later in the game, helicopters may also enter villages, but overflight \ by other aircraft will cause the villagers to take fright and disband.\ ") [extra_farmland] name = _("Farmland") category = "Infra" causes = "Irrigation" rmcauses = "Pillage" graphic = "tx.farmland" graphic_alt = "-" activity_gfx = "unit.farmland" act_gfx_alt = "unit.irrigation" act_gfx_alt2 = "unit.irrigate" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range" "Tech", "Refrigeration", "Player" "Extra", "Irrigation", "Local" } build_time = 0 removal_time = 0 conflicts = "Mine", "Oil Well" [extra_fallout] name = _("Fallout") category = "Nuisance" causes = "Fallout" rmcauses = "CleanFallout" graphic = "tx.fallout" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "unit.fallout" rmact_gfx_alt = "-" reqs = { "type", "name", "range", "present" "TerrainFlag", "NoPollution", "Local", FALSE } removal_time = 0 flags = "NuclearWinter" [extra_fortress] name = _("Fortress") category = "Infra" causes = "Base" rmcauses = "Pillage" graphic = "base.fortress" graphic_alt = "-" activity_gfx = "unit.fortress" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range", "present" "Tech", "Construction", "Player", TRUE "TerrainClass", "Land", "Local", TRUE "UnitFlag", "Settlers", "Local", TRUE "CityTile", "Center", "Local", FALSE } build_time = 3 removal_time = 0 defense_bonus = 100 native_to = "Land" flags = "DiplomatDefense", "NoStackDeath" helptext = _("\ Fortresses improve defense for land units. Among other effects, a land \ unit remaining in a fortress for a whole turn without moving recovers \ a quarter of its hit points. With Invention, fortresses gain watchtowers \ from which land units can see further afield.\ ") [extra_airbase] name = _("Airbase") category = "Infra" causes = "Base" rmcauses = "Pillage" graphic = "base.airbase" graphic_alt = "-" activity_gfx = "unit.airbase" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range", "present" "Tech", "Radio", "Player", TRUE "TerrainClass", "Land", "Local", TRUE "UnitFlag", "Airbase", "Local", TRUE "CityTile", "Center", "Local", FALSE } build_time = 3 removal_time = 0 native_to = "Air", "Helicopter", "Missile" flags = "Refuel", "ParadropFrom", "NoStackDeath" helptext = _("\ Airbases allow your air units to land and refuel. Air units in an \ airbase may be attacked by land units.\ ") [extra_buoy] name = _("Buoy") category = "Infra" causes = "Base" rmcauses = "Pillage" graphic = "base.buoy" graphic_alt = "base.fortress" activity_gfx = "unit.buoy" act_gfx_alt = "unit.fortress" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range", "present" "Tech", "Radio", "Player", TRUE "TerrainClass", "Oceanic", "Local", TRUE "UnitFlag", "Airbase", "Local", TRUE "CityTile", "Center", "Local", FALSE } build_time = 3 removal_time = 0 flags = "ShowFlag" helptext = _("\ Buoys may be built in the ocean (by units on a sea-going vessel).\ ") [extra_ruins] name = _("Ruins") category = "Bonus" ;causes = "" rmcauses = "Pillage" graphic = "extra.ruins" graphic_alt = "base.ruins" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range", "present" "TerrainClass", "Land", "Local", TRUE "CityTile", "Center", "Local", FALSE } buildable = FALSE removal_time = 0 flags = "TerrChangeRemoves" helptext = _("\ Ruins mark the former site of a city that was destroyed or abandoned. \ They have no effect on gameplay.\ ") [extra_road] name = _("Road") category = "Infra" causes = "Road" rmcauses = "Pillage" graphic = "road.road" graphic_alt = "-" activity_gfx = "unit.road" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range" "UnitFlag", "Settlers", "Local" "TerrainClass", "Land", "Local" } build_time = 0 removal_time = 0 native_to = "Land" hidden_by = "Railroad" flags = "AutoOnCityCenter" helptext = _("\ Roads allow your land units to move more quickly, and on some terrain,\ also provide a trade bonus.\ "), _("\ Building roads on river tiles requires knowledge of Bridge Building.\ City center tiles automatically get roads (unless they are on a river\ tile and you do not yet know Bridge Building).\ ") [extra_railroad] name = _("Railroad") category = "Infra" causes = "Road" rmcauses = "Pillage" graphic = "road.rail" graphic_alt = "-" activity_gfx = "unit.rail" act_gfx_alt = "unit.road" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" reqs = { "type", "name", "range" "Tech", "Railroad", "Player" "Extra", "Road", "Local" "UnitFlag", "Settlers", "Local" "TerrainClass", "Land", "Local" } build_time = 3 removal_time = 0 native_to = "Land" flags = "AutoOnCityCenter" helptext = _("\ Once you learn the Railroad technology, you may upgrade your roads\ to railroads. Units expend no movement points when moving along a\ railroad; you may ride a railroad indefinitely. (As may your enemies!)\ "), _("\ A railroad also increases any shield resources produced by a tile.\ A tile whose road is upgraded to a railroad retains any trade bonus\ from the road as well.\ "), _("\ City center tiles with roads are automatically upgraded to railroads\ when you learn the Railroad technology.\ ") [extra_river] name = _("River") category = "Natural" causes = "Road" ;rmcauses = "" graphic = "road.river" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" buildable = FALSE defense_bonus = 50 native_to = "Land" ; /* xgettext:no-c-format */ helptext = _("\ Any land terrain type may have a River on it. A River adds 1\ trade to the resources produced by that tile. It also increases a tile's\ defense factor by 50%. Finally, land units may move along a River (but\ not diagonally) for fast travel.\ "), _("\ Roads and railroads can only be built on River tiles if your\ civilization has learned Bridge Building technology.\ ") [extra_gold] name = _("Gold") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.gold" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_iron] name = _("Iron") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.iron" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_game] name = _("?animals:Game") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.tundra_game" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_furs] name = _("Furs") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.furs" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_coal] name = _("Coal") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.coal" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_fish] name = _("Fish") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.fish" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_fruit] name = _("Fruit") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.fruit" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_gems] name = _("Gems") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.gems" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_buffalo] name = _("Buffalo") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.buffalo" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_wheat] name = _("Wheat") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.wheat" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_oasis] name = _("Oasis") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.oasis" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_peat] name = _("Peat") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.peat" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_pheasant] name = _("Pheasant") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.pheasant" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_bonus] name = _("Resources") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.grassland_resources" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_ivory] name = _("Ivory") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.arctic_ivory" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_silk] name = _("Silk") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.silk" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_spice] name = _("Spice") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.spice" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_whales] name = _("Whales") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.whales" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_wine] name = _("Wine") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.wine" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" [extra_oil] name = _("Oil") category = "Resource" causes = "Resource" ;rmcauses = "" graphic = "ts.oil" graphic_alt = "-" activity_gfx = "None" act_gfx_alt = "-" act_gfx_alt2 = "-" rmact_gfx = "None" rmact_gfx_alt = "-" ; /* <-- avoid gettext warnings ; ; Base types: ; ; extra = name of the extra this base section is part of ; gui_type = How gui should handle this base. ; Value can be "Fortress", "Airbase", or "Other" ; border_sq = Base will claim land ownership up to this radius, ; -1 to disable. If enabled, base cannot exist in city tile. ; vision_main_sq = Base will have main layer vision to this radius ; vision_invis_sq = Base will have invisible layer vision to this radius ; flags ; - "NoAggressive" = Units inside are not considered aggressive if there`s ; friendly city within 3 tiles ; ; */ <-- avoid gettext warnings [base_fortress] extra = "Fortress" gui_type = "Fortress" border_sq = 5 flags = "NoAggressive" [base_airbase] extra = "Airbase" gui_type = "Airbase" [base_buoy] extra = "Buoy" gui_type = "Fortress" vision_main_sq = 5 ; /* <-- avoid gettext warnings ; ; Road types: ; ; extra = name of the extra this road section is part of ; first_reqs = additional requirements to build the first part of ; the road, when none of the adjacent tiles have any ; integrating roads (see effects.ruleset and ; README.effects for help on requirements) ; move_cost = how much movement it takes to travel ; via this road (in fractional move points, as ; defined by move_fragments). ; -1 means that road provides no speed bonus. ; move_mode = how movement costs are applied ; - "Cardinal" = Road cost applies only on cardinal moves ; - "Relaxed" = Road cost is normal for cardinal, double for diagonal moves ; - "FastAlways" = Road cost applies always between two tiles with the roads ; (default) ; food_incr_const = food production added to tile regardless of terrain ; shield_incr_const = shield production added to tile regardless of ; terrain ; trade_incr_const = trade production added to tile regardless of ; terrain ; food_incr = food production added to tile; multiplied by ; terrain-specific road_food_incr_pct ; shield_incr = shield production added to tile; multiplied by ; terrain-specific road_shield_incr_pct ; trade_incr = trade production added to tile; multiplied by ; terrain-specific road_trade_incr_pct ; food_bonus = percent added to food production ; shield_bonus = percent added to shield production ; trade_bonus = percent added to trade production ; In summary, output bonuses from roads are given by the formula: ; (base_prod + roads.incr_const + roads.incr*terrain.incr_pct) * roads.bonus ; compat_special = what kind of pre-2.5 special this road corresponds ; to, if any: "Road", "Railroad", "River", or "None". ; Used for UI and loading old savegames ; integrates = list of road types that are suitable next steps ; for travel from this road type ; flags ; - "RequiresBridge" = Technology with "Bridge" flag needed to build this ; road on the same tile as another road with ; "PreventsOtherRoads" flag (usually rivers) ; - "PreventsOtherRoads" = Prevents "RequiresBridge" roads being built on ; the same tile as this one without appropriate tech ; - "River" = Automatically generated by map generator, always ; flowing from land tiles to ocean ; - "UnrestrictedInfra" = Use of the enemy owned road is not restricted ; even if server setting 'restrictinfra' is set ; - "JumpFrom" = Move to a tile nativity providing "JumpTo" ; road is considered native ; - "JumpTo" = Move from a tile nativity providing "JumpFrom" ; road is considered native ; ; */ <-- avoid gettext warnings [road_road] extra = "Road" move_cost = 1 food_incr = 0 shield_incr = 0 trade_incr = 1 food_bonus = 0 shield_bonus = 0 trade_bonus = 0 compat_special = "Road" flags = "RequiresBridge" [road_railroad] extra = "Railroad" move_cost = 0 food_incr = 0 shield_incr = 0 trade_incr = 0 food_bonus = 0 shield_bonus = 50 trade_bonus = 0 compat_special = "Railroad" flags = "RequiresBridge" [road_river] extra = "River" move_cost = 1 move_mode = "Cardinal" food_incr_const = 0 shield_incr_const = 0 trade_incr_const = 1 food_incr = 0 shield_incr = 0 trade_incr = 0 food_bonus = 0 shield_bonus = 0 trade_bonus = 0 compat_special = "River" flags = "River", "PreventsOtherRoads", "UnrestrictedInfra" ENDREP DELTA SVN„Éh„Éh€„Éh; Modifying this file: ; You should not modify this file except to make bugfixes or ; for other "maintenance". If you want to make custom changes, ; you should create a new datadir subdirectory and copy this file ; into that directory, and then modify that copy. Then use the ; command "rulesetdir " in the server to have freeciv ; use your new customized file. ; ; You should sort role units from worst to better, as often the best ; available role unit of a given sort will be picked by choosing ; the first available (not obsolete) such unit, or by picking the last ; such unit directly. When determining starting units, the first ; unit with the relevant role that the player can build will be chosen. ; If no such unit can be found (eg Explorers that require Seafaring), ; then the first unit with this role will be chosen. [datafile] description="Experimental web-client unit_type data for Freeciv" options="+Freeciv-ruleset-Devel-2015.January.14 web-compatible" format_version=10 [control] ; Names for custom unit type flags. There can be up to 40 of these. ; name = rule name; In some circumstances user may see this ; as part of some sentences, so try to make it descriptive ; and sensible. ; helptxt = displayed in the help for unit types with this flag (optional) flags = { "name", "helptxt" _("BorderPolice"), _("Can peacefully expel certain foreign units.") _("Expellable"), _("Can be peacefully expelled from foreign tiles.") _("LightWeight"), _("Airliftable once you learn Flight.") _("MediumWeight"), _("Airliftable from Airport after you learn Advanced Flight.") _("HeavyWeight"), _("Airliftable from Airport after you learn Fusion Power.") _("Airbase") _("Transform") _("AirAttacker"), _("Very bad at attacking AEGIS.") _("Horse"), _("Attack value halved when attacking Pikemen.") _("Helicopter"), _("Defends very badly against Fighters.") _("Unbribable") _("TradeRoute"), _("Can establish trade routes (must travel to target city).") _("HelpWonder") _("Cities") _("AddToCity") _("Nuclear") _("Infra"), _("Can build infrastructure.") _("Paratroopers"), _("Can be paradropped from a friendly city or suitable base.") } ; Names for custom unit class flags. There can be up to 8 of these. ; name = rule name; In some circumstances user may see this ; as part of some sentences, so try to make it descriptive ; and sensible. ; helptxt = displayed in the help for unit types belonging to a class ; with this flag (optional) ;class_flags = ; { "name", "helptxt" ; } [veteran_system] ; What are the names of the levels? veteran_names = _("green"), _("veteran"), _("hardened"), _("elite") ; The percentage chance of increasing level through combat veteran_raise_chance = 50, 33, 20, 0 ; The percentage chance of a settler/engineer increasing level through ; performing useful work (per turn) veteran_work_raise_chance = 0, 0, 0, 0 ; Power factors are as a percentage. ; +50% is represented by 150 veteran_power_fact = 100, 150, 175, 200 ; The additional number of movement points granted for different veteran ; levels. These are fractional move points as defined by move_fragments in ; terrain.ruleset. veteran_move_bonus = 0, 0, 0, 0 ; /* <-- avoid gettext warnings ; ; Unit classes ; The number can be variable, up to 32 ; When adding new classes, remember to check effects.ruleset also. ; Eg. if you divide class 'Land' to two separate classes, you may ; want add effect giving City Walls defence bonus against new class ; too. ; ; The actual tag used (the * in [unitclass_*]) does not matter, except ; it must be unique within this file, and it may be used in debug ; output when reading this file. ; ; ** Fields ** ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in savegames ; must not change, use this when renaming a unit class after a ; ruleset has been released. ; min_speed = Minimum speed after damage and effects (whole movement points) ; hp_loss_pct = Hitpoints lost each turn if unit not in city or native base ; non_native_def_pct = Defense power percentage applying when defending on ; non-native terrain (such as ship in harbour) ; hut_behavior = What happens to huts when unit enters tile: ; "Normal", "Nothing", or "Frighten" ; flags = List of unit class flags (from the following list; you ; cannot add custom unit class flags) ; helptext = optional help text string; should escape all raw newlines ; so that xgettext parsing works ; ; ** Unit class Flags ** ; ; "TerrainSpeed" = Units use terrain specific speed ; "TerrainDefense" = Units gain defense bonus from terrain ; "DamageSlows" = Damaged units are slowed down ; "CanOccupyCity" = Military units of this class can occupy enemy cities ; "Missile" = Unit is destroyed when it attacks ; "BuildAnywhere" = Unit can be built even in the middle of non-native terrain ; "Unreachable" = Unit can be attacked only by units explicitly listing this ; class in its 'targets', unless on a city or native base. ; For class members which are transports, cargo cannot load/ ; unload except in a city or native base, unless that unit ; explicitly lists this class in its 'embarks'/'disembarks'. ; "CollectRansom" = Unit can collect ransom when killing lone barbarian leader ; "ZOC" = Unit is subject to ZOC rules. Unit type flag "IgZOC" can ; override this ; "CanFortify" = Unit can fortify at land tiles. Unit type flag ; "Cant_Fortify" can override this ; "CanPillage" = Unit can pillage tile infrastructure ; "DoesntOccupyTile" = Even if this kind of enemy unit is on tile, cities can ; still work that tile ; "AttackNonNative" = Unit can attack units on non-native tiles. Unit type ; flag "Only_Native_Attack" can override this ; "AttFromNonNative" = Unit can launch attack from non-native tile (against ; native one) ; This applies for both attacking from transport or ; cities. If only some unit types of the class should ; get this property, use type flag "Marines" ; "KillCitizen" = Upon successful attack against a city, unit kills one ; citizen. The effect "Unit_No_Lose_Pop" and the server ; setting 'killcitizen' can disable this. ; ; */ <-- avoid gettext warnings [unitclass_missile] ; /* TRANS: Unit class: used adjectivally */ name = _("?unitclass:Missile") min_speed = 1 hp_loss_pct = 0 hut_behavior = "Frighten" flags = "Missile", "Unreachable", "DoesntOccupyTile" [unitclass_land] ; /* TRANS: Unit class: used adjectivally */ name = _("?unitclass:Land") min_speed = 1 hp_loss_pct = 0 flags = "TerrainSpeed", "DamageSlows", "CanOccupyCity", "BuildAnywhere", "CollectRansom", "CanFortify", "CanPillage", "TerrainDefense", "KillCitizen" [unitclass_sea] ; /* TRANS: Unit class: used adjectivally */ name = _("?unitclass:Sea") min_speed = 2 hp_loss_pct = 0 flags = "DamageSlows", "AttackNonNative", "AttFromNonNative" [unitclass_trireme] ; /* TRANS: Unit class: used adjectivally */ name = _("?unitclass:Trireme") min_speed = 2 hp_loss_pct = 0 flags = "DamageSlows", "AttFromNonNative" [unitclass_heli] ; /* TRANS: Unit class: used adjectivally */ name = _("?unitclass:Helicopter") min_speed = 1 hp_loss_pct = 10 flags = "CanOccupyCity", "CollectRansom" [unitclass_air] ; /* TRANS: Unit class: used adjectivally */ name = _("?unitclass:Air") min_speed = 1 hp_loss_pct = 0 hut_behavior = "Frighten" flags = "Unreachable", "DoesntOccupyTile" ; /* <-- avoid gettext warnings ; ; Below: The individual unit types, one per section. ; ; The number can be variable, up to 200. ; However for the "official" rulesets, units should not be removed ; because that would break backward compatability with savegames. ; ; The order here matters: later units are considered "better" for ; a given flag or role. ; ; The actual tag used (the * in [unit_*]) does not matter, except ; it must be unique within this file, and it may be used in debug ; output when reading this file. ; ; ** Fields ** ; ; name = translatable name as seen by user ; rule_name = (optional) name for savegames, rulesets etc; if not ; present, 'name' is used. Since the name used in savegames ; must not change, use this when renaming a unit after a ; ruleset has been released. ; graphic = tag specifying preferred graphic ; graphic_alt = tag for alternate graphic if preferred graphic is not ; present; especially if preferred graphic is non-standard, ; this should be a standard tag. Otherwise can use eg "-" ; for no alternate graphic. ; tech_req = required advance, names from techs.ruleset, or special: ; "None" => available from start ; impr_req = required city improvement, names from buildings.ruleset ; gov_req = required government, names from governments.ruleset ; obsolete_by = can be upgraded to and made obsolete by another unit by name ; build_cost = production shields required to build ; pop_cost = population removed from city when built; for 'Join City' ; units this is also the population added to the destination ; attack = base attack strength (0 = cannot attack) ; defense = base defense strength (0 = cannot defend) ; hitpoints = how much damage unit can withstand ; firepower = number of hitpoints removed per round of combat; at least 1 ; move_rate = base move rate (whole movement points) ; vision_radius_sq = base vision of unit: unit can see tile up to the square ; root of this value away ; convert_to = can be converted to another type of unit by name ; convert_time = time it takes to convert to another unit type ; class = One of the classes listed above ; transport_cap = Number of units (ground, or air/missiles, depending on flags) ; fuel = Number of turns unit can spend outside refuel points. ; If more time passes without unit refueling over turn change, ; they are lost. If this is zero, unit has no need to refuel ; Units with "Coast" flag set consider any tile next to coast ; refuel point ; uk_* = upkeep costs, these are used as base values in the game ; cargo = Unit classes this unit can transport ; city_size = Initial size of the cities built by 'Found City' type units ; (but 'Join City' uses pop_cost) ; targets = list of unit classes this unit can attack against even ; if they have Unreachable unit class flag ; embarks = list of unit classes this unit may load into while not in ; native base or city even if transporter has Unreachable unit ; class flag ; disembarks = list of unit classes this unit may unload from while not in ; native base or city even if transporter has Unreachable unit ; class flag ; bonuses = definitions of combat bonuses against specific other units ; bonuses.flag = flag of the unit that bonus applies against ; bonuses.type = type of the bonus. See below ; bonuses.value = value of the bonus. Sum of these is used if multiple apply. ; bonuses.quiet = don't auto generate help text for this bonus. Use this if ; the bonus is documented in the unit type's help text. ; This is useful when the combination of a unit's bonuses ; becomes complex enough to make the auto generated help ; ugly or inaccurate. ; flags = special flag strings; list of built-in flags described below ; and/or user flags defined above ; ; veteran_names = Special veteran level for this unit. See the definitions in ; game.ruleset. All of the veteran_* entries have to have the ; same length! ; veteran_raise_chance = ; veteran_work_raise_chance = ; veteran_power_fact = ; veteran_move_bonus = ; ; roles = special role strings ; sound_move = optional sound effect when the unit moves ; sound_move_alt = optional alternative sound effect if above not ; supported in client ; sound_fight = optional sound effect when the unit fights ; sound_fight_alt = optional alternative sound effect if above not ; supported in client ; helptext = optional help text string; should escape all raw newlines ; so that xgettext parsing works ; ; ; ** Bonuses ** ; ; "DefenseMultiplier" = Multiply defense value (1 + 'value') times. ; Value of 1 means multiplication by 2, value 2 by 3... ; Bonus is defined in defenders entry. ; "DefenseDivider" = Divide defense value with (1 + 'value'). ; Bonus is defined in attackers entry. ; "FirePower1" = Defender firepower is reduced to value 1 when ; ever this has non-zero value. ; Bonus is defined in attackers entry. ; ; ; ** Flags ** ; ; "IgZOC" = ignore Zones of Control (ZOC) even if unit class has ; "ZOC" flag ; "HasNoZOC" = unit has no Zone of Control (ZOC), thus any unit can move ; around it freely ; "NonMil" = a non-military unit: no attacks; no martial law; can enter ; peaceful borders; DoesntOccupyTile ; "IgTer" = use constant move cost defined in igter_cost (terrain.ruleset) ; rather than terrain/road etc cost, unless terrain cost is ; less ; "OneAttack" = can only make a single attack, regardless of movement points ; "FieldUnit" = cause unhappiness even when not being aggressive ; "Marines" = can attack from non-native tile (from transport or city) ; "BeachLander" = won't lose all its movement when moving from non-native ; terrain to native terrain even if slow_invasions is on. ; "Partial_Invis" = visible only to adjancent units; does not hide transported ; units other than missiles ; "Settlers" = can irrigate and build roads ; "Diplomat" = can defend against diplomat actions (see diplchance ; server option) ; "Spy" = enhanced diplomat actions. _Must_ be "Diplomat" also ; "CoastStrict" = (sea only) cannot leave coast ; "Coast" = (sea only) can refuel on coast. Set fuel to force unit ; to regularly end turn on coast ; "Only_Native_Attack" = cannot attack targets on non-native tiles even if ; unit class can ; "Cant_Fortify" = cannot fortify even if unit class has "CanFortify" flag ; "Fanatic" = can only be built by governments that allow them ; (see civ2/governments.ruleset, Fundamentalism government) ; "Unique" = a player can only have one of these units in the game at ; the same time; barbarians cannot use this at present ; "GameLoss" = losing one of these units means you lose the game, but it ; is produced without homecity and upkeep ; "Undisbandable" = this unit is protected. It will not drown and will not ; disband due to lack of shields to upkeep it in homecity; ; if not given enough food to upkeep it, homecity will shrink ; every turn it cannot do so, however ; "SuperSpy" = this unit always wins diplomatic contests, that is, unless ; it encounters another SuperSpy, in which case defender wins; ; can also be used on non-diplomat units, in which case it can ; protect cities from diplomats; also 100% spy survival chance ; "NoHome" = this unit has no homecity and will be free of all upkeep, and ; therefore will not revolt along with its city of origin should ; it be incited ; "NoVeteran" = this unit cannot gain veteran levels through experience ; (as if both raise_chance and work_raise_chance were zero); ; it can still gain veterancy through Veteran_Build, etc ; "CityBuster" = this unit has double firepower against cities ; "NoBuild" = this unit cannot be built ; "BadWallAttacker" = the firepower of this unit is set to 1 if ; attacking a city ; defended by a city wall (or other city building defense) ; "BadCityDefender" = if attacked while in a city, firepower is set to 1 ; and firepower of attacker is doubled (the Pearl Harbour ; rule) ; "BarbarianOnly" = only barbarians can build this unit ; "Shield2Gold" = Switch from shield upkeep to gold upkeep possible ; "NewCityGamesOnly" = unit can't be built on scenarios where founding new cities ; is not allowed. Give this flag to units that would make no sense ; to have in a game with such a scenario ; "CanEscape" = this unit has, given that certain conditions are ; fulfilled, a 50% chance to escape rather than being ; killed when killstack is enabled and the defender of its ; tile is defeated. The conditions are that it has more move ; points than required to move to an adjacent tile plus the ; attackers move points and that the attacker doesn't have ; the "CanKillEscaping" unit type flag. ; "CanKillEscaping" = an attack from this unit ignores the "CanEscape" unit ; type flag. ; ; Following actions require extra fields: ; "Paradrop Unit" ; paratroopers_range = the maximal range the unit can be paradropped to. ; Max range is 65534. ; paratroopers_mr_req = the move rate which is required at least for ; paradropping (whole movement points) ; paratroopers_mr_sub = the move rate which is subtracted after paradropping ; (whole movement points) ; "Bombard" ; bombard_rate = the number of shots fired at enemy units when attacking ; "Join City" ; pop_cost = the number of population added to the target city ; "Upgrade Unit" ; obsolete_by = the unit type upgraded to. ; ; ** Roles ** ; ; "FirstBuild" = first to be built when city founded ; "Explorer" = unit to use for exploring ; "Hut" = can be found in a hut ; "HutTech" = can be found in a hut, but its techs required ; "Partisan" = can be created as a partisan (only one unit can have this ; flag), see end of this file for its tech requirements option ; "DefendOk" = AI hint: ok for defending with ; "DefendGood" = AI hint: good for defending with ; "Ferryboat" = AI hint: useful for ferrying ; "Barbarian" = can be created as land barbarian ; "BarbarianTech" = can be created as land barbarian, if someone has ; researched its tech requirements ; "BarbarianBoat" = can be created as boat for sea barbarian ; "BarbarianBuild" = can be built by barbarians ; "BarbarianBuildTech" = can be built by barbarians if someone has ; researched its tech requirements ; "BarbarianLeader" = this unit is the barbarian leader (only one) ; "BarbarianSea" = can be created as a barbarian that disembarks from a barbarian boat ; "BarbarianSeaTech" = can be created as a barbarian that disembarks from a barbarian boat ; if someone has researched its tech requirements ; "Settlers" = can irrigate and build roads ; "Hunter" = AI hint: good for hunting other units ; "CitiesStartUnit" = Gets granted as 'c' startunit ; "WorkerStartUnit" = Gets granted as 'w' startunit ; "ExplorerStartUnit" = Gets granted as 'x' startunit ; "KingStartUnit" = Gets granted as 'k' startunit ; "DiplomatStartUnit" = Gets granted as 's' startunit ; "FerryStartUnit" = Gets granted as 'f' startunit ; "DefendOkStartUnit" = Gets granted as 'd' startunit ; "DefendGoodStartUnit" = Gets granted as 'D' startunit ; "AttackFastStartUnit" = Gets granted as 'a' startunit ; "AttackStrongStartUnit" = Gets granted as 'A' startunit ; ; */ <-- avoid gettext warnings [unit_settlers] name = _("Settlers") class = "Land" tech_req = "None" obsolete_by = "None" graphic = "u.settlers" graphic_alt = "-" sound_move = "m_settlers" sound_move_alt = "m_generic" sound_fight = "f_settlers" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 1 attack = 0 defense = 1 hitpoints = 20 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 1 uk_food = 1 uk_gold = 0 flags = "Settlers", "Infra", "Cant_Fortify", "NonMil", "HasNoZOC", "AddToCity", "Cities", "Expellable", "LightWeight" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_raise_chance = 0 veteran_work_raise_chance = 0 veteran_power_fact = 100 veteran_move_bonus = 0 roles = "CitiesStartUnit" helptext = _("\ Settlers are one of the key units in the game, as they are your main\ means of founding new cities.\ "), _("\ Settlers can also perform some of the same terrain alterations as\ Workers.\ "), _("\ Upkeep for Settlers is in food as well as production, and a Settler\ can die if its supporting city runs out of food. Settlers in a\ Republic or Democracy require twice as much food per turn.\ ") [unit_worker] name = _("?unit:Workers") class = "Land" tech_req = "Pottery" obsolete_by = "Engineers" graphic = "u.worker" graphic_alt = "u.engineers" ; for compatibility sound_move = "m_worker" sound_move_alt = "m_generic" sound_fight = "f_worker" sound_fight_alt = "f_generic" build_cost = 30 pop_cost = 0 attack = 0 defense = 1 hitpoints = 10 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "Settlers", "Infra", "Cant_Fortify", "NonMil", "HasNoZOC", "Airbase", "Expellable", "LightWeight" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_raise_chance = 0 veteran_work_raise_chance = 0 veteran_power_fact = 100 veteran_move_bonus = 0 roles = "Settlers", "WorkerStartUnit" helptext = _("\ Workers have the ability to improve terrain tiles.\ "), _("\ Building an irrigation system on a suitable tile causes it to \ produce some extra food each turn. This requires a nearby source of \ water: an ocean, lake, or river tile, or another tile with an \ irrigation system, must share an edge (not just a corner) with the \ target tile. Once irrigated, land remains so even if the water source \ is removed. When Refrigeration is known, irrigation systems can be \ upgraded to Farmland by irrigating them a second time; this provides \ more food to a city if it has a Supermarket.\ "), _("\ Building a mine on suitable terrain increases the \ number of production points produced by that tile. However, it is not \ possible to have an irrigation system and a mine on the same tile.\ "), _("\ On terrain unsuitable for irrigation systems or mines, issuing the \ \"irrigate\" or \"mine\" order may permanently convert the terrain \ to another type; this is usually more expensive. For instance, Swamp \ may be \"irrigated\" to yield Grassland. (Terrain conversion with \ the \"irrigate\" order does not require a water source.)\ "), _("\ Workers can build airbases and buoys, which Settlers cannot. \ Workers must be on board a ship to build buoys.\ "), _("\ See the help on Terrain and Terrain Alterations for the effects of \ these actions.\ ") [unit_engineers] name = _("Engineers") class = "Land" tech_req = "Explosives" obsolete_by = "None" graphic = "u.engineers" graphic_alt = "-" sound_move = "m_engineers" sound_move_alt = "m_generic" sound_fight = "f_engineers" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 0 defense = 2 hitpoints = 20 firepower = 1 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "Settlers", "Infra", "Cant_Fortify", "NonMil", "HasNoZOC", "Transform", "Airbase", "Expellable", "MediumWeight" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_raise_chance = 0 veteran_work_raise_chance = 0 veteran_power_fact = 100 veteran_move_bonus = 0 roles = "Settlers", "WorkerStartUnit" helptext = _("\ Engineers are similar to Workers, but they work twice as fast and\ move twice as fast. Engineers may also perform major terrain\ transformations which are beyond the capabilities of Workers and\ Settlers, such as converting Tundra into Desert, or even Ocean into\ Swamp in some circumstances (when on board an ocean-going vessel,\ on a tile surrounded by sufficient existing land). See the\ Terrain Alterations section for more details.\ "), _("\ TIP 1: Upgrade Workers to Engineers when possible, as Engineers\ require the same resources as ordinary Workers.\ "), _("\ TIP 2: If you manage to build Leonardo's Workshop, research\ Explosives before the Workshop becomes obsolete. This way,\ your Workers units will be upgraded for free.\ ") [unit_warriors] name = _("Warriors") class = "Land" tech_req = "None" obsolete_by = "Pikemen" graphic = "u.warriors" graphic_alt = "-" sound_move = "m_warriors" sound_move_alt = "m_generic" sound_fight = "f_warriors" sound_fight_alt = "f_generic" build_cost = 10 pop_cost = 0 attack = 1 defense = 1 hitpoints = 10 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BorderPolice", "LightWeight" roles = "DefendOk", "DefendOkStartUnit", "FirstBuild" helptext = _("\ This unit may be built from the start of the game. It is the\ weakest offensive unit.\ ") [unit_phalanx] name = _("Phalanx") class = "Land" tech_req = "Bronze Working" obsolete_by = "Pikemen" graphic = "u.phalanx" graphic_alt = "-" sound_move = "m_phalanx" sound_move_alt = "m_generic" sound_fight = "f_phalanx" sound_fight_alt = "f_generic" build_cost = 20 pop_cost = 0 attack = 1 defense = 2 hitpoints = 10 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BorderPolice", "LightWeight" roles = "DefendGood", "DefendGoodStartUnit", "FirstBuild" helptext = _("\ The Phalanx is armored infantry, suitable for defending your cities.\ ") [unit_archers] name = _("Archers") class = "Land" tech_req = "Warrior Code" obsolete_by = "Musketeers" graphic = "u.archers" graphic_alt = "-" sound_move = "m_archers" sound_move_alt = "m_generic" sound_fight = "f_archers" sound_fight_alt = "f_generic" build_cost = 30 pop_cost = 0 attack = 3 defense = 2 hitpoints = 10 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BorderPolice", "LightWeight" roles = "DefendOk", "DefendOkStartUnit" helptext = _("\ Archers fight with bows and arrows and have a good offensive\ value as well as decent defense.\ ") [unit_legion] name = _("Legion") class = "Land" tech_req = "Iron Working" obsolete_by = "Musketeers" graphic = "u.legion" graphic_alt = "-" sound_move = "m_legion" sound_move_alt = "m_generic" sound_fight = "f_legion" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 4 defense = 2 hitpoints = 10 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BorderPolice", "LightWeight" roles = "DefendOk", "DefendOkStartUnit", "Hut", "BarbarianBuild", "BarbarianSea" helptext = _("\ Legions are heavily armed and well disciplined infantry\ units with an excellent offensive value.\ ") [unit_pikemen] name = _("Pikemen") class = "Land" tech_req = "Feudalism" obsolete_by = "Musketeers" graphic = "u.pikemen" graphic_alt = "-" sound_move = "m_pikemen" sound_move_alt = "m_generic" sound_fight = "f_pikemen" sound_fight_alt = "f_generic" build_cost = 20 pop_cost = 0 attack = 1 defense = 2 hitpoints = 10 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 bonuses = { "flag", "type", "value" "Horse", "DefenseMultiplier", 1 } flags = "BorderPolice", "LightWeight" roles = "DefendGood", "DefendGoodStartUnit", "FirstBuild" helptext = _("\ Equipped with long pikes, Pikemen replaces Phalanx\ as the preferred city defender.\ ") [unit_musketeers] name = _("Musketeers") class = "Land" tech_req = "Gunpowder" obsolete_by = "Riflemen" graphic = "u.musketeers" graphic_alt = "-" sound_move = "m_musketeers" sound_move_alt = "m_generic" sound_fight = "f_musketeers" sound_fight_alt = "f_generic" build_cost = 30 pop_cost = 0 attack = 3 defense = 3 hitpoints = 20 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BorderPolice", "LightWeight" roles = "DefendGood", "DefendGoodStartUnit", "FirstBuild", "HutTech", "BarbarianTech", "BarbarianBuildTech", "BarbarianSeaTech" helptext = _("\ Musketeers are infantry equipped with early\ firearms and replace Pikemen as the preferred\ city defender.\ ") [unit_partisan] name = _("Partisan") class = "Land" tech_req = "Guerilla Warfare" obsolete_by = "None" graphic = "u.partisan" graphic_alt = "-" sound_move = "m_partisan" sound_move_alt = "m_generic" sound_fight = "f_partisan" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 4 defense = 4 hitpoints = 20 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "IgTer", "IgZOC", "BorderPolice", "LightWeight" roles = "DefendGood", "DefendGoodStartUnit", "Partisan", "BarbarianTech" helptext = _("\ Partisans are guerilla fighters who are experts\ at using the terrain to their advantage.\ "), _("\ A number of Partisans are granted free when an enemy conquers your\ city -- they automatically assume defensive positions in the\ surrounding countryside -- but only under these conditions:\n\ - Guerilla Warfare must be known by at least one player.\n\ - You must be the player who originally built the city.\n\ - You must know about Communism and Gunpowder.\n\ - You must run either a Democracy or a Communist government.\ ") [unit_alpine_troops] name = _("Alpine Troops") class = "Land" tech_req = "Tactics" obsolete_by = "None" graphic = "u.alpine_troops" graphic_alt = "-" sound_move = "m_alpine_troops" sound_move_alt = "m_generic" sound_fight = "f_alpine_troops" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 5 defense = 5 hitpoints = 20 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "IgTer", "BorderPolice", "LightWeight" roles = "DefendGood", "DefendGoodStartUnit" helptext = _("\ Alpine Troops are highly mobile units as well as\ excellent defenders.\ ") [unit_riflemen] name = _("Riflemen") class = "Land" tech_req = "Conscription" obsolete_by = "None" graphic = "u.riflemen" graphic_alt = "-" sound_move = "m_riflemen" sound_move_alt = "m_generic" sound_fight = "f_riflemen" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 5 defense = 4 hitpoints = 20 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BorderPolice", "LightWeight" roles = "DefendGood", "DefendGoodStartUnit", "FirstBuild" helptext = _("\ Riflemen are World War-era infantry, very good\ at defending your cities.\ ") [unit_marines] name = _("Marines") class = "Land" tech_req = "Amphibious Warfare" obsolete_by = "None" graphic = "u.marines" graphic_alt = "-" sound_move = "m_marines" sound_move_alt = "m_generic" sound_fight = "f_marines" sound_fight_alt = "f_generic" build_cost = 60 pop_cost = 0 attack = 8 defense = 5 hitpoints = 20 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "Marines", "BorderPolice", "LightWeight" roles = "DefendOk", "DefendOkStartUnit", "BarbarianSeaTech" helptext = _("\ Marines are infantry who are experts at marine warfare.\ ") [unit_paratroopers] name = _("Paratroopers") class = "Land" tech_req = "Combined Arms" obsolete_by = "None" graphic = "u.paratroopers" graphic_alt = "-" sound_move = "m_paratroopers" sound_move_alt = "m_generic" sound_fight = "f_paratroopers" sound_fight_alt = "f_generic" build_cost = 60 pop_cost = 0 attack = 6 defense = 4 hitpoints = 20 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "Paratroopers", "BorderPolice", "LightWeight" roles = "DefendOk", "DefendOkStartUnit" helptext = _("\ Paratroopers are experts at airborne attacks. \ From a friendly city or airbase, Paratroopers who have not expended any \ movement points can paradrop directly to any tile in range, and be \ immediately ready to act there. (Beware dropping into unseen territory, \ as Paratroopers landing on a tile occupied by enemy units are easy \ targets!)\ ") paratroopers_range = 10 paratroopers_mr_req = 1 paratroopers_mr_sub = 0 [unit_mech_inf] name = _("Mech. Inf.") class = "Land" tech_req = "Labor Union" obsolete_by = "None" graphic = "u.mech_inf" graphic_alt = "-" sound_move = "m_mech_inf" sound_move_alt = "m_generic" sound_fight = "f_mech_inf" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 6 defense = 6 hitpoints = 30 firepower = 1 move_rate = 3 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "MediumWeight" roles = "DefendGood", "DefendGoodStartUnit" helptext = _("\ The Mechanized Infantry has the strongest defensive strength\ of any land unit, but is only available near the end of the\ technology tree.\ ") [unit_horsemen] name = _("Horsemen") class = "Land" tech_req = "Horseback Riding" obsolete_by = "Knights" graphic = "u.horsemen" graphic_alt = "-" sound_move = "m_horsemen" sound_move_alt = "m_generic" sound_fight = "f_horsemen" sound_fight_alt = "f_generic" build_cost = 20 pop_cost = 0 attack = 2 defense = 1 hitpoints = 10 firepower = 1 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "Horse", "MediumWeight" roles = "AttackFastStartUnit", "Hut", "Barbarian", "Hunter" helptext = _("\ Horsemen are mounted warriors and an early\ shock-troop that can penetrate deep into\ enemy territory.\ ") [unit_chariot] name = _("Chariot") class = "Land" tech_req = "The Wheel" obsolete_by = "Knights" graphic = "u.chariot" graphic_alt = "-" sound_move = "m_chariot" sound_move_alt = "m_generic" sound_fight = "f_chariot" sound_fight_alt = "f_generic" build_cost = 30 pop_cost = 0 attack = 3 defense = 1 hitpoints = 10 firepower = 1 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "Horse", "MediumWeight" roles = "AttackFastStartUnit", "Hut", "Hunter" helptext = _("\ Chariots are horse-pulled war wagons, stronger\ but more expensive than horsemen.\ ") [unit_knights] name = _("Knights") class = "Land" tech_req = "Chivalry" obsolete_by = "Dragoons" graphic = "u.knights" graphic_alt = "-" sound_move = "m_knights" sound_move_alt = "m_generic" sound_fight = "f_knights" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 4 defense = 2 hitpoints = 10 firepower = 1 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "Horse", "MediumWeight" roles = "AttackFastStartUnit", "HutTech", "BarbarianTech", "BarbarianBuildTech", "BarbarianSeaTech", "Hunter" helptext = _("\ Knights are mounted and heavily armored warriors.\ ") [unit_dragoons] name = _("Dragoons") class = "Land" tech_req = "Leadership" obsolete_by = "Cavalry" graphic = "u.dragoons" graphic_alt = "-" sound_move = "m_dragoons" sound_move_alt = "m_generic" sound_fight = "f_dragoons" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 5 defense = 2 hitpoints = 20 firepower = 1 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "Horse", "MediumWeight" roles = "AttackFastStartUnit", "BarbarianBuildTech", "BarbarianSeaTech", "Hunter" helptext = _("\ Dragoons are mounted warriors carrying early firearms.\ ") [unit_cavalry] name = _("Cavalry") class = "Land" tech_req = "Tactics" obsolete_by = "Armor" graphic = "u.cavalry" graphic_alt = "-" sound_move = "m_cavalry" sound_move_alt = "m_generic" sound_fight = "f_cavalry" sound_fight_alt = "f_generic" build_cost = 60 pop_cost = 0 attack = 8 defense = 3 hitpoints = 20 firepower = 1 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "MediumWeight" roles = "AttackFastStartUnit", "Hunter" helptext = _("\ Cavalry are mounted and highly trained soldiers.\ ") [unit_armor] name = _("Armor") class = "Land" tech_req = "Mobile Warfare" obsolete_by = "None" graphic = "u.armor" graphic_alt = "-" sound_move = "m_armor" sound_move_alt = "m_generic" sound_fight = "f_armor" sound_fight_alt = "f_generic" build_cost = 80 pop_cost = 0 attack = 10 defense = 5 hitpoints = 30 firepower = 1 move_rate = 3 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "MediumWeight" roles = "AttackFastStartUnit", "Hunter" helptext = _("\ Armors are motorized war wagons that are faster,\ stronger, and can take more damage than any\ mounted unit.\ ") [unit_catapult] name = _("Catapult") class = "Land" tech_req = "Mathematics" obsolete_by = "Cannon" graphic = "u.catapult" graphic_alt = "-" sound_move = "m_catapult" sound_move_alt = "m_generic" sound_fight = "f_catapult" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 6 defense = 1 hitpoints = 10 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "MediumWeight" roles = "AttackStrongStartUnit" helptext = _("\ Catapults are large rock-throwing machines of war.\ They are very strong attackers but equally weak\ defenders and will need an escort to be effective.\ ") [unit_cannon] name = _("Cannon") class = "Land" tech_req = "Metallurgy" obsolete_by = "Artillery" graphic = "u.cannon" graphic_alt = "-" sound_move = "m_cannon" sound_move_alt = "m_generic" sound_fight = "f_cannon" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 8 defense = 1 hitpoints = 20 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "MediumWeight" roles = "AttackStrongStartUnit", "BarbarianTech", "BarbarianBuildTech" helptext = _("\ Cannons are large firearms that can fire heavy\ projectiles over long distances. They are very\ strong attackers but equally weak defenders and\ will need an escort to be effective.\ ") [unit_artillery] name = _("Artillery") class = "Land" tech_req = "Machine Tools" obsolete_by = "Howitzer" graphic = "u.artillery" graphic_alt = "-" sound_move = "m_artillery" sound_move_alt = "m_generic" sound_fight = "f_artillery" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 10 defense = 1 hitpoints = 20 firepower = 2 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "MediumWeight" roles = "AttackStrongStartUnit" helptext = _("\ The artillery is an upgraded cannon. It is a very\ strong attacker but equally weak defender and\ will need an escort to be effective.\ ") [unit_howitzer] name = _("Howitzer") class = "Land" tech_req = "Robotics" obsolete_by = "None" graphic = "u.howitzer" graphic_alt = "-" sound_move = "m_howitzer" sound_move_alt = "m_generic" sound_fight = "f_howitzer" sound_fight_alt = "f_generic" build_cost = 70 pop_cost = 0 attack = 12 defense = 2 hitpoints = 30 firepower = 2 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "MediumWeight" roles = "AttackStrongStartUnit" helptext = _("\ Howitzers are upgraded artillery with improved\ defensive as well as offensive capabilities.\ They can shoot over city walls, ignoring their effect.\ ") [unit_fighter] name = _("Fighter") class = "Air" tech_req = "Flight" obsolete_by = "Stealth Fighter" graphic = "u.fighter" graphic_alt = "-" sound_move = "m_fighter" sound_move_alt = "m_generic" sound_fight = "f_fighter" sound_fight_alt = "f_generic" build_cost = 60 pop_cost = 0 attack = 4 defense = 3 hitpoints = 20 firepower = 2 move_rate = 10 vision_radius_sq = 8 transport_cap = 0 fuel = 1 uk_happy = 0 uk_shield = 1 uk_food = 0 uk_gold = 0 targets = "Air", "Missile" bonuses = { "flag", "type", "value" "Helicopter", "DefenseDivider", 1 "Helicopter", "Firepower1", 1 } flags = "AirAttacker", "MediumWeight" roles = "" helptext = _("\ Fighters are your first airborne units. They can\ move anywhere and attack any unit.\ ") [unit_bomber] name = _("Bomber") class = "Air" tech_req = "Advanced Flight" obsolete_by = "Stealth Bomber" graphic = "u.bomber" graphic_alt = "-" sound_move = "m_bomber" sound_move_alt = "m_generic" sound_fight = "f_bomber" sound_fight_alt = "f_generic" build_cost = 120 pop_cost = 0 attack = 12 defense = 1 hitpoints = 20 firepower = 2 move_rate = 8 vision_radius_sq = 8 transport_cap = 0 fuel = 2 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "FieldUnit", "OneAttack", "AirAttacker", "HasNoZOC", "MediumWeight" roles = "" helptext = _("\ Bombers are specialized airborne units that may\ only attack ground targets, not other airborne\ units.\ ") [unit_helicopter] ; /* TRANS: unit type */ name = _("Helicopter") class = "Helicopter" tech_req = "Combined Arms" obsolete_by = "None" graphic = "u.helicopter" graphic_alt = "-" sound_move = "m_helicopter" sound_move_alt = "m_generic" sound_fight = "f_helicopter" sound_fight_alt = "f_generic" build_cost = 100 pop_cost = 0 attack = 10 defense = 3 hitpoints = 20 firepower = 2 move_rate = 6 vision_radius_sq = 8 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "FieldUnit", "OneAttack", "Helicopter", "AirAttacker", "MediumWeight" roles = "" helptext = _("\ The Helicopter is a very powerful unit, as it can both fly and\ conquer cities. Care must be exercised, because Helicopters lose a\ small amount of health for every turn not spent in a city or airbase\ or on a Carrier, unless you have the United Nations wonder, and\ Helicopters may be attacked by ground units.\ ") [unit_stealth_fighter] name = _("Stealth Fighter") class = "Air" tech_req = "Stealth" obsolete_by = "None" graphic = "u.stealth_fighter" graphic_alt = "-" sound_move = "m_stealth_fighter" sound_move_alt = "m_generic" sound_fight = "f_stealth_fighter" sound_fight_alt = "f_generic" build_cost = 80 pop_cost = 0 attack = 8 defense = 4 hitpoints = 20 firepower = 2 move_rate = 14 vision_radius_sq = 8 transport_cap = 0 fuel = 1 uk_happy = 0 uk_shield = 1 uk_food = 0 uk_gold = 0 targets = "Air", "Missile" bonuses = { "flag", "type", "value" "Helicopter", "DefenseDivider", 1 "Helicopter", "Firepower1", 1 } flags = "Partial_Invis", "AirAttacker", "MediumWeight" roles = "" helptext = _("\ An improved Fighter, with improved attack and a higher movement\ radius.\ ") [unit_stealth_bomber] name = _("Stealth Bomber") class = "Air" tech_req = "Stealth" obsolete_by = "None" graphic = "u.stealth_bomber" graphic_alt = "-" sound_move = "m_stealth_bomber" sound_move_alt = "m_generic" sound_fight = "f_stealth_bomber" sound_fight_alt = "f_generic" build_cost = 160 pop_cost = 0 attack = 18 defense = 5 hitpoints = 20 firepower = 2 move_rate = 12 vision_radius_sq = 8 transport_cap = 0 fuel = 2 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "Partial_Invis", "FieldUnit", "OneAttack", "AirAttacker", "HasNoZOC", "MediumWeight" roles = "" helptext = _("\ An improved Bomber, with improved attack and a higher movement\ radius.\ ") [unit_trireme] ; /* TRANS: unit type */ name = _("Trireme") class = "Trireme" tech_req = "Map Making" obsolete_by = "Caravel" graphic = "u.trireme" graphic_alt = "-" sound_move = "m_trireme" sound_move_alt = "m_generic" sound_fight = "f_trireme" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 1 defense = 1 hitpoints = 10 firepower = 1 move_rate = 3 vision_radius_sq = 2 transport_cap = 2 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 cargo = "Land" flags = "BadCityDefender", "MediumWeight" roles = "Ferryboat", "FerryStartUnit" helptext = _("\ The Trireme is your first boat unit. It can act\ as a transport ship and has rudimentary offensive\ capabilities, but may not enter deep ocean tiles.\ ") [unit_caravel] name = _("Caravel") class = "Sea" tech_req = "Navigation" obsolete_by = "Galleon" graphic = "u.caravel" graphic_alt = "-" sound_move = "m_caravel" sound_move_alt = "m_generic" sound_fight = "f_caravel" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 2 defense = 1 hitpoints = 10 firepower = 1 move_rate = 3 vision_radius_sq = 2 transport_cap = 3 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 cargo = "Land" flags = "BadCityDefender", "HeavyWeight" roles = "Ferryboat", "FerryStartUnit", "BarbarianBoat" helptext = _("\ The Caravel replaces the Trireme and can enter\ any ocean tile.\ ") [unit_galleon] name = _("Galleon") class = "Sea" tech_req = "Magnetism" obsolete_by = "Transport" graphic = "u.galleon" graphic_alt = "-" sound_move = "m_galleon" sound_move_alt = "m_generic" sound_fight = "f_galleon" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 0 defense = 2 hitpoints = 20 firepower = 1 move_rate = 4 vision_radius_sq = 2 transport_cap = 4 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 cargo = "Land" flags = "BadCityDefender", "HeavyWeight" roles = "Ferryboat", "FerryStartUnit", "BarbarianBoat" helptext = _("\ The Galleon is a pure transport ship and cannot\ attack other ships, though it may still defend\ itself when attacked.\ ") [unit_frigate] name = _("Frigate") class = "Sea" tech_req = "Magnetism" obsolete_by = "Ironclad" graphic = "u.frigate" graphic_alt = "-" sound_move = "m_frigate" sound_move_alt = "m_generic" sound_fight = "f_frigate" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 4 defense = 2 hitpoints = 20 firepower = 1 move_rate = 4 vision_radius_sq = 2 transport_cap = 2 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 cargo = "Land" flags = "BadCityDefender", "HeavyWeight" roles = "Hunter" helptext = _("\ The Frigate is a highly versatile boat unit,\ that is both a strong offensive unit as well\ as a decent transport ship.\ ") [unit_ironclad] name = _("Ironclad") class = "Sea" tech_req = "Steam Engine" obsolete_by = "Destroyer" graphic = "u.ironclad" graphic_alt = "-" sound_move = "m_ironclad" sound_move_alt = "m_generic" sound_fight = "f_ironclad" sound_fight_alt = "f_generic" build_cost = 60 pop_cost = 0 attack = 4 defense = 4 hitpoints = 30 firepower = 1 move_rate = 4 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BadCityDefender", "HeavyWeight" roles = "Hunter" helptext = _("\ The Ironclad is an armored ship that is\ much more sturdy than the Frigate but\ loses the latter's transport capability.\ ") [unit_destroyer] name = _("Destroyer") class = "Sea" tech_req = "Electricity" obsolete_by = "None" graphic = "u.destroyer" graphic_alt = "-" sound_move = "m_destroyer" sound_move_alt = "m_generic" sound_fight = "f_destroyer" sound_fight_alt = "f_generic" build_cost = 60 pop_cost = 0 attack = 4 defense = 4 hitpoints = 30 firepower = 1 move_rate = 6 vision_radius_sq = 8 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BadCityDefender", "HeavyWeight" roles = "Hunter" helptext = _("\ An improved Ironclad, with better move rate and vision.\ "), _("\ TIP: A very fast unit, which is very useful for hunting down enemy\ Transports.\ ") [unit_cruiser] name = _("Cruiser") class = "Sea" tech_req = "Steel" obsolete_by = "AEGIS Cruiser" graphic = "u.cruiser" graphic_alt = "-" sound_move = "m_cruiser" sound_move_alt = "m_generic" sound_fight = "f_cruiser" sound_fight_alt = "f_generic" build_cost = 80 pop_cost = 0 attack = 6 defense = 6 hitpoints = 30 firepower = 2 move_rate = 5 vision_radius_sq = 8 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BadCityDefender", "HeavyWeight" roles = "DefendGood", "DefendGoodStartUnit" helptext = _("\ The Cruiser is a strong offensive boat unit.\ ") [unit_aegis_cruiser] name = _("AEGIS Cruiser") class = "Sea" tech_req = "Rocketry" obsolete_by = "None" graphic = "u.aegis_cruiser" graphic_alt = "-" sound_move = "m_aegis_cruiser" sound_move_alt = "m_generic" sound_fight = "f_aegis_cruiser" sound_fight_alt = "f_generic" build_cost = 100 pop_cost = 0 attack = 8 defense = 8 hitpoints = 30 firepower = 2 move_rate = 5 vision_radius_sq = 8 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 bonuses = { "flag", "type", "value" "AirAttacker", "DefenseMultiplier", 4 } flags = "BadCityDefender", "HeavyWeight" roles = "DefendGood", "DefendGoodStartUnit" helptext = _("\ The AEGIS Cruiser is equipped with an advanced\ defensive missile system.\ ") [unit_battleship] name = _("Battleship") class = "Sea" tech_req = "Automobile" obsolete_by = "None" graphic = "u.battleship" graphic_alt = "-" sound_move = "m_battleship" sound_move_alt = "m_generic" sound_fight = "f_battleship" sound_fight_alt = "f_generic" build_cost = 160 pop_cost = 0 attack = 12 defense = 12 hitpoints = 40 firepower = 2 move_rate = 4 vision_radius_sq = 8 transport_cap = 0 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "BadCityDefender", "HeavyWeight" roles = "" helptext = _("\ The Battleship is the supreme naval unit with\ excellent offensive and defensive values.\ ") [unit_submarine] name = _("Submarine") class = "Sea" tech_req = "Combustion" obsolete_by = "None" graphic = "u.submarine" graphic_alt = "-" sound_move = "m_submarine" sound_move_alt = "m_generic" sound_fight = "f_submarine" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 12 defense = 2 hitpoints = 30 firepower = 2 move_rate = 5 vision_radius_sq = 8 transport_cap = 8 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 cargo = "Missile" flags = "Partial_Invis", "BadCityDefender", "Only_Native_Attack", "HeavyWeight" roles = "Hunter" helptext = _("\ Traveling under the surface of the ocean, Submarines have\ a very high strategic value, but a weak defense if caught\ off guard.\ ") [unit_carrier] name = _("Carrier") class = "Sea" tech_req = "Advanced Flight" obsolete_by = "None" graphic = "u.carrier" graphic_alt = "-" sound_move = "m_carrier" sound_move_alt = "m_generic" sound_fight = "f_carrier" sound_fight_alt = "f_generic" build_cost = 160 pop_cost = 0 attack = 1 defense = 9 hitpoints = 40 firepower = 2 move_rate = 5 vision_radius_sq = 8 transport_cap = 8 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 cargo = "Air", "Missile", "Helicopter" flags = "BadCityDefender", "Only_Native_Attack", "HeavyWeight" roles = "" helptext = _("\ The Carrier is a mobile airport.\ "), _("\ TIP: Guard Carriers with a handful of fast-moving ships and a\ battleship, as losing a fully-equipped Carrier is VERY\ painful and expensive.\ ") [unit_transport] name = _("Transport") class = "Sea" tech_req = "Industrialization" obsolete_by = "None" graphic = "u.transport" graphic_alt = "-" sound_move = "m_transport" sound_move_alt = "m_generic" sound_fight = "f_transport" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 0 defense = 3 hitpoints = 30 firepower = 1 move_rate = 5 vision_radius_sq = 8 transport_cap = 8 fuel = 0 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 cargo = "Land" flags = "BadCityDefender", "HeavyWeight" roles = "Ferryboat", "FerryStartUnit" helptext = _("\ The Transport cannot attack on its own but\ may defend itself when under attack.\ ") [unit_cruise_missile] name = _("Cruise Missile") class = "Missile" tech_req = "Rocketry" obsolete_by = "None" graphic = "u.cruise_missile" graphic_alt = "-" sound_move = "m_cruise_missile" sound_move_alt = "m_generic" sound_fight = "f_cruise_missile" sound_fight_alt = "f_generic" build_cost = 60 pop_cost = 0 attack = 18 defense = 0 hitpoints = 10 firepower = 3 move_rate = 12 vision_radius_sq = 2 transport_cap = 0 fuel = 1 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "FieldUnit", "OneAttack", "AirAttacker", "HasNoZOC", "MediumWeight" roles = "" helptext = _("\ The Cruise Missile is a long-distance missile\ that can strike deep into enemy territory.\ "), _("\ TIP: A handful of these can successfully keep the waters around\ your treasured homeland free of enemy ships.\ ") [unit_nuclear] name = _("Nuclear") class = "Missile" tech_req = "Rocketry" obsolete_by = "None" graphic = "u.nuclear" graphic_alt = "-" sound_move = "m_nuclear" sound_move_alt = "m_generic" sound_fight = "f_nuclear" sound_fight_alt = "f_generic" build_cost = 160 pop_cost = 0 attack = 99 defense = 0 hitpoints = 10 firepower = 1 move_rate = 16 vision_radius_sq = 2 transport_cap = 0 fuel = 1 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "FieldUnit", "OneAttack", "Nuclear", "HasNoZOC", "MediumWeight" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_raise_chance = 0 veteran_work_raise_chance = 0 veteran_power_fact = 100 veteran_move_bonus = 0 roles = "" helptext = _("\ You can build Nuclear units when you have the required advance, and\ the Manhattan Project wonder has been built by any player.\ "), _("\ On impact, the blast will destroy any unit in an area 3 tiles wide\ (3x3 squares for rectangular grids), including friendly units.\ Any city within the blast area loses half its population, and\ land tiles within the blast area are subject to nuclear fallout.\ "), _("\ Similar to pollution and global warming, the risk of global nuclear\ winter increases with fallout. If nuclear winter occurs, terrain\ across the globe changes into desert, tundra, and ice. Settlers,\ Workers, and Engineers can clean up nuclear fallout.\ "), _("\ TIP 1: Nuking the ocean will not generate fallout, and is a most\ effective (but expensive!!) way of getting rid of enemy\ ships.\ "), _("\ TIP 2: You may be involved in a situation where you've invaded an\ enemy country en masse, but the enemy cities are too strong.\ Before using a Nuclear unit, assemble a gang of Settlers, Workers,\ and/or Engineers next to the city and have them ready to fix\ the fallout on the same turn it occurs! This minimizes the\ chance of nuclear winter. Eco-friendly nukes!\ ") [unit_diplomat] name = _("Diplomat") class = "Land" tech_req = "Writing" obsolete_by = "Spy" graphic = "u.diplomat" graphic_alt = "-" sound_move = "m_diplomat" sound_move_alt = "m_generic" sound_fight = "f_diplomat" sound_fight_alt = "f_generic" build_cost = 30 pop_cost = 0 attack = 0 defense = 0 hitpoints = 10 firepower = 1 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 0 uk_food = 0 uk_gold = 0 flags = "Diplomat", "IgZOC", "NonMil", "HasNoZOC", "Expellable", "LightWeight" veteran_names = ; /* TRANS: diplomatic rank. */ ; /* TRANS: Unless translated, the last character in "attache" should be */ ; /* TRANS: U+00E9 LATIN SMALL LETTER E WITH ACUTE if available in your */ ; /* TRANS: charset. In ISO-8859-1 (ISO Latin 1) this is 233. */ _("?diplomatic_rank:attache"), ; /* TRANS: diplomatic rank */ _("?diplomatic_rank:secretary"), ; /* TRANS: diplomatic rank */ _("?diplomatic_rank:envoy"), ; /* TRANS: diplomatic rank */ _("?diplomatic_rank:ambassador") veteran_raise_chance = 50, 33, 20, 0 veteran_work_raise_chance = 0, 0, 0, 0 veteran_power_fact = 100, 105, 110, 115 veteran_move_bonus = 0, 0, 0, 0 roles = "DiplomatStartUnit" helptext = _("\ A Diplomat is an official that carries your dispatches and\ is authorized to deal with foreign dignitaries. He may\ also undertake various covert operations with the intent of\ harming your opponents; Diplomats in your own cities defend\ them against such actions.\ "), _("\ Many covert actions may be attempted even in peacetime, but the more\ aggressive actions will be discovered and cause diplomatic incidents,\ which can allow Republics and Democracies to break treaties.\ "), _("\ If a foreign unit is alone on a tile, you may attempt to bribe it\ with your Diplomat. By paying a sum of gold the unit will immediately\ become yours; the exact sum depends on the status of the unit and\ that of the civilization owning it. However, units belonging to\ Democratic governments cannot be bribed. Bribery when not at war\ will cause a diplomatic incident.\ "), _("\ Diplomats can also perform a number of actions in another player's\ city, although each Diplomat may attempt only one action. Most of\ these actions have a chance of failure. Also, any enemy Diplomats or\ Spies in the city will oppose hostile actions, as will the enemy Leader\ in games with leaders; in this case, either your unit or the defending\ unit will die (if you go up against the Leader you will always die). If\ the defending unit dies, you lose one movement point and may try again.\ "), _("\ The actions available to Diplomats in a city are:\ "), _("\ - \"Establish Embassy\": This action always succeeds, and gives\ permanent contact with the city's owner, as well as intelligence\ on their tax rates and technology.\ "), _("\ - \"Investigate City\": Your unit attempts to report detailed\ information about the city: its status, what buildings and units are\ within, and what it is currently producing.\ "), _("\ - \"Sabotage City\": Your unit attempts either to disrupt all the\ city's work so far towards its current project, or to destroy an\ existing building in the city, at random. Once built, Palaces and\ Wonders cannot be sabotaged, and attempts to sabotage City Walls\ or any building in a capital each halve the chance of success.\ Sabotage may only be attempted when openly at war.\ "), _("\ - \"Steal Technology\": Your unit attempts to learn the secrets of a\ random technology known to the city's owner but not to you. Technology\ may only be stolen once from a given enemy city by Diplomats. This\ action may be attempted even when not at war, but will cause a\ diplomatic incident.\ "), _("\ - \"Incite a Revolt\": In return for gold a foreign city will change\ allegiance and join your empire, bringing along all nearby units that\ call it home, but reducing its size by 1. Units in other cities\ remain in the enemy's control, but units outside cities are lost to\ both players. The exact sum depends on the status of the city and\ that of the civilization that owns it. It is not possible to incite\ a rebellion in a capital, or in any city governed by a democracy.\ Incitement may be attempted in peacetime, but will cause a\ diplomatic incident.\ "), _("\ In some game strategies, hordes of Diplomats can be used to wreak\ havoc on the enemy. Little wonder that Diplomats are often\ viewed with suspicion and fear!\ "), _("\ Diplomats built under a Communist government will start at the first\ veteran level (secretary).\ ") [unit_spy] name = _("Spy") class = "Land" tech_req = "Espionage" obsolete_by = "None" graphic = "u.spy" graphic_alt = "-" sound_move = "m_spy" sound_move_alt = "m_generic" sound_fight = "f_spy" sound_fight_alt = "f_generic" build_cost = 30 pop_cost = 0 attack = 0 defense = 0 hitpoints = 10 firepower = 1 move_rate = 3 vision_radius_sq = 8 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 0 uk_food = 0 uk_gold = 0 flags = "Diplomat", "IgZOC", "NonMil", "HasNoZOC", "Spy", "Expellable", "LightWeight" veteran_names = ; /* TRANS: Spy veteran level */ _("?spy_level:informant"), ; /* TRANS: Spy veteran level */ _("?spy_level:handler"), ; /* TRANS: Spy veteran level */ _("?spy_level:agent"), ; /* TRANS: Spy veteran level */ _("?spy_level:spymaster") veteran_raise_chance = 50, 33, 20, 0 veteran_work_raise_chance = 0, 0, 0, 0 veteran_power_fact = 100, 105, 110, 115 veteran_move_bonus = 0, 0, 0, 0 roles = "DiplomatStartUnit" helptext = _("\ A Spy is more skilled in the arts of espionage than her Diplomat predecessor.\ "), _("\ She can perform all the functions of the Diplomat; refer to the Diplomat\ entry for more details. Unlike a Diplomat, a Spy may also survive an\ operation in a foreign city and become more experienced as a result.\ Spies are also more effective than Diplomats at defending cities\ against foreign Diplomats and Spies.\ "), _("\ A Spy can also be used to:\n\ - sabotage an enemy unit (reducing its hit points to half), if it is\ alone on a tile and the players are at war;\n\ - poison the water supply of an enemy city (reducing the population\ by one);\n\ - steal specific technology (with a reduced chance of success);\n\ - steal further technologies from a city which has already been\ stolen from (although cities become more resistant each time they\ are stolen from);\n\ - sabotage predetermined city targets (with a reduced chance of\ success).\ "), _("\ A Spy that survives the more aggressive actions (sabotage, theft,\ inciting rebellion, and poisoning) escapes to the safety of the\ nearest friendly city.\ "), _("\ Spies built under a Communist government will start at the first\ veteran level (handler).\ ") [unit_caravan] name = _("Caravan") class = "Land" tech_req = "Trade" obsolete_by = "Freight" graphic = "u.caravan" graphic_alt = "-" sound_move = "m_caravan" sound_move_alt = "m_generic" sound_fight = "f_caravan" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 0 defense = 1 hitpoints = 10 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 0 uk_food = 0 uk_gold = 0 flags = "TradeRoute", "HelpWonder", "IgZOC", "NonMil", "HasNoZOC", "Expellable", "MediumWeight" roles = "" helptext = _("\ A Caravan carries goods or material for trading with distant cities\ and foreign countries, or to help build wonders in your cities.\ "), _("\ Caravans can establish trade routes with your own cities or those of other\ nations (even enemies) by traveling to them. A route's ongoing revenue\ is doubled if the two cities involved are on different continents, and\ doubled again if the cities are from different civilizations. This last\ condition means the net benefit to your civilization of a trade route\ is the same regardless of whether you own both cities or only one of\ them; if you only own one city, trade in each city is doubled, but you\ only get the benefit from one end of the route.\ "), _("\ Initially cities can support a maximum of two trade routes. Knowledge of\ the technologies Magnetism and The Corporation each increase this limit\ by one; knowing both allows cities to support four trade routes each.\ "), _("\ Every Caravan that is used to build a wonder will add 50 shields\ towards the production of the wonder.\ "), _("\ TIP: You can stockpile a stack of Caravans in advance and bring\ them all into a city where you have started to build a wonder,\ and finish it in only one turn!\ ") [unit_freight] name = _("Freight") class = "Land" tech_req = "The Corporation" obsolete_by = "None" graphic = "u.freight" graphic_alt = "-" sound_move = "m_freight" sound_move_alt = "m_generic" sound_fight = "f_freight" sound_fight_alt = "f_generic" build_cost = 50 pop_cost = 0 attack = 0 defense = 1 hitpoints = 10 firepower = 1 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 0 uk_food = 0 uk_gold = 0 flags = "TradeRoute", "HelpWonder", "IgZOC", "NonMil", "HasNoZOC", "Expellable", "MediumWeight" roles = "" helptext = _("\ The Freight unit replaces the Caravan, and moves at twice the speed.\ ") [unit_explorer] name = _("Explorer") class = "Land" tech_req = "Seafaring" obsolete_by = "Partisan" graphic = "u.explorer" graphic_alt = "-" sound_move = "m_explorer" sound_move_alt = "m_generic" sound_fight = "f_explorer" sound_fight_alt = "f_generic" build_cost = 30 pop_cost = 0 attack = 0 defense = 1 hitpoints = 10 firepower = 1 move_rate = 1 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 0 uk_food = 0 uk_gold = 0 flags = "IgTer", "IgZOC", "NonMil", "HasNoZOC", "Expellable", "LightWeight" roles = "Explorer", "ExplorerStartUnit" helptext = _("\ Explorers are brave individuals that are very useful for\ mapping unknown territory.\ ") [unit_leader] name = _("?unit:Leader") class = "Land" tech_req = "None" obsolete_by = "None" graphic = "u.leader" graphic_alt = "u.explorer" sound_move = "m_leader" sound_move_alt = "m_generic" sound_fight = "f_leader" sound_fight_alt = "f_generic" build_cost = 10 pop_cost = 0 attack = 0 defense = 2 hitpoints = 20 firepower = 1 move_rate = 2 vision_radius_sq = 8 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 0 uk_food = 0 uk_gold = 0 flags = "IgZOC", "NonMil", "HasNoZOC", "NoBuild", "NoHome", "SuperSpy", "Undisbandable", "Unbribable", "GameLoss", "Unique", "LightWeight" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_raise_chance = 0 veteran_work_raise_chance = 0 veteran_power_fact = 100 veteran_move_bonus = 0 roles = "KingStartUnit" helptext = _("\ This is you. If you lose this unit, you lose the game. So don't.\ ") [unit_barbarian_leader] name = _("Barbarian Leader") class = "Land" tech_req = "None" obsolete_by = "None" graphic = "u.barbarian_leader" graphic_alt = "u.diplomat" sound_move = "m_barbarian_leader" sound_move_alt = "m_generic" sound_fight = "f_barbarian_leader" sound_fight_alt = "f_generic" build_cost = 40 pop_cost = 0 attack = 0 defense = 0 hitpoints = 10 firepower = 1 move_rate = 2 vision_radius_sq = 2 transport_cap = 0 fuel = 0 uk_happy = 0 uk_shield = 0 uk_food = 0 uk_gold = 0 flags = "IgZOC", "NonMil", "HasNoZOC", "Unbribable", "Undisbandable", "SuperSpy", "NoHome", "NoBuild", "LightWeight" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_raise_chance = 0 veteran_work_raise_chance = 0 veteran_power_fact = 100 veteran_move_bonus = 0 roles = "BarbarianLeader" helptext = _("\ One Barbarian Leader appears every time there is a barbarian uprising\ somewhere in the world.\ "), _("\ When a Barbarian Leader is killed on a tile without any defending units,\ the 100 gold ransom is paid, but only to land units and helicopters.\ ") [unit_awacs] name = _("AWACS") class = "Air" tech_req = "Advanced Flight" obsolete_by = "None" graphic = "u.awacs" graphic_alt = "u.bomber" ; backwards compatibility sound_move = "m_awacs" sound_move_alt = "m_generic" sound_fight = "f_awacs" sound_fight_alt = "f_generic" build_cost = 140 pop_cost = 0 attack = 0 defense = 1 hitpoints = 20 firepower = 1 move_rate = 16 vision_radius_sq = 26 transport_cap = 0 fuel = 2 uk_happy = 1 uk_shield = 1 uk_food = 0 uk_gold = 0 flags = "HasNoZOC", "MediumWeight" roles = "" helptext = _("\ The AWACS (Airborne Warning and Control System) is an airplane with an \ advanced radar that can determine the location of enemy units over a \ wide area.\ ") ENDREP id: 2mwe.5ck.r33388/320013 type: file count: 0 text: 33388 100 47734 47717 31469e498edee1e4ec0021e4f1718b00 cpath: /trunk/data/webperimental/buildings.ruleset copyroot: 15280 /trunk id: 2mwh.5ck.r33388/320196 type: file count: 0 text: 33388 47847 4759 4745 b1921747a2f3153bebd33608a318a1f1 cpath: /trunk/data/webperimental/cities.ruleset copyroot: 15280 /trunk id: 2mwj.5ck.r33388/320376 type: file count: 0 text: 33388 52619 57101 57084 0bb0b4ee01ab0dda58e61febcb17114a cpath: /trunk/data/webperimental/effects.ruleset copyroot: 15280 /trunk id: 2mwl.5ck.r33388/320559 type: file count: 0 text: 33388 109733 36140 36123 f6545883763d6e1bd514dafcce99e76b cpath: /trunk/data/webperimental/game.ruleset copyroot: 15280 /trunk id: 2mwn.5ck.r33388/320740 type: file count: 0 text: 33388 145886 7234 7220 07fa594c95fbc97c5c4b1659ede38127 cpath: /trunk/data/webperimental/governments.ruleset copyroot: 15280 /trunk id: 2mwp.5ck.r33388/320926 type: file count: 0 text: 33388 153133 2916 2902 70e1fa646d27ab09772553655593ebf1 cpath: /trunk/data/webperimental/nations.ruleset copyroot: 15280 /trunk id: 2mwr.5ck.r33388/321108 type: file count: 0 text: 33388 156062 3115 3101 be2d683a61e0b94d2bdd9fdaf664dd70 cpath: /trunk/data/webperimental/script.lua copyroot: 15280 /trunk id: 2mwt.5ck.r33388/321285 type: file count: 0 text: 33388 159190 7024 7010 f2bdd222ef6bf2b2a8ec4079da1ae5de cpath: /trunk/data/webperimental/styles.ruleset copyroot: 15280 /trunk id: 2mwv.5ck.r33388/321466 type: file count: 0 text: 33388 166227 19958 19941 4cfdecd71636474137140a4c8011071f cpath: /trunk/data/webperimental/techs.ruleset copyroot: 15280 /trunk id: 2mwx.5ck.r33388/321648 type: file count: 0 text: 33388 186198 58788 58771 370a8b46c467c8b2021f7f42cdcb8109 cpath: /trunk/data/webperimental/terrain.ruleset copyroot: 15280 /trunk id: 2mwz.5ck.r33388/321832 type: file count: 0 text: 33388 244999 75001 74984 20adef5a7bca9602aba747c5c2b3b151 cpath: /trunk/data/webperimental/units.ruleset copyroot: 15280 /trunk PLAIN K 17 buildings.ruleset V 27 file 2mwe.5ck.r33388/320013 K 14 cities.ruleset V 27 file 2mwh.5ck.r33388/320196 K 15 effects.ruleset V 27 file 2mwj.5ck.r33388/320376 K 12 game.ruleset V 27 file 2mwl.5ck.r33388/320559 K 19 governments.ruleset V 27 file 2mwn.5ck.r33388/320740 K 15 nations.ruleset V 27 file 2mwp.5ck.r33388/320926 K 10 script.lua V 27 file 2mwr.5ck.r33388/321108 K 14 styles.ruleset V 27 file 2mwt.5ck.r33388/321285 K 13 techs.ruleset V 27 file 2mwv.5ck.r33388/321466 K 15 terrain.ruleset V 27 file 2mwx.5ck.r33388/321648 K 13 units.ruleset V 27 file 2mwz.5ck.r33388/321832 END ENDREP id: 2mwd.5ck.r33388/322617 type: dir count: 0 text: 33388 322014 590 0 f0585f08c63ea32709bfe849d1a3e995 cpath: /trunk/data/webperimental copyroot: 15280 /trunk id: 2mwa.5ck.r33388/322778 type: file count: 0 text: 33388 0 87 76 00913733e85650bf07349a9c701a984e cpath: /trunk/data/webperimental.serv copyroot: 15280 /trunk PLAIN K 11 Makefile.am V 23 file 5l.5ck.r33149/1629 K 5 alien V 23 dir fav.5ck.r33372/3516 K 10 alien.serv V 23 file fbk.5ck.r22305/900 K 4 alio V 23 dir 1sqa.5ck.r29765/806 K 13 alio.tilespec V 23 file 1ef5.5sb.r33270/50 K 6 amplio V 24 dir 340.5ck.r33206/16237 K 15 amplio.tilespec V 25 file 34t.5ck.r33227/22320 K 7 amplio2 V 25 dir 4na.5ck.r33263/513343 K 16 amplio2.tilespec V 26 file 4oe.5ck.r33263/513582 K 9 buildings V 22 dir 3co.0.r12672/18420 K 10 cimpletoon V 24 dir 78f.5ck.r28619/45659 K 19 cimpletoon.tilespec V 26 file 78i.5ck.r33263/513832 K 4 civ1 V 22 dir 8l.5ck.r33372/4616 K 9 civ1.serv V 23 file 8s.5ck.r20880/5228 K 4 civ2 V 22 dir ge.5ck.r33372/5715 K 9 civ2.serv V 23 file gj.5ck.r20880/5465 K 8 civ2civ3 V 23 dir fum.5ck.r33372/6876 K 13 civ2civ3.serv V 23 file fv0.5ck.r24155/112 K 7 classic V 23 dir csx.5ck.r33372/8061 K 12 classic.serv V 23 file n1h.5ck.r22608/212 K 7 default V 22 dir 89.5ck.r33139/7109 K 12 default.serv V 24 file 2xa.5ck.r27479/5878 K 12 experimental V 23 dir 4k5.5ck.r33372/9171 K 17 experimental.serv V 24 file 4ki.5ck.r20880/5702 K 5 flags V 25 dir 2gl.5ck.r31646/160516 K 19 freeciv-client.icns V 24 file 3fa.0.r12705/354534 K 18 freeciv-client.png V 24 file 33s.0.r12705/351588 K 19 freeciv-server.icns V 24 file 3fc.0.r12705/355017 K 18 freeciv-server.png V 25 file 3fd.5bk.r13732/27487 K 14 freeciv.rc-2.0 V 25 file 11h.5ck.r16281/11565 K 8 graphics V 24 dir 2x2.5ck.r28478/54898 K 14 gtk2_menus.xml V 25 file 4hw.5th.r30305/14276 K 14 gtk3_menus.xml V 24 file 4hw.5ti.r31089/1036 K 15 gtk3x_menus.xml V 21 file 4hw.5u1.r31088/0 K 12 helpdata.txt V 21 file y.5ck.r33222/968 K 5 hex2t V 24 dir 3dv.5ck.r33206/24126 K 14 hex2t.tilespec V 25 file 3e7.5ck.r33227/23010 K 9 hexemplio V 26 dir 1dwq.5ck.r33263/515577 K 18 hexemplio.tilespec V 27 file 1dxl.5ck.r33263/515821 K 5 icons V 24 dir 4cb.5ck.r20125/42857 K 7 isophex V 23 dir 2pl.5ck.r31696/6349 K 16 isophex.tilespec V 25 file 2pz.5ck.r33227/23453 K 10 isotrident V 24 dir 13p.5ck.r33206/26487 K 19 isotrident.tilespec V 25 file 148.5ck.r33227/23702 K 4 misc V 23 dir jl.5ck.r33262/29898 K 11 multiplayer V 23 dir 89.5es.r33372/10357 K 16 multiplayer.serv V 24 file 2xa.5et.r17702/1849 K 6 nation V 23 dir ot.5ck.r32812/30398 K 8 override V 23 dir 14ks.5ck.r25526/900 K 7 ruledit V 25 dir 2crc.5ck.r33372/10926 K 7 sandbox V 24 dir fum.5to.r33372/12050 K 12 sandbox.serv V 24 file fv0.5tp.r30532/4431 K 9 scenarios V 22 dir io.5g6.r33362/1367 K 8 stdmusic V 23 dir 146c.5ck.r25526/607 K 18 stdmusic.musicspec V 26 file 10u1.5ck.r32232/18256 K 9 stdsounds V 23 dir 32g.5ck.r31331/1186 K 19 stdsounds.soundspec V 22 file 32y.5ck.r33374/66 K 4 stub V 25 dir 1556.5ck.r33372/13130 K 9 stub.serv V 26 file 155p.5ck.r25199/65944 K 6 themes V 23 dir 2m6.5ck.r33385/3108 K 16 toonhex.tilespec V 27 file 1ef5.5ck.r33263/516020 K 7 trident V 23 dir eb.5ck.r33206/30746 K 16 trident.tilespec V 24 file k4.5ck.r33227/24148 K 13 webperimental V 26 dir 2mwd.5ck.r33388/322617 K 18 webperimental.serv V 27 file 2mwa.5ck.r33388/322778 K 7 wonders V 23 dir 3qc.5ck.r28518/2262 END ENDREP id: w.5ck.r33388/326022 type: dir pred: w.5ck.r33385/6313 count: 3806 text: 33388 322940 3069 0 1212ca14a75f7f56f2ef3fd261caf0c8 props: 11355 32945 104 0 b8b28eed1bd4d902aad8c746f9403748 cpath: /trunk/data copyroot: 15280 /trunk PLAIN K 9 ABOUT-NLS V 24 file fu.5ck.r33136/31347 K 7 AUTHORS V 24 file 5u.5ck.r22143/14016 K 7 COPYING V 22 file 1h.5ck.r29454/952 K 9 ChangeLog V 26 file 6l.5ck.r31297/7697235 K 7 INSTALL V 21 file 6.5ck.r32981/260 K 11 Makefile.am V 22 file 59.5ck.r31919/510 K 4 NEWS V 24 file 6m.5ck.r25634/30702 K 6 README V 20 file 7.0.r4421/96382 K 2 ai V 22 dir 8.5ck.r33386/49516 K 10 autogen.sh V 22 file 12o.5ck.r32635/46 K 9 bootstrap V 23 dir 2p5.5ck.r33175/2651 K 6 client V 22 dir d.5ck.r33386/76836 K 6 common V 22 dir p.5ck.r33386/84513 K 12 configure.ac V 23 file 149.5ck.r33368/100 K 4 data V 23 dir w.5ck.r33388/326022 K 12 dependencies V 23 dir 2yu.5ck.r33071/8056 K 3 doc V 22 dir k7.5ck.r33367/2105 K 10 fc_version V 25 file 2lo.5en.r33324/29075 K 11 gen_headers V 24 dir 1hsw.5ck.r32371/1764 K 3 lua V 24 dir 2c5e.5ck.r31919/4841 K 2 m4 V 23 dir 12p.5ck.r33328/2985 K 7 scripts V 23 dir 2yo.5ck.r31852/3843 K 6 server V 22 dir z.5ck.r33386/94360 K 5 tests V 22 dir 2g9.5ck.r32361/591 K 5 tools V 24 dir 4pj.5js.r33386/95796 K 12 translations V 26 dir t0a.5ck.r33280/1047021 K 7 utility V 24 dir 1c.5ck.r33386/100608 K 5 win32 V 23 dir 2eu.5ck.r33359/1989 END ENDREP id: 3.5ck.r33388/327426 type: dir pred: 3.5ck.r33386/102011 count: 21663 text: 33388 326252 1161 0 83c9ee68f8616270451c3bebc96ceb71 props: 28036 14655 292 0 9e1d5de0253c723466868990c52c129f cpath: /trunk copyroot: 15280 /trunk PLAIN K 8 branches V 20 dir 1.0.r33383/10434 K 4 tags V 19 dir 2.0.r33382/6667 K 5 trunk V 23 dir 3.5ck.r33388/327426 K 7 website V 21 dir 3ge.0.r33387/2571 END ENDREP id: 0.0.r33388/327822 type: dir pred: 0.0.r33387/2892 count: 33388 text: 33388 327654 155 0 0601e4763c9a2c452176d7edb929d8c7 cpath: / copyroot: 0 / _5.5ck.t33387-1 add false false /trunk/data/webperimental _2.5ck.t33387-1 add true false /trunk/data/webperimental.serv _6.5ck.t33387-1 add true false /trunk/data/webperimental/buildings.ruleset _9.5ck.t33387-1 add true false /trunk/data/webperimental/cities.ruleset _b.5ck.t33387-1 add true false /trunk/data/webperimental/effects.ruleset _d.5ck.t33387-1 add true false /trunk/data/webperimental/game.ruleset _f.5ck.t33387-1 add true false /trunk/data/webperimental/governments.ruleset _h.5ck.t33387-1 add true false /trunk/data/webperimental/nations.ruleset _j.5ck.t33387-1 add true false /trunk/data/webperimental/script.lua _l.5ck.t33387-1 add true false /trunk/data/webperimental/styles.ruleset _n.5ck.t33387-1 add true false /trunk/data/webperimental/techs.ruleset _p.5ck.t33387-1 add true false /trunk/data/webperimental/terrain.ruleset _r.5ck.t33387-1 add true false /trunk/data/webperimental/units.ruleset 327822 327971