From: cohrs Date: Sat, 9 Mar 2002 02:56:46 +0000 (+0000) Subject: fixing bad luck via sacrifice X-Git-Tag: MOVE2GIT~3030 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fb27e356944db7ba62e00d58085b3a0c9db540d0;p=nethack fixing bad luck via sacrifice - From a bug report: if sacrifice doesn't clear the timeout until prayer, your bad luck is cleared, but if it does, your luck could remain negative --- diff --git a/src/pray.c b/src/pray.c index a3b44031b..1d2280e72 100644 --- a/src/pray.c +++ b/src/pray.c @@ -1387,7 +1387,8 @@ verbalize("In return for thy service, I grant thee the gift of Immortality!"); /* you were already in pretty good standing */ /* The player can gain an artifact */ /* The chance goes down as the number of artifacts goes up */ - if (u.ulevel > 2 && !rn2(10 + (2 * u.ugifts * nartifacts))) { + if (u.ulevel > 2 && u.uluck >= 0 && + !rn2(10 + (2 * u.ugifts * nartifacts))) { otmp = mk_artifact((struct obj *)0, a_align(u.ux,u.uy)); if (otmp) { if (otmp->spe < 0) otmp->spe = 0; @@ -1406,6 +1407,7 @@ verbalize("In return for thy service, I grant thee the gift of Immortality!"); } } change_luck((value * LUCKMAX) / (MAXVALUE * 2)); + if ((int)u.uluck < 0) u.uluck = 0; if (u.uluck != saved_luck) { if (Blind) You("think %s brushed your %s.",something, body_part(FOOT));