DELTA 21972 1043 606
SVN  †  †  ,‹ ë ˜ F²@€C jÝV€m NÛ3€ˆ [þ@ ‚¸Hëº ‚î?ƒ£Y Load combat bonus list
****/
static bool lookup_cbonus_list(struct combat_bonus_list *list,
                               const char *sub)
{
  const char *flag;
  int j;
  const char *filename;
  bool success = TRUE;

  filename = secfile_name(file);

  for (j = 0; (flag = secfile_lookup_str_default(file, NULL, "%s.%s%d.flagstruct combat_bonus *bonus = fc_malloc(sizeof(*bonus));
    const char *type;

    bonus->flag = unit_flag_by_rule_name(flag);
    if (bonus->flag == UTYF_LAST) {
      log_error("\"%s\": unknown flag name \"%s\" in '%s.%s'.",
                filename, flag, sec, sub);
      FC_FREE(bonus);
      success = FALSE;
      continue;
    }
    type = secfile_lookup_str(file, "%s.%s%d.type", sec, sub, j);
    bonus->type = combat_bonus_type_by_name(type, fc_strcasecmp);
    if (!combat_bonus_type_is_valid(bonus->type)) {
      log_error("\"%s\": unknown bonus type \"%s\" in '%s.%s'.",
                filename, type, sec, sub);
      FC_FREE(bonus);
      success = FALSE;
      continue;
    }
    if (!secfile_lookup_int(file, &bonus->value, "%s.%s%d.value",
                            sec, sub, j)) {
      log_error("\"%s\": failed to get value from '%s.%s%d'.",
                filename, sec, sub, j);
      FC_FREE(bonus);
      success = FALSE;
      continue;
    }
    combat_bonus_list_append(list, bonus);
  }

  return successlookup_cbonus_list(u->bonuses, file, sec_name, "bonuses");†  „Ç'„×xY€h ƒ€Q €‚q mƒ·~ ÅaƒFties = secfile_lookup_str_vec(file, &dim, "%s.%s",
                                               secfile_str1, secfile_str2);

  /* Each string will be of the form "<cityname> (<label>, <label>, ...)".
   * The cityname is just the name for this city, while each "label" matches
   * a terrain type for the city (or "river"), with a preceeding ! to negate
   * it. The parentheses are optional (but necessary to have the settings,
   * of course). Our job is now to parse it. */
  for (j = 0; j < dim; j++) {
    size_t len = strlen(cities[j]);
    char city_name[len + 1], *p, *next, *end;
    struct nation_city *pncity;

    sz_strlcpy(city_name, cities[j]);

    /* Now we wish to determine values for all of the city labels. A value
     * of NCP_NONE means no preference (which is necessary so that the use
     * of this is optional); NCP_DISLIKE means the label is negated and
     * NCP_LIKE means it's labelled. Mostly the parsing just involves
     * a lot of ugly string handling... */
    if ((p = strchr(city_name, '('))) {
      *p++ = '\0';

      if (!(end = strchr(p, ')'))) {
        ruleset_error(LOG_ERROR, "\"%s\" [%s] %s: city name \"%s\" "
                      "unmatched parenthesis.", secfile_name(file),
                      secfile_str1, secfile_str2, cities[j]);
      }

      for (*end++ = '\0'; '\0' != *end; end++) {
        if (!fc_isspace(*end)) {
          ruleset_error(LOG_ERROR, "\"%s\" [%s] %s: city name \"%s\" "
                        "contains characthers after last parenthesis, "
                        "ignoring...", secfile_name(file), secfile_str1,
                        secfile_str2, cities[j]);
        }
      }
    }

    /* Build the nation_city. */
    remove_leading_trailing_spaces(city_name);
    if (che
    combat_bonus_list_iterate(u->bonuses, pbonus) {
      struct packet_ruleset_unit_bonus bonuspacket;

      bonuspacket.unit  = packet.id;
      bonuspacket.flag  = pbonus->flag;
      bonuspacket.type  = pbonus->type;
      bonuspacket.value = pbonus->value;

      lsend_packet_ruleset_unit_bonus(dest, &bonuspacket);
    } combat_bonus_list_iterate_end;
  } unitENDREP
DELTA 21796 17233 1569
SVN  ƒíƒðC5…$ ‡ €, ¹+ˆn€‚ †Â€ …È ”Íg ý9â8€X Y‚Ú3 Œ4‚àR, "AirUnit"
; Airbase   - can build airbases. See airbase definition in terrain.ruleset
; Transform - can transform terrain.
; AirUnit   - very bad at attacking AEGIS unitsbonuses       = definitions of combat bonuses against specific other units
; bonuses.flag  = flag of the unit that bonus applies against
; bonuses.type  = type of the bonus. See below
; bonuses.value = value of the bonus. Sum of these is used if multiple apply.
; ** Bonuses **
;
; "DefenseMultiplier" = Add defense value 'value' times. Value of 1 means multiplication
;                       by 2, value 2 by 3...
;bonuses       =
   { "flag", "type", "value"
     "AirUnit", "DefenseMultiplier", 4
   }ENDREP
DELTA 21517 45224 586
SVN  ÃZÉ	!… ‰w €I ‰q ·c‹w G €@ Jä €ƒnt defense_multiplier = 1 + combat_bonus_against(def_type->bonuses, att_type,
                                                      CBONUS_DEFENSE_MULTIPLIER);

    defensepower *= defense_multiplier;

****
  Get bonus value against given unit type from bonus list.
/
int combat_bonus_against(const struct combat_bonus_list *list,
                         const struct unit_type *enemy,
                         enum combat_bonus_type type)
{
  int value = 0;

  combat_bonus_list_iterate(list, pbonus) {
    if (pbonus->type == type && utype_has_flag(enemy, pbonus->flag)) {
      value += pbonus->value;
    }
  } combat_bonus_list_iterate_end;

  return value;
}
ENDREP
DELTA 21972 3664 882
SVN  ƒ4ƒƒ%‚ª Ç
*€n ¸Ç2€k ‚ÿ#/*

Max used id:
============

Max id: 228type UTYF               = uint8(enum unit_type_flag_id)
type CBONUS_TYPE        = uint8(enum combat_bonus_typeUNIT_BONUS = 228; sc, lsend
  UNIT_TYPE   unit;
  UTYF        flag;
  CBONUS_TYPE type;
  UINT8       valueENDREP
DELTA 21948 937 13072
SVN  †  †žXh ƒËo  †hƒÌr ‚ËƒÔg€hext && user_text[0] != '\0') {
    CATLSTR(buf, bufsz, "\n");
    CATLSTR(buf, bufsz, user_text);
  }
}
ENDREP
DELTA 18858 77832 356
SVN  ˜™<* —D €* N—?int combat_bonus_against(const struct combat_bonus_list *list,
                         const struct unit_type *enemy,
                         enum combat_bonus_type typENDREP
DELTA 21460 187272 68865
SVN  „™p„Lƒþh€‚w E‚€‡L GŠ9€7 IŒ?€…k L¼z€… U˜u€„ _rª Ož}€ƒh Y£=€Z ]¤r€” Cº>€q L¼z€‡g KÅ>€Ž< HÑ?µ HÒ>€ƒn F×@€Œ6 Kä€†j Fì{€Ž^ F×@€•D H“8€ú H‚™<€–8 F‚±=€  D‚Ó<€Ç Rƒ8€  Cƒ¿>€•< GƒÐy€šB Gƒè>€• Fƒý|€Š E„‰ €_; Modifying this file:
; You should not modify this file except to make bugfixes or
; for other "maintenance".  If you want to make custom changes,
; you should create a new datadir subdirectory and copy this file
; into that directory, and then modify that copy.  Then use the
; command "rulesetdir <mysubdir>" in the server to have freeciv
; use your new customized file.
;
; available role unit of a given sort will be picked by choosing
; the first available (not obsolete) such unit, or by picking the last
; such unit directly. When determining starting units, the first 
; unit with the relevant role that the player can build will be chosen.
; If no such unit can be found (eg Explorers that require Seafaring),
; then the first unit with this role will be chosen.

[datafile]
description="Civ2Civ3 unit_type data for Freeciv"
options="+Freeciv-ruleset-Devel-2012.Feb.28"

[flags]
; Names for custom unit type flags.
names = "Airbase", "Transform", "AirUnit"
; Airbase   - can build airbases. See airbase definition in terrain.ruleset
; Transform - can transform terrain.
; AirUnit   - very bad at attacking AEGIS units

[veteran_system]
; What are the names of the levels?
veteran_names = _("green"), _("veteran"), _("hardened"), _("elite")

; The percentage chance of increasing level through combat
veteran_raise_chance = 50, 33, 20, 0

; performing useful work (per turn)
veteran_work_raise_chance = 5, 3, 1, 0

; Power factors are as a percentage.
; +50% is represented by 150
veteran_power_fact = 100, 150, 175, 200

; levels.  These are thirds of points, so to increase movement
; by a whole point 3 must be specified.
veteran_move_bonus = 0, 0, 0, 0

; /* <-- avoid gettext warnings
;
; Unit classes
; The number can be variable, up to 32
; When adding new classes, remember to check effects.ruleset also.
; Eg. if you divide class 'Land' to two separate classes, you may
; want add effect giving City Walls defence bonus against new class
; too.
;
; The actual tag used (the * in [unitclass_*]) does not matter, except 
; it must be unique within this file, and it may be used in debug 
; output when reading this file.
;
; ** Fields **
;
; name          = translatable name as seen by user
; rule_name     = (optional) name for savegames, rulesets etc; if not
;                 must not change, use this when renaming a unit class after a
;                 ruleset has been released.
; move_type     = Where unit moves; "Land", "Sea", or "Both".
;                 This is optional field. If it's not
;                 given, move type is automatically determined from native
;                 terrains. You need to set it only if you want to set move
;                 type "Both" for unit that has no native Land terrains or
;                 for unit that has no native Oceanic terrains.
; min_speed     = Minimum speed after damage and effects
; hp_loss_pct   = Hitpoints lost each turn if unit not in city or airbase
;                 "Frighten"
; flags         = List of unit class flags
;
; ** Unit class Flags **
;
; "TerrainSpeed"   = Units use terrain specific speed
; "TerrainDefense" = Units gain defense bonus from terrain
; "DamageSlows"   = Damages units are slowed down
; "CanOccupyCity" = Military units of this class can occupy enemy cities
; "Missile"       = Unit is destroyed when it attacks
; "RiverNative"   = River tiles are always considered native terrain
; "BuildAnywhere" = Unit can be built even in the middle of non-native terrain
;                   or on city or airbase
; "ZOC"           = Unit is subject to ZOC rules. Unit type flag "IgZOC" can
;                   override this
; "CanFortify"    = Unit can fortify at land tiles
; "CanPillage"    = Unit can pillage tile infrastructure
; "DoesntOccupyTile"  = Even if this kind of enemy unit is on tile, cities can
;                       still work that tile
; "AttackNonNative"   = Unit can attack units on non-native tiles. Unit type flag
;                       "Only_Native_Attack" can override this
;                       This applies for both attacking from transport or cities. If only
;                       "Marines"
;
; */ <-- avoid gettext warnings

[unitclass_missile]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Missile")
min_speed     = 0
hp_loss_pct   = 0
hut_behavior  = "Frighten"
flags         = "Missile", "Unreachable", "DoesntOccupyTile"

[unitclass_land]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Land")
min_speed     = 1
hp_loss_pct   = 0
flags         = "TerrainSpeed", "DamageSlows", "CanOccupyCity", "BuildAnywhere",
                "CollectRansom", "ZOC", "CanFortify", "CanPillage",
                "TerrainDefense"

[unitclass_land_small]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Small Land")
min_speed     = 1
hp_loss_pct   = 0
flags         = "TerrainSpeed", "DamageSlows", "BuildAnywhere", "CollectRansom",
                "ZOC", "TerrainDefense", "DoesntOccupyTile"

[unitclass_land_big]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Big Land")
min_speed     = 1
hp_loss_pct   = 0
flags         = "TerrainSpeed", "DamageSlows", "BuildAnywhere", "CollectRansom",
                "ZOC", "CanFortify", "TerrainDefense"

[unitclass_merchant]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Merchant")
min_speed     = 1
hp_loss_pct   = 0
flags         = "BuildAnywhere", "DoesntOccupyTile",
                "TerrainDefense", "RiverNative"

[unitclass_sea]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Sea")
min_speed     = 2
hp_loss_pct   = 0
flags         = "DamageSlows", "AttackNonNative", "AttFromNonNative"

[unitclass_trireme]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Trireme")
min_speed     = 2
hp_loss_pct   = 0
flags         = "DamageSlows", "AttFromNonNative"

[unitclass_heli]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Helicopter")
min_speed     = 1
hp_loss_pct   = 10
flags         = "CanOccupyCity", "CollectRansom"

[unitclass_air]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Air")
min_speed     = 1
hp_loss_pct   = 0
hut_behavior  = "Frighten"
flags         = "Unreachable", "DoesntOccupyTile"

; /* <-- avoid gettext warnings
;
; Below: The individual units, one per section.
;
; The number can be variable, up to 200.  
; However for the "official" rulesets, units should not be removed 
; because that would break backward compatability with savegames.
;
; The order here matters: later units are considered "better" for
; a given flag or role.  
;
; it must be unique within this file, and it may be used in debug 
; output when reading this file.
;
; ** Fields **
;
; name          = translatable name as seen by user
; rule_name     = (optional) name for savegames, rulesets etc; if not
;                 must not change, use this when renaming a unit after a
;                 ruleset has been released.
; graphic       = tag specifing preferred graphic
; graphic_alt	= tag for alternate garphic if preferred graphic is not 
;		  present; especially if preferred graphic is non-standard, 
;		  this should be a standard tag.  Otherwise can use eg "-" 
;		  for no alternate graphic.
; tech_req      = required advance, names from techs.ruleset, or special:
;                 "None" => available from start
; impr_req	= required city improvement, names from buildings.ruleset
; gov_req       = required government, names from governments.ruleset
; obsolete_by   = can be upgraded to and made obsolete by another unit by name
; convert_to    = can be converted to another type of unit by name
; convert_time  = time it takes to convert to another unit type
; class         = One of the classes listed above
; transport_cap = Number of units (ground, or air/missiles, depending on flags)
;                 barbarians this is used as lifetime instead. If this is zero,
;                 the unit has unlimited fuel, despite flying.
; uk_*          = upkeep costs, these are used as base values in the game
; cargo         = Unit classes this unit can transport
; city_size     = Initial size of the cities Settlers type unit builds
; targets       = list of unit classes this unit can attack against even
;                 if they have Unreachable unit class flag
; bonuses       = definitions of combat bonuses against specific other units
; bonuses.flag  = flag of the unit that bonus applies against
; bonuses.type  = type of the bonus. See below
; bonuses.value = value of the bonus. Sum of these is used if multiple apply.
; flags         = special flag strings
;
; veteran_names = Special veteran level for this unit. See the definitions in
;                 game.ruleset. All of the veteran_* entries have to have the
;                 same length!
; veteran_raise_chance =
; veteran_work_raise_chance =
; veteran_power_fact =
; veteran_move_bonus =
;
; roles         = special role strings
; sound_move	= optional sound effect when the unit moves
; sound_move_alt= optional alternative sound effect if above not
;		  supported in client
; sound_fight	= optional sound effect when the unit fights
; sound_fight_alt= optional alternative sound effect if above not
;		   supported in client
; helptext	= optional help text string; should escape all raw newlines 
;		  so that xgettext parsing works
;
;
; ** Bonuses **
;
; "DefenseMultiplier" = Add defense value 'value' times. Value of 1 means multiplication
;                       by 2, value 2 by 3...
;
;
; ** Flags **
;
; "HelpWonder"	= can help build wonders
; "TradeRoute"	= can establish trade routes
; "IgZOC"	= ignore Zones of Control (ZOC) even if unit class has "ZOC" flag
;                 peaceful borders; DoesntOccupyTile
; "OneAttack"	= can only make a single attack, regardless of movement points
; "Pikemen"	= double defence power against "Horse" flag units
; "Horse"	= (no effect)
; "IgWall"	= ignore effect of city walls
; "FieldUnit"	= cause unhappiness even when not being aggressive
; "Marines"	= can attack from non-native tile (from transport or city)
; "Partial_Invis" = visible only to adjancent units; does not hide transported
;		  units other than missiles
; "Settlers"	= can irrigate and build roads
; "Spy"		= can do poison and sabotage, _must_ be "Diplomat" also
; "Trireme"	= (sea only) cannot leave shoreline
; "Nuclear"	= nuke!
; "Paratroopers"= (land only) can paradrop
; "Cities"	= can disband to produce a city
; "Only_Native_Attack" = cannot attack targets on non-native tiles even if unit class can
; "AddToCity"	= can disband to add a single point of population to a city
;		  (see cities.ruleset for limitation of this ability)
; "Fanatic"	= can only be built by governments that allow them
;		  (see data/civ2/governments.ruleset, Fanaticism government)
; "Unique"	= a player can only have one of these units in the game at
;		  the same time; barbarians cannot use this at present
; "GameLoss"	= losing one of these units means you lose the game, but it
;		  is produced without homecity and upkeep
; "Unbribable"	= this unit cannot be bribed
; "Undisbandable" = this unit cannot be disbanded, will not drown, and will not
;		  disband due to lack of shields to upkeep it in homecity;
;		  if not given enough food to upkeep it, homecity will shrink 
;		  every turn it cannot do so, however
; "SuperSpy"	= this unit always wins diplomatic contests, that is, unless
;		  it encounters another SuperSpy, in which case defender wins;
;		  can also be used on non-diplomat units, in which case it can
;		  protect cities from diplomats; also 100% spy survival chance
; "NoHome"	= this unit has no homecity and will be free of all upkeep, and
;		  therefore will not revolt along with its city of origin should
;		  it be incited
; "NoVeteran"   = this unit cannot become veteran
;                 also is not harmed by return fire when attacking; the field
;                 bombard_rate regulates its number of shots
; "CityBuster"  = this unit has double firepower against cities
; "NoBuild"     = this unit cannot be built
; "BadWallAttacker"	= the firepower of this unit is set to 1 if
;                 attacking a city
;		  defended by a city wall (or other city building defense)
; "BadCityDefender"	= if attacked while in a city, firepower is set to 1
;		  and firepower of attacker is doubled (the Pearl Harbour
;                 rule)
; "Helicopter"  = defends very badly against "Fighter" units
; "Fighter"     = good attacker against "Helicopter" units
; "BarbarianOnly" = only barbarians can build this unit
; "Shield2Gold" = Switch from shield upkeep to gold upkeep possible
; "Capturable"  = can be captured by units with "Capturer" flag
;                 fighting them
;
; Following flag strings require extra fields:
;  "Paratroopers"
;   paratroopers_range = the maximal range the unit can be paradropped to
;   paratroopers_mr_req = the move rate which is required at least for
;                         paradropping
;   paratroopers_mr_sub = the move rate which is subtracted after paradropping
;  "Bombarder"
;   bombard_rate = the number of shots fired at enemy units when attacking
;
; ** Roles **
;
; "FirstBuild"	= first to be built when city founded
; "Explorer"	= initial explorer unit (only one unit can have this flag)
; "Hut"		= can be found in a hut
; "HutTech"	= can be found in a hut, but its techs required
; "Partisan"	= can be created as a partisan (only one unit can have this 
;                 flag), see end of this file for its tech requirements option
; "DefendOk"	= AI hint: ok for defending with
; "DefendGood"	= AI hint: good for defending with
; "AttackFast"	= AI hint: quick attacking unit (unused)
; "AttackStrong"= AI hint: strong attacker (unused)
; "Ferryboat"	= AI hint: useful for ferrying
; "Barbarian"	= can be created as barbarian
; "BarbarianTech" = can be created as barbarian, if someone has
;		    researched its tech requirements
; "BarbarianBoat" = can be created as barbarian
; "BarbarianBuild" = can be built by barbarians
; "BarbarianBuildTech" = can be built by barbarians if someone has
;		         researched its tech requirements
; "BarbarianLeader" = this unit is the barbarian leader (only one)
; "BarbarianSea" = can be created as a sea barbarian
; "BarbarianSeaTech" = can be created as a sea barbarian if someone
;		       has researched its tech requirements
; "Cities"	= can disband to produce a city
; "Settlers"	= can irrigate and build roads
; "GameLoss"	= losing one of these units means you lose the game, but it
;		  is produced without homecity and upkeep
; "Hunter"      = AI hint: good for hunting other units
;
; */ <-- avoid gettext warnings

[unit_settlers]
name          = _("Settlers")
class         = "Small Land"
tech_req      = "None"
obsolete_by   = "None"
graphic       = "u.settlers"
graphic_alt   = "-"
sound_move    = "m_settlers"
sound_move_alt = "m_generic"
sound_fight   = "f_settlers"
sound_fight_alt = "f_generic"
build_cost    = 30
pop_cost      = 2
attack        = 0
defense       = 1
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 1
uk_food       = 0
uk_gold       = 1
flags         = "Settlers", "NonMil", "AddToCity", "Cities", "NoVeteran"
roles         = "Cities"
helptext      = _("\
Settlers are one of the key units in the game. As well as building new\
 cities, they can also improve terrain, for instance by building\
 irrigation, mines, and roads. See the Terrain Alterations section of\
 the help for more details. \
 Settlers reduce the population of the city by 2 when they are built.\
")

[unit_migrants]
name          = _("Migrants")
class         = "Small Land"
tech_req      = "Pottery"
obsolete_by   = "None"
graphic       = "u.refugee"
graphic_alt   = "u.worker"
sound_move    = "m_worker"
sound_move_alt = "m_generic"
sound_fight   = "f_worker"
sound_fight_alt = "f_generic"
build_cost    = 10
pop_cost      = 1
attack        = 0
defense       = 1
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 1
uk_food       = 0
uk_gold       = 1
flags         = "Settlers", "NonMil", "AddToCity", "NoVeteran", "Capturable"
roles         = "Settlers"
helptext      = _("\
Migrants are like Workers in that they can improve terrain.\
 However, Migrants reduce the population by 1 when they are\
 built, and can be used to migrate population to other cities.\
")

[unit_worker]
name          = _("?unit:Workers")
class         = "Small Land"
tech_req      = "None"
obsolete_by   = "Engineers"
graphic       = "u.worker"
graphic_alt   = "u.engineers" ; for compatibility
sound_move    = "m_worker"
sound_move_alt = "m_generic"
sound_fight   = "f_worker"
sound_fight_alt = "f_generic"
build_cost    = 20
pop_cost      = 0
attack        = 0
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 1
uk_food       = 0
uk_gold       = 1
flags         = "Settlers", "NonMil", "Airbase", "NoVeteran"
roles         = "Settlers"
helptext      = _("\
Workers are similar to Settlers in that they can improve terrain --\
 see the Terrain Alterations section of the help for more details of\
")

[unit_engineers]
name          = _("Engineers")
class         = "Small Land"
tech_req      = "Explosives"
obsolete_by   = "None"
graphic       = "u.engineers"
graphic_alt   = "-"
sound_move    = "m_engineers"
sound_move_alt = "m_generic"
sound_fight   = "f_engineers"
sound_fight_alt = "f_generic"
build_cost    = 30
pop_cost      = 0
attack        = 0
defense       = 2
hitpoints     = 20
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 1
uk_food       = 0
uk_gold       = 1
flags         = "Settlers", "NonMil", "Airbase", "Transform"
roles         = "Settlers"
helptext      = _("\
Engineers are similar to Workers, but they work twice as fast,\
 move twice as fast, and they may increase his veteran level\
 by performing useful work.\
")

[unit_warriors]
name          = _("Warriors")
class         = "Land"
tech_req      = "None"
obsolete_by   = "Pikemen"
graphic       = "u.warriors"
graphic_alt   = "-"
sound_move    = "m_warriors"
sound_move_alt = "m_generic"
sound_fight   = "f_warriors"
sound_fight_alt = "f_generic"
build_cost    = 10
pop_cost      = 0
attack        = 1
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Capturer"
roles         = "DefendOk", "FirstBuild"
helptext      = _("\
This unit may be built from the start of the game.  It is the\
 weakest offensive unit.\
")

[unit_phalanx]
name          = _("Phalanx")
class         = "Land"
tech_req      = "Bronze Working"
obsolete_by   = "Pikemen"
graphic       = "u.phalanx"
graphic_alt   = "-"
sound_move    = "m_phalanx"
sound_move_alt = "m_generic"
sound_fight   = "f_phalanx"
sound_fight_alt = "f_generic"
build_cost    = 20
pop_cost      = 0
attack        = 1
defense       = 2
hitpoints     = 10
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Capturer"
roles         = "DefendGood", "FirstBuild"
helptext      = _("\
The Phalanx is armored infantry, suitable for defending your cities.\
")

[unit_archers]
name          = _("Archers")
class         = "Land"
tech_req      = "Warrior Code"
obsolete_by   = "Musketeers"
graphic       = "u.archers"
graphic_alt   = "-"
sound_move    = "m_archers"
sound_move_alt = "m_generic"
sound_fight   = "f_archers"
sound_fight_alt = "f_generic"
build_cost    = 30
pop_cost      = 0
attack        = 3
defense       = 2
hitpoints     = 10
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "IgZOC", "Capturer"
roles         = "DefendOk", "Hut", "BarbarianBuild", "BarbarianSea"
helptext      = _("\
Archers fight with bows and arrows and have a good offensive\
 value as well as decent defense.\
")

[unit_legion]
name          = _("Swordsmen")
rule_name     = _("Legion")
class         = "Land"
tech_req      = "Iron Working"
obsolete_by   = "Musketeers"
graphic       = "u.legion"
graphic_alt   = "-"
sound_move    = "m_legion"
sound_move_alt = "m_generic"
sound_fight   = "f_legion"
sound_fight_alt = "f_generic"
build_cost    = 40
pop_cost      = 0
attack        = 4
defense       = 2
hitpoints     = 10
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Marines", "Capturer"
roles         = "DefendOk"
helptext      = _("\
Swordsmen are heavily armed and well disciplined infantry\
 units with an excellent offensive value.\
")

[unit_pikemen]
name          = _("Pikemen")
class         = "Land"
tech_req      = "Feudalism"
obsolete_by   = "Musketeers"
graphic       = "u.pikemen"
graphic_alt   = "-"
sound_move    = "m_pikemen"
sound_move_alt = "m_generic"
sound_fight   = "f_pikemen"
sound_fight_alt = "f_generic"
build_cost    = 30
pop_cost      = 0
attack        = 1
defense       = 3
hitpoints     = 10
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Capturer"
roles         = "DefendGood", "FirstBuild"
helptext      = _("\
Equipped with long pikes, Pikemen replaces Phalanx\
 as the preferred city defender.\
")

[unit_musketeers]
name          = _("Musketeers")
class         = "Land"
tech_req      = "Gunpowder"
obsolete_by   = "Riflemen"
graphic       = "u.musketeers"
graphic_alt   = "-"
sound_move    = "m_musketeers"
sound_move_alt = "m_generic"
sound_fight   = "f_musketeers"
sound_fight_alt = "f_generic"
build_cost    = 40
pop_cost      = 0
attack        = 3
defense       = 3
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Marines", "Capturer"
roles         = "DefendGood", "FirstBuild", "HutTech",
                "BarbarianTech", "BarbarianBuildTech", "BarbarianSeaTech"
helptext      = _("\
Musketeers are infantry equipped with early\
 firearms and replace Pikemen as the preferred\
 city defender.\
")

[unit_riflemen]
name          = _("Riflemen")
class         = "Land"
tech_req      = "Conscription"
obsolete_by   = "None"
graphic       = "u.riflemen"
graphic_alt   = "-"
sound_move    = "m_riflemen"
sound_move_alt = "m_generic"
sound_fight   = "f_riflemen"
sound_fight_alt = "f_generic"
build_cost    = 50
pop_cost      = 0
attack        = 5
defense       = 4
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Marines", "Capturer"
roles         = "DefendGood", "FirstBuild"
helptext      = _("\
Riflemen are World War-era infantry, very good\
 at defending your cities.\
")

[unit_alpine_troops]
name          = _("Alpine Troops")
class         = "Land"
tech_req      = "Tactics"
obsolete_by   = "None"
graphic       = "u.alpine_troops"
graphic_alt   = "-"
sound_move    = "m_alpine_troops"
sound_move_alt = "m_generic"
sound_fight   = "f_alpine_troops"
sound_fight_alt = "f_generic"
build_cost    = 60
pop_cost      = 0
attack        = 7
defense       = 4
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "IgTer", "Capturer"
roles         = "DefendOk"
helptext      = _("\
Alpine Troops are highly mobile units as well as\
 excellent defenders.\
")

[unit_partisan]
name          = _("Partisan")
class         = "Land"
tech_req      = "Guerilla Warfare"
obsolete_by   = "None"
graphic       = "u.partisan"
graphic_alt   = "-"
sound_move    = "m_partisan"
sound_move_alt = "m_generic"
sound_fight   = "f_partisan"
sound_fight_alt = "f_generic"
build_cost    = 60
pop_cost      = 0
attack        = 4
defense       = 5
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "IgTer", "IgZOC", "Capturer"
roles         = "DefendGood", "Partisan", "BarbarianTech"
helptext      = _("\
Partisans are guerilla fighters who are experts\
 at using the terrain to their advantage.\
"), _("\
A number of Partisans are granted free when an enemy conquers your\
 city -- they automatically assume defensive positions in the\
 surrounding countryside -- but only under these conditions:\n\
 - Guerilla Warfare must be known by at least one player.\n\
 - You must be the player who originally built the city.\n\
 - You must know about Communism and Gunpowder.\n\
 - You must run either a Democracy or a Communist government.\
")

[unit_fanatics]
name          = _("Fanatics")
class         = "Land"
tech_req      = "Guerilla Warfare"
gov_req       = "Fundamentalism"
obsolete_by   = "None"
graphic       = "u.fanatics"
graphic_alt   = "-"
sound_move    = "m_fanatics"
sound_move_alt = "m_generic"
sound_fight   = "f_fanatics"
sound_fight_alt = "f_generic"
build_cost    = 20
pop_cost      = 1
attack        = 5
defense       = 5
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Fanatic", "AddToCity", "Capturer"
roles         = "DefendGood"
helptext      = _("\
Fanatics are warriors extremely devoted to a higher cause.\
"), _("\
Fundamentalist nations can maintain Fanatic units without\
 having to pay any upkeep nor causing military unhappiness. \
 Instead, each unit reduces the population by 1.\
")

[unit_marines]
name          = _("Marines")
class         = "Land"
tech_req      = "Amphibious Warfare"
obsolete_by   = "None"
graphic       = "u.marines"
graphic_alt   = "-"
sound_move    = "m_marines"
sound_move_alt = "m_generic"
sound_fight   = "f_marines"
sound_fight_alt = "f_generic"
build_cost    = 60
pop_cost      = 0
attack        = 8
defense       = 5
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Marines", "Capturer"
roles         = "DefendGood", "FirstBuild", "BarbarianSeaTech"
helptext      = _("\
Marines are infantry who are experts at marine warfare.\
")

[unit_paratroopers]
name          = _("Paratroopers")
class         = "Land"
tech_req      = "Combined Arms"
obsolete_by   = "None"
graphic       = "u.paratroopers"
graphic_alt   = "-"
sound_move    = "m_paratroopers"
sound_move_alt = "m_generic"
sound_fight   = "f_paratroopers"
sound_fight_alt = "f_generic"
build_cost    = 60
pop_cost      = 0
attack        = 6
defense       = 4
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Paratroopers", "Capturer"
roles         = "DefendOk"
helptext      = _("\
Paratroopers are experts at airborne attacks.\
")

paratroopers_range = 10
paratroopers_mr_req = 1
paratroopers_mr_sub = 0

[unit_mech_inf]
name          = _("Mech. Inf.")
class         = "Big Land"
tech_req      = "Labor Union"
obsolete_by   = "None"
graphic       = "u.mech_inf"
graphic_alt   = "-"
sound_move    = "m_mech_inf"
sound_move_alt = "m_generic"
sound_fight   = "f_mech_inf"
sound_fight_alt = "f_generic"
build_cost    = 70
pop_cost      = 0
attack        = 6
defense       = 6
hitpoints     = 30
firepower     = 1
move_rate     = 3
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = ""
roles         = "DefendGood", "FirstBuild"
helptext      = _("\
The Mechanized Infantry has the strongest defensive strength\
 of any land unit, but is only available near the end of the\
 technology tree.\
")

[unit_horsemen]
name          = _("Horsemen")
class         = "Land"
tech_req      = "Horseback Riding"
obsolete_by   = "Knights"
graphic       = "u.horsemen"
graphic_alt   = "-"
sound_move    = "m_horsemen"
sound_move_alt = "m_generic"
sound_fight   = "f_horsemen"
sound_fight_alt = "f_generic"
build_cost    = 20
pop_cost      = 0
attack        = 2
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Horse", "Capturer"
roles         = "AttackFast", "Hut", "Barbarian", "Hunter"
helptext      = _("\
Horsemen are mounted warriors and an early\
 shock-troop that can penetrate deep into\
 enemy territory.\
")

[unit_chariot]
name          = _("Chariot")
class         = "Big Land"
tech_req      = "The Wheel"
obsolete_by   = "Knights"
graphic       = "u.chariot"
graphic_alt   = "-"
sound_move    = "m_chariot"
sound_move_alt = "m_generic"
sound_fight   = "f_chariot"
sound_fight_alt = "f_generic"
build_cost    = 30
pop_cost      = 0
attack        = 3
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Horse", "Capturer"
roles         = "AttackFast", "Hut", "Hunter"
helptext      = _("\
Chariots are horse-pulled war wagons, stronger\
 but more expensive than horsemen.\
")

[unit_elephants]
name          = _("Elephants")
class         = "Land"
tech_req      = "Polytheism"
obsolete_by   = "Knights"
graphic       = "u.elephants"
graphic_alt   = "u.chariot"
sound_move    = "m_elephants"
sound_move_alt = "m_generic"
sound_fight   = "f_elephants"
sound_fight_alt = "f_generic"
build_cost    = 30
pop_cost      = 0
attack        = 2
defense       = 2
hitpoints     = 10
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Horse", "Capturer"
roles         = "AttackFast"
helptext      = _("\
Elephants are towering animals trained for war that are often used as\
 powerful shock troops.\
")

[unit_crusaders]
name          = _("Crusaders")
class         = "Land"
tech_req      = "Monotheism"
obsolete_by   = "Dragoons"
graphic       = "u.crusaders"
graphic_alt   = "u.knights"
sound_move    = "m_crusaders"
sound_move_alt = "m_generic"
sound_fight   = "f_crusaders"
sound_fight_alt = "f_generic"
build_cost    = 40
pop_cost      = 0
attack        = 5
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Horse", "Capturer"
roles         = "AttackFast"
helptext      = _("\
Crusaders are highly disciplined mounted\
 warriors driven by a higher cause.\
")

[unit_knights]
name          = _("Knights")
class         = "Land"
tech_req      = "Chivalry"
obsolete_by   = "Dragoons"
graphic       = "u.knights"
graphic_alt   = "-"
sound_move    = "m_knights"
sound_move_alt = "m_generic"
sound_fight   = "f_knights"
sound_fight_alt = "f_generic"
build_cost    = 40
pop_cost      = 0
attack        = 4
defense       = 2
hitpoints     = 10
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Horse", "Capturer"
roles         = "AttackFast", "HutTech", "BarbarianTech",
                "BarbarianBuildTech", "BarbarianSeaTech", "Hunter"
helptext      = _("\
Knights are mounted and heavily armored warriors.\
")

[unit_dragoons]
name          = _("Dragoons")
class         = "Land"
tech_req      = "Leadership"
obsolete_by   = "Cavalry"
graphic       = "u.dragoons"
graphic_alt   = "-"
sound_move    = "m_dragoons"
sound_move_alt = "m_generic"
sound_fight   = "f_dragoons"
sound_fight_alt = "f_generic"
build_cost    = 50
pop_cost      = 0
attack        = 5
defense       = 2
hitpoints     = 20
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Horse", "Capturer"
                "Hunter"
helptext      = _("\
Dragoons are mounted warriors carrying early firearms.\
")

[unit_cavalry]
name          = _("Cavalry")
class         = "Land"
tech_req      = "Tactics"
obsolete_by   = "Armor"
graphic       = "u.cavalry"
graphic_alt   = "-"
sound_move    = "m_cavalry"
sound_move_alt = "m_generic"
sound_fight   = "f_cavalry"
sound_fight_alt = "f_generic"
build_cost    = 60
pop_cost      = 0
attack        = 8
defense       = 3
hitpoints     = 20
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Capturer"
roles         = "AttackFast", "Hunter"
helptext      = _("\
Cavalry are mounted and highly trained soldiers.\
")

[unit_armor]
name          = _("Armor")
class         = "Big Land"
tech_req      = "Mobile Warfare"
obsolete_by   = "None"
graphic       = "u.armor"
graphic_alt   = "-"
sound_move    = "m_armor"
sound_move_alt = "m_generic"
sound_fight   = "f_armor"
sound_fight_alt = "f_generic"
build_cost    = 80
pop_cost      = 0
attack        = 10
defense       = 5
hitpoints     = 30
firepower     = 1
move_rate     = 3
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = ""
roles         = "DefendOk", "AttackFast", "Hunter"
helptext      = _("\
Armors are motorized war wagons that are faster,\
 stronger, and can take more damage than any\
 mounted unit.\
")

[unit_catapult]
name          = _("Catapult")
class         = "Big Land"
tech_req      = "Mathematics"
obsolete_by   = "Cannon"
graphic       = "u.catapult"
graphic_alt   = "-"
sound_move    = "m_catapult"
sound_move_alt = "m_generic"
sound_fight   = "f_catapult"
sound_fight_alt = "f_generic"
build_cost    = 40
pop_cost      = 0
attack        = 6
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = ""
roles         = "AttackStrong"
helptext      = _("\
Catapults are large rock-throwing machines of war.\
 They are very strong attackers but equally weak\
 defenders and will need an escort to be effective.\
")

[unit_cannon]
name          = _("Cannon")
class         = "Big Land"
tech_req      = "Metallurgy"
obsolete_by   = "Artillery"
graphic       = "u.cannon"
graphic_alt   = "-"
sound_move    = "m_cannon"
sound_move_alt = "m_generic"
sound_fight   = "f_cannon"
sound_fight_alt = "f_generic"
build_cost    = 50
pop_cost      = 0
attack        = 8
defense       = 1
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = ""
helptext      = _("\
Cannons are large firearms that can fire heavy\
 projectiles over long distances. They are very\
 strong attackers but equally weak defenders and\
 will need an escort to be effective.\
")

[unit_artillery]
name          = _("Artillery")
class         = "Big Land"
tech_req      = "Machine Tools"
obsolete_by   = "Howitzer"
graphic       = "u.artillery"
graphic_alt   = "-"
sound_move    = "m_artillery"
sound_move_alt = "m_generic"
sound_fight   = "f_artillery"
sound_fight_alt = "f_generic"
build_cost    = 60
pop_cost      = 0
attack        = 10
defense       = 2
hitpoints     = 20
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "CityBuster"
roles         = "AttackStrong"
helptext      = _("\
The artillery is an upgraded cannon. It is a very\
 strong attacker but equally weak defender and\
 will need an escort to be effective.\
")

[unit_howitzer]
name          = _("Howitzer")
class         = "Big Land"
tech_req      = "Robotics"
obsolete_by   = "None"
graphic       = "u.howitzer"
graphic_alt   = "-"
sound_move    = "m_howitzer"
sound_move_alt = "m_generic"
sound_fight   = "f_howitzer"
sound_fight_alt = "f_generic"
build_cost    = 70
pop_cost      = 0
attack        = 12
defense       = 2
hitpoints     = 30
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "CityBuster"
roles         = "AttackStrong"
helptext      = _("\
Howitzers are upgraded artillery with improved\
 defensive as well as offensive capabilities.\
")

[unit_fighter]
name          = _("Fighter")
class         = "Air"
tech_req      = "Flight"
obsolete_by   = "Stealth Fighter"
graphic       = "u.fighter"
graphic_alt   = "-"
sound_move    = "m_fighter"
sound_move_alt = "m_generic"
sound_fight   = "f_fighter"
sound_fight_alt = "f_generic"
build_cost    = 60
pop_cost      = 0
attack        = 4
defense       = 4
hitpoints     = 20
firepower     = 1
move_rate     = 10
vision_radius_sq = 8
transport_cap = 0
fuel          = 1
uk_happy      = 0
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
targets       = "Air", "Missile" 
flags         = "Fighter"
roles         = ""
helptext      = _("\
Fighters are your first airborne units. They can\
 move anywhere and attack any unit.\
")

[unit_bomber]
name          = _("Bomber")
class         = "Air"
tech_req      = "Advanced Flight"
obsolete_by   = "Stealth Bomber"
graphic       = "u.bomber"
graphic_alt   = "-"
sound_move    = "m_bomber"
sound_move_alt = "m_generic"
sound_fight   = "f_bomber"
sound_fight_alt = "f_generic"
build_cost    = 100
pop_cost      = 0
attack        = 6
defense       = 1
hitpoints     = 30
firepower     = 1
move_rate     = 8
vision_radius_sq = 8
transport_cap = 0
fuel          = 2
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "FieldUnit", "OneAttack", "Bombarder"
roles         = ""
helptext      = _("\
Bombers are specialized airborne units that may\
 only attack ground targets, not other airborne\
 units.\
")
bombard_rate = 2

[unit_helicopter]
name          = _("Helicopter")
class         = "Helicopter"
tech_req      = "Combined Arms"
obsolete_by   = "None"
graphic       = "u.helicopter"
graphic_alt   = "-"
sound_move    = "m_helicopter"
sound_move_alt = "m_generic"
sound_fight   = "f_helicopter"
sound_fight_alt = "f_generic"
build_cost    = 70
pop_cost      = 0
attack        = 5
defense       = 2
hitpoints     = 30
firepower     = 1
move_rate     = 6
vision_radius_sq = 8
transport_cap = 1
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
cargo         = "Land"
flags         = "OneAttack", "Bombarder"
roles         = ""
helptext      = _("\
The Helicopter can transport one unit of infantry, and it can bombard\
 to enemy units.  Care must be exercised, because Helicopters lose\
 a small amount of health for every turn not spent in a city or airbase\
")
bombard_rate = 1

[unit_stealth_fighter]
name          = _("Stealth Fighter")
class         = "Air"
tech_req      = "Stealth"
obsolete_by   = "None"
graphic       = "u.stealth_fighter"
graphic_alt   = "-"
sound_move    = "m_stealth_fighter"
sound_move_alt = "m_generic"
sound_fight   = "f_stealth_fighter"
sound_fight_alt = "f_generic"
build_cost    = 80
pop_cost      = 0
attack        = 8
defense       = 7
hitpoints     = 20
firepower     = 1
move_rate     = 14
vision_radius_sq = 8
transport_cap = 0
fuel          = 1
uk_happy      = 0
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
targets       = "Air", "Missile"
flags         = "Partial_Invis", "Fighter"
roles         = ""
helptext      = _("\
An improved Fighter, with improved attack and a higher movement\
 radius.\
")

[unit_stealth_bomber]
name          = _("Stealth Bomber")
class         = "Air"
tech_req      = "Stealth"
obsolete_by   = "None"
graphic       = "u.stealth_bomber"
graphic_alt   = "-"
sound_move    = "m_stealth_bomber"
sound_move_alt = "m_generic"
sound_fight   = "f_stealth_bomber"
sound_fight_alt = "f_generic"
build_cost    = 120
pop_cost      = 0
attack        = 9
defense       = 3
hitpoints     = 30
firepower     = 1
move_rate     = 12
vision_radius_sq = 8
transport_cap = 0
fuel          = 2
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "Partial_Invis", "FieldUnit", "OneAttack", "Bombarder"
roles         = ""
helptext      = _("\
An improved Bomber, with improved attack and a higher movement\
 radius.\
")
bombard_rate = 3

[unit_trireme]
name          = _("Trireme")
class         = "Trireme"
tech_req      = "Map Making"
obsolete_by   = "Caravel"
graphic       = "u.trireme"
graphic_alt   = "-"
sound_move    = "m_trireme"
sound_move_alt = "m_generic"
sound_fight   = "f_trireme"
sound_fight_alt = "f_generic"
build_cost    = 40
pop_cost      = 0
attack        = 1
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 3
vision_radius_sq = 2
transport_cap = 2
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
cargo         = "Land", "Small Land", "Merchant"
flags         = "BadCityDefender"
roles         = "Ferryboat"
helptext      = _("\
The Trireme is your first boat unit. It can act\
 as a transport ship and has rudimentary offensive\
 capabilities, but may not enter deep ocean tiles.\
")

[unit_caravel]
name          = _("Caravel")
class         = "Sea"
tech_req      = "Magnetism"
obsolete_by   = "Galleon"
graphic       = "u.caravel"
graphic_alt   = "-"
sound_move    = "m_caravel"
sound_move_alt = "m_generic"
sound_fight   = "f_caravel"
sound_fight_alt = "f_generic"
build_cost    = 50
pop_cost      = 0
attack        = 2
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 3
vision_radius_sq = 2
transport_cap = 3
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
cargo         = "Land", "Small Land", "Merchant"
flags         = "BadCityDefender", "Only_Native_Attack"
roles         = "Ferryboat", "BarbarianBoat"
helptext      = _("\
The Caravel replaces the Trireme and can enter\
 any ocean tile.\
")

[unit_galleon]
name          = _("Galleon")
class         = "Sea"
tech_req      = "Navigation"
obsolete_by   = "Transport"
graphic       = "u.galleon"
graphic_alt   = "-"
sound_move    = "m_galleon"
sound_move_alt = "m_generic"
sound_fight   = "f_galleon"
sound_fight_alt = "f_generic"
build_cost    = 50
pop_cost      = 0
attack        = 0
defense       = 2
hitpoints     = 20
firepower     = 1
move_rate     = 4
vision_radius_sq = 2
transport_cap = 4
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
cargo         = "Land", "Small Land", "Big Land", "Merchant"
flags         = "BadCityDefender"
roles         = "Ferryboat", "BarbarianBoat"
helptext      = _("\
The Galleon is a pure transport ship and cannot\
 attack other ships, though it may still defend\
 itself when attacked.\
")

[unit_frigate]
name          = _("Frigate")
class         = "Sea"
tech_req      = "Navigation"
obsolete_by   = "Ironclad"
graphic       = "u.frigate"
graphic_alt   = "-"
sound_move    = "m_frigate"
sound_move_alt = "m_generic"
sound_fight   = "f_frigate"
sound_fight_alt = "f_generic"
build_cost    = 60
pop_cost      = 0
attack        = 4
defense       = 2
hitpoints     = 20
firepower     = 1
move_rate     = 4
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "BadCityDefender"
roles         = "Hunter"
helptext      = _("\
The Frigate is a strong offensive ship,\
 but it can not transport any unit.\
")

[unit_ironclad]
name          = _("Ironclad")
class         = "Sea"
tech_req      = "Steam Engine"
obsolete_by   = "Destroyer"
graphic       = "u.ironclad"
graphic_alt   = "-"
sound_move    = "m_ironclad"
sound_move_alt = "m_generic"
sound_fight   = "f_ironclad"
sound_fight_alt = "f_generic"
build_cost    = 70
pop_cost      = 0
attack        = 4
defense       = 4
hitpoints     = 20
firepower     = 1
move_rate     = 4
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "BadCityDefender"
roles         = "Hunter"
helptext      = _("\
The Ironclad is an armored ship with same attack,\
 but better defense than the Frigate.\
")

[unit_destroyer]
name          = _("Destroyer")
class         = "Sea"
tech_req      = "Engineering"
obsolete_by   = "None"
graphic       = "u.destroyer"
graphic_alt   = "-"
sound_move    = "m_destroyer"
sound_move_alt = "m_generic"
sound_fight   = "f_destroyer"
sound_fight_alt = "f_generic"
build_cost    = 80
pop_cost      = 0
attack        = 4
defense       = 4
hitpoints     = 30
firepower     = 1
move_rate     = 6
vision_radius_sq = 8
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "BadCityDefender", "Pikemen"
roles         = "Hunter"
helptext      = _("\
An improved Ironclad, with better move rate and vision.\
 Equiped with anti-submarine weapons.\
"), _("\
TIP:  A very fast unit, which is very useful for hunting down enemy\
 Transports and Submarines.\
")

[unit_cruiser]
name          = _("Cruiser")
class         = "Sea"
tech_req      = "Steel"
obsolete_by   = "AEGIS Cruiser"
graphic       = "u.cruiser"
graphic_alt   = "-"
sound_move    = "m_cruiser"
sound_move_alt = "m_generic"
sound_fight   = "f_cruiser"
sound_fight_alt = "f_generic"
build_cost    = 90
pop_cost      = 0
attack        = 6
defense       = 6
hitpoints     = 30
firepower     = 1
move_rate     = 5
vision_radius_sq = 8
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "BadCityDefender"
roles         = "DefendOk"
helptext      = _("\
The Cruiser is a strong offensive boat unit.\
")

[unit_aegis_cruiser]
name          = _("AEGIS Cruiser")
class         = "Sea"
tech_req      = "Rocketry"
obsolete_by   = "None"
graphic       = "u.aegis_cruiser"
graphic_alt   = "-"
sound_move    = "m_aegis_cruiser"
sound_move_alt = "m_generic"
sound_fight   = "f_aegis_cruiser"
sound_fight_alt = "f_generic"
build_cost    = 100
pop_cost      = 0
attack        = 8
defense       = 8
hitpoints     = 30
firepower     = 1
move_rate     = 5
vision_radius_sq = 8
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
bonuses       =
   { "flag", "type", "value"
     "AirUnit", "DefenseMultiplier", 4
   }
flags         = "BadCityDefender"
roles         = "DefendGood"
helptext      = _("\
The AEGIS Cruiser is equipped with an advanced\
 defensive missile system.\
")

[unit_battleship]
name          = _("Battleship")
class         = "Sea"
tech_req      = "Mass Production"
obsolete_by   = "None"
graphic       = "u.battleship"
graphic_alt   = "-"
sound_move    = "m_battleship"
sound_move_alt = "m_generic"
sound_fight   = "f_battleship"
sound_fight_alt = "f_generic"
build_cost    = 160
pop_cost      = 0
attack        = 12
defense       = 12
hitpoints     = 30
firepower     = 1
move_rate     = 4
vision_radius_sq = 8
transport_cap = 0
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
flags         = "BadCityDefender"
roles         = ""
helptext      = _("\
The Battleship is the supreme naval unit with\
 excellent offensive and defensive values.\
")

[unit_submarine]
name          = _("Submarine")
class         = "Sea"
tech_req      = "Combustion"
obsolete_by   = "None"
graphic       = "u.submarine"
graphic_alt   = "-"
sound_move    = "m_submarine"
sound_move_alt = "m_generic"
sound_fight   = "f_submarine"
sound_fight_alt = "f_generic"
build_cost    = 70
pop_cost      = 0
attack        = 12
defense       = 5
hitpoints     = 20
firepower     = 1
move_rate     = 5
vision_radius_sq = 8
transport_cap = 8
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
cargo         = "Missile"
roles         = "Hunter"
helptext      = _("\
Traveling under the surface of the ocean, Submarines have\
 a very high strategic value, but a weak defense if caught\
 off guard.\
")

[unit_carrier]
name          = _("Carrier")
class         = "Sea"
tech_req      = "Advanced Flight"
obsolete_by   = "None"
graphic       = "u.carrier"
graphic_alt   = "-"
sound_move    = "m_carrier"
sound_move_alt = "m_generic"
sound_fight   = "f_carrier"
sound_fight_alt = "f_generic"
build_cost    = 160
pop_cost      = 0
attack        = 0
defense       = 9
hitpoints     = 40
firepower     = 1
move_rate     = 5
vision_radius_sq = 8
transport_cap = 8
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
cargo         = "Air", "Missile", "Helicopter"
flags         = "BadCityDefender"
roles         = ""
helptext      = _("\
The Carrier is a mobile airport.\
"), _("\
TIP:  Guard Carriers with a handful of fast-moving ships and a\
 battleship, as losing a fully-equipped Carrier is VERY\
 painful and expensive.\
")

[unit_transport]
name          = _("Transport")
class         = "Sea"
tech_req      = "Engineering"
obsolete_by   = "None"
graphic       = "u.transport"
graphic_alt   = "-"
sound_move    = "m_transport"
sound_move_alt = "m_generic"
sound_fight   = "f_transport"
sound_fight_alt = "f_generic"
build_cost    = 60
pop_cost      = 0
attack        = 0
defense       = 3
hitpoints     = 30
firepower     = 1
move_rate     = 5
vision_radius_sq = 8
transport_cap = 8
fuel          = 0
uk_happy      = 1
uk_shield     = 1
uk_food       = 1
uk_gold       = 1
cargo         = "Land", "Small Land", "Big Land", "Merchant"
flags         = "BadCityDefender"
roles         = "Ferryboat"
helptext      = _("\
The Transport cannot attack on its own but\
 may defend itself when under attack.\
")

[unit_cruise_missile]
name          = _("Cruise Missile")
class         = "Missile"
tech_req      = "Rocketry"
obsolete_by   = "None"
graphic       = "u.cruise_missile"
graphic_alt   = "-"
sound_move    = "m_cruise_missile"
sound_move_alt = "m_generic"
sound_fight   = "f_cruise_missile"
sound_fight_alt = "f_generic"
build_cost    = 50
pop_cost      = 0
attack        = 18
defense       = 0
hitpoints     = 10
firepower     = 1
move_rate     = 12
vision_radius_sq = 2
transport_cap = 0
fuel          = 1
uk_happy      = 1
uk_shield     = 1
uk_food       = 0
uk_gold       = 1
flags         = "FieldUnit", "OneAttack", "AirUnit", "CityBuster"
roles         = ""
helptext      = _("\
The Cruise Missile is a long-distance missile\
 that can strike deep into enemy territory.\
"), _("\
TIP:  A handful of these can successfully keep the waters around\
 your treasured homeland free of enemy ships.\
")

[unit_nuclear]
name          = _("Nuclear")
class         = "Missile"
tech_req      = "Nuclear Fission"
obsolete_by   = "None"
graphic       = "u.nuclear"
graphic_alt   = "-"
sound_move    = "m_nuclear"
sound_move_alt = "m_generic"
sound_fight   = "f_nuclear"
sound_fight_alt = "f_generic"
build_cost    = 160
pop_cost      = 0
attack        = 99
defense       = 0
hitpoints     = 10
firepower     = 1
move_rate     = 0
vision_radius_sq = 2
transport_cap = 0
fuel          = 1
uk_happy      = 1
uk_shield     = 1
uk_food       = 0
uk_gold       = 1
flags         = "FieldUnit", "OneAttack", "Nuclear", "AirUnit"
roles         = ""
helptext      = _("\
You can start building Nuclear units when you have the required\
 advance, and the Manhattan Project wonder has been built by any\
 player.  You need Advanced Flight or Rocketry to start using them.\
"), _("\
On impact, the blast will destroy any unit in an area 3 tiles wide\
 (3x3 squares for rectangular grids), including friendly units.\
 Any city within the blast area loses half its population, and\
 land tiles within the blast area are subject to nuclear fallout.\
"), _("\
Similar to pollution and global warming, the risk of global nuclear\
 winter increases with fallout. If nuclear winter occurs, terrain\
 across the globe changes into desert, tundra, and ice. Settlers,\
 Workers, and Engineers can clean up nuclear fallout.\
"), _("\
 effective (but expensive!!) way of getting rid of enemy\
 ships.\
"), _("\
TIP 2:  You may be involved in a situation where you've invaded an\
 enemy country en masse, but the enemy cities are too strong.\
 Before using a Nuclear unit, assemble a gang of Settlers, Workers,\
 and/or Engineers next to the city and have them ready to fix\
 the fallout on the same turn it occurs!  This minimizes the\
 chance of nuclear winter.  Eco-friendly nukes!\
")

[unit_diplomat]
name          = _("Diplomat")
class         = "Small Land"
tech_req      = "Alphabet"
obsolete_by   = "Spy"
graphic       = "u.diplomat"
graphic_alt   = "-"
sound_move    = "m_diplomat"
sound_move_alt = "m_generic"
sound_fight   = "f_diplomat"
sound_fight_alt = "f_generic"
build_cost    = 30
pop_cost      = 0
attack        = 0
defense       = 0
hitpoints     = 10
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 0
uk_food       = 0
uk_gold       = 0
flags         = "Diplomat", "IgZOC", "NonMil"
veteran_names =
; /* TRANS: diplomatic rank. */
; /* TRANS: Unless translated, the last character in "attache" should be */
; /* TRANS: U+00E9 LATIN SMALL LETTER E WITH ACUTE if available in your */
; /* TRANS: charset. In ISO-8859-1 (ISO Latin 1) this is 233. */
  _("?diplomatic_rank:attache"),
; /* TRANS: diplomatic rank */
  _("?diplomatic_rank:secretary"),
; /* TRANS: diplomatic rank */
  _("?diplomatic_rank:envoy"),
; /* TRANS: diplomatic rank */
  _("?diplomatic_rank:ambassador")
veteran_raise_chance = 50, 33, 20, 0
veteran_work_raise_chance = 0, 0, 0, 0
veteran_power_fact = 100, 105, 110, 115
veteran_move_bonus = 0, 0, 0, 0
roles         = "Diplomat"
helptext      = _("\
A Diplomat is an official that carries your dispatches and\
 is authorized to deal with foreign dignitaries. He may\
 also undertake various covert operations with the intent of\
 harming your opponents; Diplomats in your own cities defend\
 them against such actions.\
"), _("\
Many covert actions may be attempted even in peacetime, but the more\
 aggressive actions will be discovered and cause diplomatic incidents,\
 which can allow Republics and Democracies to break treaties.\
"), _("\
If a foreign unit is alone on a tile, you may attempt to bribe it\
 with your Diplomat. By paying a sum of gold the unit will immediately\
 become yours; the exact sum depends on the status of the unit and\
 that of the civilization owning it. However, units belonging to\
 Democratic governments cannot be bribed. Bribery when not at war\
 will cause a diplomatic incident.\
"), _("\
Diplomats can also perform a number of actions in another player's\
 city, although each Diplomat may attempt only one action. Most of\
 Spies in the city will oppose hostile actions; in this case, either\
 your unit or the defending unit will die. If the defending unit dies,\
 you lose one movement point and may try again.\
"), _("\
The actions available to Diplomats in a city are:\
"), _("\
 - \"Establish Embassy\": This action always succeeds, and gives\
 permanent contact with the city's owner, as well as intelligence\
 on their tax rates and technology.\
"), _("\
 - \"Investigate City\": Your unit attempts to report detailed\
 information about the city: its status, what buildings and units are\
 within, and what it is currently producing.\
"), _("\
 - \"Sabotage City\": Your unit attempts either to disrupt all the\
 city's work so far towards its current project, or to destroy an\
 existing building in the city, at random. Once built, Palaces and\
 Wonders cannot be sabotaged, and attempts to sabotage City Walls\
 or any building in a capital each halve the chance of success.\
 Sabotage may only be attempted when openly at war.\
"), _("\
 - \"Steal Technology\": Your unit attempts to learn the secrets of a\
 random technology known to the city's owner but not to you. Technology\
 may only be stolen once from a given enemy city by Diplomats. This\
 action may be attempted even when not at war, but will cause a\
 diplomatic incident.\
"), _("\
 - \"Incite a Revolt\": In return for gold a foreign city will change\
 allegiance and join your empire, bringing along all nearby units that\
 call it home, but reducing its size by 1. Units in other cities\
 remain in the enemy's control, but units outside cities are lost to\
 both players. The exact sum depends on the status of the city and\
 that of the civilization that owns it. It is not possible to incite\
 a rebellion in a capital, or in any city governed by a democracy.\
 Incitement may be attempted in peacetime, but will cause a\
 diplomatic incident.\
"), _("\
In some game strategies, hordes of Diplomats can be used to wreak\
 havoc on the enemy.  Little wonder that Diplomats are often\
 viewed with suspicion and fear!\
"), _("\
Diplomats built under Communist or Federation governments will\
 start at the first veteran level (secretary).\
")

[unit_spy]
name          = _("Spy")
class         = "Small Land"
tech_req      = "Espionage"
obsolete_by   = "None"
graphic       = "u.spy"
graphic_alt   = "-"
sound_move    = "m_spy"
sound_move_alt = "m_generic"
sound_fight   = "f_spy"
sound_fight_alt = "f_generic"
build_cost    = 30
pop_cost      = 0
attack        = 0
defense       = 0
hitpoints     = 10
firepower     = 1
move_rate     = 3
vision_radius_sq = 8
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 0
uk_food       = 0
uk_gold       = 0
flags         = "Diplomat", "IgZOC", "NonMil", "Spy"
veteran_names =
; /* TRANS: Spy veteran level */
  _("?spy_level:informant"),
; /* TRANS: Spy veteran level */
  _("?spy_level:handler"),
; /* TRANS: Spy veteran level */
  _("?spy_level:agent"),
; /* TRANS: Spy veteran level */
  _("?spy_level:spymaster")
veteran_raise_chance = 50, 33, 20, 0
veteran_work_raise_chance = 0, 0, 0, 0
veteran_power_fact = 100, 105, 110, 115
veteran_move_bonus = 0, 0, 0, 0
roles         = "Diplomat"
helptext      = _("\
A Spy is more skilled in the arts of espionage than her Diplomat predecessor.\
"), _("\
She can perform all the functions of the Diplomat; refer to the Diplomat\
 operation in a foreign city and become more experienced as a result.\
 Spies are also more effective than Diplomats at defending cities\
 against foreign Diplomats and Spies.\
"), _("\
A Spy can also be used to:\n\
 - sabotage an enemy unit (reducing its hit points to half), if it is\
 alone on a tile and the players are at war;\n\
 - poison the water supply of an enemy city (reducing the population\
 by one and emptying the granary);\n\
 - steal specific technology (with a reduced chance of success);\n\
 - steal further technologies from a city which has already been\
 stolen from (although cities become more resistant each time they\
 are stolen from);\n\
 - sabotage predetermined city targets (with a reduced chance of\
 success).\
"), _("\
A Spy that survives the more aggressive actions (sabotage, theft,\
 inciting rebellion, and poisoning) escapes to the safety of the\
 nearest friendly city.\
"), _("\
Spies built under Communist or Federation governments will start\
 at the first veteran level (handler).\
")

[unit_caravan]
name          = _("Caravan")
class         = "Merchant"
tech_req      = "Trade"
obsolete_by   = "Freight"
graphic       = "u.caravan"
graphic_alt   = "-"
sound_move    = "m_caravan"
sound_move_alt = "m_generic"
sound_fight   = "f_caravan"
sound_fight_alt = "f_generic"
build_cost    = 50
pop_cost      = 0
attack        = 0
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 3
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 0
uk_food       = 0
uk_gold       = 0
flags         = "TradeRoute", "HelpWonder", "NonMil", "Capturable"
roles         = ""
helptext      = _("\
A Caravan carries goods or material for trading with distant cities\
 of foreign countries, or to help build wonders in your cities.\
"), _("\
Caravans can only travel on roads, railroads, rivers or ships, and\
 are not affected by movement modifiers.\
"), _("\
Every Caravan that is used to build a wonder will add 50 shields\
 towards the production of the wonder.\
")

[unit_freight]
name          = _("Freight")
class         = "Merchant"
tech_req      = "The Corporation"
obsolete_by   = "None"
graphic       = "u.freight"
graphic_alt   = "-"
sound_move    = "m_freight"
sound_move_alt = "m_generic"
sound_fight   = "f_freight"
sound_fight_alt = "f_generic"
build_cost    = 50
pop_cost      = 0
attack        = 0
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 6
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 0
uk_food       = 0
uk_gold       = 0
flags         = "TradeRoute", "HelpWonder", "NonMil", "Capturable"
roles         = ""
helptext      = _("\
")

[unit_explorer]
name          = _("Explorer")
class         = "Small Land"
tech_req      = "Seafaring"
obsolete_by   = "Partisan"
graphic       = "u.explorer"
graphic_alt   = "-"
sound_move    = "m_explorer"
sound_move_alt = "m_generic"
sound_fight   = "f_explorer"
sound_fight_alt = "f_generic"
build_cost    = 20
pop_cost      = 0
attack        = 0
defense       = 1
hitpoints     = 10
firepower     = 1
move_rate     = 1
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 0
uk_food       = 0
uk_gold       = 0
flags         = "IgTer", "IgZOC", "NonMil"
roles         = "Explorer"
helptext      = _("\
Explorers are brave individuals that are very useful for\
 mapping unknown territory.\
")

[unit_leader]
name          = _("?unit:Leader")
class         = "Land"
tech_req      = "None"
obsolete_by   = "None"
graphic       = "u.leader"
graphic_alt   = "u.explorer"
sound_move    = "m_leader"
sound_move_alt = "m_generic"
sound_fight   = "f_leader"
sound_fight_alt = "f_generic"
build_cost    = 10
pop_cost      = 0
attack        = 0
defense       = 2
hitpoints     = 20
firepower     = 1
move_rate     = 2
vision_radius_sq = 8
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 0
uk_food       = 0
uk_gold       = 0
                "Undisbandable", "Unbribable", "GameLoss", "Unique",
                "NoVeteran"
roles         = "GameLoss"
helptext      = _("\
This is you. If you lose this unit, you lose the game. So don't.\
")

[unit_barbarian_leader]
name          = _("Barbarian Leader")
class         = "Land"
tech_req      = "None"
obsolete_by   = "None"
graphic       = "u.barbarian_leader"
graphic_alt   = "u.diplomat"
sound_move    = "m_barbarian_leader"
sound_move_alt = "m_generic"
sound_fight   = "f_barbarian_leader"
sound_fight_alt = "f_generic"
build_cost    = 40
pop_cost      = 0
attack        = 0
defense       = 0
hitpoints     = 10
firepower     = 1
move_rate     = 2
vision_radius_sq = 2
transport_cap = 0
fuel          = 0
uk_happy      = 0
uk_shield     = 0
uk_food       = 0
uk_gold       = 0
flags         = "IgZOC", "NonMil", "Unbribable",
                "Undisbandable", "SuperSpy", "NoHome", "NoBuild"
roles         = "BarbarianLeader"
helptext      = _("\
One Barbarian Leader appears every time there is a barbarian uprising\
 somewhere in the world.\
"), _("\
When a Barbarian Leader is killed on a tile without any defending units,\
 the 100 gold ransom is paid, but only to land units and helicopters.\
")

[unit_awacs]
name          = _("AWACS")
class         = "Air"
tech_req      = "Advanced Flight"
obsolete_by   = "None"
graphic       = "u.awacs"
graphic_alt   = "u.bomber"  ; backwards compatibility
sound_move    = "m_awacs"
sound_move_alt = "m_generic"
sound_fight   = "f_awacs"
sound_fight_alt = "f_generic"
build_cost    = 140
pop_cost      = 0
attack        = 0
defense       = 1
hitpoints     = 20
firepower     = 1
move_rate     = 16
vision_radius_sq = 26
transport_cap = 0
fuel          = 2
uk_happy      = 1
uk_shield     = 0
uk_food       = 0
uk_gold       = 0
flags         = ""
roles         = ""
helptext      = _("\
The AWACS (Airborne Warning and Control System) is an airplane with an \
advanced radar that can determine the location of enemy units over a \
wide area.\
")
ENDREP
DELTA 21822 0 214
SVN  ‚¦.‚¨^ƒ  ºQ €‚ †ºN€ …ÀV ”IÆ% Ë
Û$bonuses       = definitions of combat bonuses against specific other units
; bonuses.flag  = flag of the unit that bonus applies against
; bonuses.type  = type of the bonus. See below
; bonuses.value = value of the bonus. Sum of these is used if multiple apply.
; ** Bonuses **
;
; "DefenseMultiplier" = Add defense value 'value' times. Value of 1 means multiplication
;                       by 2, value 2 by 3...
;ENDREP
DELTA 21796 2147 7211
SVN  ƒúVƒþ8„> ˆf — fˆp¯ ½‰U€‚ †ÆW€ …Ì_ ”Ò( ‚…@æy€X h‚æl -‚í), "AirUnit"
; Airbase  ; AirUnit   - very bad at attacking AEGIS unitsbonuses       = definitions of combat bonuses against specific other units
; bonuses.flag  = flag of the unit that bonus applies against
; bonuses.type  = type of the bonus. See below
; bonuses.value = value of the bonus. Sum of these is used if multiple apply.
; ** Bonuses **
;
; "DefenseMultiplier" = Add defense value 'value' times. Value of 1 means multiplication
;                       by 2, value 2 by 3...
;bonuses       =
   { "flag", "type", "value"
     "AirUnit", "DefenseMultiplier", 4
   }ENDREP
DELTA 21739 592 3420
SVN  ‚Ì}‚Î<3‚ ‹h  S‹q ‚ŒQ ù2Ža² V‚‘  ‚W‚ˆf€( H‚‘ ± AÕ? À	‚Œt  unit_types[i].bonuses = combat_bonus_list_new();  combat_bonus_list_iterate(punittype->bonuses, pbonus) {
      FC_FREE(pbonus);
    } combat_bonus_list_iterate_end;
    combat_bonus_list_destroy(punittype->bonuses);
 Frees the memory associated with all unit typesENDREP
DELTA 21976 14549 27
SVN  ˆXˆX
 ‡ ‚ J‡14ENDREP
DELTA 21344 16408 617
SVN  ‚•1‚™;&„$ ·+ €ƒ	 †·(€ à_½0 …Hž º\£m ¶]ÞTtargets       = list of unit classes this unit can attack against even
;                 if they have Unreachable unit class flag
; bonuses       = definitions of combat bonuses against specific other units
; bonuses.flag  = flag of the unit that bonus applies against
; bonuses.type  = type of the bonus. See below
; bonuses.value = value of the bonus. Sum of these is used if multiple apply.
; ** Bonuses **
;
; "DefenseMultiplier" = Add defense value 'value' times. Value of 1 means multiplication
;                       by 2, value 2 by 3...
;ENDREP
DELTA 21796 13367 2772
SVN  …X… ¢7  ŒR¢E “j¯X€„k ˆ1Ã@£ µ&Ëo#define SPECENUM_NAME combat_bonus_type
#define SPECENUM_VALUE0 CBONUS_DEFENSE_MULTIPLIER
#define SPECENUM_VALUE0NAME "DefenseMultiplier"
#include "specenum_gen.h"

struct combat_bonus {
  enum unit_type_flag_id  flag;
  enum combat_bonus_type  type;
  int                     value;
};

/* get 'struct combat_bonus_list' and related functions: */
#define SPECLIST_TAG combat_bonus
#define SPECLIST_TYPE struct combat_bonus
#include "speclist.h"

#define combat_bonus_list_iterate(bonuslist, pbonus) \
    TYPED_LIST_ITERATE(struct combat_bonus, bonuslist, pbonus)
#define combat_bonus_list_iterate_end LIST_ITERATE_END  struct combat_bonus_list *bonusesENDREP
DELTA 19137 51661 14073
SVN  ƒ©Hƒ·!‘s „ €‚ ‹B…,€‚p „e …@–(€ƒA x›f” bœ~ ‚*žw€c (£ Qœ~ ‹$¥» ƒW°8€ƒ	 †´€ òZº‰ †¬o‰ €}²r€X O‚¹= ‹‚´F‹ Å/‚¿k€ ‰,ƒ…€H ›ƒŽ@2.Feb.28"

[flags]
; Names for custom unit type flags.
names = "Airbase", "Transform", "AirUnit"
; Airbase   - can build airbases. See airbase definition in terrain.ruleset
; Transform - can transform terrain.
; AirUnit   - very bad at attacking AEGIS units"Land", "Sea", or "Both".
;                 This is optional field. If it's not
;                 given, move type is automatically determined from native
;                 terrains. You need to set it only if you want to set move
;                 type "Both" for unit that has no native Land terrains or
;                 for unit that has no native Oceanic terrains "AttackNonNative"   = Unit can attack units on non-native tiles. Unit type flag
;                       "Only_Native_Attack" can override this
; "AttFromNonNative"  = Unit can launch attach from non-native tile (against native one)
;                       This applies for both attacking from transport or cities. If only
;                       some unit types of the class should get this property, use type flag
;                       "Marines"?unitclass:Missile")?unitclass:Sea")
min_speed     = 2
hp_loss_pct   = 0
flags         = "DamageSlows", "AttackNonNative", "AttFromNonNative"

[unitclass_heli]
; /* TRANS: Unit class: used adjectivally */
name          = _("?unitclass:Helicopter")?unitclass:Air")onvert_time  = time it takes to convert to another unit typtargets       = list of unit classes this unit can attack against even
;                 if they have Unreachable unit class flag
; bonuses       = definitions of combat bonuses against specific other units
; bonuses.flag  = flag of the unit that bonus applies against
; bonuses.type  = type of the bonus. See below
; bonuses.value = value of the bonus. Sum of these is used if multiple apply.
; ** Bonuses **
;
; "DefenseMultiplier" = Add defense value 'value' times. Value of 1 means multiplication
;                       by 2, value 2 by 3...
;u.chariotu.knightsbonuses       =
   { "flag", "type", "value"
     "AirUnit", "DefenseMultiplier", 4
   }Only_Nativeveteran_names = _("green"), _("veteran")
veteran_raise_chance = 50, 0
veteran_work_raise_chance = 0, 0
veteran_power_fact = 100, 110
veteran_move_bonus = 0, 0, _("\
Spies built under a Communist government will be built as veteranENDREP
DELTA 20936 4598 2581
SVN  ƒïi„‚N•[ ‡} €9 ™ˆG€ƒA …j¡U¦ -§>“ ”¨j€ƒ	 †¼m€ …Âu€C ‚iÈo VË~€V CÍ ˆeÝ‰ †åm‰ ×5ëp ©&‚Ã7€h ‹g‚ìu‹ †2‚øc‹ ¡U‚ÿ€„~ ™ƒ p€h „Aƒ¹y€ƒ ‰,ƒ¾9€a ¨	ƒÇ`, "Transform", "AirUnit"
; Airbase   - can build airbases. See airbase definition in terrain.ruleset
; Transform - can transform terrain.
; AirUnit   - very bad at attacking AEGIS units "AttackNonNative"   = Unit can attack units on non-native tiles. Unit type flag
;                       "Only_Native_Attack" can override this
; "AttFromNonNative"  = Unit can launch attach from non-native tile (against native one)
;                       This applies for both attacking from transport or cities. If only
;                       some unit types of the class should get this property, use type flag
;                       "Marines", "AttackNonNative", "AttFromNonNative, "AttFromNonNativetargets       = list of unit classes this unit can attack against even
;                 if they have Unreachable unit class flag
; bonuses       = definitions of combat bonuses against specific other units
; bonuses.flag  = flag of the unit that bonus applies against
; bonuses.type  = type of the bonus. See below
; bonuses.value = value of the bonus. Sum of these is used if multiple apply.
; ** Bonuses **
;
; "DefenseMultiplier" = Add defense value 'value' times. Value of 1 means multiplication
;                       by 2, value 2 by 3...
;Marines"	= can attack from non-native tile (from transport or city)Only_Native_Attack" = cannot attack targets on non-native tiles even if unit class canu.chariotu.knightsbonuses       =
   { "flag", "type", "value"
     "AirUnit", "DefenseMultiplier", 4
   }
flags         =Only_NativeOnly_Nativeveteran_names =
; /* TRANS: diplomatic rank. */
; /* TRANS: Unless translated, the last character in "attache" should be */
; /* TRANS: U+00E9 LATIN SMALL LETTER E WITH ACUTE if available in your */
; /* TRANS: charset. In ISO-8859-1 (ISO Latin 1) this is 233. */
  _("?diplomatic_rank:attache"),
; /* TRANS: diplomatic rank */
  _("?diplomatic_rank:secretary"),
; /* TRANS: diplomatic rank */
  _("?diplomatic_rank:envoy"),
; /* TRANS: diplomatic rank */
  _("?diplomatic_rank:ambassador")
veteran_raise_chance = 50, 33, 20, 0
veteran_work_raise_chance = 0, 0, 0, 0
veteran_power_fact = 100, 105, 110, 115
veteran_move_bonus = 0, 0, 0, 0, _("\
Diplomats built under a Communist government will start at the first\
 veteran level (secretary).veteran_names =
; /* TRANS: Spy veteran level */
  _("?spy_level:informant"),
; /* TRANS: Spy veteran level */
  _("?spy_level:handler"),
; /* TRANS: Spy veteran level */
  _("?spy_level:agent"),
; /* TRANS: Spy veteran level */
  _("?spy_level:spymaster")
veteran_raise_chance = 50, 33, 20, 0
veteran_work_raise_chance = 0, 0, 0, 0
veteran_power_fact = 100, 105, 110, 115
veteran_move_bonus = 0, 0, 0, 0, _("\
Spies built under a Communist government will start at the first\
 veteran level (handler)ENDREP
DELTA 21948 0 283
SVN  †  †  ƒ ††c Š l†=€‚i Tì@“ l†= “k†‡Sunit_bonusunit_bonus(const struct packet_ruleset_unit_bonus *p)
{
  struct unit_type *u = utype_by_number(p->unit);
  struct combat_bonus *bonus;

  fc_assert_ret_msg(NULL != u, "Bad unit_type %d.", p->unit);

  bonus = malloc(sizeof(*bonus));

  bonus->flag  = p->flag;
  bonus->type  = p->type;
  bonus->value = p->value;

  combat_bonus_list_append(u->bonuses, bonus);Packet ruleset_tech†  ÖÚSƒ%€I Qª¦ LÒ€‚6 Ö k;
    }
  } unit_type_iterate_end;

  tileset_setup_impr_type(tileset, b**
  Packet ruleset_government handler**/
void handle_ruleset_government(const struct packet_ruleset_government *p)
{
  int j;
  struct government *gov = government_by_number(p->id);

  fc_assert_ret_msg(NULL != gov, "Bad government %d.", p->id);

  gov->item_number = p->id;

  for (j = 0; j < p->reqs_count; j++) {
    requirement_vector_append(&ENDREP
id: v9.5ck.r21982/80827
type: file
pred: v9.5ck.r21796/20212
count: 142
text: 21982 72705 332 42812 949ceea8af4c7eec91a283bb108b3fa8
props: 10932 10175 111 0 3f70303ff9ea148b5e232db96a904e98
cpath: /trunk/common/unittype.c
copyroot: 15280 /trunk

id: va.5ck.r21982/81074
type: file
pred: va.5ck.r21796/20456
count: 133
text: 21982 73745 696 17112 3613fbc9d05e9476f58bf1eaa27bf4b2
props: 10932 10530 111 0 c621529c87aa3e4513ceb9a8b717aa47
cpath: /trunk/common/unittype.h
copyroot: 15280 /trunk

id: wp.5ck.r21982/81321
type: file
pred: wp.5ck.r21517/82157
count: 107
text: 21982 4457 713 25737 db4ed26bf3f4c0c81ec1562179eba2bd
props: 11060 17292 111 0 e77f29e20031f26b4b1e16b63c7aa55c
cpath: /trunk/common/combat.c
copyroot: 15280 /trunk

id: 2f5.5ck.r21982/81565
type: file
pred: 2f5.5ck.r21972/4910
count: 401
text: 21982 5199 295 49573 6fd0eb340a1152dd701845aa12230366
props: 11057 30210 112 0 64942f9576ccbd6a94350596bbb7a5cc
cpath: /trunk/common/packets.def
copyroot: 15280 /trunk

id: wq.5ck.r21982/81813
type: file
pred: wq.5ck.r18858/95678
count: 23
text: 21982 5688 193 3260 4491529c2f2acff6ac6bb591b0bec2bf
props: 11060 17645 111 0 4b4193808cb95e702a5e5065e4345324
cpath: /trunk/common/combat.h
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 21
file 5h.5ck.r21518/95
K 4
ai.c
V 25
file 4go.5ck.r20385/11580
K 4
ai.h
V 23
file 4gp.5ck.r20697/647
K 6
aicore
V 23
dir 18t.5ck.r21962/2401
K 6
base.c
V 24
file 3jw.5ck.r21655/8840
K 6
base.h
V 24
file 3jx.5ck.r21655/9078
K 9
borders.c
V 26
file 4f0.5ck.r19259/404033
K 9
borders.h
V 25
file 4f1.5ck.r18858/99721
K 8
capstr.c
V 25
file dv.5ck.r19259/401812
K 8
capstr.h
V 24
file dw.5ck.r18858/97074
K 10
citizens.c
V 24
file 6mx.5ck.r20853/5961
K 10
citizens.h
V 24
file 6my.5ck.r20853/6145
K 6
city.c
V 22
file q.5ck.r21970/1244
K 6
city.h
V 23
file 3q.5ck.r21811/9087
K 8
combat.c
V 24
file wp.5ck.r21982/81321
K 8
combat.h
V 24
file wq.5ck.r21982/81813
K 12
connection.c
V 25
file un.5ck.r19259/403785
K 12
connection.h
V 23
file uo.5ck.r21419/4334
K 8
dataio.c
V 24
file 15r.5ck.r21701/7421
K 8
dataio.h
V 24
file 15s.5ck.r21701/7663
K 11
diptreaty.c
V 25
file 3r.5ck.r19259/398261
K 11
diptreaty.h
V 24
file 3s.5ck.r18858/95921
K 10
disaster.c
V 25
file b2m.5ck.r20914/30188
K 10
disaster.h
V 25
file b2o.5ck.r21032/16796
K 9
effects.c
V 23
file 2eo.5ck.r20915/303
K 9
effects.h
V 24
file 2ep.5ck.r21967/2110
K 8
events.c
V 23
file 33h.5ck.r21798/853
K 8
events.h
V 23
file 3t.5ck.r21798/1090
K 12
fc_cmdhelp.c
V 24
file 76j.5ck.r20867/6570
K 12
fc_cmdhelp.h
V 25
file 76k.5ck.r20351/18639
K 14
fc_interface.c
V 25
file 4up.5ck.r20355/12590
K 14
fc_interface.h
V 25
file 4uq.5ck.r20355/12782
K 10
fc_types.h
V 25
file 2ll.5ck.r21976/17213
K 15
featured_text.c
V 25
file 4h3.5ck.r20306/26314
K 15
featured_text.h
V 25
file 4h4.5ck.r20306/26510
K 6
game.c
V 24
file 3u.5ck.r21650/10169
K 6
game.h
V 23
file 3v.5ck.r21918/4557
K 19
generate_packets.py
V 23
file 2f4.5ck.r21851/149
K 12
government.c
V 25
file he.5ck.r19259/403289
K 12
government.h
V 24
file hf.5ck.r18858/98787
K 6
idex.c
V 25
file qo.5ck.r19259/406132
K 6
idex.h
V 24
file qp.5ck.r18858/92434
K 13
improvement.c
V 22
file vb.5ck.r20754/653
K 13
improvement.h
V 24
file vc.5ck.r20299/11518
K 5
map.c
V 23
file r.5ck.r21948/15930
K 5
map.h
V 24
file 41.5ck.r20840/53833
K 8
mapimg.c
V 24
file 6n9.5ck.r21615/4804
K 8
mapimg.h
V 25
file 6na.5ck.r20483/28606
K 10
movement.c
V 25
file 2xv.5ck.r21736/28610
K 10
movement.h
V 25
file 2xw.5ck.r21736/28859
K 18
name_translation.h
V 25
file 4k1.5ck.r20375/19703
K 8
nation.c
V 24
file il.5ck.r21807/31505
K 8
nation.h
V 24
file im.5ck.r21807/31745
K 9
packets.c
V 22
file 43.5ck.r21858/336
K 11
packets.def
V 25
file 2f5.5ck.r21982/81565
K 9
packets.h
V 22
file 44.5ck.r20798/164
K 8
player.c
V 24
file 45.5ck.r21333/48228
K 8
player.h
V 24
file 46.5ck.r21807/31262
K 14
requirements.c
V 25
file 2wq.5ck.r21931/15610
K 14
requirements.h
V 25
file 2wr.5ck.r19264/38378
K 10
research.c
V 22
file 4ro.5ck.r21370/97
K 10
research.h
V 23
file 4rp.5ck.r19352/728
K 10
rgbcolor.c
V 25
file 6i6.5ck.r21333/48710
K 10
rgbcolor.h
V 25
file 6i7.5ck.r21333/48896
K 6
road.c
V 25
file 6pq.5ck.r21778/10564
K 6
road.h
V 25
file 6pr.5ck.r21948/15501
K 10
scriptcore
V 23
dir 75a.5ck.r21840/8541
K 11
spaceship.c
V 25
file 98.5ck.r19259/405393
K 11
spaceship.h
V 25
file 99.5ck.r18858/100885
K 12
specialist.c
V 26
file 33f.5ck.r19259/395048
K 12
specialist.h
V 26
file 33g.5ck.r19113/124404
K 6
team.c
V 26
file 33i.5ck.r19259/396899
K 6
team.h
V 25
file 33j.5ck.r18858/94759
K 6
tech.c
V 21
file t.5ck.r21076/277
K 6
tech.h
V 22
file u.5ck.r21478/3212
K 9
terrain.c
V 25
file 2fp.5ck.r21777/39566
K 9
terrain.h
V 24
file qs.5ck.r21777/39810
K 6
tile.c
V 25
file 2ys.5ck.r21326/12746
K 6
tile.h
V 25
file 2yt.5ck.r20843/36848
K 13
traderoutes.c
V 24
file bf8.5ck.r21650/9791
K 13
traderoutes.h
V 24
file bfa.5ck.r21650/9980
K 8
traits.h
V 25
file 7k3.5ck.r21420/11278
K 6
unit.c
V 22
file v.5ck.r21850/5888
K 6
unit.h
V 24
file 48.5ck.r21380/12211
K 10
unitlist.c
V 25
file 39m.5ck.r21517/87214
K 10
unitlist.h
V 25
file 39n.5ck.r21517/87700
K 10
unittype.c
V 24
file v9.5ck.r21982/80827
K 10
unittype.h
V 24
file va.5ck.r21982/81074
K 9
version.c
V 23
file oe.5ck.r20942/1546
K 9
version.h
V 23
file e7.5ck.r20942/1783
K 8
vision.c
V 26
file 4dm.5ck.r19259/404222
K 8
vision.h
V 24
file 4dn.5ck.r21811/9325
K 10
worklist.c
V 25
file o8.5ck.r19259/402799
K 10
worklist.h
V 24
file o9.5ck.r18858/98299
END
ENDREP
id: p.5ck.r21982/86293
type: dir
pred: p.5ck.r21976/21695
count: 3297
text: 21982 82055 4225 4225 f283055fb2f9f90defb8968619159aa2
props: 12883 2571 96 0 2763e13ff5d021346ae24ff6c9ced232
cpath: /trunk/common
copyroot: 15280 /trunk

id: 2lo.5en.r21982/86525
type: file
pred: 2lo.5en.r21976/21926
count: 243
text: 21982 73065 23 1112 b898f176ee2f12c2a2ac5ccf395834a9
props: 17663 394 136 0 3ab197576d3eab59f498bb0d6a363f31
cpath: /trunk/fc_version
copyroot: 17672 /trunk/fc_version

id: 8w.5ck.r21982/86774
type: file
pred: 8w.5ck.r21972/11554
count: 563
text: 21982 0 3656 179192 c3dbee86b4f325ab1cbbefe8edf6961f
props: 11085 367 112 0 7f6d12fc80ead5cc285da723cb8caa9d
cpath: /trunk/server/ruleset.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file 5q.5ck.r21872/18138
K 8
advisors
V 23
dir 4n2.5ck.r21955/1304
K 9
aiiface.c
V 23
file 4gm.5ck.r21902/109
K 9
aiiface.h
V 24
file 4gn.5ck.r20559/1295
K 6
auth.c
V 25
file 39c.5ck.r20274/32101
K 6
auth.h
V 25
file 39d.5ck.r18977/19170
K 11
barbarian.c
V 24
file lw.5ck.r21807/36959
K 11
barbarian.h
V 24
file lx.5ck.r18054/18407
K 14
citizenshand.c
V 24
file 6mz.5ck.r21958/1131
K 14
citizenshand.h
V 24
file 6n0.5ck.r21434/4374
K 10
cityhand.c
V 24
file 10.5ck.r19573/66885
K 10
cityhand.h
V 23
file 4f.0.r13297/423686
K 11
citytools.c
V 22
file 4g.5ck.r21958/651
K 11
citytools.h
V 23
file 4h.5ck.r21726/5658
K 10
cityturn.c
V 22
file 4i.5ck.r21958/891
K 10
cityturn.h
V 23
file 4j.5ck.r21808/3931
K 11
civserver.c
V 23
file 4k.5ck.r21887/5564
K 11
civserver.h
V 21
file 4l.0.r2805/33121
K 10
commands.c
V 24
file 2ly.5ck.r21821/1908
K 10
commands.h
V 24
file 2lz.5ck.r21821/2153
K 13
connecthand.c
V 23
file 2dw.5ck.r21926/135
K 13
connecthand.h
V 25
file 2dx.5ck.r18942/25217
K 9
console.c
V 22
file dd.5ck.r20765/191
K 9
console.h
V 23
file de.5ck.r19183/7918
K 10
diplhand.c
V 24
file 4m.5ck.r20286/38784
K 10
diplhand.h
V 21
file 4n.0.r13421/6826
K 11
diplomats.c
V 23
file vz.5ck.r21738/1169
K 11
diplomats.h
V 23
file w0.5ck.r19106/3619
K 10
edithand.c
V 25
file 3bk.5ck.r21807/37452
K 10
edithand.h
V 26
file 4ez.5ck.r18452/115476
K 6
fcdb.c
V 23
file 6l3.5ck.r21489/222
K 6
fcdb.h
V 25
file 6l4.5ck.r21255/12759
K 10
gamehand.c
V 24
file 4o.5ck.r21918/10897
K 10
gamehand.h
V 24
file 4p.5ck.r15698/24111
K 9
generator
V 24
dir 2me.5ck.r21918/10407
K 11
ggzserver.c
V 25
file 39a.5ck.r20126/49744
K 11
ggzserver.h
V 23
file 39b.5ck.r20191/350
K 10
handchat.c
V 23
file 4q.5ck.r21364/3610
K 10
handchat.h
V 24
file dj.5ck.r18270/28229
K 9
maphand.c
V 24
file 13.5ck.r21864/10606
K 9
maphand.h
V 23
file 14.5ck.r20902/2251
K 6
meta.c
V 24
file 4s.5ck.r19780/20117
K 6
meta.h
V 24
file 4t.5ck.r18054/19078
K 8
notify.c
V 25
file 4i2.5ck.r20229/25959
K 8
notify.h
V 24
file 4i3.5ck.r18282/3660
K 9
plrhand.c
V 24
file 4u.5ck.r21807/37948
K 9
plrhand.h
V 24
file 4v.5ck.r21333/44124
K 8
report.c
V 24
file vi.5ck.r21823/40810
K 8
report.h
V 24
file vj.5ck.r18270/29203
K 10
rssanity.c
V 25
file hew.5ck.r21976/24118
K 10
rssanity.h
V 25
file hey.5ck.r21709/23329
K 9
ruleset.c
V 24
file 8w.5ck.r21982/86774
K 9
ruleset.h
V 24
file 8x.5ck.r21709/22927
K 13
sanitycheck.c
V 22
file wi.5ck.r21813/276
K 13
sanitycheck.h
V 24
file wj.5ck.r20315/26296
K 10
savegame.c
V 24
file vl.5ck.r21811/14717
K 10
savegame.h
V 24
file vm.5ck.r20758/19233
K 11
savegame2.c
V 23
file 4m0.5ck.r21917/519
K 11
savegame2.h
V 25
file 4m1.5ck.r21363/11592
K 7
score.c
V 24
file 2eg.5ck.r21929/5694
K 7
score.h
V 24
file 2eh.5ck.r21929/6179
K 9
scripting
V 24
dir 31x.5ck.r21976/23380
K 8
sernet.c
V 23
file 15.5ck.r20559/1478
K 8
sernet.h
V 24
file 4y.5ck.r19197/31924
K 10
settings.c
V 25
file 2m0.5ck.r21918/10648
K 10
settings.h
V 24
file 2m1.5ck.r20244/5486
K 11
spacerace.c
V 24
file 9a.5ck.r19268/77290
K 11
spacerace.h
V 21
file 9b.0.r11338/1129
K 9
srv_log.c
V 25
file 15t.5el.r20229/25451
K 9
srv_log.h
V 25
file 15u.5em.r20315/26035
K 10
srv_main.c
V 21
file vg.5ck.r21973/76
K 10
srv_main.h
V 24
file vh.5ck.r20964/10558
K 11
stdinhand.c
V 23
file 4z.5ck.r21929/6417
K 11
stdinhand.h
V 23
file 50.5ck.r18978/5769
K 11
techtools.c
V 25
file 33n.5ck.r21976/23621
K 11
techtools.h
V 25
file 33o.5ck.r21976/23870
K 10
unithand.c
V 23
file 18.5ck.r21970/5946
K 10
unithand.h
V 24
file 19.5ck.r21095/21648
K 11
unittools.c
V 22
file 1a.5ck.r21828/176
K 11
unittools.h
V 23
file 1b.5ck.r21269/1443
K 8
voting.c
V 24
file 4ex.5ck.r21364/3852
K 8
voting.h
V 25
file 4ey.5ck.r18054/19315
END
ENDREP
id: z.5ck.r21982/90729
type: dir
pred: z.5ck.r21976/28020
count: 4902
text: 21982 87016 3700 3700 1ce1483dd2e113bdc2a037ed1a239834
props: 17175 659 139 0 d1c9699dde7f9d81e54426750008041d
cpath: /trunk/server
copyroot: 15280 /trunk

id: 8r.5ck.r21982/90961
type: file
pred: 8r.5ck.r21377/920
count: 94
text: 21982 73116 600 36027 2d69f2a1f7527be95b7bd896c4d56805
props: 10656 9264 111 0 7a0697bf766451f41e947e71ce1310bc
cpath: /trunk/data/civ1/units.ruleset
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 22
file 8n.5ck.r21483/562
K 17
buildings.ruleset
V 24
file 8p.5ck.r20936/24788
K 14
cities.ruleset
V 25
file 3c4.5f0.r21550/11338
K 15
effects.ruleset
V 24
file 2ww.5ck.r21937/1789
K 12
game.ruleset
V 24
file u6.5ck.r21977/10202
K 19
governments.ruleset
V 24
file hg.5ck.r20936/26073
K 15
nations.ruleset
V 22
file os.5ck.r21743/281
K 10
script.lua
V 25
file 3w7.5ck.r15828/10205
K 13
techs.ruleset
V 22
file 8q.5ck.r21119/565
K 15
terrain.ruleset
V 24
file gd.5ck.r21948/25072
K 13
units.ruleset
V 24
file 8r.5ck.r21982/90961
END
ENDREP
id: 8l.5ck.r21982/91773
type: dir
pred: 8l.5ck.r21977/11012
count: 409
text: 21982 91210 550 550 1ca77dc6c4b407de18155915a46a3315
props: 4431 12663 46 0 e473fc4bd409d833d90929dfcb3a14b8
cpath: /trunk/data/civ1
copyroot: 15280 /trunk

id: go.5ck.r21982/92007
type: file
pred: go.5ck.r21796/31064
count: 112
text: 21982 74471 2441 56225 51b7a344188dde274cd5ca859e70574e
props: 10826 3967 111 0 622f1432038f91cce287c1d90e4f7964
cpath: /trunk/data/civ2/units.ruleset
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 23
file gg.5ck.r21483/1592
K 17
buildings.ruleset
V 24
file gm.5ck.r20936/27884
K 14
cities.ruleset
V 25
file 3c4.5ck.r21550/12408
K 15
effects.ruleset
V 24
file 2wx.5ck.r21937/2832
K 12
game.ruleset
V 24
file u7.5ck.r21977/11246
K 19
governments.ruleset
V 24
file hh.5ck.r20936/29146
K 15
nations.ruleset
V 25
file 38l.5ck.r21758/65605
K 10
script.lua
V 25
file 3w8.5ck.r15828/11190
K 13
techs.ruleset
V 23
file gn.5ck.r21119/1607
K 15
terrain.ruleset
V 24
file gi.5ck.r21948/26118
K 13
units.ruleset
V 24
file go.5ck.r21982/92007
END
ENDREP
id: ge.5ck.r21982/92828
type: dir
pred: ge.5ck.r21977/12063
count: 450
text: 21982 92260 555 555 1c87a6bf7a2b9012add9a9570804f3e8
props: 4431 13678 46 0 e473fc4bd409d833d90929dfcb3a14b8
cpath: /trunk/data/civ2
copyroot: 15280 /trunk

id: 8v.5es.r21982/93062
type: file
pred: 8v.5es.r21796/32395
count: 152
text: 21982 76943 2942 65870 b512255743ea81dabc2761af9b791590
props: 11012 182 111 0 28afbdca13063c4ab06acfd332f60a0d
cpath: /trunk/data/multiplayer/units.ruleset
copyroot: 17702 /trunk/data/multiplayer

PLAIN
K 11
Makefile.am
V 23
file 8f.5es.r21140/1890
K 18
ai_effects.ruleset
V 25
file 3s4.5bk.r13978/25400
K 17
buildings.ruleset
V 24
file 8t.5es.r20936/30984
K 14
cities.ruleset
V 24
file jx.5es.r21550/13459
K 15
effects.ruleset
V 24
file 2wy.5es.r21937/3880
K 12
game.ruleset
V 24
file u8.5es.r21976/30345
K 19
governments.ruleset
V 24
file hi.5es.r20936/32363
K 15
nations.ruleset
V 24
file cod.5es.r21404/2681
K 10
script.lua
V 23
file 330.5es.r21577/652
K 13
techs.ruleset
V 24
file 8u.5es.r21478/12268
K 15
terrain.ruleset
V 24
file gl.5es.r21948/27173
K 13
units.ruleset
V 24
file 8v.5es.r21982/93062
END
ENDREP
id: 89.5es.r21982/93958
type: dir
pred: 89.5es.r21976/31238
count: 767
text: 21982 93338 607 607 1466043952c9ad079d4bb7a5124fec7e
props: 4431 6509 46 0 e473fc4bd409d833d90929dfcb3a14b8
cpath: /trunk/data/multiplayer
copyroot: 17702 /trunk/data/multiplayer

id: 8v.5jr.r21982/94215
type: file
pred: 8v.5jr.r21796/33832
count: 149
text: 21982 3684 743 63555 1ad65f3720a3e03887f847786f9910bf
props: 11012 182 111 0 28afbdca13063c4ab06acfd332f60a0d
cpath: /trunk/data/classic/units.ruleset
copyroot: 21163 /trunk/data/classic/units.ruleset

PLAIN
K 11
Makefile.am
V 22
file csz.5ck.r21258/55
K 17
buildings.ruleset
V 24
file 8t.5ji.r21163/12609
K 14
cities.ruleset
V 24
file jx.5jj.r21550/14608
K 15
effects.ruleset
V 24
file 2wy.5jk.r21937/5029
K 12
game.ruleset
V 24
file u8.5jl.r21976/31495
K 19
governments.ruleset
V 24
file hi.5jm.r21163/14459
K 15
nations.ruleset
V 23
file i7.5jn.r21404/3769
K 10
script.lua
V 24
file 330.5jo.r21577/1792
K 13
techs.ruleset
V 24
file 8u.5jp.r21478/13417
K 15
terrain.ruleset
V 24
file gl.5jq.r21948/28327
K 13
units.ruleset
V 24
file 8v.5jr.r21982/94215
END
ENDREP
id: csx.5ck.r21982/95059
type: dir
pred: csx.5ck.r21976/32338
count: 47
text: 21982 94495 551 551 736000f8f6fef159ee79558dde1eb883
props: 21472 352 47 0 bf36bdb5202732a1b9a911cc1234183c
cpath: /trunk/data/classic
copyroot: 15280 /trunk

id: fbj.5ck.r21982/95296
type: file
pred: fbj.5ck.r21822/245
count: 5
text: 21982 71546 461 37982 4eb8166761953102a88ea8701ba44a7a
cpath: /trunk/data/alien/units.ruleset
copyroot: 15280 /trunk

PLAIN
K 17
buildings.ruleset
V 23
file fax.5ck.r21467/199
K 14
cities.ruleset
V 25
file faz.5ck.r21550/15689
K 15
effects.ruleset
V 23
file fb0.5ck.r21971/442
K 12
game.ruleset
V 25
file fb1.5ck.r21976/32575
K 19
governments.ruleset
V 26
file fb2.5ck.r21401/152832
K 6
nation
V 25
dir fb3.5ck.r21401/152498
K 22
nation_effects.ruleset
V 26
file fbe.5ck.r21401/153009
K 15
nations.ruleset
V 26
file fbf.5ck.r21401/153358
K 10
script.lua
V 26
file fbg.5ck.r21401/149851
K 13
techs.ruleset
V 24
file fbh.5ck.r21548/1203
K 15
terrain.ruleset
V 25
file fbi.5ck.r21948/29411
K 13
units.ruleset
V 25
file fbj.5ck.r21982/95296
END
ENDREP
id: fav.5ck.r21982/96120
type: dir
pred: fav.5ck.r21976/33396
count: 34
text: 21982 95490 617 617 6dc8c9b713813ac36a92315e6ee0ebd9
cpath: /trunk/data/alien
copyroot: 15280 /trunk

id: fuz.5ck.r21982/96300
type: file
pred: fuz.5ck.r21818/83993
count: 8
text: 21982 5910 65604 67473 492759ff35e811cb2e68864e546ef029
props: 21614 269340 34 0 25e6c2f7558b7484000d4d090dea5b92
cpath: /trunk/data/civ2civ3/units.ruleset
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 26
file fuo.5ck.r21460/328585
K 17
buildings.ruleset
V 26
file fuq.5ck.r21614/268771
K 14
cities.ruleset
V 26
file fur.5ck.r21614/269080
K 15
effects.ruleset
V 25
file fus.5ck.r21979/81876
K 12
game.ruleset
V 25
file fut.5ck.r21976/33576
K 19
governments.ruleset
V 26
file fuu.5ck.r21614/270311
K 15
nations.ruleset
V 26
file fuv.5ck.r21614/270928
K 10
script.lua
V 26
file fuw.5ck.r21460/327886
K 13
techs.ruleset
V 26
file fux.5ck.r21614/270004
K 15
terrain.ruleset
V 25
file fuy.5ck.r21948/30414
K 13
units.ruleset
V 25
file fuz.5ck.r21982/96300
END
ENDREP
id: fum.5ck.r21982/97143
type: dir
pred: fum.5ck.r21979/82717
count: 37
text: 21982 96558 572 572 237bb37193e90b17e08d70e77b32278d
props: 21472 647 47 0 bf36bdb5202732a1b9a911cc1234183c
cpath: /trunk/data/civ2civ3
copyroot: 15280 /trunk

id: 4kh.5ck.r21982/97381
type: file
pred: 4kh.5ck.r21796/37460
count: 33
text: 21982 72032 644 65299 3e9ffed891e20cd9fc6c7e92f75fd193
cpath: /trunk/data/experimental/units.ruleset
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 24
file 4k6.5ck.r21140/3216
K 18
ai_effects.ruleset
V 25
file 4k7.5ck.r17319/74859
K 17
buildings.ruleset
V 25
file 4k8.5ck.r20936/37148
K 14
cities.ruleset
V 25
file 4k9.5ck.r21550/17705
K 15
effects.ruleset
V 24
file 4ka.5ck.r21937/7183
K 12
game.ruleset
V 25
file 4kb.5ck.r21976/34655
K 19
governments.ruleset
V 25
file 4kc.5ck.r20936/38167
K 15
nations.ruleset
V 24
file cob.5ck.r21404/5447
K 10
script.lua
V 24
file 4ke.5ck.r21577/3503
K 13
techs.ruleset
V 25
file 4kf.5ck.r21478/16522
K 15
terrain.ruleset
V 25
file 4kg.5ck.r21948/31492
K 13
units.ruleset
V 25
file 4kh.5ck.r21982/97381
END
ENDREP
id: 4k5.5ck.r21982/98214
type: dir
pred: 4k5.5ck.r21976/35487
count: 139
text: 21982 97585 616 616 e2ec4d1470eae55fb67a72698e0021f9
props: 17871 6210 47 0 c348519a2f02d6470452d3eca58ed415
cpath: /trunk/data/experimental
copyroot: 15280 /trunk

PLAIN
K 10
Freeciv.in
V 25
file 2ph.5ck.r20963/33531
K 11
Makefile.am
V 22
file 5l.5ck.r21584/582
K 5
alien
V 24
dir fav.5ck.r21982/96120
K 10
alien.serv
V 26
file fbk.5ck.r21401/149173
K 6
amplio
V 24
dir 340.5ck.r21895/43519
K 15
amplio.tilespec
V 24
file 34t.5ck.r21809/6448
K 7
amplio2
V 24
dir 4na.5ck.r21895/55473
K 16
amplio2.tilespec
V 24
file 4oe.5ck.r21809/7378
K 9
buildings
V 22
dir 3co.0.r12672/18420
K 10
cimpletoon
V 24
dir 78f.5ck.r21511/29701
K 19
cimpletoon.tilespec
V 24
file 78i.5ck.r21809/6693
K 4
civ1
V 23
dir 8l.5ck.r21982/91773
K 9
civ1.serv
V 23
file 8s.5ck.r20880/5228
K 4
civ2
V 23
dir ge.5ck.r21982/92828
K 9
civ2.serv
V 23
file gj.5ck.r20880/5465
K 8
civ2civ3
V 24
dir fum.5ck.r21982/97143
K 13
civ2civ3.serv
V 26
file fv0.5ck.r21614/268172
K 16
civclient.dsc.in
V 27
file 396.5ck.r21487/1507487
K 16
civserver.dsc.in
V 27
file 397.5ck.r21487/1507238
K 17
civserver.room.in
V 23
file 398.0.r12670/25531
K 7
classic
V 24
dir csx.5ck.r21982/95059
K 12
database.lua
V 24
file 6l2.5ck.r21521/4616
K 7
default
V 23
dir 89.5ck.r21968/24468
K 12
default.serv
V 25
file 2xa.5ck.r21163/12081
K 12
experimental
V 24
dir 4k5.5ck.r21982/98214
K 17
experimental.serv
V 24
file 4ki.5ck.r20880/5702
K 5
flags
V 25
dir 2gl.5ck.r21968/211542
K 5
fonts
V 24
dir 2lv.5bk.r13978/23004
K 19
freeciv-client.icns
V 24
file 3fa.0.r12705/354534
K 18
freeciv-client.png
V 24
file 33s.0.r12705/351588
K 19
freeciv-server.icns
V 24
file 3fc.0.r12705/355017
K 18
freeciv-server.png
V 25
file 3fd.5bk.r13732/27487
K 10
freeciv.rc
V 21
file 2yj.0.r10123/605
K 14
freeciv.rc-2.0
V 25
file 11h.5ck.r16281/11565
K 8
graphics
V 26
dir 2x2.5ck.r20928/1051212
K 13
gtk_menus.xml
V 25
file 4hw.5ck.r21081/76305
K 12
helpdata.txt
V 23
file y.5ck.r21778/20096
K 5
hex2t
V 24
dir 3dv.5ck.r21189/25759
K 14
hex2t.tilespec
V 24
file 3e7.5ck.r21809/7134
K 5
icons
V 24
dir 4cb.5ck.r20125/42857
K 7
isophex
V 25
dir 2pl.5ck.r19754/223524
K 16
isophex.tilespec
V 24
file 2pz.5ck.r21809/6202
K 10
isotrident
V 24
dir 13p.5ck.r21895/45366
K 19
isotrident.tilespec
V 24
file 148.5ck.r21809/6884
K 4
misc
V 23
dir jl.5ck.r21968/57273
K 11
multiplayer
V 23
dir 89.5es.r21982/93958
K 16
multiplayer.serv
V 24
file 2xa.5et.r17702/1849
K 6
nation
V 23
dir ot.5ck.r21969/29469
K 9
scenarios
V 22
dir io.5g6.r21797/1634
K 9
stdsounds
V 22
dir 32g.0.r12315/22932
K 19
stdsounds.soundspec
V 24
file 32y.5ck.r21798/5797
K 6
themes
V 23
dir 2m6.5ck.r21910/2771
K 7
trident
V 23
dir eb.5ck.r21895/56890
K 16
trident.tilespec
V 23
file k4.5ck.r21809/5959
K 7
wonders
V 24
dir 3qc.5bk.r13968/51758
END
ENDREP
id: w.5ck.r21982/101034
type: dir
pred: w.5ck.r21979/85531
count: 2701
text: 21982 98458 2563 2563 0937eaba73fee947a68e20840702b0ab
props: 11355 32945 104 0 b8b28eed1bd4d902aad8c746f9403748
cpath: /trunk/data
copyroot: 15280 /trunk

id: n.5ck.r21982/101267
type: file
pred: n.5ck.r21948/35374
count: 855
text: 21982 79914 888 130387 78b2f473753f16f63ce70669a2eea480
props: 11088 14698 112 0 2c9d3e41a2f20488aa9cdb8d740d094e
cpath: /trunk/client/packhand.c
copyroot: 15280 /trunk

id: h1.5ck.r21982/101514
type: file
pred: h1.5ck.r21948/35616
count: 273
text: 21982 5522 137 102232 c2e5539c322e7b3bd4a761570c741d9e
props: 10865 39466 112 0 7c92b74246787b3b87930d3304880700
cpath: /trunk/client/helpdata.c
copyroot: 15280 /trunk

PLAIN
K 11
Makefile.am
V 22
file 5f.5ck.r21128/759
K 6
agents
V 22
dir zf.5ck.r19466/4004
K 11
attribute.c
V 24
file xh.5ck.r19354/73372
K 11
attribute.h
V 24
file xi.5ck.r18863/23649
K 7
audio.c
V 27
file 139.5ck.r21487/1510548
K 7
audio.h
V 25
file 13a.5ck.r18863/23408
K 12
audio_none.c
V 26
file 13d.5ck.r19259/462511
K 12
audio_none.h
V 25
file 13e.5ck.r18863/20841
K 11
audio_sdl.c
V 25
file 13f.5ck.r19354/73618
K 11
audio_sdl.h
V 25
file 13g.5ck.r18863/23885
K 17
chatline_common.c
V 26
file 14q.5ck.r19259/494007
K 17
chatline_common.h
V 25
file 14r.5ck.r18863/23155
K 16
citydlg_common.c
V 24
file z4.5ck.r20946/32049
K 16
citydlg_common.h
V 24
file z5.5ck.r18863/18619
K 13
cityrepdata.c
V 24
file mb.5ck.r20946/32300
K 13
cityrepdata.h
V 24
file mc.5ck.r18863/19121
K 13
client_main.c
V 24
file 2f.5cp.r21302/11898
K 13
client_main.h
V 24
file hz.5cq.r18863/25358
K 8
climap.c
V 24
file 197.5ck.r20232/3008
K 8
climap.h
V 25
file 198.5ck.r18863/24126
K 9
climisc.c
V 25
file d5.5ck.r21517/131107
K 9
climisc.h
V 24
file i0.5ck.r20865/60492
K 8
clinet.c
V 24
file hc.5ck.r20327/24570
K 8
clinet.h
V 24
file i1.5ck.r18863/24866
K 15
colors_common.c
V 26
file 33a.5ck.r19259/421115
K 15
colors_common.h
V 25
file 33b.5ck.r19135/48891
K 19
connectdlg_common.c
V 24
file 2fw.5ck.r20335/9882
K 19
connectdlg_common.h
V 25
file 2fx.5ck.r19154/53802
K 9
control.c
V 22
file gz.5ck.r21742/776
K 9
control.h
V 24
file i2.5ck.r20963/41940
K 7
dummy.c
V 23
file 4f9.5ck.r15641/551
K 12
dummycxx.cpp
V 23
file 6kr.5ck.r18947/939
K 8
editor.c
V 25
file 3bg.5ck.r21363/34475
K 8
editor.h
V 25
file 3bh.5ck.r21141/62583
K 11
ggzclient.c
V 26
file 394.5ck.r20126/104106
K 11
ggzclient.h
V 25
file 395.5ck.r18863/21083
K 17
global_worklist.c
V 26
file 4i6.5ck.r19259/493810
K 17
global_worklist.h
V 25
file 4i7.5ck.r18863/22960
K 6
goto.c
V 22
file vu.5ck.r21906/137
K 6
goto.h
V 24
file vv.5ck.r20865/49000
K 11
gui-gtk-2.0
V 22
dir zs.5ck.r21814/5172
K 11
gui-gtk-3.0
V 22
dir zs.5g7.r21981/4417
K 6
gui-qt
V 24
dir 6ie.5ck.r21803/30021
K 7
gui-sdl
V 24
dir 16t.5ck.r21736/52327
K 8
gui-stub
V 25
dir mh.5ck.r21528/1399294
K 9
gui-win32
V 23
dir np.5ck.r21736/45433
K 7
gui-xaw
V 23
dir 9o.5ck.r21778/38808
K 14
gui_cbsetter.c
V 25
file a3c.5ck.r20753/37570
K 14
gui_cbsetter.h
V 25
file a3d.5ck.r20753/37736
K 15
gui_interface.c
V 24
file 6jm.5ir.r20572/4643
K 15
gui_interface.h
V 25
file 6jn.5is.r20753/26820
K 10
helpdata.c
V 25
file h1.5ck.r21982/101514
K 10
helpdata.h
V 24
file i3.5ck.r21778/46227
K 7
include
V 23
dir b8.5ck.r21778/40949
K 19
luaconsole_common.c
V 22
file 75z.5ck.r20372/58
K 19
luaconsole_common.h
V 25
file 760.5ck.r20306/31022
K 9
luascript
V 22
dir 761.5ck.r20323/104
K 16
mapctrl_common.c
V 25
file 15m.5ck.r20865/59741
K 16
mapctrl_common.h
V 25
file 15n.5ck.r19893/12504
K 16
mapview_common.c
V 23
file z2.5ck.r21536/1428
K 16
mapview_common.h
V 24
file z3.5ck.r20392/39510
K 19
messagewin_common.c
V 25
file 14s.5ck.r19354/71979
K 19
messagewin_common.h
V 25
file 14t.5ck.r18863/21579
K 9
options.c
V 22
file dc.5ck.r21698/436
K 9
options.h
V 23
file i4.5ck.r21446/1226
K 17
overview_common.c
V 24
file 2yk.5ck.r20232/2517
K 17
overview_common.h
V 24
file 2yl.5ck.r19511/5441
K 10
packhand.c
V 24
file n.5ck.r21982/101267
K 10
packhand.h
V 24
file i5.5ck.r18863/20596
K 15
plrdlg_common.c
V 25
file 14u.5ck.r19354/71728
K 15
plrdlg_common.h
V 25
file 14v.5ck.r18863/21328
K 17
repodlgs_common.c
V 26
file 11i.5ck.r21517/113397
K 17
repodlgs_common.h
V 25
file 11j.5ck.r19589/11861
K 9
reqtree.c
V 25
file 2ym.5ck.r20886/25374
K 9
reqtree.h
V 24
file 2yn.5ck.r19057/3837
K 9
servers.c
V 25
file 33x.5ck.r21803/30258
K 9
servers.h
V 25
file 33y.5ck.r20478/36372
K 6
text.c
V 24
file 2g3.5ck.r21739/9168
K 6
text.h
V 25
file 2g4.5ck.r20963/42181
K 15
themes_common.c
V 25
file 352.5ck.r19354/73121
K 15
themes_common.h
V 25
file 353.5ck.r18863/22710
K 10
tilespec.c
V 24
file hl.5ck.r21811/19166
K 10
tilespec.h
V 24
file i6.5ck.r21141/62091
K 19
unitselect_common.c
V 24
file 76v.5ck.r20397/3580
K 19
unitselect_common.h
V 24
file 76w.5ck.r20397/3746
K 14
update_queue.c
V 25
file 4jw.5ck.r20393/70780
K 14
update_queue.h
V 25
file 4jx.5ck.r18863/22078
K 10
voteinfo.c
V 25
file 4fe.5ck.r19354/72931
K 10
voteinfo.h
V 25
file 4ff.5ck.r18863/22523
END
ENDREP
id: d.5ck.r21982/106047
type: dir
pred: d.5ck.r21981/8964
count: 5501
text: 21982 101762 4272 4272 990aac8d11da0432c6be2bc93431270f
props: 20641 0 184 0 7e44dc5a5223e43acf7a5285ba8bedd0
cpath: /trunk/client
copyroot: 15280 /trunk

PLAIN
K 9
ABOUT-NLS
V 22
file fu.0.r13215/85704
K 7
AUTHORS
V 19
file 5u.0.r12982/94
K 7
COPYING
V 19
file 1h.0.r9643/400
K 9
ChangeLog
V 26
file 6l.5ck.r20415/4358289
K 7
INSTALL
V 22
file 6.5ck.r21468/8473
K 11
Makefile.am
V 21
file 59.5ck.r21951/47
K 4
NEWS
V 22
file 6m.5ck.r21786/165
K 6
README
V 20
file 7.0.r4421/96382
K 2
ai
V 21
dir 8.5ck.r21967/9484
K 10
autogen.sh
V 23
file 12o.5ck.r21323/726
K 9
bootstrap
V 23
dir 2p5.5ck.r21837/1253
K 6
client
V 23
dir d.5ck.r21982/106047
K 6
common
V 22
dir p.5ck.r21982/86293
K 12
configure.ac
V 24
file 149.5ck.r21924/3236
K 4
data
V 23
dir w.5ck.r21982/101034
K 6
debian
V 24
dir 5w.5ck.r21460/324392
K 12
dependencies
V 23
dir 2yu.5ck.r21897/1754
K 11
diff_ignore
V 24
file qq.5ck.r21039/26581
K 3
doc
V 23
dir k7.5ck.r21967/11699
K 10
fc_version
V 25
file 2lo.5en.r21982/86525
K 2
m4
V 23
dir 12p.5ck.r21924/3012
K 2
po
V 24
dir fs.5ck.r21968/216780
K 7
scripts
V 22
dir 2yo.5ck.r21694/735
K 6
server
V 22
dir z.5ck.r21982/90729
K 5
tests
V 23
dir 2g9.5ck.r20384/1173
K 5
tools
V 24
dir 4pj.5js.r21872/17668
K 7
utility
V 22
dir 1c.5ck.r21912/3251
K 3
vms
V 25
dir u9.5ck.r21528/1396085
K 5
win32
V 23
dir 2eu.5ck.r21785/1378
END
ENDREP
id: 3.5ck.r21982/107470
type: dir
pred: 3.5ck.r21981/10382
count: 15830
text: 21982 106278 1179 1179 78b9819fa39415776c50e645e1f71e19
props: 20140 3888 282 0 e4bb46e81629a60eef613b169b23a9ea
cpath: /trunk
copyroot: 15280 /trunk

PLAIN
K 8
branches
V 19
dir 1.0.r21975/5819
K 4
tags
V 19
dir 2.0.r21795/5838
K 5
trunk
V 23
dir 3.5ck.r21982/107470
K 7
website
V 18
dir 3ge.0.r12388/0
END
ENDREP
id: 0.0.r21982/107863
type: dir
pred: 0.0.r21981/10772
count: 21982
text: 21982 107699 151 151 c967cc39c78941765dbac089cf27dac3
cpath: /
copyroot: 0 /

2lo.5en.t21981-1 modify true false /trunk/fc_version

va.5ck.t21981-1 modify true false /trunk/common/unittype.h

8r.5ck.t21981-1 modify true false /trunk/data/civ1/units.ruleset

go.5ck.t21981-1 modify true false /trunk/data/civ2/units.ruleset

8v.5es.t21981-1 modify true false /trunk/data/multiplayer/units.ruleset

n.5ck.t21981-1 modify true false /trunk/client/packhand.c

8w.5ck.t21981-1 modify true false /trunk/server/ruleset.c

wp.5ck.t21981-1 modify true false /trunk/common/combat.c

8v.5jr.t21981-1 modify true false /trunk/data/classic/units.ruleset

2f5.5ck.t21981-1 modify true false /trunk/common/packets.def

h1.5ck.t21981-1 modify true false /trunk/client/helpdata.c

wq.5ck.t21981-1 modify true false /trunk/common/combat.h

fbj.5ck.t21981-1 modify true false /trunk/data/alien/units.ruleset

fuz.5ck.t21981-1 modify true false /trunk/data/civ2civ3/units.ruleset

v9.5ck.t21981-1 modify true false /trunk/common/unittype.c

4kh.5ck.t21981-1 modify true false /trunk/data/experimental/units.ruleset


107863 108015
