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