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