Make AI less likely to stop building wonder
[freeciv.git] / data / civ1 / terrain.ruleset
blobe1163dd0f76ea86b9e54ba7578b6c5a9f01760a5
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="Civ1 tile_type 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 ;  }
27 [parameters]
29 ; Percentage of "land" tiles required to be adjacent to a water tile before
30 ; it may be "reclaimed" into a land tile (0-101; 0=anywhere, default 101=nowhere)
31 ocean_reclaim_requirement=101
33 ; Percentage of "water" tiles required to be adjacent to a land tile before
34 ; it may be "channeled" into a water tile (0-101; 0=anywhere, default 101=nowhere)
35 land_channel_requirement=101
37 ; Percentage of unfrozen tiles (no "Frozen" flag) required to be adjacent
38 ; to a frozen tile before it can thaw (0-101; 0=anywhere, default 101=nowhere)
39 thaw_requirement = 0
41 ; Percentage of frozen tiles ("Frozen" flag) required to be adjacent to an
42 ; unfrozen tile before it can freeze (0-101; 0=anywhere, default 101=nowhere)
43 freeze_requirement = 0
45 ; Bodies of water up to this size are considered freshwater lakes, if there is
46 ; also terrain type(s) with flag "FreshWater" in the ruleset.
47 lake_max_size = 0
49 ; How many native tiles first startunit must be able to reach.
50 ; 0 to disable check.
51 min_start_native_area = 0
53 ; How many fragments each movement point has.
54 ; For example road movement costs are relative to this.
55 move_fragments = 3
57 ; Whether diagonal movement has increased cost 
58 ; The cost increase is more accurate with larger values for move_fragments
59 pythagorean_diagonal = FALSE
61 ; How many move_fragments IgTer unit movement costs
62 igter_cost = 1
64 ; /* <-- avoid gettext warnings
66 ; The individual terrain types, one per section.
67 ; Roughly sorted by identifier.
68 ; The actual tag used (the * in [terrain_*]) must be unique for each terrain,
69 ; and may be used in debug output when reading this file.
71 ; Notes:
73 ; name                 = translatable name as seen by user; if "unused", it is
74 ;                        not used, but is included for conversion and/or the
75 ;                        editor.
76 ; rule_name            = (optional) name for savegames, rulesets etc; if not
77 ;                        present, 'name' is used. Since the name used in
78 ;                        savegames must not change, use this when renaming a
79 ;                        terrain after a ruleset has been released.
80 ; graphic              = preferred graphic; Tilespec [tile_*] section
81 ;                        with 'tag' matching this will be used.
82 ; graphic_alt          = alternate graphic. When no tilespec 'tag' matching
83 ;                        preferred graphic is not found, this will be used.
84 ;                        Otherwise may be "-"
85 ; identifier           = single-character identifier used in savegames. This
86 ;                        must be unique for each terrain.
87 ; class                = Terrain class terrain belongs to: "Land" or "Oceanic"
88 ; movement_cost        = in whole movement points, not move_fragments;
89 ;                        typically 1 to 3
90 ; defense_bonus        = percent added to defense; typically 0% to 200%
91 ; food                 = normal food production
92 ; shield               = normal shield production
93 ; trade                = normal trade production
94 ; resources            = list of possible resources on this terrain
95 ; road_food_incr_pct   = percent of road food_incr applied to this terrain
96 ; road_shield_incr_pct = percent of road shield_incr applied to this terrain
97 ; road_trade_incr_pct  = percent of road trade_incr applied to this terrain
98 ; base_time            = time to build bases; if 0, cannot build any bases.
99 ;                        Nonzero values only affect bases with build_time 0.
100 ; road_time            = time to build roads; if 0, cannot build any roads.
101 ;                        Nonzero values only affect roads with build_time 0.
102 ; irrigation_result    = result of irrigation; one of:
103 ;                        "no"  -- cannot irrigate
104 ;                        "yes" -- can irrigate
105 ;                        terrain section -- irrigation changes to that terrain
106 ; irrigation_food_incr = increment to food if tile is irrigated
107 ; irrigation_time      = time to irrigate; if 0, cannot irrigate
108 ;                        Nonzero values only affect extras with build_time 0.
109 ; mining_result        = result of mining; one of:
110 ;                        "no"  -- cannot mine
111 ;                        "yes" -- can mine
112 ;                        terrain section -- mining changes to that terrain
113 ; mining_shield_incr   = increment to shields if tile is mined
114 ; mining_time          = time to mine; if 0, cannot mine
115 ;                        Nonzero values only affect extras with build_time 0.
116 ; transform_result     = result of transformation; one of:
117 ;                        "no"  -- cannot transform
118 ;                        terrain section -- transformation changes to that
119 ;                          terrain
120 ; transform_time       = time to transform; if 0, cannot transform
121 ; pillage_time         = time to pillage extra from the tile (0 = impossible)
122 ;                        Nonzero values only affect extras with removal_time 0.
123 ; clean_pollution_time = time to clean pollution (0 = impossible)
124 ;                        Nonzero values only affect extras with removal_time 0.
125 ; clean_fallout_time   = time to clean fallout (0 = impossible)
126 ;                        Nonzero values only affect extras with removal_time 0.
127 ; animal               = unit type that can appear as animal on the terrain
128 ; warmer_wetter_result = result of global warming for wet terrains; one of:
129 ;                        "no"  -- no change; does not count for warming
130 ;                        "yes" -- no change; counts for warming
131 ;                        terrain section -- warming changes to that terrain
132 ; warmer_drier_result  = result of global warming for dry terrains;
133 ;                        see warmer_wetter_result
134 ; cooler_wetter_result = result of nuclear winter for wet terrains;
135 ;                        see warmer_wetter_result
136 ; cooler_drier_result  = result of nuclear winter for dry terrains;
137 ;                        see warmer_wetter_result
138 ; native_to            = List of unit classes that can move here
139 ; flags                = General flags for this terrain. List taken from the
140 ;                        following, and/or any user flags defined above:
141 ;   - NoBarbs          = Barbarians will not be spawned here.
142 ;   - NoCities         = Cities may not be built or found on this terrain.
143 ;   - Starter          = Players will only be started on "Starter" terrain.
144 ;                        (Currently this cannot be Oceanic terrain.)
145 ;   - CanHaveRiver     = Set to 1 if this terrain can have river on it (the
146 ;                        actual chance of river generation is controlled
147 ;                        separately).
148 ;   - UnsafeCoast      = This terrain does not provide a safe voyage for
149 ;                        units with flag "Trireme"
150 ;   - FreshWater       = This terrain is used for small bodies of water.
151 ;                        If this becomes adjacent to non-FreshWater terrain,
152 ;                        the whole contiguous FreshWater area will be flooded
153 ;                        with the non-FreshWater terrain.
154 ;   - NotGenerated     = Map generator never places this terrain type. It can
155 ;                        be added from editor only, or by ingame events
156 ;                        (lua scripting)
157 ;   - NoZoc            = Units on this terrain are not generating or subject
158 ;                        to zoc
159 ;   - NoFortify        = Units cannot fortify on this terrain
160 ;   - Frozen           = Frozen/polar terrain. For water tiles, Frozen terrain
161 ;                        is generated near poles. Conversion between frozen
162 ;                        and unfrozen terrain can be controlled with
163 ;                        thaw_requirement/freeze_requirement, and Frozen
164 ;                        terrain is shown differently on the overview map.
165 ; property_*           = specific property % values used by mapgen. Most
166 ;                        terrains will have 0 for most values. Properties
167 ;                        other than ocean_depth are only used for land tiles.
168 ;  - mountainous       = degree to which this terrain is mountainous
169 ;  - green             = how much life this terrain has
170 ;  - foliage           = how much thick undergrowth the terrain has
171 ;  - tropical          = how "tropical" the terrain is (high temperature)
172 ;  - temperate         = how "temperate" the terrain is (med temperature)
173 ;  - cold              = how "cold" the terrain is (low temperature)
174 ;  - frozen            = how "frozen" the terrain is (very low temperature)
175 ;                        (does not necessarily have to have the "Frozen" flag)
176 ;  - wet               = how "wet" the terrain is (moisture)
177 ;  - dry               = how "dry" the terrain is (moisture)
178 ;  - ocean_depth       = the depth of an ocean, as an average level
179 ; color.r              = color of the terrain (red value)
180 ; color.g              = color of the terrain (green value)
181 ; color.b              = color of the terrain (blue value)
182 ; helptext             = optional help text string; should escape all raw
183 ;                        newlines so that xgettext parsing works
185 ; */ <-- avoid gettext warnings
187 [terrain_ocean]
188 name                 = _("Ocean")
189 graphic              = "coast"
190 graphic_alt          = "-"
191 identifier           = " "
192 class                = "Oceanic"
193 movement_cost        = 1
194 defense_bonus        = 0
195 food                 = 1
196 shield               = 0
197 trade                = 2
198 resources            = "Fish"
199 road_trade_incr_pct  = 0
200 base_time            = 1
201 road_time            = 0
202 irrigation_result    = "no"
203 irrigation_food_incr = 0
204 irrigation_time      = 0
205 mining_result        = "no"
206 mining_shield_incr   = 0
207 mining_time          = 0
208 transform_result     = "no"
209 transform_time       = 0
210 pillage_time         = 1
211 animal               = "None"
212 warmer_wetter_result = "no"
213 warmer_drier_result  = "no"
214 cooler_wetter_result = "no"
215 cooler_drier_result  = "no"
216 native_to            = "Sea", "Air", "Missile"
217 flags                = "UnsafeCoast", "NoCities", "NoZoc", "NoFortify"
218 property_ocean_depth = 36
219 color.r              = 0
220 color.g              = 46
221 color.b              = 137
222 helptext             = _("\
223 Oceans cover much of the world.\
224 "), _("\
225 In cities built on the coast, stored food and work towards the current\
226  project are at risk from piracy, unless there is any kind of\
227  Barracks in the city.\
230 [terrain_arctic]
231 name                 = _("Arctic")
232 graphic              = "arctic"
233 graphic_alt          = "-"
234 identifier           = "a"
235 class                = "Land"
236 movement_cost        = 2
237 defense_bonus        = 0
238 food                 = 0
239 shield               = 0
240 trade                = 0
241 resources            = "Seals"
242 road_trade_incr_pct  = 0
243 base_time            = 1
244 road_time            = 4
245 irrigation_result    = "no"
246 irrigation_food_incr = 0
247 irrigation_time      = 0
248 mining_result        = "no"
249 mining_shield_incr   = 0
250 mining_time          = 0
251 transform_result     = "no"
252 transform_time       = 0
253 pillage_time         = 1
254 animal               = "None"
255 warmer_wetter_result = "no"
256 warmer_drier_result  = "no"
257 cooler_wetter_result = "no"
258 cooler_drier_result  = "no"
259 native_to            = "Land", "Air", "Missile"
260 flags                = "NoBarbs", "Frozen"
261 property_frozen      = 100
262 color.r              = 232
263 color.g              = 232
264 color.b              = 232
265 helptext             = _("\
266 Arctic tiles are found only in the most northerly or southerly\
267  reaches of the world.  They are very cold, and hence difficult to\
268  work with.\
271 [terrain_desert]
272 name                 = _("Desert")
273 graphic              = "desert"
274 graphic_alt          = "-"
275 identifier           = "d"
276 class                = "Land"
277 movement_cost        = 1
278 defense_bonus        = 0
279 food                 = 0
280 shield               = 1
281 trade                = 0
282 resources            = "Oasis"
283 road_trade_incr_pct  = 100
284 base_time            = 1
285 road_time            = 2
286 irrigation_result    = "yes"
287 irrigation_food_incr = 1
288 irrigation_time      = 5
289 mining_result        = "yes"
290 mining_shield_incr   = 1
291 mining_time          = 5
292 transform_result     = "no"
293 transform_time       = 0
294 pillage_time         = 1
295 animal               = "None"
296 warmer_wetter_result = "Swamp"
297 warmer_drier_result  = "no"
298 cooler_wetter_result = "no"
299 cooler_drier_result  = "no"
300 native_to            = "Land", "Air", "Missile"
301 property_dry         = 100
302 property_tropical    = 50
303 property_temperate   = 20
304 color.r              = 214
305 color.g              = 185
306 color.b              = 106
307 helptext             = _("\
308 Deserts are regions of extreme dryness, making agriculture and\
309  trade very difficult.\
312 [terrain_forest]
313 name                 = _("Forest")
314 graphic              = "forest"
315 graphic_alt          = "-"
316 identifier           = "f"
317 class                = "Land"
318 movement_cost        = 2
319 defense_bonus        = 50
320 food                 = 1
321 shield               = 2
322 trade                = 0
323 resources            = "Game"
324 road_trade_incr_pct  = 0
325 base_time            = 1
326 road_time            = 4
327 irrigation_result    = "Plains"
328 irrigation_food_incr = 0
329 irrigation_time      = 5
330 mining_result        = "no"
331 mining_shield_incr   = 0
332 mining_time          = 0
333 transform_result     = "no"
334 transform_time       = 0
335 pillage_time         = 1
336 animal               = "None"
337 warmer_wetter_result = "Jungle"
338 warmer_drier_result  = "Desert"
339 cooler_wetter_result = "no"
340 cooler_drier_result  = "no"
341 native_to            = "Land", "Air", "Missile"
342 flags                = "Starter"
343 property_cold        = 20
344 property_wet         = 20
345 property_foliage     = 50
346 property_temperate   = 50
347 color.r              = 43
348 color.g              = 107
349 color.b              = 19
350 helptext             = _("\
351 Forests are densely wooded, making agriculture somewhat\
352  problematic.\
355 [terrain_grassland]
356 name                 = _("Grassland")
357 graphic              = "grassland"
358 graphic_alt          = "-"
359 identifier           = "g"
360 class                = "Land"
361 movement_cost        = 1
362 defense_bonus        = 0
363 food                 = 2
364 shield               = 0
365 trade                = 0
366 resources            = "Resources"
367 road_trade_incr_pct  = 100
368 base_time            = 1
369 road_time            = 2
370 irrigation_result    = "yes"
371 irrigation_food_incr = 1
372 irrigation_time      = 5
373 mining_result        = "Forest"
374 mining_shield_incr   = 0
375 mining_time          = 10
376 transform_result     = "no"
377 transform_time       = 0
378 pillage_time         = 1
379 animal               = "None"
380 warmer_wetter_result = "Swamp"
381 warmer_drier_result  = "Desert"
382 cooler_wetter_result = "Desert"
383 cooler_drier_result  = "Tundra"
384 native_to            = "Land", "Air", "Missile"
385 flags                = "Starter", "CanHaveRiver"
386 property_green       = 50
387 property_temperate   = 50
388 color.r              = 11
389 color.g              = 138
390 color.b              = 4
391 helptext             = _("\
392 Grasslands afford exceptional agricultural opportunities.\
395 [terrain_hills]
396 name                 = _("Hills")
397 graphic              = "hills"
398 graphic_alt          = "-"
399 identifier           = "h"
400 class                = "Land"
401 movement_cost        = 2
402 defense_bonus        = 100
403 food                 = 1
404 shield               = 0
405 trade                = 0
406 resources            = "Coal"
407 road_trade_incr_pct  = 0
408 base_time            = 1
409 road_time            = 4
410 irrigation_result    = "yes"
411 irrigation_food_incr = 1
412 irrigation_time      = 10
413 mining_result        = "yes"
414 mining_shield_incr   = 3
415 mining_time          = 10
416 transform_result     = "no"
417 transform_time       = 0
418 pillage_time         = 1
419 animal               = "None"
420 warmer_wetter_result = "no"
421 warmer_drier_result  = "no"
422 cooler_wetter_result = "no"
423 cooler_drier_result  = "no"
424 native_to            = "Land", "Air", "Missile"
425 flags                = "Starter"
426 property_green       = 10
427 property_mountainous = 30
428 color.r              = 24
429 color.g              = 97
430 color.b              = 5
431 helptext             = _("\
432 In addition to being amenable to agriculture, Hills are frequently\
433  rich in resources.\
434 "), _("\
435 A city built in or next to hills is at risk of earthquakes, which can\
436  destroy buildings in that city. There is no technology or improvement\
437  which can prevent this disaster.\
440 [terrain_jungle]
441 name                 = _("Jungle")
442 graphic              = "jungle"
443 graphic_alt          = "-"
444 identifier           = "j"
445 class                = "Land"
446 movement_cost        = 2
447 defense_bonus        = 50
448 food                 = 1
449 shield               = 0
450 trade                = 0
451 resources            = "Gems"
452 road_trade_incr_pct  = 0
453 base_time            = 1
454 road_time            = 4
455 irrigation_result    = "Grassland"
456 irrigation_food_incr = 0
457 irrigation_time      = 15
458 mining_result        = "Forest"
459 mining_shield_incr   = 0
460 mining_time          = 15
461 transform_result     = "no"
462 transform_time       = 0
463 pillage_time         = 1
464 animal               = "None"
465 warmer_wetter_result = "no"
466 warmer_drier_result  = "no"
467 cooler_wetter_result = "Desert"
468 cooler_drier_result  = "Tundra"
469 native_to            = "Land", "Air", "Missile"
470 property_foliage     = 50
471 property_tropical    = 50
472 color.r              = 55
473 color.g              = 156
474 color.b              = 38
475 helptext             = _("\
476 Jungles are densely overgrown, making agriculture somewhat\
477  problematic.\
480 [terrain_mountains]
481 name                 = _("Mountains")
482 graphic              = "mountains"
483 graphic_alt          = "-"
484 identifier           = "m"
485 class                = "Land"
486 movement_cost        = 3
487 defense_bonus        = 200
488 food                 = 0
489 shield               = 1
490 trade                = 0
491 resources            = "Gold"
492 road_trade_incr_pct  = 0
493 base_time            = 1
494 road_time            = 6
495 irrigation_result    = "no"
496 irrigation_food_incr = 0
497 irrigation_time      = 0
498 mining_result        = "yes"
499 mining_shield_incr   = 1
500 mining_time          = 10
501 transform_result     = "no"
502 transform_time       = 0
503 pillage_time         = 1
504 animal               = "None"
505 warmer_wetter_result = "no"
506 warmer_drier_result  = "no"
507 cooler_wetter_result = "no"
508 cooler_drier_result  = "no"
509 native_to            = "Land", "Air", "Missile"
510 property_mountainous = 70
511 color.r              = 129
512 color.g              = 127
513 color.b              = 118
514 helptext             = _("\
515 Mountains are regions of extreme altitude, making agriculture and\
516  trade very difficult.\
517 "), _("\
518 Cities built in or next to mountains are at risk from volcanic\
519  activity. A Temple in the city instils sufficient respect for the\
520  forces of nature to prevent population loss.\
523 [terrain_plains]
524 name                 = _("Plains")
525 graphic              = "plains"
526 graphic_alt          = "-"
527 identifier           = "p"
528 class                = "Land"
529 movement_cost        = 1
530 defense_bonus        = 0
531 food                 = 1
532 shield               = 1
533 trade                = 0
534 resources            = "Horses"
535 road_trade_incr_pct  = 100
536 base_time            = 1
537 road_time            = 2
538 irrigation_result    = "yes"
539 irrigation_food_incr = 1
540 irrigation_time      = 5
541 mining_result        = "Forest"
542 mining_shield_incr   = 0
543 mining_time          = 15
544 transform_result     = "no"
545 transform_time       = 0
546 pillage_time         = 1
547 animal               = "None"
548 warmer_wetter_result = "Swamp"
549 warmer_drier_result  = "Desert"
550 cooler_wetter_result = "Desert"
551 cooler_drier_result  = "Tundra"
552 native_to            = "Land", "Air", "Missile"
553 flags                = "Starter"
554 property_green       = 50
555 property_temperate   = 50
556 color.r              = 122
557 color.g              = 156
558 color.b              = 46
559 helptext             = _("\
560 Plains are very broad, sparse regions, which makes trade slightly\
561  inconvenient.\
564 [terrain_swamp]
565 name                 = _("Swamp")
566 graphic              = "swamp"
567 graphic_alt          = "-"
568 identifier           = "s"
569 class                = "Land"
570 movement_cost        = 2
571 defense_bonus        = 50
572 food                 = 1
573 shield               = 0
574 trade                = 0
575 resources            = "Oil"
576 road_trade_incr_pct  = 0
577 base_time            = 1
578 road_time            = 4
579 irrigation_result    = "Grassland"
580 irrigation_food_incr = 0
581 irrigation_time      = 15
582 mining_result        = "Forest"
583 mining_shield_incr   = 0
584 mining_time          = 15
585 transform_result     = "no"
586 transform_time       = 0
587 pillage_time         = 1
588 animal               = "None"
589 warmer_wetter_result = "no"
590 warmer_drier_result  = "Desert"
591 cooler_wetter_result = "no"
592 cooler_drier_result  = "Tundra"
593 native_to            = "Land", "Air", "Missile"
594 property_wet         = 100
595 property_tropical    = 10
596 property_temperate   = 10
597 property_cold        = 10
598 color.r              = 48
599 color.g              = 85
600 color.b              = 97
601 helptext             = _("\
602 Swamps suffer from an over-abundance of water, making agriculture\
603  somewhat problematic.\
606 [terrain_tundra]
607 name                 = _("Tundra")
608 graphic              = "tundra"
609 graphic_alt          = "-"
610 identifier           = "t"
611 class                = "Land"
612 movement_cost        = 1
613 defense_bonus        = 0
614 food                 = 1
615 shield               = 0
616 trade                = 0
617 resources            = "Game"
618 road_trade_incr_pct  = 0
619 base_time            = 1
620 road_time            = 2
621 irrigation_result    = "no"
622 irrigation_food_incr = 0
623 irrigation_time      = 0
624 mining_result        = "no"
625 mining_shield_incr   = 0
626 mining_time          = 0
627 transform_result     = "no"
628 transform_time       = 0
629 pillage_time         = 1
630 animal               = "None"
631 warmer_wetter_result = "no"
632 warmer_drier_result  = "no"
633 cooler_wetter_result = "Arctic"
634 cooler_drier_result  = "Arctic"
635 native_to            = "Land", "Air", "Missile"
636 flags                = "Starter", "NoBarbs"
637 property_cold        = 50
638 color.r              = 188
639 color.g              = 188
640 color.b              = 188
641 helptext             = _("\
642 Tundra are broad, cold regions, fit for some agriculture and little\
643  else.\
646 ; The individual resource types, one per section.
647 ; Roughly sorted by identifier.
648 ; The actual tag used (the * in [resource_*]) must be unique for each resource,
649 ; and may be used in debug output when reading this file.
651 ; Notes:
653 ; name                 = name as seen by user; if "unused", it is not used,
654 ;                        but is included for conversion and/or the editor.
655 ; graphic              = tag specifying preferred graphic
656 ; graphic_alt          = tag for alternate garphic if preferred graphic is not 
657 ;                        present; especially if preferred graphic is non-standard, 
658 ;                        this should be a standard tag.  Otherwise can use eg "-" 
659 ;                        for no alternate graphic.
660 ; identifier           = single-character identifier used in savegames.  This
661 ;                        must be unique for each resource, and changing it will
662 ;                        break savegame compatibility.
663 ; food                 = increased food production
664 ; shield               = increased shield production
665 ; trade                = increased trade production
667 [resource_gold]
668 name        = _("Gold")
669 graphic     = "ts.gold"
670 graphic_alt = "-"
671 identifier  = "H"
672 trade       = 6
673 # mountains.
675 [resource_game]
676 name        = _("?animals:Game")
677 graphic     = "ts.tundra_game"
678 graphic_alt = "-"
679 identifier  = "A"
680 food        = 2
681 # forest, tundra.
683 [resource_coal]
684 name        = _("Coal")
685 graphic     = "ts.coal"
686 graphic_alt = "-"
687 identifier  = "C"
688 shield      = 2
689 # hills.
691 [resource_fish]
692 name        = _("Fish")
693 graphic     = "ts.fish"
694 graphic_alt = "-"
695 identifier  = "F"
696 food        = 2
697 # ocean.
699 [resource_gems]
700 name        = _("Gems")
701 graphic     = "ts.gems"
702 graphic_alt = "-"
703 identifier  = "G"
704 trade       = 4
705 # jungle.
707 [resource_horses]
708 name        = _("Horses")
709 graphic     = "ts.horses"
710 graphic_alt = "-"
711 identifier  = "I"
712 shield      = 2
713 # plains (horses => buffalo => cattle).
715 [resource_oasis]
716 name        = _("Oasis")
717 graphic     = "ts.oasis"
718 graphic_alt = "-"
719 identifier  = "O"
720 food        = 3
721 # desert.
723 [resource_swamp_oil]
724 name        = _("Oil")
725 graphic     = "ts.oil"
726 graphic_alt = "-"
727 identifier  = "P"
728 shield      = 4
729 # swamp (petroleum => peat => petroleum).
731 [resource_bonus]
732 name        = _("Resources")
733 graphic     = "ts.grassland_resources"
734 graphic_alt = "-"
735 identifier  = "R"
736 shield      = 1
737 # grassland.
739 [resource_seals]
740 name        = _("Seals")
741 graphic     = "ts.seals"
742 graphic_alt = "-"
743 identifier  = "S"
744 food        = 2
745 # arctic (seals => walrus).
748 [extraui]
750 ; Player visible names of the base gui types.
751 ui_name_base_fortress = _("?gui_type:Build Fortress")
752 ui_name_base_airbase = _("?gui_type:Build None")
754 ; /* <-- avoid gettext warnings
756 ; Each extra, including bases and roads, must have a section here.
757 ; Bases and roads have additional sections for their specific features below.
760 ; Extra types:
762 ; name                    = translatable name as seen by user
763 ; rule_name               = (optional) name for savegames, rulesets etc; if not
764 ;                           present, 'name' is used. Since the name used in
765 ;                           savegames must not change, use this when renaming
766 ;                           an extra after a ruleset has been released.
767 ; category                = How UI should categorize this extra. One of
768 ;                           "Infra", "Natural", "Nuisance", or "Bonus"
769 ; causes                  = events that can create extra type.
770 ;                           "Irrigation", "Mine", "Hut", "Pollution", "Fallout",
771 ;                           "Base", or "Road"
772 ; rmcauses                = events that can remove extra type.
773 ;                           "CleanPollution", "CleanFallout", or "Pillage"
774 ; graphic                 = tag specifying preferred graphic
775 ; graphic_alt             = tag for alternate graphic if preferred graphic is
776 ;                           not present. Can use eg "-" for no alternate
777 ;                           graphic
778 ; activity_gfx            = tag specifying graphic for unit building extra
779 ;                           This can be "None" to indicate that graphic sprite
780 ;                           is not needed.
781 ; act_gfx_alt             = tag for alternative graphic for unit building extra
782 ; act_gfx_alt2            = tag for second alternative graphic for unit building extra
783 ; rmact_gfx               = tag specifying graphic for unit removing extra
784 ;                           This can be "None" to indicate that graphic sprite
785 ;                           is not needed.
786 ; rmact_gfx_alt           = tag for alternative graphic for unit removing extra
787 ; reqs                    = requirements to build the extra (see effects.ruleset
788 ;                           and README.effects for help on requirements)
789 ; rmreqs                  = requirements to remove the extra
790 ; buildable               = Can extra be built? Defaults to TRUE
791 ; build_time              = how long it takes a unit to build this extra.
792 ;                           Value of 0 (default) means that terrain- and
793 ;                           build activity specific time is used instead.
794 ; build_time_factor       = This setting take effect only if build_time is 0.
795 ;                           Terrain and activity specific build time will be
796 ;                           multiplied by this value (default 1)
797 ; removal_time            = how long it takes a unit to remove this extra.
798 ;                           Value of 0 (default) means that terrain- and
799 ;                           removal activity specific time is used instead.
800 ; removal_time_factor     = This setting take effect only if removal_time is 0.
801 ;                           Terrain and activity specific removal time will be
802 ;                           multiplied by this value (default 1)
803 ; defense_bonus           = Percent added to defense when tile has the extra
804 ;                           (default none)
805 ; native_to               = List of unit classes that are considered to
806 ;                           be inside the extra when they are on same tile
807 ; conflicts               = List of extras that cannot be on the same tile.
808 ;                           Bases with non-zero border_sq automatically conflict
809 ;                           with each other.
810 ; hidden_by               = List of extra types that will make this extra
811 ;                           type not to show on UI if both present.
812 ; flags
813 ;   - "NativeTile"        = Native units consider tile native regardless of
814 ;                           terrain
815 ;   - "Refuel"            = Native units can use tile as refuel point
816 ;   - "TerrChangeRemoves" = Extra gets removed when ever terrain changes even
817 ;                           if target terrain could support it
818 ;   - "AlwaysOnCityCenter" = City center tiles always have this extra type
819 ;                           regardless of its other requirements
820 ;   - "AutoOnCityCenter"  = City center tiles will automatically have this
821 ;                           extra type if the player can build it
822 ;   - "ConnectLand"       = Road style gfx on Oceanic tiles are drawn to
823 ;                           connect to adjacent Land tiles even if they have
824 ;                           no extra. This affects appearance only
825 ;   - "GlobalWarming"     = Instances of this extra on map count towards
826 ;                           Global Warming
827 ;   - "NuclearWinter"     = Instances of this extra on map count towards
828 ;                           Nuclear Winter
829 ;   - "ShowFlag"          = Draw owner's flag
830 ;   - "NaturalDefense"    = Extra's defense bonus will be counted to "Natural"
831 ;                           defense layer. The defense bonus of all the extras
832 ;                           located at the tile, native to defending unit,
833 ;                           is calculated as a 1 + sum of bonuses from the extras
834 ;                           on the default "Fortification" defense layer multiplied
835 ;                           by the 1 + sum of bonuses from the extras on the
836 ;                           "Natural" layer.
837 ; helptext                = optional help text string; should escape all raw
838 ;                           newlines so that xgettext parsing works
840 ; */ <-- avoid gettext warnings
842 [extra_irrigation]
843 name           = _("Irrigation")
844 category       = "Infra"
845 causes         = "Irrigation"
846 rmcauses       = "Pillage"
847 graphic        = "tx.irrigation"
848 graphic_alt    = "-"
849 activity_gfx   = "unit.irrigation"
850 act_gfx_alt    = "unit.irrigate"
851 act_gfx_alt2   = "-"
852 rmact_gfx      = "None"
853 rmact_gfx_alt  = "-"
854 build_time     = 0
855 removal_time   = 0
856 conflicts      = "Mine"
858 [extra_mine]
859 name           = _("Mine")
860 category       = "Infra"
861 causes         = "Mine"
862 rmcauses       = "Pillage"
863 graphic        = "tx.mine"
864 graphic_alt    = "-"
865 activity_gfx   = "unit.mine"
866 act_gfx_alt    = "unit.plant"
867 act_gfx_alt2   = "-"
868 rmact_gfx      = "None"
869 rmact_gfx_alt  = "-"
870 build_time     = 0
871 removal_time   = 0
872 conflicts      = "Irrigation"
874 [extra_pollution]
875 name           = _("Pollution")
876 category       = "Nuisance"
877 causes         = "Pollution", "Fallout"
878 rmcauses       = "CleanPollution"
879 graphic        = "tx.pollution"
880 graphic_alt    = "-"
881 activity_gfx   = "None"
882 act_gfx_alt    = "-"
883 act_gfx_alt2   = "-"
884 rmact_gfx      = "unit.pollution"
885 rmact_gfx_alt  = "-"
886 reqs           =
887     { "type", "name", "range", "present"
888       "Terrain", "Ocean", "Local", FALSE
889     }
890 removal_time   = 0
891 flags          = "GlobalWarming"
893 [extra_hut]
894 name           = _("Minor Tribe Village")
895 rule_name      = "Hut"
896 category       = "Bonus"
897 causes         = "Hut"
898 ;rmcauses       = ""
899 graphic        = "tx.village"
900 graphic_alt    = "-"
901 activity_gfx   = "None"
902 act_gfx_alt    = "-"
903 act_gfx_alt2   = "-"
904 rmact_gfx      = "None"
905 rmact_gfx_alt  = "-"
906 reqs           =
907     { "type", "name", "range"
908       "TerrainClass", "Land", "Local"
909     }
910 helptext = _("\
911 Villages (also called \"huts\") are primitive communities spread \
912 across the world at the beginning of the game. Any land unit can enter \
913 a village, making the village disappear and deliver a random response. \
914 If the village proves hostile, it could produce barbarians or the unit \
915 entering may simply be destroyed. If they are friendly, the player \
916 could receive gold, a new technology, a military unit (occasionally a \
917 settler; and sometimes a unit that the player cannot yet create), or \
918 even a new city.\
919 "), _("\
920 Flying units just fly over the village, leaving it untouched.\
923 [extra_fortress]
924 name           = _("Fortress")
925 category       = "Infra"
926 causes         = "Base"
927 rmcauses       = "Pillage"
928 graphic        = "base.fortress"
929 graphic_alt    = "-"
930 activity_gfx   = "unit.fortress"
931 act_gfx_alt    = "-"
932 act_gfx_alt2   = "-"
933 rmact_gfx      = "None"
934 rmact_gfx_alt  = "-"
935 reqs           =
936     { "type", "name", "range", "present"
937       "Tech", "Construction", "Player", TRUE
938       "TerrainClass", "Land", "Local", TRUE
939       "UnitFlag", "Settlers", "Local", TRUE
940       "CityTile", "Center", "Local", FALSE
941     }
942 build_time     = 3
943 removal_time   = 0
944 defense_bonus  = 100
945 native_to      = "Land"
946 helptext       = _("\
947 Fortresses improve defense for land units.\
950 [extra_road]
951 name           = _("Road")
952 category       = "Infra"
953 causes         = "Road"
954 rmcauses       = "Pillage"
955 graphic        = "road.road"
956 graphic_alt    = "-"
957 activity_gfx   = "unit.road"
958 act_gfx_alt    = "-"
959 act_gfx_alt2   = "-"
960 rmact_gfx      = "None"
961 rmact_gfx_alt  = "-"
962 reqs           =
963     { "type", "name", "range"
964       "UnitFlag", "Settlers", "Local"
965       "TerrainClass", "Land", "Local"
966     }
967 build_time     = 0
968 removal_time   = 0
969 native_to      = "Land"
970 hidden_by      = "Railroad"
971 flags          = "AlwaysOnCityCenter"
972 helptext       = _("\
973 Roads allow your land units to move more quickly, and on some terrain,\
974  also provide a trade bonus.\
975 "), _("\
976 Building roads on river tiles requires knowledge of Bridge Building.\
977  City center tiles automatically get roads, and are an exception to\
978  this requirement.\
981 [extra_railroad]
982 name           = _("Railroad")
983 category       = "Infra"
984 causes         = "Road"
985 rmcauses       = "Pillage"
986 graphic        = "road.rail"
987 graphic_alt    = "-"
988 activity_gfx   = "unit.rail"
989 act_gfx_alt    = "unit.road"
990 act_gfx_alt2   = "-"
991 rmact_gfx      = "None"
992 rmact_gfx_alt  = "-"
993 reqs           =
994     { "type", "name", "range"
995       "Tech", "Railroad", "Player"
996       "Extra", "Road", "Local"
997       "UnitFlag", "Settlers", "Local"
998       "TerrainClass", "Land", "Local"
999     }
1000 build_time     = 3
1001 removal_time   = 0
1002 native_to      = "Land"
1003 flags          = "AutoOnCityCenter"
1004 helptext       = _("\
1005 Once you learn the Railroad technology, you may upgrade your roads\
1006  to railroads. Units expend no movement points when moving along a\
1007  railroad; you may ride a railroad indefinitely. (As may your enemies!)\
1008 "), _("\
1009 A railroad also increases by half (rounding down) all resources produced\
1010  by a tile. A tile whose road is upgraded to a railroad retains any trade\
1011  bonus from the road as well.\
1012 "), _("\
1013 City center tiles with roads are automatically upgraded to railroads\
1014  when you learn the Railroad technology.\
1017 [extra_river]
1018 name           = _("River")
1019 category       = "Natural"
1020 causes         = "Road"
1021 ;rmcauses       = ""
1022 graphic        = "road.river"
1023 graphic_alt    = "-"
1024 activity_gfx   = "None"
1025 act_gfx_alt    = "-"
1026 act_gfx_alt2   = "-"
1027 rmact_gfx      = "None"
1028 rmact_gfx_alt  = "-"
1029 buildable      = FALSE
1030 native_to      = "Land"
1031 flags          = "NaturalDefense"
1032 helptext       = _("\
1033 Any land terrain type may have a River on it.\
1034 "), _("\
1035 Roads and railroads can only be built on River tiles if your\
1036  civilization has learned Bridge Building technology.\
1037 "), _("\
1038 Cities built on or next to rivers are at risk of flooding, which\
1039  will cause a loss of population and stored food. City Walls\
1040  eliminate this risk.\
1043 ; /* <-- avoid gettext warnings
1045 ; Base types:
1047 ; extra                   = name of the extra this base section is part of
1048 ; gui_type                = How gui should handle this base.
1049 ;                           Value can be "Fortress", "Airbase", or "Other"
1050 ; border_sq               = Base will claim land ownership up to this radius,
1051 ;                           -1 to disable. If enabled, base cannot exist in city tile.
1052 ; vision_main_sq          = Base will have main layer vision to this radius
1053 ; vision_invis_sq         = Base will have invisible layer vision to this radius
1054 ; flags
1055 ;   - "NoAggressive"      = Units inside are not considered aggressive if there`s
1056 ;                           friendly city within 3 tiles
1057 ;   - "NoStackDeath"      = Units inside do not die all at once when attacked
1058 ;   - "DiplomatDefense"   = Diplomats inside get bonus to diplomatic defense
1059 ;   - "ParadropFrom"      = Paradrop can be initiated from base
1061 ; */ <-- avoid gettext warnings
1063 [base_fortress]
1064 extra         = "Fortress"
1065 gui_type      = "Fortress"
1066 flags         = "NoAggressive", "NoStackDeath", "DiplomatDefense"
1068 ; /* <-- avoid gettext warnings
1070 ; Road types:
1072 ; extra                   = name of the extra this road section is part of
1073 ; first_reqs              = additional requirements to build the first part of
1074 ;                           the road, when none of the adjacent tiles have any
1075 ;                           integrating roads (see effects.ruleset and
1076 ;                           README.effects for help on requirements)
1077 ; move_cost               = how much movement it takes to travel
1078 ;                           via this road (in fractional move points, as
1079 ;                           defined by move_fragments)
1080 ;                           -1 means that road provides no speed bonus.
1081 ; move_mode               = how movement costs are applied
1082 ;   - "Cardinal"   = Road cost applies only on cardinal moves
1083 ;   - "Relaxed"    = Road cost is normal for cardinal, double for diagonal moves
1084 ;   - "FastAlways" = Road cost applies always between two tiles with the roads
1085 ;                    (default)
1086 ; food_incr_const         = food production added to tile regardless of terrain
1087 ; shield_incr_const       = shield production added to tile regardless of
1088 ;                           terrain
1089 ; trade_incr_const        = trade production added to tile regardless of
1090 ;                           terrain
1091 ; food_incr               = food production added to tile; multiplied by
1092 ;                           terrain-specific road_food_incr_pct
1093 ; shield_incr             = shield production added to tile; multiplied by
1094 ;                           terrain-specific road_shield_incr_pct
1095 ; trade_incr              = trade production added to tile; multiplied by
1096 ;                           terrain-specific road_trade_incr_pct
1097 ; food_bonus              = percent added to food production
1098 ; shield_bonus            = percent added to shield production
1099 ; trade_bonus             = percent added to trade production
1100 ;   In summary, output bonuses from roads are given by the formula:
1101 ;   (base_prod + roads.incr_const + roads.incr*terrain.incr_pct) * roads.bonus
1102 ; compat_special          = what kind of pre-2.5 special this road corresponds
1103 ;                           to, if any: "Road", "Railroad", "River, or "None".
1104 ;                           Used for UI and loading old savegames
1105 ; integrates              = list of road types that are suitable next steps
1106 ;                           for travel from this road type
1107 ; flags
1108 ;   - "RequiresBridge"    = Technology with "Bridge" flag needed to build this
1109 ;                           road on the same tile as another road with
1110 ;                           "PreventsOtherRoads" flag (usually rivers)
1111 ;   - "PreventsOtherRoads" = Prevents "RequiresBridge" roads being built on
1112 ;                           the same tile as this one without appropriate tech
1113 ;   - "River"             = Automatically generated by map generator, always
1114 ;                           flowing from land tiles to ocean
1115 ;   - "UnrestrictedInfra" = Use of the enemy owned road is not restricted
1116 ;                           even if server setting 'restrictinfra' is set
1117 ;   - "JumpFrom"          = Move to a tile nativity providing "JumpTo"
1118 ;                           road is considered native
1119 ;   - "JumpTo"            = Move from a tile nativity providing "JumpFrom"
1120 ;                           road is considered native
1122 ; */ <-- avoid gettext warnings
1124 [road_road]
1125 extra          = "Road"
1126 move_cost      = 1
1127 food_incr      = 0
1128 shield_incr    = 0
1129 trade_incr     = 1
1130 food_bonus     = 0
1131 shield_bonus   = 0
1132 trade_bonus    = 0
1133 compat_special = "Road"
1134 flags          = "RequiresBridge"
1136 [road_railroad]
1137 extra          = "Railroad"
1138 move_cost      = 0
1139 food_incr      = 0
1140 shield_incr    = 0
1141 trade_incr     = 0
1142 food_bonus     = 50
1143 shield_bonus   = 50
1144 trade_bonus    = 50
1145 compat_special = "Railroad"
1146 flags          = "RequiresBridge"
1148 [road_river]
1149 extra          = "River"
1150 move_cost      = -1
1151 move_mode      = "Cardinal"
1152 compat_special = "River"
1153 flags          = "River", "PreventsOtherRoads", "UnrestrictedInfra"