Author: sveinung
Date: Wed May 13 15:39:17 2015
New Revision: 29078

URL: http://svn.gna.org/viewcvs/freeciv?rev=29078&view=rev
Log:
Unhardcode the rule that a unit must have moves left to join a city.

See patch #6084

Modified:
    trunk/common/unit.c
    trunk/data/alien/game.ruleset
    trunk/data/civ1/game.ruleset
    trunk/data/civ2/game.ruleset
    trunk/data/civ2civ3/game.ruleset
    trunk/data/classic/game.ruleset
    trunk/data/experimental/game.ruleset
    trunk/data/multiplayer/game.ruleset
    trunk/doc/README.actions
    trunk/fc_version
    trunk/server/rscompat.c

Modified: trunk/common/unit.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/unit.c?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/common/unit.c (original)
+++ trunk/common/unit.c Wed May 13 15:39:17 2015
@@ -418,7 +418,12 @@
   if (!is_add) {
     return UAB_NOT_ADDABLE_UNIT;
   }
-  if (punit->moves_left == 0) {
+  if (punit->moves_left == 0
+      /* TODO: Remove UAB_NO_MOVES_ADD when doing so is safe. */
+      /* The ruleset may allow joining cities when out of move
+       * fragments. */
+      && !utype_may_act_move_frags(unit_type(punit),
+                                   ACTION_JOIN_CITY, 0)) {
     return UAB_NO_MOVES_ADD;
   }
 

Modified: trunk/data/alien/game.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/alien/game.ruleset?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/data/alien/game.ruleset       (original)
+++ trunk/data/alien/game.ruleset       Wed May 13 15:39:17 2015
@@ -338,6 +338,7 @@
     { "type",   "name", "range", "present"
       "Unitflag", "AddToCity", "Local", TRUE
       "DiplRel", "Is foreign", "Local", FALSE
+      "MinMoveFrags", "1", "Local", TRUE
     }
 
 [borders]

Modified: trunk/data/civ1/game.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/civ1/game.ruleset?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/data/civ1/game.ruleset        (original)
+++ trunk/data/civ1/game.ruleset        Wed May 13 15:39:17 2015
@@ -324,6 +324,7 @@
     { "type",   "name", "range", "present"
       "Unitflag", "AddToCity", "Local", TRUE
       "DiplRel", "Is foreign", "Local", FALSE
+      "MinMoveFrags", "1", "Local", TRUE
     }
 
 [borders]

Modified: trunk/data/civ2/game.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/civ2/game.ruleset?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/data/civ2/game.ruleset        (original)
+++ trunk/data/civ2/game.ruleset        Wed May 13 15:39:17 2015
@@ -376,6 +376,7 @@
     { "type",   "name", "range", "present"
       "Unitflag", "AddToCity", "Local", TRUE
       "DiplRel", "Is foreign", "Local", FALSE
+      "MinMoveFrags", "1", "Local", TRUE
     }
 
 [borders]

Modified: trunk/data/civ2civ3/game.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/civ2civ3/game.ruleset?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/data/civ2civ3/game.ruleset    (original)
+++ trunk/data/civ2civ3/game.ruleset    Wed May 13 15:39:17 2015
@@ -435,6 +435,7 @@
     { "type",   "name", "range", "present"
       "Unitflag", "AddToCity", "Local", TRUE
       "DiplRel", "Is foreign", "Local", FALSE
+      "MinMoveFrags", "1", "Local", TRUE
     }
 
 [borders]

Modified: trunk/data/classic/game.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/classic/game.ruleset?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/data/classic/game.ruleset     (original)
+++ trunk/data/classic/game.ruleset     Wed May 13 15:39:17 2015
@@ -407,6 +407,7 @@
     { "type",   "name", "range", "present"
       "Unitflag", "AddToCity", "Local", TRUE
       "DiplRel", "Is foreign", "Local", FALSE
+      "MinMoveFrags", "1", "Local", TRUE
     }
 
 [borders]

Modified: trunk/data/experimental/game.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/experimental/game.ruleset?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/data/experimental/game.ruleset        (original)
+++ trunk/data/experimental/game.ruleset        Wed May 13 15:39:17 2015
@@ -425,6 +425,7 @@
     { "type",   "name", "range", "present"
       "Unitflag", "AddToCity", "Local", TRUE
       "DiplRel", "Is foreign", "Local", FALSE
+      "MinMoveFrags", "1", "Local", TRUE
     }
 
 [borders]

Modified: trunk/data/multiplayer/game.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/multiplayer/game.ruleset?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/data/multiplayer/game.ruleset (original)
+++ trunk/data/multiplayer/game.ruleset Wed May 13 15:39:17 2015
@@ -391,6 +391,7 @@
     { "type",   "name", "range", "present"
       "Unitflag", "AddToCity", "Local", TRUE
       "DiplRel", "Is foreign", "Local", FALSE
+      "MinMoveFrags", "1", "Local", TRUE
     }
 
 [borders]

Modified: trunk/doc/README.actions
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/doc/README.actions?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/doc/README.actions    (original)
+++ trunk/doc/README.actions    Wed May 13 15:39:17 2015
@@ -201,7 +201,6 @@
 "Join City" - Add the actor to the target city's population.
  * UI name can be set using ui_name_join_city
  * actor must be on the same tile as the target.
- * actor must have movement left.
  * target city population must not become higher that the add_to_size_limit
    setting permits.
  * target must be able to grow to the size that adding the unit would

Modified: trunk/fc_version
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/fc_version?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/fc_version    (original)
+++ trunk/fc_version    Wed May 13 15:39:17 2015
@@ -54,7 +54,7 @@
 #   - Avoid adding a new mandatory capability to the development branch for
 #     as long as possible.  We want to maintain network compatibility with
 #     the stable branch for as long as possible.
-NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2015.May.09c"
+NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2015.May.13"
 NETWORK_CAPSTRING_OPTIONAL=""
 
 FREECIV_DISTRIBUTOR=""

Modified: trunk/server/rscompat.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/rscompat.c?rev=29078&r1=29077&r2=29078&view=diff
==============================================================================
--- trunk/server/rscompat.c     (original)
+++ trunk/server/rscompat.c     Wed May 13 15:39:17 2015
@@ -281,6 +281,11 @@
                               req_from_str("UnitFlag", "Local", FALSE,
                                            TRUE, "AddToCity"));
 
+    /* The actor unit must have moves left. */
+    requirement_vector_append(&enabler->actor_reqs,
+                              req_from_str("MinMoveFrags", "Local", FALSE,
+                                           TRUE, "1"));
+
     /* The target city must be domestic. */
     requirement_vector_append(&enabler->actor_reqs,
                               req_from_str("DiplRel", "Local", FALSE,


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to