From cd0478090776b0439b88ffe96c6465ec5601e2e9 Mon Sep 17 00:00:00 2001 From: Michael Meyer Date: Tue, 28 Nov 2023 21:19:47 -0500 Subject: [PATCH] Add randomness to HoOA erinyes summoning When not on Astral, make it a roll based on alignment abuse whether an erinys is summoned. Also make helm of opposite alignment use contribute to alignment abuse, so that repeated uses to attempt to clear erinyes before astral will make them stronger. --- src/attrib.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/attrib.c b/src/attrib.c index c51db05e8..2ec63dbed 100644 --- a/src/attrib.c +++ b/src/attrib.c @@ -1259,9 +1259,11 @@ uchangealign(int newalign, /* putting on or taking off a helm of opposite alignment */ u.ualign.type = (aligntyp) newalign; if (reason == 1) { + adjalign(-7); /* for abuse -- record will be cleared shortly */ Your("mind oscillates %s.", Hallucination ? "wildly" : "briefly"); make_confused(rn1(2, 3), FALSE); - summon_furies(Is_astralevel(&u.uz) ? 0 : 1); + if (Is_astralevel(&u.uz) || ((unsigned) rn2(50) < u.ualign.abuse)) + summon_furies(Is_astralevel(&u.uz) ? 0 : 1); /* don't livelog taking it back off */ livelog_printf(LL_ALIGNMENT, "used a helm to turn %s", aligns[1 - newalign].adj);