fix B18012 - Werebane
Make wielding Werebane confer defense against catching lychanthropy
from monster bites. It doesn't protect against catching that from eating
lycanthrope corpses and might blast the character if wielded at such time.
Also fix artifact handling to recognize the character as lycanthrope
while in normal human/elf/whatever form--rather than only when in beast
form--just like it does for monsters.
This commit is contained in:
@@ -579,8 +579,9 @@ struct monst *mtmp;
|
||||
} else if (weap->spfx & SPFX_DFLAG1) {
|
||||
return ((ptr->mflags1 & weap->mtype) != 0L);
|
||||
} else if (weap->spfx & SPFX_DFLAG2) {
|
||||
return ((ptr->mflags2 & weap->mtype) ||
|
||||
(yours && !Upolyd && (urace.selfmask & weap->mtype)));
|
||||
return ((ptr->mflags2 & weap->mtype) || (yours &&
|
||||
((!Upolyd && (urace.selfmask & weap->mtype)) ||
|
||||
((weap->mtype & M2_WERE) && u.ulycn >= LOW_PM))));
|
||||
} else if (weap->spfx & SPFX_DALIGN) {
|
||||
return yours ? (u.ualign.type != weap->alignment) :
|
||||
(ptr->maligntyp == A_NONE ||
|
||||
|
||||
Reference in New Issue
Block a user