Re: [Freeciv-Dev] (PR#37436) [Patch] Base UnitFlag requirements

2007-03-05 Thread Marko Lindqvist

URL: http://bugs.freeciv.org/Ticket/Display.html?id=37436 

On 3/3/07, Marko Lindqvist [EMAIL PROTECTED] wrote:

  Remove hardcoded unit type flag requirements for building base.
 Instead ruleset defined UnitFlag requirements are used.

 - Flag rename part removed from this patch.


 - ML

diff -Nurd -X.diff_ignore freeciv/client/helpdata.c freeciv/client/helpdata.c
--- freeciv/client/helpdata.c	2007-03-03 18:28:05.0 +0200
+++ freeciv/client/helpdata.c	2007-03-06 02:16:59.0 +0200
@@ -891,9 +891,6 @@
   if (unit_type_flag(utype, F_TRANSFORM)) {
 sprintf(buf + strlen(buf), _(* Can transform tiles.\n));
   }
-  if (unit_type_flag(utype, F_AIRBASE)) {
-sprintf(buf + strlen(buf), _(* Can build airbases.\n));
-  }
   if (is_ground_unittype(utype)  !unit_type_flag(utype, F_SETTLERS)) {
 sprintf(buf + strlen(buf),
 	_(* May fortify, granting a 50%% defensive bonus.\n));
diff -Nurd -X.diff_ignore freeciv/common/base.c freeciv/common/base.c
--- freeciv/common/base.c	2007-03-05 00:51:27.0 +0200
+++ freeciv/common/base.c	2007-03-06 02:16:59.0 +0200
@@ -52,12 +52,6 @@
 bool can_build_base(const struct unit *punit, const struct base_type *pbase,
 const struct tile *ptile)
 {
-  if ((pbase-id == BASE_FORTRESS  !unit_flag(punit, F_SETTLERS)) ||
-  (pbase-id == BASE_AIRBASE  !unit_flag(punit, F_AIRBASE))) {
-/* This unit cannot build this kind of base */
-return FALSE;
-  }
-
   if (tile_get_city(ptile)) {
 /* Bases cannot be built inside cities */
 return FALSE;
diff -Nurd -X.diff_ignore freeciv/common/unittype.h freeciv/common/unittype.h
--- freeciv/common/unittype.h	2007-03-01 01:49:07.0 +0200
+++ freeciv/common/unittype.h	2007-03-06 02:18:13.0 +0200
@@ -80,7 +80,7 @@
   F_SPY,  /* Enhanced spy abilities */
   F_TRANSFORM,/* Can transform terrain types (Engineers) */
   F_PARATROOPERS,
-  F_AIRBASE,  /* Can build Airbases */
+  F_AIRBASE,  /* No hardcoded behavior, rulesets use for UnitFlag requirement */
   F_CITIES,   /* Can build cities */
   F_NO_LAND_ATTACK,   /* Cannot attack vs land squares (Submarine) */
   F_ADD_TO_CITY,  /* unit can add to city population */
diff -Nurd -X.diff_ignore freeciv/data/civ1/terrain.ruleset freeciv/data/civ1/terrain.ruleset
--- freeciv/data/civ1/terrain.ruleset	2007-03-04 22:55:01.0 +0200
+++ freeciv/data/civ1/terrain.ruleset	2007-03-06 02:16:59.0 +0200
@@ -617,6 +617,7 @@
 { type, name, range
   Tech, Construction, Player
   TerrainClass, Land, Local
+  UnitFlag, Settlers, Local
 }
 flags   = NoAggressive, DefenseBonus, Watchtower, ClaimTerritory,
   NoStackDeath, DiplomatDefense
diff -Nurd -X.diff_ignore freeciv/data/civ2/terrain.ruleset freeciv/data/civ2/terrain.ruleset
--- freeciv/data/civ2/terrain.ruleset	2007-03-04 22:55:02.0 +0200
+++ freeciv/data/civ2/terrain.ruleset	2007-03-06 02:19:07.0 +0200
@@ -709,6 +709,7 @@
 { type, name, range
   Tech, Construction, Player
   TerrainClass, Land, Local
+  UnitFlag, Settlers, Local
 }
 flags   = NoAggressive, DefenseBonus, Watchtower, ClaimTerritory,
   NoStackDeath, DiplomatDefense
@@ -719,6 +720,7 @@
 { type, name, range
   Tech, Radio, Player
   TerrainClass, Land, Local
+  UnitFlag, Airbase, Local
 }
 flags   = NoStackDeath, DiplomatDefense, Refuel, NoHPLoss,
   AttackUnreachable, ParadropFrom
diff -Nurd -X.diff_ignore freeciv/data/default/terrain.ruleset freeciv/data/default/terrain.ruleset
--- freeciv/data/default/terrain.ruleset	2007-03-04 22:55:02.0 +0200
+++ freeciv/data/default/terrain.ruleset	2007-03-06 02:18:54.0 +0200
@@ -776,6 +776,7 @@
 { type, name, range
   Tech, Construction, Player
   TerrainClass, Land, Local
+  UnitFlag, Settlers, Local
 }
 flags   = NoAggressive, DefenseBonus, Watchtower, ClaimTerritory,
   NoStackDeath, DiplomatDefense
@@ -786,6 +787,7 @@
 { type, name, range
   Tech, Radio, Player
   TerrainClass, Land, Local
+  UnitFlag, Airbase, Local
 }
 flags   = NoStackDeath, DiplomatDefense, Refuel, NoHPLoss,
   AttackUnreachable, ParadropFrom
___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


Re: [Freeciv-Dev] (PR#37436) [Patch] Base UnitFlag requirements

2007-03-03 Thread Per I. Mathisen

URL: http://bugs.freeciv.org/Ticket/Display.html?id=37436 

On Sat, 3 Mar 2007, Marko Lindqvist wrote:
 Remove hardcoded unit type flag requirements for building base.
 Instead ruleset defined UnitFlag requirements are used. As flag
 Airbase no longer has any hardcoded behavior, it is renamed as
 User1.

That makes no sense to me. User1?

   - Per



___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev