diff --git a/src/lib/subs/lndsub.c b/src/lib/subs/lndsub.c index afcd5fc4..c430f54b 100644 --- a/src/lib/subs/lndsub.c +++ b/src/lib/subs/lndsub.c @@ -976,7 +976,7 @@ lnd_hardtarget(struct lndstr *lp) static int lnd_hit_mine(struct lndstr *lp, struct lchrstr *lcp) { - double m; + int m; mpr(lp->lnd_own, "Blammo! Landmines detected in %s! ", xyas(lp->lnd_x, lp->lnd_y, lp->lnd_own)); @@ -985,11 +985,10 @@ lnd_hit_mine(struct lndstr *lp, struct lchrstr *lcp) m = MINE_LDAMAGE(); if (lcp->l_flags & L_ENGINEER) - m /= 2.0; + m /= 2; - landdamage(lp, ldround(m, 1)); - - return (int)m; + landdamage(lp, m); + return m; } double diff --git a/src/lib/subs/retreat.c b/src/lib/subs/retreat.c index cbfdecc1..a0625c7a 100644 --- a/src/lib/subs/retreat.c +++ b/src/lib/subs/retreat.c @@ -500,6 +500,8 @@ retreat_land1(struct lndstr *lp, char code, int orig) xyas(newx, newy, lp->lnd_own)); nreport(lp->lnd_own, N_LHIT_MINE, 0, 1); m = MINE_LDAMAGE(); + if (lcp->l_flags & L_ENGINEER) + m /= 2; landdamage(lp, m); mines--; sect.sct_mines = mines;