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