Author: sveinung
Date: Mon Jul 20 10:04:33 2015
New Revision: 29229

URL: http://svn.gna.org/viewcvs/freeciv?rev=29229&view=rev
Log:
Unhardcode the "transported units can't bombard" rule

See patch #6133

Modified:
    trunk/common/actions.c
    trunk/data/alien/game.ruleset
    trunk/data/civ2civ3/game.ruleset
    trunk/doc/README.actions
    trunk/server/rscompat.c

Modified: trunk/common/actions.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/actions.c?rev=29229&r1=29228&r2=29229&view=diff
==============================================================================
--- trunk/common/actions.c      (original)
+++ trunk/common/actions.c      Mon Jul 20 10:04:33 2015
@@ -631,11 +631,6 @@
     }
 
     /* TODO: Move to the ruleset. */
-    if (unit_transported(actor_unit)) {
-      return FALSE;
-    }
-
-    /* TODO: Move to the ruleset. */
     if (!pplayers_at_war(unit_owner(target_unit), actor_player)) {
       return FALSE;
     }

Modified: trunk/data/alien/game.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/alien/game.ruleset?rev=29229&r1=29228&r2=29229&view=diff
==============================================================================
--- trunk/data/alien/game.ruleset       (original)
+++ trunk/data/alien/game.ruleset       Mon Jul 20 10:04:33 2015
@@ -337,6 +337,7 @@
 actor_reqs    =
     { "type",   "name", "range", "present"
       "Unitflag", "Bombarder", "Local", TRUE
+      "UnitState", "Transported", "Local", FALSE
     }
 target_reqs    =
     { "type",   "name", "range", "present"

Modified: trunk/data/civ2civ3/game.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/civ2civ3/game.ruleset?rev=29229&r1=29228&r2=29229&view=diff
==============================================================================
--- trunk/data/civ2civ3/game.ruleset    (original)
+++ trunk/data/civ2civ3/game.ruleset    Mon Jul 20 10:04:33 2015
@@ -434,6 +434,7 @@
 actor_reqs    =
     { "type",   "name", "range", "present"
       "Unitflag", "Bombarder", "Local", TRUE
+      "UnitState", "Transported", "Local", FALSE
     }
 target_reqs    =
     { "type",   "name", "range", "present"

Modified: trunk/doc/README.actions
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/doc/README.actions?rev=29229&r1=29228&r2=29229&view=diff
==============================================================================
--- trunk/doc/README.actions    (original)
+++ trunk/doc/README.actions    Mon Jul 20 10:04:33 2015
@@ -237,7 +237,6 @@
  * UI name can be set using ui_name_bombard
  * actor must have a bombard_rate > 0
  * actor must be on the same tile as the target or on the tile next to it.
- * actor can't be transported.
  * actor must have at least 1 move fragment left.
  * target can't be in a city the actor player isn't at war with.
  * target must be foreign.

Modified: trunk/server/rscompat.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/rscompat.c?rev=29229&r1=29228&r2=29229&view=diff
==============================================================================
--- trunk/server/rscompat.c     (original)
+++ trunk/server/rscompat.c     Mon Jul 20 10:04:33 2015
@@ -315,6 +315,11 @@
                               req_from_str("UnitFlag", "Local", FALSE,
                                            TRUE, "Bombarder"));
 
+    /* The actor unit can't be transported. */
+    requirement_vector_append(&enabler->actor_reqs,
+                              req_from_str("UnitState", "Local", FALSE,
+                                           FALSE, "Transported"));
+
     /* The target can't be on an ocean tile. */
     requirement_vector_append(&enabler->target_reqs,
                               req_from_str("TerrainClass", "Local", FALSE,


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

Reply via email to