<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
[email protected]
https://mail.gna.org/listinfo/freeciv-dev