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
13 description="Civ2-style game rules for Freeciv"
14 options="+Freeciv-ruleset-Devel-2017.Jan.02"
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
21 ; Which file to read description in from.
22 ;description_file = ""
26 name = _("Civ2 ruleset")
28 ; There`s no separate versioning in rulesets part of main freeciv distribution
31 ; Summary of the ruleset
33 You are playing with civ2 style rules. These are\
34 quite close to classic (old default) Freeciv rules,\
35 but with some additions.\
38 ; Detailed description
39 ; When updating this, update also desciption_file in [ruledit] section to match
42 ; What capabilities ruleset provides for the scenarios.
43 ; mimimum-default-sets - Default units, terrains, buildings, etc
44 capabilities = "minimum-default-sets"
48 global_init_buildings="Palace"
51 ; Parameters used to generalize the calculation of city granary size:
52 ; if city_size <= num_inis:
53 ; city_granary_size = (granary_food_ini[city_size] * foodbox / 100)
54 ; if city_size > num_inis;
55 ; city_granary_size = (granary_food_ini[num_inis] +
56 ; granary_food_inc * (city_size - num_inis)) * foodbox / 100
60 ; City center minimum outputs
61 min_city_center_food = 1
62 min_city_center_shield = 1
63 min_city_center_trade = 0
65 ; Square of initial city radius
66 init_city_radius_sq = 5
68 ; Square of initially visible radius (true distance).
69 init_vis_radius_sq = 5
71 ; Number of veteran levels lost when upgrading a unit
72 upgrade_veteran_loss = 10
74 ; Number of veteran levels lost when auto-upgrading a unit
75 autoupgrade_veteran_loss = 10
77 ; Whether player gets to select which terrain improvement to pillage.
80 ; Whether one can steal a tech for which prereqs are not known
81 tech_steal_allow_holes = TRUE
82 ; Whether one can get a tech for which prereqs are not known via
84 tech_trade_allow_holes = TRUE
85 ; ...and whether one can lose a tech which is prereq for another known
86 ; tech via trade, if techlost_donor is nonzero
87 tech_trade_loss_allow_holes = TRUE
88 ; Whether one can get a tech for which prereqs are not known via
89 ; parasite effect (Great Library)
90 tech_parasite_allow_holes = TRUE
91 ; Whether one can lose a tech which is prereq for another known tech
92 ; due to negative bulbs, if techlossforgiveness allows loss
93 tech_loss_allow_holes = TRUE
95 ; Whether civil war is possible at all
96 civil_war_enabled = TRUE
98 ; Comma separated list of things to happen, in addition to death
99 ; of owner, when gameloss unit dies
100 ; "CivilWar" - Part of the empire remains, controlled by a new player
101 ; "Barbarians" - Depending on if there`s also "CivilWar", all or part
102 ; or half of the dead players empire gets under barbarian
104 ; "Loot" - Player who killed the gameloss unit gets loot:
105 ; Partial map, gold, techs, cities
108 ; Whether units may safely paradrop to transport on non-native terrain
109 paradrop_to_transport = FALSE
111 ; Method of paying unit and improvement gold upkeep
112 ; "City" - The player`s total gold must be non-negative after paying upkeep
113 ; costs associated with each city. If for any city the player`s
114 ; gold is negative, random buildings in the city are sold off. If
115 ; the gold is still negative, then supported units with gold upkeep
117 ; "Mixed" - In the first step, the player`s total gold must be non-negative
118 ; after paying upkeep for all buildings within a city. If for any
119 ; city the player`s gold is negative, random buildings in the city
121 ; In the second step, gold upkeep for all units is paid in a lump
122 ; sum. If the player does not have enough gold, random units with
123 ; gold upkeep are disbanded.
124 ; "Nation" - Gold upkeep for all buildings and units is paid in a lump sum
125 ; after all cities have been processed. If the player does not
126 ; have enough gold, random buildings from random cities are sold.
127 ; If still more gold is needed, then random units with gold
128 ; upkeep are disbanded.
129 gold_upkeep_style = "City"
132 ; Whether plagues (illness) are possible
135 ; the base factor for illness (of percent)
136 illness_base_factor = 25
138 ; minimum city size for illness
141 ; factor for how much trading with a plagued city increases our city`s
142 ; chance for plague (in percent)
143 illness_trade_infection = 50
145 ; factor for how much pollution within a city increases its chance for
146 ; plague (in percent)
147 illness_pollution_factor = 50
150 ; city_incite_cost = total_factor * (city_size) * (base_incite_cost
151 ; + (units_cost) * unit_factor
152 ; + (improvements_cost) * improvement_factor)
153 ; / ((distance to capital) * 100)
154 ; See city_incite_cost() for more details
155 improvement_factor = 1
159 [global_unit_options]
161 ; Explanation: Civ 2 allowed fast units to use any remaining movement after
162 ; disembarking. Boarding a ship spent every movement point the land unit
165 ; Freeciv doesn`t support removing all movement points when a unit boards a
166 ; ship. If slow_invasions is set to FALSE a fast unit will be allowed to
167 ; board a ship, be moved by it, disembark and keep moving in the same turn.
168 ; That would have been impossible in Civ 2. If it is set to TRUE
169 ; strategies that involves loading fast units on a ship, waiting a turn and
170 ; then unloading them so they can act (attack, spy, etc) the same turn will
173 ; Shore landing style
174 ; FALSE - normal movement
175 ; TRUE - (default) slow invasions by removing all
176 ; movement points from ground units moving
177 ; from ocean tile to land
178 slow_invasions = TRUE
181 ; If tired_attack is set to TRUE, units that attack with less than a single
182 ; move point (per move_fragments in terrain.ruleset) will have their attack
183 ; power reduced accordingly. For instance, if move_fragments=3, a unit with
184 ; 2/3 move points will have attack power 2/3 of normal.
185 ; If this is set to FALSE units will attack with full strength even if they
186 ; have only fractional moves left.
190 ; An auto attack may be triggered when another unit moves to an adjacent
191 ; tile and the autoattack server setting is enabled. The following details
192 ; are ruleset controlled.
193 ; will_never - units with this unit type flag will never auto attack.
195 ; Not a good idea to nuke our own area.
196 will_never = "Nuclear"
199 ; If force_trade_route is set to TRUE it is illegal for an actor unit to
200 ; enter the marketplace of a city if it can establish a trade route to it
202 force_trade_route = TRUE
204 ; If force_capture_units is set to TRUE it is illegal for an actor unit to
205 ; bombard, explode nuclear or perform a regular attack against a tile if
206 ; it can capture units on it in stead.
207 force_capture_units = FALSE
209 ; If force_bombard is set to TRUE it is illegal for an actor unit to
210 ; explode nuclear or perform a regular attack against a tile if it can
211 ; bombard it in stead.
212 force_bombard = FALSE
214 ; If force_explode_nuclear is set to TRUE it is illegal for an actor unit
215 ; to perform a regular attack against a tile if it can do explode nuclear
217 force_explode_nuclear = TRUE
219 ; If poison_empties_food_stock is set to TRUE a successful "Poison City"
220 ; will empty the food stock.
221 poison_empties_food_stock = FALSE
223 ; The maximum distance from the actor unit to the target of the "Bombard"
224 ; action. The value 1 means that the targets must be on a tile adjacent to
225 ; the actor unit. The special value "unlimited" lifts the maximum distance
226 ; restriction. The maximum distance can`t be smaller than the minimum
228 bombard_max_range = 1
230 ; What each action should be called when showing them to the player.
231 ; The first %s should be before the mnemonic of the action. A Freeciv client
232 ; that supports mnemonics will replace it with the in-band signal that marks
233 ; the following character as a mnemonic in its graphical toolkit.
234 ; The second %s marks where extra details should be inserted.
236 ; /* TRANS: _Poison City (3% chance of success). */
237 ui_name_poison_city = _("%sPoison City%s")
239 ; /* TRANS: Plant _Nuclear Device (3% chance of success). */
240 ui_name_suitcase_nuke_escape = _("Plant %sNuclear Device%s")
242 ; /* TRANS: _Sabotage Enemy Unit (3% chance of success). */
243 ui_name_sabotage_unit = _("%sSabotage Enemy Unit%s")
245 ; /* TRANS: _Bribe Enemy Unit (3% chance of success). */
246 ui_name_bribe_unit = _("%sBribe Enemy Unit%s")
248 ; /* TRANS: _Sabotage City (3% chance of success). */
249 ui_name_sabotage_city = _("%sSabotage City%s")
251 ; /* TRANS: Industrial _Sabotage (3% chance of success). */
252 ui_name_targeted_sabotage_city = _("Industrial %sSabotage%s")
254 ; /* TRANS: Incite a _Revolt (3% chance of success). */
255 ui_name_incite_city = _("Incite a %sRevolt%s")
257 ; /* TRANS: Incite a _Revolt and Escape (3% chance of success). */
258 ui_name_incite_city_escape = _("Incite a Re%svolt and Escape%s")
260 ; /* TRANS: Establish _Embassy (100% chance of success). */
261 ui_name_establish_embassy = _("Establish %sEmbassy%s")
263 ; /* TRANS: Becom_e Ambassador (100% chance of success). */
264 ui_name_establish_embassy_stay = _("Becom%se Ambassador%s")
266 ; /* TRANS: Steal _Technology (3% chance of success). */
267 ui_name_steal_tech = _("Steal %sTechnology%s")
269 ; /* TRANS: Indus_trial Espionage (3% chance of success). */
270 ui_name_targeted_steal_tech = _("Indus%strial Espionage%s")
272 ; /* TRANS: _Investigate City (100% chance of success). */
273 ui_name_investigate_city = _("%sInvestigate City%s")
275 ; /* TRANS: _Investigate City (spends the unit) (100% chance of success). */
276 ui_name_investigate_city_spend_unit = _("%sInvestigate City (spends the unit)%s")
278 ; /* TRANS: Establish Trade _Route (100% chance of success). */
279 ui_name_establish_trade_route = _("Establish Trade %sRoute%s")
281 ; /* TRANS: Enter _Marketplace (100% chance of success). */
282 ui_name_enter_marketplace = _("Enter %sMarketplace%s")
284 ; /* TRANS: Help _build Wonder (100% chance of success). */
285 ui_name_help_wonder = _("Help %sbuild Wonder%s")
287 ; /* TRANS: Rec_ycle Unit (100% chance of success). */
288 ui_name_recycle_unit = _("Rec%sycle Unit%s")
290 ; /* TRANS: _You're Fired (100% chance of success). */
291 ui_name_disband_unit = _("%sYou're Fired%s")
293 ; /* TRANS: _Build City (100% chance of success). */
294 ui_name_found_city = _("%sBuild City%s")
296 ; /* TRANS: _Add to City (100% chance of success). */
297 ui_name_join_city = _("%sAdd to City%s")
299 ; /* TRANS: Explode _Nuclear (100% chance of success). */
300 ui_name_explode_nuclear = _("Explode %sNuclear%s")
302 ; /* TRANS: Set _Home City (100% chance of success). */
303 ui_name_home_city = _("Set %sHome City%s")
305 ; /* TRANS: _Upgrade Unit (100% chance of success). */
306 ui_upgrade_unit = _("%sUpgrade Unit%s")
308 ; /* TRANS: Drop _Paratrooper (100% chance of success). */
309 ui_paradrop_unit = _("Drop %sParatrooper%s")
311 ; /* TRANS: _Airlift to City (100% chance of success). */
312 ui_airlift_unit = _("%sAirlift to City%s")
314 ; /* TRANS: _Attack (100% chance of success). */
315 ui_name_attack = _("%sAttack%s")
317 ; /* TRANS: _Conquer City (100% chance of success). */
318 ui_name_conquer_city = _("%sConquer City%s")
320 ; Suppress automatic help text generation about what enables and/or
321 ; disables the following actions.
323 ; Can make the help text less redundant when you document it your self.
324 ;quiet_actions = "Targeted Sabotage City", "Targeted Steal Tech"
326 ; /* <-- avoid gettext warnings
330 ; action = the action to enable.
331 ; actor_reqs = requirements that apply to the actor.
332 ; target_reqs = requirements that apply to the target.
334 ; README.actions lists the possible actions and their hard coded
337 ; An action enabler is active when its actor_reqs AND its target_reqs are
340 ; */ <-- avoid gettext warnings
342 [actionenabler_sabotage_city]
343 action = "Sabotage City"
345 { "type", "name", "range"
346 "UnitFlag", "Diplomat", "Local"
347 "DiplRel", "War", "Local"
348 "MinMoveFrags", "1", "Local"
351 [actionenabler_sabotage_city_target]
352 action = "Targeted Sabotage City"
354 { "type", "name", "range"
355 "DiplRel", "War", "Local"
356 "UnitFlag", "Spy", "Local"
357 "MinMoveFrags", "1", "Local"
360 [actionenabler_establish_embassy]
361 action = "Establish Embassy Stay"
363 { "type", "name", "range", "present"
364 "UnitFlag", "Diplomat", "Local", TRUE
365 "MinMoveFrags", "1", "Local", TRUE
366 "DiplRel", "Foreign", "Local", TRUE
367 "UnitFlag", "Spy", "Local", FALSE
370 [actionenabler_establish_embassy_spy]
371 action = "Establish Embassy"
373 { "type", "name", "range"
374 "UnitFlag", "Spy", "Local"
375 "MinMoveFrags", "1", "Local"
376 "DiplRel", "Foreign", "Local"
379 [actionenabler_investigate_city]
380 action = "Investigate City Spend Unit"
382 { "type", "name", "range", "present"
383 "UnitFlag", "Diplomat", "Local", TRUE
384 "MinMoveFrags", "1", "Local", TRUE
385 "DiplRel", "Foreign", "Local", TRUE
386 "UnitFlag", "Spy", "Local", FALSE
389 [actionenabler_investigate_city_spy]
390 action = "Investigate City"
392 { "type", "name", "range"
393 "UnitFlag", "Spy", "Local"
394 "MinMoveFrags", "1", "Local"
395 "DiplRel", "Foreign", "Local"
398 [actionenabler_poison_city]
399 action = "Poison City"
401 { "type", "name", "range"
402 "UnitFlag", "Spy", "Local"
403 "DiplRel", "War", "Local"
404 "MinMoveFrags", "1", "Local"
407 { "type", "name", "range"
408 "MinSize", "2", "City"
411 ; TODO: Find the exact requirements
412 [actionenabler_plant_nuke]
413 action = "Suitcase Nuke Escape"
415 { "type", "name", "range"
416 "UnitFlag", "Spy", "Local"
417 "Building", "Manhattan Project", "World"
418 "Tech", "Nuclear Fission", "Player"
419 "DiplRel", "War", "Local"
420 "MinMoveFrags", "1", "Local"
423 [actionenabler_steal_tech_random]
424 action = "Steal Tech"
426 { "type", "name", "range"
427 "UnitFlag", "Diplomat", "Local"
428 "MinMoveFrags", "1", "Local"
429 "DiplRel", "Foreign", "Local"
432 { "type", "name", "range", "present"
433 "NationGroup", "Barbarian", "Player", FALSE
436 [actionenabler_steal_tech_target]
437 action = "Targeted Steal Tech"
439 { "type", "name", "range"
440 "UnitFlag", "Spy", "Local"
441 "MinMoveFrags", "1", "Local"
442 "DiplRel", "Foreign", "Local"
445 { "type", "name", "range", "present"
446 "NationGroup", "Barbarian", "Player", FALSE
449 [actionenabler_incite_city]
450 action = "Incite City"
452 { "type", "name", "range", "present"
453 "UnitFlag", "Diplomat", "Local", TRUE
454 "DiplRel", "Alliance", "Local", FALSE
455 "DiplRel", "Team", "Local", FALSE
456 "MinMoveFrags", "1", "Local", TRUE
457 "DiplRel", "Foreign", "Local", TRUE
458 "UnitFlag", "Spy", "Local", FALSE
461 { "type", "name", "range", "present"
462 "Gov", "Democracy", "Player", FALSE
463 "Building", "Palace", "City", FALSE
466 [actionenabler_incite_city_spy]
467 action = "Incite City Escape"
469 { "type", "name", "range", "present"
470 "UnitFlag", "Spy", "Local", TRUE
471 "DiplRel", "Alliance", "Local", FALSE
472 "DiplRel", "Team", "Local", FALSE
473 "MinMoveFrags", "1", "Local", TRUE
474 "DiplRel", "Foreign", "Local", TRUE
477 { "type", "name", "range", "present"
478 "Gov", "Democracy", "Player", FALSE
479 "Building", "Palace", "City", FALSE
482 [actionenabler_bribe_unit]
483 action = "Bribe Unit"
485 { "type", "name", "range", "present"
486 "UnitFlag", "Diplomat", "Local", TRUE
487 "DiplRel", "Alliance", "Local", FALSE
488 "DiplRel", "Team", "Local", FALSE
489 "MinMoveFrags", "1", "Local", TRUE
490 "DiplRel", "Foreign", "Local", TRUE
493 { "type", "name", "range", "present"
494 "CityTile", "Center", "Local", FALSE
495 "Gov", "Democracy", "Player", FALSE
496 "MaxUnitsOnTile", "1", "Local", TRUE
499 [actionenabler_sabotage_unit]
500 action = "Sabotage Unit"
502 { "type", "name", "range"
503 "UnitFlag", "Spy", "Local"
504 "DiplRel", "War", "Local"
505 "MinMoveFrags", "1", "Local"
508 { "type", "name", "range", "present"
509 "CityTile", "Center", "Local", FALSE
510 "MinHitPoints", "2", "Local", TRUE
511 "MaxUnitsOnTile", "1", "Local", TRUE
514 [actionenabler_traderoute]
515 action = "Establish Trade Route"
517 { "type", "name", "range", "present"
518 "UnitFlag", "TradeRoute", "Local", TRUE
521 [actionenabler_marketplace]
522 action = "Enter Marketplace"
524 { "type", "name", "range", "present"
525 "UnitFlag", "TradeRoute", "Local", TRUE
528 [actionenabler_help_build_wonder]
529 action = "Help Wonder"
531 { "type", "name", "range", "present"
532 "UnitFlag", "HelpWonder", "Local", TRUE
533 "DiplRel", "Foreign", "Local", FALSE
536 { "type", "name", "range"
537 "BuildingGenus", "GreatWonder", "Local"
540 [actionenabler_help_build_small_wonder]
541 action = "Help Wonder"
543 { "type", "name", "range", "present"
544 "UnitFlag", "HelpWonder", "Local", TRUE
545 "DiplRel", "Foreign", "Local", FALSE
548 { "type", "name", "range"
549 "BuildingGenus", "SmallWonder", "Local"
552 [actionenabler_recycle_unit]
553 action = "Recycle Unit"
555 { "type", "name", "range", "present"
556 "UnitFlag", "EvacuateFirst", "Local", FALSE
557 "DiplRel", "War", "Local", FALSE
558 "DiplRel", "Cease-fire", "Local", FALSE
559 "DiplRel", "Armistice", "Local", FALSE
560 "DiplRel", "Peace", "Local", FALSE
563 [actionenabler_disband_unit]
564 action = "Disband Unit"
566 { "type", "name", "range", "present"
567 "UnitFlag", "EvacuateFirst", "Local", FALSE
570 [actionenabler_build_city_pioneer]
571 action = "Found City"
573 { "type", "name", "range"
574 "UnitFlag", "Cities", "Local"
575 "UnitState", "OnLivableTile", "Local"
576 "MinMoveFrags", "1", "Local"
579 { "type", "name", "range", "present"
580 "CityTile", "Claimed", "Local", FALSE
583 [actionenabler_build_city_domestic]
584 action = "Found City"
586 { "type", "name", "range", "present"
587 "UnitFlag", "Cities", "Local", TRUE
588 "UnitState", "OnLivableTile", "Local", TRUE
589 "MinMoveFrags", "1", "Local", TRUE
590 "DiplRel", "Foreign", "Local", FALSE
593 [actionenabler_join_city]
596 { "type", "name", "range", "present"
597 "UnitFlag", "AddToCity", "Local", TRUE
598 "DiplRel", "Foreign", "Local", FALSE
599 "MinMoveFrags", "1", "Local", TRUE
603 action = "Explode Nuclear"
605 { "type", "name", "range", "present"
606 "UnitFlag", "Nuclear", "Local", TRUE
609 [actionenabler_attack_native]
612 { "type", "name", "range", "present"
613 "UnitFlag", "NonMil", "Local", FALSE
614 "MinMoveFrags", "1", "Local", TRUE
615 "UnitState", "OnNativeTile", "Local", TRUE
618 [actionenabler_attack_marines]
621 { "type", "name", "range", "present"
622 "UnitFlag", "NonMil", "Local", FALSE
623 "MinMoveFrags", "1", "Local", TRUE
624 "UnitFlag", "Marines", "Local", TRUE
627 [actionenabler_attack_att_from_non_native]
630 { "type", "name", "range", "present"
631 "UnitFlag", "NonMil", "Local", FALSE
632 "MinMoveFrags", "1", "Local", TRUE
633 "UnitClass", "Sea", "Local", TRUE
636 [actionenabler_conquer_city_native]
637 action = "Conquer City"
639 { "type", "name", "range", "present"
640 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
641 "UnitFlag", "NonMil", "Local", FALSE
642 "DiplRel", "War", "Local", TRUE
643 "MinMoveFrags", "1", "Local", TRUE
644 "UnitState", "OnLivableTile", "Local", TRUE
647 { "type", "name", "range", "present"
648 "MaxUnitsOnTile", "0", "Local", TRUE
651 [actionenabler_conquer_city_marines]
652 action = "Conquer City"
654 { "type", "name", "range", "present"
655 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
656 "UnitFlag", "NonMil", "Local", FALSE
657 "DiplRel", "War", "Local", TRUE
658 "MinMoveFrags", "1", "Local", TRUE
659 "UnitFlag", "Marines", "Local", TRUE
662 { "type", "name", "range", "present"
663 "MaxUnitsOnTile", "0", "Local", TRUE
666 [actionenabler_conquer_city_att_from_non_native]
667 action = "Conquer City"
669 { "type", "name", "range", "present"
670 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
671 "UnitFlag", "NonMil", "Local", FALSE
672 "DiplRel", "War", "Local", TRUE
673 "MinMoveFrags", "1", "Local", TRUE
674 "UnitClass", "Sea", "Local", TRUE
677 { "type", "name", "range", "present"
678 "MaxUnitsOnTile", "0", "Local", TRUE
681 [actionenabler_change_home_city]
684 { "type", "name", "range", "present"
685 "UnitFlag", "NoHome", "Local", FALSE
686 "UnitState", "HasHomeCity", "Local", TRUE
687 "DiplRel", "Foreign", "Local", FALSE
690 [actionenabler_paradrop_base]
691 action = "Paradrop Unit"
693 { "type", "name", "range", "present"
694 "UnitFlag", "Paratroopers", "Local", TRUE
695 "UnitState", "Transporting", "Local", FALSE
696 "Extra", "Airbase", "Local", TRUE
699 [actionenabler_paradrop_city]
700 action = "Paradrop Unit"
702 { "type", "name", "range", "present"
703 "UnitFlag", "Paratroopers", "Local", TRUE
704 "UnitState", "Transporting", "Local", FALSE
705 "CityTile", "Center", "Local", TRUE
708 [actionenabler_upgrade_unit]
709 action = "Upgrade Unit"
711 { "type", "name", "range", "present"
712 "DiplRel", "Foreign", "Local", FALSE
715 [actionenabler_airlift_unit]
716 action = "Airlift Unit"
718 { "type", "name", "range", "present"
719 "UnitClass", "Land", "Local", TRUE
720 "UnitState", "Transporting", "Local", FALSE
721 "MinMoveFrags", "1", "Local", TRUE
725 ; Base border radius from city.
728 ; Border radius square increased by this amount / point of city size
731 ; Difference between city workable area and area permanently claimed by
732 ; city (these tiles cannot be stolen by stronger border sources).
733 ; 0 means exactly city workable area is immune to border stealing.
734 ; Negative value means outer workable tiles can be stolen; highly negative
735 ; value (more than max city radius_sq) means any workable tile can be stolen.
736 ; If City_Radius_Sq is variable, so is the set of locked tiles; this is
737 ; a squared value, so the radius of the ring of tiles which are workable
738 ; but not locked (or vice versa) varies but the area is constant.
739 radius_sq_city_permanent = 0
742 ; Method of calculating technology costs
743 ; "Civ I|II" - Civ (I|II) style. Every new tech add base_tech_cost to
745 ; "Classic" - Cost of technology is:
746 ; base_tech_cost * (1 + reqs) * sqrt(1 + reqs) / 2
747 ; where reqs == number of requirement for tech, counted
749 ; "Classic+" - Cost are read from tech.ruleset. Missing costs are
750 ; generated by style "Classic".
751 ; "Experimental" - Cost of technology is:
752 ; base_tech_cost * (reqs^2 / (1 + sqrt(sqrt(reqs + 1)))
754 ; where reqs == number of requirement for tech, counted
756 ; "Experimental+" - Cost are read from tech.ruleset. Missing costs are
757 ; generated by style "Experimental".
758 tech_cost_style = "Civ I|II"
760 ; Base research cost. Used in tech cost styles where tech cost is generated.
761 ; In other words: used everywhere unless the cost of *all* techs are
762 ; specified and the tech cost style is "Experimental+" or "Classic+".
765 ; Technology leak from other civilizations
766 ; "None" - No reduction of the technology cost.
767 ; "Embassies" - Technology cost is reduced depending on the number of
768 ; players which already know the tech and you have an
770 ; "All Players" - Technology cost is reduced depending on the number of
771 ; all players (human, AI and barbarians) which already
773 ; "Normal Players" - Technology cost is reduced depending on the number of
774 ; normal players (human and AI) which already know the
776 tech_leakage = "None"
778 ; Method of paying tech upkeep
780 ; "Basic" - upkeep is calculated as:
781 ; <Cost of technology> / tech_upkeep_divider - tech_upkeep_free
782 ; "Cities" - upkeep is calculated like "Basic", but multiplied by number of cities
783 tech_upkeep_style = "None"
785 ; Method of selecting techs given for free
786 ; "Goal" - Towards player`s goal, random if no goal
787 ; "Random" - Random researchable tech
788 ; "Cheapest" - Cheapest researchable tech, random among equal cost ones
789 free_tech_method = "Random"
792 ; Minimum culture points for cultural domination victory
793 victory_min_points = 1000
795 ; How big lead relative to second best player is needed for victory
796 victory_lead_pct = 200
798 ; How much each culture point affects the migration
799 ; from/to the city. Each culture point count as this many permilles
800 ; of a migration point.
804 ; Year 1 instead of 0.
807 ; How many fragments each year has. Value 0 disables year advancement by fragment
811 ; Calendar fragment names. If name is missing, only a fragment number +1 (so human readable
812 ; numbers begin from 1 and not 0) is shown.
814 ;fragment_name0 = "Jan"
815 ;fragment_name1 = "Feb"
818 ; What labels are used for positive and negative years.
819 ; /* TRANS: year label (Anno Domini) */
820 positive_label = _("AD")
821 ; /* TRANS: year label (Before Christ) */
822 negative_label = _("BC")
824 ; /* <-- avoid gettext warnings
828 ; name = translatable name as seen by user
829 ; reqs = requirements for disaster to happen (see effects.ruleset
830 ; and README.effects for help on requirements)
831 ; frequency = how likely disaster is to occur
833 ; - "DestroyBuilding" = Random building is destroyed
834 ; - "ReducePopulation" = Reduce city size by one unless it's already 1
835 ; - "ReducePopDestroy" = Reduce city size by one, possibly destroying the city
836 ; - "EmptyFoodStock" = Remove all food from food stock
837 ; - "EmptyProdStock" = Destroy current production
838 ; - "Pollution" = One tile surrounding city polluted
839 ; - "Fallout" = One tile surrounding city polluted with fallout
841 ; */ <-- avoid gettext warnings
843 ; No disasters in civ2
845 ; /* <-- avoid gettext warnings
849 ; name = translatable name as seen by user
850 ; rule_name = (optional) name for savegames, rulesets etc; if not
851 ; present, 'name' is used. Since the name used in
852 ; savegames must not change, use this when renaming a
853 ; achievement after a ruleset has been released.
854 ; type = What event grants the achievement to player.
855 ; See README.achievements for list of these types.
856 ; unique = If TRUE, only first one reaching the achievement will
857 ; get it. Defaults to TRUE
858 ; value = Value to reach. Exact meaning of this depends on
860 ; culture = Amount of culture granted to player who gets achievement
862 ; first_msg = Message shown to first player gaining the achievement
863 ; cons_msg = Message shown to consecutive players gaining the achievement
865 ; */ <-- avoid gettext warnings
867 ; No achievements in civ2 ruleset
872 ; IN = international, IC = intercontinental.
873 ; For each of the trade route types:
874 ; "pct" - Trade income %. If this is 0, trade route cannot be
876 ; "cancelling" - What to do to previously established traderoutes when they
878 ; "Active" - Keep them active (although they will only
879 ; provide nonzero income if illegal due to
880 ; trademindist rather than pct==0)
881 ; "Inactive" - Keep them inactive
882 ; "Cancel" - Cancel them altogether
884 ; TODO: What`s correct "cancelling" behavior for civ2? If you have established
885 ; traderoute with enemy city nearby and conquer it -> what happens to traderoute
886 ; between your cities with less than trademindist distance?
888 ; "bonus" - One-time bonuses granted when traderoute established
889 ; "None" - No one-time bonus
890 ; "Gold" - Bonus to gold
891 ; "Science" - Bonus to research
892 ; "Both" - Bonus to gold and research
894 ; TODO: What`s correct "bonus" behavior for civ2?
898 { "type", "pct", "cancelling", "bonus"
899 "National", 100, "Cancel", "Both"
900 "NationalIC", 200, "Cancel", "Both"
901 "IN", 200, "Cancel", "Both"
902 "INIC", 400, "Cancel", "Both"
903 "Ally", 200, "Cancel", "Both"
904 "AllyIC", 400, "Cancel", "Both"
905 "Enemy", 200, "Cancel", "Both"
906 "EnemyIC", 400, "Cancel", "Both"
907 "Team", 200, "Cancel", "Both"
908 "TeamIC", 400, "Cancel", "Both"
911 ; When are goods for the trade route chosen.
912 ; "Leaving" - Goods to carry are assigned to unit when it`s built, or it changes homecity
913 ; "Arrival" - Goods are chosen when trade route is established, when unit arrives to destination
914 goods_selection = "Arrival"
916 ; /* <-- avoid gettext warnings
920 ; name = translatable name as seen by user
921 ; rule_name = (optional) name for savegames, rulesets etc; if not
922 ; present, 'name' is used. Since the name used in
923 ; savegames must not change, use this when renaming
924 ; an good after a ruleset has been released.
925 ; reqs = requirements for a city to provide goods (see effects.ruleset
926 ; and README.effects for help on requirements)
927 ; from_pct = Income for the sending end of the trade route. Default is 100%
928 ; This value is applied to both ends of bidirectional routes.
929 ; to_pct = Income for the receiving end of the trade route. Default is 100%
930 ; This value is not used at all in case of bidirectional routes.
932 ; - "Bidirectional" = Trade route carrying the goods does not have "from" and "to"
933 ; ends, but both ends are considered the same.
934 ; - "Depletes" = Trade route gets cancelled when the source city cannot provide
935 ; goods any more. Bidirectional routes gets cancelled if either
936 ; one of the involved cities cannot provide goods.
937 ; helptext = Optional help text string; should escape all raw
938 ; newlines so that xgettext parsing works
940 ; */ <-- avoid gettext warnings
944 flags = "Bidirectional"
951 ; Player colors for 32 players are defined below.
952 ; Avoid greens, blues, and white / very pale colors (too easy to confuse
992 ; freeciv optional team names definition.
1002 ; freeciv game settings for the civ2 ruleset
1005 ; { "name", "value", "lock"
1006 ; "bool_set", TRUE, FALSE
1007 ; "int_set", 123, FALSE
1008 ; "str_set", "test", FALSE
1011 { "name", "value", "lock"
1012 "sciencebox", 50, FALSE
1013 "startunits", "cc", FALSE
1014 "borders", "DISABLED", FALSE
1015 ; Ruleset has no trait ranges, so player choosing EVEN would have
1017 "traitdistribution", "FIXED", TRUE
1018 "plrcolormode", "NATION_ORDER", FALSE
1019 "topology", "WRAPX|ISO", FALSE