webperimental: killstack decides stack protects.
[freeciv.git] / data / civ1 / game.ruleset
blobe978d80904a54a049950f76a007927248c36328a
1 ; Modifying this file:
2 ; You should not modify this file except to make bugfixes or
3 ; for other "maintenance".  If you want to make custom changes,
4 ; you should create a new datadir subdirectory and copy this file
5 ; into that directory, and then modify that copy.  Then use the
6 ; command "rulesetdir <mysubdir>" in the server to have freeciv
7 ; use your new customized file.
9 ; Note that the freeciv AI may not cope well with anything more
10 ; than minor changes.
12 [datafile]
13 description="Civ1-style game rules for Freeciv"
14 options="+Freeciv-ruleset-Devel-2017.Jan.02"
15 format_version=20
17 ; This section contains meta information for freeciv-ruledit to recreate the ruleset
18 ; file in a form wanted. These have no in-game effect whatsoever
19 [ruledit]
21 ; Which file to read description in from.
22 ;description_file = ""
24 [about]
25 ; Ruleset name
26 name = _("Civ1 ruleset")
28 ; There`s no separate versioning in rulesets part of main freeciv distribution
29 ;version = ""
31 ; Summary of the ruleset
32 summary = _("\
33 You are playing with civ1 style rules. \
34 These rules are much simpler than the Freeciv default rules. \
35 If you know only the default rules, spend some time checking the \
36 differences.\
37 \n\n\
38  * There are fewer technologies, buildings and units.\n\
39  * Units have no hitpoints. If they win a battle, they remain in full health.\n\
42 ; Detailed description
43 ; When updating this, update also desciption_file in [ruledit] section to match
44 ; description = ""
46 ; What capabilities ruleset provides for the scenarios.
47 capabilities = ""
49 [options]
50 global_init_techs=""
51 global_init_buildings="Palace"
53 [civstyle]
54 ; Parameters used to generalize the calculation of city granary size:
55 ;   if city_size <= num_inis:
56 ;     city_granary_size = (granary_food_ini[city_size] * foodbox / 100)
57 ;   if city_size > num_inis;
58 ;     city_granary_size = (granary_food_ini[num_inis] +
59 ;        granary_food_inc * (city_size - num_inis)) * foodbox / 100
60 granary_food_ini = 20
61 granary_food_inc = 10
63 ; City center minimum outputs
64 min_city_center_food    = 0
65 min_city_center_shield  = 0
66 min_city_center_trade   = 0
68 ; Square of initial city radius
69 init_city_radius_sq     = 5
71 ; Square of initially visible radius (true distance).
72 init_vis_radius_sq      = 2
74 ; Number of veteran levels lost when upgrading a unit
75 upgrade_veteran_loss     = 10
77 ; Number of veteran levels lost when auto-upgrading a unit
78 autoupgrade_veteran_loss = 10
80 ; Whether player gets to select which terrain improvement to pillage.
81 pillage_select           = FALSE
83 ; Whether one can steal a tech for which prereqs are not known
84 tech_steal_allow_holes    = TRUE
85 ; Whether one can get a tech for which prereqs are not known via
86 ; diplomatic trading
87 tech_trade_allow_holes    = TRUE
88 ; ...and whether one can lose a tech which is prereq for another known
89 ; tech via trade, if techlost_donor is nonzero
90 tech_trade_loss_allow_holes = TRUE
91 ; Whether one can get a tech for which prereqs are not known via
92 ; parasite effect (Great Library)
93 tech_parasite_allow_holes = TRUE
94 ; Whether one can lose a tech which is prereq for another known tech
95 ; due to negative bulbs, if techlossforgiveness allows loss
96 tech_loss_allow_holes     = TRUE
98 ; Whether civil war is possible at all
99 civil_war_enabled        = TRUE
101 ; Comma separated list of things to happen, in addition to death
102 ; of owner, when gameloss unit dies
103 ; "CivilWar"   - Part of the empire remains, controlled by a new player
104 ; "Barbarians" - Depending on if there`s also "CivilWar", all or part
105 ;                or half of the dead players empire gets under barbarian
106 ;                control.
107 ; "Loot"       - Player who killed the gameloss unit gets loot:
108 ;                Partial map, gold, techs, cities
109 gameloss_style           = ""
111 ; Whether units may safely paradrop to transport on non-native terrain
112 paradrop_to_transport    = FALSE
114 ; Method of paying unit and improvement gold upkeep
115 ; "City" - The player`s total gold must be non-negative after paying upkeep
116 ;          costs associated with each city. If for any city the player`s
117 ;          gold is negative, random buildings in the city are sold off. If
118 ;          the gold is still negative, then supported units with gold upkeep
119 ;          are disbanded.
120 ; "Mixed" - In the first step, the player`s total gold must be non-negative
121 ;           after paying upkeep for all buildings within a city. If for any
122 ;           city the player`s gold is negative, random buildings in the city
123 ;           are sold off.
124 ;           In the second step, gold upkeep for all units is paid in a lump
125 ;           sum. If the player does not have enough gold, random units with
126 ;           gold upkeep are disbanded.
127 ; "Nation" - Gold upkeep for all buildings and units is paid in a lump sum
128 ;            after all cities have been processed. If the player does not
129 ;            have enough gold, random buildings from random cities are sold.
130 ;            If still more gold is needed, then random units with gold
131 ;            upkeep are disbanded.
132 gold_upkeep_style = "City"
134 [illness]
135 ; Whether plagues (illness) are possible
136 illness_on = FALSE
138 ; the base factor for illness (of percent)
139 illness_base_factor = 25
141 ; minimum city size for illness
142 illness_min_size = 3
144 ; factor for how much trading with a plagued city increases our city`s
145 ; chance for plague (in percent)
146 illness_trade_infection = 50
148 ; factor for how much pollution within a city increases its chance for
149 ; plague (in percent)
150 illness_pollution_factor = 50
152 [incite_cost]
153 ; city_incite_cost = total_factor * (city_size) * (base_incite_cost
154 ;                      + (units_cost) * unit_factor
155 ;                      + (improvements_cost) * improvement_factor)
156 ;                    / ((distance to capital) * 100)
157 ; See city_incite_cost() for more details
158 improvement_factor = 1
159 unit_factor = 2
160 total_factor = 100
162 [combat_rules]
163 ; If tired_attack is set to TRUE, units that attack with less than a single
164 ; move point (per move_fragments in terrain.ruleset) will have their attack
165 ; power reduced accordingly. For instance, if move_fragments=3, a unit with
166 ; 2/3 move points will have attack power 2/3 of normal.
167 ; If this is set to FALSE units will attack with full strength even if they
168 ; have only fractional moves left.
169 tired_attack = TRUE
171 [auto_attack]
172 ; An auto attack may be triggered when another unit moves to an adjacent
173 ; tile and the autoattack server setting is enabled. The following details
174 ; are ruleset controlled.
175 ;   will_never - units with this unit type flag will never auto attack.
177 ; Not a good idea to nuke our own area.
178 will_never = "Nuclear"
180 [actions]
181 ; If force_trade_route is set to TRUE it is illegal for an actor unit to
182 ; enter the marketplace of a city if it can establish a trade route to it
183 ; in stead.
184 force_trade_route = TRUE
186 ; If force_capture_units is set to TRUE it is illegal for an actor unit to
187 ; bombard, explode nuclear or perform a regular attack against a tile if
188 ; it can capture units on it in stead.
189 force_capture_units = FALSE
191 ; If force_bombard is set to TRUE it is illegal for an actor unit to
192 ; explode nuclear or perform a regular attack against a tile if it can
193 ; bombard it in stead.
194 force_bombard = FALSE
196 ; If force_explode_nuclear is set to TRUE it is illegal for an actor unit
197 ; to perform a regular attack against a tile if it can do explode nuclear
198 ; in stead.
199 force_explode_nuclear = TRUE
201 ; If poison_empties_food_stock is set to TRUE a successful "Poison City"
202 ; will empty the food stock.
203 poison_empties_food_stock = FALSE
205 ; The maximum distance from the actor unit to the target of the "Bombard"
206 ; action. The value 1 means that the targets must be on a tile adjacent to
207 ; the actor unit. The special value "unlimited" lifts the maximum distance
208 ; restriction. The maximum distance can`t be smaller than the minimum
209 ; distance.
210 bombard_max_range = 1
212 ; What each action should be called when showing them to the player.
213 ; The first %s should be before the mnemonic of the action. A Freeciv client
214 ; that supports mnemonics will replace it with the in-band signal that marks
215 ; the following character as a mnemonic in its graphical toolkit.
216 ; The second %s marks where extra details should be inserted.
218 ; /* TRANS: _Poison City (3% chance of success). */
219 ui_name_poison_city = _("%sPoison City%s")
221 ; /* TRANS: _Bribe Enemy Unit (3% chance of success). */
222 ui_name_bribe_unit = _("%sBribe Enemy Unit%s")
224 ; /* TRANS: _Sabotage City (3% chance of success). */
225 ui_name_sabotage_city = _("%sSabotage City%s")
227 ; /* TRANS: Incite a _Revolt (3% chance of success). */
228 ui_name_incite_city = _("Incite a %sRevolt%s")
230 ; /* TRANS: Becom_e Ambassador (100% chance of success). */
231 ui_name_establish_embassy_stay = _("Becom%se Ambassador%s")
233 ; /* TRANS: Steal _Technology (3% chance of success). */
234 ui_name_steal_tech = _("Steal %sTechnology%s")
236 ; /* TRANS: _Investigate City (spends the unit) (100% chance of success). */
237 ui_name_investigate_city_spend_unit = _("%sInvestigate City (spends the unit)%s")
239 ; /* TRANS: Establish Trade _Route (100% chance of success). */
240 ui_name_establish_trade_route = _("Establish Trade %sRoute%s")
242 ; /* TRANS: Enter _Marketplace (100% chance of success). */
243 ui_name_enter_marketplace = _("Enter %sMarketplace%s")
245 ; /* TRANS: Help _build Wonder (100% chance of success). */
246 ui_name_help_wonder = _("Help %sbuild Wonder%s")
248 ; /* TRANS: Rec_ycle Unit (100% chance of success). */
249 ui_name_recycle_unit = _("Rec%sycle Unit%s")
251 ; /* TRANS: _You're Fired (100% chance of success). */
252 ui_name_disband_unit = _("%sYou're Fired%s")
254 ; /* TRANS: _Build City (100% chance of success). */
255 ui_name_found_city = _("%sBuild City%s")
257 ; /* TRANS: _Add to City (100% chance of success). */
258 ui_name_join_city = _("%sAdd to City%s")
260 ; /* TRANS: Explode _Nuclear (100% chance of success). */
261 ui_name_explode_nuclear = _("Explode %sNuclear%s")
263 ; /* TRANS: Set _Home City (100% chance of success). */
264 ui_name_home_city = _("Set %sHome City%s")
266 ; /* TRANS: _Upgrade Unit (100% chance of success). */
267 ui_upgrade_unit = _("%sUpgrade Unit%s")
269 ; /* TRANS: _Airlift to City (100% chance of success). */
270 ui_airlift_unit = _("%sAirlift to City%s")
272 ; /* TRANS: _Attack (100% chance of success). */
273 ui_name_attack = _("%sAttack%s")
275 ; /* TRANS: _Conquer City (100% chance of success). */
276 ui_name_conquer_city = _("%sConquer City%s")
278 ; Suppress automatic help text generation about what enables and/or
279 ; disables the following actions.
281 ; Can make the help text less redundant when you document it your self.
282 ;quiet_actions = "Targeted Sabotage City", "Targeted Steal Tech"
284 ; /* <-- avoid gettext warnings
286 ; Action enablers:
288 ; action               = the action to enable.
289 ; actor_reqs           = requirements that apply to the actor.
290 ; target_reqs          = requirements that apply to the target.
292 ; README.actions lists the possible actions and their hard coded
293 ; requirements.
295 ; An action enabler is active when its actor_reqs AND its target_reqs are
296 ; satisfied.
298 ; */ <-- avoid gettext warnings
300 [actionenabler_sabotage_city]
301 action = "Sabotage City"
302 actor_reqs    =
303     { "type",   "name", "range"
304       "UnitFlag", "Diplomat", "Local"
305       "DiplRel", "War", "Local"
306       "UnitState", "OnLivableTile", "Local"
307       "MinMoveFrags", "1", "Local"
308     }
310 [actionenabler_establish_embassy]
311 action       = "Establish Embassy Stay"
312 actor_reqs    =
313     { "type",         "name",          "range"
314       "UnitFlag",     "Diplomat",      "Local"
315       "UnitState",    "OnLivableTile", "Local"
316       "MinMoveFrags", "1",             "Local"
317       "DiplRel",      "Foreign",       "Local"
318     }
319 target_reqs  =
320     { "type",        "name",      "range",  "present"
321       "NationGroup", "Barbarian", "Player", FALSE
322     }
324 [actionenabler_investigate_city]
325 action       = "Investigate City Spend Unit"
326 actor_reqs    =
327     { "type",   "name", "range"
328       "UnitFlag", "Diplomat", "Local"
329       "UnitState", "OnLivableTile", "Local"
330       "MinMoveFrags", "1", "Local"
331       "DiplRel", "Foreign", "Local"
332     }
334 [actionenabler_steal_tech_random]
335 action = "Steal Tech"
336 actor_reqs    =
337     { "type",   "name", "range"
338       "UnitFlag", "Diplomat", "Local"
339       "UnitState", "OnLivableTile", "Local"
340       "MinMoveFrags", "1", "Local"
341       "DiplRel", "Foreign", "Local"
342     }
343 target_reqs  =
344     { "type",   "name", "range", "present"
345       "NationGroup", "Barbarian", "Player", FALSE
346     }
348 [actionenabler_incite_city]
349 action = "Incite City"
350 actor_reqs    =
351     { "type",   "name", "range", "present"
352       "UnitFlag", "Diplomat", "Local", TRUE
353       "DiplRel", "Alliance", "Local", FALSE
354       "DiplRel", "Team", "Local", FALSE
355       "UnitState", "OnLivableTile", "Local", TRUE
356       "MinMoveFrags", "1", "Local", TRUE
357       "DiplRel", "Foreign", "Local", TRUE
358     }
359 target_reqs  =
360     { "type",   "name", "range", "present"
361       "Gov", "Democracy", "Player", FALSE
362       "Building", "Palace", "City", FALSE
363     }
365 [actionenabler_bribe_unit]
366 action = "Bribe Unit"
367 actor_reqs    =
368     { "type",   "name", "range", "present"
369       "UnitFlag", "Diplomat", "Local", TRUE
370       "DiplRel", "Alliance", "Local", FALSE
371       "DiplRel", "Team", "Local", FALSE
372       "UnitState", "OnLivableTile", "Local", TRUE
373       "MinMoveFrags", "1", "Local", TRUE
374       "DiplRel", "Foreign", "Local", TRUE
375     }
376 target_reqs    =
377     { "type",   "name", "range", "present"
378       "CityTile", "Center", "Local", FALSE
379       "Gov", "Democracy", "Player", FALSE
380       "MaxUnitsOnTile", "1", "Local", TRUE
381     }
383 [actionenabler_traderoute]
384 action = "Establish Trade Route"
385 actor_reqs    =
386     { "type",   "name", "range", "present"
387       "UnitFlag", "TradeRoute", "Local", TRUE
388     }
390 [actionenabler_marketplace]
391 action = "Enter Marketplace"
392 actor_reqs    =
393     { "type",   "name", "range", "present"
394       "UnitFlag", "TradeRoute", "Local", TRUE
395     }
397 [actionenabler_help_build_wonder]
398 action = "Help Wonder"
399 actor_reqs    =
400     { "type",   "name", "range", "present"
401       "UnitFlag", "HelpWonder", "Local", TRUE
402       "DiplRel", "Foreign", "Local", FALSE
403     }
404 target_reqs    =
405     { "type",   "name", "range"
406       "BuildingGenus", "GreatWonder", "Local"
407     }
409 [actionenabler_help_build_small_wonder]
410 action = "Help Wonder"
411 actor_reqs    =
412     { "type",   "name", "range", "present"
413       "UnitFlag", "HelpWonder", "Local", TRUE
414       "DiplRel", "Foreign", "Local", FALSE
415     }
416 target_reqs    =
417     { "type",   "name", "range"
418       "BuildingGenus", "SmallWonder", "Local"
419     }
421 [actionenabler_recycle_unit]
422 action = "Recycle Unit"
423 actor_reqs    =
424     { "type",   "name", "range", "present"
425       "UnitFlag", "EvacuateFirst", "Local", FALSE
426       "DiplRel",  "War",        "Local", FALSE
427       "DiplRel",  "Cease-fire", "Local", FALSE
428       "DiplRel",  "Armistice",  "Local", FALSE
429       "DiplRel",  "Peace",      "Local", FALSE
430     }
432 [actionenabler_disband_unit]
433 action = "Disband Unit"
434 actor_reqs    =
435     { "type",   "name", "range", "present"
436       "UnitFlag", "EvacuateFirst", "Local", FALSE
437     }
439 [actionenabler_build_city_pioneer]
440 action = "Found City"
441 actor_reqs    =
442     { "type",   "name", "range"
443       "UnitFlag", "Cities", "Local"
444       "UnitState", "OnLivableTile", "Local"
445       "MinMoveFrags", "1", "Local"
446     }
447 target_reqs    =
448     { "type",   "name", "range", "present"
449       "CityTile", "Claimed", "Local", FALSE
450     }
452 [actionenabler_build_city_domestic]
453 action = "Found City"
454 actor_reqs    =
455     { "type",   "name", "range", "present"
456       "UnitFlag", "Cities", "Local", TRUE
457       "UnitState", "OnLivableTile", "Local", TRUE
458       "MinMoveFrags", "1", "Local", TRUE
459       "DiplRel", "Foreign", "Local", FALSE
460     }
462 [actionenabler_join_city]
463 action = "Join City"
464 actor_reqs    =
465     { "type",   "name", "range", "present"
466       "UnitFlag", "AddToCity", "Local", TRUE
467       "DiplRel", "Foreign", "Local", FALSE
468       "MinMoveFrags", "1", "Local", TRUE
469     }
471 [actionenabler_nuke]
472 action = "Explode Nuclear"
473 actor_reqs    =
474     { "type",   "name", "range", "present"
475       "UnitFlag", "Nuclear", "Local", TRUE
476     }
478 [actionenabler_attack_native]
479 action = "Attack"
480 actor_reqs    =
481     { "type",         "name",         "range", "present"
482       "UnitFlag",     "NonMil",       "Local", FALSE
483       "MinMoveFrags", "1",            "Local", TRUE
484       "UnitState",    "OnNativeTile", "Local", TRUE
485     }
487 [actionenabler_attack_att_from_non_native]
488 action = "Attack"
489 actor_reqs    =
490     { "type",         "name",   "range", "present"
491       "UnitFlag",     "NonMil", "Local", FALSE
492       "MinMoveFrags", "1",      "Local", TRUE
493       "UnitClass",    "Sea",    "Local", TRUE
494     }
496 [actionenabler_conquer_city_native]
497 action = "Conquer City"
498 actor_reqs    =
499     { "type",           "name",          "range", "present"
500       "UnitClassFlag",  "CanOccupyCity", "Local", TRUE
501       "UnitFlag",       "NonMil",        "Local", FALSE
502       "DiplRel",        "War",           "Local", TRUE
503       "MinMoveFrags",   "1",             "Local", TRUE
504       "UnitState",      "OnLivableTile", "Local", TRUE
505     }
506 target_reqs    =
507     { "type",           "name",          "range", "present"
508       "MaxUnitsOnTile", "0",             "Local", TRUE
509     }
511 [actionenabler_conquer_city_att_from_non_native]
512 action = "Conquer City"
513 actor_reqs    =
514     { "type",          "name",          "range", "present"
515       "UnitClassFlag", "CanOccupyCity", "Local", TRUE
516       "UnitFlag",      "NonMil",        "Local", FALSE
517       "DiplRel",       "War",           "Local", TRUE
518       "MinMoveFrags",  "1",             "Local", TRUE
519       "UnitClass",     "Sea",           "Local", TRUE
520     }
521 target_reqs    =
522     { "type",           "name",          "range", "present"
523       "MaxUnitsOnTile", "0",             "Local", TRUE
524     }
526 [actionenabler_change_home_city]
527 action = "Home City"
528 actor_reqs    =
529     { "type",      "name",        "range", "present"
530       "UnitFlag",  "NoHome",      "Local", FALSE
531       "UnitState", "HasHomeCity", "Local", TRUE
532       "DiplRel",   "Foreign",  "Local", FALSE
533     }
535 [actionenabler_upgrade_unit]
536 action = "Upgrade Unit"
537 actor_reqs    =
538     { "type",    "name",       "range", "present"
539       "DiplRel", "Foreign", "Local", FALSE
540     }
542 [actionenabler_airlift_unit]
543 action = "Airlift Unit"
544 actor_reqs    =
545     { "type",          "name",         "range", "present"
546       "UnitClass",     "Land",         "Local", TRUE
547       "UnitState",     "Transporting", "Local", FALSE
548       "MinMoveFrags",  "1",            "Local", TRUE
549     }
551 [borders]
552 ; Base border radius from city.
553 radius_sq_city = 17
555 ; Border radius square increased by this amount / point of city size
556 size_effect    = 1
558 ; Difference between city workable area and area permanently claimed by
559 ; city (these tiles cannot be stolen by stronger border sources).
560 ; 0 means exactly city workable area is immune to border stealing.
561 ; Negative value means outer workable tiles can be stolen; highly negative
562 ; value (more than max city radius_sq) means any workable tile can be stolen.
563 ; If City_Radius_Sq is variable, so is the set of locked tiles; this is
564 ; a squared value, so the radius of the ring of tiles which are workable
565 ; but not locked (or vice versa) varies but the area is constant.
566 radius_sq_city_permanent = 0
568 [research]
569 ; Method of calculating technology costs
570 ;   "Civ I|II"      - Civ (I|II) style. Every new tech add base_tech_cost to
571 ;                     cost of next tech.
572 ;   "Classic"       - Cost of technology is:
573 ;                       base_tech_cost * (1 + reqs) * sqrt(1 + reqs) / 2
574 ;                     where reqs == number of requirement for tech, counted
575 ;                     recursively.
576 ;   "Classic+"      - Cost are read from tech.ruleset. Missing costs are
577 ;                     generated by style "Classic".
578 ;   "Experimental"  - Cost of technology is:
579 ;                       base_tech_cost * (reqs^2 / (1 + sqrt(sqrt(reqs + 1)))
580 ;                                         - 0.5)
581 ;                     where reqs == number of requirement for tech, counted
582 ;                     recursively.
583 ;   "Experimental+" - Cost are read from tech.ruleset. Missing costs are
584 ;                     generated by style "Experimental".
585 tech_cost_style = "Civ I|II"
587 ; Base research cost. Used in tech cost styles where tech cost is generated.
588 ; In other words: used everywhere unless the cost of *all* techs are
589 ; specified and the tech cost style is "Experimental+" or "Classic+".
590 base_tech_cost   = 20
592 ; Technology leak from other civilizations
593 ; "None"           - No reduction of the technology cost.
594 ; "Embassies"      - Technology cost is reduced depending on the number of
595 ;                    players which already know the tech and you have an
596 ;                    embassy with.
597 ; "All Players"    - Technology cost is reduced depending on the number of
598 ;                    all players (human, AI and barbarians) which already
599 ;                    know the tech.
600 ; "Normal Players" - Technology cost is reduced depending on the number of
601 ;                    normal players (human and AI) which already know the
602 ;                    tech.
603 tech_leakage = "None"
605 ; Method of paying tech upkeep
606 ; "None"   - no upkeep
607 ; "Basic"  - upkeep is calculated as:
608 ;     <Cost of technology> / tech_upkeep_divider - tech_upkeep_free
609 ; "Cities" - upkeep is calculated like "Basic", but multiplied by number of cities
610 tech_upkeep_style = "None"
612 ; Method of selecting techs given for free
613 ; "Goal"     - Towards player`s goal, random if no goal
614 ; "Random"   - Random researchable tech
615 ; "Cheapest" - Cheapest researchable tech, random among equal cost ones
616 free_tech_method = "Random"
618 [culture]
619 ; Minimum culture points for cultural domination victory
620 victory_min_points = 1000
622 ; How big lead relative to second best player is needed for victory
623 victory_lead_pct   = 200
625 ; How much each culture point affects the migration
626 ; from/to the city. Each culture point count as this many permilles
627 ; of a migration point.
628 migration_pml = 50
630 [calendar]
631 ; Year 1 instead of 0.
632 skip_year_0 = TRUE
634 ; How many fragments each year has. Value 0 disables year advancement by fragment
635 ; accumulation.
636 fragments = 0
638 ; Calendar fragment names. If name is missing, only a fragment number +1 (so human readable
639 ; numbers begin from 1 and not 0) is shown.
641 ;fragment_name0 = "Jan"
642 ;fragment_name1 = "Feb"
643 ; ...
645 ; What labels are used for positive and negative years.
646 ; /* TRANS: year label (Anno Domini) */
647 positive_label = _("AD")
648 ; /* TRANS: year label (Before Christ) */
649 negative_label = _("BC")
651 ; /* <-- avoid gettext warnings
653 ; Disaster types:
655 ; name                    = translatable name as seen by user
656 ; reqs                    = requirements for disaster to happen (see effects.ruleset
657 ;                           and README.effects for help on requirements)
658 ; frequency               = how likely disaster is to occur
659 ; effects
660 ;   - "DestroyBuilding"   = Random building is destroyed
661 ;   - "ReducePopulation"  = Reduce city size by one unless it's already 1
662 ;   - "ReducePopDestroy"  = Reduce city size by one, possibly destroying the city
663 ;   - "EmptyFoodStock"    = Remove all food from food stock
664 ;   - "EmptyProdStock"    = Destroy current production
665 ;   - "Pollution"         = One tile surrounding city polluted
666 ;   - "Fallout"           = One tile surrounding city polluted with fallout
668 ; */ <-- avoid gettext warnings
670 [disaster_earthquake]
671 name           = _("Earthquake")
672 reqs           =
673     { "type", "name", "range"
674       "Terrain", "Hills", "Adjacent"
675     }
676 frequency      = 10
677 effects        = "DestroyBuilding"
679 [disaster_famine]
680 name           = _("Famine")
681 reqs           =
682     { "type", "name", "range", "present"
683       "Building", "Granary", "City", FALSE
684     }
685 frequency      = 10
686 effects        = "ReducePopulation", "EmptyFoodStock"
688 [disaster_fire]
689 name           = _("Fire")
690 reqs           =
691     { "type", "name", "range", "present"
692       "Building", "Aqueduct", "City", FALSE
693     }
694 frequency      = 10
695 effects        = "DestroyBuilding"
697 [disaster_flood]
698 name           = _("Flood")
699 reqs           =
700     { "type", "name", "range", "present"
701       "Extra", "River", "Adjacent", TRUE
702       "Building", "City Walls", "City", FALSE
703     }
704 frequency      = 10
705 effects        = "ReducePopulation"
707 [disaster_piracy]
708 name           = _("Piracy")
709 reqs           =
710     { "type", "name", "range", "present"
711       "Terrain", "Ocean", "Adjacent", TRUE
712       "Building", "Barracks", "City", FALSE
713       "Building", "Barracks II", "City", FALSE
714       "Building", "Barracks III", "City", FALSE
715     }
716 frequency      = 10
717 effects        = "EmptyFoodStock", "EmptyProdStock"
719 [disaster_plague]
720 name           = _("Plague")
721 reqs          =
722     { "type", "name", "range", "present"
723       "Tech", "Medicine", "Player", FALSE
724       "Building", "Aqueduct", "City", FALSE
725     }
726 frequency      = 10
727 effects        = "ReducePopulation"
729 [disaster_volcano]
730 name           = _("Volcano")
731 reqs           =
732     { "type", "name", "range", "present"
733       "Terrain", "Mountains", "Adjacent", TRUE
734       "Building", "Temple", "City", FALSE
735     }
736 frequency      = 10
737 effects        = "ReducePopulation"
739 ; /* <-- avoid gettext warnings
741 ; Achievement types:
743 ; name                    = translatable name as seen by user
744 ; rule_name               = (optional) name for savegames, rulesets etc; if not
745 ;                           present, 'name' is used. Since the name used in
746 ;                           savegames must not change, use this when renaming a
747 ;                           achievement after a ruleset has been released.
748 ; type                    = What event grants the achievement to player.
749 ;                           See README.achievements for list of these types.
750 ; unique                  = If TRUE, only first one reaching the achievement will
751 ;                           get it. Defaults to TRUE
752 ; value                   = Value to reach. Exact meaning of this depends on
753 ;                           achievement type.
754 ; culture                 = Amount of culture granted to player who gets achievement
755 ;                           granted.
756 ; first_msg               = Message shown to first player gaining the achievement
757 ; cons_msg                = Message shown to consecutive players gaining the achievement
759 ; */ <-- avoid gettext warnings
761 ; No achievements in civ1 ruleset
764 ; Trade settings
766 ; IN = international, IC = intercontinental.
767 ; For each of the trade route types:
768 ; "pct"        - Trade income %. If this is 0, trade route cannot be
769 ;                established at all
770 ; "cancelling" - What to do to previously established traderoutes when they
771 ;                turn illegal
772 ;                "Active"   - Keep them active (although they will only
773 ;                             provide nonzero income if illegal due to
774 ;                             trademindist rather than pct==0)
775 ;                "Inactive" - Keep them inactive
776 ;                "Cancel"   - Cancel them altogether
778 ; TODO: What`s correct "cancelling" behavior for civ1? If you have established
779 ;       traderoute with enemy city nearby and conquer it -> what happens to traderoute
780 ;       between your cities with less than trademindist distance?
782 ; "bonus"      - One-time bonuses granted when traderoute established
783 ;                "None"     - No one-time bonus
784 ;                "Gold"     - Bonus to gold
785 ;                "Science"  - Bonus to research
786 ;                "Both"     - Bonus to gold and research
788 ; TODO: What`s correct "bonus" behavior for civ1? I don`t remember it having one-time
789 ;       bonuses at all, but they have always been present in freeciv.
791 [trade]
792 settings =
793   { "type",       "pct", "cancelling", "bonus"
794     "National",   100,   "Cancel",     "Both"
795     "NationalIC", 200,   "Cancel",     "Both"
796     "IN",         200,   "Cancel",     "Both"
797     "INIC",       400,   "Cancel",     "Both"
798     "Ally",       200,   "Cancel",     "Both"
799     "AllyIC",     400,   "Cancel",     "Both"
800     "Enemy",      200,   "Cancel",     "Both"
801     "EnemyIC",    400,   "Cancel",     "Both"
802     "Team",       200,   "Cancel",     "Both"
803     "TeamIC",     400,   "Cancel",     "Both"
804   }
806 ; When are goods for the trade route chosen.
807 ; "Leaving" - Goods to carry are assigned to unit when it`s built, or it changes homecity
808 ; "Arrival" - Goods are chosen when trade route is established, when unit arrives to destination
809 goods_selection = "Arrival"
811 ; /* <-- avoid gettext warnings
813 ; Goods types:
815 ; name                    = translatable name as seen by user
816 ; rule_name               = (optional) name for savegames, rulesets etc; if not
817 ;                           present, 'name' is used. Since the name used in
818 ;                           savegames must not change, use this when renaming
819 ;                           an good after a ruleset has been released.
820 ; reqs                    = requirements for a city to provide goods (see effects.ruleset
821 ;                           and README.effects for help on requirements)
822 ; from_pct                = Income for the sending end of the trade route. Default is 100%
823 ;                           This value is applied to both ends of bidirectional routes.
824 ; to_pct                  = Income for the receiving end of the trade route. Default is 100%
825 ;                           This value is not used at all in case of bidirectional routes.
826 ; flags
827 ;   - "Bidirectional"     = Trade route carrying the goods does not have "from" and "to"
828 ;                           ends, but both ends are considered the same.
829 ;   - "Depletes"          = Trade route gets cancelled when the source city cannot provide
830 ;                           goods any more. Bidirectional routes gets cancelled if either
831 ;                           one of the involved cities cannot provide goods.
832 ; helptext                = Optional help text string; should escape all raw
833 ;                           newlines so that xgettext parsing works
835 ; */ <-- avoid gettext warnings
837 [goods_good]
838 name  = _("Goods")
839 flags = "Bidirectional"
841 [playercolors]
842 background.r = 86
843 background.g = 86
844 background.b = 86
846 ; Player colors for 32 players are defined below.
847 ; Avoid greens, blues, and white / very pale colors (too easy to confuse
848 ; with terrain).
849 ; Avoid dark colors.
850 colorlist =
851     { "r", "g", "b"
852       255,   0,   0
853       255, 255,   0
854         0, 255, 255
855       138,  43, 226
856       255, 165,   0
857       255,   0, 255
858       173, 216, 230
859         0, 255, 127
860       250, 128, 114
861       124, 252,   0
862       139,   0,   0
863       255, 192, 203
864       211, 211, 211
865       218, 112, 214
866       255,  20, 147
867       100, 149, 237
868       255, 215,   0
869       245, 222, 179
870       255, 255, 128
871       192, 255, 128
872       204, 255,   0
873       255, 211, 140
874       255,  79,   0
875       240, 145, 169
876       255, 219,  88
877       153,  17, 153
878       184, 134,  11
879       255, 102,   0
880       102, 205, 170
881       195,  33,  72
882       168, 153, 230
883       255, 250, 205
884     }
886 [teams]
887 ; freeciv optional team names definition.
889 ; names =
890 ; _("Team 1"),
891 ; _("Team 2"),
892 ; _("Team 3"),
893 ; _("Team 4"),
894 ; etc...
896 [settings]
897 ; freeciv game  for the civ1 ruleset
899 ; set =
900 ;     { "name", "value", "lock"
901 ;       "bool_set", TRUE, FALSE
902 ;       "int_set", 123, FALSE
903 ;       "str_set", "test", FALSE
904 ;     }
905 set =
906     { "name", "value", "lock"
907       "sciencebox", 50, FALSE
908       "startunits", "c", FALSE
909       "borders", "DISABLED", FALSE
910       "citymindist", 1, FALSE
911       ; Ruleset has no trait ranges, so player choosing EVEN would have
912       ; no effect anyway
913       "traitdistribution", "FIXED", TRUE
914       "plrcolormode", "NATION_ORDER", FALSE
915       "topology", "WRAPX|ISO", FALSE
916     }