fix #H4146 - more enlightenment vs drain resistance

Duplicate of another recent report as far as drain resistance from
Excalibur/Stormbringer/Staff of Aesculapius not being shown by
enlightenment goes, but this one mentioned that it also wasn't being
shown for lycanthropy.  Being inflicted by that does confers level-
drain resistance.  were_change() wasn't calling set_uasmon() since
it isn't changing youmonst.data, but set_uasmon() is were intrinsics
conferred by creature form are set up.  So call it when changing
were-form.  Direct access to u.ulycn wasn't calling it either, so add
a new routine to assign the value to that instead doing so directly.
This commit is contained in:
PatR
2015-12-25 16:46:02 -08:00
parent 0d36c443a3
commit 1c80503938
7 changed files with 36 additions and 22 deletions

View File

@@ -770,7 +770,9 @@ int propidx; /* special cases can have negative values */
if (innateness == FROM_EXP)
Strcpy(buf, " because of your experience");
else if (innateness == FROM_FORM)
Strcpy(buf, " from current creature form");
Strcpy(buf, (u.ulycn >= LOW_PM)
? " due to your lycanthropy"
: " from current creature form");
else if (innateness == FROM_ROLE || innateness == FROM_RACE)
Strcpy(buf, " innately");
else if (wizard