PR #906 - loadstone confers 'steadfastness'

Pull request by Theyflower:  carrying a loadstone prevents big
monsters from hitting their target for knockback effect, same as
wielding Giantslayer.

The PR code needed fixing (unintended switch from 'otmp' to 'obj')
so I didn't use the commeit.  The PR code also required that the
loadstone be blessed which sounds nethackish but would mean that
nobody would ever notice.  Allow carrying any loadstone to prevent
being knocked back.  It will still be a rare accident or uncommon
tactical decision.  (It doesn't happen if the target is flying or
levitating because those checks deliberately come first.)

supersedes #906
closes #906
This commit is contained in:
PatR
2022-10-22 23:57:05 -07:00
parent 84fabf764a
commit 86cbf9366a
2 changed files with 8 additions and 1 deletions

View File

@@ -4616,6 +4616,12 @@ m_is_steadfast(struct monst *mtmp)
if (is_art(otmp, ART_GIANTSLAYER))
return TRUE;
/* steadfast if carrying any loadstone (and not floating or flying) */
for (otmp = is_u ? g.invent : mtmp->minvent; otmp; otmp = otmp->nobj)
if (otmp->otyp == LOADSTONE)
return TRUE;
return FALSE;
}