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