Freeciv
Advertisement

The Civ2 ruleset tries to be as close to the Civilization II rules as Freeciv permits. Not everything in Freeciv can be modded to become the same as in Civilization II. See the Civ2 page for some background and a link to some old discussions that list some of the then differences.

(Who is keen to pore over those discussions and compare the latest version of the civ2 modpack with the commercial game?)
Questions should be on the talk page, not in this article.

Known Freeciv limitations[]

Food caravans[]

Civ II allowed using a caravan or freight to transfer food from one city to another.

Unsafe terrain[]

This could in theory be added via Lua script but it would make the game less user friendly. The path finding would cheerfully have a unit end its turn on unsafe terrain. The AI wouldn't care about unsafe terrain.

Ship boarding movement[]

Freeciv can't take all movement when a unit boards a ship. (It can take all movement when a unit disembarks) See GNA#23782

Version specific limitations[]

  • Freeciv 2.4, 2.5 and 2.6 can't implement nuclear device planting. Freeciv 3.0 has the "Suitcase Nuke" spy action. See GNAPATCH#5536, GNAPATCH#5539 and GNAPATCH#5642.
  • Freeciv 2.4 and 2.5 can't allow spy actions to be performed by a Diplomat unit or Spy unit that is inside a ship on an ocean tile.

Reporting an incorrect rule[]

The correct rule is the rule that is closest to Civ 2 unless a Freeciv related problem would make it break the game play. If you discover a rule in the civ2 ruleset that could be more correct please submit a bug report. You can report a bug even if Freeciv is unable to support the original rule. Your feedback could be added in a ruleset comment. If the rule itself, or a better approximation of it, becomes supported the comment may inspire someone to fix it.

Fixing it[]

Your may attach a patch to your bug report. You don't have to be a programmer to help make the civ2 ruleset more correct. Most of a Freeciv ruleset is a collection of configuration files. If the Freeciv ruleset format can express the correct rule the patch should correct the rule. If it can't express the original rule yet (without breaking the game) it should add a ruleset comment describing the original rule. If you switch to a better approximation of the original rule you should add a ruleset comment describing the original rule and why your approximation of it is the best approximation.

Spy actions[]

Freeciv 2.6 moved some action related rules to the ruleset. Freeciv 3.0 moved even more. It may be possible to exploit the new ruleset flexibility to make the civ2 ruleset more like the rules of the game it is based on.

Uninvestigated[]

  • Caravan action and spy action legality when the actor unit is out of moves.
  • Was the bonus reduced if you entered the marketplace in stead of establishing a trade route?
  • Was entering a marketplace (and not establishing a trade route) possible at all? When was it possible?
  • Was the bribe cost of Settlers 50% of the bribe cost of other units?
  • Would trying to do an illegal action cost you moves?
  • Could you poison a city with a population of 1, resulting in its complete destruction?

Known bugs[]

No currently known diplomat/spy action bugs.

Plant Nuclear Device[]

The plant nuclear device spy action has been added to Freeciv 3.0's civ2 ruleset. The details of the rules are probably wrong. (One bug has already been fixed) To make it easier to spot errors the rules have been translated to English.

Context: The action is to plant the nuclear device. The actor is trying to do the action to the target.

Naming[]

ui_name_suitcase_nuke = _("Plant %sNuclear Device%s")

Call Freeciv's "Suitcase Nuke" action "Plant Nuclear Device" when talking to the players.

When[]

[actionenabler_plant_nuke]
action = "Suitcase Nuke"
actor_reqs    =
    { "type",   "name", "range"
      "UnitFlag", "Spy", "Local"
      "Building", "Manhattan Project", "World"
      "Tech", "Nuclear Fission", "Player"
      "DiplRel", "War", "Local"
      "MinMoveFrags", "1", "Local"
    }

The "Suitcase Nuke" action (plant nuke) can be done if all of the following conditions are true:

  • The actor unit is a Spy unit.
  • Someone, doesn't have to be the actor player, has the "Manhattan Project" wonder. It hasn't been destroyed.
  • The actor player currently knows the "Nuclear Fission" tech. He hasn't forgotten it.
  • The actor player is at war against the target player.
  • The actor unit (the Spy) has a move fragment left.
  • Not mentioned but still true because Freeciv hard codes it: the actor unit (the Spy) must be on the same tile as the target or on the tile next to it.

That is it. Nothing else permits it. Nothing else forbids it. Consequence: A Spy can plant a nuke while he is inside a transport.

Diplomatic consequences[]

[effect_incident_plant_nuke_caught]
type	= "Casus_Belli_Caught"
value	= 1000
reqs	=
    { "type", "name", "range", "present"
      "Action", "Suitcase Nuke", "Local", TRUE
      "Gov", "Fundamentalism", "Player", FALSE
    }

Everyone else will be allowed to declare war on a player that is caught if all of the conditions below are true. The Senate won't object. (A value of 1000 or more allows everyone to declare war. A value of 1 or more allows the victim to declare war.) Conditions:

  • The player was caught while trying to plant a nuke ("Suitcase Nuke")
  • The player doesn't run a Fundamentalism government

That is it. It won't matter if the actor player and the target player already are at war with each other. If the Spy unit manages to plant the nuke the actor suffers no diplomatic consequences.

Risks[]

Before the Spy can plant a nuke any defending Diplomat or Spy units in the target city must be defeated. After this step it still has a last chance of getting caught before the nuke is planted. Normally it would have its odds copied from the diplchance server setting. A final rule modifies the diplchance server setting odds:

[effect_suitcase_plant_nuke_unlikely]
type   = "Action_Odds_Pct"
value   = -75
reqs   =
    { "type", "name", "range"
      "Action", "Suitcase Nuke", "Local"
    }

When the actor Spy unit is trying to do the plant nuke ("Suitcase Nuke") action the odds from the diplchance are reduced by 75%. That is it. It doesn't matter if the actor player and the target player already are at war with each other. If the players have set diplchance to 80% the spy will have a (80 + (80 * -75) / 100 = 20) 20% chance of not getting caught before the nuke is planted. A chance of 20% means that, on average, 1 out 5 diplomats will manage to plant a nuke.

Expel Unit[]

Freeciv 3.0 has the "Expel Unit" action. Could it be used to implement Civ 2 style unit expulsion?

Upgrade Unit[]

In Freeciv the player can upgrade a unit by moving it to a city, select it and pay a price in gold. Freeciv 3.0 allows the ruleset to configure this via the "Upgrade Unit" action. Was it possible to pay to have a certain unit upgraded in Civ 2? If yes: did the rules match those in Freeciv?

Feedback from a tester[]

(First-person report) - see Talk page

See also[]

Advertisement