; This is the experimental ruleset. See doc/README.ruleset_experimental
; for a detailed description.

; 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 <mysubdir>" 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 terrain data for Freeciv"
options="+Freeciv-2.3-ruleset"

[options]
may_road=1           ; 0 means no, 1 means yes
may_irrigate=1       ; 0 means no, 1 means yes
may_mine=1           ; 0 means no, 1 means yes
may_transform=1      ; 0 means no, 1 means yes

[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

; 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

; There is no resources in the middle of the oceans, only near coast
ocean_resources = 0

; special movement costs for rivers:
;   0 - normal movement cost for rivers (matches Civ1)
;   1 - 1/3 movement cost, but only when moving exactly along rivers,
;       diagonal moves incur full terrain movement costs (matches Civ2)
;   2 - 1/3 movement cost directly along river, 2/3 for diagonals (this
;       is effectively the same as '1', as if you had done the two moves,
;       except for differences relating to ZOC, etc.)
;   3 - 1/3 movement cost for any river to river move (classic Freeciv)
river_move_mode=1

; percent added to defense if tile is Civ2-style river
river_defense_bonus=50

; amount added to trade production if tile is Civ2-style river
river_trade_incr=1

; help text for Civ2-style rivers
river_help_text=_("\
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); movement along a River costs only 1/3 of a movement point.\
"), _("\
Roads and railroads can only be built on River tiles if your\
 civilization has learned Bridge Building technology.\
")

; percent added to trade production if road and city has superhighways
road_superhighway_trade_bonus=50

; percent added to food production if tile has railroad
rail_food_bonus=0

; percent added to shield production if tile has railroad
rail_shield_bonus=50

; percent added to trade production if tile has railroad
rail_trade_bonus=0

; percent subtracted from food production if tile is polluted
pollution_food_penalty=50

; percent subtracted from shield production if tile is polluted
pollution_shield_penalty=50

; percent subtracted from trade production if tile is polluted
pollution_trade_penalty=50

; percent subtracted from food production if tile has fallout
fallout_food_penalty=50

; percent subtracted from shield production if tile has fallout
fallout_shield_penalty=50

; percent subtracted from trade production if tile has fallout
fallout_trade_penalty=50

; /* <-- 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,
; should contain the specific strings found in the nation city_name lists,
; and may be used in debug output when reading this file.
; Some have been chosen to avoid the city_name lists (_peaks, _water).
;
; 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 [tile_*] in tilespec.
; graphic_alt          = alternate graphic [tile_*] when preferred is not found;
;                        otherwise may be "-"
; identifier           = single-character identifier used in savegames.  This
;                        must be unique for each terrain, and changing it will
;                        break savegame compatibility.
; movement_cost        = 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_trade_incr      = increment to trade if tile has road
; road_time            = time to build road; if 0, cannot build road
; 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
; 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
; 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
; 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:
;   - NoBarbs          = Barbarians will not be spawned here.
;   - NoCities         = Cities may not be built or found on this terrain.
;   - NoPollution      = Pollution and Fallout will not be put on this
;                        terrain type.
;   - Starter          = Players will only be started on "Starter" 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
;                        F_TRIRIEME units.
;   - Oceanic          = This is an "ocean" terrain.  This has a big effect
;                        on gameplay.  Naval units can move on oceanic terrain,
;                        while land units cannot.  Oceanic tiles can be used
;                        as a water source for irrigation.  Cities built next
;                        to oceanic terrain can build naval improvements and
;                        units.  Most terrain improvements can only be built
;                        on land.  Oceanic terrain has no zones of control.
;                        The list goes on.
;   - FreshWater       = This terrain is used for small bodies of water.
; property_*           = specific property % values used by mapgen.  Most
;                        terrains will have 0 for most values.
;  - 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)
;  - 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
; helptext             = optional help text string; should escape all raw 
;                        newlines so that xgettext parsing works
;
; */ <-- avoid gettext warnings

[terrain_lake]
name                 = _("Lake")
graphic              = "lake"
graphic_alt          = "coast"
identifier           = "+"
movement_cost        = 1
defense_bonus        = 0
food                 = 1
shield               = 0
trade                = 2
resources            = "resource_fish"
road_trade_incr      = 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     = "terrain_swamp"
transform_time       = 36
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "no"
warmer_drier_result  = "terrain_swamp"
cooler_wetter_result = "terrain_glacier"
cooler_drier_result  = "terrain_tundra"
native_to            = "Sea", "Air", "Missile", "Helicopter", "Trireme"
flags                = "Oceanic", "NoCities", "NoPollution", "FreshWater"
property_ocean_depth = 0
helptext             = _("\
Lakes are substantial bodies of fresh water.\
")

[terrain_ocean]
name                 = _("Ocean")
graphic              = "coast"
graphic_alt          = "-"
identifier           = " "
movement_cost        = 1
defense_bonus        = 0
food                 = 1
shield               = 0
trade                = 2
resources            = "resource_fish", "resource_whales"
road_trade_incr      = 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     = "terrain_swamp"
transform_time       = 36
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "no"
warmer_drier_result  = "terrain_swamp"
cooler_wetter_result = "terrain_glacier"
cooler_drier_result  = "terrain_glacier"
native_to            = "Sea", "Air", "Missile", "Helicopter", "Trireme"
flags                = "Oceanic", "NoCities", "NoPollution", "UnsafeCoast"
property_ocean_depth = 32
helptext             = _("\
Shallow oceans are mostly found near coastlines, and are often rich\
 sources of food and other resources. They can be traversed by sea\
 units, including Triremes.\
")

[terrain_deep_ocean]
name                 = _("Deep Ocean")
graphic              = "floor"
graphic_alt          = "coast"
identifier           = ":"
movement_cost        = 1
defense_bonus        = 0
food                 = 1
shield               = 0
trade                = 2
;resources            = "none"
road_trade_incr      = 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
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "no"
warmer_drier_result  = "no"
cooler_wetter_result = "no"
cooler_drier_result  = "no"
native_to            = "Sea", "Air", "Missile", "Helicopter"
flags                = "Oceanic", "NoCities", "NoPollution", "UnsafeCoast"
property_ocean_depth = 87
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"
movement_cost        = 2
defense_bonus        = 0
food                 = 0
shield               = 0
trade                = 0
resources            = "resource_icy_ivory", "resource_oil"
road_trade_incr      = 0
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     = "terrain_tundra"
transform_time       = 24
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "terrain_tundra"
warmer_drier_result  = "terrain_tundra"
cooler_wetter_result = "no"
cooler_drier_result  = "no"
native_to            = "Land", "Big Land", "Air", "Missile", "Helicopter"
flags                = "NoBarbs", "NoCities", "CanHaveRiver"
property_frozen      = 100
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.\
")

[terrain_desert]
name                 = _("Desert")
graphic              = "desert"
graphic_alt          = "-"
identifier           = "d"
movement_cost        = 1
defense_bonus        = 0
food                 = 0
shield               = 1
trade                = 0
resources            = "resource_oasis", "resource_oil"
road_trade_incr      = 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     = "terrain_plains"
transform_time       = 24
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "terrain_grassland"
warmer_drier_result  = "no"
cooler_wetter_result = "terrain_plains"
cooler_drier_result  = "terrain_tundra"
native_to            = "Land", "Big Land", "Air", "Missile", "Helicopter"
flags                = "CanHaveRiver"
property_dry         = 100
property_tropical    = 50
property_temperate   = 20
helptext             = _("\
Deserts are regions of extreme dryness, making agriculture and\
 trade very difficult.\
")

[terrain_forest]
name                 = _("Forest")
graphic              = "forest"
graphic_alt          = "-"
identifier           = "f"
movement_cost        = 2
defense_bonus        = 50
food                 = 1
shield               = 2
trade                = 0
resources            = "resource_pheasant", "resource_silk"
road_trade_incr      = 0
road_time            = 4
irrigation_result    = "terrain_plains"
irrigation_food_incr = 0
irrigation_time      = 5
mining_result        = "terrain_swamp"
mining_shield_incr   = 0
mining_time          = 15
transform_result     = "terrain_grassland"
transform_time       = 24
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "terrain_jungle"
warmer_drier_result  = "terrain_plains"
cooler_wetter_result = "terrain_swamp"
cooler_drier_result  = "terrain_tundra"
native_to            = "Land", "Air", "Missile", "Helicopter"
flags                = "Starter", "CanHaveRiver"
property_cold        = 20
property_wet         = 20
property_foliage     = 50
property_temperate   = 50
helptext             = _("\
Forests are densely wooded, making agriculture somewhat\
 problematic.\
")

[terrain_grassland]
name                 = _("Grassland")
graphic              = "grassland"
graphic_alt          = "-"
identifier           = "g"
movement_cost        = 1
defense_bonus        = 0
food                 = 2
shield               = 0
trade                = 0
resources            = "resource_bonus"
road_trade_incr      = 1
road_time            = 2
irrigation_result    = "yes"
irrigation_food_incr = 1
irrigation_time      = 5
mining_result        = "terrain_forest"
mining_shield_incr   = 0
mining_time          = 10
transform_result     = "terrain_hills"
transform_time       = 24
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "terrain_ocean"
warmer_drier_result  = "terrain_desert"
cooler_wetter_result = "terrain_glacier"
cooler_drier_result  = "terrain_tundra"
native_to            = "Land", "Big Land", "Air", "Missile", "Helicopter"
flags                = "Starter", "CanHaveRiver"
property_green       = 50
property_temperate   = 50
helptext             = _("\
Grasslands afford exceptional agricultural opportunities.\
")

[terrain_hills]
name                 = _("Hills")
graphic              = "hills"
graphic_alt          = "-"
identifier           = "h"
movement_cost        = 2
defense_bonus        = 100
food                 = 1
shield               = 0
trade                = 0
resources            = "resource_coal", "resource_wine"
road_trade_incr      = 0
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     = "terrain_plains"
transform_time       = 24
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
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
helptext             = _("\
In addition to being amenable to agriculture, Hills are frequently\
 rich in resources.\
")

[terrain_jungle]
name                 = _("Jungle")
graphic              = "jungle"
graphic_alt          = "-"
identifier           = "j"
movement_cost        = 2
defense_bonus        = 50
food                 = 1
shield               = 0
trade                = 0
resources            = "resource_gems", "resource_fruit"
road_trade_incr      = 0
road_time            = 4
irrigation_result    = "terrain_grassland"
irrigation_food_incr = 0
irrigation_time      = 15
mining_result        = "terrain_forest"
mining_shield_incr   = 0
mining_time          = 15
transform_result     = "terrain_plains"
transform_time       = 24
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "terrain_ocean"
warmer_drier_result  = "terrain_desert"
cooler_wetter_result = "terrain_swamp"
cooler_drier_result  = "terrain_tundra"
native_to            = "Land", "Air", "Missile", "Helicopter"
flags                = "CanHaveRiver"
property_foliage     = 50
property_tropical    = 50
property_wet         = 50
helptext             = _("\
Jungles are densely overgrown, making agriculture somewhat\
 problematic.\
")

[terrain_mountains]
name                 = _("Mountains")
graphic              = "mountains"
graphic_alt          = "-"
identifier           = "m"
movement_cost        = 3
defense_bonus        = 200
food                 = 0
shield               = 1
trade                = 0
resources            = "resource_gold", "resource_iron"
road_trade_incr      = 0
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     = "terrain_hills"
transform_time       = 24
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
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
helptext             = _("\
Mountains are regions of extreme altitude, making agriculture and\
 trade very difficult.\
")

[terrain_plains]
name                 = _("Plains")
graphic              = "plains"
graphic_alt          = "-"
identifier           = "p"
movement_cost        = 1
defense_bonus        = 0
food                 = 1
shield               = 1
trade                = 0
resources            = "resource_buffalo", "resource_wheat"
road_trade_incr      = 1
road_time            = 2
irrigation_result    = "yes"
irrigation_food_incr = 1
irrigation_time      = 5
mining_result        = "terrain_forest"
mining_shield_incr   = 0
mining_time          = 15
transform_result     = "terrain_grassland"
transform_time       = 24
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "terrain_ocean"
warmer_drier_result  = "terrain_desert"
cooler_wetter_result = "terrain_glacier"
cooler_drier_result  = "terrain_tundra"
native_to            = "Land", "Big Land", "Air", "Missile", "Helicopter"
flags                = "Starter", "CanHaveRiver"
property_green       = 50
property_temperate   = 50
helptext             = _("\
Plains are very broad, sparse regions, which makes trade slightly\
 inconvenient.\
")

[terrain_swamp]
name                 = _("Swamp")
graphic              = "swamp"
graphic_alt          = "-"
identifier           = "s"
movement_cost        = 2
defense_bonus        = 50
food                 = 1
shield               = 0
trade                = 0
resources            = "resource_peat", "resource_spice"
road_trade_incr      = 0
road_time            = 4
irrigation_result    = "terrain_grassland"
irrigation_food_incr = 0
irrigation_time      = 15
mining_result        = "terrain_forest"
mining_shield_incr   = 0
mining_time          = 15
transform_result     = "terrain_ocean"
transform_time       = 36
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "terrain_ocean"
warmer_drier_result  = "terrain_desert"
cooler_wetter_result = "terrain_glacier"
cooler_drier_result  = "terrain_tundra"
native_to            = "Land", "Air", "Missile", "Helicopter"
flags                = "CanHaveRiver"
property_wet         = 100
property_tropical    = 10
property_temperate   = 10
property_cold        = 10
helptext             = _("\
Swamps suffer from an over-abundance of water, making agriculture\
 somewhat problematic.\
")

[terrain_tundra]
name                 = _("Tundra")
graphic              = "tundra"
graphic_alt          = "-"
identifier           = "t"
movement_cost        = 1
defense_bonus        = 0
food                 = 1
shield               = 0
trade                = 0
resources            = "resource_game", "resource_furs"
road_trade_incr      = 0
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     = "terrain_desert"
transform_time       = 24
rail_time            = 3
clean_pollution_time = 3
clean_fallout_time   = 3
warmer_wetter_result = "terrain_ocean"
warmer_drier_result  = "terrain_desert"
cooler_wetter_result = "terrain_glacier"
cooler_drier_result  = "no"
native_to            = "Land", "Big Land", "Air", "Missile", "Helicopter"
flags                = "Starter", "NoBarbs", "CanHaveRiver"
property_cold        = 50
helptext             = _("\
Tundra are broad, cold regions, fit for some agriculture and little\
 else.\
")

; The individual resource types, one per section.
; Roughly sorted by identifier.
; 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:
;
; name                 = name as seen by user; if "unused", it is not used,
;                        but is included for conversion and/or the editor.
; graphic              = preferred graphic [tile_*] in tilespec.
; graphic_alt          = alternate graphic [tile_*] when preferred is not found;
;                        otherwise may be "-"
; identifier           = single-character identifier used in savegames.  This
;                        must be unique for each resource, and changing it will
;                        break savegame compatibility.
; food                 = increased food production
; shield               = increased shield production
; trade                = increased trade production

[resource_gold]
name        = _("Gold")
graphic     = "ts.gold"
graphic_alt = "-"
identifier  = "$"
trade       = 6
# glacier, hills, mountains.

[resource_iron]
name        = _("Iron")
graphic     = "ts.iron"
graphic_alt = "-"
identifier  = "/"
shield      = 3
# mountains.

[resource_game]
name        = _("?animals:Game")
graphic     = "ts.tundra_game"
graphic_alt = "-"
identifier  = "e"
food        = 2
shield      = 1
# tundra.

[resource_furs]
name        = _("Furs")
graphic     = "ts.furs"
graphic_alt = "-"
identifier  = "u"
food        = 1
trade       = 3
# tundra-only (beaver pelts).

[resource_coal]
name        = _("Coal")
graphic     = "ts.coal"
graphic_alt = "-"
identifier  = "c"
shield      = 2
# hills.

[resource_fish]
name        = _("Fish")
graphic     = "ts.fish"
graphic_alt = "-"
identifier  = "y"
food        = 2
# ocean.

[resource_fruit]
name        = _("Fruit")
graphic     = "ts.fruit"
graphic_alt = "-"
identifier  = "f"
food        = 3
trade       = 1
# jungle.

[resource_gems]
name        = _("Gems")
graphic     = "ts.gems"
graphic_alt = "-"
identifier  = "g"
trade       = 4
# jungle.

; "h" reserved for strategic horses

[resource_buffalo]
name        = _("Buffalo")
graphic     = "ts.buffalo"
graphic_alt = "-"
identifier  = "b"
shield      = 2
# plains (horses => buffalo => cattle).

[resource_wheat]
name        = _("Wheat")
graphic     = "ts.wheat"
graphic_alt = "-"
identifier  = "j"
food        = 2
# plains.

; "k" reserved for (cane) sugar

; "l" reserved for tobacco

; "m" reserved for marble

[resource_oasis]
name        = _("Oasis")
graphic     = "ts.oasis"
graphic_alt = "-"
identifier  = "o"
food        = 3
# desert.

[resource_peat]
name        = _("Peat")
graphic     = "ts.peat"
graphic_alt = "-"
identifier  = "a"
shield      = 4
# swamp (petroleum => peat => petroleum).

[resource_pheasant]
name        = _("Pheasant")
graphic     = "ts.pheasant"
graphic_alt = "-"
identifier  = "p"
food        = 2
# forest, forested.

; "r" reserved for rubber

[resource_bonus]
name        = _("Resources")
graphic     = "ts.grassland_resources"
graphic_alt = "-"
identifier  = "r"
shield      = 1
# grassland.

[resource_icy_ivory]
name        = _("Ivory")
graphic     = "ts.arctic_ivory"
graphic_alt = "-"
identifier  = "i"
food        = 1
shield      = 1
trade       = 4
# glacier (seals => walrus).

[resource_silk]
name        = _("Silk")
graphic     = "ts.silk"
graphic_alt = "-"
identifier  = "s"
trade       = 3
# forest, wooded.

[resource_spice]
name        = _("Spice")
graphic     = "ts.spice"
graphic_alt = "-"
identifier  = "t"
food        = 2
trade       = 4
# swamp-only.

; "u" reserved for uranium

[resource_whales]
name        = _("Whales")
graphic     = "ts.whales"
graphic_alt = "-"
identifier  = "v"
food        = 1
shield      = 1
# ocean (sea).

[resource_wine]
name        = _("Wine")
graphic     = "ts.wine"
graphic_alt = "-"
identifier  = "w"
trade       = 4
# hills-only.

[resource_oil]
name        = _("Oil")
graphic     = "ts.oil"
graphic_alt = "-"
identifier  = "x"
shield      = 3 ; glacier used to have 4
# glacier, desert

; /* <-- avoid gettext warnings
;
; Base 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
;                           base after a ruleset has been released.
; buildable               = Can base be built? Defaults to true
; pillageable             = Can base be pillaged? Defaults to true
; graphic                 = tag specifing preferred graphic
; graphic_alt             = tag for alternate graphic if preferred graphic is not 
;                           present. Can use eg "-" for no alternate graphic.
; activity_gfx            = tag specifing graphic for unit building base
; reqs                    = requirements to build the base (see effects.ruleset
;                           and README.effects for help on requirements)
; gui_type                = How gui should handle this base. Fortress/Airbase/Other
; build_time              = How long it takes for a unit to build this base
; defense_bonus           = Percent added to defense
; border_sq               = Base will claim land ownership up to this radius,
;                           -1 to disable.
; vision_main_sq          = Base will have main layer vision to this radius
; vision_invis_sq         = Base will have invisible layer vision to this radius
; conflicts               = List of bases that cannot be on the same tile.
;                           Bases with non-zero border_sq automatically conflict
;                           with each other.
; native_to               = List of unit classes that are considered to
;                           be inside the base when they are on same tile
; flags
;   - "NoAggressive"      = Units inside are not considered aggressive
;   - "NoStackDeath"      = Units inside do not die all at once when attacked
;   - "DiplomatDefense"   = Diplomats inside get bonus to diplomatic defense
;   - "ParadropFrom"      = Paradrop can be initiated from base
;   - "NativeTile"        = Units consider tile native regardless of terrain
; helptext                = optional help text string; should escape all raw 
;                           newlines so that xgettext parsing works
;
; */ <-- avoid gettext warnings

[base_fortress]
name           = _("Fortress")
graphic        = "base.fortress"
graphic_alt    = "-"
activity_gfx   = "unit.fortress"
reqs           =
    { "type", "name", "range"
      "Tech", "Construction", "Player"
      "TerrainClass", "Land", "Local"
      "UnitFlag", "Settlers", "Local"
    }
gui_type       = "Fortress"
build_time     = 3
defense_bonus  = 100
border_sq      = 5
native_to      = "Land", "Big Land"
flags          = "NoAggressive", "NoStackDeath", "DiplomatDefense"
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 units can see further afield.\
")

[base_airbase]
name           = _("Airbase")
graphic        = "base.airbase"
graphic_alt    = "-"
activity_gfx   = "unit.airbase"
reqs           =
    { "type", "name", "range"
      "Tech", "Radio", "Player"
      "TerrainClass", "Land", "Local"
      "UnitFlag", "Airbase", "Local"
    }
gui_type       = "Airbase"
build_time     = 3
native_to      = "Air", "Helicopter", "Missile"
flags          = "NoStackDeath", "ParadropFrom"
helptext       = _("\
Airbases allow your air units to land and refuel. Air units in an \
airbase may be attacked by land units.\
")

[base_buoy]
name           = _("Buoy")
graphic        = "base.buoy"
graphic_alt    = "base.fortress"
activity_gfx   = "unit.fortress"
reqs           =
    { "type", "name", "range"
      "Tech", "Radio", "Player"
      "TerrainClass", "Oceanic", "Local"
      "UnitFlag", "Airbase", "Local"
    }
gui_type       = "Fortress"
build_time     = 3
border_sq      = 0
vision_main_sq = 5
helptext       = _("\
Buoys may be built in the ocean (by units on a sea-going vessel).\
")

[base_ruins]
name           = _("Ruins")
graphic        = "base.ruins"
graphic_alt    = "-"
activity_gfx   = "unit.fortress"
reqs           =
    { "type", "name", "range"
      "TerrainClass", "Land", "Local"
    }
buildable      = 0
build_time     = 0
gui_type       = "Other"
helptext       = _("\
Ruins mark the former site of a city that was destroyed or abandoned. \
They have no effect on gameplay.\
")
