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="Experimental web-client game rules for Freeciv"
14 options="+Freeciv-ruleset-Devel-2017.Jan.02 web-compatible"
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 = _("Webperimental")
28 ; There`s no separate versioning in rulesets part of main freeciv distribution
31 ; Description of the ruleset
33 This ruleset has experimental rules that works with the web-client.\
34 It was based on the classic ruleset (via the deprecated fcweb ruleset).\
35 It is more like classic than non web Freeciv's experimental ruleset.\n\
37 Differences compared to the classic ruleset are:\n\
38 - Diplomat available from Alphabet\n\
39 - AI players are created with random trait values\n\
40 - Known techs tree cannot have holes in it\n\
41 - Diplomats can steal gold from enemy capitals (needs Banking)\n\
42 - Spies can steal gold from enemy cities (needs Banking)\n\
43 - A higher percentage of a nation's gold can be stolen from its capital \
44 (unless it's in Anarchy).\n\
45 - An even higher percentage of a nation's gold can be stolen from its \
46 capital if it is communist.\n\
47 - The killstack server setting is disabled by default.\n\
48 - unit stack blocks bribe/sabotage unit needs killstack.\n\
49 - Spies can steal parts of other player's world map. \n\
50 - Spies belonging to the owner of the Manhattan Project can nuke cities.\n\
51 - agents and spymasters may even escape before the nuke detonates.\n\
52 - Explorers can establish embassies once Writing is discovered. \
53 This action consumes the explorer.\n\
54 - Cities can be founded within enemy borders during war and \
56 - The Zone of Control rules have been turned off.\n\
57 - There's only one barbarian nation, attacking from both land and sea.\n\
58 - A player that knows Electricity has no fog of war inside his borders.\n\
59 - Foot soldiers can peacefully expel foreign civilian units from your terrain.\n\
60 - It is possible to establish an embassy while inside a ship.\n\
61 - The startunits are by default spread over the map.\n\
62 - The Leader unit has been added to the default startunits.\n\
63 - The Leader unit can destroy a domestic city. (Be careful when you scorch \
64 the earth. If your Leader dies you lose he game.)\n\
65 - Killing an enemy Leader gives you a few of his cities, some of his gold \
66 and some of his knowledge. Not all his cities will follow you. Some will \
67 rather turn barbarian.\n\
68 - The Leader can heal light weight units belonging to you or to your \
70 - Labels the year using AD/BC.\n\
71 - All units can be airlifted:\n\
72 - Light weight units can be airlifted once Flight is known.\n\
73 - Medium weight units can be airlifted once Advanced Flight is known.\n\
74 - Heavy weight units can be airlifted once Fusion Power is known.\n\
75 - To airlift heavy and medium weight units an airport is required both \
76 in the source and in the destination city.\n\
77 - Cities that know Flight can airlift one (light weight) unit per turn. An \
78 Airport allows a city to airlift one more unit per turn.\n\
79 - Default minimum distance between cities is 3.\n\
80 - Default map generator is `Fair islands`. It generates identical start \
81 position islands for all players.\n\
82 - The Howitzer and the Battleship can bombard.\n\
83 - bombardment may hurt all units at the target tile.\n\
84 - bombardment can't kill a unit.\n\
85 - bombardment can kill population in a city.\n\
86 - webperimental's bombardment can target unit stacks 3 tiles away.\n\
87 - webperimental's bombardment doesn't replace regular attack.\n\
88 - The Battleship is weak against Bomber planes.\n\
89 - Moving from a ship to the beach doesn't spend all movement points.\n\
90 - Airlifting to and from allied cities is allowed by default.\n\
91 - Land units sees further on top of Mountain tiles.\n\
92 - Railroads can't be used by enemy units by default. Regular roads can be \
93 used by the enemy even if the restrictinfra server setting is enabled. \
94 (The restrictinfra server setting is enabled by default.)\n\
95 - An alliance has more in game consequences:\n\
96 - Caravan and Freight can help allies to complete wonders.\n\
97 - Sun Tzu's War Academy gives its veteran bonus (combat and production) \
98 to both its owner and to all his allies.\n\
99 - J.S. Bach's Cathedral makes two unhappy citizens content in allied \
101 - A. Smith's Trading Co. pays for your allies' 1 upkeep buildings too.\n\
103 This ruleset is still in development. If playing it makes you think that \
104 a rule should change go to the Freeciv-web board at \
105 http://forum.freeciv.org/ and tell us in the \
106 webperimental ruleset feed back and suggestion thread.\
109 ; Detailed description
110 ; When updating this, update also desciption_file in [ruledit] section to match
113 ; What capabilities ruleset provides for the scenarios.
114 ; mimimum-default-sets - Default units, terrains, buildings, etc
115 capabilities = "minimum-default-sets"
119 global_init_buildings="Palace"
122 ; Value added to city pollution
125 ; Cost in luxuries of making one citizen happier
128 ; Cost in food of upkeeping a single citizen
131 ; Parameters used to generalize the calculation of city granary size:
132 ; if city_size <= num_inis:
133 ; city_granary_size = (granary_food_ini[city_size] * foodbox / 100)
134 ; if city_size > num_inis;
135 ; city_granary_size = (granary_food_ini[num_inis] +
136 ; granary_food_inc * (city_size - num_inis)) * foodbox / 100
137 granary_food_ini = 20
138 granary_food_inc = 10
140 ; City center minimum outputs
141 min_city_center_food = 1
142 min_city_center_shield = 1
143 min_city_center_trade = 0
145 ; Square of initial city radius
146 init_city_radius_sq = 5
148 ; Square of initially visible radius (true distance).
149 init_vis_radius_sq = 5
151 ; A base bribe cost, modified heavily by other factors
152 base_bribe_cost = 750
154 ; Barbarian leader ransom in gold
157 ; Number of veteran levels lost when upgrading a unit
158 upgrade_veteran_loss = 0
160 ; Number of veteran levels lost when auto-upgrading a unit
161 autoupgrade_veteran_loss = 0
163 ; Whether player gets to select which terrain improvement to pillage.
164 pillage_select = TRUE
166 ; Whether one can steal a tech for which prereqs are not known
167 tech_steal_allow_holes = FALSE
168 ; Whether one can get a tech for which prereqs are not known via
170 tech_trade_allow_holes = FALSE
171 ; ...and whether one can lose a tech which is prereq for another known
172 ; tech via trade, if techlost_donor is nonzero
173 tech_trade_loss_allow_holes = FALSE
174 ; Whether one can get a tech for which prereqs are not known via
175 ; parasite effect (Great Library)
176 tech_parasite_allow_holes = FALSE
177 ; Whether one can lose a tech which is prereq for another known tech
178 ; due to negative bulbs, if techlossforgiveness allows loss
179 tech_loss_allow_holes = FALSE
181 ; Whether civil war is possible at all
182 civil_war_enabled = TRUE
184 ; Comma separated list of things to happen, in addition to death
185 ; of owner, when gameloss unit dies
186 ; "CivilWar" - Part of the empire remains, controlled by a new player
187 ; "Barbarians" - Depending on if there`s also "CivilWar", all or part
188 ; or half of the dead players empire gets under barbarian
190 ; "Loot" - Player who killed the gameloss unit gets loot:
191 ; Partial map, gold, techs, cities
192 gameloss_style = "Barbarians", "Loot"
194 ; Whether units may safely paradrop to transport on non-native terrain
195 paradrop_to_transport = FALSE
197 ; Method of paying unit and improvement gold upkeep
198 ; "City" - The player`s total gold must be non-negative after paying upkeep
199 ; costs associated with each city. If for any city the player`s
200 ; gold is negative, random buildings in the city are sold off. If
201 ; the gold is still negative, then supported units with gold upkeep
203 ; "Mixed" - In the first step, the player`s total gold must be non-negative
204 ; after paying upkeep for all buildings within a city. If for any
205 ; city the player`s gold is negative, random buildings in the city
207 ; In the second step, gold upkeep for all units is paid in a lump
208 ; sum. If the player does not have enough gold, random units with
209 ; gold upkeep are disbanded.
210 ; "Nation" - Gold upkeep for all buildings and units is paid in a lump sum
211 ; after all cities have been processed. If the player does not
212 ; have enough gold, random buildings from random cities are sold.
213 ; If still more gold is needed, then random units with gold
214 ; upkeep are disbanded.
215 gold_upkeep_style = "City"
218 ; Whether plagues (illness) are possible
219 ; There are some latent building effects in effects.ruleset which affect
220 ; health, if you enable plague here.
223 ; the base factor for illness (of percent)
224 illness_base_factor = 25
226 ; minimum city size for illness
229 ; factor for how much trading with a plagued city increases our city`s
230 ; chance for plague (in percent)
231 illness_trade_infection = 50
233 ; factor for how much pollution within a city increases its chance for
234 ; plague (in percent)
235 illness_pollution_factor = 50
238 ; city_incite_cost = total_factor * (city_size) * (base_incite_cost
239 ; + (units_cost) * unit_factor
240 ; + (improvements_cost) * improvement_factor)
241 ; / ((distance to capital) * 100)
242 ; See city_incite_cost() for more details
243 base_incite_cost = 1000
244 improvement_factor = 1
248 [global_unit_options]
249 ; Shore landing style
250 ; FALSE - normal movement
251 ; TRUE - (default) slow invasions by removing all
252 ; movement points from ground units moving
253 ; from ocean tile to land
254 slow_invasions = FALSE
257 ; If tired_attack is set to TRUE, units that attack with less than a single
258 ; move point (per move_fragments in terrain.ruleset) will have their attack
259 ; power reduced accordingly. For instance, if move_fragments=3, a unit with
260 ; 2/3 move points will have attack power 2/3 of normal.
261 ; If this is set to FALSE units will attack with full strength even if they
262 ; have only fractional moves left.
266 ; An auto attack may be triggered when another unit moves to an adjacent
267 ; tile and the autoattack server setting is enabled. The following details
268 ; are ruleset controlled.
269 ; will_never - units with this unit type flag will never auto attack.
271 ; Not a good idea to nuke our own area.
272 will_never = "Nuclear"
275 ; If force_trade_route is set to TRUE it is illegal for an actor unit to
276 ; enter the marketplace of a city if it can establish a trade route to it
278 force_trade_route = TRUE
280 ; If force_capture_units is set to TRUE it is illegal for an actor unit to
281 ; bombard, explode nuclear or perform a regular attack against a tile if
282 ; it can capture units on it in stead.
283 force_capture_units = FALSE
285 ; If force_bombard is set to TRUE it is illegal for an actor unit to
286 ; explode nuclear or perform a regular attack against a tile if it can
287 ; bombard it in stead.
288 force_bombard = FALSE
290 ; If force_explode_nuclear is set to TRUE it is illegal for an actor unit
291 ; to perform a regular attack against a tile if it can do explode nuclear
293 force_explode_nuclear = TRUE
295 ; If poison_empties_food_stock is set to TRUE a successful "Poison City"
296 ; will empty the food stock.
297 poison_empties_food_stock = FALSE
299 ; The maximum distance from the actor unit to the target of the "Bombard"
300 ; action. The value 1 means that the targets must be on a tile adjacent to
301 ; the actor unit. The special value "unlimited" lifts the maximum distance
302 ; restriction. The maximum distance can`t be smaller than the minimum
304 bombard_max_range = 3
306 ; What each action should be called when showing them to the player.
307 ; The first %s should be before the mnemonic of the action. A Freeciv client
308 ; that supports mnemonics will replace it with the in-band signal that marks
309 ; the following character as a mnemonic in its graphical toolkit.
310 ; The second %s marks where extra details should be inserted.
312 ; /* TRANS: _Poison City (3% chance of success). */
313 ui_name_poison_city = _("%sPoison City%s")
315 ; /* TRANS: _Sabotage Enemy Unit (3% chance of success). */
316 ui_name_sabotage_unit = _("%sSabotage Enemy Unit%s")
318 ; /* TRANS: _Bribe Enemy Unit (3% chance of success). */
319 ui_name_bribe_unit = _("%sBribe Enemy Unit%s")
321 ; /* TRANS: _Use Court Physician (3% chance of success). */
322 ui_name_heal_unit = _("%sUse Court Physician%s")
324 ; /* TRANS: _Sabotage City (3% chance of success). */
325 ui_name_sabotage_city = _("%sSabotage City%s")
327 ; /* TRANS: Industrial _Sabotage (3% chance of success). */
328 ui_name_targeted_sabotage_city = _("Industrial %sSabotage%s")
330 ; /* TRANS: Incite a _Revolt (3% chance of success). */
331 ui_name_incite_city = _("Incite a %sRevolt%s")
333 ; /* TRANS: Incite a _Revolt and Escape (3% chance of success). */
334 ui_name_incite_city_escape = _("Incite a Re%svolt and Escape%s")
336 ; /* TRANS: Establish _Embassy (100% chance of success). */
337 ui_name_establish_embassy = _("Establish %sEmbassy%s")
339 ; /* TRANS: Becom_e Ambassador (100% chance of success). */
340 ui_name_establish_embassy_stay = _("Becom%se Ambassador%s")
342 ; /* TRANS: Steal _Technology (3% chance of success). */
343 ui_name_steal_tech = _("Steal %sTechnology%s")
345 ; /* TRANS: Indus_trial Espionage (3% chance of success). */
346 ui_name_targeted_steal_tech = _("Indus%strial Espionage%s")
348 ; /* TRANS: _Investigate City (100% chance of success). */
349 ui_name_investigate_city = _("%sInvestigate City%s")
351 ; /* TRANS: _Investigate City (spends the unit) (100% chance of success). */
352 ui_name_investigate_city_spend_unit = _("%sInvestigate City (spends the unit)%s")
354 ; /* TRANS: Steal _Gold (100% chance of success). */
355 ui_name_steal_gold = _("Steal %sGold%s")
357 ; /* TRANS: Establish Trade _Route (100% chance of success). */
358 ui_name_establish_trade_route = _("Establish Trade %sRoute%s")
360 ; /* TRANS: Sell _Goods (100% chance of success). */
361 ui_name_enter_marketplace = _("Sell %sGoods%s")
363 ; /* TRANS: Help _build Wonder (100% chance of success). */
364 ui_name_help_wonder = _("Help %sbuild Wonder%s")
366 ; /* TRANS: Rec_ycle Unit (100% chance of success). */
367 ui_name_recycle_unit = _("Rec%sycle Unit%s")
369 ; /* TRANS: _You're Fired (100% chance of success). */
370 ui_name_disband_unit = _("%sYou're Fired%s")
372 ; /* TRANS: _Build City (100% chance of success). */
373 ui_name_found_city = _("%sBuild City%s")
375 ; /* TRANS: _Add to City (100% chance of success). */
376 ui_name_join_city = _("%sAdd to City%s")
378 ; /* TRANS: Explode _Nuclear (100% chance of success). */
379 ui_name_explode_nuclear = _("Explode %sNuclear%s")
381 ; /* TRANS: Set _Home City (100% chance of success). */
382 ui_name_home_city = _("Set %sHome City%s")
384 ; /* TRANS: _Upgrade Unit (100% chance of success). */
385 ui_upgrade_unit = _("%sUpgrade Unit%s")
387 ; /* TRANS: Drop _Paratrooper (100% chance of success). */
388 ui_paradrop_unit = _("Drop %sParatrooper%s")
390 ; /* TRANS: _Airlift to City (100% chance of success). */
391 ui_airlift_unit = _("%sAirlift to City%s")
393 ; /* TRANS: _Attack (100% chance of success). */
394 ui_name_attack = _("%sAttack%s")
396 ; /* TRANS: _Conquer City (100% chance of success). */
397 ui_name_conquer_city = _("%sConquer City%s")
399 ; Suppress automatic help text generation about what enables and/or
400 ; disables the following actions.
402 ; Can make the help text less redundant when you document it your self.
403 quiet_actions = "Heal Unit"
405 ; /* <-- avoid gettext warnings
409 ; action = the action to enable.
410 ; actor_reqs = requirements that apply to the actor.
411 ; target_reqs = requirements that apply to the target.
413 ; README.actions lists the possible actions and their hard coded
416 ; An action enabler is active when its actor_reqs AND its target_reqs are
419 ; */ <-- avoid gettext warnings
421 [actionenabler_sabotage_city]
422 action = "Sabotage City"
424 { "type", "name", "range"
425 "UnitFlag", "Diplomat", "Local"
426 "DiplRel", "War", "Local"
427 "UnitState", "OnLivableTile", "Local"
428 "MinMoveFrags", "1", "Local"
431 [actionenabler_sabotage_city_target]
432 action = "Targeted Sabotage City"
434 { "type", "name", "range"
435 "DiplRel", "War", "Local"
436 "UnitFlag", "Spy", "Local"
437 "UnitState", "OnLivableTile", "Local"
438 "MinMoveFrags", "1", "Local"
441 [actionenabler_establish_embassy]
442 action = "Establish Embassy Stay"
444 { "type", "name", "range", "present"
445 "UnitFlag", "Diplomat", "Local", TRUE
446 "MinMoveFrags", "1", "Local", TRUE
447 "DiplRel", "Foreign", "Local", TRUE
448 "UnitFlag", "Spy", "Local", FALSE
451 { "type", "name", "range", "present"
452 "NationGroup", "Barbarian", "Player", FALSE
455 [actionenabler_establish_embassy_spy]
456 action = "Establish Embassy"
458 { "type", "name", "range"
459 "UnitFlag", "Spy", "Local"
460 "MinMoveFrags", "1", "Local"
461 "DiplRel", "Foreign", "Local"
464 { "type", "name", "range", "present"
465 "NationGroup", "Barbarian", "Player", FALSE
468 [actionenabler_explorer_establish_embassy]
469 action = "Establish Embassy Stay"
471 { "type", "name", "range"
472 "UnitType", "Explorer", "Local"
473 "Tech", "Writing", "Player"
474 "MinMoveFrags", "1", "Local"
475 "DiplRel", "Foreign", "Local"
478 { "type", "name", "range", "present"
479 "NationGroup", "Barbarian", "Player", FALSE
482 [actionenabler_investigate_city]
483 action = "Investigate City Spend Unit"
485 { "type", "name", "range", "present"
486 "UnitFlag", "Diplomat", "Local", TRUE
487 "UnitState", "OnLivableTile", "Local", TRUE
488 "MinMoveFrags", "1", "Local", TRUE
489 "DiplRel", "Foreign", "Local", TRUE
490 "UnitFlag", "Spy", "Local", FALSE
493 [actionenabler_investigate_city_spy]
494 action = "Investigate City"
496 { "type", "name", "range"
497 "UnitFlag", "Spy", "Local"
498 "UnitState", "OnLivableTile", "Local"
499 "MinMoveFrags", "1", "Local"
500 "DiplRel", "Foreign", "Local"
503 [actionenabler_poison_city]
504 action = "Poison City"
506 { "type", "name", "range"
507 "UnitFlag", "Spy", "Local"
508 "DiplRel", "War", "Local"
509 "UnitState", "OnLivableTile", "Local"
510 "MinMoveFrags", "1", "Local"
513 { "type", "name", "range"
514 "MinSize", "2", "City"
517 [actionenabler_steal_tech_random]
518 action = "Steal Tech"
520 { "type", "name", "range"
521 "UnitFlag", "Diplomat", "Local"
522 "UnitState", "OnLivableTile", "Local"
523 "MinMoveFrags", "1", "Local"
524 "DiplRel", "Foreign", "Local"
527 { "type", "name", "range", "present"
528 "NationGroup", "Barbarian", "Player", FALSE
531 [actionenabler_steal_tech_target]
532 action = "Targeted Steal Tech"
534 { "type", "name", "range"
535 "UnitFlag", "Spy", "Local"
536 "UnitState", "OnLivableTile", "Local"
537 "MinMoveFrags", "1", "Local"
538 "DiplRel", "Foreign", "Local"
541 { "type", "name", "range", "present"
542 "NationGroup", "Barbarian", "Player", FALSE
545 [actionenabler_incite_city]
546 action = "Incite City"
548 { "type", "name", "range", "present"
549 "UnitFlag", "Diplomat", "Local", TRUE
550 "DiplRel", "Alliance", "Local", FALSE
551 "DiplRel", "Team", "Local", FALSE
552 "UnitState", "OnLivableTile", "Local", TRUE
553 "MinMoveFrags", "1", "Local", TRUE
554 "DiplRel", "Foreign", "Local", TRUE
555 "UnitFlag", "Spy", "Local", FALSE
558 { "type", "name", "range", "present"
559 "Gov", "Democracy", "Player", FALSE
560 "Building", "Palace", "City", FALSE
563 [actionenabler_incite_city_spy]
564 action = "Incite City Escape"
566 { "type", "name", "range", "present"
567 "UnitFlag", "Spy", "Local", TRUE
568 "DiplRel", "Alliance", "Local", FALSE
569 "DiplRel", "Team", "Local", FALSE
570 "UnitState", "OnLivableTile", "Local", TRUE
571 "MinMoveFrags", "1", "Local", TRUE
572 "DiplRel", "Foreign", "Local", TRUE
575 { "type", "name", "range", "present"
576 "Gov", "Democracy", "Player", FALSE
577 "Building", "Palace", "City", FALSE
580 [actionenabler_bribe_unit]
581 action = "Bribe Unit"
583 { "type", "name", "range", "present"
584 "UnitFlag", "Diplomat", "Local", TRUE
585 "DiplRel", "Alliance", "Local", FALSE
586 "DiplRel", "Team", "Local", FALSE
587 "UnitState", "OnLivableTile", "Local", TRUE
588 "MinMoveFrags", "1", "Local", TRUE
589 "DiplRel", "Foreign", "Local", TRUE
590 "ServerSetting", "killstack", "World", FALSE
593 { "type", "name", "range", "present"
594 "UnitFlag", "Unbribable", "Local", FALSE
595 "CityTile", "Center", "Local", FALSE
596 "Gov", "Democracy", "Player", FALSE
599 [actionenabler_bribe_unit_killstack_enabled]
600 action = "Bribe Unit"
602 { "type", "name", "range", "present"
603 "UnitFlag", "Diplomat", "Local", TRUE
604 "DiplRel", "Alliance", "Local", FALSE
605 "DiplRel", "Team", "Local", FALSE
606 "UnitState", "OnLivableTile", "Local", TRUE
607 "MinMoveFrags", "1", "Local", TRUE
608 "DiplRel", "Foreign", "Local", TRUE
611 { "type", "name", "range", "present"
612 "UnitFlag", "Unbribable", "Local", FALSE
613 "CityTile", "Center", "Local", FALSE
614 "Gov", "Democracy", "Player", FALSE
615 "MaxUnitsOnTile", "1", "Local", TRUE
618 [actionenabler_sabotage_unit]
619 action = "Sabotage Unit"
621 { "type", "name", "range", "present"
622 "UnitFlag", "Spy", "Local", TRUE
623 "DiplRel", "War", "Local", TRUE
624 "UnitState", "OnLivableTile", "Local", TRUE
625 "MinMoveFrags", "1", "Local", TRUE
626 "ServerSetting", "killstack", "World", FALSE
629 { "type", "name", "range", "present"
630 "CityTile", "Center", "Local", FALSE
631 "MinHitPoints", "2", "Local", TRUE
634 [actionenabler_sabotage_unit_killstack_enabled]
635 action = "Sabotage Unit"
637 { "type", "name", "range"
638 "UnitFlag", "Spy", "Local"
639 "DiplRel", "War", "Local"
640 "UnitState", "OnLivableTile", "Local"
641 "MinMoveFrags", "1", "Local"
644 { "type", "name", "range", "present"
645 "CityTile", "Center", "Local", FALSE
646 "MinHitPoints", "2", "Local", TRUE
647 "MaxUnitsOnTile", "1", "Local", TRUE
650 [actionenabler_steal_gold_capital]
651 action = "Steal Gold"
653 { "type", "name", "range"
654 "UnitFlag", "Diplomat", "Local"
655 "UnitState", "OnLivableTile", "Local"
656 "MinMoveFrags", "1", "Local"
657 "Tech", "Banking", "Player"
658 "DiplRel", "Foreign", "Local"
661 { "type", "name", "range"
662 "Building", "Palace", "City"
665 [actionenabler_steal_gold_spy]
666 action = "Steal Gold"
668 { "type", "name", "range"
669 "UnitFlag", "Spy", "Local"
670 "UnitState", "OnLivableTile", "Local"
671 "MinMoveFrags", "1", "Local"
672 "Tech", "Banking", "Player"
673 "DiplRel", "Foreign", "Local"
676 [actionenabler_steal_maps]
677 action = "Steal Maps"
679 { "type", "name", "range"
680 "UnitFlag", "Spy", "Local"
681 "UnitState", "OnLivableTile", "Local"
682 "MinMoveFrags", "1", "Local"
683 "DiplRel", "Foreign", "Local"
686 { "type", "name", "range", "present"
687 "NationGroup", "Barbarian", "Player", FALSE
690 [actionenabler_suitcase_nuke]
691 action = "Suitcase Nuke"
693 { "type", "name", "range", "present"
694 "UnitFlag", "Spy", "Local", TRUE
695 "MinVeteran", "2", "Local", FALSE
696 "DiplRel", "War", "Local", TRUE
697 "UnitState", "OnLivableTile", "Local", TRUE
698 "MinMoveFrags", "1", "Local", TRUE
699 "Building", "Manhattan Project", "Player", TRUE
702 [actionenabler_suitcase_nuke_escape]
703 action = "Suitcase Nuke Escape"
705 { "type", "name", "range"
706 "UnitFlag", "Spy", "Local"
707 "MinVeteran", "2", "Local"
708 "DiplRel", "War", "Local"
709 "UnitState", "OnLivableTile", "Local"
710 "MinMoveFrags", "1", "Local"
711 "Building", "Manhattan Project", "Player"
714 [actionenabler_traderoute]
715 action = "Establish Trade Route"
717 { "type", "name", "range", "present"
718 "UnitFlag", "TradeRoute", "Local", TRUE
721 [actionenabler_marketplace]
722 action = "Enter Marketplace"
724 { "type", "name", "range", "present"
725 "UnitFlag", "TradeRoute", "Local", TRUE
728 [actionenabler_help_build_wonder]
729 action = "Help Wonder"
731 { "type", "name", "range", "present"
732 "UnitFlag", "HelpWonder", "Local", TRUE
733 "DiplRel", "Armistice", "Local", FALSE
734 "DiplRel", "War", "Local", FALSE
735 "DiplRel", "Cease-fire", "Local", FALSE
736 "DiplRel", "Peace", "Local", FALSE
739 { "type", "name", "range"
740 "BuildingGenus", "GreatWonder", "Local"
743 [actionenabler_help_build_small_wonder]
744 action = "Help Wonder"
746 { "type", "name", "range", "present"
747 "UnitFlag", "HelpWonder", "Local", TRUE
748 "DiplRel", "Armistice", "Local", FALSE
749 "DiplRel", "War", "Local", FALSE
750 "DiplRel", "Cease-fire", "Local", FALSE
751 "DiplRel", "Peace", "Local", FALSE
754 { "type", "name", "range"
755 "BuildingGenus", "SmallWonder", "Local"
758 [actionenabler_recycle_unit]
759 action = "Recycle Unit"
761 { "type", "name", "range", "present"
762 "UnitFlag", "EvacuateFirst", "Local", FALSE
763 "DiplRel", "War", "Local", FALSE
764 "DiplRel", "Cease-fire", "Local", FALSE
765 "DiplRel", "Armistice", "Local", FALSE
766 "DiplRel", "Peace", "Local", FALSE
769 [actionenabler_disband_unit]
770 action = "Disband Unit"
772 { "type", "name", "range", "present"
773 "UnitFlag", "EvacuateFirst", "Local", FALSE
776 [actionenabler_build_city_pioneer]
777 action = "Found City"
779 { "type", "name", "range"
780 "UnitFlag", "Cities", "Local"
781 "UnitState", "OnLivableTile", "Local"
782 "MinMoveFrags", "1", "Local"
785 { "type", "name", "range", "present"
786 "CityTile", "Claimed", "Local", FALSE
789 [actionenabler_build_city_occupied]
790 action = "Found City"
792 { "type", "name", "range", "present"
793 "UnitFlag", "Cities", "Local", TRUE
794 "UnitState", "OnLivableTile", "Local", TRUE
795 "MinMoveFrags", "1", "Local", TRUE
796 "DiplRel", "Armistice", "Local", FALSE
797 "DiplRel", "Cease-fire", "Local", FALSE
798 "DiplRel", "Peace", "Local", FALSE
799 "DiplRel", "Alliance", "Local", FALSE
800 "DiplRel", "Team", "Local", FALSE
803 [actionenabler_join_city]
806 { "type", "name", "range", "present"
807 "UnitFlag", "AddToCity", "Local", TRUE
808 "DiplRel", "Foreign", "Local", FALSE
809 "MinMoveFrags", "1", "Local", TRUE
815 { "type", "name", "range", "present"
816 "UnitFlag", "GameLoss", "Local", TRUE
817 "DiplRel", "War", "Local", FALSE
818 "DiplRel", "Cease-fire", "Local", FALSE
819 "DiplRel", "Armistice", "Local", FALSE
820 "DiplRel", "Peace", "Local", FALSE
821 "DiplRel", "Never met", "Local", FALSE
822 "MinMoveFrags", "1", "Local", TRUE
823 "UnitState", "OnLivableTile", "Local", TRUE
826 { "type", "name", "range", "present"
827 "UnitFlag", "LightWeight", "Local", TRUE
830 [actionenabler_border_police]
831 action = "Expel Unit"
833 { "type", "name", "range", "present"
834 "UnitFlag", "BorderPolice", "Local", TRUE
835 "UnitState", "OnDomesticTile", "Local", TRUE
836 "DiplRel", "Foreign", "Local", TRUE
837 "DiplRel", "Team", "Local", FALSE
838 "DiplRel", "Alliance", "Local", FALSE
839 "DiplRel", "War", "Local", FALSE
840 "MinMoveFrags", "1", "Local", TRUE
843 { "type", "name", "range", "present"
844 "UnitFlag", "Expellable", "Local", TRUE
845 "UnitState", "OnDomesticTile", "Local", FALSE
848 ; The GameLoss unit requirement makes sending units on a suicide mission to
849 ; capture and destroy cities deep inside enemy terrain national suicide.
850 ; The risk of moving a GameLoss unit to the target city increases the cost
851 ; of the action. Rationalization for the requirement: the physical presence
852 ; of the Leader makes it easier to comply with the order to destroy the
853 ; city. (See the "orders by phone" Milgram experiment variation)
855 ; The domestic city requirement forces the player to invade a city before
856 ; he can destroy it. If this limit is weakened by allowing the destruction
857 ; of undefended (MaxUnitsOnTile) foreign cities during war it will lead to
858 ; situations where a player can destroy a city but is unable to occupy it.
859 ; Rationalization: the resistance must be crushed before the destruction.
861 ; TODO: create an international incident (set the Casus_Belli_Success
862 ; effect value to 1000) if "Destroy City" still is overpowered.
863 [actionenabler_scorched_earth]
864 action = "Destroy City"
866 { "type", "name", "range", "present"
867 "UnitFlag", "GameLoss", "Local", TRUE
868 "DiplRel", "Foreign", "Local", FALSE
869 "MinMoveFrags", "1", "Local", TRUE
870 "UnitState", "OnLivableTile", "Local", TRUE
874 action = "Explode Nuclear"
876 { "type", "name", "range", "present"
877 "UnitFlag", "Nuclear", "Local", TRUE
880 [actionenabler_bombard]
883 { "type", "name", "range", "present"
884 "UnitFlag", "Bombarder", "Local", TRUE
885 "MinMoveFrags", "1", "Local", TRUE
886 "DiplRel", "War", "Local", TRUE
889 [actionenabler_attack_native]
892 { "type", "name", "range", "present"
893 "UnitFlag", "NonMil", "Local", FALSE
894 "MinMoveFrags", "1", "Local", TRUE
895 "UnitState", "OnNativeTile", "Local", TRUE
898 [actionenabler_attack_marines]
901 { "type", "name", "range", "present"
902 "UnitFlag", "NonMil", "Local", FALSE
903 "MinMoveFrags", "1", "Local", TRUE
904 "UnitFlag", "Marines", "Local", TRUE
907 [actionenabler_attack_att_from_non_native]
910 { "type", "name", "range", "present"
911 "UnitFlag", "NonMil", "Local", FALSE
912 "MinMoveFrags", "1", "Local", TRUE
913 "UnitClassFlag", "AttFromNonNative", "Local", TRUE
916 [actionenabler_conquer_city_native]
917 action = "Conquer City"
919 { "type", "name", "range", "present"
920 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
921 "UnitFlag", "NonMil", "Local", FALSE
922 "DiplRel", "War", "Local", TRUE
923 "MinMoveFrags", "1", "Local", TRUE
924 "UnitState", "OnLivableTile", "Local", TRUE
927 { "type", "name", "range", "present"
928 "MaxUnitsOnTile", "0", "Local", TRUE
931 [actionenabler_conquer_city_marines]
932 action = "Conquer City"
934 { "type", "name", "range", "present"
935 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
936 "UnitFlag", "NonMil", "Local", FALSE
937 "DiplRel", "War", "Local", TRUE
938 "MinMoveFrags", "1", "Local", TRUE
939 "UnitFlag", "Marines", "Local", TRUE
942 { "type", "name", "range", "present"
943 "MaxUnitsOnTile", "0", "Local", TRUE
946 [actionenabler_conquer_city_att_from_non_native]
947 action = "Conquer City"
949 { "type", "name", "range", "present"
950 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
951 "UnitFlag", "NonMil", "Local", FALSE
952 "DiplRel", "War", "Local", TRUE
953 "MinMoveFrags", "1", "Local", TRUE
954 "UnitClassFlag", "AttFromNonNative", "Local", TRUE
957 { "type", "name", "range", "present"
958 "MaxUnitsOnTile", "0", "Local", TRUE
961 [actionenabler_change_home_city]
964 { "type", "name", "range", "present"
965 "UnitFlag", "NoHome", "Local", FALSE
966 "UnitState", "HasHomeCity", "Local", TRUE
967 "DiplRel", "Foreign", "Local", FALSE
970 [actionenabler_paradrop_base]
971 action = "Paradrop Unit"
973 { "type", "name", "range", "present"
974 "UnitFlag", "Paratroopers", "Local", TRUE
975 "UnitState", "Transporting", "Local", FALSE
976 "Extra", "Airbase", "Local", TRUE
979 [actionenabler_paradrop_city]
980 action = "Paradrop Unit"
982 { "type", "name", "range", "present"
983 "UnitFlag", "Paratroopers", "Local", TRUE
984 "UnitState", "Transporting", "Local", FALSE
985 "CityTile", "Center", "Local", TRUE
988 [actionenabler_upgrade_unit]
989 action = "Upgrade Unit"
991 { "type", "name", "range", "present"
992 "DiplRel", "Foreign", "Local", FALSE
995 [actionenabler_airlift_light_unit]
996 action = "Airlift Unit"
998 { "type", "name", "range", "present"
999 "UnitFlag", "LightWeight", "Local", TRUE
1000 "UnitState", "Transporting", "Local", FALSE
1001 "MinMoveFrags", "1", "Local", TRUE
1004 [actionenabler_airlift_medium_unit]
1005 action = "Airlift Unit"
1007 { "type", "name", "range", "present"
1008 "UnitFlag", "MediumWeight", "Local", TRUE
1009 "UnitState", "Transporting", "Local", FALSE
1010 "Tech", "Advanced Flight", "Player", TRUE
1011 "Building", "Airport", "City", TRUE
1012 "MinMoveFrags", "1", "Local", TRUE
1015 { "type", "name", "range"
1016 "Building", "Airport", "City"
1019 [actionenabler_airlift_heavy_unit]
1020 action = "Airlift Unit"
1022 { "type", "name", "range", "present"
1023 "UnitFlag", "HeavyWeight", "Local", TRUE
1024 "UnitState", "Transporting", "Local", FALSE
1025 "Tech", "Fusion Power", "Player", TRUE
1026 "Building", "Airport", "City", TRUE
1027 "MinMoveFrags", "1", "Local", TRUE
1030 { "type", "name", "range"
1031 "Building", "Airport", "City"
1035 ; Base border radius from city.
1038 ; Border radius square increased by this amount / point of city size
1041 ; Difference between city workable area and area permanently claimed by
1042 ; city (these tiles cannot be stolen by stronger border sources).
1043 ; 0 means exactly city workable area is immune to border stealing.
1044 ; Negative value means outer workable tiles can be stolen; highly negative
1045 ; value (more than max city radius_sq) means any workable tile can be stolen.
1046 ; If City_Radius_Sq is variable, so is the set of locked tiles; this is
1047 ; a squared value, so the radius of the ring of tiles which are workable
1048 ; but not locked (or vice versa) varies but the area is constant.
1049 radius_sq_city_permanent = 0
1052 ; Method of calculating technology costs
1053 ; "Civ I|II" - Civ (I|II) style. Every new tech add base_tech_cost to
1054 ; cost of next tech.
1055 ; "Classic" - Cost of technology is:
1056 ; base_tech_cost * (1 + reqs) * sqrt(1 + reqs) / 2
1057 ; where reqs == number of requirement for tech, counted
1059 ; "Classic+" - Cost are read from tech.ruleset. Missing costs are
1060 ; generated by style "Classic".
1061 ; "Experimental" - Cost of technology is:
1062 ; base_tech_cost * (reqs^2 / (1 + sqrt(sqrt(reqs + 1)))
1064 ; where reqs == number of requirement for tech, counted
1066 ; "Experimental+" - Cost are read from tech.ruleset. Missing costs are
1067 ; generated by style "Experimental".
1068 tech_cost_style = "Classic"
1070 ; Base research cost. Used in tech cost styles where tech cost is generated.
1071 ; In other words: used everywhere unless the cost of *all* techs are
1072 ; specified and the tech cost style is "Experimental+" or "Classic+".
1075 ; Technology leak from other civilizations
1076 ; "None" - No reduction of the technology cost.
1077 ; "Embassies" - Technology cost is reduced depending on the number of
1078 ; players which already know the tech and you have an
1080 ; "All Players" - Technology cost is reduced depending on the number of
1081 ; all players (human, AI and barbarians) which already
1083 ; "Normal Players" - Technology cost is reduced depending on the number of
1084 ; normal players (human and AI) which already know the
1086 tech_leakage = "None"
1088 ; Method of paying tech upkeep
1089 ; "None" - no upkeep
1090 ; "Basic" - upkeep is calculated as:
1091 ; <Cost of technology> / tech_upkeep_divider - tech_upkeep_free
1092 ; "Cities" - upkeep is calculated like "Basic", but multiplied by number of cities
1093 tech_upkeep_style = "None"
1095 ; upkeep cost is divided by this value
1096 tech_upkeep_divider = 2000
1098 ; Method of selecting techs given for free
1099 ; "Goal" - Towards player`s goal, random if no goal
1100 ; "Random" - Random researchable tech
1101 ; "Cheapest" - Cheapest researchable tech, random among equal cost ones
1102 free_tech_method = "Goal"
1105 ; Minimum culture points for cultural domination victory
1106 victory_min_points = 1000
1108 ; How big lead relative to second best player is needed for victory
1109 victory_lead_pct = 200
1111 ; How much each culture point affects the migration
1112 ; from/to the city. Each culture point count as this many permilles
1113 ; of a migration point.
1117 ; Year in the beginning of the game
1120 ; Year 1 instead of 0.
1123 ; How many fragments each year has. Value 0 disables year advancement by fragment
1127 ; Calendar fragment names. If name is missing, only a fragment number +1 (so human readable
1128 ; numbers begin from 1 and not 0) is shown.
1130 ;fragment_name0 = "Jan"
1131 ;fragment_name1 = "Feb"
1134 ; What labels are used for positive and negative years.
1135 ; /* TRANS: year label (Anno Domini) */
1136 positive_label = _("AD")
1137 ; /* TRANS: year label (Before Christ) */
1138 negative_label = _("BC")
1140 ; /* <-- avoid gettext warnings
1144 ; name = translatable name as seen by user
1145 ; reqs = requirements for disaster to happen (see effects.ruleset
1146 ; and README.effects for help on requirements)
1147 ; frequency = how likely disaster is to occur
1149 ; - "DestroyBuilding" = Random building is destroyed
1150 ; - "ReducePopulation" = Reduce city size by one unless it's already 1
1151 ; - "ReducePopDestroy" = Reduce city size by one, possibly destroying the city
1152 ; - "EmptyFoodStock" = Remove all food from food stock
1153 ; - "EmptyProdStock" = Destroy current production
1154 ; - "Pollution" = One tile surrounding city polluted
1155 ; - "Fallout" = One tile surrounding city polluted with fallout
1157 ; */ <-- avoid gettext warnings
1159 [disaster_earthquake]
1160 name = _("Earthquake")
1162 effects = "DestroyBuilding"
1164 [disaster_pestilence]
1165 name = _("Pestilence")
1167 effects = "ReducePopulation"
1172 effects = "DestroyBuilding"
1174 [disaster_industrial_accident]
1175 name = _("Industrial Accident")
1177 { "type", "name", "range"
1178 "Building", "Mfg. Plant", "City"
1181 effects = "ReducePopulation", "Pollution"
1183 [disaster_nuclear_accident]
1184 name = _("Nuclear Accident")
1186 { "type", "name", "range"
1187 "Building", "Nuclear Plant", "City"
1190 effects = "ReducePopulation", "Fallout"
1192 ; /* <-- avoid gettext warnings
1194 ; Achievement types:
1196 ; name = translatable name as seen by user
1197 ; rule_name = (optional) name for savegames, rulesets etc; if not
1198 ; present, 'name' is used. Since the name used in
1199 ; savegames must not change, use this when renaming a
1200 ; achievement after a ruleset has been released.
1201 ; type = What event grants the achievement to player.
1202 ; See README.achievements for list of these types.
1203 ; unique = If TRUE, only first one reaching the achievement will
1204 ; get it. Defaults to TRUE.
1205 ; value = Value to reach. Exact meaning of this depends on
1207 ; culture = Amount of culture granted to player who gets achievement
1209 ; first_msg = Message shown to first player gaining the achievement
1210 ; cons_msg = Message shown to consecutive players gaining the achievement
1212 ; */ <-- avoid gettext warnings
1214 ; No achievements in classic ruleset
1219 ; IN = international, IC = intercontinental.
1220 ; For each of the trade route types:
1221 ; "pct" - Trade income %. If this is 0, trade route cannot be
1222 ; established at all
1223 ; "cancelling" - What to do to previously established traderoutes when they
1225 ; "Active" - Keep them active (although they will only
1226 ; provide nonzero income if illegal due to
1227 ; trademindist rather than pct==0)
1228 ; "Inactive" - Keep them inactive
1229 ; "Cancel" - Cancel them altogether
1230 ; "bonus" - One-time bonuses granted when traderoute established
1231 ; "None" - No one-time bonus
1232 ; "Gold" - Bonus to gold
1233 ; "Science" - Bonus to research
1234 ; "Both" - Bonus to gold and research
1238 { "type", "pct", "cancelling", "bonus"
1239 "National", 100, "Cancel", "Both"
1240 "NationalIC", 200, "Cancel", "Both"
1241 "IN", 200, "Cancel", "Both"
1242 "INIC", 400, "Cancel", "Both"
1243 "Ally", 200, "Cancel", "Both"
1244 "AllyIC", 400, "Cancel", "Both"
1245 "Enemy", 200, "Cancel", "Both"
1246 "EnemyIC", 400, "Cancel", "Both"
1247 "Team", 200, "Cancel", "Both"
1248 "TeamIC", 400, "Cancel", "Both"
1251 ; When are goods for the trade route chosen.
1252 ; "Leaving" - Goods to carry are assigned to unit when it`s built, or it changes homecity
1253 ; "Arrival" - Goods are chosen when trade route is established, when unit arrives to destination
1254 goods_selection = "Leaving"
1256 ; /* <-- avoid gettext warnings
1260 ; name = translatable name as seen by user
1261 ; rule_name = (optional) name for savegames, rulesets etc; if not
1262 ; present, 'name' is used. Since the name used in
1263 ; savegames must not change, use this when renaming
1264 ; an good after a ruleset has been released.
1265 ; reqs = requirements for a city to provide goods (see effects.ruleset
1266 ; and README.effects for help on requirements)
1267 ; from_pct = Income for the sending end of the trade route. Default is 100%
1268 ; This value is applied to both ends of bidirectional routes.
1269 ; to_pct = Income for the receiving end of the trade route. Default is 100%
1270 ; This value is not used at all in case of bidirectional routes.
1272 ; - "Bidirectional" = Trade route carrying the goods does not have "from" and "to"
1273 ; ends, but both ends are considered the same.
1274 ; - "Depletes" = Trade route gets cancelled when the source city cannot provide
1275 ; goods any more. Bidirectional routes gets cancelled if either
1276 ; one of the involved cities cannot provide goods.
1277 ; helptext = Optional help text string; should escape all raw
1278 ; newlines so that xgettext parsing works
1280 ; */ <-- avoid gettext warnings
1290 ; Player colors for 32 players are defined below.
1291 ; Avoid greens, blues, and white / very pale colors (too easy to confuse
1293 ; Avoid dark colors.
1331 ; freeciv optional team names definition.
1341 ; freeciv game settings for the experimental freeciv-web ruleset
1343 { "name", "value", "lock"
1344 "topology", "WRAPX", FALSE
1345 "nationset", "all", TRUE
1346 "traitdistribution", "EVEN", FALSE
1347 "maxplayers", 32, TRUE
1348 "startunits", "ccwwxk", FALSE
1349 "killstack", "disabled", FALSE
1350 "citymindist", 3, FALSE
1351 "generator", "FAIR", FALSE
1352 "dispersion", 2, FALSE
1353 "airliftingstyle", "FROM_ALLIES|TO_ALLIES", FALSE
1354 "restrictinfra", "enabled", FALSE