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 - Unit stacks don't protect against spy actions\n\
48 - The killstack server setting is disabled by default.\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 - Explorers can establish embassies once Writing is discovered. \
52 This action consumes the explorer.\n\
53 - Cities can be founded within enemy borders during war and \
55 - The Zone of Control rules have been turned off.\n\
56 - There's only one barbarian nation, attacking from both land and sea.\n\
57 - A player that knows Electricity has no fog of war inside his borders.\n\
58 - Foot soldiers can peacefully expel foreign civilian units from your terrain.\n\
59 - It is possible to establish an embassy while inside a ship.\n\
60 - The startunits are by default spread over the map.\n\
61 - The Leader unit has been added to the default startunits.\n\
62 - The Leader unit can destroy a domestic city. (Be careful when you scorch \
63 the earth. If your Leader dies you lose he game.)\n\
64 - Killing an enemy Leader gives you a few of his cities, some of his gold \
65 and some of his knowledge. Not all his cities will follow you. Some will \
66 rather turn barbarian.\n\
67 - The Leader can heal light weight units belonging to you or to your \
69 - Labels the year using AD/BC.\n\
70 - All units can be airlifted:\n\
71 - Light weight units can be airlifted once Flight is known.\n\
72 - Medium weight units can be airlifted once Advanced Flight is known.\n\
73 - Heavy weight units can be airlifted once Fusion Power is known.\n\
74 - To airlift heavy and medium weight units an airport is required both \
75 in the source and in the destination city.\n\
76 - Cities that know Flight can airlift one (light weight) unit per turn. An \
77 Airport allows a city to airlift one more unit per turn.\n\
78 - Default minimum distance between cities is 3.\n\
79 - Default map generator is `Fair islands`. It generates identical start \
80 position islands for all players.\n\
81 - The Howitzer and the Battleship can bombard.\n\
82 - bombardment may hurt all units at the target tile.\n\
83 - bombardment can't kill a unit.\n\
84 - bombardment can kill population in a city.\n\
85 - webperimental's bombardment can target unit stacks 3 tiles away.\n\
86 - webperimental's bombardment doesn't replace regular attack.\n\
87 - The Battleship is weak against Bomber planes.\n\
88 - Moving from a ship to the beach doesn't spend all movement points.\n\
89 - Airlifting to and from allied cities is allowed by default.\n\
90 - Land units sees further on top of Mountain tiles.\n\
91 - Railroads can't be used by enemy units by default. Regular roads can be \
92 used by the enemy even if the restrictinfra server setting is enabled. \
93 (The restrictinfra server setting is enabled by default.)\n\
94 - An alliance has more in game consequences:\n\
95 - Caravan and Freight can help allies to complete wonders.\n\
96 - Sun Tzu's War Academy gives its veteran bonus (combat and production) \
97 to both its owner and to all his allies.\n\
99 This ruleset is still in development. If playing it makes you think that \
100 a rule should change go to the Freeciv-web board at \
101 http://forum.freeciv.org/ and tell us in the \
102 webperimental ruleset feed back and suggestion thread.\
105 ; Detailed description
106 ; When updating this, update also desciption_file in [ruledit] section to match
111 global_init_buildings="Palace"
114 ; Value added to city pollution
117 ; Cost in luxuries of making one citizen happier
120 ; Cost in food of upkeeping a single citizen
123 ; Parameters used to generalize the calculation of city granary size:
124 ; if city_size <= num_inis:
125 ; city_granary_size = (granary_food_ini[city_size] * foodbox / 100)
126 ; if city_size > num_inis;
127 ; city_granary_size = (granary_food_ini[num_inis] +
128 ; granary_food_inc * (city_size - num_inis)) * foodbox / 100
129 granary_food_ini = 20
130 granary_food_inc = 10
132 ; City center minimum outputs
133 min_city_center_food = 1
134 min_city_center_shield = 1
135 min_city_center_trade = 0
137 ; Square of initial city radius
138 init_city_radius_sq = 5
140 ; Square of initially visible radius (true distance).
141 init_vis_radius_sq = 5
143 ; A base bribe cost, modified heavily by other factors
144 base_bribe_cost = 750
146 ; Barbarian leader ransom in gold
149 ; Number of veteran levels lost when upgrading a unit
150 upgrade_veteran_loss = 0
152 ; Number of veteran levels lost when auto-upgrading a unit
153 autoupgrade_veteran_loss = 0
155 ; Whether player gets to select which terrain improvement to pillage.
156 pillage_select = TRUE
158 ; Whether one can steal a tech for which prereqs are not known
159 tech_steal_allow_holes = FALSE
160 ; Whether one can get a tech for which prereqs are not known via
162 tech_trade_allow_holes = FALSE
163 ; ...and whether one can lose a tech which is prereq for another known
164 ; tech via trade, if techlost_donor is nonzero
165 tech_trade_loss_allow_holes = FALSE
166 ; Whether one can get a tech for which prereqs are not known via
167 ; parasite effect (Great Library)
168 tech_parasite_allow_holes = FALSE
169 ; Whether one can lose a tech which is prereq for another known tech
170 ; due to negative bulbs, if techlossforgiveness allows loss
171 tech_loss_allow_holes = FALSE
173 ; Whether civil war is possible at all
174 civil_war_enabled = TRUE
176 ; Comma separated list of things to happen, in addition to death
177 ; of owner, when gameloss unit dies
178 ; "CivilWar" - Part of the empire remains, controlled by a new player
179 ; "Barbarians" - Depending on if there`s also "CivilWar", all or part
180 ; or half of the dead players empire gets under barbarian
182 ; "Loot" - Player who killed the gameloss unit gets loot:
183 ; Partial map, gold, techs, cities
184 gameloss_style = "Barbarians", "Loot"
186 ; Whether units may safely paradrop to transport on non-native terrain
187 paradrop_to_transport = FALSE
189 ; Method of paying unit and improvement gold upkeep
190 ; "City" - The player`s total gold must be non-negative after paying upkeep
191 ; costs associated with each city. If for any city the player`s
192 ; gold is negative, random buildings in the city are sold off. If
193 ; the gold is still negative, then supported units with gold upkeep
195 ; "Mixed" - In the first step, the player`s total gold must be non-negative
196 ; after paying upkeep for all buildings within a city. If for any
197 ; city the player`s gold is negative, random buildings in the city
199 ; In the second step, gold upkeep for all units is paid in a lump
200 ; sum. If the player does not have enough gold, random units with
201 ; gold upkeep are disbanded.
202 ; "Nation" - Gold upkeep for all buildings and units is paid in a lump sum
203 ; after all cities have been processed. If the player does not
204 ; have enough gold, random buildings from random cities are sold.
205 ; If still more gold is needed, then random units with gold
206 ; upkeep are disbanded.
207 gold_upkeep_style = "City"
210 ; Whether plagues (illness) are possible
211 ; There are some latent building effects in effects.ruleset which affect
212 ; health, if you enable plague here.
215 ; the base factor for illness (of percent)
216 illness_base_factor = 25
218 ; minimum city size for illness
221 ; factor for how much trading with a plagued city increases our city`s
222 ; chance for plague (in percent)
223 illness_trade_infection = 50
225 ; factor for how much pollution within a city increases its chance for
226 ; plague (in percent)
227 illness_pollution_factor = 50
230 ; city_incite_cost = total_factor * (city_size) * (base_incite_cost
231 ; + (units_cost) * unit_factor
232 ; + (improvements_cost) * improvement_factor)
233 ; / ((distance to capital) * 100)
234 ; See city_incite_cost() for more details
235 base_incite_cost = 1000
236 improvement_factor = 1
240 [global_unit_options]
241 ; Shore landing style
242 ; FALSE - normal movement
243 ; TRUE - (default) slow invasions by removing all
244 ; movement points from ground units moving
245 ; from ocean tile to land
246 slow_invasions = FALSE
249 ; If tired_attack is set to TRUE, units that attack with less than a single
250 ; move point (per move_fragments in terrain.ruleset) will have their attack
251 ; power reduced accordingly. For instance, if move_fragments=3, a unit with
252 ; 2/3 move points will have attack power 2/3 of normal.
253 ; If this is set to FALSE units will attack with full strength even if they
254 ; have only fractional moves left.
258 ; An auto attack may be triggered when another unit moves to an adjacent
259 ; tile and the autoattack server setting is enabled. The following details
260 ; are ruleset controlled.
261 ; will_never - units with this unit type flag will never auto attack.
263 ; Not a good idea to nuke our own area.
264 will_never = "Nuclear"
267 ; If force_trade_route is set to TRUE it is illegal for an actor unit to
268 ; enter the marketplace of a city if it can establish a trade route to it
270 force_trade_route = TRUE
272 ; If force_capture_units is set to TRUE it is illegal for an actor unit to
273 ; bombard, explode nuclear or perform a regular attack against a tile if
274 ; it can capture units on it in stead.
275 force_capture_units = FALSE
277 ; If force_bombard is set to TRUE it is illegal for an actor unit to
278 ; explode nuclear or perform a regular attack against a tile if it can
279 ; bombard it in stead.
280 force_bombard = FALSE
282 ; If force_explode_nuclear is set to TRUE it is illegal for an actor unit
283 ; to perform a regular attack against a tile if it can do explode nuclear
285 force_explode_nuclear = TRUE
287 ; If poison_empties_food_stock is set to TRUE a successful "Poison City"
288 ; will empty the food stock.
289 poison_empties_food_stock = FALSE
291 ; The maximum distance from the actor unit to the target of the "Bombard"
292 ; action. The value 1 means that the targets must be on a tile adjacent to
293 ; the actor unit. The special value "unlimited" lifts the maximum distance
294 ; restriction. The maximum distance can`t be smaller than the minimum
296 bombard_max_range = 3
298 ; What each action should be called when showing them to the player.
299 ; The first %s should be before the mnemonic of the action. A Freeciv client
300 ; that supports mnemonics will replace it with the in-band signal that marks
301 ; the following character as a mnemonic in its graphical toolkit.
302 ; The second %s marks where extra details should be inserted.
304 ; /* TRANS: _Poison City (3% chance of success). */
305 ui_name_poison_city = _("%sPoison City%s")
307 ; /* TRANS: _Sabotage Enemy Unit (3% chance of success). */
308 ui_name_sabotage_unit = _("%sSabotage Enemy Unit%s")
310 ; /* TRANS: _Bribe Enemy Unit (3% chance of success). */
311 ui_name_bribe_unit = _("%sBribe Enemy Unit%s")
313 ; /* TRANS: _Use Court Physician (3% chance of success). */
314 ui_name_heal_unit = _("%sUse Court Physician%s")
316 ; /* TRANS: _Sabotage City (3% chance of success). */
317 ui_name_sabotage_city = _("%sSabotage City%s")
319 ; /* TRANS: Industrial _Sabotage (3% chance of success). */
320 ui_name_targeted_sabotage_city = _("Industrial %sSabotage%s")
322 ; /* TRANS: Incite a _Revolt (3% chance of success). */
323 ui_name_incite_city = _("Incite a %sRevolt%s")
325 ; /* TRANS: Establish _Embassy (100% chance of success). */
326 ui_name_establish_embassy = _("Establish %sEmbassy%s")
328 ; /* TRANS: Establish _Embassy (and stay) (100% chance of success). */
329 ui_name_establish_embassy_stay = _("Establish %sEmbassy (and stay)%s")
331 ; /* TRANS: Steal _Technology (3% chance of success). */
332 ui_name_steal_tech = _("Steal %sTechnology%s")
334 ; /* TRANS: Indus_trial Espionage (3% chance of success). */
335 ui_name_targeted_steal_tech = _("Indus%strial Espionage%s")
337 ; /* TRANS: _Investigate City (100% chance of success). */
338 ui_name_investigate_city = _("%sInvestigate City%s")
340 ; /* TRANS: _Investigate City (spends the unit) (100% chance of success). */
341 ui_name_investigate_city_spend_unit = _("%sInvestigate City (spends the unit)%s")
343 ; /* TRANS: Steal _Gold (100% chance of success). */
344 ui_name_steal_gold = _("Steal %sGold%s")
346 ; /* TRANS: Establish Trade _Route (100% chance of success). */
347 ui_name_establish_trade_route = _("Establish Trade %sRoute%s")
349 ; /* TRANS: Sell _Goods (100% chance of success). */
350 ui_name_enter_marketplace = _("Sell %sGoods%s")
352 ; /* TRANS: Help _build Wonder (100% chance of success). */
353 ui_name_help_wonder = _("Help %sbuild Wonder%s")
355 ; /* TRANS: Rec_ycle Unit (100% chance of success). */
356 ui_name_recycle_unit = _("Rec%sycle Unit%s")
358 ; /* TRANS: _You're Fired (100% chance of success). */
359 ui_name_disband_unit = _("%sYou're Fired%s")
361 ; /* TRANS: _Build City (100% chance of success). */
362 ui_name_found_city = _("%sBuild City%s")
364 ; /* TRANS: _Add to City (100% chance of success). */
365 ui_name_join_city = _("%sAdd to City%s")
367 ; /* TRANS: Explode _Nuclear (100% chance of success). */
368 ui_name_explode_nuclear = _("Explode %sNuclear%s")
370 ; /* TRANS: Set _Home City (100% chance of success). */
371 ui_name_home_city = _("Set %sHome City%s")
373 ; /* TRANS: _Upgrade Unit (100% chance of success). */
374 ui_upgrade_unit = _("%sUpgrade Unit%s")
376 ; /* TRANS: Drop _Paratrooper (100% chance of success). */
377 ui_paradrop_unit = _("Drop %sParatrooper%s")
379 ; /* TRANS: _Airlift to City (100% chance of success). */
380 ui_airlift_unit = _("%sAirlift to City%s")
382 ; /* TRANS: _Attack (100% chance of success). */
383 ui_name_attack = _("%sAttack%s")
385 ; /* TRANS: _Conquer City (100% chance of success). */
386 ui_name_conquer_city = _("%sConquer City%s")
388 ; Suppress automatic help text generation about what enables and/or
389 ; disables the following actions.
391 ; Can make the help text less redundant when you document it your self.
392 quiet_actions = "Heal Unit"
394 ; /* <-- avoid gettext warnings
398 ; action = the action to enable.
399 ; actor_reqs = requirements that apply to the actor.
400 ; target_reqs = requirements that apply to the target.
402 ; README.actions lists the possible actions and their hard coded
405 ; An action enabler is active when its actor_reqs AND its target_reqs are
408 ; */ <-- avoid gettext warnings
410 [actionenabler_sabotage_city]
411 action = "Sabotage City"
413 { "type", "name", "range"
414 "UnitFlag", "Diplomat", "Local"
415 "DiplRel", "War", "Local"
416 "UnitState", "OnLivableTile", "Local"
417 "MinMoveFrags", "1", "Local"
420 [actionenabler_sabotage_city_target]
421 action = "Targeted Sabotage City"
423 { "type", "name", "range"
424 "DiplRel", "War", "Local"
425 "UnitFlag", "Spy", "Local"
426 "UnitState", "OnLivableTile", "Local"
427 "MinMoveFrags", "1", "Local"
430 [actionenabler_establish_embassy]
431 action = "Establish Embassy Stay"
433 { "type", "name", "range", "present"
434 "UnitFlag", "Diplomat", "Local", TRUE
435 "MinMoveFrags", "1", "Local", TRUE
436 "DiplRel", "Foreign", "Local", TRUE
437 "UnitFlag", "Spy", "Local", FALSE
440 { "type", "name", "range", "present"
441 "NationGroup", "Barbarian", "Player", FALSE
444 [actionenabler_establish_embassy_spy]
445 action = "Establish Embassy"
447 { "type", "name", "range"
448 "UnitFlag", "Spy", "Local"
449 "MinMoveFrags", "1", "Local"
450 "DiplRel", "Foreign", "Local"
453 { "type", "name", "range", "present"
454 "NationGroup", "Barbarian", "Player", FALSE
457 [actionenabler_explorer_establish_embassy]
458 action = "Establish Embassy Stay"
460 { "type", "name", "range"
461 "UnitType", "Explorer", "Local"
462 "Tech", "Writing", "Player"
463 "MinMoveFrags", "1", "Local"
464 "DiplRel", "Foreign", "Local"
467 { "type", "name", "range", "present"
468 "NationGroup", "Barbarian", "Player", FALSE
471 [actionenabler_investigate_city]
472 action = "Investigate City Spend Unit"
474 { "type", "name", "range", "present"
475 "UnitFlag", "Diplomat", "Local", TRUE
476 "UnitState", "OnLivableTile", "Local", TRUE
477 "MinMoveFrags", "1", "Local", TRUE
478 "DiplRel", "Foreign", "Local", TRUE
479 "UnitFlag", "Spy", "Local", FALSE
482 [actionenabler_investigate_city_spy]
483 action = "Investigate City"
485 { "type", "name", "range"
486 "UnitFlag", "Spy", "Local"
487 "UnitState", "OnLivableTile", "Local"
488 "MinMoveFrags", "1", "Local"
489 "DiplRel", "Foreign", "Local"
492 [actionenabler_poison_city]
493 action = "Poison City"
495 { "type", "name", "range"
496 "UnitFlag", "Spy", "Local"
497 "DiplRel", "War", "Local"
498 "UnitState", "OnLivableTile", "Local"
499 "MinMoveFrags", "1", "Local"
502 { "type", "name", "range"
503 "MinSize", "2", "City"
506 [actionenabler_steal_tech_random]
507 action = "Steal Tech"
509 { "type", "name", "range"
510 "UnitFlag", "Diplomat", "Local"
511 "UnitState", "OnLivableTile", "Local"
512 "MinMoveFrags", "1", "Local"
513 "DiplRel", "Foreign", "Local"
516 { "type", "name", "range", "present"
517 "NationGroup", "Barbarian", "Player", FALSE
520 [actionenabler_steal_tech_target]
521 action = "Targeted Steal Tech"
523 { "type", "name", "range"
524 "UnitFlag", "Spy", "Local"
525 "UnitState", "OnLivableTile", "Local"
526 "MinMoveFrags", "1", "Local"
527 "DiplRel", "Foreign", "Local"
530 { "type", "name", "range", "present"
531 "NationGroup", "Barbarian", "Player", FALSE
534 [actionenabler_incite_city]
535 action = "Incite City"
537 { "type", "name", "range", "present"
538 "UnitFlag", "Diplomat", "Local", TRUE
539 "DiplRel", "Alliance", "Local", FALSE
540 "DiplRel", "Team", "Local", FALSE
541 "UnitState", "OnLivableTile", "Local", TRUE
542 "MinMoveFrags", "1", "Local", TRUE
543 "DiplRel", "Foreign", "Local", TRUE
546 { "type", "name", "range", "present"
547 "Gov", "Democracy", "Player", FALSE
548 "Building", "Palace", "City", FALSE
551 [actionenabler_bribe_unit]
552 action = "Bribe Unit"
554 { "type", "name", "range", "present"
555 "UnitFlag", "Diplomat", "Local", TRUE
556 "DiplRel", "Alliance", "Local", FALSE
557 "DiplRel", "Team", "Local", FALSE
558 "UnitState", "OnLivableTile", "Local", TRUE
559 "MinMoveFrags", "1", "Local", TRUE
560 "DiplRel", "Foreign", "Local", TRUE
563 { "type", "name", "range", "present"
564 "UnitFlag", "Unbribable", "Local", FALSE
565 "CityTile", "Center", "Local", FALSE
566 "Gov", "Democracy", "Player", FALSE
569 [actionenabler_sabotage_unit]
570 action = "Sabotage Unit"
572 { "type", "name", "range"
573 "UnitFlag", "Spy", "Local"
574 "DiplRel", "War", "Local"
575 "UnitState", "OnLivableTile", "Local"
576 "MinMoveFrags", "1", "Local"
579 { "type", "name", "range", "present"
580 "CityTile", "Center", "Local", FALSE
581 "MinHitPoints", "2", "Local", TRUE
584 [actionenabler_steal_gold_capital]
585 action = "Steal Gold"
587 { "type", "name", "range"
588 "UnitFlag", "Diplomat", "Local"
589 "UnitState", "OnLivableTile", "Local"
590 "MinMoveFrags", "1", "Local"
591 "Tech", "Banking", "Player"
592 "DiplRel", "Foreign", "Local"
595 { "type", "name", "range"
596 "Building", "Palace", "City"
599 [actionenabler_steal_gold_spy]
600 action = "Steal Gold"
602 { "type", "name", "range"
603 "UnitFlag", "Spy", "Local"
604 "UnitState", "OnLivableTile", "Local"
605 "MinMoveFrags", "1", "Local"
606 "Tech", "Banking", "Player"
607 "DiplRel", "Foreign", "Local"
610 [actionenabler_steal_maps]
611 action = "Steal Maps"
613 { "type", "name", "range"
614 "UnitFlag", "Spy", "Local"
615 "UnitState", "OnLivableTile", "Local"
616 "MinMoveFrags", "1", "Local"
617 "DiplRel", "Foreign", "Local"
620 { "type", "name", "range", "present"
621 "NationGroup", "Barbarian", "Player", FALSE
624 [actionenabler_suitcase_nuke]
625 action = "Suitcase Nuke"
627 { "type", "name", "range"
628 "UnitFlag", "Spy", "Local"
629 "DiplRel", "War", "Local"
630 "UnitState", "OnLivableTile", "Local"
631 "MinMoveFrags", "1", "Local"
632 "Building", "Manhattan Project", "Player"
635 [actionenabler_traderoute]
636 action = "Establish Trade Route"
638 { "type", "name", "range", "present"
639 "UnitFlag", "TradeRoute", "Local", TRUE
642 [actionenabler_marketplace]
643 action = "Enter Marketplace"
645 { "type", "name", "range", "present"
646 "UnitFlag", "TradeRoute", "Local", TRUE
649 [actionenabler_help_build_wonder]
650 action = "Help Wonder"
652 { "type", "name", "range", "present"
653 "UnitFlag", "HelpWonder", "Local", TRUE
654 "DiplRel", "Armistice", "Local", FALSE
655 "DiplRel", "War", "Local", FALSE
656 "DiplRel", "Cease-fire", "Local", FALSE
657 "DiplRel", "Peace", "Local", FALSE
660 { "type", "name", "range"
661 "BuildingGenus", "GreatWonder", "Local"
664 [actionenabler_help_build_small_wonder]
665 action = "Help Wonder"
667 { "type", "name", "range", "present"
668 "UnitFlag", "HelpWonder", "Local", TRUE
669 "DiplRel", "Armistice", "Local", FALSE
670 "DiplRel", "War", "Local", FALSE
671 "DiplRel", "Cease-fire", "Local", FALSE
672 "DiplRel", "Peace", "Local", FALSE
675 { "type", "name", "range"
676 "BuildingGenus", "SmallWonder", "Local"
679 [actionenabler_recycle_unit]
680 action = "Recycle Unit"
682 { "type", "name", "range", "present"
683 "UnitFlag", "EvacuateFirst", "Local", FALSE
684 "DiplRel", "War", "Local", FALSE
685 "DiplRel", "Cease-fire", "Local", FALSE
686 "DiplRel", "Armistice", "Local", FALSE
687 "DiplRel", "Peace", "Local", FALSE
690 [actionenabler_disband_unit]
691 action = "Disband Unit"
693 { "type", "name", "range", "present"
694 "UnitFlag", "EvacuateFirst", "Local", FALSE
697 [actionenabler_build_city_pioneer]
698 action = "Found City"
700 { "type", "name", "range"
701 "UnitFlag", "Cities", "Local"
702 "UnitState", "OnLivableTile", "Local"
703 "MinMoveFrags", "1", "Local"
706 { "type", "name", "range", "present"
707 "CityTile", "Claimed", "Local", FALSE
710 [actionenabler_build_city_occupied]
711 action = "Found City"
713 { "type", "name", "range", "present"
714 "UnitFlag", "Cities", "Local", TRUE
715 "UnitState", "OnLivableTile", "Local", TRUE
716 "MinMoveFrags", "1", "Local", TRUE
717 "DiplRel", "Armistice", "Local", FALSE
718 "DiplRel", "Cease-fire", "Local", FALSE
719 "DiplRel", "Peace", "Local", FALSE
720 "DiplRel", "Alliance", "Local", FALSE
721 "DiplRel", "Team", "Local", FALSE
724 [actionenabler_join_city]
727 { "type", "name", "range", "present"
728 "UnitFlag", "AddToCity", "Local", TRUE
729 "DiplRel", "Foreign", "Local", FALSE
730 "MinMoveFrags", "1", "Local", TRUE
736 { "type", "name", "range", "present"
737 "UnitFlag", "GameLoss", "Local", TRUE
738 "DiplRel", "War", "Local", FALSE
739 "DiplRel", "Cease-fire", "Local", FALSE
740 "DiplRel", "Armistice", "Local", FALSE
741 "DiplRel", "Peace", "Local", FALSE
742 "DiplRel", "Never met", "Local", FALSE
743 "MinMoveFrags", "1", "Local", TRUE
744 "UnitState", "OnLivableTile", "Local", TRUE
747 { "type", "name", "range", "present"
748 "UnitFlag", "LightWeight", "Local", TRUE
751 [actionenabler_border_police]
752 action = "Expel Unit"
754 { "type", "name", "range", "present"
755 "UnitFlag", "BorderPolice", "Local", TRUE
756 "UnitState", "OnDomesticTile", "Local", TRUE
757 "DiplRel", "Foreign", "Local", TRUE
758 "DiplRel", "Team", "Local", FALSE
759 "DiplRel", "Alliance", "Local", FALSE
760 "DiplRel", "War", "Local", FALSE
761 "MinMoveFrags", "1", "Local", TRUE
764 { "type", "name", "range", "present"
765 "UnitFlag", "Expellable", "Local", TRUE
766 "UnitState", "OnDomesticTile", "Local", FALSE
769 ; The GameLoss unit requirement makes sending units on a suicide mission to
770 ; capture and destroy cities deep inside enemy terrain national suicide.
771 ; The risk of moving a GameLoss unit to the target city increases the cost
772 ; of the action. Rationalization for the requirement: the physical presence
773 ; of the Leader makes it easier to comply with the order to destroy the
774 ; city. (See the "orders by phone" Milgram experiment variation)
776 ; The domestic city requirement forces the player to invade a city before
777 ; he can destroy it. If this limit is weakened by allowing the destruction
778 ; of undefended (MaxUnitsOnTile) foreign cities during war it will lead to
779 ; situations where a player can destroy a city but is unable to occupy it.
780 ; Rationalization: the resistance must be crushed before the destruction.
782 ; TODO: create an international incident (set the Casus_Belli_Success
783 ; effect value to 1000) if "Destroy City" still is overpowered.
784 [actionenabler_scorched_earth]
785 action = "Destroy City"
787 { "type", "name", "range", "present"
788 "UnitFlag", "GameLoss", "Local", TRUE
789 "DiplRel", "Foreign", "Local", FALSE
790 "MinMoveFrags", "1", "Local", TRUE
791 "UnitState", "OnLivableTile", "Local", TRUE
795 action = "Explode Nuclear"
797 { "type", "name", "range", "present"
798 "UnitFlag", "Nuclear", "Local", TRUE
801 [actionenabler_bombard]
804 { "type", "name", "range", "present"
805 "UnitFlag", "Bombarder", "Local", TRUE
806 "MinMoveFrags", "1", "Local", TRUE
807 "DiplRel", "War", "Local", TRUE
810 [actionenabler_attack_native]
813 { "type", "name", "range", "present"
814 "UnitFlag", "NonMil", "Local", FALSE
815 "MinMoveFrags", "1", "Local", TRUE
816 "UnitState", "OnNativeTile", "Local", TRUE
819 [actionenabler_attack_marines]
822 { "type", "name", "range", "present"
823 "UnitFlag", "NonMil", "Local", FALSE
824 "MinMoveFrags", "1", "Local", TRUE
825 "UnitFlag", "Marines", "Local", TRUE
828 [actionenabler_attack_att_from_non_native]
831 { "type", "name", "range", "present"
832 "UnitFlag", "NonMil", "Local", FALSE
833 "MinMoveFrags", "1", "Local", TRUE
834 "UnitClassFlag", "AttFromNonNative", "Local", TRUE
837 [actionenabler_conquer_city_native]
838 action = "Conquer City"
840 { "type", "name", "range", "present"
841 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
842 "UnitFlag", "NonMil", "Local", FALSE
843 "DiplRel", "War", "Local", TRUE
844 "MinMoveFrags", "1", "Local", TRUE
845 "UnitState", "OnLivableTile", "Local", TRUE
848 { "type", "name", "range", "present"
849 "MaxUnitsOnTile", "0", "Local", TRUE
852 [actionenabler_conquer_city_marines]
853 action = "Conquer City"
855 { "type", "name", "range", "present"
856 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
857 "UnitFlag", "NonMil", "Local", FALSE
858 "DiplRel", "War", "Local", TRUE
859 "MinMoveFrags", "1", "Local", TRUE
860 "UnitFlag", "Marines", "Local", TRUE
863 { "type", "name", "range", "present"
864 "MaxUnitsOnTile", "0", "Local", TRUE
867 [actionenabler_conquer_city_att_from_non_native]
868 action = "Conquer City"
870 { "type", "name", "range", "present"
871 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
872 "UnitFlag", "NonMil", "Local", FALSE
873 "DiplRel", "War", "Local", TRUE
874 "MinMoveFrags", "1", "Local", TRUE
875 "UnitClassFlag", "AttFromNonNative", "Local", TRUE
878 { "type", "name", "range", "present"
879 "MaxUnitsOnTile", "0", "Local", TRUE
882 [actionenabler_change_home_city]
885 { "type", "name", "range", "present"
886 "UnitFlag", "NoHome", "Local", FALSE
887 "UnitState", "HasHomeCity", "Local", TRUE
888 "DiplRel", "Foreign", "Local", FALSE
891 [actionenabler_paradrop_base]
892 action = "Paradrop Unit"
894 { "type", "name", "range", "present"
895 "UnitFlag", "Paratroopers", "Local", TRUE
896 "UnitState", "Transporting", "Local", FALSE
897 "Extra", "Airbase", "Local", TRUE
900 [actionenabler_paradrop_city]
901 action = "Paradrop Unit"
903 { "type", "name", "range", "present"
904 "UnitFlag", "Paratroopers", "Local", TRUE
905 "UnitState", "Transporting", "Local", FALSE
906 "CityTile", "Center", "Local", TRUE
909 [actionenabler_upgrade_unit]
910 action = "Upgrade Unit"
912 { "type", "name", "range", "present"
913 "DiplRel", "Foreign", "Local", FALSE
916 [actionenabler_airlift_light_unit]
917 action = "Airlift Unit"
919 { "type", "name", "range", "present"
920 "UnitFlag", "LightWeight", "Local", TRUE
921 "UnitState", "Transporting", "Local", FALSE
922 "MinMoveFrags", "1", "Local", TRUE
925 [actionenabler_airlift_medium_unit]
926 action = "Airlift Unit"
928 { "type", "name", "range", "present"
929 "UnitFlag", "MediumWeight", "Local", TRUE
930 "UnitState", "Transporting", "Local", FALSE
931 "Tech", "Advanced Flight", "Player", TRUE
932 "Building", "Airport", "City", TRUE
933 "MinMoveFrags", "1", "Local", TRUE
936 { "type", "name", "range"
937 "Building", "Airport", "City"
940 [actionenabler_airlift_heavy_unit]
941 action = "Airlift Unit"
943 { "type", "name", "range", "present"
944 "UnitFlag", "HeavyWeight", "Local", TRUE
945 "UnitState", "Transporting", "Local", FALSE
946 "Tech", "Fusion Power", "Player", TRUE
947 "Building", "Airport", "City", TRUE
948 "MinMoveFrags", "1", "Local", TRUE
951 { "type", "name", "range"
952 "Building", "Airport", "City"
956 ; Base border radius from city.
959 ; Border radius square increased by this amount / point of city size
962 ; Difference between city workable area and area permanently claimed by
963 ; city (these tiles cannot be stolen by stronger border sources).
964 ; 0 means exactly city workable area is immune to border stealing.
965 ; Negative value means outer workable tiles can be stolen; highly negative
966 ; value (more than max city radius_sq) means any workable tile can be stolen.
967 ; If City_Radius_Sq is variable, so is the set of locked tiles; this is
968 ; a squared value, so the radius of the ring of tiles which are workable
969 ; but not locked (or vice versa) varies but the area is constant.
970 radius_sq_city_permanent = 0
973 ; Method of calculating technology costs
974 ; "Civ I|II" - Civ (I|II) style. Every new tech add base_tech_cost to
976 ; "Classic" - Cost of technology is:
977 ; base_tech_cost * (1 + reqs) * sqrt(1 + reqs) / 2
978 ; where reqs == number of requirement for tech, counted
980 ; "Classic+" - Cost are read from tech.ruleset. Missing costs are
981 ; generated by style "Classic".
982 ; "Experimental" - Cost of technology is:
983 ; base_tech_cost * (reqs^2 / (1 + sqrt(sqrt(reqs + 1)))
985 ; where reqs == number of requirement for tech, counted
987 ; "Experimental+" - Cost are read from tech.ruleset. Missing costs are
988 ; generated by style "Experimental".
989 tech_cost_style = "Classic"
991 ; Base research cost. Used in tech cost styles where tech cost is generated.
992 ; In other words: used everywhere unless the cost of *all* techs are
993 ; specified and the tech cost style is "Experimental+" or "Classic+".
996 ; Technology leak from other civilizations
997 ; "None" - No reduction of the technology cost.
998 ; "Embassies" - Technology cost is reduced depending on the number of
999 ; players which already know the tech and you have an
1001 ; "All Players" - Technology cost is reduced depending on the number of
1002 ; all players (human, AI and barbarians) which already
1004 ; "Normal Players" - Technology cost is reduced depending on the number of
1005 ; normal players (human and AI) which already know the
1007 tech_leakage = "None"
1009 ; Method of paying tech upkeep
1010 ; "None" - no upkeep
1011 ; "Basic" - upkeep is calculated as:
1012 ; <Cost of technology> / tech_upkeep_divider - tech_upkeep_free
1013 ; "Cities" - upkeep is calculated like "Basic", but multiplied by number of cities
1014 tech_upkeep_style = "None"
1016 ; upkeep cost is divided by this value
1017 tech_upkeep_divider = 2000
1019 ; Method of selecting techs given for free
1020 ; "Goal" - Towards player`s goal, random if no goal
1021 ; "Random" - Random researchable tech
1022 ; "Cheapest" - Cheapest researchable tech, random among equal cost ones
1023 free_tech_method = "Goal"
1026 ; Minimum culture points for cultural domination victory
1027 victory_min_points = 1000
1029 ; How big lead relative to second best player is needed for victory
1030 victory_lead_pct = 200
1032 ; How much each culture point affects the migration
1033 ; from/to the city. Each culture point count as this many permilles
1034 ; of a migration point.
1038 ; Year in the beginning of the game
1041 ; Year 1 instead of 0.
1044 ; How many fragments each year has. Value 0 disables year advancement by fragment
1048 ; Calendar fragment names. If name is missing, only a fragment number +1 (so human readable
1049 ; numbers begin from 1 and not 0) is shown.
1051 ;fragment_name0 = "Jan"
1052 ;fragment_name1 = "Feb"
1055 ; What labels are used for positive and negative years.
1056 ; /* TRANS: year label (Anno Domini) */
1057 positive_label = _("AD")
1058 ; /* TRANS: year label (Before Christ) */
1059 negative_label = _("BC")
1061 ; /* <-- avoid gettext warnings
1065 ; name = translatable name as seen by user
1066 ; reqs = requirements for disaster to happen (see effects.ruleset
1067 ; and README.effects for help on requirements)
1068 ; frequency = how likely disaster is to occur
1070 ; - "DestroyBuilding" = Random building is destroyed
1071 ; - "ReducePopulation" = Reduce city size by one unless it's already 1
1072 ; - "ReducePopDestroy" = Reduce city size by one, possibly destroying the city
1073 ; - "EmptyFoodStock" = Remove all food from food stock
1074 ; - "EmptyProdStock" = Destroy current production
1075 ; - "Pollution" = One tile surrounding city polluted
1076 ; - "Fallout" = One tile surrounding city polluted with fallout
1078 ; */ <-- avoid gettext warnings
1080 [disaster_earthquake]
1081 name = _("Earthquake")
1083 effects = "DestroyBuilding"
1085 [disaster_pestilence]
1086 name = _("Pestilence")
1088 effects = "ReducePopulation"
1093 effects = "DestroyBuilding"
1095 [disaster_industrial_accident]
1096 name = _("Industrial Accident")
1098 { "type", "name", "range"
1099 "Building", "Mfg. Plant", "City"
1102 effects = "ReducePopulation", "Pollution"
1104 [disaster_nuclear_accident]
1105 name = _("Nuclear Accident")
1107 { "type", "name", "range"
1108 "Building", "Nuclear Plant", "City"
1111 effects = "ReducePopulation", "Fallout"
1113 ; /* <-- avoid gettext warnings
1115 ; Achievement types:
1117 ; name = translatable name as seen by user
1118 ; rule_name = (optional) name for savegames, rulesets etc; if not
1119 ; present, 'name' is used. Since the name used in
1120 ; savegames must not change, use this when renaming a
1121 ; achievement after a ruleset has been released.
1122 ; type = What event grants the achievement to player.
1123 ; See README.achievements for list of these types.
1124 ; unique = If TRUE, only first one reaching the achievement will
1125 ; get it. Defaults to TRUE.
1126 ; value = Value to reach. Exact meaning of this depends on
1128 ; culture = Amount of culture granted to player who gets achievement
1130 ; first_msg = Message shown to first player gaining the achievement
1131 ; cons_msg = Message shown to consecutive players gaining the achievement
1133 ; */ <-- avoid gettext warnings
1135 ; No achievements in classic ruleset
1140 ; IN = international, IC = intercontinental.
1141 ; For each of the trade route types:
1142 ; "pct" - Trade income %. If this is 0, trade route cannot be
1143 ; established at all
1144 ; "cancelling" - What to do to previously established traderoutes when they
1146 ; "Active" - Keep them active (although they will only
1147 ; provide nonzero income if illegal due to
1148 ; trademindist rather than pct==0)
1149 ; "Inactive" - Keep them inactive
1150 ; "Cancel" - Cancel them altogether
1151 ; "bonus" - One-time bonuses granted when traderoute established
1152 ; "None" - No one-time bonus
1153 ; "Gold" - Bonus to gold
1154 ; "Science" - Bonus to research
1155 ; "Both" - Bonus to gold and research
1159 { "type", "pct", "cancelling", "bonus"
1160 "National", 100, "Cancel", "Both"
1161 "NationalIC", 200, "Cancel", "Both"
1162 "IN", 200, "Cancel", "Both"
1163 "INIC", 400, "Cancel", "Both"
1164 "Ally", 200, "Cancel", "Both"
1165 "AllyIC", 400, "Cancel", "Both"
1166 "Enemy", 200, "Cancel", "Both"
1167 "EnemyIC", 400, "Cancel", "Both"
1168 "Team", 200, "Cancel", "Both"
1169 "TeamIC", 400, "Cancel", "Both"
1172 ; When are goods for the trade route chosen.
1173 ; "Leaving" - Goods to carry are assigned to unit when it`s built, or it changes homecity
1174 ; "Arrival" - Goods are chosen when trade route is established, when unit arrives to destination
1175 goods_selection = "Leaving"
1177 ; /* <-- avoid gettext warnings
1181 ; name = translatable name as seen by user
1182 ; rule_name = (optional) name for savegames, rulesets etc; if not
1183 ; present, 'name' is used. Since the name used in
1184 ; savegames must not change, use this when renaming
1185 ; an good after a ruleset has been released.
1186 ; reqs = requirements for a city to provide goods (see effects.ruleset
1187 ; and README.effects for help on requirements)
1188 ; from_pct = Income for the sending end of the trade route. Default is 100%
1189 ; This value is applied to both ends of bidirectional routes.
1190 ; to_pct = Income for the receiving end of the trade route. Default is 100%
1191 ; This value is not used at all in case of bidirectional routes.
1193 ; - "Bidirectional" = Trade route carrying the goods does not have "from" and "to"
1194 ; ends, but both ends are considered the same.
1195 ; - "Depletes" = Trade route gets cancelled when the source city cannot provide
1196 ; goods any more. Bidirectional routes gets cancelled if either
1197 ; one of the involved cities cannot provide goods.
1198 ; helptext = Optional help text string; should escape all raw
1199 ; newlines so that xgettext parsing works
1201 ; */ <-- avoid gettext warnings
1211 ; Player colors for 32 players are defined below.
1212 ; Avoid greens, blues, and white / very pale colors (too easy to confuse
1214 ; Avoid dark colors.
1252 ; freeciv optional team names definition.
1262 ; freeciv game settings for the experimental freeciv-web ruleset
1264 { "name", "value", "lock"
1265 "topology", "WRAPX", FALSE
1266 "nationset", "all", TRUE
1267 "traitdistribution", "EVEN", FALSE
1268 "maxplayers", 32, TRUE
1269 "startunits", "ccwwxk", FALSE
1270 "killstack", "disabled", FALSE
1271 "citymindist", 3, FALSE
1272 "generator", "FAIR", FALSE
1273 "dispersion", 2, FALSE
1274 "airliftingstyle", "FROM_ALLIES|TO_ALLIES", FALSE
1275 "restrictinfra", "enabled", FALSE