Author: cazfi
Date: Sat Aug  8 08:57:13 2015
New Revision: 29397

URL: http://svn.gna.org/viewcvs/freeciv?rev=29397&view=rev
Log:
Added building flag "DisasterProof" for making buildings immune to any 
disasters.

See patch #5819

Modified:
    trunk/common/improvement.h
    trunk/data/alien/buildings.ruleset
    trunk/data/civ2civ3/buildings.ruleset
    trunk/data/classic/buildings.ruleset
    trunk/data/experimental/buildings.ruleset
    trunk/data/multiplayer/buildings.ruleset
    trunk/data/stub/buildings.ruleset
    trunk/fc_version
    trunk/server/cityturn.c

Modified: trunk/common/improvement.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/common/improvement.h?rev=29397&r1=29396&r2=29397&view=diff
==============================================================================
--- trunk/common/improvement.h  (original)
+++ trunk/common/improvement.h  Sat Aug  8 08:57:13 2015
@@ -54,6 +54,9 @@
 /* when built, gives gold */
 #define SPECENUM_VALUE2 IF_GOLD
 #define SPECENUM_VALUE2NAME "Gold"
+/* Never destroyed by disasters */
+#define SPECENUM_VALUE3 IF_DISASTER_PROOF
+#define SPECENUM_VALUE3NAME "DisasterProof"
 #define SPECENUM_COUNT IF_COUNT
 #define SPECENUM_BITVECTOR bv_impr_flags
 #include "specenum_gen.h"

Modified: trunk/data/alien/buildings.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/alien/buildings.ruleset?rev=29397&r1=29396&r2=29397&view=diff
==============================================================================
--- trunk/data/alien/buildings.ruleset  (original)
+++ trunk/data/alien/buildings.ruleset  Sat Aug  8 08:57:13 2015
@@ -44,6 +44,9 @@
 ; "Gold"             = Not a real building; production turned into gold
 ;                      indefinitely (capitalization/coinage).
 ;                      Genus should be "Special".
+; "DisasterProof"    = Disasters never destroy this building. Is meaningful
+;                      only for genus "Improvement" buildings as others are
+;                      automatically disaster proof.
 ;
 ; */ <-- avoid gettext warnings
 

Modified: trunk/data/civ2civ3/buildings.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/civ2civ3/buildings.ruleset?rev=29397&r1=29396&r2=29397&view=diff
==============================================================================
--- trunk/data/civ2civ3/buildings.ruleset       (original)
+++ trunk/data/civ2civ3/buildings.ruleset       Sat Aug  8 08:57:13 2015
@@ -54,6 +54,9 @@
 ; "Gold"             = Not a real building; production turned into gold
 ;                      indefinitely (capitalization/coinage).
 ;                      Genus should be "Special".
+; "DisasterProof"    = Disasters never destroy this building. Is meaningful
+;                      only for genus "Improvement" buildings as others are
+;                      automatically disaster proof.
 ;
 ; */ <-- avoid gettext warnings
 

Modified: trunk/data/classic/buildings.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/classic/buildings.ruleset?rev=29397&r1=29396&r2=29397&view=diff
==============================================================================
--- trunk/data/classic/buildings.ruleset        (original)
+++ trunk/data/classic/buildings.ruleset        Sat Aug  8 08:57:13 2015
@@ -54,6 +54,9 @@
 ; "Gold"             = Not a real building; production turned into gold
 ;                      indefinitely (capitalization/coinage).
 ;                      Genus should be "Special".
+; "DisasterProof"    = Disasters never destroy this building. Is meaningful
+;                      only for genus "Improvement" buildings as others are
+;                      automatically disaster proof.
 ;
 ; */ <-- avoid gettext warnings
 

Modified: trunk/data/experimental/buildings.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/experimental/buildings.ruleset?rev=29397&r1=29396&r2=29397&view=diff
==============================================================================
--- trunk/data/experimental/buildings.ruleset   (original)
+++ trunk/data/experimental/buildings.ruleset   Sat Aug  8 08:57:13 2015
@@ -56,6 +56,9 @@
 ; "Gold"             = Not a real building; production turned into gold
 ;                      indefinitely (capitalization/coinage).
 ;                      Genus should be "Special".
+; "DisasterProof"    = Disasters never destroy this building. Is meaningful
+;                      only for genus "Improvement" buildings as others are
+;                      automatically disaster proof.
 ;
 ; */ <-- avoid gettext warnings
 

Modified: trunk/data/multiplayer/buildings.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/multiplayer/buildings.ruleset?rev=29397&r1=29396&r2=29397&view=diff
==============================================================================
--- trunk/data/multiplayer/buildings.ruleset    (original)
+++ trunk/data/multiplayer/buildings.ruleset    Sat Aug  8 08:57:13 2015
@@ -53,6 +53,9 @@
 ; "Gold"             = Not a real building; production turned into gold
 ;                      indefinitely (capitalization/coinage).
 ;                      Genus should be "Special".
+; "DisasterProof"    = Disasters never destroy this building. Is meaningful
+;                      only for genus "Improvement" buildings as others are
+;                      automatically disaster proof.
 ;
 ; */ <-- avoid gettext warnings
 

Modified: trunk/data/stub/buildings.ruleset
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/data/stub/buildings.ruleset?rev=29397&r1=29396&r2=29397&view=diff
==============================================================================
--- trunk/data/stub/buildings.ruleset   (original)
+++ trunk/data/stub/buildings.ruleset   Sat Aug  8 08:57:13 2015
@@ -41,6 +41,9 @@
 ; "Gold"             = Not a real building; production turned into gold
 ;                      indefinitely (capitalization/coinage).
 ;                      Genus should be "Special".
+; "DisasterProof"    = Disasters never destroy this building. Is meaningful
+;                      only for genus "Improvement" buildings as others are
+;                      automatically disaster proof.
 ;
 ; */ <-- avoid gettext warnings
 

Modified: trunk/fc_version
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/fc_version?rev=29397&r1=29396&r2=29397&view=diff
==============================================================================
--- trunk/fc_version    (original)
+++ trunk/fc_version    Sat Aug  8 08:57:13 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.Aug.04"
+NETWORK_CAPSTRING_MANDATORY="+Freeciv.Devel-3.0-2015.Aug.08"
 NETWORK_CAPSTRING_OPTIONAL=""
 
 FREECIV_DISTRIBUTOR=""

Modified: trunk/server/cityturn.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/cityturn.c?rev=29397&r1=29396&r2=29397&view=diff
==============================================================================
--- trunk/server/cityturn.c     (original)
+++ trunk/server/cityturn.c     Sat Aug  8 08:57:13 2015
@@ -3453,7 +3453,8 @@
     struct impr_type *imprs[B_LAST];
 
     city_built_iterate(pcity, pimprove) {
-      if (is_improvement(pimprove)) {
+      if (is_improvement(pimprove)
+          && !improvement_has_flag(pimprove, IF_DISASTER_PROOF)) {
         imprs[total++] = pimprove;
       }
     } city_built_iterate_end;


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

Reply via email to