Comment fix: OS is not excluded from permissive.
[freeciv.git] / data / multiplayer / units.ruleset
blob73663f204d10f8737b65da3b308b1bc9db53471a
1 ; Modifying this file:
2 ; You should not modify this file except to make bugfixes or
3 ; for other "maintenance".  If you want to make custom changes,
4 ; you should create a new datadir subdirectory and copy this file
5 ; into that directory, and then modify that copy.  Then use the
6 ; command "rulesetdir <mysubdir>" in the server to have freeciv
7 ; use your new customized file.
9 ; You should sort role units from worst to better, as often the best
10 ; available role unit of a given sort will be picked by choosing
11 ; the first available (not obsolete) such unit, or by picking the last
12 ; such unit directly. When determining starting units, the first 
13 ; unit with the relevant role that the player can build will be chosen.
14 ; If no such unit can be found (eg Explorers that require Seafaring),
15 ; then the first unit with this role will be chosen.
17 [datafile]
18 description="Unit definitions for the multiplayer ruleset."
19 options="+Freeciv-ruleset-Devel-2017.Jan.02 web-compatible"
20 format_version=20
22 [control]
23 ; Names for custom unit type flags. There can be up to 45 of these.
24 ; name          = rule name; In some circumstances user may see this
25 ;                 as part of some sentences, so try to make it descriptive
26 ;                 and sensible.
27 ; helptxt       = displayed in the help for unit types with this flag (optional)
28 flags =
29   { "name", "helptxt"
30     _("Airbase")
31     _("Transform")
32     _("AirAttacker"), _("Very bad at attacking AEGIS.")
33     _("Horse"), _("Attack value halved when attacking Pikemen.")
34     _("Helicopter"), _("Defends very badly against Fighters.")
35     _("Unbribable")
36     _("HelpWonder")
37     _("Cities")
38     _("AddToCity")
39     _("Nuclear")
40     _("Infra"), _("Can build infrastructure.")
41     _("Paratroopers"), _("Can be paradropped from a friendly city or suitable base.")
42     _("Marines"), _("Can launch attack from non-native tiles.")
43   }
45 ; Names for custom unit class flags. There can be up to 8 of these.
46 ; name          = rule name; In some circumstances user may see this
47 ;                 as part of some sentences, so try to make it descriptive
48 ;                 and sensible.
49 ; helptxt       = displayed in the help for unit types belonging to a class
50 ;                 with this flag (optional)
51 class_flags =
52   { "name", "helptxt"
53     _("AttFromNonNative"), _("Can launch attack from non-native tiles.")
54   }
56 [veteran_system]
57 ; What are the names of the levels?
58 veteran_names = _("green"), _("veteran"), _("hardened"), _("elite")
60 ; The percentage chance of increasing level through combat
61 veteran_raise_chance = 50, 33, 20, 0
63 ; The percentage chance of a settler/engineer increasing level through
64 ; performing useful work (per turn)
65 veteran_work_raise_chance = 0, 0, 0, 0
67 ; Power factors are as a percentage.
68 ; +50% is represented by 150
69 veteran_power_fact = 100, 150, 175, 200
71 ; The additional number of movement points granted for different veteran
72 ; levels. These are fractional move points as defined by move_fragments in
73 ; terrain.ruleset.
74 veteran_move_bonus = 0, 0, 0, 0
76 ; /* <-- avoid gettext warnings
78 ; Unit classes
79 ; The number can be variable, up to 32
80 ; When adding new classes, remember to check effects.ruleset also.
81 ; Eg. if you divide class 'Land' to two separate classes, you may
82 ; want add effect giving City Walls defence bonus against new class
83 ; too.
85 ; The actual tag used (the * in [unitclass_*]) does not matter, except
86 ; it must be unique within this file, and it may be used in debug
87 ; output when reading this file.
89 ; ** Fields **
91 ; name          = translatable name as seen by user
92 ; rule_name     = (optional) name for savegames, rulesets etc; if not
93 ;                 present, 'name' is used. Since the name used in savegames
94 ;                 must not change, use this when renaming a unit class after a
95 ;                 ruleset has been released.
96 ; min_speed     = Minimum speed after damage and effects (whole movement points)
97 ; hp_loss_pct   = Hitpoints lost each turn if unit not in city or native base
98 ; non_native_def_pct = Defense power percentage applying when defending on
99 ;                      non-native terrain (such as ship in harbour)
100 ; hut_behavior  = What happens to huts when unit enters tile:
101 ;                 "Normal", "Nothing", or "Frighten"
102 ; flags         = List of unit class flags (from the following list; you
103 ;                 cannot add custom unit class flags)
104 ; helptext = optional help text string; should escape all raw newlines
105 ;           so that xgettext parsing works
107 ; ** Unit class Flags **
109 ; "TerrainSpeed"      = Units use terrain specific speed
110 ; "TerrainDefense"    = Units gain defense bonus from terrain
111 ; "DamageSlows"       = Damaged units are slowed down
112 ; "CanOccupyCity"     = Military units of this class can occupy enemy cities
113 ; "Missile"           = Unit is destroyed when it attacks
114 ; "BuildAnywhere"     = Unit can be built even in the middle of non-native terrain
115 ; "Unreachable"       = Unit can be attacked only by units explicitly listing this
116 ;                       class in its 'targets', unless on a city or native base.
117 ;                       For class members which are transports, cargo cannot load/
118 ;                       unload except in a city or native base, unless that unit
119 ;                       explicitly lists this class in its 'embarks'/'disembarks'.
120 ; "CollectRansom"     = Unit can collect ransom when killing lone barbarian leader
121 ; "ZOC"               = Unit is subject to ZOC rules. Unit type flag "IgZOC" can
122 ;                       override this
123 ; "CanFortify"        = Unit can fortify at land tiles. Unit type flag
124 ;                       "Cant_Fortify" can override this
125 ; "CanPillage"        = Unit can pillage tile infrastructure
126 ; "DoesntOccupyTile"  = Even if this kind of enemy unit is on tile, cities can
127 ;                       still work that tile
128 ; "AttackNonNative"   = Unit can attack units on non-native tiles. Unit type
129 ;                       flag "Only_Native_Attack" can override this
130 ; "KillCitizen"       = Upon successful attack against a city, unit kills one
131 ;                       citizen. The effect "Unit_No_Lose_Pop" and the server
132 ;                       setting 'killcitizen' can disable this.
134 ; */ <-- avoid gettext warnings
136 [unitclass_missile]
137 ; /* TRANS: Unit class: used adjectivally */
138 name          = _("?unitclass:Missile")
139 min_speed     = 1
140 hp_loss_pct   = 0
141 hut_behavior  = "Frighten"
142 flags         = "Missile", "Unreachable", "DoesntOccupyTile"
144 [unitclass_land]
145 ; /* TRANS: Unit class: used adjectivally */
146 name          = _("?unitclass:Land")
147 min_speed     = 1
148 hp_loss_pct   = 0
149 flags         = "TerrainSpeed", "DamageSlows", "CanOccupyCity", "BuildAnywhere",
150                 "CollectRansom", "ZOC", "CanFortify", "CanPillage",
151                 "TerrainDefense", "KillCitizen"
152 helptext      = _("\
153   * Can be airlifted from a suitable city.\
156 [unitclass_sea]
157 ; /* TRANS: Unit class: used adjectivally */
158 name          = _("?unitclass:Sea")
159 min_speed     = 2
160 hp_loss_pct   = 0
161 flags         = "DamageSlows", "AttackNonNative", "AttFromNonNative"
163 [unitclass_trireme]
164 ; /* TRANS: Unit class: used adjectivally */
165 name          = _("?unitclass:Trireme")
166 min_speed     = 2
167 hp_loss_pct   = 0
168 flags         = "DamageSlows", "AttFromNonNative"
170 [unitclass_heli]
171 ; /* TRANS: Unit class: used adjectivally */
172 name          = _("?unitclass:Helicopter")
173 min_speed     = 1
174 hp_loss_pct   = 10
175 flags         = "CanOccupyCity", "CollectRansom"
177 [unitclass_air]
178 ; /* TRANS: Unit class: used adjectivally */
179 name          = _("?unitclass:Air")
180 min_speed     = 1
181 hp_loss_pct   = 0
182 hut_behavior  = "Frighten"
183 flags         = "Unreachable", "DoesntOccupyTile"
185 ; /* <-- avoid gettext warnings
187 ; Below: The individual unit types, one per section.
189 ; The number can be variable, up to 200.
190 ; However for the "official" rulesets, units should not be removed
191 ; because that would break backward compatability with savegames.
193 ; The order here matters: later units are considered "better" for
194 ; a given flag or role.
196 ; The actual tag used (the * in [unit_*]) does not matter, except
197 ; it must be unique within this file, and it may be used in debug
198 ; output when reading this file.
200 ; ** Fields **
202 ; name          = translatable name as seen by user
203 ; rule_name     = (optional) name for savegames, rulesets etc; if not
204 ;                 present, 'name' is used. Since the name used in savegames
205 ;                 must not change, use this when renaming a unit after a
206 ;                 ruleset has been released.
207 ; graphic       = tag specifying preferred graphic
208 ; graphic_alt   = tag for alternate graphic if preferred graphic is not
209 ;                 present; especially if preferred graphic is non-standard,
210 ;                 this should be a standard tag.  Otherwise can use eg "-"
211 ;                 for no alternate graphic.
212 ; tech_req      = required advance, names from techs.ruleset, or special:
213 ;                 "None" => available from start
214 ; impr_req      = required city improvement, names from buildings.ruleset
215 ; gov_req       = required government, names from governments.ruleset
216 ; obsolete_by   = can be upgraded to and made obsolete by another unit by name
217 ; build_cost    = production shields required to build
218 ; pop_cost      = population removed from city when built; for 'Join City'
219 ;                 units this is also the population added to the destination
220 ; attack        = base attack strength (0 = cannot attack)
221 ; defense       = base defense strength (0 = cannot defend)
222 ; hitpoints     = how much damage unit can withstand
223 ; firepower     = number of hitpoints removed per round of combat; at least 1
224 ; move_rate     = base move rate (whole movement points)
225 ; vision_radius_sq = base vision of unit: unit can see tile up to the square
226 ;                 root of this value away
227 ; convert_to    = can be converted to another type of unit by name
228 ; convert_time  = time it takes to convert to another unit type
229 ; class         = One of the classes listed above
230 ; transport_cap = Number of units (ground, or air/missiles, depending on flags)
231 ; fuel          = Number of turns unit can spend outside refuel points.
232 ;                 If more time passes without unit refueling over turn change,
233 ;                 they are lost. If this is zero, unit has no need to refuel
234 ;                 Units with "Coast" flag set consider any tile next to coast
235 ;                 refuel point
236 ; uk_*          = upkeep costs, these are used as base values in the game
237 ; cargo         = Unit classes this unit can transport
238 ; city_slots    = How many of homecity's unit maintenance slots unit takes
239 ; city_size     = Initial size of the cities built by 'Found City' type units
240 ;                 (but 'Join City' uses pop_cost)
241 ; targets       = list of unit classes this unit can attack against even
242 ;                 if they have Unreachable unit class flag
243 ; embarks       = list of unit classes this unit may load into while not in
244 ;                 native base or city even if transporter has Unreachable unit
245 ;                 class flag
246 ; disembarks    = list of unit classes this unit may unload from while not in
247 ;                 native base or city even if transporter has Unreachable unit
248 ;                 class flag
249 ; bonuses       = definitions of combat bonuses against specific other units
250 ; bonuses.flag  = flag of the unit that bonus applies against
251 ; bonuses.type  = type of the bonus. See below
252 ; bonuses.value = value of the bonus. Sum of these is used if multiple apply.
253 ; bonuses.quiet = don't auto generate help text for this bonus. Use this if
254 ;                 the bonus is documented in the unit type's help text.
255 ;                 This is useful when the combination of a unit's bonuses
256 ;                 becomes complex enough to make the auto generated help
257 ;                 ugly or inaccurate.
258 ; flags         = special flag strings; list of built-in flags described below
259 ;                 and/or user flags defined above
261 ; veteran_names = Special veteran level for this unit. See the definitions in
262 ;                 game.ruleset. All of the veteran_* entries have to have the
263 ;                 same length!
264 ; veteran_raise_chance =
265 ; veteran_work_raise_chance =
266 ; veteran_power_fact =
267 ; veteran_move_bonus =
269 ; roles          = special role strings
270 ; sound_move     = optional sound effect when the unit moves
271 ; sound_move_alt = optional alternative sound effect if above not
272 ;                   supported in client
273 ; sound_fight     = optional sound effect when the unit fights
274 ; sound_fight_alt = optional alternative sound effect if above not
275 ;                   supported in client
276 ; helptext        = optional help text string; should escape all raw newlines
277 ;                   so that xgettext parsing works
280 ; ** Bonuses **
282 ; "DefenseMultiplier" = Multiply defense value (1 + 'value') times.
283 ;                       Value of 1 means multiplication by 2, value 2 by 3...
284 ;                       Bonus is defined in defenders entry.
285 ; "DefenseDivider"    = Divide defense value with (1 + 'value').
286 ;                       Bonus is defined in attackers entry.
287 ; "FirePower1"        = Defender firepower is reduced to value 1 when
288 ;                       ever this has non-zero value.
289 ;                       Bonus is defined in attackers entry.
292 ; ** Flags **
294 ; "IgZOC"       = ignore Zones of Control (ZOC) even if unit class has
295 ;                 "ZOC" flag
296 ; "HasNoZOC"    = unit has no Zone of Control (ZOC), thus any unit can move
297 ;                 around it freely
298 ; "NonMil"      = a non-military unit: no attacks; no martial law; can enter
299 ;                 peaceful borders; DoesntOccupyTile
300 ; "IgTer"       = use constant move cost defined in igter_cost (terrain.ruleset)
301 ;                 rather than terrain/road etc cost, unless terrain cost is
302 ;                 less
303 ; "OneAttack"   = can only make a single attack, regardless of movement points
304 ; "FieldUnit"   = cause unhappiness even when not being aggressive
305 ; "BeachLander" = won't lose all its movement when moving from non-native
306 ;                 terrain to native terrain even if slow_invasions is on.
307 ; "Partial_Invis" = visible only to adjancent units; does not hide transported
308 ;                 units other than missiles
309 ; "Settlers"    = can irrigate and build roads
310 ; "Diplomat"    = can defend against diplomat actions (see diplchance
311 ;                 server option)
312 ; "Spy"         = enhanced diplomat actions. _Must_ be "Diplomat" also
313 ; "CoastStrict" = (sea only) cannot leave coast
314 ; "Coast"       = (sea only) can refuel on coast. Set fuel to force unit
315 ;                 to regularly end turn on coast
316 ; "Only_Native_Attack" = cannot attack targets on non-native tiles even if
317 ;                 unit class can
318 ; "Cant_Fortify" =  cannot fortify even if unit class has "CanFortify" flag
319 ; "Fanatic"     = can only be built by governments that allow them
320 ;                 (see civ2/governments.ruleset, Fundamentalism government)
321 ; "Unique"      = a player can only have one of these units in the game at
322 ;                 the same time; barbarians cannot use this at present
323 ; "GameLoss"    = losing one of these units means you lose the game, but it
324 ;                 is produced without homecity and upkeep
325 ; "EvacuateFirst" = the game will try to rescue units with this flag before
326 ;                 it tries to rescue units without it when their transport
327 ;                 is destroyed. Think of the Birkenhead drill ("women and
328 ;                 children first"). Replace "women and children" with
329 ;                 "units with the EvacuateFirst unit type flag".
330 ; "SuperSpy"    = this unit always wins diplomatic contests, that is, unless
331 ;                 it encounters another SuperSpy, in which case defender wins;
332 ;                 can also be used on non-diplomat units, in which case it can
333 ;                 protect cities from diplomats; also 100% spy survival chance
334 ; "NoHome"      = this unit has no homecity and will be free of all upkeep, and
335 ;                 therefore will not revolt along with its city of origin should
336 ;                 it be incited
337 ; "NoVeteran"   = this unit cannot gain veteran levels through experience
338 ;                 (as if both raise_chance and work_raise_chance were zero);
339 ;                 it can still gain veterancy through Veteran_Build, etc
340 ; "CityBuster"  = this unit has double firepower against cities
341 ; "NoBuild"     = this unit cannot be built
342 ; "BadWallAttacker"     = the firepower of this unit is set to 1 if
343 ;                 attacking a city
344 ;                 defended by a city wall (or other city building defense)
345 ; "BadCityDefender"     = if attacked while in a city, firepower is set to 1
346 ;                 and firepower of attacker is doubled (the Pearl Harbour
347 ;                 rule)
348 ; "BarbarianOnly" = only barbarians can build this unit
349 ; "Shield2Gold" = Switch from shield upkeep to gold upkeep possible
350 ; "NewCityGamesOnly" = unit can't be built on scenarios where founding new cities
351 ;                 is not allowed. Give this flag to units that would make no sense
352 ;                 to have in a game with such a scenario
353 ; "CanEscape"   = this unit has, given that certain conditions are
354 ;                 fulfilled, a 50% chance to escape rather than being
355 ;                 killed when killstack is enabled and the defender of its
356 ;                 tile is defeated. The conditions are that it has more move
357 ;                 points than required to move to an adjacent tile plus the
358 ;                 attackers move points and that the attacker doesn't have
359 ;                 the "CanKillEscaping" unit type flag.
360 ; "CanKillEscaping" = an attack from this unit ignores the "CanEscape" unit
361 ;                 type flag.
362 ; "Provoking" =   a unit considering to auto attack this unit will choose to
363 ;                 do so even if has better odds when defending against it
364 ;                 then when attacking it. Applies when the autoattack server
365 ;                 setting is enabled.
367 ; Following actions require extra fields:
368 ;  "Attack"
369 ;   attack = base attack strength
370 ;  "Bombard"
371 ;   attack       = base attack strength
372 ;   bombard_rate = the number of shots fired at enemy units when attacking
373 ;  "Join City"
374 ;   pop_cost = the number of population added to the target city
375 ;  "Paradrop Unit"
376 ;   paratroopers_range  = the maximal range the unit can be paradropped to.
377 ;                         Max range is 65534.
378 ;   paratroopers_mr_req = the move rate which is required at least for
379 ;                         paradropping (whole movement points)
380 ;   paratroopers_mr_sub = the move rate which is subtracted after paradropping
381 ;                         (whole movement points)
382 ;  "Upgrade Unit"
383 ;   obsolete_by = the unit type upgraded to.
385 ; ** Roles **
387 ; "FirstBuild"            = first to be built when city founded
388 ; "Explorer"              = unit to use for exploring
389 ; "Hut"                   = can be found in a hut
390 ; "HutTech"               = can be found in a hut, but its techs required
391 ; "Partisan"              = can be created as a partisan (only one unit can have this
392 ;                           flag), see end of this file for its tech requirements option
393 ; "DefendOk"              = AI hint: ok for defending with
394 ; "DefendGood"            = AI hint: good for defending with
395 ; "Ferryboat"             = AI hint: useful for ferrying
396 ; "Barbarian"             = can be created as land barbarian
397 ; "BarbarianTech"         = can be created as land barbarian, if someone has
398 ;                           researched its tech requirements
399 ; "BarbarianBoat"         = can be created as boat for sea barbarian
400 ; "BarbarianBuild"        = can be built by barbarians
401 ; "BarbarianBuildTech"    = can be built by barbarians if someone has
402 ;                           researched its tech requirements
403 ; "BarbarianLeader"       = this unit is the barbarian leader (only one)
404 ; "BarbarianSea"          = can be created as a barbarian that disembarks from a barbarian boat
405 ; "BarbarianSeaTech"      = can be created as a barbarian that disembarks from a barbarian boat
406 ;                           if someone has researched its tech requirements
407 ; "Settlers"              = can irrigate and build roads
408 ; "Hunter"                = AI hint: good for hunting other units
409 ; "CitiesStartUnit"       = Gets granted as 'c' startunit
410 ; "WorkerStartUnit"       = Gets granted as 'w' startunit
411 ; "ExplorerStartUnit"     = Gets granted as 'x' startunit
412 ; "KingStartUnit"         = Gets granted as 'k' startunit
413 ; "DiplomatStartUnit"     = Gets granted as 's' startunit
414 ; "FerryStartUnit"        = Gets granted as 'f' startunit
415 ; "DefendOkStartUnit"     = Gets granted as 'd' startunit
416 ; "DefendGoodStartUnit"   = Gets granted as 'D' startunit
417 ; "AttackFastStartUnit"   = Gets granted as 'a' startunit
418 ; "AttackStrongStartUnit" = Gets granted as 'A' startunit
420 ; */ <-- avoid gettext warnings
422 [unit_settlers]
423 name          = _("Settlers")
424 class         = "Land"
425 tech_req      = "None"
426 obsolete_by   = "None"
427 graphic       = "u.settlers"
428 graphic_alt   = "-"
429 sound_move    = "m_settlers"
430 sound_move_alt = "m_generic"
431 sound_fight   = "f_settlers"
432 sound_fight_alt = "f_generic"
433 build_cost    = 40
434 pop_cost      = 1
435 attack        = 0
436 defense       = 1
437 hitpoints     = 20
438 firepower     = 1
439 move_rate     = 1
440 vision_radius_sq = 2
441 transport_cap = 0
442 fuel          = 0
443 uk_happy      = 0
444 uk_shield     = 1
445 uk_food       = 1
446 uk_gold       = 0
447 flags         = "Settlers", "Infra", "NonMil", "HasNoZOC", "AddToCity", "Cities", "Cant_Fortify"
448 ; No veteran levels (level name is never displayed)
449 veteran_names = _("green")
450 veteran_raise_chance = 0
451 veteran_work_raise_chance = 0
452 veteran_power_fact = 100
453 veteran_move_bonus = 0
454 roles         = "CitiesStartUnit"
455 helptext      = _("\
456 Settlers are one of the key units in the game, as they are your main\
457  means of founding new cities.\
458 "), _("\
459 Settlers can also perform some of the same terrain alterations as\
460  Workers.\
461 "), _("\
462 Upkeep for Settlers is in food as well as production, and a Settler\
463  can die if its supporting city runs out of food. Settlers in a\
464  Republic or Democracy require twice as much food per turn, and in\
465  Fundamentalist societies, three times as much.\
468 [unit_worker]
469 name          = _("?unit:Workers")
470 class         = "Land"
471 tech_req      = "Pottery"
472 obsolete_by   = "Engineers"
473 graphic       = "u.worker"
474 graphic_alt   = "u.engineers" ; for compatibility
475 sound_move    = "m_worker"
476 sound_move_alt = "m_generic"
477 sound_fight   = "f_worker"
478 sound_fight_alt = "f_generic"
479 build_cost    = 30
480 pop_cost      = 0
481 attack        = 0
482 defense       = 1
483 hitpoints     = 10
484 firepower     = 1
485 move_rate     = 1
486 vision_radius_sq = 2
487 transport_cap = 0
488 fuel          = 0
489 uk_happy      = 0
490 uk_shield     = 1
491 uk_food       = 0
492 uk_gold       = 0
493 flags         = "Settlers", "Infra", "NonMil", "HasNoZOC", "Airbase", "Cant_Fortify"
494 ; No veteran levels (level name is never displayed)
495 veteran_names = _("green")
496 veteran_raise_chance = 0
497 veteran_work_raise_chance = 0
498 veteran_power_fact = 100
499 veteran_move_bonus = 0
500 roles         = "Settlers", "WorkerStartUnit"
501 helptext      = _("\
502 Workers have the ability to improve terrain tiles.\
503 "), _("\
504 Building an irrigation system on a suitable tile causes it to \
505 produce some extra food each turn. This requires a nearby source of \
506 water: an ocean, lake, or river tile, or another tile with an \
507 irrigation system, must share an edge (not just a corner) with the \
508 target tile. Once irrigated, land remains so even if the water source \
509 is removed. When Refrigeration is known, irrigation systems can be \
510 upgraded to Farmland by irrigating them a second time; this provides \
511 more food to a city if it has a Supermarket.\
512 "), _("\
513 Building a mine on suitable terrain increases the \
514 number of production points produced by that tile. However, it is not \
515 possible to have an irrigation system and a mine on the same tile.\
516 "), _("\
517 On terrain unsuitable for irrigation systems or mines, issuing the \
518 \"irrigate\" or \"mine\" order may permanently convert the terrain \
519 to another type; this is usually more expensive. For instance, Swamp \
520 may be \"irrigated\" to yield Grassland. (Terrain conversion with \
521 the \"irrigate\" order does not require a water source.)\
522 "), _("\
523 Workers can build airbases, which Settlers cannot.\
524 "), _("\
525 See the help on Terrain and Terrain Alterations for the effects of \
526 these actions.\
529 [unit_engineers]
530 name          = _("Engineers")
531 class         = "Land"
532 tech_req      = "Explosives"
533 obsolete_by   = "None"
534 graphic       = "u.engineers"
535 graphic_alt   = "-"
536 sound_move    = "m_engineers"
537 sound_move_alt = "m_generic"
538 sound_fight   = "f_engineers"
539 sound_fight_alt = "f_generic"
540 build_cost    = 40
541 pop_cost      = 0
542 attack        = 0
543 defense       = 2
544 hitpoints     = 20
545 firepower     = 1
546 move_rate     = 2
547 vision_radius_sq = 2
548 transport_cap = 0
549 fuel          = 0
550 uk_happy      = 0
551 uk_shield     = 1
552 uk_food       = 0
553 uk_gold       = 0
554 flags         = "Settlers", "Infra", "NonMil", "HasNoZOC", "Transform", "Airbase", "Cant_Fortify"
555 ; No veteran levels (level name is never displayed)
556 veteran_names = _("green")
557 veteran_raise_chance = 0
558 veteran_work_raise_chance = 0
559 veteran_power_fact = 100
560 veteran_move_bonus = 0
561 roles         = "Settlers", "WorkerStartUnit"
562 helptext      = _("\
563 Engineers are similar to Workers, but they work twice as fast and\
564  move twice as fast. Engineers may also perform major terrain\
565  transformations which are beyond the capabilities of Workers and\
566  Settlers, such as converting Tundra into Desert, or even Ocean into\
567  Swamp in some circumstances (when on board an ocean-going vessel,\
568  on a tile surrounded by sufficient existing land). See the\
569  Terrain Alterations section for more details.\
570 "), _("\
571 TIP 1:  Upgrade Workers to Engineers when possible, as Engineers\
572  require the same resources as ordinary Workers.\
573 "), _("\
574 TIP 2:  If you manage to build Leonardo's Workshop, research\
575  Explosives before the Workshop becomes obsolete.  This way,\
576  your Workers units will be upgraded for free.\
579 [unit_warriors]
580 name          = _("Warriors")
581 class         = "Land"
582 tech_req      = "None"
583 obsolete_by   = "Pikemen"
584 graphic       = "u.warriors"
585 graphic_alt   = "-"
586 sound_move    = "m_warriors"
587 sound_move_alt = "m_generic"
588 sound_fight   = "f_warriors"
589 sound_fight_alt = "f_generic"
590 build_cost    = 10
591 pop_cost      = 0
592 attack        = 1
593 defense       = 1
594 hitpoints     = 10
595 firepower     = 1
596 move_rate     = 1
597 vision_radius_sq = 2
598 transport_cap = 0
599 fuel          = 0
600 uk_happy      = 1
601 uk_shield     = 1
602 uk_food       = 0
603 uk_gold       = 0
604 flags         = ""
605 roles         = "DefendOk", "DefendOkStartUnit", "FirstBuild"
606 helptext      = _("\
607 This unit may be built from the start of the game.  It is the\
608  weakest offensive unit.\
611 [unit_phalanx]
612 name          = _("Phalanx")
613 class         = "Land"
614 tech_req      = "Bronze Working"
615 obsolete_by   = "Pikemen"
616 graphic       = "u.phalanx"
617 graphic_alt   = "-"
618 sound_move    = "m_phalanx"
619 sound_move_alt = "m_generic"
620 sound_fight   = "f_phalanx"
621 sound_fight_alt = "f_generic"
622 build_cost    = 20
623 pop_cost      = 0
624 attack        = 1
625 defense       = 2
626 hitpoints     = 10
627 firepower     = 1
628 move_rate     = 1
629 vision_radius_sq = 2
630 transport_cap = 0
631 fuel          = 0
632 uk_happy      = 1
633 uk_shield     = 1
634 uk_food       = 0
635 uk_gold       = 0
636 flags         = ""
637 roles         = "DefendGood", "DefendGoodStartUnit", "FirstBuild"
638 helptext      = _("\
639 The Phalanx is armored infantry, suitable for defending your cities.\
642 [unit_archers]
643 name          = _("Archers")
644 class         = "Land"
645 tech_req      = "Warrior Code"
646 obsolete_by   = "Musketeers"
647 graphic       = "u.archers"
648 graphic_alt   = "-"
649 sound_move    = "m_archers"
650 sound_move_alt = "m_generic"
651 sound_fight   = "f_archers"
652 sound_fight_alt = "f_generic"
653 build_cost    = 30
654 pop_cost      = 0
655 attack        = 3
656 defense       = 2
657 hitpoints     = 10
658 firepower     = 1
659 move_rate     = 1
660 vision_radius_sq = 2
661 transport_cap = 0
662 fuel          = 0
663 uk_happy      = 1
664 uk_shield     = 1
665 uk_food       = 0
666 uk_gold       = 0
667 flags         = ""
668 roles         = "DefendOk", "DefendOkStartUnit"
669 helptext      = _("\
670 Archers fight with bows and arrows and have a good offensive\
671  value as well as decent defense.\
674 [unit_legion]
675 name          = _("Legion")
676 class         = "Land"
677 tech_req      = "Iron Working"
678 obsolete_by   = "Musketeers"
679 graphic       = "u.legion"
680 graphic_alt   = "-"
681 sound_move    = "m_legion"
682 sound_move_alt = "m_generic"
683 sound_fight   = "f_legion"
684 sound_fight_alt = "f_generic"
685 build_cost    = 40
686 pop_cost      = 0
687 attack        = 4
688 defense       = 2
689 hitpoints     = 10
690 firepower     = 1
691 move_rate     = 1
692 vision_radius_sq = 2
693 transport_cap = 0
694 fuel          = 0
695 uk_happy      = 1
696 uk_shield     = 1
697 uk_food       = 0
698 uk_gold       = 0
699 flags         = ""
700 roles         = "DefendOk", "DefendOkStartUnit", "Hut", "BarbarianBuild", "BarbarianSea"
701 helptext      = _("\
702 Legions are heavily armed and well disciplined infantry\
703  units with an excellent offensive value.\
706 [unit_pikemen]
707 name          = _("Pikemen")
708 class         = "Land"
709 tech_req      = "Feudalism"
710 obsolete_by   = "Musketeers"
711 graphic       = "u.pikemen"
712 graphic_alt   = "-"
713 sound_move    = "m_pikemen"
714 sound_move_alt = "m_generic"
715 sound_fight   = "f_pikemen"
716 sound_fight_alt = "f_generic"
717 build_cost    = 20
718 pop_cost      = 0
719 attack        = 1
720 defense       = 2
721 hitpoints     = 10
722 firepower     = 1
723 move_rate     = 1
724 vision_radius_sq = 2
725 transport_cap = 0
726 fuel          = 0
727 uk_happy      = 1
728 uk_shield     = 1
729 uk_food       = 0
730 uk_gold       = 0
731 bonuses       =
732    { "flag", "type", "value"
733      "Horse", "DefenseMultiplier", 1
734    }
735 flags         = ""
736 roles         = "DefendGood", "DefendGoodStartUnit", "FirstBuild"
737 helptext      = _("\
738 Equipped with long pikes, Pikemen replaces Phalanx\
739  as the preferred city defender.\
742 [unit_musketeers]
743 name          = _("Musketeers")
744 class         = "Land"
745 tech_req      = "Gunpowder"
746 obsolete_by   = "Riflemen"
747 graphic       = "u.musketeers"
748 graphic_alt   = "-"
749 sound_move    = "m_musketeers"
750 sound_move_alt = "m_generic"
751 sound_fight   = "f_musketeers"
752 sound_fight_alt = "f_generic"
753 build_cost    = 30
754 pop_cost      = 0
755 attack        = 3
756 defense       = 3
757 hitpoints     = 20
758 firepower     = 1
759 move_rate     = 1
760 vision_radius_sq = 2
761 transport_cap = 0
762 fuel          = 0
763 uk_happy      = 1
764 uk_shield     = 1
765 uk_food       = 0
766 uk_gold       = 0
767 flags         = ""
768 roles         = "DefendGood", "DefendGoodStartUnit", "FirstBuild", "HutTech",
769                 "BarbarianTech", "BarbarianBuildTech", "BarbarianSeaTech"
770 helptext      = _("\
771 Musketeers are infantry equipped with early\
772  firearms and replace Pikemen as the preferred\
773  city defender.\
776 [unit_fanatics]
777 name          = _("Fanatics")
778 class         = "Land"
779 tech_req      = "Fundamentalism"
780 gov_req       = "Fundamentalism"
781 obsolete_by   = "None"
782 graphic       = "u.fanatics"
783 graphic_alt   = "-"
784 sound_move    = "m_fanatics"
785 sound_move_alt = "m_generic"
786 sound_fight   = "f_fanatics"
787 sound_fight_alt = "f_generic"
788 build_cost    = 20
789 pop_cost      = 0
790 attack        = 4
791 defense       = 4
792 hitpoints     = 20
793 firepower     = 1
794 move_rate     = 1
795 vision_radius_sq = 2
796 transport_cap = 0
797 fuel          = 0
798 uk_happy      = 1
799 uk_shield     = 1
800 uk_food       = 0
801 uk_gold       = 0
802 flags         = "Fanatic"
803 roles         = "DefendGood", "DefendGoodStartUnit"
804 helptext      = _("\
805 Fanatics are warriors extremely devoted to a higher cause.\
806 "), _("\
807 Fundamentalist nations can maintain Fanatic units without\
808  having to pay any shields for upkeep.\
811 [unit_partisan]
812 name          = _("Partisan")
813 class         = "Land"
814 tech_req      = "Guerilla Warfare"
815 obsolete_by   = "None"
816 graphic       = "u.partisan"
817 graphic_alt   = "-"
818 sound_move    = "m_partisan"
819 sound_move_alt = "m_generic"
820 sound_fight   = "f_partisan"
821 sound_fight_alt = "f_generic"
822 build_cost    = 50
823 pop_cost      = 0
824 attack        = 4
825 defense       = 4
826 hitpoints     = 20
827 firepower     = 1
828 move_rate     = 1
829 vision_radius_sq = 2
830 transport_cap = 0
831 fuel          = 0
832 uk_happy      = 1
833 uk_shield     = 1
834 uk_food       = 0
835 uk_gold       = 0
836 flags         = "IgTer", "IgZOC"
837 roles         = "DefendGood", "DefendGoodStartUnit", "Partisan", "BarbarianTech"
838 helptext      = _("\
839 Partisans are guerilla fighters who are experts\
840  at using the terrain to their advantage.\
841 "), _("\
842 A number of Partisans are granted free when an enemy conquers your\
843  city -- they automatically assume defensive positions in the\
844  surrounding countryside -- but only under these conditions:\n\
845  - Guerilla Warfare must be known by at least one player.\n\
846  - You must be the player who originally built the city.\n\
847  - You must know about Communism and Gunpowder.\n\
848  - You must run either a Democracy or a Communist government.\
851 [unit_alpine_troops]
852 name          = _("Alpine Troops")
853 class         = "Land"
854 tech_req      = "Tactics"
855 obsolete_by   = "None"
856 graphic       = "u.alpine_troops"
857 graphic_alt   = "-"
858 sound_move    = "m_alpine_troops"
859 sound_move_alt = "m_generic"
860 sound_fight   = "f_alpine_troops"
861 sound_fight_alt = "f_generic"
862 build_cost    = 50
863 pop_cost      = 0
864 attack        = 5
865 defense       = 5
866 hitpoints     = 20
867 firepower     = 1
868 move_rate     = 1
869 vision_radius_sq = 2
870 transport_cap = 0
871 fuel          = 0
872 uk_happy      = 1
873 uk_shield     = 1
874 uk_food       = 0
875 uk_gold       = 0
876 flags         = "IgTer"
877 roles         = "DefendGood", "DefendGoodStartUnit"
878 helptext      = _("\
879 Alpine Troops are highly mobile units as well as\
880  excellent defenders.\
883 [unit_riflemen]
884 name          = _("Riflemen")
885 class         = "Land"
886 tech_req      = "Conscription"
887 obsolete_by   = "None"
888 graphic       = "u.riflemen"
889 graphic_alt   = "-"
890 sound_move    = "m_riflemen"
891 sound_move_alt = "m_generic"
892 sound_fight   = "f_riflemen"
893 sound_fight_alt = "f_generic"
894 build_cost    = 40
895 pop_cost      = 0
896 attack        = 5
897 defense       = 4
898 hitpoints     = 20
899 firepower     = 1
900 move_rate     = 1
901 vision_radius_sq = 2
902 transport_cap = 0
903 fuel          = 0
904 uk_happy      = 1
905 uk_shield     = 1
906 uk_food       = 0
907 uk_gold       = 0
908 flags         = ""
909 roles         = "DefendGood", "DefendGoodStartUnit", "FirstBuild"
910 helptext      = _("\
911 Riflemen are World War-era infantry, very good\
912  at defending your cities.\
915 [unit_marines]
916 name          = _("Marines")
917 class         = "Land"
918 tech_req      = "Amphibious Warfare"
919 obsolete_by   = "None"
920 graphic       = "u.marines"
921 graphic_alt   = "-"
922 sound_move    = "m_marines"
923 sound_move_alt = "m_generic"
924 sound_fight   = "f_marines"
925 sound_fight_alt = "f_generic"
926 build_cost    = 60
927 pop_cost      = 0
928 attack        = 8
929 defense       = 5
930 hitpoints     = 20
931 firepower     = 1
932 move_rate     = 1
933 vision_radius_sq = 2
934 transport_cap = 0
935 fuel          = 0
936 uk_happy      = 1
937 uk_shield     = 1
938 uk_food       = 0
939 uk_gold       = 0
940 flags         = "Marines"
941 roles         = "DefendOk", "DefendOkStartUnit", "BarbarianSeaTech"
942 helptext      = _("\
943 Marines are infantry who are experts at marine warfare.\
946 [unit_paratroopers]
947 name          = _("Paratroopers")
948 class         = "Land"
949 tech_req      = "Combined Arms"
950 obsolete_by   = "None"
951 graphic       = "u.paratroopers"
952 graphic_alt   = "-"
953 sound_move    = "m_paratroopers"
954 sound_move_alt = "m_generic"
955 sound_fight   = "f_paratroopers"
956 sound_fight_alt = "f_generic"
957 build_cost    = 60
958 pop_cost      = 0
959 attack        = 6
960 defense       = 4
961 hitpoints     = 20
962 firepower     = 1
963 move_rate     = 1
964 vision_radius_sq = 2
965 transport_cap = 0
966 fuel          = 0
967 uk_happy      = 1
968 uk_shield     = 1
969 uk_food       = 0
970 uk_gold       = 0
971 flags         = "Paratroopers"
972 roles         = "DefendOk", "DefendOkStartUnit"
973 helptext      = _("\
974 Paratroopers are experts at airborne attacks. \
975 From a friendly city or airbase, Paratroopers who have not expended any \
976 movement points can paradrop directly to any tile in range, and be \
977 immediately ready to act there. (Beware dropping into unseen territory, \
978 as Paratroopers landing on a tile occupied by enemy units are easy \
979 targets!)\
981 paratroopers_range = 10
982 paratroopers_mr_req = 1
983 paratroopers_mr_sub = 0
985 [unit_mech_inf]
986 name          = _("Mech. Inf.")
987 class         = "Land"
988 tech_req      = "Labor Union"
989 obsolete_by   = "None"
990 graphic       = "u.mech_inf"
991 graphic_alt   = "-"
992 sound_move    = "m_mech_inf"
993 sound_move_alt = "m_generic"
994 sound_fight   = "f_mech_inf"
995 sound_fight_alt = "f_generic"
996 build_cost    = 50
997 pop_cost      = 0
998 attack        = 6
999 defense       = 6
1000 hitpoints     = 30
1001 firepower     = 1
1002 move_rate     = 3
1003 vision_radius_sq = 2
1004 transport_cap = 0
1005 fuel          = 0
1006 uk_happy      = 1
1007 uk_shield     = 1
1008 uk_food       = 0
1009 uk_gold       = 0
1010 flags         = ""
1011 roles         = "DefendGood", "DefendGoodStartUnit"
1012 helptext      = _("\
1013 The Mechanized Infantry has the strongest defensive strength\
1014  of any land unit, but is only available near the end of the\
1015  technology tree.\
1018 [unit_horsemen]
1019 name          = _("Horsemen")
1020 class         = "Land"
1021 tech_req      = "Horseback Riding"
1022 obsolete_by   = "Knights"
1023 graphic       = "u.horsemen"
1024 graphic_alt   = "-"
1025 sound_move    = "m_horsemen"
1026 sound_move_alt = "m_generic"
1027 sound_fight   = "f_horsemen"
1028 sound_fight_alt = "f_generic"
1029 build_cost    = 20
1030 pop_cost      = 0
1031 attack        = 2
1032 defense       = 1
1033 hitpoints     = 10
1034 firepower     = 1
1035 move_rate     = 2
1036 vision_radius_sq = 2
1037 transport_cap = 0
1038 fuel          = 0
1039 uk_happy      = 1
1040 uk_shield     = 1
1041 uk_food       = 0
1042 uk_gold       = 0
1043 flags         = "Horse"
1044 roles         = "AttackFastStartUnit", "Hut", "Barbarian", "Hunter"
1045 helptext      = _("\
1046 Horsemen are mounted warriors and an early\
1047  shock-troop that can penetrate deep into\
1048  enemy territory.\
1051 [unit_chariot]
1052 name          = _("Chariot")
1053 class         = "Land"
1054 tech_req      = "The Wheel"
1055 obsolete_by   = "Knights"
1056 graphic       = "u.chariot"
1057 graphic_alt   = "-"
1058 sound_move    = "m_chariot"
1059 sound_move_alt = "m_generic"
1060 sound_fight   = "f_chariot"
1061 sound_fight_alt = "f_generic"
1062 build_cost    = 30
1063 pop_cost      = 0
1064 attack        = 3
1065 defense       = 1
1066 hitpoints     = 10
1067 firepower     = 1
1068 move_rate     = 2
1069 vision_radius_sq = 2
1070 transport_cap = 0
1071 fuel          = 0
1072 uk_happy      = 1
1073 uk_shield     = 1
1074 uk_food       = 0
1075 uk_gold       = 0
1076 flags         = "Horse"
1077 roles         = "AttackFastStartUnit", "Hut", "Hunter"
1078 helptext      = _("\
1079 Chariots are horse-pulled war wagons, stronger\
1080  but more expensive than horsemen.\
1083 [unit_elephants]
1084 name          = _("Elephants")
1085 class         = "Land"
1086 tech_req      = "Polytheism"
1087 obsolete_by   = "Crusaders"
1088 graphic       = "u.elephants"
1089 graphic_alt   = "-"
1090 sound_move    = "m_elephants"
1091 sound_move_alt = "m_generic"
1092 sound_fight   = "f_elephants"
1093 sound_fight_alt = "f_generic"
1094 build_cost    = 40
1095 pop_cost      = 0
1096 attack        = 4
1097 defense       = 1
1098 hitpoints     = 10
1099 firepower     = 1
1100 move_rate     = 2
1101 vision_radius_sq = 2
1102 transport_cap = 0
1103 fuel          = 0
1104 uk_happy      = 1
1105 uk_shield     = 1
1106 uk_food       = 0
1107 uk_gold       = 0
1108 flags         = "Horse"
1109 roles         = "AttackFastStartUnit"
1110 helptext      = _("\
1111 Elephants are towering animals trained for war that are often used as\
1112  powerful shock troops, but defend poorly against most other units.\
1115 [unit_crusaders]
1116 name          = _("Crusaders")
1117 class         = "Land"
1118 tech_req      = "Monotheism"
1119 obsolete_by   = "Dragoons"
1120 graphic       = "u.crusaders"
1121 graphic_alt   = "-"
1122 sound_move    = "m_crusaders"
1123 sound_move_alt = "m_generic"
1124 sound_fight   = "f_crusaders"
1125 sound_fight_alt = "f_generic"
1126 build_cost    = 40
1127 pop_cost      = 0
1128 attack        = 5
1129 defense       = 1
1130 hitpoints     = 10
1131 firepower     = 1
1132 move_rate     = 2
1133 vision_radius_sq = 2
1134 transport_cap = 0
1135 fuel          = 0
1136 uk_happy      = 1
1137 uk_shield     = 1
1138 uk_food       = 0
1139 uk_gold       = 0
1140 flags         = "Horse"
1141 roles         = "AttackFastStartUnit"
1142 helptext      = _("\
1143 Crusaders are highly disciplined mounted\
1144  warriors driven by a higher cause.\
1147 [unit_knights]
1148 name          = _("Knights")
1149 class         = "Land"
1150 tech_req      = "Chivalry"
1151 obsolete_by   = "Dragoons"
1152 graphic       = "u.knights"
1153 graphic_alt   = "-"
1154 sound_move    = "m_knights"
1155 sound_move_alt = "m_generic"
1156 sound_fight   = "f_knights"
1157 sound_fight_alt = "f_generic"
1158 build_cost    = 40
1159 pop_cost      = 0
1160 attack        = 4
1161 defense       = 2
1162 hitpoints     = 10
1163 firepower     = 1
1164 move_rate     = 2
1165 vision_radius_sq = 2
1166 transport_cap = 0
1167 fuel          = 0
1168 uk_happy      = 1
1169 uk_shield     = 1
1170 uk_food       = 0
1171 uk_gold       = 0
1172 flags         = "Horse"
1173 roles         = "AttackFastStartUnit", "HutTech", "BarbarianTech",
1174                 "BarbarianBuildTech", "BarbarianSeaTech", "Hunter"
1175 helptext      = _("\
1176 Knights are mounted and heavily armored warriors.\
1179 [unit_dragoons]
1180 name          = _("Dragoons")
1181 class         = "Land"
1182 tech_req      = "Leadership"
1183 obsolete_by   = "Cavalry"
1184 graphic       = "u.dragoons"
1185 graphic_alt   = "-"
1186 sound_move    = "m_dragoons"
1187 sound_move_alt = "m_generic"
1188 sound_fight   = "f_dragoons"
1189 sound_fight_alt = "f_generic"
1190 build_cost    = 50
1191 pop_cost      = 0
1192 attack        = 5
1193 defense       = 2
1194 hitpoints     = 20
1195 firepower     = 1
1196 move_rate     = 2
1197 vision_radius_sq = 2
1198 transport_cap = 0
1199 fuel          = 0
1200 uk_happy      = 1
1201 uk_shield     = 1
1202 uk_food       = 0
1203 uk_gold       = 0
1204 flags         = "Horse"
1205 roles         = "AttackFastStartUnit", "BarbarianBuildTech", "BarbarianSeaTech",
1206                 "Hunter"
1207 helptext      = _("\
1208 Dragoons are mounted warriors carrying early firearms.\
1211 [unit_cavalry]
1212 name          = _("Cavalry")
1213 class         = "Land"
1214 tech_req      = "Tactics"
1215 obsolete_by   = "Armor"
1216 graphic       = "u.cavalry"
1217 graphic_alt   = "-"
1218 sound_move    = "m_cavalry"
1219 sound_move_alt = "m_generic"
1220 sound_fight   = "f_cavalry"
1221 sound_fight_alt = "f_generic"
1222 build_cost    = 60
1223 pop_cost      = 0
1224 attack        = 8
1225 defense       = 3
1226 hitpoints     = 20
1227 firepower     = 1
1228 move_rate     = 2
1229 vision_radius_sq = 2
1230 transport_cap = 0
1231 fuel          = 0
1232 uk_happy      = 1
1233 uk_shield     = 1
1234 uk_food       = 0
1235 uk_gold       = 0
1236 flags         = ""
1237 roles         = "AttackFastStartUnit", "Hunter"
1238 helptext      = _("\
1239 Cavalry are mounted and highly trained soldiers.\
1242 [unit_armor]
1243 name          = _("Armor")
1244 class         = "Land"
1245 tech_req      = "Mobile Warfare"
1246 obsolete_by   = "None"
1247 graphic       = "u.armor"
1248 graphic_alt   = "-"
1249 sound_move    = "m_armor"
1250 sound_move_alt = "m_generic"
1251 sound_fight   = "f_armor"
1252 sound_fight_alt = "f_generic"
1253 build_cost    = 80
1254 pop_cost      = 0
1255 attack        = 10
1256 defense       = 5
1257 hitpoints     = 30
1258 firepower     = 1
1259 move_rate     = 3
1260 vision_radius_sq = 2
1261 transport_cap = 0
1262 fuel          = 0
1263 uk_happy      = 1
1264 uk_shield     = 1
1265 uk_food       = 0
1266 uk_gold       = 0
1267 flags         = ""
1268 roles         = "AttackFastStartUnit", "Hunter"
1269 helptext      = _("\
1270 Armors are motorized war wagons that are faster,\
1271  stronger, and can take more damage than any\
1272  mounted unit.\
1275 [unit_catapult]
1276 name          = _("Catapult")
1277 class         = "Land"
1278 tech_req      = "Mathematics"
1279 obsolete_by   = "Cannon"
1280 graphic       = "u.catapult"
1281 graphic_alt   = "-"
1282 sound_move    = "m_catapult"
1283 sound_move_alt = "m_generic"
1284 sound_fight   = "f_catapult"
1285 sound_fight_alt = "f_generic"
1286 build_cost    = 40
1287 pop_cost      = 0
1288 attack        = 6
1289 defense       = 1
1290 hitpoints     = 10
1291 firepower     = 1
1292 move_rate     = 1
1293 vision_radius_sq = 2
1294 transport_cap = 0
1295 fuel          = 0
1296 uk_happy      = 1
1297 uk_shield     = 1
1298 uk_food       = 0
1299 uk_gold       = 0
1300 flags         = ""
1301 roles         = "AttackStrongStartUnit"
1302 helptext      = _("\
1303 Catapults are large rock-throwing machines of war.\
1304  They are very strong attackers but equally weak\
1305  defenders and will need an escort to be effective.\
1308 [unit_cannon]
1309 name          = _("Cannon")
1310 class         = "Land"
1311 tech_req      = "Metallurgy"
1312 obsolete_by   = "Artillery"
1313 graphic       = "u.cannon"
1314 graphic_alt   = "-"
1315 sound_move    = "m_cannon"
1316 sound_move_alt = "m_generic"
1317 sound_fight   = "f_cannon"
1318 sound_fight_alt = "f_generic"
1319 build_cost    = 40
1320 pop_cost      = 0
1321 attack        = 8
1322 defense       = 1
1323 hitpoints     = 20
1324 firepower     = 1
1325 move_rate     = 1
1326 vision_radius_sq = 2
1327 transport_cap = 0
1328 fuel          = 0
1329 uk_happy      = 1
1330 uk_shield     = 1
1331 uk_food       = 0
1332 uk_gold       = 0
1333 flags         = ""
1334 roles         = "AttackStrongStartUnit", "BarbarianTech", "BarbarianBuildTech"
1335 helptext      = _("\
1336 Cannons are large firearms that can fire heavy\
1337  projectiles over long distances. They are very\
1338  strong attackers but equally weak defenders and\
1339  will need an escort to be effective.\
1342 [unit_artillery]
1343 name          = _("Artillery")
1344 class         = "Land"
1345 tech_req      = "Machine Tools"
1346 obsolete_by   = "Howitzer"
1347 graphic       = "u.artillery"
1348 graphic_alt   = "-"
1349 sound_move    = "m_artillery"
1350 sound_move_alt = "m_generic"
1351 sound_fight   = "f_artillery"
1352 sound_fight_alt = "f_generic"
1353 build_cost    = 50
1354 pop_cost      = 0
1355 attack        = 10
1356 defense       = 1
1357 hitpoints     = 20
1358 firepower     = 2
1359 move_rate     = 1
1360 vision_radius_sq = 2
1361 transport_cap = 0
1362 fuel          = 0
1363 uk_happy      = 1
1364 uk_shield     = 1
1365 uk_food       = 0
1366 uk_gold       = 0
1367 flags         = ""
1368 roles         = "AttackStrongStartUnit"
1369 helptext      = _("\
1370 The artillery is an upgraded cannon. It is a very\
1371  strong attacker but equally weak defender and\
1372  will need an escort to be effective.\
1375 [unit_howitzer]
1376 name          = _("Howitzer")
1377 class         = "Land"
1378 tech_req      = "Robotics"
1379 obsolete_by   = "None"
1380 graphic       = "u.howitzer"
1381 graphic_alt   = "-"
1382 sound_move    = "m_howitzer"
1383 sound_move_alt = "m_generic"
1384 sound_fight   = "f_howitzer"
1385 sound_fight_alt = "f_generic"
1386 build_cost    = 70
1387 pop_cost      = 0
1388 attack        = 12
1389 defense       = 2
1390 hitpoints     = 30
1391 firepower     = 2
1392 move_rate     = 2
1393 vision_radius_sq = 2
1394 transport_cap = 0
1395 fuel          = 0
1396 uk_happy      = 1
1397 uk_shield     = 1
1398 uk_food       = 0
1399 uk_gold       = 0
1400 flags         = ""
1401 roles         = "AttackStrongStartUnit"
1402 helptext      = _("\
1403 Howitzers are upgraded artillery with improved\
1404  defensive as well as offensive capabilities.\
1405  They can shoot over city walls, ignoring their effect.\
1408 [unit_fighter]
1409 name          = _("Fighter")
1410 class         = "Air"
1411 tech_req      = "Flight"
1412 obsolete_by   = "Stealth Fighter"
1413 graphic       = "u.fighter"
1414 graphic_alt   = "-"
1415 sound_move    = "m_fighter"
1416 sound_move_alt = "m_generic"
1417 sound_fight   = "f_fighter"
1418 sound_fight_alt = "f_generic"
1419 build_cost    = 60
1420 pop_cost      = 0
1421 attack        = 4
1422 defense       = 3
1423 hitpoints     = 20
1424 firepower     = 2
1425 move_rate     = 10
1426 vision_radius_sq = 8
1427 transport_cap = 0
1428 fuel          = 1
1429 uk_happy      = 0
1430 uk_shield     = 1
1431 uk_food       = 0
1432 uk_gold       = 0
1433 targets       = "Air", "Missile"
1434 bonuses       =
1435    { "flag", "type", "value"
1436      "Helicopter", "DefenseDivider", 1
1437      "Helicopter", "Firepower1", 1
1438    }
1439 flags         = "AirAttacker"
1440 roles         = ""
1441 helptext      = _("\
1442 Fighters are your first airborne units. They can\
1443  move anywhere and attack any unit.\
1446 [unit_bomber]
1447 name          = _("Bomber")
1448 class         = "Air"
1449 tech_req      = "Advanced Flight"
1450 obsolete_by   = "Stealth Bomber"
1451 graphic       = "u.bomber"
1452 graphic_alt   = "-"
1453 sound_move    = "m_bomber"
1454 sound_move_alt = "m_generic"
1455 sound_fight   = "f_bomber"
1456 sound_fight_alt = "f_generic"
1457 build_cost    = 120
1458 pop_cost      = 0
1459 attack        = 12
1460 defense       = 1
1461 hitpoints     = 20
1462 firepower     = 2
1463 move_rate     = 8
1464 vision_radius_sq = 8
1465 transport_cap = 0
1466 fuel          = 2
1467 uk_happy      = 1
1468 uk_shield     = 1
1469 uk_food       = 0
1470 uk_gold       = 0
1471 flags         = "FieldUnit", "OneAttack", "AirAttacker", "HasNoZOC"
1472 roles         = ""
1473 helptext      = _("\
1474 Bombers are specialized airborne units that may\
1475  only attack ground targets, not other airborne\
1476  units.\
1479 [unit_helicopter]
1480 ; /* TRANS: unit type */
1481 name          = _("Helicopter")
1482 class         = "Helicopter"
1483 tech_req      = "Combined Arms"
1484 obsolete_by   = "None"
1485 graphic       = "u.helicopter"
1486 graphic_alt   = "-"
1487 sound_move    = "m_helicopter"
1488 sound_move_alt = "m_generic"
1489 sound_fight   = "f_helicopter"
1490 sound_fight_alt = "f_generic"
1491 build_cost    = 100
1492 pop_cost      = 0
1493 attack        = 10
1494 defense       = 3
1495 hitpoints     = 20
1496 firepower     = 2
1497 move_rate     = 6
1498 vision_radius_sq = 8
1499 transport_cap = 0
1500 fuel          = 0
1501 uk_happy      = 1
1502 uk_shield     = 1
1503 uk_food       = 0
1504 uk_gold       = 0
1505 flags         = "FieldUnit", "OneAttack", "Helicopter", "AirAttacker"
1506 roles         = ""
1507 helptext      = _("\
1508 The Helicopter is a very powerful unit, as it can both fly and\
1509  conquer cities.  Care must be exercised, because Helicopters lose a\
1510  small amount of health for every turn not spent in a city or airbase\
1511  or on a Carrier, and they may be attacked by ground units.\
1514 [unit_stealth_fighter]
1515 name          = _("Stealth Fighter")
1516 class         = "Air"
1517 tech_req      = "Stealth"
1518 obsolete_by   = "None"
1519 graphic       = "u.stealth_fighter"
1520 graphic_alt   = "-"
1521 sound_move    = "m_stealth_fighter"
1522 sound_move_alt = "m_generic"
1523 sound_fight   = "f_stealth_fighter"
1524 sound_fight_alt = "f_generic"
1525 build_cost    = 80
1526 pop_cost      = 0
1527 attack        = 8
1528 defense       = 4
1529 hitpoints     = 20
1530 firepower     = 2
1531 move_rate     = 14
1532 vision_radius_sq = 8
1533 transport_cap = 0
1534 fuel          = 1
1535 uk_happy      = 0
1536 uk_shield     = 1
1537 uk_food       = 0
1538 uk_gold       = 0
1539 targets       = "Air", "Missile"
1540 bonuses       =
1541    { "flag", "type", "value"
1542      "Helicopter", "DefenseDivider", 1
1543      "Helicopter", "Firepower1", 1
1544    }
1545 flags         = "Partial_Invis", "AirAttacker"
1546 roles         = ""
1547 helptext      = _("\
1548 An improved Fighter, with improved attack and a higher movement\
1549  radius.\
1552 [unit_stealth_bomber]
1553 name          = _("Stealth Bomber")
1554 class         = "Air"
1555 tech_req      = "Stealth"
1556 obsolete_by   = "None"
1557 graphic       = "u.stealth_bomber"
1558 graphic_alt   = "-"
1559 sound_move    = "m_stealth_bomber"
1560 sound_move_alt = "m_generic"
1561 sound_fight   = "f_stealth_bomber"
1562 sound_fight_alt = "f_generic"
1563 build_cost    = 160
1564 pop_cost      = 0
1565 attack        = 18
1566 defense       = 5
1567 hitpoints     = 20
1568 firepower     = 2
1569 move_rate     = 12
1570 vision_radius_sq = 8
1571 transport_cap = 0
1572 fuel          = 2
1573 uk_happy      = 1
1574 uk_shield     = 1
1575 uk_food       = 0
1576 uk_gold       = 0
1577 flags         = "Partial_Invis", "FieldUnit", "OneAttack", "AirAttacker",
1578                 "HasNoZOC"
1579 roles         = ""
1580 helptext      = _("\
1581 An improved Bomber, with improved attack and a higher movement\
1582  radius.\
1585 [unit_trireme]
1586 ; /* TRANS: unit type */
1587 name          = _("Trireme")
1588 class         = "Trireme"
1589 tech_req      = "Map Making"
1590 obsolete_by   = "Caravel"
1591 graphic       = "u.trireme"
1592 graphic_alt   = "-"
1593 sound_move    = "m_trireme"
1594 sound_move_alt = "m_generic"
1595 sound_fight   = "f_trireme"
1596 sound_fight_alt = "f_generic"
1597 build_cost    = 40
1598 pop_cost      = 0
1599 attack        = 1
1600 defense       = 1
1601 hitpoints     = 10
1602 firepower     = 1
1603 move_rate     = 3
1604 vision_radius_sq = 2
1605 transport_cap = 2
1606 fuel          = 0
1607 uk_happy      = 1
1608 uk_shield     = 1
1609 uk_food       = 0
1610 uk_gold       = 0
1611 cargo         = "Land"
1612 flags         = "BadCityDefender", "Provoking"
1613 roles         = "Ferryboat", "FerryStartUnit"
1614 helptext      = _("\
1615 The Trireme is your first boat unit. It can act\
1616  as a transport ship and has rudimentary offensive\
1617  capabilities, but may not enter deep ocean tiles.\
1620 [unit_caravel]
1621 name          = _("Caravel")
1622 class         = "Sea"
1623 tech_req      = "Navigation"
1624 obsolete_by   = "Galleon"
1625 graphic       = "u.caravel"
1626 graphic_alt   = "-"
1627 sound_move    = "m_caravel"
1628 sound_move_alt = "m_generic"
1629 sound_fight   = "f_caravel"
1630 sound_fight_alt = "f_generic"
1631 build_cost    = 40
1632 pop_cost      = 0
1633 attack        = 2
1634 defense       = 1
1635 hitpoints     = 10
1636 firepower     = 1
1637 move_rate     = 3
1638 vision_radius_sq = 2
1639 transport_cap = 3
1640 fuel          = 0
1641 uk_happy      = 1
1642 uk_shield     = 1
1643 uk_food       = 0
1644 uk_gold       = 0
1645 cargo         = "Land"
1646 flags         = "BadCityDefender", "Provoking"
1647 roles         = "Ferryboat", "FerryStartUnit", "BarbarianBoat"
1648 helptext      = _("\
1649 The Caravel replaces the Trireme and can enter\
1650  any ocean tile.\
1653 [unit_galleon]
1654 name          = _("Galleon")
1655 class         = "Sea"
1656 tech_req      = "Magnetism"
1657 obsolete_by   = "Transport"
1658 graphic       = "u.galleon"
1659 graphic_alt   = "-"
1660 sound_move    = "m_galleon"
1661 sound_move_alt = "m_generic"
1662 sound_fight   = "f_galleon"
1663 sound_fight_alt = "f_generic"
1664 build_cost    = 40
1665 pop_cost      = 0
1666 attack        = 0
1667 defense       = 2
1668 hitpoints     = 20
1669 firepower     = 1
1670 move_rate     = 4
1671 vision_radius_sq = 2
1672 transport_cap = 4
1673 fuel          = 0
1674 uk_happy      = 1
1675 uk_shield     = 1
1676 uk_food       = 0
1677 uk_gold       = 0
1678 cargo         = "Land"
1679 flags         = "BadCityDefender", "Provoking"
1680 roles         = "Ferryboat", "FerryStartUnit", "BarbarianBoat"
1681 helptext      = _("\
1682 The Galleon is a pure transport ship and cannot\
1683  attack other ships, though it may still defend\
1684  itself when attacked.\
1687 [unit_frigate]
1688 name          = _("Frigate")
1689 class         = "Sea"
1690 tech_req      = "Magnetism"
1691 obsolete_by   = "Ironclad"
1692 graphic       = "u.frigate"
1693 graphic_alt   = "-"
1694 sound_move    = "m_frigate"
1695 sound_move_alt = "m_generic"
1696 sound_fight   = "f_frigate"
1697 sound_fight_alt = "f_generic"
1698 build_cost    = 50
1699 pop_cost      = 0
1700 attack        = 4
1701 defense       = 2
1702 hitpoints     = 20
1703 firepower     = 1
1704 move_rate     = 4
1705 vision_radius_sq = 2
1706 transport_cap = 2
1707 fuel          = 0
1708 uk_happy      = 1
1709 uk_shield     = 1
1710 uk_food       = 0
1711 uk_gold       = 0
1712 cargo         = "Land"
1713 flags         = "BadCityDefender", "Provoking"
1714 roles         = "Hunter"
1715 helptext      = _("\
1716 The Frigate is a highly versatile boat unit,\
1717  that is both a strong offensive unit as well\
1718  as a decent transport ship.\
1721 [unit_ironclad]
1722 name          = _("Ironclad")
1723 class         = "Sea"
1724 tech_req      = "Steam Engine"
1725 obsolete_by   = "Destroyer"
1726 graphic       = "u.ironclad"
1727 graphic_alt   = "-"
1728 sound_move    = "m_ironclad"
1729 sound_move_alt = "m_generic"
1730 sound_fight   = "f_ironclad"
1731 sound_fight_alt = "f_generic"
1732 build_cost    = 60
1733 pop_cost      = 0
1734 attack        = 4
1735 defense       = 4
1736 hitpoints     = 30
1737 firepower     = 1
1738 move_rate     = 4
1739 vision_radius_sq = 2
1740 transport_cap = 0
1741 fuel          = 0
1742 uk_happy      = 1
1743 uk_shield     = 1
1744 uk_food       = 0
1745 uk_gold       = 0
1746 flags         = "BadCityDefender"
1747 roles         = "Hunter"
1748 helptext      = _("\
1749 The Ironclad is an armored ship that is\
1750  much more sturdy than the Frigate but\
1751  loses the latter's transport capability.\
1754 [unit_destroyer]
1755 name          = _("Destroyer")
1756 class         = "Sea"
1757 tech_req      = "Electricity"
1758 obsolete_by   = "None"
1759 graphic       = "u.destroyer"
1760 graphic_alt   = "-"
1761 sound_move    = "m_destroyer"
1762 sound_move_alt = "m_generic"
1763 sound_fight   = "f_destroyer"
1764 sound_fight_alt = "f_generic"
1765 build_cost    = 60
1766 pop_cost      = 0
1767 attack        = 4
1768 defense       = 4
1769 hitpoints     = 30
1770 firepower     = 1
1771 move_rate     = 6
1772 vision_radius_sq = 8
1773 transport_cap = 0
1774 fuel          = 0
1775 uk_happy      = 1
1776 uk_shield     = 1
1777 uk_food       = 0
1778 uk_gold       = 0
1779 flags         = "BadCityDefender"
1780 roles         = "Hunter"
1781 helptext      = _("\
1782 An improved Ironclad, with better move rate and vision.\
1783 "), _("\
1784 TIP:  A very fast unit, which is very useful for hunting down enemy\
1785  Transports.\
1788 [unit_cruiser]
1789 name          = _("Cruiser")
1790 class         = "Sea"
1791 tech_req      = "Steel"
1792 obsolete_by   = "AEGIS Cruiser"
1793 graphic       = "u.cruiser"
1794 graphic_alt   = "-"
1795 sound_move    = "m_cruiser"
1796 sound_move_alt = "m_generic"
1797 sound_fight   = "f_cruiser"
1798 sound_fight_alt = "f_generic"
1799 build_cost    = 80
1800 pop_cost      = 0
1801 attack        = 6
1802 defense       = 6
1803 hitpoints     = 30
1804 firepower     = 2
1805 move_rate     = 5
1806 vision_radius_sq = 8
1807 transport_cap = 0
1808 fuel          = 0
1809 uk_happy      = 1
1810 uk_shield     = 1
1811 uk_food       = 0
1812 uk_gold       = 0
1813 flags         = "BadCityDefender"
1814 roles         = "DefendGood", "DefendGoodStartUnit"
1815 helptext      = _("\
1816 The Cruiser is a strong offensive boat unit.\
1819 [unit_aegis_cruiser]
1820 name          = _("AEGIS Cruiser")
1821 class         = "Sea"
1822 tech_req      = "Rocketry"
1823 obsolete_by   = "None"
1824 graphic       = "u.aegis_cruiser"
1825 graphic_alt   = "-"
1826 sound_move    = "m_aegis_cruiser"
1827 sound_move_alt = "m_generic"
1828 sound_fight   = "f_aegis_cruiser"
1829 sound_fight_alt = "f_generic"
1830 build_cost    = 100
1831 pop_cost      = 0
1832 attack        = 8
1833 defense       = 8
1834 hitpoints     = 30
1835 firepower     = 2
1836 move_rate     = 5
1837 vision_radius_sq = 8
1838 transport_cap = 0
1839 fuel          = 0
1840 uk_happy      = 1
1841 uk_shield     = 1
1842 uk_food       = 0
1843 uk_gold       = 0
1844 bonuses       =
1845    { "flag", "type", "value"
1846      "AirAttacker", "DefenseMultiplier", 4
1847    }
1848 flags         = "BadCityDefender"
1849 roles         = "DefendGood", "DefendGoodStartUnit"
1850 helptext      = _("\
1851 The AEGIS Cruiser is equipped with an advanced\
1852  defensive missile system.\
1855 [unit_battleship]
1856 name          = _("Battleship")
1857 class         = "Sea"
1858 tech_req      = "Automobile"
1859 obsolete_by   = "None"
1860 graphic       = "u.battleship"
1861 graphic_alt   = "-"
1862 sound_move    = "m_battleship"
1863 sound_move_alt = "m_generic"
1864 sound_fight   = "f_battleship"
1865 sound_fight_alt = "f_generic"
1866 build_cost    = 160
1867 pop_cost      = 0
1868 attack        = 12
1869 defense       = 12
1870 hitpoints     = 40
1871 firepower     = 2
1872 move_rate     = 4
1873 vision_radius_sq = 8
1874 transport_cap = 0
1875 fuel          = 0
1876 uk_happy      = 1
1877 uk_shield     = 1
1878 uk_food       = 0
1879 uk_gold       = 0
1880 flags         = "BadCityDefender"
1881 roles         = ""
1882 helptext      = _("\
1883 The Battleship is the supreme naval unit with\
1884  excellent offensive and defensive values.\
1887 [unit_submarine]
1888 name          = _("Submarine")
1889 class         = "Sea"
1890 tech_req      = "Combustion"
1891 obsolete_by   = "None"
1892 graphic       = "u.submarine"
1893 graphic_alt   = "-"
1894 sound_move    = "m_submarine"
1895 sound_move_alt = "m_generic"
1896 sound_fight   = "f_submarine"
1897 sound_fight_alt = "f_generic"
1898 build_cost    = 50
1899 pop_cost      = 0
1900 attack        = 12
1901 defense       = 2
1902 hitpoints     = 30
1903 firepower     = 2
1904 move_rate     = 5
1905 vision_radius_sq = 8
1906 transport_cap = 8
1907 fuel          = 0
1908 uk_happy      = 1
1909 uk_shield     = 1
1910 uk_food       = 0
1911 uk_gold       = 0
1912 cargo         = "Missile"
1913 flags         = "Partial_Invis", "BadCityDefender", "Provoking",
1914                 "Only_Native_Attack"
1915 roles         = "Hunter"
1916 helptext      = _("\
1917 Traveling under the surface of the ocean, Submarines have\
1918  a very high strategic value, but a weak defense if caught\
1919  off guard.\
1922 [unit_carrier]
1923 name          = _("Carrier")
1924 class         = "Sea"
1925 tech_req      = "Advanced Flight"
1926 obsolete_by   = "None"
1927 graphic       = "u.carrier"
1928 graphic_alt   = "-"
1929 sound_move    = "m_carrier"
1930 sound_move_alt = "m_generic"
1931 sound_fight   = "f_carrier"
1932 sound_fight_alt = "f_generic"
1933 build_cost    = 160
1934 pop_cost      = 0
1935 attack        = 1
1936 defense       = 9
1937 hitpoints     = 40
1938 firepower     = 2
1939 move_rate     = 5
1940 vision_radius_sq = 8
1941 transport_cap = 8
1942 fuel          = 0
1943 uk_happy      = 1
1944 uk_shield     = 1
1945 uk_food       = 0
1946 uk_gold       = 0
1947 cargo         = "Air", "Missile", "Helicopter"
1948 flags         = "BadCityDefender", "Only_Native_Attack", "Provoking"
1949 roles         = ""
1950 helptext      = _("\
1951 The Carrier is a mobile airport.\
1952 "), _("\
1953 TIP:  Guard Carriers with a handful of fast-moving ships and a\
1954  battleship, as losing a fully-equipped Carrier is VERY\
1955  painful and expensive.\
1958 [unit_transport]
1959 name          = _("Transport")
1960 class         = "Sea"
1961 tech_req      = "Industrialization"
1962 obsolete_by   = "None"
1963 graphic       = "u.transport"
1964 graphic_alt   = "-"
1965 sound_move    = "m_transport"
1966 sound_move_alt = "m_generic"
1967 sound_fight   = "f_transport"
1968 sound_fight_alt = "f_generic"
1969 build_cost    = 50
1970 pop_cost      = 0
1971 attack        = 0
1972 defense       = 3
1973 hitpoints     = 30
1974 firepower     = 1
1975 move_rate     = 5
1976 vision_radius_sq = 8
1977 transport_cap = 8
1978 fuel          = 0
1979 uk_happy      = 1
1980 uk_shield     = 1
1981 uk_food       = 0
1982 uk_gold       = 0
1983 cargo         = "Land"
1984 flags         = "BadCityDefender", "Provoking"
1985 roles         = "Ferryboat", "FerryStartUnit"
1986 helptext      = _("\
1987 The Transport cannot attack on its own but\
1988  may defend itself when under attack.\
1991 [unit_cruise_missile]
1992 name          = _("Cruise Missile")
1993 class         = "Missile"
1994 tech_req      = "Rocketry"
1995 obsolete_by   = "None"
1996 graphic       = "u.cruise_missile"
1997 graphic_alt   = "-"
1998 sound_move    = "m_cruise_missile"
1999 sound_move_alt = "m_generic"
2000 sound_fight   = "f_cruise_missile"
2001 sound_fight_alt = "f_generic"
2002 build_cost    = 60
2003 pop_cost      = 0
2004 attack        = 18
2005 defense       = 0
2006 hitpoints     = 10
2007 firepower     = 3
2008 move_rate     = 12
2009 vision_radius_sq = 2
2010 transport_cap = 0
2011 fuel          = 1
2012 uk_happy      = 1
2013 uk_shield     = 1
2014 uk_food       = 0
2015 uk_gold       = 0
2016 flags         = "FieldUnit", "OneAttack", "AirAttacker", "HasNoZOC"
2017 roles         = ""
2018 helptext      = _("\
2019 The Cruise Missile is a long-distance missile\
2020  that can strike deep into enemy territory.\
2021 "), _("\
2022 TIP:  A handful of these can successfully keep the waters around\
2023  your treasured homeland free of enemy ships.\
2026 [unit_nuclear]
2027 name          = _("Nuclear")
2028 class         = "Missile"
2029 tech_req      = "Rocketry"
2030 obsolete_by   = "None"
2031 graphic       = "u.nuclear"
2032 graphic_alt   = "-"
2033 sound_move    = "m_nuclear"
2034 sound_move_alt = "m_generic"
2035 sound_fight   = "f_nuclear"
2036 sound_fight_alt = "f_generic"
2037 build_cost    = 160
2038 pop_cost      = 0
2039 attack        = 99
2040 defense       = 0
2041 hitpoints     = 10
2042 firepower     = 1
2043 move_rate     = 16
2044 vision_radius_sq = 2
2045 transport_cap = 0
2046 fuel          = 1
2047 uk_happy      = 1
2048 uk_shield     = 1
2049 uk_food       = 0
2050 uk_gold       = 0
2051 flags         = "FieldUnit", "OneAttack", "Nuclear", "HasNoZOC"
2052 ; No veteran levels (level name is never displayed)
2053 veteran_names = _("green")
2054 veteran_raise_chance = 0
2055 veteran_work_raise_chance = 0
2056 veteran_power_fact = 100
2057 veteran_move_bonus = 0
2058 roles         = ""
2059 helptext      = _("\
2060 You can build Nuclear units when you have the required advance, and\
2061  the Manhattan Project wonder has been built by any player.\
2062 "), _("\
2063 On impact, the blast will destroy any unit in an area 3 tiles wide\
2064  (3x3 squares for rectangular grids), including friendly units.\
2065  Any city within the blast area loses half its population, and\
2066  land tiles within the blast area are subject to nuclear fallout.\
2067 "), _("\
2068 Similar to pollution and global warming, the risk of global nuclear\
2069  winter increases with fallout. If nuclear winter occurs, terrain\
2070  across the globe changes into desert, tundra, and ice. Settlers,\
2071  Workers, and Engineers can clean up nuclear fallout.\
2072 "), _("\
2073 TIP 1:  Nuking the ocean will not generate fallout, and is a most\
2074  effective (but expensive!!) way of getting rid of enemy\
2075  ships.\
2076 "), _("\
2077 TIP 2:  You may be involved in a situation where you've invaded an\
2078  enemy country en masse, but the enemy cities are too strong.\
2079  Before using a Nuclear unit, assemble a gang of Settlers, Workers,\
2080  and/or Engineers next to the city and have them ready to fix\
2081  the fallout on the same turn it occurs!  This minimizes the\
2082  chance of nuclear winter.  Eco-friendly nukes!\
2085 [unit_diplomat]
2086 name          = _("Diplomat")
2087 class         = "Land"
2088 tech_req      = "Writing"
2089 obsolete_by   = "Spy"
2090 graphic       = "u.diplomat"
2091 graphic_alt   = "-"
2092 sound_move    = "m_diplomat"
2093 sound_move_alt = "m_generic"
2094 sound_fight   = "f_diplomat"
2095 sound_fight_alt = "f_generic"
2096 build_cost    = 30
2097 pop_cost      = 0
2098 attack        = 0
2099 defense       = 0
2100 hitpoints     = 10
2101 firepower     = 1
2102 move_rate     = 2
2103 vision_radius_sq = 2
2104 transport_cap = 0
2105 fuel          = 0
2106 uk_happy      = 0
2107 uk_shield     = 0
2108 uk_food       = 0
2109 uk_gold       = 0
2110 flags         = "Diplomat", "IgZOC", "NonMil", "HasNoZOC", "Provoking"
2111 veteran_names =
2112 ; /* TRANS: diplomatic rank. */
2113   _("?diplomatic_rank:attaché"),
2114 ; /* TRANS: diplomatic rank */
2115   _("?diplomatic_rank:secretary"),
2116 ; /* TRANS: diplomatic rank */
2117   _("?diplomatic_rank:envoy"),
2118 ; /* TRANS: diplomatic rank */
2119   _("?diplomatic_rank:ambassador")
2120 veteran_raise_chance = 50, 33, 20, 0
2121 veteran_work_raise_chance = 0, 0, 0, 0
2122 veteran_power_fact = 100, 105, 110, 115
2123 veteran_move_bonus = 0, 0, 0, 0
2124 roles         = "DiplomatStartUnit"
2125 helptext      = _("\
2126 A Diplomat is an official that carries your dispatches and\
2127  is authorized to deal with foreign dignitaries. He may\
2128  also undertake various covert operations with the intent of\
2129  harming your opponents; Diplomats in your own cities defend\
2130  them against such actions.\
2131 "), _("\
2132 Many covert actions may be attempted even in peacetime, but the more\
2133  aggressive actions will be discovered and cause diplomatic incidents,\
2134  which can allow Republics and Democracies to break treaties.\
2135 "), _("\
2136 If a foreign unit is alone on a tile, you may attempt to bribe it\
2137  with your Diplomat. By paying a sum of gold the unit will immediately\
2138  become yours; the exact sum depends on the status of the unit and\
2139  that of the civilization owning it. However, units belonging to\
2140  Democratic governments cannot be bribed. Bribery when not at war\
2141  will cause a diplomatic incident.\
2142 "), _("\
2143 Diplomats can also perform a number of actions in another player's\
2144  city, although each Diplomat may attempt only one action. Most of\
2145  these actions have a chance of failure. Also, any enemy Diplomats or\
2146  Spies in the city will oppose hostile actions, as will the enemy Leader\
2147  in games with leaders; in this case, either your unit or the defending\
2148  unit will die (if you go up against the Leader you will always die). If\
2149  the defending unit dies, you lose one movement point and may try again.\
2150 "), _("\
2151 The actions available to Diplomats in a city are:\
2152 "), _("\
2153  - \"Establish Embassy\": This action always succeeds, and gives\
2154  permanent contact with the city's owner, as well as intelligence\
2155  on their tax rates and technology.\
2156 "), _("\
2157  - \"Investigate City\": Your unit attempts to report detailed\
2158  information about the city: its status, what buildings and units are\
2159  within, and what it is currently producing.\
2160 "), _("\
2161  - \"Sabotage City\": Your unit attempts either to disrupt all the\
2162  city's work so far towards its current project, or to destroy an\
2163  existing building in the city, at random. Once built, Palaces and\
2164  Wonders cannot be sabotaged, and attempts to sabotage City Walls\
2165  or any building in a capital each halve the chance of success.\
2166  Sabotage may only be attempted when openly at war.\
2167 "), _("\
2168  - \"Steal Technology\": Your unit attempts to learn the secrets of a\
2169  random technology known to the city's owner but not to you. Technology\
2170  may only be stolen once from a given enemy city by Diplomats. This\
2171  action may be attempted even when not at war, but will cause a\
2172  diplomatic incident.\
2173 "), _("\
2174  - \"Incite a Revolt\": In return for gold a foreign city will change\
2175  allegiance and join your empire, bringing along all nearby units that\
2176  call it home, but reducing its size by 1. Units in other cities\
2177  remain in the enemy's control, but units outside cities are lost to\
2178  both players. The exact sum depends on the status of the city and\
2179  that of the civilization that owns it. It is not possible to incite\
2180  a rebellion in a capital, or in any city governed by a democracy.\
2181  Incitement may be attempted in peacetime, but will cause a\
2182  diplomatic incident.\
2183 "), _("\
2184 In some game strategies, hordes of Diplomats can be used to wreak\
2185  havoc on the enemy.  Little wonder that Diplomats are often\
2186  viewed with suspicion and fear!\
2187 "), _("\
2188 Diplomats built under a Communist government will start at the first\
2189  veteran level (secretary).\
2192 [unit_spy]
2193 name          = _("Spy")
2194 class         = "Land"
2195 tech_req      = "Espionage"
2196 obsolete_by   = "None"
2197 graphic       = "u.spy"
2198 graphic_alt   = "-"
2199 sound_move    = "m_spy"
2200 sound_move_alt = "m_generic"
2201 sound_fight   = "f_spy"
2202 sound_fight_alt = "f_generic"
2203 build_cost    = 30
2204 pop_cost      = 0
2205 attack        = 0
2206 defense       = 0
2207 hitpoints     = 10
2208 firepower     = 1
2209 move_rate     = 3
2210 vision_radius_sq = 8
2211 transport_cap = 0
2212 fuel          = 0
2213 uk_happy      = 0
2214 uk_shield     = 0
2215 uk_food       = 0
2216 uk_gold       = 0
2217 flags         = "Diplomat", "IgZOC", "NonMil", "HasNoZOC", "Spy",
2218                 "Provoking"
2219 veteran_names =
2220 ; /* TRANS: Spy veteran level */
2221   _("?spy_level:informant"),
2222 ; /* TRANS: Spy veteran level */
2223   _("?spy_level:handler"),
2224 ; /* TRANS: Spy veteran level */
2225   _("?spy_level:agent"),
2226 ; /* TRANS: Spy veteran level */
2227   _("?spy_level:spymaster")
2228 veteran_raise_chance = 50, 33, 20, 0
2229 veteran_work_raise_chance = 0, 0, 0, 0
2230 veteran_power_fact = 100, 105, 110, 115
2231 veteran_move_bonus = 0, 0, 0, 0
2232 roles         = "DiplomatStartUnit"
2233 helptext      = _("\
2234 A Spy is more skilled in the arts of espionage than her Diplomat predecessor.\
2235 "), _("\
2236 She can perform all the functions of the Diplomat; refer to the Diplomat\
2237  entry for more details. Unlike a Diplomat, a Spy may also survive an\
2238  operation in a foreign city and become more experienced as a result.\
2239  Spies are also more effective than Diplomats at defending cities\
2240  against foreign Diplomats and Spies.\
2241 "), _("\
2242 A Spy can also be used to:\n\
2243  - sabotage an enemy unit (reducing its hit points to half), if it is\
2244  alone on a tile and the players are at war;\n\
2245  - poison the water supply of an enemy city (reducing the population\
2246  by one);\n\
2247  - steal specific technology (with a reduced chance of success);\n\
2248  - steal further technologies from a city which has already been\
2249  stolen from (although cities become more resistant each time they\
2250  are stolen from);\n\
2251  - sabotage predetermined city targets (with a reduced chance of\
2252  success).\
2253 "), _("\
2254 A Spy that survives the more aggressive actions (sabotage, theft,\
2255  inciting rebellion, and poisoning) escapes to the safety of the\
2256  nearest friendly city.\
2257 "), _("\
2258 Spies built under a Communist government will start at the first\
2259  veteran level (handler).\
2262 [unit_caravan]
2263 name          = _("Caravan")
2264 class         = "Land"
2265 tech_req      = "Trade"
2266 obsolete_by   = "Freight"
2267 graphic       = "u.caravan"
2268 graphic_alt   = "-"
2269 sound_move    = "m_caravan"
2270 sound_move_alt = "m_generic"
2271 sound_fight   = "f_caravan"
2272 sound_fight_alt = "f_generic"
2273 build_cost    = 30
2274 pop_cost      = 0
2275 attack        = 0
2276 defense       = 1
2277 hitpoints     = 10
2278 firepower     = 1
2279 move_rate     = 1
2280 vision_radius_sq = 2
2281 transport_cap = 0
2282 fuel          = 0
2283 uk_happy      = 0
2284 uk_shield     = 0
2285 uk_food       = 0
2286 uk_gold       = 0
2287 flags         = "HelpWonder", "IgZOC", "NonMil", "HasNoZOC"
2288 roles         = ""
2289 helptext      = _("\
2290 A Caravan carries goods or material to help build wonders in your\
2291  cities.\
2292 "), _("\
2293 Every Caravan that is used to build a wonder will add 30 shields\
2294  towards the production of the wonder.\
2295 "), _("\
2296 TIP:  You can stockpile a stack of Caravans in advance and bring\
2297  them all into a city where you have started to build a wonder,\
2298  and finish it in only one turn!\
2301 [unit_freight]
2302 name          = _("Freight")
2303 class         = "Land"
2304 tech_req      = "The Corporation"
2305 obsolete_by   = "None"
2306 graphic       = "u.freight"
2307 graphic_alt   = "-"
2308 sound_move    = "m_freight"
2309 sound_move_alt = "m_generic"
2310 sound_fight   = "f_freight"
2311 sound_fight_alt = "f_generic"
2312 build_cost    = 50
2313 pop_cost      = 0
2314 attack        = 0
2315 defense       = 1
2316 hitpoints     = 10
2317 firepower     = 1
2318 move_rate     = 2
2319 vision_radius_sq = 2
2320 transport_cap = 0
2321 fuel          = 0
2322 uk_happy      = 0
2323 uk_shield     = 0
2324 uk_food       = 0
2325 uk_gold       = 0
2326 flags         = "HelpWonder", "IgZOC", "NonMil", "HasNoZOC"
2327 roles         = ""
2328 helptext      = _("\
2329 The Freight unit replaces the Caravan, and moves at twice the speed.\
2330  Each Freight used to build a wonder will add 50 shields.\
2333 [unit_explorer]
2334 name          = _("Explorer")
2335 class         = "Land"
2336 tech_req      = "Seafaring"
2337 obsolete_by   = "Partisan"
2338 graphic       = "u.explorer"
2339 graphic_alt   = "-"
2340 sound_move    = "m_explorer"
2341 sound_move_alt = "m_generic"
2342 sound_fight   = "f_explorer"
2343 sound_fight_alt = "f_generic"
2344 build_cost    = 30
2345 pop_cost      = 0
2346 attack        = 0
2347 defense       = 1
2348 hitpoints     = 10
2349 firepower     = 1
2350 move_rate     = 1
2351 vision_radius_sq = 2
2352 transport_cap = 0
2353 fuel          = 0
2354 uk_happy      = 0
2355 uk_shield     = 0
2356 uk_food       = 0
2357 uk_gold       = 0
2358 flags         = "IgTer", "IgZOC", "NonMil", "HasNoZOC"
2359 roles         = "Explorer", "ExplorerStartUnit"
2360 helptext      = _("\
2361 Explorers are brave individuals that are very useful for\
2362  mapping unknown territory.\
2365 [unit_leader]
2366 name          = _("?unit:Leader")
2367 class         = "Land"
2368 tech_req      = "None"
2369 obsolete_by   = "None"
2370 graphic       = "u.leader"
2371 graphic_alt   = "u.explorer"
2372 sound_move    = "m_leader"
2373 sound_move_alt = "m_generic"
2374 sound_fight   = "f_leader"
2375 sound_fight_alt = "f_generic"
2376 build_cost    = 10
2377 pop_cost      = 0
2378 attack        = 0
2379 defense       = 2
2380 hitpoints     = 20
2381 firepower     = 1
2382 move_rate     = 2
2383 vision_radius_sq = 8
2384 transport_cap = 0
2385 fuel          = 0
2386 uk_happy      = 0
2387 uk_shield     = 0
2388 uk_food       = 0
2389 uk_gold       = 0
2390 flags         = "IgZOC", "NonMil", "HasNoZOC", "NoBuild", "NoHome", "SuperSpy", 
2391                 "EvacuateFirst", "Unbribable", "GameLoss", "Unique",
2392                 "Provoking"
2393 ; No veteran levels (level name is never displayed)
2394 veteran_names = _("green")
2395 veteran_raise_chance = 0
2396 veteran_work_raise_chance = 0
2397 veteran_power_fact = 100
2398 veteran_move_bonus = 0
2399 roles         = "KingStartUnit"
2400 helptext      = _("\
2401 This is you. If you lose this unit, you lose the game. So don't.\
2402 "), _("\
2403 Won't unleash barbarians from huts.\
2406 [unit_barbarian_leader]
2407 name          = _("Barbarian Leader")
2408 class         = "Land"
2409 tech_req      = "None"
2410 obsolete_by   = "None"
2411 graphic       = "u.barbarian_leader"
2412 graphic_alt   = "u.diplomat"
2413 sound_move    = "m_barbarian_leader"
2414 sound_move_alt = "m_generic"
2415 sound_fight   = "f_barbarian_leader"
2416 sound_fight_alt = "f_generic"
2417 build_cost    = 40
2418 pop_cost      = 0
2419 attack        = 0
2420 defense       = 0
2421 hitpoints     = 10
2422 firepower     = 1
2423 move_rate     = 2
2424 vision_radius_sq = 2
2425 transport_cap = 0
2426 fuel          = 0
2427 uk_happy      = 0
2428 uk_shield     = 0
2429 uk_food       = 0
2430 uk_gold       = 0
2431 flags         = "IgZOC", "NonMil", "HasNoZOC", "Unbribable",
2432                 "EvacuateFirst", "SuperSpy", "NoHome", "NoBuild"
2433 ; No veteran levels (level name is never displayed)
2434 veteran_names = _("green")
2435 veteran_raise_chance = 0
2436 veteran_work_raise_chance = 0
2437 veteran_power_fact = 100
2438 veteran_move_bonus = 0
2439 roles         = "BarbarianLeader"
2440 helptext      = _("\
2441 One Barbarian Leader appears every time there is a barbarian uprising\
2442  somewhere in the world.\
2443 "), _("\
2444 When a Barbarian Leader is killed on a tile without any defending units,\
2445  the 100 gold ransom is paid, but only to land units and helicopters.\
2448 [unit_awacs]
2449 name          = _("AWACS")
2450 class         = "Air"
2451 tech_req      = "Advanced Flight"
2452 obsolete_by   = "None"
2453 graphic       = "u.awacs"
2454 graphic_alt   = "u.bomber"  ; backwards compatibility
2455 sound_move    = "m_awacs"
2456 sound_move_alt = "m_generic"
2457 sound_fight   = "f_awacs"
2458 sound_fight_alt = "f_generic"
2459 build_cost    = 140
2460 pop_cost      = 0
2461 attack        = 0
2462 defense       = 1
2463 hitpoints     = 20
2464 firepower     = 1
2465 move_rate     = 16
2466 vision_radius_sq = 26
2467 transport_cap = 0
2468 fuel          = 2
2469 uk_happy      = 1
2470 uk_shield     = 1
2471 uk_food       = 0
2472 uk_gold       = 0
2473 flags         = "HasNoZOC"
2474 roles         = ""
2475 helptext      = _("\
2476 The AWACS (Airborne Warning and Control System) is an airplane with an \
2477 advanced radar that can determine the location of enemy units over a \
2478 wide area.\