/usr/share/games/freeciv/multiplayer/game.ruleset is in freeciv-data 2.5.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 | ; 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.
; Note that the freeciv AI may not cope well with anything more
; than minor changes.
[datafile]
description="Multiplayer game rules for Freeciv"
options="+Freeciv-2.5-ruleset"
[about]
; Ruleset name
name = _("Multiplayer ruleset")
; Description of the ruleset
description = _("\
You are playing Freeciv with rules designed for multiplayer gaming. \
The biggest differences from the classic ruleset are that trade routes \
are disabled, and that most wonders can be built once by each player, \
and affect only cities on the same continent. A full description of \
the differences can be found in README.ruleset_multiplayer.\
")
[options]
global_init_techs=""
global_init_buildings="Palace"
[civstyle]
; Value added to city pollution
base_pollution = -20
; Cost in luxuries of making one citizen happier
happy_cost = 2
; Cost in food of upkeeping a single citizen
food_cost = 2
; Parameters used to generalize the calculation of city granary size:
; if city_size <= num_inis:
; city_granary_size = (granary_food_ini[city_size] * foodbox / 100)
; if city_size > num_inis;
; city_granary_size = (granary_food_ini[num_inis] +
; granary_food_inc * (city_size - num_inis)) * foodbox / 100
granary_food_ini = 20
granary_food_inc = 10
; City center minimum outputs
min_city_center_food = 1
min_city_center_shield = 1
min_city_center_trade = 0
; Square of initial city radius
init_city_radius_sq = 5
; Square of initially visible radius (true distance).
init_vis_radius_sq = 5
; The type of collateral contamination produced by a nuclear attack.
; "Pollution" - Pollution (same as industrial/population-generated).
; "Fallout" - Nuclear Fallout (distinct from industrial/population).
nuke_contamination = "Fallout"
; A base bribe cost, modified heavily by other factors
base_bribe_cost = 750
; Barbarian leader ransom in gold
ransom_gold = 100
; Number of veteran levels lost when upgrading a unit
upgrade_veteran_loss = 0
; Number of veteran levels lost when auto-upgrading a unit
autoupgrade_veteran_loss = 0
; Whether player gets to select which terrain improvement to pillage.
pillage_select = TRUE
; Whether civil war is possible at all
civil_war_enabled = TRUE
; Comma separated list of things to happen, in addition to death
; of owner, when gameloss unit dies
; "CivilWar" - Part of the empire remains, controlled by a new player
; "Barbarians" - Depending on if there`s also "CivilWar", all or part
; or half of the dead players empire gets under barbarian
; control.
; "Loot" - Player who killed the gameloss unit gets loot:
; Partial map, gold, techs, cities
gameloss_style = ""
; Whether units may safely paradrop to transport on non-native terrain
paradrop_to_transport = FALSE
; Method of paying unit and improvement gold upkeep
; 0 - The player`s total gold must be non-negative after paying upkeep
; costs associated with each city. If for any city the player`s gold
; is negative, random buildings in the city are sold off. If the gold
; is still negative, then supported units with gold upkeep are
; disbanded.
; 1 - In the first step, the player`s total gold must be non-negative after
; paying upkeep for all buildings within a city. If for any city the
; player`s gold is negative, random buildings in the city are sold off.
; In the second step, gold upkeep for all units is paid in a lump sum.
; If the player does not have enough gold, random units with gold upkeep
; are disbanded.
; 2 - Gold upkeep for all buildings and units is paid in a lump sum after
; all cities have been processed. If the player does not have enough
; gold, alternatively a random buildings from a random cities is sold
; and a random units with gold upkeep is disbanded till the treasury is
; balanced.
gold_upkeep_style = 0
; Method of calculating technology costs
; 0 - Civ (I|II) style. Every new tech add researchcost to cost of next tech.
; 1 - Cost of technology is:
; MAX((1+parents) * (researchcost/2) * sqrt(1+parents), researchcost)
; where num_parents == number of requirement for tech, counted
; recursively.
; 2 - Cost are read from tech.ruleset. Missing costs are generated by
; style 1.
; 3 - Cost of technology is:
; cost = base * (reqs - 1)^2 / (1 + sqrt(sqrt(reqs))) - base/2
; 4 - Cost are read from tech.ruleset. Missing costs are generated by
; style 3.
tech_cost_style = 1
; Base research cost for tech styles 1 & 2
base_tech_cost = 20
; Technology leak from other civilizations
; 0 - No reduction of the technology cost.
; 1 - Technology cost is reduced depending on the number of players
; which already know the tech and you have an embassy with.
; 2 - Technology cost is reduced depending on the number of all players
; (human, AI and barbarians) which already know the tech.
; 3 - Technology cost is reduced depending on the number of normal
; players (human and AI) which already know the tech.
tech_leakage = 0
[illness]
; Whether plagues (illness) are possible
illness_on = FALSE
; the base factor for illness (of percent)
illness_base_factor = 25
; minimum city size for illness
illness_min_size = 3
; factor for how much trading with a plagued city increases our city`s
; chance for plague (in percent)
illness_trade_infection = 0
; factor for how much pollution within a city increases its chance for
; plague (in percent)
illness_pollution_factor = 50
[incite_cost]
; city_incite_cost = total_factor * (city_size) * (base_incite_cost
; + (units_cost) * unit_factor
; + (improvements_cost) * improvement_factor)
; / ((distance to capital) * 100)
; See city_incite_cost() for more details
base_incite_cost = 10000
improvement_factor = 1
unit_factor = 2
total_factor = 10000
[global_unit_options]
; Shore landing style
; FALSE - normal movement
; TRUE - (default) slow invasions by removing all
; movement points from ground units moving
; from ocean tile to land
slow_invasions = TRUE
[combat_rules]
; If tired_attack is set to TRUE, units that attack with less than a single
; move point (per move_fragments in terrain.ruleset) will have their attack
; power reduced accordingly. For instance, if move_fragments=3, a unit with
; 2/3 move points will have attack power 2/3 of normal.
; If this is set to FALSE units will attack with full strength even if they
; have only fractional moves left.
tired_attack = FALSE
[borders]
; Base border radius from city.
radius_sq_city = 17
; Border radius square increased by this amount / point of city size
size_effect = 1
[research]
; Method of paying tech upkeep
; "None" - no upkeep
; "Basic" - upkeep is calculated as:
; <Cost of technology> / tech_upkeep_divider - tech_upkeep_free
; "Cities" - upkeep is calculated like "Basic", but multiplied by number of cities
tech_upkeep_style = "None"
; upkeep cost is divided by this value
tech_upkeep_divider = 2000
; Method of selecting techs given for free
; "Goal" - Towards player`s goal, random if no goal
; "Random" - Random researchable tech
; "Cheapest" - Cheapest researchable tech, random among equal cost ones
free_tech_method = "Goal"
[calendar]
; Year in the beginning of the game
start_year = -4000
; Year 1 instead of 0.
skip_year_0 = TRUE
; What labels are used for positive and negative years.
; /* TRANS: year label (Common Era) */
positive_label = _("CE")
; /* TRANS: year label (Before Common Era) */
negative_label = _("BCE")
; /* <-- avoid gettext warnings
;
; Disaster types:
;
; name = translatable name as seen by user
; reqs = requirements for disaster to happen (see effects.ruleset
; and README.effects for help on requirements)
; frequency = how likely disaster is to occur
; effects
; - "DestroyBuilding" = Random building is destroyed
; - "ReducePopulation" = Reduce city size by one unless it's already 1
; - "EmptyFoodStock" = Remove all food from food stock
; - "EmptyProdStock" = Destroy current production
; - "Pollution" = One tile surrounding city polluted
; - "Fallout" = One tile surrounding city polluted with fallout
;
; */ <-- avoid gettext warnings
; No disasters in multiplayer ruleset
;
; Trade settings
;
; IN = international, IC = intercontinental.
; For each of the trade route types:
; "pct" - Trade income %. If this is 0, trade route cannot be
; established at all
; "cancelling" - What to do to previously established traderoutes when they
; turn illegal
; "Active" - Keep them active (although they will only
; provide nonzero income if illegal due to
; trademindist rather than pct==0)
; "Inactive" - Keep them inactive
; "Cancel" - Cancel them altogether
;
[trade]
settings =
{ "type", "pct", "cancelling"
"National", 0, "Cancel"
"NationalIC", 0, "Cancel"
"IN", 0, "Cancel"
"INIC", 0, "Cancel"
}
[playercolors]
background.r = 86
background.g = 86
background.b = 86
; Player colors for 32 players are defined below.
; Avoid greens, blues, and white / very pale colors (too easy to confuse
; with terrain).
; Avoid dark colors.
colorlist =
{ "r", "g", "b"
255, 0, 0 ; Red
255, 255, 0 ; Yellow
0, 255, 255 ; Blue
138, 43, 226 ; Purple
255, 165, 0 ; Orange
255, 0, 255 ; Magenta
173, 216, 230 ; Cornflower
0, 255, 127 ; Emerald
250, 128, 114 ; Salmon
124, 252, 0 ; Green
139, 0, 0 ; Burgundy
255, 192, 203 ; Pink
211, 211, 211 ; Silver
218, 112, 214 ; Heliotrope
255, 20, 147 ; Fuchsia
100, 149, 237 ; Azure
255, 215, 0 ; Gold
245, 222, 179 ; Khaki
255, 255, 128 ; Butter
192, 255, 128 ; Mint
204, 255, 0 ; Lime
255, 211, 140 ; Peach
255, 79, 0 ; Vermilion
240, 145, 169 ; Puce
255, 219, 88 ; Mustard
153, 17, 153 ; Aubergine
184, 134, 11 ; Brown
255, 102, 0 ; Pumpkin
102, 205, 170 ; Turquoise
195, 33, 72 ; Crimson
168, 153, 230 ; Lavender
255, 250, 205 ; Cream
}
[teams]
; Team names correspond roughly to colors defined above, so that
; plrcolormode=TEAM_ORDER is not gratuitously confusing.
names =
; /* TRANS: Name of a color; used as unique identifier for a team */
; /* TRANS: With this and other color team names, uniqueness is more */
; /* TRANS: important than precise translation. To see the colors, start a */
; /* TRANS: multiplayer game with 32 players and look at the Nations report. */
_("?team name:Red"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Yellow"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Blue"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Purple"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Orange"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Magenta"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Cornflower"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Emerald"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Salmon"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Green"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Burgundy"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Pink"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Silver"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Heliotrope"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Fuchsia"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Azure"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Gold"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Khaki"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Butter"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Mint"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Lime"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Peach"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Vermilion"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Puce"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Mustard"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Aubergine"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Brown"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Pumpkin"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Turquoise"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Crimson"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Lavender"),
; /* TRANS: Name of a color; used as unique identifier for a team */
_("?team name:Cream")
[settings]
set =
{ "name", "value", "lock"
"minplayers", 2, FALSE
"generator", "ISLAND", FALSE
"topology", "WRAPX|WRAPY|ISO", FALSE
"startpos", "SINGLE", FALSE
"tinyisles", FALSE, FALSE
"alltemperate", TRUE, FALSE
"separatepoles", FALSE, FALSE
"huts", 0, FALSE
"aifill", 0, FALSE
"dispersion", 0, FALSE
"diplomacy", "DISABLED", FALSE
"contactturns", 0, FALSE
"revolen", 2, FALSE
"barbarians", "DISABLED", FALSE
"techpenalty", 0, FALSE
"startunits", "cccwwwxxxx", FALSE
"specials", 350, FALSE
"borders", "DISABLED", FALSE
}
|