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