Author: cazfi
Date: Thu May 18 15:13:00 2017
New Revision: 35643

URL: http://svn.gna.org/viewcvs/freeciv?rev=35643&view=rev
Log:
Make sure unit vision radius is not negative

Reported by David Fernandez (bard)

See hrm Bug #661313

Modified:
    trunk/server/unittools.c

Modified: trunk/server/unittools.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/unittools.c?rev=35643&r1=35642&r2=35643&view=diff
==============================================================================
--- trunk/server/unittools.c    (original)
+++ trunk/server/unittools.c    Thu May 18 15:13:00 2017
@@ -4453,17 +4453,17 @@
   properly.
 ****************************************************************************/
 int get_unit_vision_at(struct unit *punit, struct tile *ptile,
-                      enum vision_layer vlayer)
+                       enum vision_layer vlayer)
 {
   const int base = (unit_type_get(punit)->vision_radius_sq
-                   + get_unittype_bonus(unit_owner(punit), ptile,
+                    + get_unittype_bonus(unit_owner(punit), ptile,
                                          unit_type_get(punit),
-                                        EFT_UNIT_VISION_RADIUS_SQ));
+                                         EFT_UNIT_VISION_RADIUS_SQ));
   switch (vlayer) {
   case V_MAIN:
-    return base;
+    return MAX(0, base);
   case V_INVIS:
-    return MIN(base, 2);
+    return CLIP(0, base, 2);
   case V_COUNT:
     break;
   }


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

Reply via email to