<URL: http://bugs.freeciv.org/Ticket/Display.html?id=37262 >

 This adds function is_losing_hp(). Currently it has only one caller,
but #34646 will introduce more of them.


 - ML

diff -Nurd -X.diff_ignore freeciv/common/aicore/pf_tools.c freeciv/common/aicore/pf_tools.c
--- freeciv/common/aicore/pf_tools.c	2007-02-12 15:27:43.000000000 +0200
+++ freeciv/common/aicore/pf_tools.c	2007-03-01 17:06:57.000000000 +0200
@@ -625,10 +625,8 @@
   }
 
   if (!parameter->is_pos_dangerous
-      && get_player_bonus(unit_owner(punit), EFT_UNIT_RECOVER)
-      < (unit_type(punit)->hp *
-         get_unit_class(unit_type(punit))->hp_loss_pct / 100)) {
-    /* United nations cancels out helicoptor fuel loss. */
+      && is_losing_hp(punit)) {
+    /* Unit loses hitpoints each turn when not in city/safe base/carrier */
     parameter->is_pos_dangerous = air_is_pos_dangerous;
     parameter->turn_mode = TM_WORST_TIME;
   }
diff -Nurd -X.diff_ignore freeciv/common/unit.c freeciv/common/unit.c
--- freeciv/common/unit.c	2007-02-28 23:02:38.000000000 +0200
+++ freeciv/common/unit.c	2007-03-01 17:08:38.000000000 +0200
@@ -1456,3 +1456,13 @@
 
   return result;
 }
+
+/**************************************************************************
+  Does unit lose hitpoints each turn?
+**************************************************************************/
+bool is_losing_hp(const struct unit *punit)
+{
+  return get_player_bonus(unit_owner(punit), EFT_UNIT_RECOVER)
+    < (unit_type(punit)->hp *
+       get_unit_class(unit_type(punit))->hp_loss_pct / 100);
+}
diff -Nurd -X.diff_ignore freeciv/common/unit.h freeciv/common/unit.h
--- freeciv/common/unit.h	2007-02-12 15:27:43.000000000 +0200
+++ freeciv/common/unit.h	2007-03-01 17:03:46.000000000 +0200
@@ -298,4 +298,6 @@
 enum unit_upgrade_result get_unit_upgrade_info(char *buf, size_t bufsz,
 					       const struct unit *punit);
 
+bool is_losing_hp(const struct unit *punit);
+
 #endif  /* FC__UNIT_H */
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to