1
2; Modifying this file:
3; You should not modify this file except to make bugfixes or
4; for other "maintenance".  If you want to make custom changes,
5; you should create a new datadir subdirectory and copy this file
6; into that directory, and then modify that copy.  Then use the
7; command "rulesetdir <mysubdir>" in the server to have freeciv
8; use your new customized file.
9
10; Note that the freeciv AI may not cope well with anything more
11; than minor changes.
12
13[datafile]
14description="Multiplayer terrain data for Freeciv"
15options="+Freeciv-2.6-ruleset"
16
17[control]
18; Names for custom terrain flags. There can be up to 8 of these.
19; name          = rule name; In some circumstances user may see this
20;                 as part of some sentences, so try to make it descriptive
21;                 and sensible.
22; helptxt       = displayed in the help for terrains with this flag (optional)
23flags =
24  { "name", "helptxt"
25    _("Oil"), _("Has Oil Well instead of Mine.")
26    _("NoPollution"), _("No Pollution nor Fallout appear here.")
27  }
28
29[parameters]
30
31; Percentage of "land" tiles required to be adjacent to a water tile before
32; it may be "reclaimed" into a land tile (0-101; 0=anywhere, default 101=nowhere)
33ocean_reclaim_requirement = 30
34
35; Percentage of "water" tiles required to be adjacent to a land tile before
36; it may be "channeled" into a water tile (0-101; 0=anywhere, default 101=nowhere)
37land_channel_requirement = 10
38
39; Percentage of unfrozen tiles (no "Frozen" flag) required to be adjacent
40; to a frozen tile before it can thaw (0-101; 0=anywhere, default 101=nowhere)
41thaw_requirement = 0
42
43; Percentage of frozen tiles ("Frozen" flag) required to be adjacent to an
44; unfrozen tile before it can freeze (0-101; 0=anywhere, default 101=nowhere)
45freeze_requirement = 0
46
47; Bodies of water up to this size are considered freshwater lakes, if there is
48; also terrain type(s) with flag "FreshWater" in the ruleset.
49lake_max_size = 14
50
51; How many native tiles first startunit must be able to reach.
52; 0 to disable check.
53min_start_native_area = 0
54
55; How many fragments each movement point has.
56; For example road movement costs are relative to this.
57move_fragments = 3
58
59; How many move_fragments IgTer unit movement costs
60igter_cost = 1
61
62; Whether diagonal movement has increased cost (no effect with hex topology)
63; The cost increase is more accurate with larger values for move_fragments
64pythagorean_diagonal = FALSE
65
66; There is no resources in the middle of the oceans, only near coast
67ocean_resources = FALSE
68
69; /* <-- avoid gettext warnings
70;
71; The individual terrain types, one per section.
72; Roughly sorted by identifier.
73; The actual tag used (the * in [terrain_*]) must be unique for each terrain,
74; and may be used in debug output when reading this file.
75;
76; Notes:
77;
78; name                 = translatable name as seen by user
79; rule_name            = (optional) internal name for savegames, rulesets etc;
80;                        if not present, "name" is used for this purpose too.
81;                        Since the name used in savegames must not change, if
82;                        you want to rename an item after a ruleset has been
83;                        released, you should set "rule_name" to the original
84;                        value of "name".
85; graphic              = preferred graphic; Tilespec [tile_*] section
86;                        with 'tag' matching this will be used.
87; graphic_alt          = alternate graphic. When no tilespec 'tag' matching
88;                        preferred graphic is not found, this will be used.
89;                        Otherwise may be "-"
90; identifier           = single-character identifier used in savegames. This
91;                        must be unique for each terrain.
92; class                = Terrain class terrain belongs to: "Land" or "Oceanic"
93; movement_cost        = in whole movement points, not move_fragments;
94;                        typically 1 to 3
95; defense_bonus        = percent added to defense; typically 0% to 200%
96; food                 = normal food production
97; shield               = normal shield production
98; trade                = normal trade production
99; resources            = list of possible resources on this terrain
100; road_food_incr_pct   = percent of road food_incr applied to this terrain
101; road_shield_incr_pct = percent of road shield_incr applied to this terrain
102; road_trade_incr_pct  = percent of road trade_incr applied to this terrain
103; base_time            = time to build bases; if 0, cannot build any bases.
104;                        Nonzero values only affect extras with build_time 0.
105; road_time            = time to build roads; if 0, cannot build any roads.
106;                        Nonzero values only affect extras with build_time 0.
107; irrigation_result    = result of 'irrigate' activity; one of:
108;                        "no"  -- cannot irrigate
109;                        "yes" -- can build extra
110;                        terrain rule_name -- irrigation changes to that
111;                          terrain
112; irrigation_food_incr = increment to food if tile is 100% irrigated
113;                        (actual bonus controlled by Irrigation_Pct effect)
114; irrigation_time      = time for 'irrigate' activity; if 0, cannot irrigate
115;                        Nonzero values only affect extras with build_time 0.
116;                        Such extras can modify time with build_time_factor.
117; mining_result        = result of 'mine' activity; one of:
118;                        "no"  -- cannot mine
119;                        "yes" -- can build extra
120;                        terrain rule_name -- mining changes to that terrain
121; mining_shield_incr   = increment to shields if tile is 100% mined
122;                        (actual bonus controlled by Mining_Pct effect)
123; mining_time          = time for 'mine' activity; if 0, cannot mine
124;                        Nonzero values only affect extras with build_time 0.
125;                        Such extras can modify time with build_time_factor.
126; transform_result     = result of transformation; one of:
127;                        "no"  -- cannot transform
128;                        terrain rule_name -- transformation changes to that
129;                          terrain
130; transform_time       = time to transform; if 0, cannot transform
131; pillage_time         = time to pillage extra from the tile (0 = impossible)
132;                        Nonzero values only affect extras with removal_time 0.
133; clean_pollution_time = time for 'clean pollution' activity (0 = impossible)
134;                        Nonzero values only affect extras with removal_time 0.
135; clean_fallout_time   = time for 'clean fallout' activity (0 = impossible)
136;                        Nonzero values only affect extras with removal_time 0.
137; animal               = unit type that can appear as animal on the terrain
138; warmer_wetter_result = result of global warming for wet terrains; one of:
139;                        "no"  -- no change; does not count for warming
140;                        "yes" -- no change; counts for warming
141;                        terrain rule_name -- warming changes to that terrain
142; warmer_drier_result  = result of global warming for dry terrains;
143;                        see warmer_wetter_result
144; cooler_wetter_result = result of nuclear winter for wet terrains;
145;                        see warmer_wetter_result
146; cooler_drier_result  = result of nuclear winter for dry terrains;
147;                        see warmer_wetter_result
148; native_to            = List of unit classes that can move here
149; flags                = General flags for this terrain. List taken from the
150;                        following, and/or any user flags defined above:
151;   - NoBarbs          = Barbarians will not be spawned here.
152;   - NoCities         = Cities may not be built or found on this terrain.
153;   - Starter          = Players will only be started on "Starter" terrain.
154;                        (Currently this cannot be Oceanic terrain.)
155;   - CanHaveRiver     = Set to 1 if this terrain can have river on it (the
156;                        actual chance of river generation is controlled
157;                        separately).
158;   - UnsafeCoast      = This terrain does not provide a safe voyage for
159;                        units with flag "Trireme"
160;   - FreshWater       = This terrain is used for small bodies of water.
161;                        If this becomes adjacent to non-FreshWater terrain,
162;                        the whole contiguous FreshWater area will be flooded
163;                        with the non-FreshWater terrain.
164;   - NotGenerated     = Map generator never places this terrain type. It can
165;                        be added from editor only, or by ingame events
166;                        (lua scripting)
167;   - NoZoc            = Units on this terrain are not generating or subject
168;                        to zoc
169;   - NoFortify        = Units cannot fortify on this terrain
170;   - Frozen           = Frozen/polar terrain. For water tiles, Frozen terrain
171;                        is generated near poles. Conversion between frozen
172;                        and unfrozen terrain can be controlled with
173;                        thaw_requirement/freeze_requirement, and Frozen
174;                        terrain is shown differently on the overview map.
175; property_*           = specific property % values used by mapgen. Most
176;                        terrains will have 0 for most values. Properties
177;                        other than ocean_depth are only used for land tiles.
178;  - mountainous       = degree to which this terrain is mountainous
179;  - green             = how much life this terrain has
180;  - foliage           = how much thick undergrowth the terrain has
181;  - tropical          = how "tropical" the terrain is (high temperature)
182;  - temperate         = how "temperate" the terrain is (med temperature)
183;  - cold              = how "cold" the terrain is (low temperature)
184;  - frozen            = how "frozen" the terrain is (very low temperature)
185;                        (does not necessarily have to have the "Frozen" flag)
186;  - wet               = how "wet" the terrain is (moisture)
187;  - dry               = how "dry" the terrain is (moisture)
188;  - ocean_depth       = the depth of an ocean, as an average level
189; color.r              = color of the terrain (red value)
190; color.g              = color of the terrain (green value)
191; color.b              = color of the terrain (blue value)
192; helptext             = optional help text string; should escape all raw
193;                        newlines so that xgettext parsing works
194;
195; */ <-- avoid gettext warnings
196
197[terrain_inaccesible]
198name                 = _("Inaccessible")
199graphic              = "inaccessible"
200graphic_alt          = "arctic"
201identifier           = "i"
202class                = "Land"
203movement_cost        = 0
204defense_bonus        = 0
205food                 = 0
206shield               = 0
207trade                = 0
208road_food_incr_pct   = 0
209road_shield_incr_pct = 0
210road_trade_incr_pct  = 0
211base_time            = 0
212road_time            = 0
213irrigation_result    = "no"
214irrigation_food_incr = 0
215irrigation_time      = 0
216mining_result        = "no"
217mining_shield_incr   = 0
218mining_time          = 0
219transform_result     = "no"
220transform_time       = 0
221pillage_time         = 0
222clean_pollution_time = 0
223clean_fallout_time   = 0
224animal               = "None"
225warmer_wetter_result = "no"
226warmer_drier_result  = "no"
227cooler_wetter_result = "no"
228cooler_drier_result  = "no"
229flags                = "NotGenerated", "NoPollution", "NoCities", "UnsafeCoast", "Frozen"
230color.r              = 25
231color.g              = 25
232color.b              = 25
233helptext             = _("\
234No unit can enter this terrain, nor can any city work its tiles.\
235")
236
237[terrain_lake]
238name                 = _("Lake")
239graphic              = "lake"
240graphic_alt          = "coast"
241identifier           = "+"
242class                = "Oceanic"
243movement_cost        = 1
244defense_bonus        = 0
245food                 = 1
246shield               = 0
247trade                = 2
248resources            = "Fish"
249road_trade_incr_pct  = 0
250base_time            = 1
251road_time            = 0
252irrigation_result    = "no"
253irrigation_food_incr = 0
254irrigation_time      = 0
255mining_result        = "no"
256mining_shield_incr   = 0
257mining_time          = 0
258transform_result     = "Swamp"
259transform_time       = 36
260pillage_time         = 1
261clean_pollution_time = 3
262clean_fallout_time   = 3
263animal               = "None"
264warmer_wetter_result = "no"
265warmer_drier_result  = "Swamp"
266cooler_wetter_result = "Glacier"
267cooler_drier_result  = "Tundra"
268native_to            = "Sea", "Air", "Missile", "Helicopter", "Trireme"
269flags                = "NoCities", "NoBarbs", "NoPollution", "FreshWater", "NoZoc", "NoFortify"
270property_ocean_depth = 0
271color.r              = 46
272color.g              = 120
273color.b              = 182
274helptext             = _("\
275Lakes are substantial bodies of fresh water.\
276")
277
278[terrain_ocean]
279name                 = _("Ocean")
280graphic              = "coast"
281graphic_alt          = "-"
282identifier           = " "
283class                = "Oceanic"
284movement_cost        = 1
285defense_bonus        = 0
286food                 = 1
287shield               = 0
288trade                = 2
289resources            = "Fish", "Whales"
290road_trade_incr_pct  = 0
291base_time            = 1
292road_time            = 0
293irrigation_result    = "no"
294irrigation_food_incr = 0
295irrigation_time      = 0
296mining_result        = "no"
297mining_shield_incr   = 0
298mining_time          = 0
299transform_result     = "Swamp"
300transform_time       = 36
301pillage_time         = 1
302clean_pollution_time = 3
303clean_fallout_time   = 3
304animal               = "None"
305warmer_wetter_result = "no"
306warmer_drier_result  = "Swamp"
307cooler_wetter_result = "Glacier"
308cooler_drier_result  = "Glacier"
309native_to            = "Sea", "Air", "Missile", "Helicopter", "Trireme"
310flags                = "NoCities", "NoPollution", "UnsafeCoast", "NoZoc", "NoFortify"
311property_ocean_depth = 32
312color.r              = 0
313color.g              = 46
314color.b              = 137
315helptext             = _("\
316Shallow oceans are mostly found near coastlines, and are often rich\
317 sources of food and other resources.\
318")
319
320[terrain_deep_ocean]
321name                 = _("Deep Ocean")
322graphic              = "floor"
323graphic_alt          = "coast"
324identifier           = ":"
325class                = "Oceanic"
326movement_cost        = 1
327defense_bonus        = 0
328food                 = 1
329shield               = 0
330trade                = 2
331;resources            = "none"
332road_trade_incr_pct  = 0
333base_time            = 1
334road_time            = 0
335irrigation_result    = "no"
336irrigation_food_incr = 0
337irrigation_time      = 0
338mining_result        = "no"
339mining_shield_incr   = 0
340mining_time          = 0
341transform_result     = "no"
342transform_time       = 0
343pillage_time         = 1
344clean_pollution_time = 3
345clean_fallout_time   = 3
346animal               = "None"
347warmer_wetter_result = "no"
348warmer_drier_result  = "no"
349cooler_wetter_result = "no"
350cooler_drier_result  = "no"
351native_to            = "Sea", "Air", "Missile", "Helicopter"
352flags                = "NoCities", "NoPollution", "UnsafeCoast", "NoZoc", "NoFortify"
353property_ocean_depth = 87
354color.r              = 0
355color.g              = 33
356color.b              = 129
357helptext             = _("\
358Deep oceans cover much of the world away from coastlines, and only\
359 seaworthy units (not including Triremes) can travel on them.\
360")
361
362[terrain_glacier]
363name                 = _("Glacier")
364graphic              = "arctic"
365graphic_alt          = "-"
366identifier           = "a"
367class                = "Land"
368movement_cost        = 2
369defense_bonus        = 0
370food                 = 0
371shield               = 0
372trade                = 0
373resources            = "Ivory", "Oil"
374road_trade_incr_pct  = 0
375base_time            = 1
376road_time            = 4
377irrigation_result    = "no"
378irrigation_food_incr = 0
379irrigation_time      = 0
380mining_result        = "yes"
381mining_shield_incr   = 1
382mining_time          = 10
383transform_result     = "Tundra"
384transform_time       = 24
385pillage_time         = 1
386clean_pollution_time = 3
387clean_fallout_time   = 3
388animal               = "None"
389warmer_wetter_result = "Tundra"
390warmer_drier_result  = "Tundra"
391cooler_wetter_result = "no"
392cooler_drier_result  = "no"
393native_to            = "Land", "Air", "Missile", "Helicopter"
394flags                = "NoBarbs", "NoCities", "CanHaveRiver", "Oil", "Frozen"
395property_frozen      = 100
396color.r              = 232
397color.g              = 232
398color.b              = 232
399helptext             = _("\
400Glaciers are found only in the most northerly or southerly\
401 reaches of the world.  They are very cold, and hence difficult to\
402 work with.\
403"), _("\
404Oil wells can be built when Refining is known.\
405")
406
407[terrain_desert]
408name                 = _("Desert")
409graphic              = "desert"
410graphic_alt          = "-"
411identifier           = "d"
412class                = "Land"
413movement_cost        = 1
414defense_bonus        = 0
415food                 = 0
416shield               = 1
417trade                = 0
418resources            = "Oasis", "Oil"
419road_trade_incr_pct  = 100
420base_time            = 1
421road_time            = 2
422irrigation_result    = "yes"
423irrigation_food_incr = 1
424irrigation_time      = 5
425mining_result        = "yes"
426mining_shield_incr   = 1
427mining_time          = 5
428transform_result     = "Plains"
429transform_time       = 24
430pillage_time         = 1
431clean_pollution_time = 3
432clean_fallout_time   = 3
433animal               = "None"
434warmer_wetter_result = "Grassland"
435warmer_drier_result  = "no"
436cooler_wetter_result = "Plains"
437cooler_drier_result  = "Tundra"
438native_to            = "Land", "Air", "Missile", "Helicopter"
439flags                = "CanHaveRiver", "Oil"
440property_dry         = 100
441property_tropical    = 50
442property_temperate   = 20
443color.r              = 214
444color.g              = 185
445color.b              = 106
446helptext             = _("\
447Deserts are regions of extreme dryness, making agriculture and\
448 trade very difficult.\
449"), _("\
450Oil wells can be built when Construction is known.\
451")
452
453[terrain_forest]
454name                 = _("Forest")
455graphic              = "forest"
456graphic_alt          = "-"
457identifier           = "f"
458class                = "Land"
459movement_cost        = 2
460defense_bonus        = 50
461food                 = 1
462shield               = 2
463trade                = 0
464resources            = "Pheasant", "Silk"
465road_trade_incr_pct  = 0
466base_time            = 1
467road_time            = 4
468irrigation_result    = "Plains"
469irrigation_food_incr = 0
470irrigation_time      = 5
471mining_result        = "Swamp"
472mining_shield_incr   = 0
473mining_time          = 15
474transform_result     = "Grassland"
475transform_time       = 24
476pillage_time         = 1
477clean_pollution_time = 3
478clean_fallout_time   = 3
479animal               = "None"
480warmer_wetter_result = "Jungle"
481warmer_drier_result  = "Plains"
482cooler_wetter_result = "Swamp"
483cooler_drier_result  = "Tundra"
484native_to            = "Land", "Air", "Missile", "Helicopter"
485flags                = "Starter", "CanHaveRiver"
486property_cold        = 20
487property_wet         = 20
488property_foliage     = 50
489property_temperate   = 50
490color.r              = 43
491color.g              = 107
492color.b              = 19
493helptext             = _("\
494Forests are densely wooded, making agriculture somewhat\
495 problematic.\
496")
497
498[terrain_grassland]
499name                 = _("Grassland")
500graphic              = "grassland"
501graphic_alt          = "-"
502identifier           = "g"
503class                = "Land"
504movement_cost        = 1
505defense_bonus        = 0
506food                 = 2
507shield               = 0
508trade                = 0
509resources            = "Resources"
510road_trade_incr_pct  = 100
511base_time            = 1
512road_time            = 2
513irrigation_result    = "yes"
514irrigation_food_incr = 1
515irrigation_time      = 5
516mining_result        = "Forest"
517mining_shield_incr   = 0
518mining_time          = 10
519transform_result     = "Hills"
520transform_time       = 24
521pillage_time         = 1
522clean_pollution_time = 3
523clean_fallout_time   = 3
524animal               = "None"
525warmer_wetter_result = "Lake"
526warmer_drier_result  = "Desert"
527cooler_wetter_result = "Glacier"
528cooler_drier_result  = "Tundra"
529native_to            = "Land", "Air", "Missile", "Helicopter"
530flags                = "Starter", "CanHaveRiver"
531property_green       = 50
532property_temperate   = 50
533color.r              = 11
534color.g              = 138
535color.b              = 4
536helptext             = _("\
537Grasslands afford exceptional agricultural opportunities.\
538")
539
540[terrain_hills]
541name                 = _("Hills")
542graphic              = "hills"
543graphic_alt          = "-"
544identifier           = "h"
545class                = "Land"
546movement_cost        = 2
547defense_bonus        = 100
548food                 = 1
549shield               = 0
550trade                = 0
551resources            = "Coal", "Wine"
552road_trade_incr_pct  = 0
553base_time            = 1
554road_time            = 4
555irrigation_result    = "yes"
556irrigation_food_incr = 1
557irrigation_time      = 10
558mining_result        = "yes"
559mining_shield_incr   = 3
560mining_time          = 10
561transform_result     = "Plains"
562transform_time       = 24
563pillage_time         = 1
564clean_pollution_time = 3
565clean_fallout_time   = 3
566animal               = "None"
567warmer_wetter_result = "no"
568warmer_drier_result  = "no"
569cooler_wetter_result = "no"
570cooler_drier_result  = "no"
571native_to            = "Land", "Air", "Missile", "Helicopter"
572flags                = "Starter", "CanHaveRiver"
573property_green       = 50
574property_mountainous = 30
575color.r              = 24
576color.g              = 97
577color.b              = 5
578helptext             = _("\
579In addition to being amenable to agriculture, Hills are frequently\
580 rich in resources.\
581")
582
583[terrain_jungle]
584name                 = _("Jungle")
585graphic              = "jungle"
586graphic_alt          = "-"
587identifier           = "j"
588class                = "Land"
589movement_cost        = 2
590defense_bonus        = 50
591food                 = 1
592shield               = 0
593trade                = 0
594resources            = "Gems", "Fruit"
595road_trade_incr_pct  = 0
596base_time            = 1
597road_time            = 4
598irrigation_result    = "Grassland"
599irrigation_food_incr = 0
600irrigation_time      = 15
601mining_result        = "Forest"
602mining_shield_incr   = 0
603mining_time          = 15
604transform_result     = "Plains"
605transform_time       = 24
606pillage_time         = 1
607clean_pollution_time = 3
608clean_fallout_time   = 3
609animal               = "None"
610warmer_wetter_result = "Lake"
611warmer_drier_result  = "Desert"
612cooler_wetter_result = "Swamp"
613cooler_drier_result  = "Tundra"
614native_to            = "Land", "Air", "Missile", "Helicopter"
615flags                = "CanHaveRiver"
616property_foliage     = 50
617property_tropical    = 50
618property_wet         = 50
619color.r              = 55
620color.g              = 156
621color.b              = 38
622helptext             = _("\
623Jungles are densely overgrown, making agriculture somewhat\
624 problematic.\
625")
626
627[terrain_mountains]
628name                 = _("Mountains")
629graphic              = "mountains"
630graphic_alt          = "-"
631identifier           = "m"
632class                = "Land"
633movement_cost        = 3
634defense_bonus        = 200
635food                 = 0
636shield               = 1
637trade                = 0
638resources            = "Gold", "Iron"
639road_trade_incr_pct  = 0
640base_time            = 1
641road_time            = 6
642irrigation_result    = "no"
643irrigation_food_incr = 0
644irrigation_time      = 0
645mining_result        = "yes"
646mining_shield_incr   = 1
647mining_time          = 10
648transform_result     = "Hills"
649transform_time       = 24
650pillage_time         = 1
651clean_pollution_time = 3
652clean_fallout_time   = 3
653animal               = "None"
654warmer_wetter_result = "no"
655warmer_drier_result  = "no"
656cooler_wetter_result = "no"
657cooler_drier_result  = "no"
658native_to            = "Land", "Air", "Missile", "Helicopter"
659flags                = "CanHaveRiver"
660property_mountainous = 70
661color.r              = 129
662color.g              = 127
663color.b              = 118
664helptext             = _("\
665Mountains are regions of extreme altitude, making agriculture and\
666 trade very difficult.\
667")
668
669[terrain_plains]
670name                 = _("Plains")
671graphic              = "plains"
672graphic_alt          = "-"
673identifier           = "p"
674class                = "Land"
675movement_cost        = 1
676defense_bonus        = 0
677food                 = 1
678shield               = 1
679trade                = 0
680resources            = "Buffalo", "Wheat"
681road_trade_incr_pct  = 100
682base_time            = 1
683road_time            = 2
684irrigation_result    = "yes"
685irrigation_food_incr = 1
686irrigation_time      = 5
687mining_result        = "Forest"
688mining_shield_incr   = 0
689mining_time          = 15
690transform_result     = "Grassland"
691transform_time       = 24
692pillage_time         = 1
693clean_pollution_time = 3
694clean_fallout_time   = 3
695animal               = "None"
696warmer_wetter_result = "Lake"
697warmer_drier_result  = "Desert"
698cooler_wetter_result = "Glacier"
699cooler_drier_result  = "Tundra"
700native_to            = "Land", "Air", "Missile", "Helicopter"
701flags                = "Starter", "CanHaveRiver"
702property_green       = 50
703property_temperate   = 50
704color.r              = 122
705color.g              = 156
706color.b              = 46
707helptext             = _("\
708Plains are very broad, sparse regions, which makes trade slightly\
709 inconvenient.\
710")
711
712[terrain_swamp]
713name                 = _("Swamp")
714graphic              = "swamp"
715graphic_alt          = "-"
716identifier           = "s"
717class                = "Land"
718movement_cost        = 2
719defense_bonus        = 50
720food                 = 1
721shield               = 0
722trade                = 0
723resources            = "Peat", "Spice"
724road_trade_incr_pct  = 0
725base_time            = 1
726road_time            = 4
727irrigation_result    = "Grassland"
728irrigation_food_incr = 0
729irrigation_time      = 15
730mining_result        = "Forest"
731mining_shield_incr   = 0
732mining_time          = 15
733transform_result     = "Lake"
734transform_time       = 36
735pillage_time         = 1
736clean_pollution_time = 3
737clean_fallout_time   = 3
738animal               = "None"
739warmer_wetter_result = "Lake"
740warmer_drier_result  = "Desert"
741cooler_wetter_result = "Glacier"
742cooler_drier_result  = "Tundra"
743native_to            = "Land", "Air", "Missile", "Helicopter"
744flags                = "CanHaveRiver"
745property_wet         = 100
746property_tropical    = 10
747property_temperate   = 10
748property_cold        = 10
749color.r              = 48
750color.g              = 85
751color.b              = 97
752helptext             = _("\
753Swamps suffer from an over-abundance of water, making agriculture\
754 somewhat problematic.\
755")
756
757[terrain_tundra]
758name                 = _("Tundra")
759graphic              = "tundra"
760graphic_alt          = "-"
761identifier           = "t"
762class                = "Land"
763movement_cost        = 1
764defense_bonus        = 0
765food                 = 1
766shield               = 0
767trade                = 0
768resources            = "Game", "Furs"
769road_trade_incr_pct  = 0
770base_time            = 1
771road_time            = 2
772irrigation_result    = "yes"
773irrigation_food_incr = 1
774irrigation_time      = 5
775mining_result        = "no"
776mining_shield_incr   = 0
777mining_time          = 0
778transform_result     = "Desert"
779transform_time       = 24
780pillage_time         = 1
781clean_pollution_time = 3
782clean_fallout_time   = 3
783animal               = "None"
784warmer_wetter_result = "Lake"
785warmer_drier_result  = "Desert"
786cooler_wetter_result = "Glacier"
787cooler_drier_result  = "no"
788native_to            = "Land", "Air", "Missile", "Helicopter"
789flags                = "Starter", "NoBarbs", "CanHaveRiver"
790property_cold        = 50
791color.r              = 188
792color.g              = 188
793color.b              = 188
794helptext             = _("\
795Tundra are broad, cold regions, fit for some agriculture and little\
796 else.\
797")
798
799; The individual resource types, one per section.
800; Roughly sorted by identifier.
801; The actual tag used (the * in [resource_*]) must be unique for each resource,
802; and may be used in debug output when reading this file.
803;
804; Notes:
805;
806; name                 = name as seen by user
807; graphic              = tag specifying preferred graphic
808; graphic_alt          = tag for alternate graphic if preferred graphic is not
809;                        present; especially if preferred graphic is non-standard,
810;                        this should be a standard tag.  Otherwise can use eg "-"
811;                        for no alternate graphic.
812; identifier           = single-character identifier used in savegames.  This
813;                        must be unique for each resource, and changing it will
814;                        break savegame compatibility.
815; food                 = increased food production
816; shield               = increased shield production
817; trade                = increased trade production
818
819[resource_gold]
820name        = _("Gold")
821graphic     = "ts.gold"
822graphic_alt = "-"
823identifier  = "$"
824trade       = 6
825# glacier, hills, mountains.
826
827[resource_iron]
828name        = _("Iron")
829graphic     = "ts.iron"
830graphic_alt = "-"
831identifier  = "/"
832shield      = 3
833# mountains.
834
835[resource_game]
836name        = _("?animals:Game")
837graphic     = "ts.tundra_game"
838graphic_alt = "-"
839identifier  = "e"
840food        = 2
841shield      = 1
842# tundra.
843
844[resource_furs]
845name        = _("Furs")
846graphic     = "ts.furs"
847graphic_alt = "-"
848identifier  = "u"
849food        = 1
850trade       = 3
851# tundra-only (beaver pelts).
852
853[resource_coal]
854name        = _("Coal")
855graphic     = "ts.coal"
856graphic_alt = "-"
857identifier  = "c"
858shield      = 2
859# hills.
860
861[resource_fish]
862name        = _("Fish")
863graphic     = "ts.fish"
864graphic_alt = "-"
865identifier  = "y"
866food        = 2
867# ocean.
868
869[resource_fruit]
870name        = _("Fruit")
871graphic     = "ts.fruit"
872graphic_alt = "-"
873identifier  = "f"
874food        = 3
875trade       = 1
876# jungle.
877
878[resource_gems]
879name        = _("Gems")
880graphic     = "ts.gems"
881graphic_alt = "-"
882identifier  = "g"
883trade       = 4
884# jungle.
885
886; "h" reserved for strategic horses
887
888[resource_buffalo]
889name        = _("Buffalo")
890graphic     = "ts.buffalo"
891graphic_alt = "-"
892identifier  = "b"
893shield      = 2
894# plains (horses => buffalo => cattle).
895
896[resource_wheat]
897name        = _("Wheat")
898graphic     = "ts.wheat"
899graphic_alt = "-"
900identifier  = "j"
901food        = 2
902# plains.
903
904; "k" reserved for (cane) sugar
905
906; "l" reserved for tobacco
907
908; "m" reserved for marble
909
910[resource_oasis]
911name        = _("Oasis")
912graphic     = "ts.oasis"
913graphic_alt = "-"
914identifier  = "o"
915food        = 3
916# desert.
917
918[resource_peat]
919name        = _("Peat")
920graphic     = "ts.peat"
921graphic_alt = "-"
922identifier  = "a"
923shield      = 4
924# swamp (petroleum => peat => petroleum).
925
926[resource_pheasant]
927name        = _("Pheasant")
928graphic     = "ts.pheasant"
929graphic_alt = "-"
930identifier  = "p"
931food        = 2
932# forest, forested.
933
934; "r" reserved for rubber
935
936[resource_bonus]
937name        = _("Resources")
938graphic     = "ts.grassland_resources"
939graphic_alt = "-"
940identifier  = "r"
941shield      = 1
942# grassland.
943
944[resource_icy_ivory]
945name        = _("Ivory")
946graphic     = "ts.arctic_ivory"
947graphic_alt = "-"
948identifier  = "i"
949food        = 1
950shield      = 1
951trade       = 4
952# glacier (seals => walrus).
953
954[resource_silk]
955name        = _("Silk")
956graphic     = "ts.silk"
957graphic_alt = "-"
958identifier  = "s"
959trade       = 3
960# forest, wooded.
961
962[resource_spice]
963name        = _("Spice")
964graphic     = "ts.spice"
965graphic_alt = "-"
966identifier  = "t"
967food        = 2
968trade       = 4
969# swamp-only.
970
971; "u" reserved for uranium
972
973[resource_whales]
974name        = _("Whales")
975graphic     = "ts.whales"
976graphic_alt = "-"
977identifier  = "v"
978food        = 1
979shield      = 1
980# ocean (sea).
981
982[resource_wine]
983name        = _("Wine")
984graphic     = "ts.wine"
985graphic_alt = "-"
986identifier  = "w"
987trade       = 4
988# hills-only.
989
990[resource_oil]
991name        = _("Oil")
992graphic     = "ts.oil"
993graphic_alt = "-"
994identifier  = "x"
995shield      = 3 ; glacier used to have 4
996# glacier, desert
997
998
999[extraui]
1000
1001; Player visible names of the base gui types.
1002
1003; ui_name_base_fortress refers to all bases that have gui_type "Fortress"
1004ui_name_base_fortress = _("?gui_type:Build Fortress/Buoy")
1005
1006; ui_name_base_airbase refers to all bases that have gui_type "Airbase"
1007ui_name_base_airbase = _("?gui_type:Build Airbase")
1008
1009; /* <-- avoid gettext warnings
1010;
1011; Each extra, including bases and roads, must have a section here.
1012; Bases and roads have additional sections for their specific features below.
1013;
1014;
1015; Extra types:
1016;
1017; name                    = translatable name as seen by user
1018; rule_name               = (optional) internal name for savegames, rulesets
1019;                           etc; if not present, "name" is used for this
1020;                           purpose too. Since the name used in savegames must
1021;                           not change, if you want to rename an item after a
1022;                           ruleset has been released, you should set
1023;                           "rule_name" to the original value of "name".
1024; category                = How UI should categorize this extra. One of
1025;                           "Infra", "Natural", "Nuisance", or "Bonus"
1026; causes                  = events that can create extra type.
1027;                           "Irrigation", "Mine", "Hut", "Pollution", "Fallout",
1028;                           "Base", or "Road" (last two require a corresponding
1029;                           [base_*] or [road_*] section)
1030; rmcauses                = events that can remove extra type.
1031;                           "CleanPollution", "CleanFallout", or "Pillage"
1032; graphic                 = tag specifying preferred graphic
1033; graphic_alt             = tag for alternate graphic if preferred graphic is
1034;                           not present. Can use eg "-" for no alternate
1035;                           graphic
1036; activity_gfx            = tag specifying graphic for unit building extra
1037;                           This can be "None" to indicate that graphic sprite
1038;                           is not needed.
1039; act_gfx_alt             = tag for alternative graphic for unit building extra
1040; act_gfx_alt2            = tag for second alternative graphic for unit building extra
1041; rmact_gfx               = tag specifying graphic for unit removing extra
1042;                           This can be "None" to indicate that graphic sprite
1043;                           is not needed.
1044; rmact_gfx_alt           = tag for alternative graphic for unit removing extra
1045; reqs                    = requirements to build the extra (see effects.ruleset
1046;                           and README.effects for help on requirements)
1047; rmreqs                  = requirements to remove the extra
1048; buildable               = Can extra be built? Defaults to TRUE
1049;                           If extra is not buildable, it can appear in game
1050;                           only if placed in the editor, it's placed by
1051;                           map generator, or on city tile if the extra
1052;                           also has "AlwaysOnCityCenter" flag set.
1053; build_time              = how long it takes a unit to build this extra.
1054;                           Value of 0 (default) means that terrain- and
1055;                           build activity specific time is used instead.
1056; build_time_factor       = This setting take effect only if build_time is 0.
1057;                           Terrain and activity specific build time will be
1058;                           multiplied by this value (default 1)
1059; removal_time            = how long it takes a unit to remove this extra.
1060;                           Value of 0 (default) means that terrain- and
1061;                           removal activity specific time is used instead.
1062; removal_time_factor     = This setting take effect only if removal_time is 0.
1063;                           Terrain and activity specific removal time will be
1064;                           multiplied by this value (default 1)
1065; defense_bonus           = Percent added to defense when tile has the extra
1066;                           (default none)
1067; native_to               = List of unit classes that are considered to
1068;                           be inside the extra when they are on same tile
1069; conflicts               = List of extras that cannot be on the same tile.
1070;                           Bases with non-zero border_sq automatically conflict
1071;                           with each other.
1072; hidden_by               = List of extra types that will make this extra
1073;                           type not to show on UI if both present.
1074; flags
1075;   - "NativeTile"        = Native units consider tile native regardless of
1076;                           terrain
1077;   - "Refuel"            = Native units can use tile as refuel point
1078;   - "TerrChangeRemoves" = Extra gets removed when ever terrain changes even
1079;                           if target terrain could support it
1080;   - "AlwaysOnCityCenter" = City center tiles always have this extra type
1081;                           regardless of its other requirements
1082;   - "AutoOnCityCenter"  = City center tiles will automatically have this
1083;                           extra type if the player can build it
1084;   - "ConnectLand"       = Road style gfx on Oceanic tiles are drawn to
1085;                           connect to adjacent Land tiles even if they have
1086;                           no extra. This affects appearance only
1087;   - "GlobalWarming"     = Instances of this extra on map count towards
1088;                           Global Warming
1089;   - "NuclearWinter"     = Instances of this extra on map count towards
1090;                           Nuclear Winter
1091;   - "ShowFlag"          = Draw owner's flag
1092;   - "NaturalDefense"    = Extra's defense bonus will be counted to "Natural"
1093;                           defense layer. The defense bonus of all the extras
1094;                           located at the tile, native to defending unit,
1095;                           is calculated as a 1 + sum of bonuses from the extras
1096;                           on the default "Fortification" defense layer multiplied
1097;                           by the 1 + sum of bonuses from the extras on the
1098;                           "Natural" layer.
1099; helptext                = optional help text string; should escape all raw
1100;                           newlines so that xgettext parsing works
1101;
1102; */ <-- avoid gettext warnings
1103
1104[extra_irrigation]
1105name           = _("Irrigation")
1106category       = "Infra"
1107causes         = "Irrigation"
1108rmcauses       = "Pillage"
1109graphic        = "tx.irrigation"
1110graphic_alt    = "-"
1111activity_gfx   = "unit.irrigation"
1112act_gfx_alt    = "unit.irrigate"
1113act_gfx_alt2   = "-"
1114rmact_gfx      = "None"
1115rmact_gfx_alt  = "-"
1116build_time     = 0
1117removal_time   = 0
1118conflicts      = "Mine", "Oil Well"
1119hidden_by      = "Farmland"
1120helptext       = _("\
1121Building an irrigation system on a suitable tile causes it to \
1122produce one extra food each turn. This requires a nearby source of \
1123water: an ocean, lake, or river tile, or another tile with an \
1124irrigation system, must share an edge (not just a corner) with the \
1125target tile. However, once irrigated, land remains so even if the \
1126water source is removed.\
1127"), _("\
1128Building irrigation on a tile with a mine or oil well will destroy it.\
1129"), _("\
1130City center tiles get their terrain's irrigation bonus automatically, \
1131if there is no conflicting mine or oil well on the tile; however, \
1132this does not make cities count as a water source for further \
1133irrigation. Irrigation can be built on the city tile simply to allow \
1134building further irrigation elsewhere, but will not give the tile any \
1135further bonus.\
1136")
1137
1138[extra_mine]
1139name           = _("Mine")
1140category       = "Infra"
1141causes         = "Mine"
1142rmcauses       = "Pillage"
1143graphic        = "tx.mine"
1144graphic_alt    = "-"
1145activity_gfx   = "unit.mine"
1146act_gfx_alt    = "unit.plant"
1147act_gfx_alt2   = "-"
1148rmact_gfx      = "None"
1149rmact_gfx_alt  = "-"
1150reqs           =
1151    { "type", "name", "range", "present", "quiet"
1152      "TerrainFlag", "Oil", "Local", FALSE, TRUE
1153    }
1154build_time     = 0
1155removal_time   = 0
1156conflicts      = "Irrigation", "Farmland"
1157helptext       = _("\
1158Mines can be built on some types of terrain, which increases the \
1159number of production points produced by that tile. Hills get an extra \
11603 production points per tile; other terrains get 1 extra production \
1161point.\
1162"), _("\
1163Building a mine on an irrigated tile will destroy the irrigation.\
1164")
1165
1166[extra_oil_well]
1167name           = _("Oil Well")
1168category       = "Infra"
1169causes         = "Mine"
1170rmcauses       = "Pillage"
1171graphic        = "tx.oil_mine"
1172graphic_alt    = "tx.mine"
1173activity_gfx   = "unit.oil_mine"
1174act_gfx_alt    = "unit.mine"
1175act_gfx_alt2   = "unit.plant"
1176rmact_gfx      = "None"
1177rmact_gfx_alt  = "-"
1178reqs           =
1179    { "type", "name", "range", "quiet"
1180      "TerrainFlag", "Oil", "Local", TRUE
1181    }
1182build_time     = 0
1183removal_time   = 0
1184conflicts      = "Irrigation", "Farmland"
1185helptext       = _("\
1186Oil wells behave like mines (giving an extra production point), but \
1187require more technology. Oil wells can be built on Desert with knowledge \
1188of Construction, and on Glacier with knowledge of Refining.\
1189"), _("\
1190Building an oil well on an irrigated tile will destroy the irrigation.\
1191")
1192
1193[extra_pollution]
1194name           = _("Pollution")
1195category       = "Nuisance"
1196causes         = "Pollution"
1197rmcauses       = "CleanPollution"
1198graphic        = "tx.pollution"
1199graphic_alt    = "-"
1200activity_gfx   = "None"
1201act_gfx_alt    = "-"
1202act_gfx_alt2   = "-"
1203rmact_gfx      = "unit.pollution"
1204rmact_gfx_alt  = "-"
1205reqs           =
1206    { "type", "name", "range", "present", "quiet"
1207      "TerrainFlag", "NoPollution", "Local", FALSE, TRUE
1208    }
1209removal_time   = 0
1210flags          = "GlobalWarming"
1211helptext       = _("\
1212Pollution appears on land tiles around cities with high production or \
1213population. \
1214It halves all output from its tile, and contributes to the risk of \
1215global warming.\
1216"), _("\
1217The pollution can only be cleared by dispatching Workers, \
1218Settlers, or Engineers with the \"clean pollution\" order.\
1219"), _("\
1220Pollution from production is likely to start becoming important as \
1221your civilization becomes more industrialized, giving you buildings \
1222such as Factory and Power Plant which boost production. Replacing a \
1223Power Plant with cleaner forms of energy -- a Hydro Plant / Hoover \
1224Dam, Nuclear Plant, or Solar Plant -- will reduce pollution from \
1225production, as will a Recycling Center or knowledge of \
1226Environmentalism.\
1227"), _("\
1228The city's population starts adding to pollution with the discovery of \
1229Industrialization, and Automobile, Mass Production, and Plastics make \
1230this worse. Building a Mass Transit in a city eliminates the \
1231population's contribution to pollution.\
1232"), _("\
1233The contribution of these factors can be seen in the city dialog; once \
1234it exceeds a threshold, the excess is the percent chance of pollution \
1235appearing each turn.\
1236"), _("\
1237When an unused tile becomes polluted, there is the temptation to avoid \
1238the effort of cleaning it; but the spread of pollution has far more \
1239terrible results than the immediate economic impact -- every polluted \
1240tile increases the chance of global warming. Each time global warming \
1241advances, the entire world loses coastal land to the sea and to jungles \
1242and swamps, and inland tiles are lost to desert. This tends to \
1243devastate cities and leads to global impoverishment.\
1244"), _("\
1245The risk of global warming is cumulative; the longer polluted tiles \
1246are left uncleaned, the higher the risk becomes, and the risk can \
1247linger for some time even after all pollution has been cleaned. If a \
1248long time passes with an elevated risk of warming, its effects will be \
1249all the more severe when it does occur.\
1250")
1251
1252[extra_hut]
1253name           = _("Minor Tribe Village")
1254rule_name      = "Hut"
1255category       = "Bonus"
1256causes         = "Hut"
1257;rmcauses       = ""
1258graphic        = "tx.village"
1259graphic_alt    = "-"
1260activity_gfx   = "None"
1261act_gfx_alt    = "-"
1262act_gfx_alt2   = "-"
1263rmact_gfx      = "None"
1264rmact_gfx_alt  = "-"
1265reqs           =
1266    { "type", "name", "range"
1267      "TerrainClass", "Land", "Local"
1268    }
1269helptext = _("\
1270Villages (also called \"huts\") are primitive communities spread \
1271across the world at the beginning of the game. Any land unit can enter \
1272a village, making the village disappear and deliver a random response. \
1273If the village proves hostile, it could produce barbarians or the unit \
1274entering may simply be destroyed. If they are friendly, the player \
1275could receive gold, a new technology, a military unit (occasionally a \
1276settler; and sometimes a unit that the player cannot yet create), or \
1277even a new city.\
1278"), _("\
1279Later in the game, helicopters may also enter villages, but overflight \
1280by other aircraft will cause the villagers to take fright and disband.\
1281")
1282
1283[extra_farmland]
1284name           = _("Farmland")
1285category       = "Infra"
1286causes         = "Irrigation"
1287rmcauses       = "Pillage"
1288graphic        = "tx.farmland"
1289graphic_alt    = "-"
1290activity_gfx   = "unit.farmland"
1291act_gfx_alt    = "unit.irrigation"
1292act_gfx_alt2   = "unit.irrigate"
1293rmact_gfx      = "None"
1294rmact_gfx_alt  = "-"
1295reqs           =
1296    { "type", "name", "range"
1297      "Tech", "Refrigeration", "Player"
1298      "Extra", "Irrigation", "Local"
1299    }
1300build_time     = 0
1301removal_time   = 0
1302conflicts      = "Mine", "Oil Well"
1303; /* xgettext:no-c-format */
1304helptext       = _("\
1305Once Refrigeration is known, irrigation systems can be upgraded to \
1306farmland by irrigating them a second time; if the city working the tile \
1307has a Supermarket, a farmland tile provides twice as much food.\
1308"), _("\
1309Like irrigation, farmland is incompatible with mines and oil wells.\
1310")
1311
1312[extra_fallout]
1313name           = _("Fallout")
1314category       = "Nuisance"
1315causes         = "Fallout"
1316rmcauses       = "CleanFallout"
1317graphic        = "tx.fallout"
1318graphic_alt    = "-"
1319activity_gfx   = "None"
1320act_gfx_alt    = "-"
1321act_gfx_alt2   = "-"
1322rmact_gfx      = "unit.fallout"
1323rmact_gfx_alt  = "-"
1324reqs           =
1325    { "type", "name", "range", "present", "quiet"
1326      "TerrainFlag", "NoPollution", "Local", FALSE, TRUE
1327    }
1328removal_time   = 0
1329flags          = "NuclearWinter"
1330helptext       = _("\
1331Nuclear fallout can appear on land tiles when a Nuclear unit is \
1332detonated. It halves all output from its tile.\
1333"), _("\
1334Every tile with nuclear fallout also increases the risk of global \
1335nuclear winter. If nuclear winter occurs, land across the globe \
1336changes into desert, tundra, and ice, and lakes and oceans freeze.\
1337"), _("\
1338Settlers, Workers, and Engineers can clean up nuclear fallout.\
1339")
1340
1341[extra_fortress]
1342name           = _("Fortress")
1343category       = "Infra"
1344causes         = "Base"
1345rmcauses       = "Pillage"
1346graphic        = "base.fortress"
1347graphic_alt    = "-"
1348activity_gfx   = "unit.fortress"
1349act_gfx_alt    = "-"
1350act_gfx_alt2   = "-"
1351rmact_gfx      = "None"
1352rmact_gfx_alt  = "-"
1353reqs           =
1354    { "type", "name", "range", "present", "quiet"
1355      "Tech", "Construction", "Player", TRUE, FALSE
1356      "TerrainClass", "Land", "Local", TRUE, FALSE
1357      "UnitFlag", "Settlers", "Local", TRUE, FALSE
1358      "CityTile", "Center", "Local", FALSE, TRUE
1359    }
1360build_time     = 3
1361removal_time   = 0
1362defense_bonus  = 100
1363native_to      = "Land"
1364helptext       = _("\
1365Fortresses improve defense for land units outside cities. Among other \
1366effects, a land unit remaining in a fortress for a whole turn without \
1367moving recovers a quarter of its hit points. With Invention, fortresses \
1368gain watchtowers from which land units can see further afield.\
1369")
1370
1371[extra_airbase]
1372name           = _("Airbase")
1373category       = "Infra"
1374causes         = "Base"
1375rmcauses       = "Pillage"
1376graphic        = "base.airbase"
1377graphic_alt    = "-"
1378activity_gfx   = "unit.airbase"
1379act_gfx_alt    = "-"
1380act_gfx_alt2   = "-"
1381rmact_gfx      = "None"
1382rmact_gfx_alt  = "-"
1383reqs           =
1384    { "type", "name", "range", "present", "quiet"
1385      "Tech", "Radio", "Player", TRUE, FALSE
1386      "TerrainClass", "Land", "Local", TRUE, FALSE
1387      "UnitFlag", "Airbase", "Local", TRUE, FALSE
1388      "CityTile", "Center", "Local", FALSE, TRUE
1389    }
1390build_time     = 3
1391removal_time   = 0
1392native_to      = "Air", "Helicopter", "Missile"
1393flags          = "Refuel"
1394helptext       = _("\
1395Airbases allow your air units to land and refuel outside cities. \
1396Air units in an airbase may be attacked by land units.\
1397")
1398
1399[extra_buoy]
1400name           = _("Buoy")
1401category       = "Infra"
1402causes         = "Base"
1403rmcauses       = "Pillage"
1404graphic        = "base.buoy"
1405graphic_alt    = "base.fortress"
1406activity_gfx   = "unit.buoy"
1407act_gfx_alt    = "unit.fortress"
1408act_gfx_alt2   = "-"
1409rmact_gfx      = "None"
1410rmact_gfx_alt  = "-"
1411reqs           =
1412    { "type", "name", "range", "present", "quiet"
1413      "Tech", "Radio", "Player", TRUE, FALSE
1414      "TerrainClass", "Oceanic", "Local", TRUE, FALSE
1415      "UnitFlag", "Airbase", "Local", TRUE, FALSE
1416      "CityTile", "Center", "Local", FALSE, TRUE
1417    }
1418build_time     = 3
1419removal_time   = 0
1420flags          = "ShowFlag"
1421helptext       = _("\
1422Buoys may be built in the ocean (by units on a sea-going vessel) to \
1423allow their owner to see the surrounding tiles.\
1424")
1425
1426[extra_ruins]
1427name           = _("Ruins")
1428category       = "Bonus"
1429causes         = "Base"
1430rmcauses       = "Pillage"
1431graphic        = "base.ruins"
1432graphic_alt    = "-"
1433activity_gfx   = "None"
1434act_gfx_alt    = "-"
1435act_gfx_alt2   = "-"
1436rmact_gfx      = "None"
1437rmact_gfx_alt  = "-"
1438reqs           =
1439    { "type", "name", "range", "present", "quiet"
1440      "TerrainClass", "Land", "Local", TRUE, FALSE
1441      "CityTile", "Center", "Local", FALSE, TRUE
1442    }
1443buildable      = FALSE
1444removal_time   = 0
1445flags          = "TerrChangeRemoves"
1446helptext       = _("\
1447Ruins mark the former site of a city that was destroyed or abandoned. \
1448They have no effect on gameplay.\
1449")
1450
1451[extra_road]
1452name           = _("Road")
1453category       = "Infra"
1454causes         = "Road"
1455rmcauses       = "Pillage"
1456graphic        = "road.road"
1457graphic_alt    = "-"
1458activity_gfx   = "unit.road"
1459act_gfx_alt    = "-"
1460act_gfx_alt2   = "-"
1461rmact_gfx      = "None"
1462rmact_gfx_alt  = "-"
1463reqs           =
1464    { "type", "name", "range"
1465      "UnitFlag", "Settlers", "Local"
1466      "TerrainClass", "Land", "Local"
1467    }
1468build_time     = 0
1469removal_time   = 0
1470native_to      = "Land"
1471hidden_by      = "Railroad"
1472flags          = "AutoOnCityCenter"
1473helptext       = _("\
1474Roads allow your land units to move more quickly, and on some terrain,\
1475 also provide a trade bonus.\
1476"), _("\
1477Building roads on river tiles requires knowledge of Bridge Building.\
1478 City center tiles automatically get roads (unless they are on a river\
1479 tile and you do not yet know Bridge Building).\
1480")
1481
1482[extra_railroad]
1483name           = _("Railroad")
1484category       = "Infra"
1485causes         = "Road"
1486rmcauses       = "Pillage"
1487graphic        = "road.rail"
1488graphic_alt    = "-"
1489activity_gfx   = "unit.rail"
1490act_gfx_alt    = "unit.road"
1491act_gfx_alt2   = "-"
1492rmact_gfx      = "None"
1493rmact_gfx_alt  = "-"
1494reqs           =
1495    { "type", "name", "range"
1496      "Tech", "Railroad", "Player"
1497      "Extra", "Road", "Local"
1498      "UnitFlag", "Settlers", "Local"
1499      "TerrainClass", "Land", "Local"
1500    }
1501build_time     = 3
1502removal_time   = 0
1503native_to      = "Land"
1504flags          = "AutoOnCityCenter"
1505helptext       = _("\
1506Once you learn the Railroad technology, you may upgrade your roads\
1507 to railroads. Units expend no movement points when moving along a\
1508 railroad; you may ride a railroad indefinitely. (As may your enemies!)\
1509"), _("\
1510A railroad also increases any shield resources produced by a tile by half.\
1511 A tile whose road is upgraded to a railroad retains any trade bonus\
1512 from the road as well.\
1513"), _("\
1514City center tiles with roads are automatically upgraded to railroads\
1515 when you learn the Railroad technology.\
1516")
1517
1518[extra_river]
1519name           = _("River")
1520category       = "Natural"
1521causes         = "Road"
1522;rmcauses       = ""
1523graphic        = "road.river"
1524graphic_alt    = "-"
1525activity_gfx   = "None"
1526act_gfx_alt    = "-"
1527act_gfx_alt2   = "-"
1528rmact_gfx      = "None"
1529rmact_gfx_alt  = "-"
1530buildable      = FALSE
1531defense_bonus  = 50
1532native_to      = "Land"
1533; /* xgettext:no-c-format */
1534helptext       = _("\
1535Any land terrain type may have a River on it.  A River adds 1\
1536 trade to the resources produced by that tile.  It also increases a tile's\
1537 defense factor by 50%.  Finally, land units may move along a River (but\
1538 not diagonally) for fast travel.\
1539"), _("\
1540Roads and railroads can only be built on River tiles if your\
1541 civilization has learned Bridge Building technology.\
1542")
1543
1544; /* <-- avoid gettext warnings
1545;
1546; Base types:
1547;
1548; extra                   = name of the extra this base section is part of
1549;                           (must have "Base" in its causes)
1550; gui_type                = How gui should handle this base.
1551;                           Value can be "Fortress", "Airbase", or "Other"
1552;                           See also [extraui] section
1553; border_sq               = Base will claim land ownership up to this radius,
1554;                           -1 to disable. If enabled, base cannot exist in
1555;                           city tile.
1556;                           Base (and border) ownership will change hands if
1557;                           an enemy unit occupies the tile.
1558; vision_main_sq          = Base will have main layer vision to this radius.
1559;                           Vision initially provided to owner of unit that
1560;                           built base; base will not then change hands unless
1561;                           it also claims territory, or tile has another such
1562;                           base or city, or another base is built (tile only
1563;                           tracks one owner for all bases).
1564; vision_invis_sq         = Base will have invisible layer vision to this radius
1565; flags
1566;   - "NoAggressive"      = Units inside are not considered aggressive if
1567;                           there`s friendly city within 3 tiles
1568;   - "NoStackDeath"      = Units inside do not die all at once when attacked
1569;   - "DiplomatDefense"   = Diplomats inside get bonus to diplomatic defense
1570;   - "ParadropFrom"      = Paradrop can be initiated from base
1571;
1572; */ <-- avoid gettext warnings
1573
1574[base_fortress]
1575extra          = "Fortress"
1576gui_type       = "Fortress"
1577border_sq      = 5
1578flags          = "NoAggressive", "NoStackDeath", "DiplomatDefense"
1579
1580[base_airbase]
1581extra          = "Airbase"
1582gui_type       = "Airbase"
1583flags          = "NoStackDeath", "ParadropFrom"
1584
1585[base_buoy]
1586extra          = "Buoy"
1587gui_type       = "Fortress"
1588vision_main_sq = 5
1589
1590[base_ruins]
1591extra          = "Ruins"
1592gui_type       = "Other"
1593
1594; /* <-- avoid gettext warnings
1595;
1596; Road types:
1597;
1598; extra                   = name of the extra this road section is part of
1599;                           (must have "Road" in its causes)
1600; first_reqs              = additional requirements to build the first part of
1601;                           the road, when none of the adjacent tiles have any
1602;                           integrating roads (see effects.ruleset and
1603;                           README.effects for help on requirements)
1604; move_cost               = how much movement it takes to travel
1605;                           via this road (in fractional move points, as
1606;                           defined by move_fragments)
1607;                           -1 means that road provides no speed bonus.
1608; move_mode               = how movement costs are applied
1609;   - "Cardinal"   = Road cost applies only on cardinal moves
1610;   - "Relaxed"    = Road cost is normal for cardinal, double for diagonal moves
1611;   - "FastAlways" = Road cost applies always between two tiles with the roads
1612;                    (default)
1613; food_incr_const         = food production added to tile regardless of terrain
1614; shield_incr_const       = shield production added to tile regardless of
1615;                           terrain
1616; trade_incr_const        = trade production added to tile regardless of
1617;                           terrain
1618; food_incr               = food production added to tile; multiplied by
1619;                           terrain-specific road_food_incr_pct
1620; shield_incr             = shield production added to tile; multiplied by
1621;                           terrain-specific road_shield_incr_pct
1622; trade_incr              = trade production added to tile; multiplied by
1623;                           terrain-specific road_trade_incr_pct
1624; food_bonus              = percent added to food production
1625; shield_bonus            = percent added to shield production
1626; trade_bonus             = percent added to trade production
1627;   In summary, output bonuses from roads are given by the formula:
1628;   (base_prod + roads.incr_const + roads.incr*terrain.incr_pct) * roads.bonus
1629; compat_special          = what kind of pre-2.5 special this road corresponds
1630;                           to, if any: "Road", "Railroad", "River, or "None".
1631;                           Used for UI and loading old savegames
1632; integrates              = list of road types that are suitable next steps
1633;                           for travel from this road type; such steps are
1634;                           possible for units native to both roads and don`t
1635;                           get cost from underlying terrain; graphics are
1636;                           drawn accordingly
1637; flags
1638;   - "RequiresBridge"    = Technology with "Bridge" flag needed to build this
1639;                           road on the same tile as another road with
1640;                           "PreventsOtherRoads" flag (usually rivers)
1641;   - "PreventsOtherRoads" = Prevents "RequiresBridge" roads being built on
1642;                           the same tile as this one without appropriate tech
1643;   - "River"             = Automatically generated by map generator, always
1644;                           flowing from land tiles to ocean
1645;   - "UnrestrictedInfra" = Use of the enemy owned road is not restricted
1646;                           even if server setting 'restrictinfra' is set
1647;   - "JumpFrom"          = Move to a tile nativity providing "JumpTo"
1648;                           road is considered native
1649;   - "JumpTo"            = Move from a tile nativity providing "JumpFrom"
1650;                           road is considered native
1651;
1652; */ <-- avoid gettext warnings
1653
1654[road_road]
1655extra          = "Road"
1656move_cost      = 1
1657food_incr      = 0
1658shield_incr    = 0
1659trade_incr     = 1
1660food_bonus     = 0
1661shield_bonus   = 0
1662trade_bonus    = 0
1663compat_special = "Road"
1664flags          = "RequiresBridge"
1665
1666[road_railroad]
1667extra          = "Railroad"
1668move_cost      = 0
1669food_incr      = 0
1670shield_incr    = 0
1671trade_incr     = 0
1672food_bonus     = 0
1673shield_bonus   = 50
1674trade_bonus    = 0
1675compat_special = "Railroad"
1676flags          = "RequiresBridge"
1677
1678[road_river]
1679extra          = "River"
1680move_cost      = 1
1681move_mode      = "Cardinal"
1682trade_incr_const = 1
1683compat_special = "River"
1684flags          = "River", "PreventsOtherRoads", "UnrestrictedInfra"
1685