diff -Nur -Xfreecivdiff.ignore freeciv-cvs/common/city.c freeciv-patched/common/city.c --- freeciv-cvs/common/city.c 2003-07-03 14:33:24.000000000 +0100 +++ freeciv-patched/common/city.c 2003-07-07 18:09:15.000000000 +0100 @@ -823,9 +823,10 @@ /************************************************************************** ... **************************************************************************/ -bool city_can_be_built_here(int x, int y) +bool city_can_be_built_here(int x, int y, enum unit_move_type move_type) { - if (is_ocean(map_get_terrain(x, y))) { + if ((move_type == LAND_MOVING && is_ocean(map_get_terrain(x, y))) + || (move_type == SEA_MOVING && !is_ocean(map_get_terrain(x, y)))) { return FALSE; } diff -Nur -Xfreecivdiff.ignore freeciv-cvs/common/city.h freeciv-patched/common/city.h --- freeciv-cvs/common/city.h 2003-06-30 12:35:04.000000000 +0100 +++ freeciv-patched/common/city.h 2003-07-07 18:09:15.000000000 +0100 @@ -393,7 +393,7 @@ struct city **result_pcity); bool is_worker_here(struct city *pcity, int city_x, int city_y); -bool city_can_be_built_here(int x, int y); +bool city_can_be_built_here(int x, int y, enum unit_move_type move_type); /* trade functions */ bool can_establish_trade_route(struct city *pc1, struct city *pc2); diff -Nur -Xfreecivdiff.ignore freeciv-cvs/common/unit.c freeciv-patched/common/unit.c --- freeciv-cvs/common/unit.c 2003-07-03 14:33:24.000000000 +0100 +++ freeciv-patched/common/unit.c 2003-07-07 18:09:15.000000000 +0100 @@ -457,7 +457,8 @@ return AB_NOT_BUILD_UNIT; if (punit->moves_left == 0) return AB_NO_MOVES_BUILD; - if (!city_can_be_built_here(punit->x, punit->y)) + if (!city_can_be_built_here(punit->x, punit->y, + unit_type(punit)->move_type)) return AB_NOT_BUILD_LOC; return AB_BUILD_OK; } diff -Nur -Xfreecivdiff.ignore freeciv-cvs/configure.ac freeciv-patched/configure.ac --- freeciv-cvs/configure.ac 2003-06-30 12:35:00.000000000 +0100 +++ freeciv-patched/configure.ac 2003-07-07 18:09:15.000000000 +0100 @@ -694,6 +694,7 @@ data/default/Makefile data/civ1/Makefile data/civ2/Makefile + data/smac/Makefile data/scenario/Makefile data/nation/Makefile data/history/Makefile diff -Nur -Xfreecivdiff.ignore freeciv-cvs/configure.in freeciv-patched/configure.in --- freeciv-cvs/configure.in 2003-06-30 12:35:00.000000000 +0100 +++ freeciv-patched/configure.in 2003-07-07 18:09:15.000000000 +0100 @@ -681,6 +681,7 @@ data/default/Makefile data/civ1/Makefile data/civ2/Makefile + data/smac/Makefile data/scenario/Makefile data/nation/Makefile data/history/Makefile diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/default/governments.ruleset freeciv-patched/data/default/governments.ruleset --- freeciv-cvs/data/default/governments.ruleset 2003-06-30 12:35:05.000000000 +0100 +++ freeciv-patched/data/default/governments.ruleset 2003-07-07 18:09:15.000000000 +0100 @@ -18,6 +18,7 @@ default="Despotism" when_anarchy="Anarchy" ai_goal="Republic" +max_revolution_turns=5 ai_tech_hints = { "tech", "turns_factor", "const_factor", "get_first", "done" "Code of Laws", 150, 0, 1, 0 diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/Makefile.am freeciv-patched/data/Makefile.am --- freeciv-cvs/data/Makefile.am 2003-06-30 12:35:00.000000000 +0100 +++ freeciv-patched/data/Makefile.am 2003-07-07 18:09:15.000000000 +0100 @@ -13,4 +13,4 @@ EXTRA_DIST = $(pkgdata_DATA) -SUBDIRS = misc isotrident trident default civ1 civ2 scenario nation history +SUBDIRS = misc isotrident trident default civ1 civ2 scenario nation history smac diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/buildings.ruleset freeciv-patched/data/smac/buildings.ruleset --- freeciv-cvs/data/smac/buildings.ruleset 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/buildings.ruleset 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,1726 @@ +;********************************************************************** +; FreecivAC - Copyright (C) 2000 - Freeciv Alpha Centauri Porting Team. +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 2, or (at your option) +; any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +;********************************************************************** +; Modifying this file: +; You should not modify this file except to make bugfixes or +; for other "maintenance". If you want to make custom changes, +; you should create a new datadir subdirectory and copy this file +; into that directory, and then modify that copy. Then use the +; command "set buildings " in the server to have freeciv +; use your new customized file. + +; Note that the freeciv AI may not cope well with anything more +; than minor changes, including non-default variants. + +[datafile] +description="SMAC buildings data for Freeciv (incomplete)" +options="1.10.1" + +; +; Note that this is far from complete. In particular, the effects and +; helptext fields have not all been composed. +; + +; Below: The individual buildings, one per section. +; (Buildings = City Improvements and Wonders) +; +; The actual tag used (the * in [building_*]) does not matter, except +; it must be unique within this file, and it may be used in debug +; output when reading this file. +; +; /*** For details of this file's format, ***/ +; /*** see the default buildings.ruleset. ***/ + +[building_aerospace_complex] +name = _("Aerospace Complex") +tech_req = "Doctrine: Air Power" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 80 +upkeep = 2 +sabotage = 100 +effect = + { "type", "range", "aff_unit" + "Unit_Veteran", "City", "Air" + "Unit_Repair", "City", "Air" + } +helptext = _("\ +Allows a city to produce veteran air units. Also, damaged air units\ + which stay in town for one full turn without moving are completely\ + restored.\ +") + +[building_bioenhancement_center] +name = _("Bioenhancement Center") +tech_req = "Neural Grafting" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +equiv_dupl = "The Cyborg Factory" +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 100 +upkeep = 2 +sabotage = 100 +effect = + { "type", "range" + "Unit_Veteran", "City" + } +helptext = _("\ +All units built by this base are created as Veterans.\ +") + + +[building_biology_lab] +name = _("Biology Lab") +tech_req = "Centauri Empathy" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 60 +upkeep = 1 +sabotage = 100 +effect = + { "type", "range", "amount" + "Science_Bonus", "City", 50 + } +helptext = _("") + +[building_centauri_preserve] +name = _("Centauri Preserve") +tech_req = "Centauri Meditation" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 100 +upkeep = 2 +sabotage = 100 +;effect = +helptext = _("") + +[building_childrens_creche] +name = _("Children's Creche") +tech_req = "Ethical Calculus" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 50 +upkeep = 1 +sabotage = 100 +;effect = +helptext = _("") + +[building_command_center] +name = _("Command Center") +tech_req = "Doctrine: Mobility" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +equiv_dupl = "The Command Nexus" +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 40 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "aff_unit" + "Unit_Veteran", "City", "Land" + "Unit_Repair", "City", "Land" + } +helptext = _("\ +With a Command Center, each new land unit built in a city will\ + automatically have Veteran status, which means that its attack and\ + defence strengths are increased by 50%. Also, damaged land units\ + which stay in town for one full turn without moving are completely\ + restored.\ +") + +[building_energy_bank] +name = _("Energy Bank") +tech_req = "Industrial Economics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 80 +upkeep = 1 +sabotage = 100 +effect = + { "type", "range", "amount" + "Tax_Bonus", "City", 50 + } +helptext = _("\ +Increases the energy output of this base by 50%.\ +") + +[building_fusion_lab] +name = _("Fusion Lab") +tech_req = "Fusion Power" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 160 +upkeep = 3 +sabotage = 100 +effect = + { "type", "range", "amount" + "Tax_Bonus", "City", 50 + "Science_Bonus", "City", 50 + } +helptext = _("\ +Increases the energy and science output of this base by 50%.\ +") + +[building_genejack_factory] +name = _("Genejack Factory") +tech_req = "Retroviral Engineering" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 100 +upkeep = 2 +sabotage = 100 +effect = + { "type", "range", "amount" + "Prod_Bonus", "City", 50 + "Make_Content", "City", -1 + } +helptext = _("\ +Increases the mineral production of this base by 50%, but also makes\ + one content citizen unhappy.\ +") + +[building_hab_complex] +name = _("Hab Complex") +tech_req = "Industrial Automation" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 80 +upkeep = 2 +sabotage = 100 +effect = + { "type", "range", "amount" + "Size_Unlimit", "City", 7 + } +helptext = _("\ +Allows a base to grow larger than size 7. A Habitation Dome is also\ + required for a city to grow larger than size 14.\ +") + +[building_habitation_dome] +name = _("Habitation Dome") +tech_req = "Super Tensile Solids" +bldg_req = "Hab Complex" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 160 +upkeep = 4 +sabotage = 100 +effect = + { "type", "range", "amount" + "Size_Unlimit", "City", 14 + } +helptext = _("\ +Allows a base to grow larger than size 14.\ +") + + +[building_headquarters] +name = _("Headquarters") +tech_req = "None" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "Player" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 50 +upkeep = 0 +sabotage = 0 +effect = + { "type", "range", "amount" + "Capital_City", "City" + "Capital_Exists", "Player" + "Spy_Resistant", "City", 50 + "No_Anarchy" + } +helptext = _("\ +Makes a city the capital and the center of your government.\ + You may have only one Headquarters; if you build a new one,\ + any existing Headquarters is destroyed.\ +\n\n\ +Take good care of your capital, as it's loss may result in your\ + empire plunging into civil war.\ +") + +[building_hologram_theatre] +name = _("Hologram Theatre") +tech_req = "Planetary Networks" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 60 +upkeep = 3 +sabotage = 100 +effect = + { "type", "range", "amount" + "Make_Content", "City", 2 + "Luxury_Bonus", "City", 50 + } +helptext = _("\ +Makes 2 citizens content in this base, and increases luxury\ + output by 50%.\ +") + +[building_hybrid_forest] +name = _("Hybrid Forest") +tech_req = "Planetary Economics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 240 +upkeep = 4 +sabotage = 100 +effect = + { "type", "range", "amount", "aff_terr", "cond_bldg" + "Luxury_Bonus", "City", 50 + "Tax_Bonus", "City", 50 + "Food_Per_Tile", "City", 50, "Forest" + "Trade_Per_Tile", "City", 50, "Forest" + "Pollu_Prod_Pct", "City", 0, "", "Tree Farm" + } +; /* xgettext:no-c-format */ +helptext = _("\ +Increases luxury and tax output at this city by 50%.\ + Also increases the food and trade production of each worked\ + Forest tile by 50%, and (together with a Tree Farm) completely\ + eliminates this city's pollution caused by production.\ +") + +[building_nanohospital] +name = _("Nanohospital") +tech_req = "Homo Superior" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 240 +upkeep = 4 +sabotage = 100 +effect = + { "type", "range", "amount" + "Luxury_Bonus", "City", 25 + "Science_Bonus", "City", 50 + "Make_Content", "City", 1 + } +; /* xgettext:no-c-format */ +helptext = _("\ +Increases luxury production by 25%, and science by 50%, at\ + this city. In addition, one citizen is made content.\ +") + +[building_nanoreplicator] +name = _("Nanoreplicator") +tech_req = "Matter Editation" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 320 +upkeep = 6 +sabotage = 100 +effect = + { "type", "range", "amount" + "Prod_Bonus", "City", 50 + } +helptext = _("\ +Increases the shield production of this base by 50%.\ +") + +[building_naval_yard] +name = _("Naval Yard") +tech_req = "Doctrine: Initiative" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +terr_gate = "Ocean" +;spec_gate = +equiv_range = "City" +equiv_dupl = "The Maritime Control Center" +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 80 +upkeep = 2 +sabotage = 0 +effect = + { "type", "range", "aff_unit" + "Unit_Veteran", "City", "Sea" + "Unit_Repair", "City", "Sea" + } +helptext = _("\ +Any naval units built at this base are created as Veterans.\ + Plus, any damaged naval units which stay here for an entire\ + turn without moving are repaired.\ +") + +[building_nessus_mining_station] +name = _("Nessus Mining Station") +tech_req = "Self-Aware Machines" +bldg_req = "Aerospace Complex" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 120 +upkeep = 0 +sabotage = 0 +;effect = +helptext = _("") + +[building_network_node] +name = _("Network Node") +tech_req = "Information Networks" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 80 +upkeep = 1 +sabotage = 0 +effect = + { "type", "range", "amount" + "Science_Bonus", "City", 50 + } +helptext = _("\ +Science output in this city is increased by 50%.\ +") + +[building_orbital_defense_pod] +name = _("Orbital Defense Pod") +tech_req = "Self-Aware Machines" +bldg_req = "Aerospace Complex" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 120 +upkeep = 0 +sabotage = 0 +;effect = +helptext = _("") + +[building_orbital_power_transmitter] +name = _("Orbital Power Transmitter") +tech_req = "Advanced Spaceflight" +bldg_req = "Aerospace Complex" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 120 +upkeep = 0 +sabotage = 0 +;effect = +helptext = _("") + +[building_paradise_garden] +name = _("Paradise Garden") +tech_req = "Sentient Econometrics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 120 +upkeep = 4 +sabotage = 0 +effect = + { "type", "range", "amount" + "Make_Happy", "City", 2 + } +helptext = _("\ +2 citizens are made happy at this base.\ +") + +[building_perimeter_defense] +name = _("Perimeter Defense") +tech_req = "Doctrine: Loyalty" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +equiv_dupl = "The Citizens' Defense Force" +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 50 +upkeep = 0 +sabotage = 0 +effect = + { "type", "range", "amount", "aff_unit" + "Unit_Defend", "City", 100, "Sea" + "Unit_Defend", "City", 100, "Air" + "Unit_Defend", "City", 100, "Land" + "Unit_Defend", "City", 100, "Heli" + } +helptext = _("\ +Doubles the defense strength of this base.\ +") + +[building_pressure_dome] +name = _("Pressure Dome") +tech_req = "Doctrine: Flexibility" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +terr_gate = "Ocean" +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 80 +upkeep = 0 +sabotage = 0 +;effect = +helptext = _("") + +[building_psi_gate] +name = _("Psi Gate") +tech_req = "Matter Transmission" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 100 +upkeep = 2 +sabotage = 0 +effect = + { "type", "range" + "Airlift", "City" + } +helptext = _(" +Two cities with Psi Gates can teleport one unit per turn.\ + The unit is instantly transported from one city to another\ + and will use of its movement points. A unit must have\ + some movement points left to be teleported.\ +") + +[building_punishment_sphere] +name = _("Punishment Sphere") +tech_req = "Advanced Military Algorithms" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 100 +upkeep = 2 +sabotage = 0 +effect = + { "type", "range", "amount" + "Science_Bonus", "City", -50 + "Make_Content", "City", 99 + "Make_Happy", "City", -99 + } +; /* xgettext:no-c-format */ +helptext = _("\ +Eliminates all unhappy and happy citizens (all citizens are made\ + content). Also, decreases scientific research by 50%.\ +") + +[building_quantum_converter] +name = _("Quantum Converter") +tech_req = "Quantum Machinery" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +equiv_dupl = "The Singularity Inductor" +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 200 +upkeep = 5 +sabotage = 0 +effect = + { "type", "range", "amount" + "Prod_Bonus", "City", 50 + } +helptext = _("\ +Increases the shield output of this base by 50%.\ +") + +[building_quantum_lab] +name = _("Quantum Lab") +tech_req = "Quantum Power" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 240 +upkeep = 4 +sabotage = 0 +effect = + { "type", "range", "amount" + "Science_Bonus", "City", 50 + "Tax_Bonus", "City", 50 + } +helptext = _("\ +Increases the energy and science output of this base by 50%.\ +") + +[building_recreation_commons] +name = _("Recreation Commons") +tech_req = "Social Psych" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 40 +upkeep = 1 +sabotage = 0 +effect = + { "type", "range", "amount" + "Make_Content", "City", 2 + } +helptext = _("\ +2 citizens are made content at this base.\ +") + +[building_recycling_tanks] +name = _("Recycling Tanks") +tech_req = "Biogenetics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 40 +upkeep = 0 +sabotage = 0 +;effect = +helptext = _("") + +[building_research_hospital] +name = _("Research Hospital") +tech_req = "Gene Splicing" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 120 +upkeep = 3 +sabotage = 100 +effect = + { "type", "range", "amount" + "Luxury_Bonus", "City", 25 + "Science_Bonus", "City", 50 + "Make_Content", "City", 1 + } +; /* xgettext:no-c-format */ +helptext = _("\ +Increases luxury production by 25%, and science by 50%, at\ + this city. In addition, one citizen is made content.\ +") + +[building_robotic_assembly_plant] +name = _("Robotic Assembly Plant") +tech_req = "Industrial Nanorobotics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 200 +upkeep = 4 +sabotage = 100 +effect = + { "type", "range", "amount" + "Prod_Bonus", "City", 50 + } +; /* xgettext:no-c-format */ +helptext = _("\ +Increases the shield production of this city by 50%.\ +") + +[building_skunkworks] +name = _("Skunkworks") +tech_req = "Advanced Subatomic Theory" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 60 +upkeep = 1 +sabotage = 100 +;effect = +helptext = _("") + +[building_sky_hydroponics_lab] +name = _("Sky Hydroponics Lab") +tech_req = "Orbital Spaceflight" +bldg_req = "Aerospace Complex" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 120 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_stockpile_energy] +name = _("Stockpile Energy") +tech_req = "None" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 999 +upkeep = 0 +sabotage = 0 +effect = + { "type", "range", "amount" + "Prod_To_Gold", "City", 50 + } +helptext = _("\ +This is not a normal base improvement. Instead, setting a\ + base's production to Stockpile means it will generate\ + energy (2 shields to 1 energy).\ +") + +[building_tachyon_field] +name = _("Tachyon Field") +tech_req = "Probability Mechanics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 120 +upkeep = 2 +sabotage = 100 +effect = + { "type", "range", "amount", "aff_unit" + "Unit_Defend", "City", 100, "Sea" + "Unit_Defend", "City", 100, "Air" + "Unit_Defend", "City", 100, "Land" + "Unit_Defend", "City", 100, "Heli" + "Unit_Defend", "City", 100, "Missile" + } +; /* xgettext:no-c-format */ +helptext = _("\ +Increases the defense strength of all units in this city by 100%.\ + Thus, in combination with Perimeter Defense, triples\ + the defense strength.\ +") + +[building_temple_of_planet] +name = _("Temple of Planet") +tech_req = "Secrets of Alpha Centauri" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 200 +upkeep = 3 +sabotage = 100 +;effect = +helptext = _("") + +[building_tree_farm] +name = _("Tree Farm") +tech_req = "Environmental Economics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 0 +build_cost = 120 +upkeep = 3 +sabotage = 100 +effect = + { "type", "range", "amount", "aff_terr" + "Luxury_Bonus", "City", 50 + "Tax_Bonus", "City", 50 + "Food_Per_Tile", "City", 50, "Forest" + "Pollu_Prod_Pct", "City", 50 + } +; /* xgettext:no-c-format */ +helptext = _("\ +Increases luxury and tax output at this city by 50%.\ + Also increases the food production of each worked\ + Forest tile by 50%, and halves this city's pollution\ + caused by production.\ +") + +; Secret Projects: + +[building_the_ascent_to_transcendence] +name = _("The Ascent to Transcendence") +tech_req = "Threshold of Transcendence" +bldg_req = "The Voice Of Planet" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 2000 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_ascetic_virtues] +name = _("The Ascetic Virtues") +tech_req = "Planetary Economics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_bulk_matter_transmitter] +name = _("The Bulk Matter Transmitter") +tech_req = "Matter Transmission" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 600 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_citizens_defense_force] +name = _("The Citizens' Defense Force") +tech_req = "Intellectual Integrity" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "Player" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount", "aff_unit" + "Unit_Defend", "Player", 100, "Sea" + "Unit_Defend", "Player", 100, "Air" + "Unit_Defend", "Player", 100, "Land" + "Unit_Defend", "Player", 100, "Heli" + } +helptext = _("\ +Counts as Perimeter Defense at every base.\ +") + +[building_clinical_immortality] +name = _("Clinical Immortality") +tech_req = "Matter Editation" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 500 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount" + "Make_Happy", "Player", 1 + } +helptext = _("\ +Makes one citizen happy at each of your cities.\ +") + +[building_the_cloning_vats] +name = _("The Cloning Vats") +tech_req = "Biomachinery" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 500 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_command_nexus] +name = _("The Command Nexus") +tech_req = "Doctrine: Loyalty" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "Player" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 200 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "aff_unit" + "Unit_Veteran", "City", "Land" + "Unit_Repair", "City", "Land" + } +helptext = _("\ +Counts as a Command Center at every base.\ +") + +[building_the_cyborg_factory] +name = _("The Cyborg Factory") +tech_req = "Mind-Machine Interface" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "Player" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 400 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range" + "Unit_Veteran", "Player" + } +helptext = _("\ +Counts as a Bioenhancement Center at every base.\ +") + +[building_the_dream_twister] +name = _("The Dream Twister") +tech_req = "The Will To Power" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 400 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_empath_guild] +name = _("The Empath Guild") +tech_req = "Centauri Empathy" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 200 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range" + "Have_Embassies", "None" + } +helptext = _("\ +The player who owns it gets an embassy with all players.\ +") + +[building_the_human_genome_project] +name = _("The Human Genome Project") +tech_req = "Biogenetics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 200 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount" + "Make_Happy", "Player", 1 + } +helptext = _("\ +Makes one citizen happy at every base.\ +") + +[building_the_hunter-seeker_algorithm] +name = _("The Hunter-Seeker Algorithm") +tech_req = "Presentient Algorithms" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount" + "Spy_Resistant", "Player", 100 + } +helptext = _("") + +[building_the_living_refinery] +name = _("The Living Refinery") +tech_req = "Advanced Spaceflight" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 400 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_longevity_vaccine] +name = _("The Longevity Vaccine") +tech_req = "Bio-Engineering" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount", "cond_govmod" + "Make_Content", "Player", 2, "Planned" + "Make_Content", "Player", 1, "Simple" + "Make_Content", "Player", 1, "Green" + "Tax_Bonus", "Player", 50, "Free Market" + } +helptext = _("\ +2 citizens at every base are made content under Planned\ + governments (1 under Simple or Green governments).\ + Tax ouput of every base is increased by 50% under\ + Free Market governments.\ +") + +[building_the_maritime_control_center] +name = _("The Maritime Control Center") +tech_req = "Doctrine: Initiative" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "Player" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount", "aff_unit" + "Unit_Veteran", "Player", 0, "Sea" + "Unit_Repair", "Player", 0, "Sea" + "Unit_Move", "Player", 2, "Sea" + } +helptext = _("\ +All naval units get an additional 2 movement points.\ + Also, counts as a Naval Yard at every base.\ +") + +[building_the_merchant_exchange] +name = _("The Merchant Exchange") +tech_req = "Industrial Base" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 200 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount" + "Trade_Inc_Tile", "City", 1 + } +helptext = _("\ +Each of this city's worked tiles that is already producing\ + at least one trade will get an additional trade point bonus.\ +") + +[building_the_nano_factory] +name = _("The Nano Factory") +tech_req = "Industrial Nanorobotics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 400 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount", "aff_unit", "outside" + "Unit_Recover", "Player", 2, "Air", 1 + "Unit_Recover", "Player", 2, "Heli", 1 + "Unit_Recover", "Player", 2, "Land", 1 + "Unit_Recover", "Player", 2, "Missile", 1 + "Unit_Recover", "Player", 2, "Sea", 1 + } +helptext = _("\ +Each of your units recovers 2 hitpoints per turn.\ +") + +[building_the_network_backbone] +name = _("The Network Backbone") +tech_req = "Digital Sentience" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 400 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_neural_amplifier] +name = _("The Neural Amplifier") +tech_req = "Neural Grafting" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_pholus_mutagen] +name = _("The Pholus Mutagen") +tech_req = "Centauri Genetics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 400 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_planetary_datalinks] +name = _("The Planetary Datalinks") +tech_req = "Cyberethics" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount" + "Adv_Parasite", "None", 3 + } +helptext = _("\ +Automatically discover any technology already discovered\ + by any three other nations.\ +") + +[building_the_planetary_transit_system] +name = _("The Planetary Transit System") +tech_req = "Industrial Automation" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_self-aware_colony] +name = _("The Self-Aware Colony") +tech_req = "Self-Aware Machines" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 500 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_singularity_inductor] +name = _("The Singularity Inductor") +tech_req = "Controlled Singularity" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "Player" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 600 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount" + "Prod_Bonus", "Player", 50 + } +helptext = _("\ +Counts as a Quantum Converter at every one of your cities.\ +") + +[building_the_space_elevator] +name = _("The Space Elevator") +tech_req = "Super Tensile Solids" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 500 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_supercollider] +name = _("The Supercollider") +tech_req = "Applied Relativity" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount" + "Science_Pct", "City", 200 + } +helptext = _("\ +Science output at this base is doubled.\ +") + +[building_the_telepathic_matrix] +name = _("The Telepathic Matrix") +tech_req = "Eudaimonia" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 600 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_theory_of_everything] +name = _("The Theory of Everything") +tech_req = "Unified Field Theory" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 400 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount" + "Science_Pct", "City", 200 + } +helptext = _("\ +Science output at this base is doubled.\ +") + +[building_the_universal_translator] +name = _("The Universal Translator") +tech_req = "Homo Superior" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 400 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount" + "Give_Imm_Adv", "None", 2 + } +helptext = _("\ +Gives two immediate technology advances.\ +") + +[building_the_virtual_world] +name = _("The Virtual World") +tech_req = "Planetary Networks" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +effect = + { "type", "range", "amount", "cond_bldg" + "Make_Content", "City", 2, "" + "Luxury_Bonus", "City", 50, "" + "Make_Content", "Player", 2, "Network Node" + "Luxury_Bonus", "Player", 50, "Network Node" + } +; /* xgettext:no-c-format */ +helptext = _("\ +All Network Nodes count as Hologram Theatres.\ + Also, 2 citizens are made content, and luxury output\ + is increased by 50% in THIS base.\ +") + +[building_the_voice_of_planet] +name = _("The Voice Of Planet") +tech_req = "Threshold of Transcendence" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 600 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_weather_paradigm] +name = _("The Weather Paradigm") +tech_req = "Centauri Ecology" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 200 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +[building_the_xenoempathy_dome] +name = _("The Xenoempathy Dome") +tech_req = "Centauri Meditation" +bldg_req = "None" +graphic = "b.oracle" +graphic_alt = "-" +;terr_gate = +;spec_gate = +equiv_range = "City" +;equiv_dupl = +;equiv_repl = +obsolete_by = "None" +is_wonder = 1 +build_cost = 300 +upkeep = 0 +sabotage = 100 +;effect = +helptext = _("") + +; All stuff below here will be deleted when gen-impr is completed: +[b_special] + +; Special values: +; ignored in freecivAC +aqueduct_size=8; +sewer_size=12; + +; Techs which modify building effects: +; ignored in freecivAC +cathedral_plus="Applied Physics" +cathedral_minus="Applied Relativity" +colosseum_plus="Applied Physics" +temple_plus="Applied Physics" + diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/cities.ruleset freeciv-patched/data/smac/cities.ruleset --- freeciv-cvs/data/smac/cities.ruleset 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/cities.ruleset 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,48 @@ + +; Modifying this file: +; You should not modify this file except to make bugfixes or +; for other "maintenance". If you want to make custom changes +; you should create a new datadir subdirectory and copy this file +; into that directory, and then modify that copy. Then use the +; command "set cities " in the server to have freeciv +; use your new customized file. + +[datafile] +description="SMAC Cities data for Freeciv" +options="1.9" + +; +; City styles define the way cities are drawn +; +; graphic = group of tiles to use, see cities spec for +; more info on city tiles +; tech = technology required for style to be used +; replaced_by = which style replaced this one + +[citystyle_european] +name = _("European") +graphic = "city.european" +graphic_alt = "-" +tech = "None" +replaced_by = "Industrial" + +[citystyle_classical] +name = _("Classical") +graphic = "city.classical" +graphic_alt = "-" +tech = "None" +replaced_by = "Industrial" + +[citystyle_industrial] +name = _("Industrial") +graphic = "city.industrial" +graphic_alt = "-" +tech = "Advanced Spaceflight" +replaced_by = "Modern" + +[citystyle_modern] +name = _("Modern") +graphic = "city.modern" +graphic_alt = "-" +tech = "Advanced Ecological Engineering" +replaced_by = "-" diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/game.ruleset freeciv-patched/data/smac/game.ruleset --- freeciv-cvs/data/smac/game.ruleset 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/game.ruleset 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,79 @@ + +; Modifying this file: +; You should not modify this file except to make bugfixes or +; for other "maintenance". If you want to make custom changes, +; you should create a new datadir subdirectory and copy this file +; into that directory, and then modify that copy. Then use the +; command "rulesetdir " in the server to have freeciv +; use your new customized file. + +; Note that the freeciv AI may not cope well with anything more +; than minor changes. + +[datafile] +description="Default game rules for Freeciv" +options="1.11.1" + +[options] +global_init_techs="" + +[calendar_colonisation] +name = _("Colonisation Age") +first_year = 2100 +turn_years = 1 +req_tech = "None" +early_tech = "None" + +[civstyle] +min_city_center_food = 1 +min_city_center_shield = 1 +min_city_center_trade = 0 + +; Minimum distance between cities (move distance). +; (Minimum value for this is 1, which means adjacent is okay.) +min_dist_bw_cities = 2 + +; Square of initially visible radius (true distance). +init_vis_radius_sq = 5 + +; What happens when a hut is overflown: +; "Nothing" - Just fly over; hut remains. +; "Frighten" - Tribe frightened and disbands; hut disappears. +hut_overflight = "Frighten" + +; Whether player gets to select which terrain improvement to pillage. +pillage_select = 1 + +; The type of collateral contamination produced by a nuclear attack. +; "Pollution" - Pollution (same as industrial/population-generated). +; "Fallout" - Nuclear Fallout (distinct from industrial/population). +nuke_contamination = "Fallout" + +; Parameters used to generalize the calculation of city granary size: +; city_granary_size = (granary_food_ini * foodbox) + +; (granary_food_inc * city_size) * foodbox / 100 +granary_food_ini = 1 +granary_food_inc = 100 + +; Method of calculating technology costs +; 0 - Civ (I|II) style. Every new tech add researchcost to cost of next tech. +; 1 - Cost of technology is (1+num_parents)*researchcost, where +; num_parents == number of requirement for tech, counted recursively. +; 2 - Cost are read from tech.ruleset. Missing costs are generated by +; style 1. +; Note that style 1 will make techs overall cheaper. With researchcost +; set to 10 and using 1.12.0 default rules, style 0 requires 38280 bulbs +; while style 1 requires only 21120. If you set researchcost to 20, then +; total bulb cost for style 1 increases to 42240, which is more in line +; with previous tech progression. +tech_cost_style = 0 + +; Technology leak from other civilizations +; 0 - No reduction of the technology cost. +; 1 - Technology cost is reduced depending on the number of players +; which already know the tech and you have an embassy with. +; 2 - Technology cost is reduced depending on the number of all players +; (human, AI and barbarians) which already know the tech. +; 3 - Technology cost is reduced depending on the number of normal +; players (human and AI) which already know the tech. +tech_leakage = 0 diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/governments.ruleset freeciv-patched/data/smac/governments.ruleset --- freeciv-cvs/data/smac/governments.ruleset 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/governments.ruleset 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,398 @@ + +; Modifying this file: +; You should not modify this file except to make bugfixes or +; for other "maintenance". If you want to make custom changes +; you should create a new datadir subdirectory and copy this file +; into that directory, and then modify that copy. Then use the +; command "set governments " in the server to have freeciv +; use your new customized file. + +; Note that the freeciv AI may not cope well with anything more +; than minor changes. + +[datafile] +description="SMAC style governments data for Freeciv" +options="1.9" + +[governments] +default="Simple Frontier State" +when_anarchy="Anarchy" +ai_goal="Simple" +max_revolution_turns=0 + +ai_tech_hints = { "tech", "turns_factor", "const_factor", "get_first", "done" + "Secrets of The Human Brain", 150, 0, 1, 0 + "Doctrine: Loyalty", 90, 90, 0, 1 + "Advanced Military Algorithms", 0, 150, 0, 0 +} + +[mod_type_economics] +name = "Economics" +tech_req = "None" +obsolete_by = "None" +must_use = 1 + +[mod_type_future_society] +name = "Future Society" +tech_req = "None" +obsolete_by = "None" +must_use = 1 + +[mod_type_politics] +name = "Politics" +tech_req = "None" +obsolete_by = "None" +must_use = 1 + +[mod_type_values] +name = "Values" +tech_req = "None" +obsolete_by = "None" +must_use = 1 + +; Below: The individual government types, one per section. +; +; The actual tag used (the * in [government_*]) does not matter, except +; it must be unique within this file, and it may be used in debug +; output when reading this file. +; +; For the "official" rulesets, the order of these sections should not +; be changed because that would break backward compatability with +; savegames. +; +; Notes on fields: + +; name = name of this government form as seen by user +; tech_req = required advance, names from techs.ruleset, or special: +; "None" => available from start +; graphic = tag specifing preferred graphic +; graphic_alt = alternate graphics tag if preferred is not found; +; should be a standard tag if preferred is not; +; otherwise may be "-" +; flags = special effects; see government.c for strings +; hints = hints to the AI about how to use / behave with government +; subgoal = another government name or "-"; if main gov is nation or +; AI goal government, aim for subgoal first. + +; martial_law_max = maximum number of units which can enforce martial law +; in the city. +; In SMAC this is known as the police rating. +; martial_law_per = number of unhappy citizens made content by each +; enforcer unit +; max_single_rate = maximum which can be allocated to single one of +; taxation/luxuries/science. +; In SMAC rates can be freely varied. +; empire_size_mod = signed modifier added to cityfactor to determine +; empire size when base unhappiness is increased +; empire_size_inc = if non-zero, reduce one content citizen for +; every empire_size_inc cities once #cities +; exceeds (cityfactor + empire_size_mod) +; civil_war_chance = percentage change of civil war when capital is captured +; (and player has enough cities etc) +; rapture_size = a happy city will celebrate when its size is +; this value or larger + +; unit_*_factor = factor applied to individual unit upkeep for different +; upkeep forms +; unit_free_* = base unit upkeep cost which the city gets "free"; only +; upkeep above this value applies; special value: "City_Size" + +; corruption: + +; _level = percentage factor applied to corruption; +; if 0, Courthouse effect changes +; _modifier = non-zero divisor to corruption; higher value +; means less corruption +; TODO: why have both level and modifier?? +; _fixed_distance = if non-zero, used instead of actual calculation of +; distance from Palace; also used for distances in +; unit and city bribe cost calculations +; _distance_factor = multiply distance by this factor for corruption +; (but not bribe costs) +; _extra_distance = add this to distance after applying distance factor + +; production_*_bonus = added to base production for each worked tile; +; second value is used instead when city is celebrating +; production_*_penalty = if non-zero, tile production above this amount is +; reduced by one; second value used when celebrating + +; ruler_titles = ruler titles by nation, "-" is default, and non-matched +; nations are ignored + +; helptext = optional help text string; should escape all raw newlines +; so that xgettext parsing works + +;------------------------------------------------------------------------ + +[government_anarchy] + +name = _("Anarchy") +tech_req = "None" +graphic = "gov.anarchy" +graphic_alt = "-" +flags = "-" +hints = "-" +subgoal = "-" + +martial_law_max = 1 +martial_law_per = 1 +max_single_rate = 100 +civil_war_chance = 0 +empire_size_mod = -1 +empire_size_inc = 0 +rapture_size = 3 + +unit_unhappy_factor = 1 +unit_shield_factor = 1 +unit_food_factor = 1 +unit_gold_factor = 1 + +unit_free_unhappy = 0 +unit_free_shield = "City_Size" +unit_free_food = 0 +unit_free_gold = 0 + +corruption_level = 0 +corruption_modifier = 25 +corruption_fixed_distance = 0 +corruption_distance_factor = 1 +corruption_extra_distance = 0 + +waste_level = 0 +waste_modifier = 1 +waste_fixed_distance = 0 +waste_distance_factor = 0 +waste_extra_distance = 0 +waste_max_distance_cap = 36 + +production_trade_bonus = 1, 1 +production_shield_bonus = 0, 0 +production_food_bonus = 0, 0 + +production_trade_penalty = 0, 0 +production_shield_penalty = 0, 0 +production_food_penalty = 0, 0 + +ruler_male_title = _("Mr.") +ruler_female_title = _("Ms.") + +helptext = _("") + +[government_simple] + +name = _("Simple") +tech_req = "None" +graphic = "gov.republic" +graphic_alt = "-" +flags = "CanModify" +hints = "-" +subgoal = "-" + +martial_law_max = 1 +martial_law_per = 1 +max_single_rate = 100 ; in SMAC rates can be freely varied +civil_war_chance = 0 +empire_size_mod = -1 +empire_size_inc = 0 +rapture_size = 3 + +unit_unhappy_factor = 1 +unit_shield_factor = 1 +unit_food_factor = 1 +unit_gold_factor = 1 + +unit_free_unhappy = 0 +unit_free_shield = "City_Size" +unit_free_food = 0 +unit_free_gold = 0 + +corruption_level = 0 +corruption_modifier = 25 +corruption_fixed_distance = 0 +corruption_distance_factor = 1 +corruption_extra_distance = 0 + +waste_level = 0 +waste_modifier = 1 +waste_fixed_distance = 0 +waste_distance_factor = 0 +waste_extra_distance = 0 +waste_max_distance_cap = 36 + +production_trade_bonus = 1, 1 +production_shield_bonus = 0, 0 +production_food_bonus = 0, 0 + +production_trade_penalty = 0, 0 +production_shield_penalty = 0, 0 +production_food_penalty = 0, 0 + +ruler_male_title = _("Mr.") +ruler_female_title = _("Ms.") + +helptext = _("") + +[modifier_free_market_economics] +name = _("Free Market") +type = "Economics" +tech_req = "Industrial Economics" +obsolete_by = "None" +action = "gt.name = \"Free \" + gt.name;" +final_action = "" + +[modifier_green_economics] +name = _("Green") +type = "Economics" +tech_req = "Centauri Empathy" +obsolete_by = "None" +action = "gt.name = \"Green \" + gt.name;" +final_action = "" + +[modifier_planned_economics] +name = _("Planned") +type = "Economics" +tech_req = "Planetary Networks" +obsolete_by = "None" +action = "gt.name = \"Planned \" + gt.name;" +effect = + { "type", "range", "amount" + "Building_Cost", "Player", -10 + "Unit_Cost", "Player", -10 + } +final_action = "" + +[modifier_simple_economics] +name = _("Simple") +type = "Economics" +tech_req = "None" +obsolete_by = "None" +action = "gt.name = \"Simple \" + gt.name;" +final_action = "" + +[modifier_cybernetic_future_society] +name = _("Cybernetic") +type = "Future Society" +tech_req = "Digital Sentience" +obsolete_by = "None" +action = "" +effect = + { "type", "range", "amount", "outside" + "Science_Bonus", "Player", 20, 1 + } +final_action = "" + +[modifier_eudaimonic_future_society] +name = _("Eudaimonic") +type = "Future Society" +tech_req = "Eudaimonia" +obsolete_by = "None" +action = "" +effect = + { "type", "range", "amount" + "Building_Cost", "Player", -20 + "Unit_Cost", "Player", -20 + } +final_action = "" + +[modifier_none_future_society] +name = _("None") +type = "Future Society" +tech_req = "None" +obsolete_by = "None" +action = "" +final_action = "" + +[modifier_thought_control_future_society] +name = _("Thought Control") +type = "Future Society" +tech_req = "The Will To Power" +obsolete_by = "None" +action = "" +final_action = "" + +[modifier_democratic_politics] +name = _("Democratic") +type = "Politics" +tech_req = "Ethical Calculus" +obsolete_by = "None" +action = "gt.name += \"Democracy\";" +final_action = "" + +[modifier_frontier_politics] +name = _("Frontier") +type = "Politics" +tech_req = "None" +obsolete_by = "None" +action = "gt.name += \"Frontier State\";" +final_action = "" + +[modifier_fundamendalist_politics] +name = _("Fundamendalist") +type = "Politics" +tech_req = "Secrets of The Human Brain" +obsolete_by = "None" +action = "gt.name += \"Fundamentalist State\";" +effect = + { "type", "range", "amount", "outside" + "Science_Bonus", "Player", -20, 1 + } +final_action = "" + +[modifier_police_state_politics] +name = _("Police State") +type = "Politics" +tech_req = "Doctrine: Loyalty" +obsolete_by = "None" +action = "gt.name += \"Police State\";" +final_action = "" + +[modifier_knowledge_values] +name = _("Knowledge") +type = "Values" +tech_req = "Cyberethics" +obsolete_by = "None" +action = "" +effect = + { "type", "range", "amount", "outside" + "Science_Bonus", "Player", 20, 1 + } +final_action = "" + +[modifier_power_values] +name = _("Power") +type = "Values" +tech_req = "Advanced Military Algorithms" +obsolete_by = "None" +action = "" +effect = + { "type", "range", "amount" + "Building_Cost", "Player", 20 + "Unit_Cost", "Player", 20 + } +final_action = "" + +[modifier_survival_values] +name = _("Survival") +type = "Values" +tech_req = "None" +obsolete_by = "None" +action = "" +final_action = "" + +[modifier_wealth_values] +name = _("Wealth") +type = "Values" +tech_req = "Industrial Automation" +obsolete_by = "None" +action = "" +effect = + { "type", "range", "amount" + "Building_Cost", "Player", -10 + "Unit_Cost", "Player", -10 + } +final_action = "" + +[compound_government_default] +name = "Simple Frontier State" +base = "Simple" +modifiers = "Simple", "None", "Frontier", "Survival" diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/library.sl freeciv-patched/data/smac/library.sl --- freeciv-cvs/data/smac/library.sl 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/library.sl 2003-07-07 18:09:41.000000000 +0100 @@ -0,0 +1,171 @@ +define set_unit_type(id, utype) +{ + ut_set_name(id, utype.name); + ut_set_graphic(id, utype.graphic, utype.graphic_alt); + ut_set_move_rate(id, utype.move_rate); + ut_set_ints(utype.move_type, utype.build_cost, utype.pop_cost, + utype.attack, utype.defense, + utype.vision_range, utype.transport_cap, + utype.hitpoints, utype.firepower, utype.fuel, + utype.uk_happy, utype.uk_shield, utype.uk_food, + utype.uk_gold, id); + ut_set_flags(id, utype.flags); + ut_set_roles(id, utype.roles); +} + +define clear_flags(utype) +{ + utype.flags = Integer_Type[F_LAST]; +} + +define set_flag(utype, flag) +{ + variable ind = unit_flag_from_str(flag); + if (ind != F_LAST) { + utype.flags[ind] = 1; + } +} + +define unset_flag(utype, flag) +{ + variable ind = unit_flag_from_str(flag); + if (ind != F_LAST) { + utype.flags[ind] = 0; + } +} + +define get_flag(utype, flag) +{ + variable ind = unit_flag_from_str(flag); + if (ind != F_LAST) { + return utype.flags[ind]; + } else { + return 0; + } +} + +define clear_roles(utype) +{ + utype.roles = Integer_Type[L_LAST - L_FIRST]; +} + +define set_role(utype, role) +{ + variable ind = unit_role_from_str(role); + if (ind != L_LAST) { + utype.roles[ind - L_FIRST] = 1; + } +} + +define unset_role(utype, role) +{ + variable ind = unit_role_from_str(role); + if (ind != L_LAST) { + utype.roles[ind - L_FIRST] = 0; + } +} + +define get_unit_type(id) +{ + variable ut = ut_get(id); + ut.flags = ut_get_flags(id); + ut.roles = ut_get_roles(id); + return ut; +} + +define get_gov(id) +{ + variable gt = gt_get(id); + return gt; +} + +define set_gov(id, gtype) +{ + gt_set_name(id, gtype.name); +} + +define end_form_compound_unit(ut, reactor, chassis, attval, defval, moveval, + attname, defname, specials) +{ + variable mincost, attcost, defcost, movecost, buildcost = 0.0; + + % Form unit name + if (attname != "" and defname != "") { + if (ut.defense > ut.attack) { + % Defensive unit + ut.name += defname + " " + chassis[1]; + } else if (ut.move_type == Air and get_flag(ut, "Fighter")) { + % Air interceptor + ut.name += attname + " " + chassis[1]; + } else { + % Offensive unit + ut.name += attname + " " + chassis[0]; + } + } + + % The reactor value determines the hp and transport capacity + ut.hitpoints += reactor * 10; + ut.transport_cap *= reactor; + + % Calculate build cost, using SMAC formula + % Cost = Weapon * (Armor + Speed) * 10 / (2 ^ (Reactor + 1)) + attcost = attval; + defcost = defval; + movecost = moveval; + + % The weapon value is never less than half the armor value + if (attval < defval / 2) { + attcost = defcost / 2; + } + % Armor is discounted 50 percent for sea units + if (ut.move_type == Sea) { + defcost /= 2; + % Armor cost is doubled for air units + } else if (ut.move_type == Air) { + defcost *= 2; + } + + buildcost = 1.0 * attcost * (defcost + movecost) * 10 / (2 ^ (reactor + 1)); + + % Cost +10 if both the weapon and armor value is greater than 1 + if (attval > 1 and defval > 1) { + buildcost += 10; + } + + % Cost +10 if a land unit's weapon, armor, and speed are all greater than 1 + if (ut.move_type == Land and attval > 1 and defval > 1 and moveval > 1) { + buildcost += 10; + } + + % Each special adds 25% to the cost + buildcost += (buildcost * 0.25 * specials); + + % Cost is halved for sea units + if (ut.move_type == Sea) { + buildcost /= 2; + % Cost is quartered for combat air units + } else if (ut.move_type == Air and ut.attack > 0) { + buildcost /= 4; + } + + % Cost is halved for units with speed 1 + if (ut.move_rate == 1) { + buildcost /= 2; + } + + % Minimum cost (Reactor * 2 - Reactor / 2) * 10 unless all values are 1. + if (attval > 1 or defval > 1 or moveval > 1) { + mincost = (reactor * 2 - reactor / 2) * 10; + if (buildcost < mincost) { + buildcost = mincost; + } + } + + % Ensure build cost is always a multiple of 10, and not zero + ut.build_cost = typecast(buildcost, Integer_Type); + ut.build_cost /= 10; + if (ut.build_cost == 0) { + ut.build_cost++; + } + ut.build_cost *= 10; +} diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/Makefile.am freeciv-patched/data/smac/Makefile.am --- freeciv-cvs/data/smac/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/Makefile.am 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,14 @@ +## Process this file with automake to produce Makefile.in + +## Override automake so that "make install" puts these in proper place: +pkgdatadir = $(datadir)/@PACKAGE@/smac + +pkgdata_DATA = \ + terrain.ruleset \ + cities.ruleset \ + techs.ruleset \ + governments.ruleset \ + units.ruleset \ + buildings.ruleset + +EXTRA_DIST = $(pkgdata_DATA) diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/nations.ruleset freeciv-patched/data/smac/nations.ruleset --- freeciv-cvs/data/smac/nations.ruleset 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/nations.ruleset 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,627 @@ +;********************************************************************** +; FreecivAC - Copyright (C) 2000 - Freeciv Alpha Centauri Porting Team. +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation; either version 2, or (at your option) +; any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. +;********************************************************************** +; Modifying this file: +; You should not modify this file except to make bugfixes or +; for other "maintenance". Should you want to make custom changes +; you should create a new datadir subdirectory and copy this file +; into that directory, and then modify that copy. Then use the +; command "set nations " in the server to have FreecivAC +; use your new customized file. + +[datafile] +description="FreecivAC faction data" +options="1.9" + +; Below: factions data in sections [nation_*] +; for all factions available. If you want to have more +; factions just add one at the end. There is a maximum +; of 63 factions, which should be plenty. +; +; Notes: +; +; name = name of the faction +; plural = plural form of the faction name (use '?plural:' qualifier) +; money = name of monetry denominations (singular) +; money_plural = plural form of money. (use '?money_plural:' qualifier) +; leader = default leader names for the nation +; leader_sex = sex of each default leader: "Male" or "Female" +; flag = string to look for in client tilespec files for +; preferred flag icon +; flag_alt = alternate flag icon string, or "-" +; +; Next are some hints for AI, as defined in struct player_race +; Ask the guy who designed this struct for more explanation :-) +; AFAIK some of them are not implemented yet. +; +; Most of this stuff is not particularly applicable to Alpha Centauri. +; +; attack = c 0 = optimize for food, 2 = optimize for prod +; c0 = large amount of buildings, 2 = units +; expand = c0 = transform first , 2 = build cities first +; civilized = c 0 = do not use nukes, 2 = use nukes, lots of pollution +; advisors = some kind of advisors, not implemented anyway +; tech_goals = technology goals, up to 10 +; wonder = primary wonder +; government = wanted government +; +; cities = base names +; +; section [misc] currently contains base names suggested when +; you run out of default names for your faction. +; + +; IDEA: +; field for faction specific modifiers e.g. for believers: +; modifier = { "type", "value" +; "tech", "Social Psych", - Free technologys (or units or credits) +; "research", "-2", - Social modifiers +; "probe", "+1", +; "support", "+2", +; "planet", "-1", +; "attribute", "fanatic" - Special capabilities/penalties +; } +; + +; Note: do not change the following order for "official" nations.ruleset, +; or factions in savegames will become wrong. + + +[nation_believers] + +name=_("Lord's Believers") +plural=_("?plural:Believers") +class=_("SMAC") +legend=_("The Believers aim to dedicate Planet to religious worship.") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Miriam" +leader_sex="Female" +flag = "f.italy" +flag_alt = "-" +city_style = "European" + +attack=1 +expand=2 +civilized=2 +advisors=100,100,100,100,100,100,100 + +init_techs = "Social Psych" +effect = + { "type", "range", "amount", "outside" + "Science_Bonus", "Player", -20, 1 + } +tech_goals = "Ethical Calculus", + "Centauri Psi", "The Will To Power", + "Secrets of Alpha Centauri", + "Transcendent Thought" +wonder="The Ascetic Virtues" +government="Fundamentalist" + +cities = + "New Jerusalem", "Great Conclave", "Great Zion", "Far Jericho", + "Redemption Base", "Children of God", "Noah's Rainbow", + "The Voice of God", "Judgement Seat", "Valley of the Faithful", + "Blessed Redeemer", "The Glory of God", "New Eden", + "Terrible Swift Sword", "Time of Salvation", "Eternal Reward", + "The Lord's Mercy", "Righteous Sentence", "Throne of God", + "The Rapture", "The Lord's Wrath", "The Lord's Grace", + "The Hand of God", "The Coming of the Lord", "Sanctity Base", + "The Lord's Chosen", "Hallowed Ground", "The Lord's Gift", + "Divinity Base", "The Word of God", "Revelation Base", + "The Holy Fire", "The Lord's Truth", "Blessed Saviour", + "From On High", "Godwinson's Hope", "House of Martyrs" + + +[nation_peacekeepers] + +name=_("Peacekeeping Forces") +plural=_("?plural:Peacekeepers") +class=_("SMAC") +legend=_("The Peacekeepers hold true to the original ideals of the \ +United Nations.") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Lal" +leader_sex="Male" +flag = "f.iraq_old" +flag_alt = "-" +city_style = "European" + +attack=0 +expand=0 +civilized=2 +advisors=100,100,100,100,100,100,100 + +init_techs = "Biogenetics" +tech_goals = "Social Psych", "Planetary Networks", + "Secrets of The Human Brain", "Advanced Spaceflight", + "Eudaimonia" +wonder="The Planetary Transit System" +government="Democratic" + +cities = + "U.N. Headquarters", "U.N. High Commission", "U.N. Temple of Sol", + "U.N. Haven City", "U.N. Great Refuge", "U.N. Amnesty Town", + "U.N. Pillar of Rights", "U.N. Humanity Base", "U.N. Aid Station", + "U.N. Equality Village", "U.N. Settlement Agency", + "U.N. Enforcement Base", "U.N. Health Authority", + "U.N. Planning Authority", "U.N. Education Agency", + "U.N. Social Council", "U.N. Commerce Committee", + "U.N. Court of Justice", "U.N. Information Agency", + "U.N. Planetary Trust", "U.N. Data Aquisition", "U.N. Disaster Relief", + "U.N. Criminal Tribunal" + + +[nation_spartans] + +name=_("Spartan Federation") +plural=_("?plural:Spartans") +class=_("SMAC") +legend=_("The Spartans believe in self-reliance and military \ +preparedness above all things.") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Santiago" +leader_sex="Female" +flag="f.germany" +flag_alt = "-" +city_style = "European" + +attack=2 +expand=0 +civilized=2 +advisors=100,100,100,100,100,100,100 + +init_techs = "Doctrine: Mobility" +effect = + { "type", "range", "amount" + "Unit_Cost", "Player", 10 + "Building_Cost", "Player", 10 + } +tech_goals = "Doctrine: Loyalty", "Doctrine: Initiative", + "Doctrine: Air Power", + "Fusion Power", + "Probability Mechanics", + "Orbital Spaceflight", + "Super Tensile Solids", + "The Will To Power" +wonder="The Citizens' Defense Force" +government="Power" + +cities = + "Sparta Command", "Survival Base", "Commander's Keep", + "War Outpost", "Militia Station", "Fort Legion", "Janissary Rock", + "Blast Rifle Crag", "Hawk of Chiron", "Assassin's Redoubt", + "Centurion Cave", "Bunker 118", "Hommel's Citadel", "Training Camp", + "Defiance Freehold", "Hero's Waypoint", "Fort Liberty", "Ironholm", + "Fort Survivalist", "Fort Superiority", "Halls of Discipline", + "Parade Ground" + + +[nation_morgans] + +name=_("Morgan Industries") +plural=_("?plural:Morganites") +class=_("SMAC") +legend=_("The Morganites are ruthless capitalists.") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Morgan" +leader_sex="Male" +flag="f.egypt" +flag_alt = "-" +city_style = "European" + +attack=1 +expand=1 +civilized=2 +advisors=100,100,100,100,100,100,100 + +init_techs = "Industrial Base" +tech_goals = "Planetary Networks", "Planetary Economics", + "Industrial Economics", + "Monopole Magnets", + "Sentient Econometrics", "Quantum Machinery" +wonder="The Merchant Exchange" +government="Free Market" + +cities = + "Morgan Industries", "Morgan Metagenics", "Morgan Bank", + "Morgan Trade Center", "Morgan Biochemical", "Morgan Data Systems", + "Morgan Hydroponics", "Morgan Mines", "Morgan Processing", + "Morgan Solarfex", "Morgan Entertainment", "Morgan Distribution", + "Morgan Pharmaceuticals", "Morgan Metallurgy", "Morgan Transport", + "Morgan Antimatter", "Morgan Energy Monopoly", "Morgan Collections", + "Morgan Construction", "Morgan Interstellar", "Morgan Aerodynamics", + "Morgan Robotics", "Morgan Studios", "Morgan Gravitonics" + + +[nation_university] + +name=_("University of Planet") +plural=_("?plural:University") +class=_("SMAC") +legend=_("The researchers of the University place science above all else.") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Zakharov" +leader_sex="Male" +flag="f.usa" +flag_alt = "-" +city_style = "European" + +attack=0 +expand=1 +civilized=2 +advisors=100,100,100,100,100,100,100 + +init_techs = "Information Networks" +effect = + { "type", "range", "amount", "outside" + "Science_Bonus", "Player", 20, 1 + } +tech_goals = "Social Psych", + "Retroviral Engineering", "Planetary Networks", + "Applied Relativity", + "Singularity Mechanics", "Self-Aware Machines", + "Unified Field Theory", "Temporal Mechanics", + "Secrets of The Human Brain", "Secrets of Creation" +wonder="The Theory of Everything" +government="Knowledge" + +cities = + "University Base", "Academy Park", "Lab Three", "Library of Planet", + "Planetary Archives", "Razvitia-Progress Base", "Cosmograd", + "Budushii Dvor", "Tsiolkovsky Institute", "Mendelev College", + "Nauk Science Center", "Zarya-Sunrise", "Nadezjda-Hope", "Academgorodok", + "Koppernigk Observatory", "Svobodny-Free Base", "Zvedny Gorodok", + "Baikonur", "Climactic Research", "Monitoring Station", "Buran Prospect", + "Mir Lab", "Relativity School", "Pavlov Biolab", "Lomonosov Park", + "Korolev Center", "Gagarin Memorial", "New Arzamas", + "Otkrietia-Discovery", "Zoloto-Gold", "Edinstvo-Unity" + +[nation_hive] + +name=_("Human Hive") +plural=_("?plural:Hive") +class=_("SMAC") +legend=_("The ruthless Hive is an authoritarian and atheist police state.") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Yang" +leader_sex="Male" +flag="f.greece" +flag_alt = "-" +city_style = "European" + +attack=1 +expand=2 +civilized=0 +advisors=100,100,100,100,100,100,100 + +init_techs = "Doctrine: Loyalty" +effect = + { "type", "range", "amount" + "Unit_Cost", "Player", -10 + "Building_Cost", "Player", -10 + } +tech_goals = "Social Psych", "Retroviral Engineering", + "Neural Grafting", "Industrial Automation", + "Bio-Engineering", "Advanced Ecological Engineering", + "The Will To Power" +wonder="The Human Genome Project" +government="Police State" + +cities = + "The Hive", "Sheng-ji Yang Base", "Worker's Nest", + "People's Teeming", "Great Clustering", "The Colony", + "Industrial Crawling", "Manufacturing Warrens", "Discipline Tubes", + "Laborer's Throng", "Unification Cavern", "Social Engineering Den", + "The Labyrinth", "Paradise Swarming", "Communal Nexus", + "Social Artery", "Factory Maze", "Unity Lair", "Society Grid", + "Great Collective", "Proletarian Knot", "Socialism Tunnels", + "The Drone Mound", "Plex Anthill", "Watcher's Eye", + "Working Man Hold", "Huddling of the People", "Yang Mine", + "Seat of Proper Thought", "The Leader's Horde", "Chairman's Burrow", + "Labor Network", "Deep Passages", "Fellowship City", + "People's Endeavor", "Fecundity Tower", "Hole of Aspiration" + + +[nation_gaians] + +name=_("Gaia's Stepdaughters") +plural=_("?plural:Gaians") +class=_("SMAC") +legend=_("The Gaians strive to understand and live in harmony with \ +native life.") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Deirdre" +leader_sex="Female" +flag="f.scotland" +flag_alt = "-" +city_style = "European" + +attack=0 +expand=0 +civilized=1 +advisors=100,100,100,100,100,100,100 + +init_techs = "Centauri Ecology" +tech_goals = "Centauri Psi", "Centauri Genetics", "Centauri Empathy", + "Environmental Economics", "Ecological Engineering", + "Secrets of Alpha Centauri", "Fusion Power", + "Secrets of The Human Brain", "Secrets of Creation", + "Advanced Ecological Engineering" +wonder="The Xenoempathy Dome" +government="Green" + +cities = + "Gaia's Landing", "Gaia's High Garden", "Forest Primeval", + "Children of Earth", "Vale of Winds", "Mindworm Pass", + "Blackroot Palace", "Greenhouse Gate", "Razorbeak Wood", + "Last Rose of Summer", "Lucky Autumn", "Dreams of Green", + "The Pines", "Velvetgrass Point", "Song of Planet", + "Nessus Shining", "Silverbird Park", "Fallow Time", + "Autumn Grove", "The Flowers Preach", "Resplendent Oak", + "Lily of the Valley", "Virgin Soil", "Garden of Paradise", + "Thorny Vineyard", "Chiron Preserve", "Memory of Earth" + + +[nation_cyborgs] + +name=_("Cybernetic Consciousness") +plural=_("?plural:Cyborgs") +class=_("Crossfire") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Aki Zeta-5" +leader_sex="Female" +flag="f.russia" +flag_alt = "-" +city_style = "European" + +attack=2 +expand=1 +civilized=0 +advisors=100,100,100,100,100,100,100 + +init_techs = "Information Networks", "Applied Physics" +tech_goals = "Bio-Engineering", "Biomachinery", "Digital Sentience", + "Gene Splicing", "Homo Superior", "Industrial Nanorobotics", + "Intellectual Integrity", "Mind-Machine Interface", + "Neural Grafting", "Polymorphic Software", + "Presentient Algorithms", "Secrets of Alpha Centauri", + "Self-Aware Machines", "The Will To Power" +wonder="The Cyborg Factory" +government="Cybernetic" + +cities = + "Alpha Prime", "Beta Crossing", "Gamma Flats", "Delta Marsh", + "Epsilon Center", "Eta Crossroads", "Theta Banks", + "Iota Station", "Kappa Hills", "Lambda Farms", "Mu Crescent", + "Nu Square", "Xi Ellipse", "Omicron Quadrangle", "Pi Complex", + "Rho Yards", "Sigma Complex", "Tau Collective", "Upsilon Depot", + "Psi Consensus", "Chi Plains", "Phi Lumiere", "Omega Terminus" + + +[nation_pirates] + +name=_("Nautilus Pirates") +plural=_("?plural:Pirates") +class=_("Crossfire") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Svensgaard" +leader_sex="Male" +flag="f.south_africa" +flag_alt="-" +city_style = "European" + +attack=2 +expand=1 +civilized=1 +advisors=100,100,100,100,100,100,100 + +init_techs = "Doctrine: Mobility", "Doctrine: Flexibility" +tech_goals = "Synthetic Fossil Fuels", "Super Tensile Solids", + "Silksteel Alloys", "Quantum Power", "Planetary Networks", + "Planetary Economics", "Orbital Spaceflight", + "Industrial Base", "Environmental Economics", + "Ecological Engineering", "Doctrine: Initiative" +wonder="The Maritime Control Center" +government="Power" + +cities = + "Deadman Tavern", "Landlubber Inn", "Buried Treasure", + "Sunny Oasis", "Sailor's Rest", "Freshwater Springs", + "Marque City", "Land Lock", "Far Horizons", "Crossbone Way", + "Sailor's Warning", "Red Sky", "Roberts' Dread", + "Ulrik's Hideaway", "Pirate's Siege", "Grasshome", + "Drunktown", "Merchantman Run", "Shanty Town", "Penzance", + "Skull Crossroads", "Sailor's Delight", "Plunder Cache", + "Cannon's Thunder" + + +[nation_drones] + +name=_("Free Drones") +plural=_("?plural:Drones") +class=_("Crossfire") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Dumai" +leader_sex="Male" +flag="f.france" +flag_alt = "-" +city_style = "European" + +attack=2 +expand=2 +civilized=2 +advisors=100,100,100,100,100,100,100 + +init_techs = "Industrial Base" +tech_goals = "Superconductor", "Super Tensile Solids", + "Social Psych", "Silksteel Alloys", "Quantum Machinery", + "Planetary Economics", "Organic Superlubricant", + "Nanometallurgy", "Monopole Magnets", + "Industrial Nanorobotics", "Industrial Economics", + "Industrial Automation", "Fusion Power", "Eudaimonia", + "Environmental Economics" +wonder="The Nano Factory" +government="Eudaimonic" + +cities = + "Free Drone Central", "Hall of Industry", "Smokestack Hill", + "Steelfount", "Freedman's Park", "Common Ground", "Labor Trust", + "Liberty Plant", "Freedom's Foundry", "Assembly Hall", + "Worker's Paradise", "Miner's Freehold", "Digger's Descent", + "Domai Dome", "Living Standard", "Spanner Works", "Staples of Life", + "Hammer and Tongs", "Anvil of Man", "Whipsaw Base", + "Drilling Grounds", "Guild House", "Craftsman Keep", + "Future's Fulcrum", "Power Grid" + + +[nation_angels] + +name=_("Data Angels") +plural=_("?plural:Angels") +class=_("Crossfire") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Roze" +leader_sex="Female" +flag="f.mexico" +flag_alt = "-" +city_style = "European" + +attack=1 +expand=0 +civilized=2 +advisors=100,100,100,100,100,100,100 + +init_techs = "Information Networks", "Planetary Networks" +tech_goals = "Transcendent Thought", "Sentient Econometrics", + "Self-Aware Machines", "Secrets of Alpha Centauri", + "Probability Mechanics", "Presentient Algorithms", + "Polymorphic Software", "Optical Computers", + "Mind-Machine Interface", "Intellectual Integrity", + "Homo Superior", "Ethical Calculus", + "Digital Sentience", "Cyberethics", + "Advanced Military Algorithms" +wonder="The Hunter-Seeker Algorithm" +government="Democratic" + +cities = + "Data DeCentral", "Gargoyle Garden", "Ergonomia", + "Safe House City", "The Sprawl", "Newer Ciba City", + "Gibson Base", "Trojan Source", "Googleplex", "Tinker Junction", + "Keypad Grid", "Opticommons", "Coder's Pit", "Shadow Sprawl", + "Nettap Complex", "Stack Heap", "Roze Function", "Secret Hollow", + "Ferrett's Lair", "Moonshadow", "Alphaville", "Applet Way" + + +[nation_cult] + +name=_("Cult of Planet") +plural=_("?plural:Cult") +class=_("Crossfire") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="Cha Dawn" +leader_sex="Male" +flag="f.china" +flag_alt = "-" +city_style = "European" + +attack=1 +expand=1 +civilized=2 +advisors=100,100,100,100,100,100,100 + +init_techs = "Centauri Ecology", "Social Psych" +tech_goals = "Transcendent Thought", "Threshold of Transcendence", + "Secrets of The Human Brain", "Secrets of Creation", + "Secrets of Alpha Centauri", "Quantum Power", + "Intellectual Integrity", "Eudaimonia", "Ethical Calculus", + "Environmental Economics", "Ecological Engineering", + "Centauri Psi", "Centauri Meditation", "Centauri Genetics", + "Centauri Empathy", "Advanced Ecological Engineering" +wonder="The Voice Of Planet" +government="green" + +cities = + "Dawn of Planet", "Worm's Lair", "The Edicts", + "Terror's Delight", "Seers of Chiron", "Sword of Planet", + "Wormfang Shrine", "Consecration Pit", "Planetvision Gate", + "Trance of Purity", "Virgin Planet", "Chiron Stigmata", + "Locust Haven", "Well of Souls", "Remain in Light", + "Sporerunner Sanctum", "Childhood's End", "Trial By Fire", + "Dawn's Chancel", "Concordat of Worms", "Misericordia", + "The Hermitage", "Invictus" + + +; +; barbarians/aliens MUST go last +; + +[nation_barbarian] + +name="Aliens" +plural="Aliens" +class=_("SMAC") +money=_("energy") +money_plural=_("?money_plural:energy") +leader="The Planet" +leader_sex="Female" +flag="f.barbarian" +flag_alt = "-" +city_style = "European" + +attack=0 +expand=0 +civilized=0 +advisors=100,100,100,100,100,100,100 + +init_techs = "" +tech_goals = "" +wonder = "" +government = "None" + +cities = "The Planet" + +; nothing more needed for native lifeforms + + +[misc] + +; +; Generic Base names +; + +cities = + "Alpha Sector", "Beta Sector", "Gamma Sector", "Delta Sector", + "Epsilon Sector", "Zeta Sector", "Eta Sector", "Theta Sector", + "Iota Sector", "Kappa Sector", "Lambda Sector", "Mu Sector", + "Nu Sector", "Xi Sector", "Omicron Sector", "Pi Sector", + "Rho Sector", "Sigma Sector", "Tau Sector", "Upsilon Sector", + "Phi Sector", "Chi Sector", "Psi Sector", "Omega Sector", + + "Alpha Base", "Beta Base", "Gamma Base", "Delta Base", + "Epsilon Base", "Zeta Base", "Eta Base", "Theta Base", + "Iota Base", "Kappa Base", "Lambda Base", "Mu Base", + "Nu Base", "Xi Base", "Omicron Base", "Pi Base", + "Rho Base", "Sigma Base", "Tau Base", "Upsilon Base", + "Phi Base", "Chi Base", "Psi Base", "Omega Base" diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/techs.ruleset freeciv-patched/data/smac/techs.ruleset --- freeciv-cvs/data/smac/techs.ruleset 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/techs.ruleset 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,673 @@ + +; Modifying this file: +; You should not modify this file except to make bugfixes or +; for other "maintenance". If you want to make custom changes, +; you should create a new datadir subdirectory and copy this file +; into that directory, and then modify that copy. Then use the +; command "set techs " in the server to have freeciv +; use your new customized file. + +[datafile] +description="SMAC technology data for Freeciv (incomplete)" +options="1.9" + +; Below: The individual advances, one per section. +; The number can be variable, up to 199. +; +; The actual tag used (the * in [advance_*]) does not matter, except +; it must be unique within this file, and it may be used in debug +; output when reading this file. +; +; Notes: +; +; name = name as seen by user +; req1, req2 = advances required before researching this one +; flags = special flag strings (see default/techs.ruleset) +; helptext = optional help text string (set units ruleset for examples) +; +; Special values for req1 and req2 are "None" (first section below) +; and "Never" (never available). If only one tech is required, +; it should be listed as req1. +; +; Following flag strings are possible +; +; "Bonus_Tech" = player gets extra tech if rearched first +; Note: currently only one tech with this flag is supported +; "Boat_Fast" = all sea units get one extra move point +; "Bridge" = "Settler" unit types can build bridges over rivers +; "Railroad" = "Settler" unit types can build rail roads +; "Farmland" = "Settler" unit types can build farmland +; "Fortress" = "Settler" unit types can build fortress +; "Population_Pollution_Inc" = Increase the pollution factor created by +; popultaion by one +; "Trade_Revenue_Reduce" = When known by the player establishing a trade +; route reduces the initial revenue by cumulative +; factors of 2/3 +; "Airbase" = "Airbase" unit types can build Airbases + +; SMAC techs require the following flags. Probably better long-term +; to have add to the cities ruleset types of citizens and the tech +; requirements for each type. +;allow_engineers = allow designation of citizens as engineers +;allow_thinkers = allow designation of citizens as thinkers +;allow_librarians = allow designation of citizens as librarians +;allow_transcend = allow designation of citizens as transcend + +[advance_advanced_ecological_engineering] +name = _("Advanced Ecological Engineering") +req1 = "Fusion Power" +req2 = "Environmental Economics" +level = "Build 7" +flags = "" +helptext= _("Increased experience in evironmental manipulation.") + +[advance_advanced_military_algorithms] +name = _("Advanced Military Algorithms") +req1 = "Doctrine: Flexibility" +req2 = "Optical Computers" +level = "Conquer 4" +flags = "" +helptext= _("Warfare at the digital level.") + +[advance_advanced_spaceflight] +name = _("Advanced Spaceflight") +req1 = "Orbital Spaceflight" +req2 = "Organic Superlubricant" +level = "Discover 8" +flags = "" +helptext= _("The technologies required spaceflight are rediscovered.") + +[advance_advanced_subatomic_theory] +name = _("Advanced Subatomic Theory") +req1 = "High Energy Chemistry" +req2 = "Polymorphic Software" +level = "Discover 3" +flags = "" +helptext= _("Insight into the building blocks of matter.") + +[advance_applied_gravitonics] +name = _("Applied Gravitonics") +req1 = "Graviton Theory" +req2 = "Digital Sentience" +level = "Explore 14" +flags = "" +helptext= _("Techniques for the manipulation of graviton strings, and therefore the control of gravity.") + +[advance_applied_physics] +name = _("Applied Physics") +req1 = "None" +req2 = "None" +level = "Conquer 1" +flags = "" +helptext= _("Adaptation of technology to suit this new environment.") + +[advance_applied_relativity] +name = _("Applied Relativity") +req1 = "Superconductor" +req2 = "Advanced Subatomic Theory" +level = "Discover 5" +flags = "" +helptext= _("Expansion of Einstein's theories of general relativity.") + +[advance_bio-engineering] +name = _("Bio-Engineering") +req1 = "Gene Splicing" +req2 = "Neural Grafting" +level = "Build 5" +flags = "" +helptext= _("The ability to create desired genetic codes from scratch.") + +[advance_biogenetics] +name = _("Biogenetics") +req1 = "None" +req2 = "None" +level = "Discover 1" +flags = "" +helptext= _("An understanding of the entire genetic code.") + +[advance_biomachinery] +name = _("Biomachinery") +req1 = "Mind-Machine Interface" +req2 = "Retroviral Engineering" +level = "Build 7" +flags = "allow_thinkers" +helptext= _("The integration of man and machine.") + +[advance_centauri_ecology] +name = _("Centauri Ecology") +req1 = "None" +req2 = "None" +level = "Explore 1" +flags = "" +helptext= _("Basic understanding of available natural resources.") + +[advance_centauri_empathy] +name = _("Centauri Empathy") +req1 = "Secrets of The Human Brain" +req2 = "Centauri Ecology" +level = "Explore 3" +flags = "Bonus_Tech" +bonus_message = _("Discovery of the Secrets of the Human Brain \ +stimulates scientific research! You get an immediate advance.") +helptext= _("Learning to exist in harmony with the global ecosystem.") + + +[advance_centauri_genetics] +name = _("Centauri Genetics") +req1 = "Centauri Meditation" +req2 = "Retroviral Engineering" +level = "Explore 7" +flags = "" +helptext= _("Extensive studies of the genetic makeup of native life.") + +[advance_centauri_meditation] +name = _("Centauri Meditation") +req1 = "Ecological Engineering" +req2 = "Centauri Empathy" +level = "Explore 5" +flags = "" +helptext= _("Attempts to communicate with the, sentient, planet.") + +[advance_centauri_psi] +name = _("Centauri Psi") +req1 = "Centauri Genetics" +req2 = "Advanced Ecological Engineering" +level = "Explore 8" +flags = "" +helptext= _("Unravelling the method used by native lifeforms to communicate and coordinate their attacks.") + +[advance_controlled_singularity] +name = _("Controlled Singularity") +req1 = "Singularity Mechanics" +req2 = "Applied Gravitonics" +level = "Conquer 15" +flags = "" +helptext= _("Harnessing the power of artifical black holes.") + +[advance_cyberethics] +name = _("Cyberethics") +req1 = "Planetary Networks" +req2 = "Intellectual Integrity" +level = "Build 4" +flags = "allow_librarians" +helptext= _("Development of advanced digital network systems.") + +[advance_digital_sentience] +name = _("Digital Sentience") +req1 = "Industrial Nanorobotics" +req2 = "Mind-Machine Interface" +level = "Discover 10" +flags = "" +helptext= _("The emergance of sentient artifical intelligences.") + +[advance_doctrine_air_power] +name = _("Doctrine: Air Power") +req1 = "Synthetic Fossil Fuels" +req2 = "Doctrine: Flexibility" +level = "Explore 5" +flags = "" +helptext= _("Developing materials and manufacturing facilities to build and maintain aircraft.") + +[advance_doctrine_flexibility] +name = _("Doctrine: Flexibility") +req1 = "Doctrine: Mobility" +req2 = "None" +level = "Explore 2" +flags = "" +helptext= _("Building military infrastructure for rapid attacks and reconnaissance.") + +[advance_doctrine_initiative] +name = _("Doctrine: Initiative") +req1 = "Doctrine: Flexibility" +req2 = "Industrial Automation" +level = "Explore 4" +flags = "" +helptext= _("Developing the infrastructure to build and maintain large naval vessels.") + +[advance_doctrine_loyalty] +name = _("Doctrine: Loyalty") +req1 = "Doctrine: Mobility" +req2 = "Social Psych" +level = "Conquer 2" +flags = "" +helptext= _("Blueprints for the construction of defensive and military training facilities.") + +[advance_doctrine_mobility] +name = _("Doctrine: Mobility") +req1 = "None" +req2 = "None" +level = "Explore 1" +flags = "" +helptext= _("Initial steps towards an organised defense policy in the new environment.") + +[advance_ecological_engineering] +name = _("Ecological Engineering") +req1 = "Centauri Ecology" +req2 = "Gene Splicing" +level = "Explore 4" +flags = "" +helptext= _("Using ingenuity and innovation to discover new resources available within the existing ecosystem.") + +[advance_environmental_economics] +name = _("Environmental Economics") +req1 = "Industrial Economics" +req2 = "Ecological Engineering" +level = "Build 5" +flags = "" +helptext= _("Addressing the problem of industrial expansion at the cost of the environment.") + +[advance_ethical_calculus] +name = _("Ethical Calculus") +req1 = "Social Psych" +req2 = "None" +level = "Explore 2" +flags = "" +helptext= _("Mathematical studies into behaviour and ethics.") + +[advance_eudaimonia] +name = _("Eudaimonia") +req1 = "Sentient Econometrics" +req2 = "The Will To Power" +level = "Explore 12" +flags = "" +helptext= _("Encouraging each citizen to achieve happiness through striving to completely fulfilling their own potential.") + +[advance_frictionless_surfaces] +name = _("Frictionless Surfaces") +req1 = "Unified Field Theory" +req2 = "Industrial Nanorobotics" +level = "Discover 10" +flags = "" +helptext= _("Applications of the ability to tweak the fundamental properties of matter.") + +[advance_fusion_power] +name = _("Fusion Power") +req1 = "Presentient Algorithms" +req2 = "Superconductor" +level = "Discover 6" +flags = "allow_engineers" +helptext= _("Development of cheap, clean and reusable power supply.") + +[advance_gene_splicing] +name = _("Gene Splicing") +req1 = "Biogenetics" +req2 = "Ethical Calculus" +level = "Build 3" +flags = "" +helptext= _("The technology required to perfect the transfer of genetic materials.") + +[advance_graviton_theory] +name = _("Graviton Theory") +req1 = "Quantum Machinery" +req2 = "Mind-Machine Interface" +level = "Explore 13" +flags = "" +helptext= _("Detection and measurement of gravitational strings.") + +[advance_high_energy_chemistry] +name = _("High Energy Chemistry") +req1 = "Industrial Base" +req2 = "Applied Physics" +level = "Conquer 2" +flags = "" +helptext= _("Understanding of the properties of matter under extreme conditions.") + +[advance_homo_superior] +name = _("Homo Superior") +req1 = "Biomachinery" +req2 = "Doctrine: Loyalty" +level = "Explore 8" +flags = "" +helptext= _("Integrating powerful computers into living organisms.") + +[advance_industrial_automation] +name = _("Industrial Automation") +req1 = "Industrial Economics" +req2 = "Planetary Networks" +level = "Build 3" +flags = "" +helptext= _("Completely automated facilities for large-scale production and assembly.") + +[advance_industrial_base] +name = _("Industrial Base") +req1 = "None" +req2 = "None" +level = "Build 1" +flags = "" +helptext= _("Small-scale manufacturing and basic industrial infrastructure.") + +[advance_industrial_economics] +name = _("Industrial Economics") +req1 = "Industrial Base" +req2 = "None" +level = "Build 2" +flags = "" +helptext= _("Comprehensive economic policies to accomodate free trade and other economic instruments.") + +[advance_industrial_nanorobotics] +name = _("Industrial Nanorobotics") +req1 = "Nanominiaturization" +req2 = "Industrial Automation" +level = "Build 9" +flags = "" +helptext= _("Introducing nonminiaturization technolgies into production lines.") + +[advance_information_networks] +name = _("Information Networks") +req1 = "None" +req2 = "None" +level = "Discover 1" +flags = "" +helptext= _("Fundamental computing infrastructure.") + +[advance_intellectual_integrity] +name = _("Intellectual Integrity") +req1 = "Ethical Calculus" +req2 = "Doctrine: Loyalty" +level = "Explore 3" +flags = "" +helptext= _("Achieving undistorted knowledge by shedding prejudices and preconceptions.") + +[advance_matter_compression] +name = _("Matter Compression") +req1 = "Nanometallurgy" +req2 = "Nanominiaturization" +level = "Conquer 9" +flags = "" +helptext= _("The ability to create super-dense materials.") + +[advance_matter_editation] +name = _("Matter Editation") +req1 = "Self-Aware Machines" +req2 = "Super Tensile Solids" +level = "Build 12" +flags = "" +helptext= _("Sub-atomic manipulation makes transmutation of elements possible.") + +[advance_matter_transmission] +name = _("Matter Transmission") +req1 = "Matter Editation" +req2 = "Secrets of Alpha Centauri" +level = "Build 13" +flags = "" +helptext= _("The ability to dissemble and reassemble matter enables the design of teleportation devices.") + +[advance_mind-machine_interface] +name = _("Mind-Machine Interface") +req1 = "Doctrine: Air Power" +req2 = "Neural Grafting" +level = "Conquer 6" +flags = "" +helptext= _("Bridges the gap in direct communications between computers and the human brain.") + +[advance_monopole_magnets] +name = _("Monopole Magnets") +req1 = "Superstring Theory" +req2 = "Silksteel Alloys" +level = "Build 6" +flags = "" +helptext= _("An application of the full understanding of magnetism.") + +[advance_nanometallurgy] +name = _("Nanometallurgy") +req1 = "Probability Mechanics" +req2 = "Doctrine: Initiative" +level = "Explore 8" +flags = "" +helptext= _("The tools required to manipulate metals at the atomic level.") + +[advance_nanominiaturization] +name = _("Nanominiaturization") +req1 = "Monopole Magnets" +req2 = "Organic Superlubricant" +level = "Build 8" +flags = "" +helptext= _("Microscopic devices can be produced routinely.") + +[advance_neural_grafting] +name = _("Neural Grafting") +req1 = "Secrets of The Human Brain" +req2 = "Industrial Automation" +level = "Conquer 4" +flags = "" +helptext= _("Implanting digital circuitry into the neural cortex to overcome limitations in the human brain.") + +[advance_nonlinear_mathematics] +name = _("Nonlinear Mathematics") +req1 = "Applied Physics" +req2 = "Information Networks" +level = "Conquer 2" +flags = "" +helptext= _("Breakthoughs in the understanding of Chaos Theory.") + +[advance_optical_computers] +name = _("Optical Computers") +req1 = "Applied Physics" +req2 = "Polymorphic Software" +level = "Discover 3" +flags = "" +helptext= _("New computational technology using photons instead of electrons.") + +[advance_orbital_spaceflight] +name = _("Orbital Spaceflight") +req1 = "Doctrine: Air Power" +req2 = "Presentient Algorithms" +level = "Discover 6" +flags = "" +helptext= _("Providing the tools required for mankind to return to space.") + +[advance_organic_superlubricant] +name = _("Organic Superlubricant") +req1 = "Fusion Power" +req2 = "Synthetic Fossil Fuels" +level = "Conquer 7" +flags = "" +helptext= _("A new generation of lubricating compounds.") + +[advance_photon/wave_mechanics] +name = _("Photon/Wave Mechanics") +req1 = "Applied Relativity" +req2 = "Silksteel Alloys" +level = "Conquer 6" +flags = "" +helptext= _("Theories developed enable manipulation of photons, allowing the diffusion and warping of light.") + +[advance_planetary_economics] +name = _("Planetary Economics") +req1 = "Environmental Economics" +req2 = "Intellectual Integrity" +level = "Explore 6" +flags = "" +helptext= _("Removing inefficiences in trade and industry by developing global infrastructures.") + +[advance_planetary_networks] +name = _("Planetary Networks") +req1 = "Information Networks" +req2 = "None" +level = "Discover 2" +flags = "" +helptext= _("Implementation of global information networks and protocols.") + +[advance_polymorphic_software] +name = _("Polymorphic Software") +req1 = "Industrial Base" +req2 = "Information Networks" +level = "Discover 2" +flags = "" +helptext= _("Invention of robust, self-adapting software based on neural nets.") + +[advance_presentient_algorithms] +name = _("Presentient Algorithms") +req1 = "Advanced Military Algorithms" +req2 = "Cyberethics" +level = "Discover 5" +flags = "" +helptext= _("Construction of computers on the verge of self-awareness.") + +[advance_probability_mechanics] +name = _("Probability Mechanics") +req1 = "Photon/Wave Mechanics" +req2 = "Presentient Algorithms" +level = "Build 7" +flags = "" +helptext= _("Understanding the statistical rules which control sub-atomic events.") + +[advance_quantum_machinery] +name = _("Quantum Machinery") +req1 = "Quantum Power" +req2 = "Nanometallurgy" +level = "Build 12" +flags = "" +helptext= _("Development of highly efficient nano-devices capable of manipulating subatomic particles.") + +[advance_quantum_power] +name = _("Quantum Power") +req1 = "Frictionless Surfaces" +req2 = "Planetary Economics" +level = "Discover 11" +flags = "" +helptext= _("Harnessing incredible power from the fabric of the universe itself.") + +[advance_retroviral_engineering] +name = _("Retroviral Engineering") +req1 = "Bio-Engineering" +req2 = "Advanced Military Algorithms" +level = "Conquer 6" +flags = "" +helptext= _("Using artificial virii to perform genetic alterations.") + +[advance_secrets_of_alpha_centauri] +name = _("Secrets of Alpha Centauri") +req1 = "Centauri Psi" +req2 = "Sentient Econometrics" +level = "Discover 12" +flags = "allow_transcend" +helptext= _("Sentient devices becoming able to understand the complexities of the global environment and the intricacies of society.") + +[advance_secrets_of_creation] +name = _("Secrets of Creation") +req1 = "Unified Field Theory" +req2 = "The Will To Power" +level = "Discover 10" +flags = "" +helptext= _("Insight into the purpose and order of the universe.") + +[advance_secrets_of_the_human_brain] +name = _("Secrets of The Human Brain") +req1 = "Social Psych" +req2 = "Biogenetics" +level = "Discover 2" +flags = "" +helptext= _("Resolving the biological mechanisms of self-awareness.") + +[advance_self-aware_machines] +name = _("Self-Aware Machines") +req1 = "Advanced Spaceflight" +req2 = "Digital Sentience" +level = "Discover 11" +flags = "" +helptext= _("The evolution of machines capable of higher-order calculations - and true self-aware thought.") + +[advance_sentient_econometrics] +name = _("Sentient Econometrics") +req1 = "Planetary Economics" +req2 = "Digital Sentience" +level = "Explore 11" +flags = "" +helptext= _("Applying powerful computers and the latest mathematical theories to the science of economics.") + +[advance_silksteel_alloys] +name = _("Silksteel Alloys") +req1 = "Advanced Subatomic Theory" +req2 = "Industrial Automation" +level = "Build 4" +flags = "" +helptext= _("Discovery of materials with extraordinary tensile strength and flexibility.") + +[advance_singularity_mechanics] +name = _("Singularity Mechanics") +req1 = "Secrets of Creation" +req2 = "Self-Aware Machines" +level = "Discover 12" +flags = "" +helptext= _("Controlled replication and study of black hole-like phenomena.") + +[advance_social_psych] +name = _("Social Psych") +req1 = "None" +req2 = "None" +level = "Build 1" +flags = "" +helptext= _("Comprehensive insight into the social phychology of humans.") + +[advance_super_tensile_solids] +name = _("Super Tensile Solids") +req1 = "Matter Compression" +req2 = "Advanced Spaceflight" +level = "Build 10" +flags = "" +helptext= _("Discovery of materials with near-infinite tensile strength.") + +[advance_superconductor] +name = _("Superconductor") +req1 = "Optical Computers" +req2 = "Industrial Base" +level = "Conquer 4" +flags = "" +helptext= _("The development of high-temperature superconductors.") + +[advance_superstring_theory] +name = _("Superstring Theory") +req1 = "Nonlinear Mathematics" +req2 = "Cyberethics" +level = "Conquer 5" +flags = "" +helptext= _("Unification of the theories of gravity and the other fundamental forces") + +[advance_synthetic_fossil_fuels] +name = _("Synthetic Fossil Fuels") +req1 = "High Energy Chemistry" +req2 = "Gene Splicing" +level = "Explore 4" +flags = "" +helptext= _("Large scale chemical processes to generate artificial fossil fuels solve many problems of powering vehicles and machinery.") + +[advance_temporal_mechanics] +name = _("Temporal Mechanics") +req1 = "Eudaimonia" +req2 = "Matter Transmission" +level = "Build 14" +flags = "" +helptext= _("Warping space sufficiently to manipulate time itself.") + +[advance_the_will_to_power] +name = _("The Will To Power") +req1 = "Homo Superior" +req2 = "Centauri Psi" +level = "Explore 9" +flags = "" +helptext= _("Encouragement of beliefs in the importance of strength, asceticism, and resolute action, often at the cost of compassion and charity.") + +[advance_threshold_of_transcendence] +name = _("Threshold of Transcendence") +req1 = "Secrets of Creation" +req2 = "Temporal Mechanics" +level = "Explore 15" +flags = "" +helptext= _("Sentient beings reaching for the next natural stage of evolution.") + +[advance_transcendent_thought] +name = _("Transcendent Thought") +req1 = "Threshold of Transcendence" +req2 = "Controlled Singularity" +level = "Discover 16" +flags = "" +helptext= _("Recognition of the technology and ideals required to free sentient thought and self-awareness from a material form.") + +[advance_unified_field_theory] +name = _("Unified Field Theory") +req1 = "Monopole Magnets" +req2 = "Applied Relativity" +level = "Conquer 7" +flags = "" +helptext= _("A single theory to describe the fabric of the universe.") diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/terrain.ruleset freeciv-patched/data/smac/terrain.ruleset --- freeciv-cvs/data/smac/terrain.ruleset 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/terrain.ruleset 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,562 @@ + +; Modifying this file: +; You should not modify this file except to make bugfixes or +; for other "maintenance". If you want to make custom changes, +; you should create a new datadir subdirectory and copy this file +; into that directory, and then modify that copy. Then use the +; command "set terrain " in the server to have freeciv +; use your new customized file. + +; Note that the freeciv AI may not cope well with anything more +; than minor changes. + +[datafile] +description="Civ2 tile_type data for Freeciv" +options="1.9" + +[options] +river_style=2 ; 1 means Civ1-style, 2 means Civ2-style +may_road=1 ; 0 means no, 1 means yes +may_irrigate=1 ; 0 means no, 1 means yes +may_mine=1 ; 0 means no, 1 means yes +may_transform=1 ; 0 means no, 1 means yes + +[parameters] + +; special movement costs for rivers: +; 0 - normal movement cost for rivers (matches Civ1) +; 1 - 1/3 movement cost, but only when moving exactly along rivers, +; diagonal moves incur full terrain movement costs (matches Civ2) +; 2 - 1/3 movement cost directly along river, 2/3 for diagonals (this +; is effectively the same as '1', as if you had done the two moves, +; except for differences relating to ZOC, etc.) +; 3 - 1/3 movement cost for any river to river move (classic Freeciv) +river_move_mode=1 + +; percent added to defense if square is Civ2-style river +river_defense_bonus=50 + +; amount added to trade production if square is Civ2-style river +river_trade_incr=1 + +; help text for Civ2-style rivers +river_help_text=_("\ +Any terrain type (except Ocean) may have a River on it. A River adds 1\ + trade to the resources produced by that tile. It also increases a tile's\ + defense factor by 50%. Finally, land units may move along a River (but\ + not diagonally); movement along a River costs only 1/3 of a movement point.\ +\n\n\ +Roads and railroads can only be built on River squares if your\ + civilization has learned Bridge Building technology.\ +") + +; percent added to defense if square has fortress +fortress_defense_bonus=100 + +; percent added to trade production if road and city has superhighways +road_superhighway_trade_bonus=50 + +; percent added to food production if square has railroad +rail_food_bonus=0 + +; percent added to shield production if square has railroad +rail_shield_bonus=50 + +; percent added to trade production if square has railroad +rail_trade_bonus=0 + +; percent added to food production if farmland and city has supermarket +farmland_supermarket_food_bonus=50 + +; percent subtracted from food production if square is polluted +pollution_food_penalty=50 + +; percent subtracted from shield production if square is polluted +pollution_shield_penalty=50 + +; percent subtracted from trade production if square is polluted +pollution_trade_penalty=50 + +; Below: The individual terrain types, one per section. +; For now, the number of such sections must be kept the same (=12). +; Also, terrains should be in the same order as defined in common/map.h, +; and have similar roles/effects, as some things are still hardwired. +; The actual tag used (the * in [terrain_*]) does not matter, except +; it must be unique for each terrain, and it may be used in debug +; output when reading this file. +; +; Notes: +; +; terrain_name = name as seen by user; if "unused", it is not used +; graphic = preferred base graphics tag in tilespec; must have +; tags with extensions _n0s0e0e0 etc. +; graphic_alt = alternate graphics tag if preferred is not found; +; should be a standard tag if preferred is not; +; otherwise may be "-" +; movement_cost = typically 1 to 3 +; defense_bonus = 10 times actual; typically 10 to 30 (1.0 to 3.0) +; food = normal food production +; shield = normal shield production +; trade = normal trade production +; special_1_name = name of special; if "none", special is not used +; graphic_special_1 = full tilespec tag +; graphic_special_1a = alternate +; food_special_1 = special (1) food production +; shield_special_1 = special (1) shield production +; trade_special_1 = special (1) trade production +; special_2_name = name of special; if "none", special is not used +; graphic_special_2 = full tilespec tag +; graphic_special_2a = alternate +; food_special_2 = special (2) food production +; shield_special_2 = special (2) shield production +; trade_special_2 = special (2) trade production +; road_trade_incr = increment to trade if square has road +; road_time = time to build road; if 0, cannot build road +; irrigation_result = result of irrigation; one of: +; "no" -- cannot irrigate +; "yes" -- can irrigate +; terrain name -- irrigation changes to that terrain +; irrigation_food_incr = increment to food if square is irrigated +; irrigation_time = time to irrigate; if 0, cannot irrigate +; mining_result = result of mining; one of: +; "no" -- cannot mine +; "yes" -- can mine +; terrain name -- mining changes to that terrain +; mining_shield_incr = increment to shields if square is mined +; mining_time = time to mine; if 0, cannot mine +; transform_result = result of transformation; one of: +; "no" -- cannot transform +; terrain name -- transformation changes to that terrain +; transform_time = time to transform; if 0, cannot transform +; helptext = optional help text string; should escape all raw +; newlines so that xgettext parsing works + +[terrain_glacier] +terrain_name = _("Glacier") +graphic = "t.arctic" +graphic_alt = "-" +movement_cost = 2 +defense_bonus = 10 +food = 0 +shield = 0 +trade = 0 +special_1_name = _("Ivory") +graphic_special_1 = "ts.arctic_ivory" +graphic_special_1a = "-" +food_special_1 = 1 +shield_special_1 = 1 +trade_special_1 = 4 +special_2_name = _("Oil") +graphic_special_2 = "ts.oil" +graphic_special_2a = "-" +food_special_2 = 0 +shield_special_2 = 4 +trade_special_2 = 0 +road_trade_incr = 0 +road_time = 4 +irrigation_result = "no" +irrigation_food_incr = 0 +irrigation_time = 0 +mining_result = "yes" +mining_shield_incr = 1 +mining_time = 10 +transform_result = "Tundra" +transform_time = 24 +helptext = _("\ +Glaciers are found only in the most northerly or southerly\ + reaches of the world. They are very cold, and hence difficult to\ + work with.\ +") + +[terrain_desert] +terrain_name = _("Desert") +graphic = "t.desert" +graphic_alt = "-" +movement_cost = 1 +defense_bonus = 10 +food = 0 +shield = 1 +trade = 0 +special_1_name = _("Oasis") +graphic_special_1 = "ts.oasis" +graphic_special_1a = "-" +food_special_1 = 3 +shield_special_1 = 1 +trade_special_1 = 0 +special_2_name = _("Oil") +graphic_special_2 = "ts.oil" +graphic_special_2a = "-" +food_special_2 = 0 +shield_special_2 = 4 +trade_special_2 = 0 +road_trade_incr = 1 +road_time = 2 +irrigation_result = "yes" +irrigation_food_incr = 1 +irrigation_time = 5 +mining_result = "yes" +mining_shield_incr = 1 +mining_time = 5 +transform_result = "Plains" +transform_time = 24 +helptext = _("\ +Deserts are regions of extreme dryness, making agriculture and\ + trade very difficult.\ +") + +[terrain_forest] +terrain_name = _("Forest") +graphic = "t.forest" +graphic_alt = "-" +movement_cost = 2 +defense_bonus = 15 +food = 1 +shield = 2 +trade = 0 +special_1_name = _("Pheasant") +graphic_special_1 = "ts.pheasant" +graphic_special_1a = "-" +food_special_1 = 3 +shield_special_1 = 2 +trade_special_1 = 0 +special_2_name = _("Silk") +graphic_special_2 = "ts.silk" +graphic_special_2a = "-" +food_special_2 = 1 +shield_special_2 = 2 +trade_special_2 = 3 +road_trade_incr = 0 +road_time = 4 +irrigation_result = "Plains" +irrigation_food_incr = 0 +irrigation_time = 5 +mining_result = "no" +mining_shield_incr = 0 +mining_time = 0 +transform_result = "Grassland" +transform_time = 24 +helptext = _("\ +Forests are densely wooded, making agriculture somewhat\ + problematic.\ +") + +[terrain_grassland] +terrain_name = _("Grassland") +graphic = "t.grassland" +graphic_alt = "-" +movement_cost = 1 +defense_bonus = 10 +food = 2 +shield = 0 +trade = 0 +special_1_name = _("Resources") +graphic_special_1 = "ts.grassland_resources" +graphic_special_1a = "-" +food_special_1 = 2 +shield_special_1 = 1 +trade_special_1 = 0 +special_2_name = _("Resources") +graphic_special_2 = "ts.grassland_resources" +graphic_special_2a = "-" +food_special_2 = 2 +shield_special_2 = 1 +trade_special_2 = 0 +road_trade_incr = 1 +road_time = 2 +irrigation_result = "yes" +irrigation_food_incr = 1 +irrigation_time = 5 +mining_result = "Forest" +mining_shield_incr = 0 +mining_time = 10 +transform_result = "Hills" +transform_time = 24 +helptext = _("\ +Grasslands afford exceptional agricultural opportunities.\ +") + +[terrain_hills] +terrain_name = _("Hills") +graphic = "t.hills" +graphic_alt = "-" +movement_cost = 2 +defense_bonus = 20 +food = 1 +shield = 0 +trade = 0 +special_1_name = _("Coal") +graphic_special_1 = "ts.coal" +graphic_special_1a = "-" +food_special_1 = 1 +shield_special_1 = 2 +trade_special_1 = 0 +special_2_name = _("Wine") +graphic_special_2 = "ts.wine" +graphic_special_2a = "-" +food_special_2 = 1 +shield_special_2 = 0 +trade_special_2 = 4 +road_trade_incr = 0 +road_time = 4 +irrigation_result = "yes" +irrigation_food_incr = 1 +irrigation_time = 10 +mining_result = "yes" +mining_shield_incr = 3 +mining_time = 10 +transform_result = "Plains" +transform_time = 24 +helptext = _("\ +In addition to being amenable to agriculture, Hills are frequently\ + rich in resources.\ +") + +[terrain_jungle] +terrain_name = _("Jungle") +graphic = "t.jungle" +graphic_alt = "-" +movement_cost = 2 +defense_bonus = 15 +food = 1 +shield = 0 +trade = 0 +special_1_name = _("Gems") +graphic_special_1 = "ts.gems" +graphic_special_1a = "-" +food_special_1 = 1 +shield_special_1 = 0 +trade_special_1 = 4 +special_2_name = _("Fruit") +graphic_special_2 = "ts.fruit" +graphic_special_2a = "-" +food_special_2 = 4 +shield_special_2 = 0 +trade_special_2 = 1 +road_trade_incr = 0 +road_time = 4 +irrigation_result = "Grassland" +irrigation_food_incr = 0 +irrigation_time = 15 +mining_result = "Forest" +mining_shield_incr = 0 +mining_time = 15 +transform_result = "Plains" +transform_time = 24 +helptext = _("\ +Jungles are densely overgrown, making agriculture somewhat\ + problematic.\ +") + +[terrain_mountains] +terrain_name = _("Mountains") +graphic = "t.mountains" +graphic_alt = "-" +movement_cost = 3 +defense_bonus = 30 +food = 0 +shield = 1 +trade = 0 +special_1_name = _("Gold") +graphic_special_1 = "ts.gold" +graphic_special_1a = "-" +food_special_1 = 0 +shield_special_1 = 1 +trade_special_1 = 6 +special_2_name = _("Iron") +graphic_special_2 = "ts.iron" +graphic_special_2a = "-" +food_special_2 = 0 +shield_special_2 = 4 +trade_special_2 = 0 +road_trade_incr = 0 +road_time = 6 +irrigation_result = "no" +irrigation_food_incr = 0 +irrigation_time = 0 +mining_result = "yes" +mining_shield_incr = 1 +mining_time = 10 +transform_result = "Hills" +transform_time = 24 +helptext = _("\ +Mountains are regions of extreme altitude, making agriculture and\ + trade very difficult.\ +") + +[terrain_ocean] +terrain_name = _("Ocean") +graphic = "t.ocean" +graphic_alt = "-" +movement_cost = 1 +defense_bonus = 10 +food = 1 +shield = 0 +trade = 2 +special_1_name = _("Fish") +graphic_special_1 = "ts.fish" +graphic_special_1a = "-" +food_special_1 = 3 +shield_special_1 = 0 +trade_special_1 = 2 +special_2_name = _("Whales") +graphic_special_2 = "ts.whales" +graphic_special_2a = "-" +food_special_2 = 2 +shield_special_2 = 2 +trade_special_2 = 3 +road_trade_incr = 0 +road_time = 0 +irrigation_result = "no" +irrigation_food_incr = 0 +irrigation_time = 0 +mining_result = "no" +mining_shield_incr = 0 +mining_time = 0 +transform_result = "no" +transform_time = 0 +helptext = _("\ +Oceans cover much of the world, and only sea units (Triremes and\ + other boats) can travel on them.\ +\n\n\ +Ocean squares can never be polluted.\ +") + +[terrain_plains] +terrain_name = _("Plains") +graphic = "t.plains" +graphic_alt = "-" +movement_cost = 1 +defense_bonus = 10 +food = 1 +shield = 1 +trade = 0 +special_1_name = _("Buffalo") +graphic_special_1 = "ts.buffalo" +graphic_special_1a = "-" +food_special_1 = 1 +shield_special_1 = 3 +trade_special_1 = 0 +special_2_name = _("Wheat") +graphic_special_2 = "ts.wheat" +graphic_special_2a = "-" +food_special_2 = 3 +shield_special_2 = 1 +trade_special_2 = 0 +road_trade_incr = 1 +road_time = 2 +irrigation_result = "yes" +irrigation_food_incr = 1 +irrigation_time = 5 +mining_result = "Forest" +mining_shield_incr = 0 +mining_time = 15 +transform_result = "Grassland" +transform_time = 24 +helptext = _("\ +Plains are very broad, sparse regions, which makes trade slightly\ + inconvenient.\ +") + +[terrain_unused_0] +terrain_name = "unused" +graphic = "-" +graphic_alt = "-" +movement_cost = 0 +defense_bonus = 00 +food = 0 +shield = 0 +trade = 0 +special_1_name = "none" +graphic_special_1 = "-" +graphic_special_1a = "-" +food_special_1 = 0 +shield_special_1 = 0 +trade_special_1 = 0 +special_2_name = "none" +graphic_special_2 = "-" +graphic_special_2a = "-" +food_special_2 = 0 +shield_special_2 = 0 +trade_special_2 = 0 +road_trade_incr = 0 +road_time = 0 +irrigation_result = "no" +irrigation_food_incr = 0 +irrigation_time = 0 +mining_result = "no" +mining_shield_incr = 0 +mining_time = 0 +transform_result = "no" +transform_time = 0 + +[terrain_swamp] +terrain_name = _("Swamp") +graphic = "t.swamp" +graphic_alt = "-" +movement_cost = 2 +defense_bonus = 15 +food = 1 +shield = 0 +trade = 0 +special_1_name = _("Peat") +graphic_special_1 = "ts.peat" +graphic_special_1a = "-" +food_special_1 = 1 +shield_special_1 = 4 +trade_special_1 = 0 +special_2_name = _("Spice") +graphic_special_2 = "ts.spice" +graphic_special_2a = "-" +food_special_2 = 3 +shield_special_2 = 0 +trade_special_2 = 4 +road_trade_incr = 0 +road_time = 4 +irrigation_result = "Grassland" +irrigation_food_incr = 0 +irrigation_time = 15 +mining_result = "Forest" +mining_shield_incr = 0 +mining_time = 15 +transform_result = "Plains" +transform_time = 24 +helptext = _("\ +Swamps suffer from an over-abundance of water, making agriculture\ + somewhat problematic.\ +") + +[terrain_tundra] +terrain_name = _("Tundra") +graphic = "t.tundra" +graphic_alt = "-" +movement_cost = 1 +defense_bonus = 10 +food = 1 +shield = 0 +trade = 0 +special_1_name = _("?animals:Game") +graphic_special_1 = "ts.tundra_game" +graphic_special_1a = "-" +food_special_1 = 3 +shield_special_1 = 1 +trade_special_1 = 0 +special_2_name = _("Furs") +graphic_special_2 = "ts.furs" +graphic_special_2a = "-" +food_special_2 = 2 +shield_special_2 = 0 +trade_special_2 = 3 +road_trade_incr = 0 +road_time = 2 +irrigation_result = "yes" +irrigation_food_incr = 1 +irrigation_time = 5 +mining_result = "no" +mining_shield_incr = 0 +mining_time = 0 +transform_result = "Desert" +transform_time = 24 +helptext = _("\ +Tundra are broad, cold regions, fit for some agriculture and little\ + else.\ +") diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac/units.ruleset freeciv-patched/data/smac/units.ruleset --- freeciv-cvs/data/smac/units.ruleset 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac/units.ruleset 2003-07-07 18:10:01.000000000 +0100 @@ -0,0 +1,860 @@ + +; Modifying this file: +; You should not modify this file except to make bugfixes or +; for other "maintenance". If you want to make custom changes, +; you should create a new datadir subdirectory and copy this file +; into that directory, and then modify that copy. Then use the +; command "set units " in the server to have freeciv +; use your new customized file. + +; Note that the freeciv AI may not cope well with anything more +; than minor changes. + +[datafile] +description="SMAC unit_type data for Freeciv (incomplete)" +options="1.9" + +[units_adjust] +max_hitpoints=0 ; 0 means no max +max_firepower=0 ; 0 means no max +firepower_factor=1 ; convenient for Civ1 + +[mod_type_chassis] +name = "Chassis" +tech_req = "None" +obsolete_by = "None" +must_use = 1 + +[mod_type_weapon] +name = "Weapon" +tech_req = "None" +obsolete_by = "None" +must_use = 1 + +[mod_type_armor] +name = "Armor" +tech_req = "None" +obsolete_by = "None" +must_use = 1 + +[mod_type_reactor] +name = "Reactor" +tech_req = "None" +obsolete_by = "None" +must_use = 1 + +[mod_type_ability1] +name = "Ability" +tech_req = "None" +obsolete_by = "None" +must_use = 0 + +[mod_type_ability2] +name = "Ability" +tech_req = "Neural Grafting" +obsolete_by = "None" +must_use = 0 + +; Below: The individual units, one per section. +; +; The number can be variable, up to 200. +; However for the "official" rulesets, units should not be removed +; because that would break backward compatability with savegames. +; +; The order here matters: later units are considered "better" for +; a given flag or role. +; +; The actual tag used (the * in [unit_*]) does not matter, except +; it must be unique within this file, and it may be used in debug +; output when reading this file. +; +; Notes: +; +; name = name as seen by user +; graphic = tag specifing preferred graphic +; graphic_alt = tag for alternate garphic if preferred graphic is not +; present; especially if preferred graphic is non-standard, +; this should be a standard tag. Otherwise can use eg "-" +; for no alternate graphic. +; tech_req = required advance, names from techs.ruleset, or special: +; "None" => available from start; "Never" => never available +; obsolete_by = another unit name +; move_type = "Land" or "Sea" or "Air" or "Heli" +; transport_cap = Number of units (ground, or air/missiles, depending on flags) +; fuel = number of turns, for air units +; uk_* = upkeep costs, these are used as base values in the game +; flags = special flag strings, as in common/unit.h,unit.c +; roles = special role strings, as in common/unit.h,unit.c +; helptext = optional help text string; should escape all raw newlines +; so that xgettext parsing works +; +; Following flag strings require extra fields: +; "Paratroopers" +; paratroopers_range = the maximal range the unit can be paradropped to +; paratroopers_mr_req = the move rate which is required at least for +; paradropping +; paratroopers_mr_sub = the move rate which is subtracted after paradropping +; +; type field specifies the type - only partial data needs to be supplied. +; complete units are constructed of type "Entire" by simple summation +; of a combination of all types + +[unit_alien_artifact] +name = _("Alien Artifact") +move_type = "Land" +tech_req = "Never" +obsolete_by = "None" +graphic = "u.warriors" +graphic_alt = "-" +build_cost = 100 +pop_cost = 0 +attack = 1 +defense = 1 +hitpoints = 10 +firepower = 1 +move_rate = 1 +vision_range = 1 +transport_cap = 0 +fuel = 0 +uk_happy = 0 +uk_shield = 1 +uk_food = 0 +uk_gold = 0 +flags = "NonMil" +roles = "" +helptext = _("") + +[unit_isle_of_the_deep] +name = _("Isle of the Deep") +move_type = "Sea" +tech_req = "Centauri Meditation" +obsolete_by = "None" +graphic = "u.warriors" +graphic_alt = "-" +build_cost = 80 +pop_cost = 0 +attack = 1 +defense = 1 +hitpoints = 10 +firepower = 1 +move_rate = 1 +vision_range = 1 +transport_cap = 0 +fuel = 0 +uk_happy = 0 +uk_shield = 1 +uk_food = 0 +uk_gold = 0 +flags = "" +roles = "BarbarianSea","BarbarianBoat","BarbarianBuild","BarbarianBuildTech" +helptext = _("") + +[unit_locusts_of_chiron] +name = _("Locusts of Chiron") +move_type = "Air" +tech_req = "Centauri Genetics" +obsolete_by = "None" +graphic = "u.warriors" +graphic_alt = "-" +build_cost = 100 +pop_cost = 0 +attack = 1 +defense = 1 +hitpoints = 10 +firepower = 1 +move_rate = 1 +vision_range = 1 +transport_cap = 0 +fuel = 0 +uk_happy = 0 +uk_shield = 1 +uk_food = 0 +uk_gold = 0 +flags = "" +roles = "" +helptext = _("") + +[unit_mind_worms] +name = _("Mind Worms") +move_type = "Land" +tech_req = "Centauri Empathy" +obsolete_by = "None" +graphic = "u.warriors" +graphic_alt = "-" +build_cost = 50 +pop_cost = 0 +attack = 1 +defense = 1 +hitpoints = 10 +firepower = 1 +move_rate = 1 +vision_range = 1 +transport_cap = 0 +fuel = 0 +uk_happy = 0 +uk_shield = 1 +uk_food = 0 +uk_gold = 0 +flags = "" +roles = "Hut","Barbarian","BarbarianBuild" +helptext = _("") + +[unit_barb_lead] +name = _("Barb Lead") +move_type = "Land" +tech_req = "None" +obsolete_by = "Colony Pod" +graphic = "u.warriors" +graphic_alt = "-" +build_cost = 50 +pop_cost = 0 +attack = 1 +defense = 1 +hitpoints = 10 +firepower = 1 +move_rate = 1 +vision_range = 1 +transport_cap = 0 +fuel = 0 +uk_happy = 0 +uk_shield = 1 +uk_food = 0 +uk_gold = 0 +flags = "" +roles = "BarbarianLeader" +helptext = _("") + +[unit_unity_foil] +name = _("Unity Foil") +move_type = "Sea" +tech_req = "Never" +obsolete_by = "None" +graphic = "u.transport" +graphic_alt = "-" +build_cost = 30 +pop_cost = 0 +attack = 1 +defense = 1 +hitpoints = 10 +firepower = 1 +move_rate = 1 +vision_range = 1 +transport_cap = 0 +fuel = 0 +uk_happy = 0 +uk_shield = 1 +uk_food = 0 +uk_gold = 0 +flags = "NonMil" +roles = "Hut" +helptext = _("") + +[unit_base] +name = _("Base type") +move_type = "Land" +tech_req = "Never" +obsolete_by = "None" +graphic = "u.riflemen" +graphic_alt = "-" +attack = 0 +defense = 0 +hitpoints = 0 +firepower = 1 +vision_range = 1 +build_cost = 0 +pop_cost = 0 +move_rate = 0 +transport_cap = 0 +fuel = 0 +uk_happy = 0 +uk_shield = 1 +uk_food = 0 +uk_gold = 0 +flags = "" +roles = "CanModify" +action = "variable reactor, specials = 0, chassis, + attval, defval, moveval, + attname = \"\", defname = \"\";" +final_action = "end_form_compound_unit(ut, reactor, chassis, + attval, defval, moveval, + attname, defname, specials);" +helptext = _("") + +[modifier_copter_chassis] +name = _("Copter") +type = "Chassis" +tech_req = "Mind-Machine Interface" +obsolete_by = "None" +action = "ut.move_type = Heli; + moveval = 8; + chassis = [ \"Chopper\", \"Rotor\" ]; + ut.move_rate = 8; + ut.fuel = 1; + ut.graphic = \"u.helicopter\";" +final_action = "" + +[modifier_cruiser_chassis] +name = _("Cruiser") +type = "Chassis" +tech_req = "Doctrine: Initiative" +obsolete_by = "None" +action = "ut.move_type = Sea; + moveval = 6; + chassis = [ \"Destroyer\", \"Cutter\" ]; + ut.move_rate = 6; + ut.graphic = \"u.cruiser\";" +final_action = "ut.transport_cap *= 4;" + +[modifier_foil_chassis] +name = _("Foil") +type = "Chassis" +tech_req = "Doctrine: Flexibility" +obsolete_by = "None" +action = "ut.move_type = Sea; + moveval = 4; + ut.move_rate = 4; + chassis = [ \"Skimship\", \"Hoverboat\" ]; + ut.graphic = \"u.transport\";" +final_action = "ut.transport_cap *= 2;" + +[modifier_gravship_chassis] +name = _("Gravship") +type = "Chassis" +tech_req = "Graviton Theory" +obsolete_by = "None" +action = "ut.move_type = Air; + moveval = 8; + chassis = [ \"Gravship\", \"Skyfort\" ]; + ut.move_rate = 8; + ut.graphic = \"u.warriors\";" +final_action = "" + +[modifier_hovertank_chassis] +name = _("Hovertank") +type = "Chassis" +tech_req = "Nanominiaturization" +obsolete_by = "None" +action = "ut.move_type = Land; + moveval = 3; + chassis = [ \"Hovertank\", \"Skimmer\" ]; + ut.move_rate = 3; + ut.graphic = \"u.armor\";" +final_action = "" + +[modifier_infantry_chassis] +name = _("Infantry") +type = "Chassis" +tech_req = "None" +obsolete_by = "None" +action = "ut.move_type = Land; + moveval = 1; + ut.move_rate = 1; + chassis = [ \"Squad\", \"Sentinels\" ]; + ut.graphic = \"u.riflemen\";" +final_action = "" + +[modifier_missile_chassis] +name = _("Missile") +type = "Chassis" +tech_req = "Orbital Spaceflight" +obsolete_by = "None" +action = "ut.move_type = Air; + moveval = 12; + chassis = [ \"Missile\", \"Missile\" ]; + ut.move_rate = 12; + ut.fuel = 1; + ut.graphic = \"u.cruise_missile\";" +final_action = "" + +[modifier_needlejet_chassis] +name = _("Needlejet") +type = "Chassis" +tech_req = "Doctrine: Air Power" +obsolete_by = "None" +action = "ut.move_type = Air; + moveval = 8; + ut.move_rate = 8; + chassis = [ \"Penetrator\", \"Interceptor\" ]; + ut.fuel = 2; + ut.graphic = \"u.fighter\";" +final_action = "" + +[modifier_speeder_chassis] +name = _("Speeder") +type = "Chassis" +tech_req = "Doctrine: Mobility" +obsolete_by = "None" +action = "ut.move_type = Land; + moveval = 2; + ut.move_rate = 2; + chassis = [ \"Rover\", \"Defensive\" ]; + ut.graphic = \"u.mech_inf\";" +final_action = "" + +[modifier_hand_weapons_weapon] +name = _("Hand Weapons") +type = "Weapon" +tech_req = "None" +obsolete_by = "Laser" +action = "ut.attack += 1; attval = 1; attname = \"Gun\";" +final_action = "" + +[modifier_laser_weapon] +name = _("Laser") +type = "Weapon" +tech_req = "Applied Physics" +obsolete_by = "Particle Impactor" +action = "ut.attack += 2; attval = 2; + attname = \"Laser\";" +final_action = "" + +[modifier_particle_impactor_weapon] +name = _("Particle Impactor") +type = "Weapon" +tech_req = "Nonlinear Mathematics" +obsolete_by = "Gatling Laser" +action = "ut.attack += 4; attval = 4; + attname = \"Impact\";" +final_action = "" + +[modifier_gatling_laser_weapon] +name = _("Gatling Laser") +type = "Weapon" +tech_req = "Superconductor" +obsolete_by = "Missile Launcher" +action = "ut.attack += 5; attval = 5; + attname = \"Gatling\";" +final_action = "" + +[modifier_missile_launcher_weapon] +name = _("Missile Launcher") +type = "Weapon" +tech_req = "Synthetic Fossil Fuels" +obsolete_by = "Chaos Gun" +action = "ut.attack += 6; attval = 6; + attname = \"Missile\";" +final_action = "" + +[modifier_chaos_gun_weapon] +name = _("Chaos Gun") +type = "Weapon" +tech_req = "Superstring Theory" +obsolete_by = "Fusion Laser" +action = "ut.attack += 8; attval = 8; + attname = \"Chaos\";" +final_action = "" + +[modifier_fusion_laser_weapon] +name = _("Fusion Laser") +type = "Weapon" +tech_req = "Organic Superlubricant" +obsolete_by = "Tachyon Bolt" +action = "ut.attack += 10; attval = 10; + attname = \"Fusion\";" +final_action = "" + +[modifier_tachyon_bolt_weapon] +name = _("Tachyon Bolt") +type = "Weapon" +tech_req = "Unified Field Theory" +obsolete_by = "Plasma Shard" +action = "ut.attack += 12; attval = 12; + attname = \"Tachyon\";" +final_action = "" + +[modifier_plasma_shard_weapon] +name = _("Plasma Shard") +type = "Weapon" +tech_req = "Advanced Spaceflight" +obsolete_by = "Quantum Laser" +action = "ut.attack += 13; attval = 13; + attname = \"Shard\";" +final_action = "" + +[modifier_quantum_laser_weapon] +name = _("Quantum Laser") +type = "Weapon" +tech_req = "Quantum Machinery" +obsolete_by = "Graviton Gun" +action = "ut.attack += 16; attval = 16; + attname = \"Quantum\";" +final_action = "" + +[modifier_graviton_gun_weapon] +name = _("Graviton Gun") +type = "Weapon" +tech_req = "Applied Gravitonics" +obsolete_by = "Singularity Laser" +action = "ut.attack += 20; attval = 20; + attname = \"Graviton\";" +final_action = "" + +[modifier_singularity_laser_weapon] +name = _("Singularity Laser") +type = "Weapon" +tech_req = "Controlled Singularity" +obsolete_by = "None" +action = "ut.attack += 24; attval = 24; + attname = \"Singularity\";" +final_action = "" + +[modifier_colony_module_weapon] +name = _("Colony Module") +type = "Weapon" +tech_req = "None" +obsolete_by = "None" +action = "attval = 10; ut.pop_cost = 1; + set_flag(ut, \"Cities\"); + set_flag(ut, \"NonMil\"); + if (ut.move_type == Land) ut.graphic = \"u.settlers\"; + if (ut.move_type == Sea) ut.graphic = \"u.caravel\";" +final_action = "ut.name = \"Colony Pod\"; + if (ut.move_type == Sea) ut.name = \"Sea \" + ut.name;" + +[modifier_probe_unit_weapon] +name = _("Probe Unit") +type = "Weapon" +tech_req = "Planetary Networks" +obsolete_by = "None" +requires = "Infantry" +action = "attval = 4; + set_flag(ut, \"Diplomat\"); + set_flag(ut, \"IgZOC\"); + set_flag(ut, \"NonMil\"); + set_flag(ut, \"Spy\"); + ut.graphic = \"u.spy\";" +final_action = "ut.name = \"Probe Team\";" + +[modifier_psi_attack_weapon] +name = _("Psi Attack") +type = "Weapon" +tech_req = "Centauri Psi" +obsolete_by = "None" +action = "attval = 10; + ut.name = \"Psi \" + ut.name;" +final_action = "" + +[modifier_supply_transport_weapon] +name = _("Supply Transport") +type = "Weapon" +tech_req = "Industrial Automation" +obsolete_by = "None" +requires = "Infantry" +action = "attval = 8; + set_flag(ut, \"TradeRoute\"); + set_flag(ut, \"HelpWonder\"); + set_flag(ut, \"NonMil\"); + ut.graphic = \"u.freight\";" +final_action = "ut.name = \"Supply Crawler\";" + +[modifier_terraforming_unit_weapon] +name = _("Terraforming Unit") +type = "Weapon" +tech_req = "Centauri Ecology" +obsolete_by = "None" +action = "attval = 6; set_flag(ut, \"Settlers\"); + set_flag(ut, \"NonMil\"); + if (ut.move_type == Land) ut.graphic = \"u.engineers\"; + if (ut.move_type == Sea) ut.graphic = \"u.trireme\";" +final_action = "ut.name = \"Formers\"; + if (ut.move_type == Sea) ut.name = \"Sea \" + ut.name;" + +[modifier_troop_transport_weapon] +name = _("Troop Transport") +type = "Weapon" +tech_req = "Doctrine: Flexibility" +obsolete_by = "None" +action = "attval = 4; ut.transport_cap++; + ut.name = \"Transport\" + ut.name; + set_flag(ut, \"NonMil\");" +final_action = "" + +[modifier_fission_plant_reactor] +name = _("Fission Plant") +type = "Reactor" +tech_req = "None" +obsolete_by = "Fusion Reactor" +action = "reactor = 1;" +final_action = "" + +[modifier_fusion_plant_reactor] +name = _("Fusion Plant") +type = "Reactor" +tech_req = "Fusion Power" +obsolete_by = "Quantum Chamber" +action = "reactor = 2;" +final_action = "" + +[modifier_quantum_chamber_reactor] +name = _("Quantum Chamber") +type = "Reactor" +tech_req = "Quantum Power" +obsolete_by = "Singularity Engine" +action = "reactor = 3;" +final_action = "" + +[modifier_singularity_engine_reactor] +name = _("Singularity Engine") +type = "Reactor" +tech_req = "Singularity Mechanics" +obsolete_by = "None" +action = "reactor = 4;" +final_action = "" + +[modifier_no_armor] +name = _("No Armor") +type = "Armor" +tech_req = "None" +obsolete_by = "Synthmetal Armor" +action = "ut.defense += 1; defval = 1; defname = \"Scout\";" +final_action = "" + +[modifier_synthmetal_armor] +name = _("Synthmetal Armor") +type = "Armor" +tech_req = "Industrial Base" +obsolete_by = "Plasma Steel" +action = "ut.defense += 2; defval = 2; + defname = \"Synthmetal\";" +final_action = "" + +[modifier_plasma_steel_armor] +name = _("Plasma Steel") +type = "Armor" +tech_req = "High Energy Chemistry" +obsolete_by = "Silksteel Armor" +action = "ut.defense += 3; defval = 3; + defname = \"Plasma\";" +final_action = "" + +[modifier_silksteel_armor] +name = _("Silksteel Armor") +type = "Armor" +tech_req = "Silksteel Alloys" +obsolete_by = "Photon Wall" +action = "ut.defense += 4; defval = 4; + defname = \"Silksteel\";" +final_action = "" + +[modifier_photon_wall_armor] +name = _("Photon Wall") +type = "Armor" +tech_req = "Photon/Wave Mechanics" +obsolete_by = "Probability Sheath" +action = "ut.defense += 5; defval = 5; + defname = \"Photon\";" +final_action = "" + +[modifier_probability_sheath_armor] +name = _("Probability Sheath") +type = "Armor" +tech_req = "Probability Mechanics" +obsolete_by = "Neutronium Armor" +action = "ut.defense += 6; defval = 6; + defname = \"Probability\";" +final_action = "" + +[modifier_neutronium_armor] +name = _("Neutronium Armor") +type = "Armor" +tech_req = "Matter Compression" +obsolete_by = "Antimatter Plate" +action = "ut.defense += 8; defval = 8; + defname = \"Neutronium\";" +final_action = "" + +[modifier_antimatter_plate_armor] +name = _("Antimatter Plate") +type = "Armor" +tech_req = "Matter Editation" +obsolete_by = "Stasis Generator" +action = "ut.defense += 10; defval = 10; + defname = \"Antimatter\";" +final_action = "" + +[modifier_stasis_generator_armor] +name = _("Stasis Generator") +type = "Armor" +tech_req = "Temporal Mechanics" +obsolete_by = "None" +action = "ut.defense += 12; defval = 12; + defname = \"Stasis\";" +final_action = "" + +[modifier_aaa_tracking_ability] +name = _("AAA Tracking") +type = "Ability" +tech_req = "Advanced Military Algorithms" +obsolete_by = "None" +action = "ut.name = \"AAA \" + ut.name; + specials++;" +final_action = "" +effect = + { "type", "amount", "aff_unit" + "Unit_Defend", 200, "Air" + "Unit_Defend", 200, "Heli" + "Unit_Defend", 200, "Missile" + } + +[modifier_air_superiority_ability] +name = _("Air Superiority") +type = "Ability" +tech_req = "Doctrine: Air Power" +obsolete_by = "None" +action = "set_flag(ut, \"Fighter\"); + specials++;" +final_action = "" + +[modifier_deep_radar_ability] +name = _("Deep Radar") +type = "Ability" +tech_req = "Advanced Military Algorithms" +obsolete_by = "None" +action = "ut.vision_range += 1; + if (ut.move_type == Land) specials++;" +final_action = "" + +[modifier_cloaking_device_ability] +name = _("Cloaking Device") +type = "Ability" +tech_req = "Frictionless Surfaces" +obsolete_by = "None" +action = "set_flag(ut, \"Partial_Invis\"); + ut.name = \"Cloaked \" + ut.name; + specials++;" +final_action = "" + +[modifier_deep_pressure_hull_ability] +name = _("Deep Pressure Hull") +type = "Ability" +tech_req = "Nanometallurgy" +obsolete_by = "None" +action = "set_flag(ut, \"Partial_Invis\"); + ut.name = \"Sub \" + ut.name; + specials += 2;" +final_action = "" + +[modifier_clean_reactor_ability] +name = _("Clean Reactor") +type = "Ability" +tech_req = "Bio-Engineering" +obsolete_by = "None" +action = "ut.name = \"Clean \" + ut.name; + specials += 2;" +final_action = "ut.uk_shield = 0;" + +[modifier_amphibious_pods_ability] +name = _("Amphibious Pods") +type = "Ability" +tech_req = "Doctrine: Initiative" +obsolete_by = "None" +action = "set_flag(ut, \"Marines\"); + specials++;" +final_action = "" + +[modifier_blink_displacer_ability] +name = _("Blink Displacer") +type = "Ability" +tech_req = "Matter Editation" +obsolete_by = "None" +action = "set_flag(ut, \"IgWall\"); ut.name = \"Blink \" + ut.name; + specials++;" +final_action = "" + +[modifier_carrier_deck_ability] +name = _("Carrier Deck") +type = "Ability" +tech_req = "Nanometallurgy" +obsolete_by = "None" +requires = "Foil", "Cruiser" +action = "set_flag(ut, \"Carrier\"); set_flag(ut, \"Missile_Carrier\"); + ut.name = \"Carrier \" + ut.name; + specials++;" +final_action = "" + +[modifier_drop_pods_ability] +name = _("Drop Pods") +type = "Ability" +tech_req = "Mind-Machine Interface" +obsolete_by = "None" +action = "set_flag(ut, \"Paratroopers\"); ut.name = \"Drop \" + ut.name; + specials += 2;" +final_action = "" + +[modifier_antigrav_struts_ability] +name = _("Antigrav Struts") +type = "Ability" +tech_req = "Graviton Theory" +obsolete_by = "None" +action = "if (ut.move_type == Air) ut.move_rate += reactor * 2; + else ut.move_rate++; + ut.name = \"Grav \"; + specials++;" +final_action = "" + +[compound_unit_scout_patrol] +name = _("Scout Patrol") +base = "Base type" +modifiers = "Infantry", "Hand Weapons", "No Armor", + "Fission Plant", "", "" +action = "set_role(ut, \"DefendOK\"); set_role(ut, \"FirstBuild\"); + set_role(ut, \"Explorer\");" + +[compound_unit_colony_pod] +name = _("Colony Pod") +base = "Base type" +modifiers = "Infantry", "Colony Module", "No Armor", + "Fission Plant", "", "" +action = "" + +[compound_unit_formers] +name = _("Formers") +base = "Base type" +modifiers = "Infantry", "Terraforming Unit", "No Armor", + "Fission Plant", "", "" +action = "" + +[compound_unit_supply_crawler] +name = _("Supply Crawler") +base = "Base type" +modifiers = "Infantry", "Supply Transport", "No Armor", + "Fission Plant", "", "" +action = "" + +[compound_unit_probe_team] +name = _("Probe Team") +base = "Base type" +modifiers = "Infantry", "Probe Unit", "No Armor", + "Fission Plant", "", "" +action = "" + +[compound_unit_sea_formers] +name = _("Sea Formers") +base = "Base type" +modifiers = "Foil", "Terraforming Unit", "No Armor", + "Fission Plant", "", "" +action = "" + +[compound_unit_sea_colony_pod] +name = _("Sea Colony Pod") +base = "Base type" +modifiers = "Foil", "Colony Module", "No Armor", + "Fission Plant", "", "" +action = "" + +[compound_unit_transport_foil] +name = _("Transport Foil") +base = "Base type" +modifiers = "Foil", "Troop Transport", "No Armor", + "Fission Plant", "", "" +action = "set_role(ut, \"FerryBoat\");" + +[compound_unit_skimship] +name = _("Skimship") +base = "Base type" +modifiers = "Foil", "Hand Weapons", "No Armor", + "Fission Plant", "", "" +action = "" + +[u_specials] +partisan_req = "Quantum Power","Silksteel Alloys" diff -Nur -Xfreecivdiff.ignore freeciv-cvs/data/smac.serv freeciv-patched/data/smac.serv --- freeciv-cvs/data/smac.serv 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/data/smac.serv 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,16 @@ +# Server commands to make rules similar to SMAC. +# +# Use this as, eg, "./ser -r data/smac.serv" +# +# SMAC start: +set settlers 2 +set explorer 0 +# +# Minor SMAC rules: +set endyear 2500 +set spacerace 0 +set huts 200 +set techlevel 0 +# +# Rulesets: +rulesetdir smac diff -Nur -Xfreecivdiff.ignore freeciv-cvs/doc/README.SMAC freeciv-patched/doc/README.SMAC --- freeciv-cvs/doc/README.SMAC 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/doc/README.SMAC 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,45 @@ +The FreecivAC project aims to extend freeciv to encompass some of the features +introduced by Sid Meier's "Alpha Centauri" + +Project Maintainers: + + Ben Webb + Stewart Adcock + +SMAC rulesets are stored in data/smac; to start a game in SMAC mode, start the +server with the option "-r data/smac.serv" or similar. + +Changes for SMAC mode + +- SMAC rulesets in data/smac/ defined by data/smac.serv +- New compound units/govs code allows a set of "modifiers" to be applied to + a single base type. The modifiers can use a very simple scripting language + to tailor the behaviour of the created unit/government. This yields much + more sensible names for derived units, for example. Compound units are now + stored in savegames, and should be generally usable. Compound governments + are still a bit "dodgy". +- New flags added to techs.ruleset; + allow_[engineers|thinkers|librarians|transcend] (currently ignored) +- New parameter for techs.ruleset; + "level" (e.g. "Build 7") (currently ignored) +- SMAC buildings added (currently don't completely work!) +- Fairly complete support for generalised improvements; however, the AI + still thinks in terms of standard Freeciv buildings, so will probably + act really stupidly +- Borders, calculated on server-side; drawn for both + topview and isometric tilesets (GTK+ client only) +- money and money_plural nation.ruleset fields (currently ignored) +- City-building units do not have to be able to build roads etc. (and vice + versa). This probably breaks the AI. +- Naval units with city-building ability can build ocean bases +- Hard-coded max. turns of revolution replaced with + governments.max_revolution_turns in governments.ruleset (if 0 then no + period of Anarchy is required) +- Dodgy civstyle=3 stuff removed - will reimplement later +- Capability strings are used throughout, so FreecivAC should be generally + compatible with standard Freeciv 1.13.0 or CVS. + +Still to do + +- Update clients other than the GTK+ one +- Store freecivAC stuff (compound govs, etc.) in savegames diff -Nur -Xfreecivdiff.ignore freeciv-cvs/doc/TODO.SMAC freeciv-patched/doc/TODO.SMAC --- freeciv-cvs/doc/TODO.SMAC 1970-01-01 01:00:00.000000000 +0100 +++ freeciv-patched/doc/TODO.SMAC 2003-07-07 18:09:15.000000000 +0100 @@ -0,0 +1,53 @@ +============ +THINGS TO DO +============ + +FreecivAC is still under active development so there are many things to add +or improve. This file lists some new features which are being worked on, or +are planned, or desired. (See also the file BUGS, for some known +deficiencies of Freeciv.) + +Known SMAC bugs/TODO: +===================== + +- Compound units could have more sensible graphics. Combinations of unit + modifiers that are illegal in SMAC (e.g. Colony Module + Needlejet) are + currently allowed in FreecivAC. All players currently have to share the + same set of compound units, and cannot rename or retire types. +- No mineral cost is currently levied for Social Engineering. +- No support for SMAC-style specialists (Librarians etc.) +- Only partial support for SMAC-style society effects + (e.g. Economy/Efficiency/Growth) +- Borders do not interact properly with fog-of-war, and seem to update too + frequently +- Some Wonders and buildings do not work properly yet (for example, building + Ascent to Transcendence does not win the game) + +Selected Freeciv TODO: +====================== + +- Server-side and client-side player scripting. +- Alliances between players. +- Make the rulesets for City Improvements and Wonders more flexible. + +Some Random SMAC suggestions: +============================= +in-code references to credit -> money. \_ Money name in AC rulesets=energy +in-code references to gold -> money. / +Replace generic datatypes with glib versions? +Improve namespace and make function names/parameters more consistent. +Diplomatic Dialogue. +Planetary Council. +Sort out terrible map/terrain/tile stuff. Remove hard coded terrian/map +properties and types. +game.maxplayers (incl. native lifeforms/barabrians) +Native lifeforms. +Civilian types. +Drone riots. +Remove non-dynamic memory allocations. +Governors. +Probe teams +Psi combat +Alien Artifacts +Social engineering +Scripted AI. diff -Nur -Xfreecivdiff.ignore freeciv-cvs/server/sanitycheck.c freeciv-patched/server/sanitycheck.c --- freeciv-cvs/server/sanitycheck.c 2003-06-30 12:35:00.000000000 +0100 +++ freeciv-patched/server/sanitycheck.c 2003-07-07 18:09:15.000000000 +0100 @@ -137,7 +137,9 @@ } unit_list_iterate_end; assert(is_normal_map_pos(pcity->x, pcity->y)); - assert(!is_ocean(map_get_terrain(pcity->x, pcity->y))); + + /* Disabled, as we can build water bases now */ + /*assert(!is_ocean(map_get_terrain(pcity->x, pcity->y)));*/ city_map_iterate(x, y) { int map_x,map_y; @@ -238,9 +240,7 @@ pcity = map_get_city(x, y); if (pcity) { assert(pplayers_allied(city_owner(pcity), pplayer)); - } - - if (is_ocean(map_get_terrain(x, y))) { + } else if (is_ocean(map_get_terrain(x, y))) { assert(ground_unit_transporter_capacity(x, y, pplayer) >= 0); } diff -Nur -Xfreecivdiff.ignore freeciv-cvs/server/settlers.c freeciv-patched/server/settlers.c --- freeciv-cvs/server/settlers.c 2003-06-30 12:35:05.000000000 +0100 +++ freeciv-patched/server/settlers.c 2003-07-07 18:09:15.000000000 +0100 @@ -931,11 +931,10 @@ int b, mv_cost, newv, moves = 0; if (!is_already_assigned(punit, pplayer, x, y) - && !is_ocean(map_get_terrain(x, y)) + && city_can_be_built_here(x, y, unit_type(punit)->move_type) && !BV_CHECK_MASK(territory[x][y], my_enemies) /* pretty good, hope it's enough! -- Syela */ && (near < 8 || map_get_continent(x, y) != ucont) - && city_can_be_built_here(x,y) && !city_exists_within_city_radius(x, y, FALSE)) { /* potential target, calculate mv_cost: */ diff -Nur -Xfreecivdiff.ignore freeciv-cvs/server/unittools.c freeciv-patched/server/unittools.c --- freeciv-cvs/server/unittools.c 2003-07-03 14:33:24.000000000 +0100 +++ freeciv-patched/server/unittools.c 2003-07-07 18:09:15.000000000 +0100 @@ -2239,7 +2239,8 @@ { struct player *pplayer = unit_owner(punit); - if (city_can_be_built_here(punit->x, punit->y)) { + if (city_can_be_built_here(punit->x, punit->y, + unit_type(punit)->move_type)) { notify_player_ex(pplayer, punit->x, punit->y, E_HUT_CITY, _("Game: You found a friendly city.")); create_city(pplayer, punit->x, punit->y,