From fb27e356944db7ba62e00d58085b3a0c9db540d0 Mon Sep 17 00:00:00 2001 From: cohrs Date: Sat, 9 Mar 2002 02:56:46 +0000 Subject: [PATCH] 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 --- src/pray.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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)); -- 2.50.0