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.
This commit is contained in:
Michael Meyer
2023-11-28 21:19:47 -05:00
committed by PatR
parent 69b2523cfb
commit cd04780907

View File

@@ -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);