diff -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/common/city.c freeciv-patched/common/city.c
--- freeciv-cvs/common/city.c	2003-06-07 19:58:26.000000000 +0100
+++ freeciv-patched/common/city.c	2003-06-09 00:49:57.000000000 +0100
@@ -822,9 +822,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 -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/common/city.h freeciv-patched/common/city.h
--- freeciv-cvs/common/city.h	2003-06-07 19:58:26.000000000 +0100
+++ freeciv-patched/common/city.h	2003-06-09 00:46:53.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/common/unit.c freeciv-patched/common/unit.c
--- freeciv-cvs/common/unit.c	2003-06-07 19:58:27.000000000 +0100
+++ freeciv-patched/common/unit.c	2003-06-09 00:46:53.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/configure.ac freeciv-patched/configure.ac
--- freeciv-cvs/configure.ac	2003-06-07 19:58:19.000000000 +0100
+++ freeciv-patched/configure.ac	2003-06-09 00:46:53.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/configure.in freeciv-patched/configure.in
--- freeciv-cvs/configure.in	2003-06-07 19:58:19.000000000 +0100
+++ freeciv-patched/configure.in	2003-06-09 00:46:53.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/data/Makefile.am freeciv-patched/data/Makefile.am
--- freeciv-cvs/data/Makefile.am	2002-08-13 11:51:17.000000000 +0100
+++ freeciv-patched/data/Makefile.am	2003-06-09 00:46:53.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/data/default/governments.ruleset freeciv-patched/data/default/governments.ruleset
--- freeciv-cvs/data/default/governments.ruleset	2003-02-15 19:26:19.000000000 +0000
+++ freeciv-patched/data/default/governments.ruleset	2003-06-09 00:46:53.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.000000000 +0100
@@ -0,0 +1,1584 @@
+;**********************************************************************
+; 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 <mysubdir>" 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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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"
+;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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.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 <mysubdir>" 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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.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 <mysubdir>" 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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.000000000 +0100
@@ -0,0 +1,391 @@
+
+; 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 <mysubdir>" 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"
+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 
+
+trade_bonus    = 1
+shield_bonus   = 0
+food_bonus     = 0
+celeb_trade_bonus  = 1
+celeb_shield_bonus = 0
+celeb_food_bonus   = 0
+
+trade_penalty  = 0
+shield_penalty = 0
+food_penalty   = 0
+celeb_trade_penalty  = 0
+celeb_shield_penalty = 0
+celeb_food_penalty   = 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 
+
+trade_bonus    = 1
+shield_bonus   = 0
+food_bonus     = 0
+celeb_trade_bonus    = 1
+celeb_shield_bonus   = 0
+celeb_food_bonus     = 0
+
+trade_penalty  = 0
+shield_penalty = 0
+food_penalty   = 0
+celeb_trade_penalty  = 0
+celeb_shield_penalty = 0
+celeb_food_penalty   = 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       = "name = 'Free ' + name"
+final_action = ""
+
+[modifier_green_economics]
+name         = _("Green")
+type         = "Economics"
+tech_req     = "Centauri Empathy"
+obsolete_by  = "None"
+action       = "name = 'Green ' + name"
+final_action = ""
+
+[modifier_planned_economics]
+name         = _("Planned")
+type         = "Economics"
+tech_req     = "Planetary Networks"
+obsolete_by  = "None"
+action       = "name = 'Planned ' + 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       = "name = 'Simple ' + 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       = "name += 'Democracy'"
+final_action = ""
+
+[modifier_frontier_politics]
+name         = _("Frontier")
+type         = "Politics"
+tech_req     = "None"
+obsolete_by  = "None"
+action       = "name += 'Frontier State'"
+final_action = ""
+
+[modifier_fundamendalist_politics]
+name         = _("Fundamendalist")
+type         = "Politics"
+tech_req     = "Secrets of The Human Brain"
+obsolete_by  = "None"
+action       = "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       = "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 = ""
diff -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.000000000 +0100
@@ -0,0 +1,604 @@
+;**********************************************************************
+; 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 <mysubdir>" 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")
+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")
+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")
+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")
+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")
+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")
+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")
+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")
+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")
+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")
+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")
+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")
+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"
+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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.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 <mysubdir>" 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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.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 <mysubdir>" 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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.000000000 +0100
@@ -0,0 +1,824 @@
+
+; 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 <mysubdir>" 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      = 1
+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      = 1
+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      = 1
+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      = 1
+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      = 1
+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      = 1
+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"
+helptext      = _("")
+
+[modifier_copter_chassis]
+name          = _("Copter")
+type          = "Chassis"
+tech_req      = "Mind-Machine Interface"
+obsolete_by   = "None"
+action        = "move_type   = 'Air'
+                 build_cost += 8
+                 name       += ' Chopper'
+		 move_rate   = 8
+		 fuel        = 1
+                 graphic     = 'u.helicopter'"
+final_action  = ""
+
+[modifier_cruiser_chassis]
+name          = _("Cruiser")
+type          = "Chassis"
+tech_req      = "Doctrine: Initiative"
+obsolete_by   = "None"
+action        = "move_type   = 'Sea'
+                 build_cost += 6
+                 name       += ' Destroyer'
+		 move_rate   = 6
+                 graphic     = 'u.cruiser'"
+final_action  = "transport_cap *= 4"
+
+[modifier_foil_chassis]
+name          = _("Foil")
+type          = "Chassis"
+tech_req      = "Doctrine: Flexibility"
+obsolete_by   = "None"
+action        = "move_type   = 'Sea'
+                 build_cost += 4
+		 move_rate   = 4
+                 name       += ' Skimship'
+                 graphic     = 'u.transport'"
+final_action  = "transport_cap *= 2"
+
+[modifier_gravship_chassis]
+name          = _("Gravship")
+type          = "Chassis"
+tech_req      = "Graviton Theory"
+obsolete_by   = "None"
+action        = "move_type   = 'Air'
+                 build_cost += 8
+                 name       += ' Gravship'
+		 move_rate   = 8
+                 graphic     = 'u.warriors'"
+final_action  = ""
+
+[modifier_hovertank_chassis]
+name          = _("Hovertank")
+type          = "Chassis"
+tech_req      = "Nanominiaturization"
+obsolete_by   = "None"
+action        = "move_type   = 'Land'
+                 build_cost += 3
+                 name       += ' Hovertank'
+		 move_rate   = 3
+                 graphic     = 'u.armor'"
+final_action  = ""
+
+[modifier_infantry_chassis]
+name          = _("Infantry")
+type          = "Chassis"
+tech_req      = "None"
+obsolete_by   = "None"
+action        = "move_type   = 'Land'
+                 build_cost += 1
+		 move_rate   = 1
+                 name       += ' Squad'
+                 graphic     = 'u.riflemen'"
+final_action  = ""
+
+[modifier_missile_chassis]
+name          = _("Missile")
+type          = "Chassis"
+tech_req      = "Orbital Spaceflight"
+obsolete_by   = "None"
+action        = "move_type   = 'Air'
+                 build_cost += 12
+                 name       += ' Missile'
+		 move_rate   = 12
+		 fuel        = 1
+                 graphic     = 'u.cruise_missile'"
+final_action  = ""
+
+[modifier_needlejet_chassis]
+name          = _("Needlejet")
+type          = "Chassis"
+tech_req      = "Doctrine: Air Power"
+obsolete_by   = "None"
+action        = "move_type   = 'Air'
+                 build_cost += 8
+                 name       += ' Penetrator'
+		 move_rate   = 8
+		 fuel        = 2
+                 graphic     = 'u.fighter'"
+final_action  = ""
+
+[modifier_speeder_chassis]
+name          = _("Speeder")
+type          = "Chassis"
+tech_req      = "Doctrine: Mobility"
+obsolete_by   = "None"
+action        = "move_type   = 'Land'
+                 build_cost += 2
+		 move_rate   = 2
+                 name       += ' Rover'
+                 graphic     = 'u.mech_inf'"
+final_action  = ""
+
+[modifier_hand_weapons_weapon]
+name          = _("Hand Weapons")
+type          = "Weapon"
+tech_req      = "None"
+obsolete_by   = "Laser"
+action        = "attack     += 1
+                 name        = 'Scout' + name
+                 build_cost += 1"
+final_action  = ""
+
+[modifier_laser_weapon]
+name          = _("Laser")
+type          = "Weapon"
+tech_req      = "Applied Physics"
+obsolete_by   = "Particle Impactor"
+action        = "attack     += 2
+                 name        = 'Laser' + name
+                 build_cost += 2"
+final_action  = ""
+
+[modifier_particle_impactor_weapon]
+name          = _("Particle Impactor")
+type          = "Weapon"
+tech_req      = "Nonlinear Mathematics"
+obsolete_by   = "Gatling Laser"
+action        = "attack     += 4
+                 name        = 'Impact' + name
+                 build_cost += 4"
+final_action  = ""
+
+[modifier_gatling_laser_weapon]
+name          = _("Gatling Laser")
+type          = "Weapon"
+tech_req      = "Superconductor"
+obsolete_by   = "Missile Launcher"
+action        = "attack     += 5
+                 name        = 'Gatling' + name
+                 build_cost += 5"
+final_action  = ""
+
+[modifier_missile_launcher_weapon]
+name          = _("Missile Launcher")
+type          = "Weapon"
+tech_req      = "Synthetic Fossil Fuels"
+obsolete_by   = "Chaos Gun"
+action        = "attack     += 6
+                 name        = 'Missile' + name
+                 build_cost += 6"
+final_action  = ""
+
+[modifier_chaos_gun_weapon]
+name          = _("Chaos Gun")
+type          = "Weapon"
+tech_req      = "Superstring Theory"
+obsolete_by   = "Fusion Laser"
+action        = "attack     += 8
+                 name        = 'Chaos' + name
+                 build_cost += 8"
+final_action  = ""
+
+[modifier_fusion_laser_weapon]
+name          = _("Fusion Laser")
+type          = "Weapon"
+tech_req      = "Organic Superlubricant"
+obsolete_by   = "Tachyon Bolt"
+action        = "attack     += 10
+                 name        = 'Fusion' + name
+                 build_cost += 10"
+final_action  = ""
+
+[modifier_tachyon_bolt_weapon]
+name          = _("Tachyon Bolt")
+type          = "Weapon"
+tech_req      = "Unified Field Theory"
+obsolete_by   = "Plasma Shard"
+action        = "attack     += 12
+                 name        = 'Tachyon' + name
+                 build_cost += 12"
+final_action  = ""
+
+[modifier_plasma_shard_weapon]
+name          = _("Plasma Shard")
+type          = "Weapon"
+tech_req      = "Advanced Spaceflight"
+obsolete_by   = "Quantum Laser"
+action        = "attack     += 13
+                 name        = 'Shard' + name
+                 build_cost += 13"
+final_action  = ""
+
+[modifier_quantum_laser_weapon]
+name          = _("Quantum Laser")
+type          = "Weapon"
+tech_req      = "Quantum Machinery"
+obsolete_by   = "Graviton Gun"
+action        = "attack     += 16
+                 name        = 'Quantum' + name
+                 build_cost += 16"
+final_action  = ""
+
+[modifier_graviton_gun_weapon]
+name          = _("Graviton Gun")
+type          = "Weapon"
+tech_req      = "Applied Gravitonics"
+obsolete_by   = "Singularity Laser"
+action        = "attack     += 20
+                 name        = 'Graviton' + name
+                 build_cost += 20"
+final_action  = ""
+
+[modifier_singularity_laser_weapon]
+name          = _("Singularity Laser")
+type          = "Weapon"
+tech_req      = "Controlled Singularity"
+obsolete_by   = "None"
+action        = "attack     += 24
+                 name        = 'Singularity' + name
+                 build_cost += 24"
+final_action  = ""
+
+[modifier_colony_module_weapon]
+name          = _("Colony Module")
+type          = "Weapon"
+tech_req      = "None"
+obsolete_by   = "None"
+action        = "build_cost += 10
+                 pop_cost    = 1
+		 flags      += 'Cities', 'NonMil'
+		 if move_type = 'Land' graphic = 'u.settlers'
+		 if move_type = 'Sea'  graphic = 'u.caravel'"
+final_action  = "name        = 'Colony Pod'
+                 if move_type = 'Sea' name = 'Sea ' + name"
+
+[modifier_probe_unit_weapon]
+name          = _("Probe Unit")
+type          = "Weapon"
+tech_req      = "Planetary Networks"
+obsolete_by   = "None"
+requires      = "Infantry"
+action        = "build_cost += 4
+                 flags      += 'Diplomat', 'IgZOC', 'NonMil', 'Spy'
+		 graphic     = 'u.spy'"
+final_action  = "name        = 'Probe Team'"
+
+[modifier_psi_attack_weapon]
+name          = _("Psi Attack")
+type          = "Weapon"
+tech_req      = "Centauri Psi"
+obsolete_by   = "None"
+action        = "build_cost += 10
+                 name        = 'Psi ' + name"
+final_action  = ""
+
+[modifier_supply_transport_weapon]
+name          = _("Supply Transport")
+type          = "Weapon"
+tech_req      = "Industrial Automation"
+obsolete_by   = "None"
+requires      = "Infantry"
+action        = "build_cost += 8
+                 flags      += 'TradeRoute', 'HelpWonder', 'NonMil'
+                 graphic     = 'u.freight'"
+final_action  = "name        = 'Supply Crawler'"
+
+[modifier_terraforming_unit_weapon]
+name          = _("Terraforming Unit")
+type          = "Weapon"
+tech_req      = "Centauri Ecology"
+obsolete_by   = "None"
+action        = "build_cost += 6
+                 flags      += 'Settlers', 'NonMil'
+		 if move_type = 'Land' graphic = 'u.engineers'
+		 if move_type = 'Sea'  graphic = 'u.trireme'"
+final_action  = "name        = 'Formers'
+                 if move_type = 'Sea' name = 'Sea ' + name"
+
+[modifier_troop_transport_weapon]
+name          = _("Troop Transport")
+type          = "Weapon"
+tech_req      = "Doctrine: Flexibility"
+obsolete_by   = "None"
+action        = "build_cost    += 4
+                 name           = 'Transport' + name
+                 transport_cap += 1
+                 flags         += 'NonMil'"
+final_action  = ""
+
+[modifier_fission_plant_reactor]
+name          = _("Fission Plant")
+type          = "Reactor"
+tech_req      = "None"
+obsolete_by   = "Fusion Reactor"
+action        = "hitpoints+=10"
+final_action  = ""
+
+[modifier_fusion_plant_reactor]
+name          = _("Fusion Plant")
+type          = "Reactor"
+tech_req      = "Fusion Power"
+obsolete_by   = "Quantum Chamber"
+action        = "hitpoints += 20"
+final_action  = "transport_cap *= 2"
+
+[modifier_quantum_chamber_reactor]
+name          = _("Quantum Chamber")
+type          = "Reactor"
+tech_req      = "Quantum Power"
+obsolete_by   = "Singularity Engine"
+action        = "hitpoints += 30"
+final_action  = "transport_cap *= 3"
+
+[modifier_singularity_engine_reactor]
+name          = _("Singularity Engine")
+type          = "Reactor"
+tech_req      = "Singularity Mechanics"
+obsolete_by   = "None"
+action        = "hitpoints += 40"
+final_action  = "transport_cap *= 4"
+
+[modifier_no_armor]
+name          = _("No Armor")
+type          = "Armor"
+tech_req      = "None"
+obsolete_by   = "Synthmetal Armor"
+action        = "defense += 1"
+final_action  = ""
+
+[modifier_synthmetal_armor]
+name          = _("Synthmetal Armor")
+type          = "Armor"
+tech_req      = "Industrial Base"
+obsolete_by   = "Plasma Steel"
+action        = "defense += 2"
+final_action  = ""
+
+[modifier_plasma_steel_armor]
+name          = _("Plasma Steel")
+type          = "Armor"
+tech_req      = "High Energy Chemistry"
+obsolete_by   = "Silksteel Armor"
+action        = "defense += 3"
+final_action  = ""
+
+[modifier_silksteel_armor]
+name          = _("Silksteel Armor")
+type          = "Armor"
+tech_req      = "Silksteel Alloys"
+obsolete_by   = "Photon Wall"
+action        = "defense += 4"
+final_action  = ""
+
+[modifier_photon_wall_armor]
+name          = _("Photon Wall")
+type          = "Armor"
+tech_req      = "Photon/Wave Mechanics"
+obsolete_by   = "Probability Sheath"
+action        = "defense += 5"
+final_action  = ""
+
+[modifier_probability_sheath_armor]
+name          = _("Probability Sheath")
+type          = "Armor"
+tech_req      = "Probability Mechanics"
+obsolete_by   = "Neutronium Armor"
+action        = "defense += 6"
+final_action  = ""
+
+[modifier_neutronium_armor]
+name          = _("Neutronium Armor")
+type          = "Armor"
+tech_req      = "Matter Compression"
+obsolete_by   = "Antimatter Plate"
+action        = "defense += 8"
+final_action  = ""
+
+[modifier_antimatter_plate_armor]
+name          = _("Antimatter Plate")
+type          = "Armor"
+tech_req      = "Matter Editation"
+obsolete_by   = "Stasis Generator"
+action        = "defense += 10"
+final_action  = ""
+
+[modifier_stasis_generator_armor]
+name          = _("Stasis Generator")
+type          = "Armor"
+tech_req      = "Temporal Mechanics"
+obsolete_by   = "None"
+action        = "defense += 12"
+final_action  = ""
+
+[modifier_aaa_tracking_ability]
+name          = _("AAA Tracking")
+type          = "Ability"
+tech_req      = "Advanced Military Algorithms"
+obsolete_by   = "None"
+action        = "name           = 'AAA ' + name"
+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        = "flags += 'Fighter'"
+final_action  = ""
+
+[modifier_deep_radar_ability]
+name          = _("Deep Radar")
+type          = "Ability"
+tech_req      = "Advanced Military Algorithms"
+obsolete_by   = "None"
+action        = "vision_range += 1"
+final_action  = ""
+
+[modifier_cloaking_device_ability]
+name          = _("Cloaking Device")
+type          = "Ability"
+tech_req      = "Frictionless Surfaces"
+obsolete_by   = "None"
+action        = "flags += 'Partial_Invis'"
+final_action  = ""
+
+[modifier_deep_pressure_hull_ability]
+name          = _("Deep Pressure Hull")
+type          = "Ability"
+tech_req      = "Nanometallurgy"
+obsolete_by   = "None"
+action        = "flags += 'Partial_Invis'"
+final_action  = ""
+
+[modifier_clean_reactor_ability]
+name          = _("Clean Reactor")
+type          = "Ability"
+tech_req      = "Bio-Engineering"
+obsolete_by   = "None"
+action        = "name           = 'Clean ' + name"
+final_action  = "uk_shield = 0"
+
+[modifier_amphibious_pods_ability]
+name          = _("Amphibious Pods")
+type          = "Ability"
+tech_req      = "Doctrine: Initiative"
+obsolete_by   = "None"
+action        = "flags += 'Marines'"
+final_action  = ""
+
+[modifier_blink_displacer_ability]
+name          = _("Blink Displacer")
+type          = "Ability"
+tech_req      = "Matter Editation"
+obsolete_by   = "None"
+action        = "flags += 'IgWall'"
+final_action  = ""
+
+[modifier_carrier_deck_ability]
+name          = _("Carrier Deck")
+type          = "Ability"
+tech_req      = "Nanometallurgy"
+obsolete_by   = "None"
+requires      = "Foil", "Cruiser"
+action        = "flags += 'Carrier', 'Missile_Carrier'"
+final_action  = ""
+
+[modifier_drop_pods_ability]
+name          = _("Drop Pods")
+type          = "Ability"
+tech_req      = "Mind-Machine Interface"
+obsolete_by   = "None"
+action        = "flags += 'Paratroopers'
+                 name   = 'Drop ' + name"
+final_action  = ""
+
+[compound_unit_scout_patrol]
+name          = _("Scout Patrol")
+base          = "Base type"
+modifiers     = "Infantry", "Hand Weapons", "No Armor",
+                "Fission Plant", "", ""
+roles         = "DefendOk", "FirstBuild", "Explorer"
+
+[compound_unit_colony_pod]
+name          = _("Colony Pod")
+base          = "Base type"
+modifiers     = "Infantry", "Colony Module", "No Armor",
+                "Fission Plant", "", ""
+
+[compound_unit_formers]
+name          = _("Formers")
+base          = "Base type"
+modifiers     = "Infantry", "Terraforming Unit", "No Armor",
+                "Fission Plant", "", ""
+
+[compound_unit_supply_crawler]
+name          = _("Supply Crawler")
+base          = "Base type"
+modifiers     = "Infantry", "Supply Transport", "No Armor",
+                "Fission Plant", "", ""
+
+[compound_unit_probe_team]
+name          = _("Probe Team")
+base          = "Base type"
+modifiers     = "Infantry", "Probe Unit", "No Armor",
+                "Fission Plant", "", ""
+
+[compound_unit_sea_formers]
+name          = _("Sea Formers")
+base          = "Base type"
+modifiers     = "Foil", "Terraforming Unit", "No Armor",
+                "Fission Plant", "", ""
+
+[compound_unit_sea_colony_pod]
+name          = _("Sea Colony Pod")
+base          = "Base type"
+modifiers     = "Foil", "Colony Module", "No Armor",
+                "Fission Plant", "", ""
+
+[compound_unit_transport_foil]
+name          = _("Transport Foil")
+base          = "Base type"
+modifiers     = "Foil", "Troop Transport", "No Armor",
+                "Fission Plant", "", ""
+roles         = "FerryBoat"
+
+[compound_unit_skimship]
+name          = _("Skimship")
+base          = "Base type"
+modifiers     = "Foil", "Hand Weapons", "No Armor",
+                "Fission Plant", "", ""
+
+[u_specials]
+partisan_req = "Quantum Power","Silksteel Alloys"
diff -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.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 <ben@bellatrix.pcl.ox.ac.uk>
+	Stewart Adcock <stewart@bellatrix.pcl.ox.ac.uk>
+
+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 -X /home/ben/freeciv/freecivdiff.ignore -Nur 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-06-09 00:46:53.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/server/sanitycheck.c freeciv-patched/server/sanitycheck.c
--- freeciv-cvs/server/sanitycheck.c	2003-06-07 19:58:49.000000000 +0100
+++ freeciv-patched/server/sanitycheck.c	2003-06-09 00:52:02.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/server/settlers.c freeciv-patched/server/settlers.c
--- freeciv-cvs/server/settlers.c	2003-06-07 19:58:49.000000000 +0100
+++ freeciv-patched/server/settlers.c	2003-06-09 00:53:30.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 -X /home/ben/freeciv/freecivdiff.ignore -Nur freeciv-cvs/server/unittools.c freeciv-patched/server/unittools.c
--- freeciv-cvs/server/unittools.c	2003-06-07 19:58:49.000000000 +0100
+++ freeciv-patched/server/unittools.c	2003-06-09 00:46:53.000000000 +0100
@@ -2211,7 +2211,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,
