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="Sandbox 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 = "sandbox/README.sandbox"
26 name = _("Sandbox ruleset")
28 ; There`s no separate versioning in rulesets part of main freeciv distribution
31 ; Summary of the ruleset
33 You are playing Freeciv with sandbox ruleset. This showcases new or \
34 unusual features available in Freeciv without regard for strict game \
35 balancing, playability, AI performance, or savegame compatibility \
38 This ruleset was originally based on current default ruleset, civ2civ3.\
41 ; Detailed description
42 ; When updating this, update also desciption_file in [ruledit] section to match
43 description = *sandbox/README.sandbox*
47 global_init_buildings="Palace"
50 ; Value added to city pollution
53 ; Cost in luxuries of making one citizen happier
56 ; Cost in food of upkeeping a single citizen
59 ; Parameters used to generalize the calculation of city granary size:
60 ; if city_size <= num_inis:
61 ; city_granary_size = (granary_food_ini[city_size] * foodbox / 100)
62 ; if city_size > num_inis;
63 ; city_granary_size = (granary_food_ini[num_inis] +
64 ; granary_food_inc * (city_size - num_inis)) * foodbox / 100
65 granary_food_ini = 20, 20, 20, 20, 20, 30, 30, 40
68 ; City center minimum outputs
69 min_city_center_food = 1
70 min_city_center_shield = 0
71 min_city_center_trade = 0
73 ; Square of initial city radius
74 init_city_radius_sq = 5
76 ; Square of initially visible radius (true distance).
77 init_vis_radius_sq = 5
79 ; A base bribe cost, modified heavily by other factors
82 ; Barbarian leader ransom in gold
85 ; Number of veteran levels lost when upgrading a unit
86 upgrade_veteran_loss = 1
88 ; Number of veteran levels lost when auto-upgrading a unit
89 autoupgrade_veteran_loss = 1
91 ; Whether player gets to select which terrain improvement to pillage.
94 ; Whether one can steal a tech for which prereqs are not known
95 tech_steal_allow_holes = FALSE
96 ; Whether one can get a tech for which prereqs are not known via
98 tech_trade_allow_holes = FALSE
99 ; ...and whether one can lose a tech which is prereq for another known
100 ; tech via trade, if techlost_donor is nonzero
101 tech_trade_loss_allow_holes = FALSE
102 ; Whether one can get a tech for which prereqs are not known via
103 ; parasite effect (Great Library)
104 tech_parasite_allow_holes = FALSE
105 ; Whether one can lose a tech which is prereq for another known tech
106 ; due to negative bulbs, if techlossforgiveness allows loss
107 tech_loss_allow_holes = FALSE
109 ; Whether civil war is possible at all
110 civil_war_enabled = TRUE
112 ; Comma separated list of things to happen, in addition to death
113 ; of owner, when gameloss unit dies
114 ; "CivilWar" - Part of the empire remains, controlled by a new player
115 ; "Barbarians" - Depending on if there`s also "CivilWar", all or part
116 ; or half of the dead players empire gets under barbarian
118 ; "Loot" - Player who killed the gameloss unit gets loot:
119 ; Partial map, gold, techs, cities
122 ; Whether units may safely paradrop to transport on non-native terrain
123 paradrop_to_transport = FALSE
125 ; Method of paying unit and improvement gold upkeep
126 ; "City" - The player`s total gold must be non-negative after paying upkeep
127 ; costs associated with each city. If for any city the player`s
128 ; gold is negative, random buildings in the city are sold off. If
129 ; the gold is still negative, then supported units with gold upkeep
131 ; "Mixed" - In the first step, the player`s total gold must be non-negative
132 ; after paying upkeep for all buildings within a city. If for any
133 ; city the player`s gold is negative, random buildings in the city
135 ; In the second step, gold upkeep for all units is paid in a lump
136 ; sum. If the player does not have enough gold, random units with
137 ; gold upkeep are disbanded.
138 ; "Nation" - Gold upkeep for all buildings and units is paid in a lump sum
139 ; after all cities have been processed. If the player does not
140 ; have enough gold, random buildings from random cities are sold.
141 ; If still more gold is needed, then random units with gold
142 ; upkeep are disbanded.
143 gold_upkeep_style = "Mixed"
146 ; Whether plagues (illness) are possible
149 ; the base factor for illness (of percent)
150 illness_base_factor = 10
152 ; minimum city size for illness
155 ; factor for how much trading with a plagued city increases our city`s
156 ; chance for plague (in percent)
157 illness_trade_infection = 50
159 ; factor for how much pollution within a city increases its chance for
160 ; plague (in percent)
161 illness_pollution_factor = 50
164 ; city_incite_cost = total_factor * (city_size) * (base_incite_cost
165 ; + (units_cost) * unit_factor
166 ; + (improvements_cost) * improvement_factor)
167 ; / ((distance to capital) * 100)
168 ; See city_incite_cost() for more details
169 base_incite_cost = 1000
170 improvement_factor = 1
174 [global_unit_options]
175 ; Shore landing style
176 ; FALSE - normal movement
177 ; TRUE - (default) slow invasions by removing all
178 ; movement points from ground units moving
179 ; from ocean tile to land
180 slow_invasions = TRUE
183 ; If tired_attack is set to TRUE, units that attack with less than a single
184 ; move point (per move_fragments in terrain.ruleset) will have their attack
185 ; power reduced accordingly. For instance, if move_fragments=3, a unit with
186 ; 2/3 move points will have attack power 2/3 of normal.
187 ; If this is set to FALSE units will attack with full strength even if they
188 ; have only fractional moves left.
192 ; An auto attack may be triggered when another unit moves to an adjacent
193 ; tile and the autoattack server setting is enabled. The following details
194 ; are ruleset controlled.
195 ; will_never - units with this unit type flag will never auto attack.
197 ; Not a good idea to nuke our own area.
198 will_never = "Nuclear"
201 ; If force_trade_route is set to TRUE it is illegal for an actor unit to
202 ; enter the marketplace of a city if it can establish a trade route to it
204 force_trade_route = FALSE
206 ; If force_capture_units is set to TRUE it is illegal for an actor unit to
207 ; bombard, explode nuclear or perform a regular attack against a tile if
208 ; it can capture units on it in stead.
209 force_capture_units = TRUE
211 ; If force_bombard is set to TRUE it is illegal for an actor unit to
212 ; explode nuclear or perform a regular attack against a tile if it can
213 ; bombard it in stead.
216 ; If force_explode_nuclear is set to TRUE it is illegal for an actor unit
217 ; to perform a regular attack against a tile if it can do explode nuclear
219 force_explode_nuclear = TRUE
221 ; If poison_empties_food_stock is set to TRUE a successful "Poison City"
222 ; will empty the food stock.
223 poison_empties_food_stock = FALSE
225 ; The maximum distance from the actor unit to the target of the "Bombard"
226 ; action. The value 1 means that the targets must be on a tile adjacent to
227 ; the actor unit. The special value "unlimited" lifts the maximum distance
228 ; restriction. The maximum distance can`t be smaller than the minimum
230 bombard_max_range = 1
232 ; What each action should be called when showing them to the player.
233 ; The first %s should be before the mnemonic of the action. A Freeciv client
234 ; that supports mnemonics will replace it with the in-band signal that marks
235 ; the following character as a mnemonic in its graphical toolkit.
236 ; The second %s marks where extra details should be inserted.
238 ; /* TRANS: _Poison City (3% chance of success). */
239 ui_name_poison_city = _("%sPoison City%s")
241 ; /* TRANS: _Sabotage Enemy Unit (3% chance of success). */
242 ui_name_sabotage_unit = _("%sSabotage Enemy Unit%s")
244 ; /* TRANS: _Bribe Enemy Unit (3% chance of success). */
245 ui_name_bribe_unit = _("%sBribe Enemy Unit%s")
247 ; /* TRANS: _Sabotage City (3% chance of success). */
248 ui_name_sabotage_city = _("%sSabotage City%s")
250 ; /* TRANS: Industrial _Sabotage (3% chance of success). */
251 ui_name_targeted_sabotage_city = _("Industrial %sSabotage%s")
253 ; /* TRANS: Incite a _Revolt (3% chance of success). */
254 ui_name_incite_city = _("Incite a %sRevolt%s")
256 ; /* TRANS: Establish _Embassy (100% chance of success). */
257 ui_name_establish_embassy = _("Establish %sEmbassy%s")
259 ; /* TRANS: Establish _Embassy (and stay) (100% chance of success). */
260 ui_name_establish_embassy_stay = _("Establish %sEmbassy (and stay)%s")
262 ; /* TRANS: Steal _Technology (3% chance of success). */
263 ui_name_steal_tech = _("Steal %sTechnology%s")
265 ; /* TRANS: Indus_trial Espionage (3% chance of success). */
266 ui_name_targeted_steal_tech = _("Indus%strial Espionage%s")
268 ; /* TRANS: Steal _Map Fragments (3% chance of success). */
269 ui_name_steal_maps = _("Steal %sMap Fragments%s")
271 ; /* TRANS: _Investigate City (100% chance of success). */
272 ui_name_investigate_city = _("%sInvestigate City%s")
274 ; /* TRANS: _Investigate City (spends the unit) (100% chance of success). */
275 ui_name_investigate_city_spend_unit = _("%sInvestigate City (spends the unit)%s")
277 ; /* TRANS: Establish Trade _Route (100% chance of success). */
278 ui_name_establish_trade_route = _("Establish Trade %sRoute%s")
280 ; /* TRANS: Enter _Marketplace (100% chance of success). */
281 ui_name_enter_marketplace = _("Enter %sMarketplace%s")
283 ; /* TRANS: Help _build Wonder (100% chance of success). */
284 ui_name_help_wonder = _("Help %sbuild Wonder%s")
286 ; /* TRANS: Rec_ycle Unit (100% chance of success). */
287 ui_name_recycle_unit = _("Rec%sycle Unit%s")
289 ; /* TRANS: _You're Fired (100% chance of success). */
290 ui_name_disband_unit = _("%sYou're Fired%s")
292 ; /* TRANS: _Capture Units (100% chance of success). */
293 ui_name_capture_units = _("%sCapture Units%s")
295 ; /* TRANS: _Build City (100% chance of success). */
296 ui_name_found_city = _("%sBuild City%s")
298 ; /* TRANS: _Add to City (100% chance of success). */
299 ui_name_join_city = _("%sAdd to City%s")
301 ; /* TRANS: _Bombard (100% chance of success). */
302 ui_name_bombard = _("%sBombard%s")
304 ; /* TRANS: Explode _Nuclear (100% chance of success). */
305 ui_name_explode_nuclear = _("Explode %sNuclear%s")
307 ; /* TRANS: Destroy _City (100% chance of success). */
308 ui_name_destroy_city = _("Destroy %sCity%s")
310 ; /* TRANS: Set _Home City (100% chance of success). */
311 ui_name_home_city = _("Set %sHome City%s")
313 ; /* TRANS: _Upgrade Unit (100% chance of success). */
314 ui_upgrade_unit = _("%sUpgrade Unit%s")
316 ; /* TRANS: Drop _Paratrooper (100% chance of success). */
317 ui_paradrop_unit = _("Drop %sParatrooper%s")
319 ; /* TRANS: _Airlift to City (100% chance of success). */
320 ui_airlift_unit = _("%sAirlift to City%s")
322 ; /* TRANS: _Attack (100% chance of success). */
323 ui_name_attack = _("%sAttack%s")
325 ; /* TRANS: _Conquer City (100% chance of success). */
326 ui_name_conquer_city = _("%sConquer City%s")
328 ; Suppress automatic help text generation about what enables and/or
329 ; disables the following actions.
331 ; Can make the help text less redundant when you document it your self.
332 ;quiet_actions = "Targeted Sabotage City", "Targeted Steal Tech"
334 ; /* <-- avoid gettext warnings
338 ; action = the action to enable.
339 ; actor_reqs = requirements that apply to the actor.
340 ; target_reqs = requirements that apply to the target.
342 ; README.actions lists the possible actions and their hard coded
345 ; An action enabler is active when its actor_reqs AND its target_reqs are
348 ; */ <-- avoid gettext warnings
350 [actionenabler_sabotage_city]
351 action = "Sabotage City"
353 { "type", "name", "range"
354 "UnitFlag", "Diplomat", "Local"
355 "DiplRel", "War", "Local"
356 "UnitState", "OnLivableTile", "Local"
357 "MinMoveFrags", "1", "Local"
360 [actionenabler_sabotage_city_target]
361 action = "Targeted Sabotage City"
363 { "type", "name", "range"
364 "DiplRel", "War", "Local"
365 "UnitFlag", "Spy", "Local"
366 "UnitState", "OnLivableTile", "Local"
367 "MinMoveFrags", "1", "Local"
370 [actionenabler_establish_embassy]
371 action = "Establish Embassy Stay"
373 { "type", "name", "range", "present"
374 "UnitFlag", "Diplomat", "Local", TRUE
375 "MinMoveFrags", "1", "Local", TRUE
376 "DiplRel", "Foreign", "Local", TRUE
377 "UnitFlag", "Spy", "Local", FALSE
380 { "type", "name", "range", "present"
381 "NationGroup", "Barbarian", "Player", FALSE
384 [actionenabler_establish_embassy_spy]
385 action = "Establish Embassy"
387 { "type", "name", "range"
388 "UnitFlag", "Spy", "Local"
389 "MinMoveFrags", "1", "Local"
390 "DiplRel", "Foreign", "Local"
393 { "type", "name", "range", "present"
394 "NationGroup", "Barbarian", "Player", FALSE
397 [actionenabler_establish_embassy_explorer]
398 action = "Establish Embassy Stay"
400 { "type", "name", "range"
401 "UnitType", "Explorer", "Local"
402 "MinMoveFrags", "1", "Local"
403 "DiplRel", "Foreign", "Local"
406 { "type", "name", "range", "present"
407 "NationGroup", "Barbarian", "Player", FALSE
410 [actionenabler_investigate_city]
411 action = "Investigate City Spend Unit"
413 { "type", "name", "range", "present"
414 "UnitFlag", "Diplomat", "Local", TRUE
415 "MinMoveFrags", "1", "Local", TRUE
416 "DiplRel", "Foreign", "Local", TRUE
417 "UnitFlag", "Spy", "Local", FALSE
420 [actionenabler_investigate_city_spy]
421 action = "Investigate City"
423 { "type", "name", "range"
424 "UnitFlag", "Spy", "Local"
425 "MinMoveFrags", "1", "Local"
426 "DiplRel", "Foreign", "Local"
429 [actionenabler_investigate_city_explorer]
430 action = "Investigate City Spend Unit"
432 { "type", "name", "range"
433 "UnitType", "Explorer", "Local"
434 "MinMoveFrags", "1", "Local"
435 "DiplRel", "Foreign", "Local"
438 [actionenabler_steal_maps]
439 action = "Steal Maps"
441 { "type", "name", "range"
442 "UnitFlag", "Spy", "Local"
443 "UnitState", "OnLivableTile", "Local"
444 "MinMoveFrags", "1", "Local"
445 "DiplRel", "Foreign", "Local"
448 { "type", "name", "range", "present"
449 "NationGroup", "Barbarian", "Player", FALSE
452 [actionenabler_steal_tech_random]
453 action = "Steal Tech"
455 { "type", "name", "range", "present"
456 "UnitFlag", "Diplomat", "Local"
457 "UnitState", "OnLivableTile", "Local"
458 "MinMoveFrags", "1", "Local"
459 "DiplRel", "Foreign", "Local"
462 { "type", "name", "range", "present"
463 "NationGroup", "Barbarian", "Player", FALSE
466 [actionenabler_steal_tech_target]
467 action = "Targeted Steal Tech"
469 { "type", "name", "range"
470 "UnitFlag", "Spy", "Local"
471 "UnitState", "OnLivableTile", "Local"
472 "MinMoveFrags", "1", "Local"
473 "DiplRel", "Foreign", "Local"
476 { "type", "name", "range", "present"
477 "NationGroup", "Barbarian", "Player", FALSE
480 [actionenabler_poison_city]
481 action = "Poison City"
483 { "type", "name", "range"
484 "UnitFlag", "Spy", "Local"
485 "DiplRel", "War", "Local"
486 "UnitState", "OnLivableTile", "Local"
487 "MinMoveFrags", "1", "Local"
490 { "type", "name", "range"
491 "MinSize", "2", "City"
494 [actionenabler_incite_city]
495 action = "Incite City"
497 { "type", "name", "range", "present"
498 "UnitFlag", "Diplomat", "Local", TRUE
499 "DiplRel", "Alliance", "Local", FALSE
500 "DiplRel", "Team", "Local", FALSE
501 "UnitState", "OnLivableTile", "Local", TRUE
502 "MinMoveFrags", "1", "Local", TRUE
503 "DiplRel", "Foreign", "Local", TRUE
506 { "type", "name", "range", "present"
507 "Gov", "Federation", "Player", FALSE
508 "Gov", "Democracy", "Player", FALSE
509 "Building", "Palace", "City", FALSE
510 "Building", "Ecclesiastical Palace", "City", FALSE
511 "Building", "Mausoleum of Mausolos", "Player", FALSE
514 [actionenabler_bribe_unit]
515 action = "Bribe Unit"
517 { "type", "name", "range", "present"
518 "UnitFlag", "Diplomat", "Local", TRUE
519 "DiplRel", "Alliance", "Local", FALSE
520 "DiplRel", "Team", "Local", FALSE
521 "UnitState", "OnLivableTile", "Local", TRUE
522 "MinMoveFrags", "1", "Local", TRUE
523 "DiplRel", "Foreign", "Local", TRUE
526 { "type", "name", "range", "present"
527 "UnitFlag", "Unbribable", "Local", FALSE
528 "CityTile", "Center", "Local", FALSE
529 "Gov", "Republic", "Player", FALSE
530 "Gov", "Democracy", "Player", FALSE
533 [actionenabler_sabotage_unit]
534 action = "Sabotage Unit"
536 { "type", "name", "range"
537 "UnitFlag", "Spy", "Local"
538 "DiplRel", "War", "Local"
539 "UnitState", "OnLivableTile", "Local"
540 "MinMoveFrags", "1", "Local"
543 { "type", "name", "range", "present"
544 "CityTile", "Center", "Local", FALSE
545 "MinHitPoints", "2", "Local", TRUE
548 [actionenabler_traderoute]
549 action = "Establish Trade Route"
551 { "type", "name", "range", "present"
552 "UnitFlag", "TradeRoute", "Local", TRUE
553 "MinMoveFrags", "1", "Local", TRUE
556 [actionenabler_marketplace]
557 action = "Enter Marketplace"
559 { "type", "name", "range", "present"
560 "UnitFlag", "TradeRoute", "Local", TRUE
561 "MinMoveFrags", "1", "Local", TRUE
564 { "type", "name", "range"
565 "Building", "Marketplace", "City"
568 [actionenabler_help_build_wonder]
569 action = "Help Wonder"
571 { "type", "name", "range", "present"
572 "UnitFlag", "HelpWonder", "Local", TRUE
573 "DiplRel", "Armistice", "Local", FALSE
574 "DiplRel", "War", "Local", FALSE
575 "DiplRel", "Cease-fire", "Local", FALSE
576 "DiplRel", "Peace", "Local", FALSE
577 "MinMoveFrags", "1", "Local", TRUE
580 { "type", "name", "range"
581 "BuildingGenus", "GreatWonder", "Local"
584 [actionenabler_help_build_small_wonder]
585 action = "Help Wonder"
587 { "type", "name", "range", "present"
588 "UnitFlag", "HelpWonder", "Local", TRUE
589 "DiplRel", "Armistice", "Local", FALSE
590 "DiplRel", "War", "Local", FALSE
591 "DiplRel", "Cease-fire", "Local", FALSE
592 "DiplRel", "Peace", "Local", FALSE
595 { "type", "name", "range"
596 "BuildingGenus", "SmallWonder", "Local"
599 [actionenabler_recycle_unit]
600 action = "Recycle Unit"
602 { "type", "name", "range", "present"
603 "UnitFlag", "EvacuateFirst", "Local", FALSE
604 "UnitFlag", "Consensus", "Local", FALSE
605 "DiplRel", "War", "Local", FALSE
606 "DiplRel", "Cease-fire", "Local", FALSE
607 "DiplRel", "Armistice", "Local", FALSE
608 "DiplRel", "Peace", "Local", FALSE
611 [actionenabler_recycle_unit_consensus]
612 action = "Recycle Unit"
614 { "type", "name", "range", "present"
615 "UnitFlag", "EvacuateFirst", "Local", FALSE
616 "UnitFlag", "Consensus", "Local", TRUE
617 "Gov", "Communism", "Player", FALSE
618 "Gov", "Democracy", "Player", FALSE
619 "Gov", "Republic", "Player", FALSE
620 "DiplRel", "War", "Local", FALSE
621 "DiplRel", "Cease-fire", "Local", FALSE
622 "DiplRel", "Armistice", "Local", FALSE
623 "DiplRel", "Peace", "Local", FALSE
626 [actionenabler_disband_unit]
627 action = "Disband Unit"
629 { "type", "name", "range", "present"
630 "UnitFlag", "EvacuateFirst", "Local", FALSE
631 "UnitFlag", "Consensus", "Local", FALSE
634 [actionenabler_disband_unit_consensus]
635 action = "Disband Unit"
637 { "type", "name", "range", "present"
638 "UnitFlag", "EvacuateFirst", "Local", FALSE
639 "UnitFlag", "Consensus", "Local", TRUE
640 "Gov", "Communism", "Player", FALSE
641 "Gov", "Democracy", "Player", FALSE
642 "Gov", "Republic", "Player", FALSE
645 [actionenabler_capture]
646 action = "Capture Units"
648 { "type", "name", "range", "present"
649 "UnitFlag", "Capturer", "Local", TRUE
650 "DiplRel", "War", "Local", TRUE
651 "MinMoveFrags", "1", "Local", TRUE
652 "DiplRel", "Foreign", "Local", TRUE
655 { "type", "name", "range", "present"
656 "UnitFlag", "Capturable", "Local", TRUE
657 "CityTile", "Center", "Local", FALSE
660 [actionenabler_bombard]
663 { "type", "name", "range", "present"
664 "UnitFlag", "Bombarder", "Local", TRUE
665 "UnitState", "Transported", "Local", FALSE
666 "MinMoveFrags", "1", "Local", TRUE
667 "DiplRel", "War", "Local", TRUE
670 { "type", "name", "range", "present"
671 "TerrainClass", "Oceanic", "Local", FALSE
674 [actionenabler_build_city_pioneer]
675 action = "Found City"
677 { "type", "name", "range"
678 "UnitFlag", "Cities", "Local"
679 "UnitState", "OnLivableTile", "Local"
680 "MinMoveFrags", "1", "Local"
683 { "type", "name", "range", "present"
684 "CityTile", "Claimed", "Local", FALSE
687 [actionenabler_build_city_domestic]
688 action = "Found City"
690 { "type", "name", "range", "present"
691 "UnitFlag", "Cities", "Local", TRUE
692 "UnitState", "OnLivableTile", "Local", TRUE
693 "MinMoveFrags", "1", "Local", TRUE
694 "DiplRel", "Foreign", "Local", FALSE
697 [actionenabler_join_city]
700 { "type", "name", "range", "present"
701 "UnitFlag", "AddToCity", "Local", TRUE
702 "DiplRel", "Foreign", "Local", FALSE
703 "MinMoveFrags", "1", "Local", TRUE
706 [actionenabler_border_police]
707 action = "Expel Unit"
709 { "type", "name", "range", "present"
710 "UnitClassFlag", "BorderPolice", "Local", TRUE
711 "UnitState", "OnDomesticTile", "Local", TRUE
712 "DiplRel", "Foreign", "Local", TRUE
713 "DiplRel", "Team", "Local", FALSE
714 "DiplRel", "Alliance", "Local", FALSE
715 "DiplRel", "War", "Local", FALSE
716 "MinMoveFrags", "1", "Local", TRUE
719 { "type", "name", "range", "present"
720 "UnitClassFlag", "Expellable", "Local", TRUE
721 "UnitState", "OnDomesticTile", "Local", FALSE
725 action = "Explode Nuclear"
727 { "type", "name", "range", "present"
728 "UnitFlag", "Nuclear", "Local", TRUE
731 ; The GameLoss unit requirement makes sending units on a suicide mission to
732 ; capture and destroy cities deep inside enemy terrain national suicide.
733 ; The risk of moving a GameLoss unit to the target city increases the cost
734 ; of the action. Rationalization for the requirement: the physical presence
735 ; of the Leader makes it easier to comply with the order to destroy the
736 ; city. (See the "orders by phone" Milgram experiment variation)
738 ; The domestic city requirement forces the player to invade a city before
739 ; he can destroy it. If this limit is weakened by allowing the destruction
740 ; of undefended (MaxUnitsOnTile) foreign cities during war it will lead to
741 ; situations where a player can destroy a city but is unable to occupy it.
742 ; Rationalization: the resistance must be crushed before the destruction.
744 ; TODO: create an international incident (set the Casus_Belli_Success
745 ; effect value to 1000) if "Destroy City" still is overpowered.
746 [actionenabler_scorched_earth]
747 action = "Destroy City"
749 { "type", "name", "range", "present"
750 "UnitFlag", "GameLoss", "Local", TRUE
751 "DiplRel", "Foreign", "Local", FALSE
752 "MinMoveFrags", "1", "Local", TRUE
753 "UnitState", "OnLivableTile", "Local", TRUE
756 [actionenabler_attack_native]
759 { "type", "name", "range", "present"
760 "UnitFlag", "NonMil", "Local", FALSE
761 "MinMoveFrags", "1", "Local", TRUE
762 "UnitState", "OnNativeTile", "Local", TRUE
765 [actionenabler_attack_marines]
768 { "type", "name", "range", "present"
769 "UnitFlag", "NonMil", "Local", FALSE
770 "MinMoveFrags", "1", "Local", TRUE
771 "UnitFlag", "Marines", "Local", TRUE
774 [actionenabler_attack_att_from_non_native]
777 { "type", "name", "range", "present"
778 "UnitFlag", "NonMil", "Local", FALSE
779 "MinMoveFrags", "1", "Local", TRUE
780 "UnitClassFlag", "AttFromNonNative", "Local", TRUE
783 [actionenabler_conquer_city_native]
784 action = "Conquer City"
786 { "type", "name", "range", "present"
787 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
788 "UnitFlag", "NonMil", "Local", FALSE
789 "DiplRel", "War", "Local", TRUE
790 "MinMoveFrags", "1", "Local", TRUE
791 "UnitState", "OnLivableTile", "Local", TRUE
794 { "type", "name", "range", "present"
795 "MaxUnitsOnTile", "0", "Local", TRUE
798 [actionenabler_conquer_city_marines]
799 action = "Conquer City"
801 { "type", "name", "range", "present"
802 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
803 "UnitFlag", "NonMil", "Local", FALSE
804 "DiplRel", "War", "Local", TRUE
805 "MinMoveFrags", "1", "Local", TRUE
806 "UnitFlag", "Marines", "Local", TRUE
809 { "type", "name", "range", "present"
810 "MaxUnitsOnTile", "0", "Local", TRUE
813 [actionenabler_conquer_city_att_from_non_native]
814 action = "Conquer City"
816 { "type", "name", "range", "present"
817 "UnitClassFlag", "CanOccupyCity", "Local", TRUE
818 "UnitFlag", "NonMil", "Local", FALSE
819 "DiplRel", "War", "Local", TRUE
820 "MinMoveFrags", "1", "Local", TRUE
821 "UnitClassFlag", "AttFromNonNative", "Local", TRUE
824 { "type", "name", "range", "present"
825 "MaxUnitsOnTile", "0", "Local", TRUE
828 [actionenabler_change_home_city]
831 { "type", "name", "range", "present"
832 "UnitFlag", "NoHome", "Local", FALSE
833 "UnitState", "HasHomeCity", "Local", TRUE
834 "DiplRel", "Foreign", "Local", FALSE
837 [actionenabler_paradrop_not_forest_base]
838 action = "Paradrop Unit"
840 { "type", "name", "range", "present"
841 "UnitFlag", "Paratroopers", "Local", TRUE
842 "UnitState", "Transporting", "Local", FALSE
843 "ExtraFlag", "ParadropFrom", "Local", TRUE
846 { "type", "name", "range", "present"
847 "TerrainFlag", "DifficultLanding", "Local", FALSE
850 [actionenabler_paradrop_veteran_base]
851 action = "Paradrop Unit"
853 { "type", "name", "range", "present"
854 "UnitFlag", "Paratroopers", "Local", TRUE
855 "UnitState", "Transporting", "Local", FALSE
856 "MinVeteran", 1, "Local", TRUE
857 "ExtraFlag", "ParadropFrom", "Local", TRUE
860 [actionenabler_paradrop_not_forest_city]
861 action = "Paradrop Unit"
863 { "type", "name", "range", "present"
864 "UnitFlag", "Paratroopers", "Local", TRUE
865 "UnitState", "Transporting", "Local", FALSE
866 "CityTile", "Center", "Local", TRUE
869 { "type", "name", "range", "present"
870 "TerrainFlag", "DifficultLanding", "Local", FALSE
873 [actionenabler_paradrop_veteran_city]
874 action = "Paradrop Unit"
876 { "type", "name", "range", "present"
877 "UnitFlag", "Paratroopers", "Local", TRUE
878 "UnitState", "Transporting", "Local", FALSE
879 "MinVeteran", 1, "Local", TRUE
880 "CityTile", "Center", "Local", TRUE
883 [actionenabler_upgrade_unit]
884 action = "Upgrade Unit"
886 { "type", "name", "range", "present"
887 "DiplRel", "Foreign", "Local", FALSE
890 [actionenabler_airlift_light_unit]
891 action = "Airlift Unit"
893 { "type", "name", "range", "present"
894 "UnitClassFlag", "LightWeight", "Local", TRUE
895 "UnitState", "Transporting", "Local", FALSE
896 "MinMoveFrags", "1", "Local", TRUE
899 [actionenabler_airlift_medium_unit]
900 action = "Airlift Unit"
902 { "type", "name", "range", "present"
903 "UnitClassFlag", "MediumWeight", "Local", TRUE
904 "UnitState", "Transporting", "Local", FALSE
905 "Tech", "Advanced Flight", "Player", TRUE
906 "Building", "Airport", "City", TRUE
907 "MinMoveFrags", "1", "Local", TRUE
910 { "type", "name", "range"
911 "Building", "Airport", "City"
914 [actionenabler_airlift_heavy_unit]
915 action = "Airlift Unit"
917 { "type", "name", "range", "present"
918 "UnitClassFlag", "HeavyWeight", "Local", TRUE
919 "UnitState", "Transporting", "Local", FALSE
920 "Tech", "Fusion Power", "Player", TRUE
921 "Building", "Airport", "City", TRUE
922 "MinMoveFrags", "1", "Local", TRUE
925 { "type", "name", "range"
926 "Building", "Airport", "City"
930 ; Base border radius from city.
933 ; Border radius square increased by this amount / point of city size
936 ; Difference between city workable area and area permanently claimed by
937 ; city (these tiles cannot be stolen by stronger border sources).
938 ; 0 means exactly city workable area is immune to border stealing.
939 ; Negative value means outer workable tiles can be stolen; highly negative
940 ; value (more than max city radius_sq) means any workable tile can be stolen.
941 ; If City_Radius_Sq is variable, so is the set of locked tiles; this is
942 ; a squared value, so the radius of the ring of tiles which are workable
943 ; but not locked (or vice versa) varies but the area is constant.
944 radius_sq_city_permanent = -3
947 ; Method of calculating technology costs
948 ; "Civ I|II" - Civ (I|II) style. Every new tech add base_tech_cost to
950 ; "Classic" - Cost of technology is:
951 ; base_tech_cost * (1 + reqs) * sqrt(1 + reqs) / 2
952 ; where reqs == number of requirement for tech, counted
954 ; "Classic+" - Cost are read from tech.ruleset. Missing costs are
955 ; generated by style "Classic".
956 ; "Experimental" - Cost of technology is:
957 ; base_tech_cost * (reqs^2 / (1 + sqrt(sqrt(reqs + 1)))
959 ; where reqs == number of requirement for tech, counted
961 ; "Experimental+" - Cost are read from tech.ruleset. Missing costs are
962 ; generated by style "Experimental".
963 tech_cost_style = "Classic+"
965 ; Base research cost. Used in tech cost styles where tech cost is generated.
966 ; In other words: used everywhere unless the cost of *all* techs are
967 ; specified and the tech cost style is "Experimental+" or "Classic+".
970 ; Technology leak from other civilizations
971 ; "None" - No reduction of the technology cost.
972 ; "Embassies" - Technology cost is reduced depending on the number of
973 ; players which already know the tech and you have an
975 ; "All Players" - Technology cost is reduced depending on the number of
976 ; all players (human, AI and barbarians) which already
978 ; "Normal Players" - Technology cost is reduced depending on the number of
979 ; normal players (human and AI) which already know the
981 tech_leakage = "Embassies"
983 ; Method of paying tech upkeep
985 ; "Basic" - upkeep is calculated as:
986 ; <Cost of technology> / tech_upkeep_divider - tech_upkeep_free
987 ; "Cities" - upkeep is calculated like "Basic", but multiplied by number of cities
988 tech_upkeep_style = "Cities"
990 ; upkeep cost is divided by this value
991 tech_upkeep_divider = 6000
993 ; Method of selecting techs given for free
994 ; "Goal" - Towards player`s goal, random if no goal
995 ; "Random" - Random researchable tech
996 ; "Cheapest" - Cheapest researchable tech, random among equal cost ones
997 free_tech_method = "Cheapest"
1000 ; Minimum culture points for cultural domination victory
1001 victory_min_points = 10000
1003 ; How big lead relative to second best player is needed for victory
1004 victory_lead_pct = 200
1006 ; How much each culture point affects the migration
1007 ; from/to the city. Each culture point count as this many permilles
1008 ; of a migration point.
1012 ; Year in the beginning of the game
1015 ; Year 1 instead of 0.
1018 ; How many fragments each year has. Value 0 disables year advancement by fragment
1022 ; Calendar fragment names. If name is missing, only a fragment number +1 (so human readable
1023 ; numbers begin from 1 and not 0) is shown.
1025 ;fragment_name0 = "Jan"
1026 ;fragment_name1 = "Feb"
1029 ; What labels are used for positive and negative years.
1030 ; /* TRANS: year label (Common Era) */
1031 positive_label = _("CE")
1032 ; /* TRANS: year label (Before Common Era) */
1033 negative_label = _("BCE")
1035 ; /* <-- avoid gettext warnings
1039 ; name = translatable name as seen by user
1040 ; reqs = requirements for disaster to happen (see effects.ruleset
1041 ; and README.effects for help on requirements)
1042 ; frequency = how likely disaster is to occur
1044 ; - "DestroyBuilding" = Random building is destroyed
1045 ; - "ReducePopulation" = Reduce city size by one unless it's already 1
1046 ; - "ReducePopDestroy" = Reduce city size by one, possibly destroying the city
1047 ; - "EmptyFoodStock" = Remove all food from food stock
1048 ; - "EmptyProdStock" = Destroy current production
1049 ; - "Pollution" = One tile surrounding city polluted
1050 ; - "Fallout" = One tile surrounding city polluted with fallout
1052 ; */ <-- avoid gettext warnings
1054 [disaster_earthquake]
1055 name = _("Earthquake")
1057 { "type", "name", "range"
1058 "Terrain", "Hills", "Local"
1061 effects = "EmptyProdStock"
1066 { "type", "name", "range"
1067 "Extra", "River", "Adjacent"
1070 effects = "EmptyFoodStock"
1075 { "type", "name", "range"
1076 "MinSize", "9", "City"
1079 effects = "DestroyBuilding"
1081 [disaster_industrial_accident]
1082 name = _("Industrial Accident")
1084 { "type", "name", "range"
1085 "Building", "Mfg. Plant", "City"
1088 effects = "ReducePopulation", "Pollution"
1090 [disaster_nuclear_accident]
1091 name = _("Nuclear Accident")
1093 { "type", "name", "range"
1094 "Building", "Nuclear Plant", "City"
1097 effects = "ReducePopulation", "Fallout"
1099 ; /* <-- avoid gettext warnings
1101 ; Achievement types:
1103 ; name = translatable name as seen by user
1104 ; rule_name = (optional) name for savegames, rulesets etc; if not
1105 ; present, 'name' is used. Since the name used in
1106 ; savegames must not change, use this when renaming a
1107 ; achievement after a ruleset has been released.
1108 ; type = What event grants the achievement to player.
1109 ; See README.achievements for list of these types.
1110 ; unique = If TRUE, only first one reaching the achievement will
1111 ; get it. Defaults to TRUE.
1112 ; value = Value to reach. Exact meaning of this depends on
1114 ; culture = Amount of culture granted to player who gets achievement
1116 ; first_msg = Message shown to first player gaining the achievement
1117 ; cons_msg = Message shown to consecutive players gaining the achievement
1119 ; */ <-- avoid gettext warnings
1121 [achievement_spaceship]
1122 name = _("Spaceship Launch")
1126 first_msg = _("You're the first one to launch a spaceship towards Alpha Centauri!");
1127 cons_msg = _("You have launched a spaceship towards Alpha Centauri!")
1129 [achievement_map_known]
1130 name = _("Entire Map Known")
1135 first_msg = _("You're the first one to have mapped the entire world!")
1136 cons_msg = _("You have mapped the entire world!")
1138 [achievement_another_island]
1139 name = _("Land Ahoy")
1144 first_msg = _("As the first people in history, your people sight a foreign shore!")
1145 cons_msg = _("You sight your first foreign shore!")
1147 [achievement_literate]
1148 name = _("Literate")
1153 ; /* xgettext:no-c-format */
1154 first_msg = _("You're the first one to achieve 100% of literacy!")
1155 ; /* xgettext:no-c-format */
1156 cons_msg = _("You have achieved 100% of literacy!")
1158 [achievement_multicultural]
1159 name = _("Multicultural")
1160 type = "Multicultural"
1164 first_msg = _("You're the first nation with citizens of 2 different nationalities!")
1165 cons_msg = _("In your nation there are citizens of 2 different nationalities!")
1167 [achievement_metropolis]
1168 name = _("Metropolis")
1173 first_msg = _("Your city is the first one to reach population 20!")
1174 cons_msg = _("Your city has reached population 20!")
1176 [achievement_cultured_city]
1177 name = _("Cultured City")
1178 type = "Cultured_City"
1182 first_msg = _("Your city is the first one to achieve 1000 culture points!")
1183 cons_msg = _("Your city has achieved 1000 culture points!")
1185 [achievement_cultured_nation]
1186 name = _("Cultured Nation")
1187 type = "Cultured_Nation"
1190 first_msg = _("Your nation is the first one to achieve 10000 culture points!")
1191 cons_msg = _("Your nation has achieved 10000 culture points!")
1196 ; IN = international, IC = intercontinental.
1197 ; For each of the trade route types:
1198 ; "pct" - Trade income %. If this is 0, trade route cannot be
1199 ; established at all
1200 ; "cancelling" - What to do to previously established traderoutes when they
1202 ; "Active" - Keep them active (although they will only
1203 ; provide nonzero income if illegal due to
1204 ; trademindist rather than pct==0)
1205 ; "Inactive" - Keep them inactive
1206 ; "Cancel" - Cancel them altogether
1207 ; "bonus" - One-time bonuses granted when traderoute established
1208 ; "None" - No one-time bonus
1209 ; "Gold" - Bonus to gold
1210 ; "Science" - Bonus to research
1211 ; "Both" - Bonus to gold and research
1215 { "type", "pct", "cancelling", "bonus"
1216 "National", 0, "Cancel", "Both"
1217 "NationalIC", 0, "Cancel", "Both"
1218 "IN", 100, "Cancel", "Both"
1219 "INIC", 200, "Cancel", "Both"
1220 "Ally", 100, "Cancel", "Both"
1221 "AllyIC", 200, "Cancel", "Both"
1222 "Enemy", 0, "Cancel", "None"
1223 "EnemyIC", 0, "Cancel", "None"
1224 "Team", 100, "Cancel", "Both"
1225 "TeamIC", 200, "Cancel", "Both"
1228 ; When are goods for the trade route chosen.
1229 ; "Leaving" - Goods to carry are assigned to unit when it`s built, or it changes homecity
1230 ; "Arrival" - Goods are chosen when trade route is established, when unit arrives to destination
1231 goods_selection = "Leaving"
1233 ; /* <-- avoid gettext warnings
1237 ; name = translatable name as seen by user
1238 ; rule_name = (optional) name for savegames, rulesets etc; if not
1239 ; present, 'name' is used. Since the name used in
1240 ; savegames must not change, use this when renaming
1241 ; an good after a ruleset has been released.
1242 ; reqs = requirements for a city to provide goods (see effects.ruleset
1243 ; and README.effects for help on requirements)
1244 ; from_pct = Income for the sending end of the trade route. Default is 100%
1245 ; This value is applied to both ends of bidirectional routes.
1246 ; to_pct = Income for the receiving end of the trade route. Default is 100%
1247 ; This value is not used at all in case of bidirectional routes.
1249 ; - "Bidirectional" = Trade route carrying the goods does not have "from" and "to"
1250 ; ends, but both ends are considered the same.
1251 ; - "Depletes" = Trade route gets cancelled when the source city cannot provide
1252 ; goods any more. Bidirectional routes gets cancelled if either
1253 ; one of the involved cities cannot provide goods.
1254 ; helptext = Optional help text string; should escape all raw
1255 ; newlines so that xgettext parsing works
1257 ; */ <-- avoid gettext warnings
1261 flags = "Bidirectional"
1266 { "type", "name", "range"
1267 "Extra", "Spice", "City"
1276 { "type", "name", "range"
1277 "Extra", "Gems", "City"
1286 { "type", "name", "range"
1287 "Good", "Gems", "City"
1296 { "type", "name", "range"
1297 "Extra", "Mine", "City"
1304 { "type", "name", "range"
1305 "Good", "Ore", "City"
1314 { "type", "name", "range", "present"
1315 "Good", "Metal", "City", TRUE
1316 "Tech", "Electronics", "Player", FALSE
1323 name = _("Equipment")
1325 { "type", "name", "range"
1326 "Good", "Metal", "City"
1327 "Tech", "Electronics", "Player"
1338 ; Player colors for 32 players are defined below.
1339 ; Avoid greens, blues, and white / very pale colors (too easy to confuse
1341 ; Avoid dark colors.
1379 ; freeciv optional team names definition.
1389 ; freeciv game settings for sandbox ruleset
1394 "generator", "FRACTAL"
1395 "topology", "WRAPX|WRAPY|ISO"
1397 "tilesperplayer", 100
1398 "tinyisles", "ENABLED"
1402 "borders", "ENABLED"
1403 "foggedborders", "ENABLED"
1404 "restrictinfra", "ENABLED"
1405 "unreachableprotects", "DISABLED"
1408 "techlossforgiveness", 0
1409 "techlossrestore", 50