Death attacking a monster does drain life attack
This commit is contained in:
@@ -771,6 +771,7 @@ in flush_screen, reorder the code slightly to complete the bot() and
|
|||||||
timebot() calls prior to the window port call to place the cursor
|
timebot() calls prior to the window port call to place the cursor
|
||||||
on the hero
|
on the hero
|
||||||
magic traps can toggle intrinsic invisibility
|
magic traps can toggle intrinsic invisibility
|
||||||
|
Death attacking a monster does drain life attack
|
||||||
|
|
||||||
|
|
||||||
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
||||||
|
|||||||
18
src/uhitm.c
18
src/uhitm.c
@@ -1985,10 +1985,14 @@ mhitm_ad_drli(
|
|||||||
/* mhitm */
|
/* mhitm */
|
||||||
int armpro = magic_negation(mdef);
|
int armpro = magic_negation(mdef);
|
||||||
boolean cancelled = magr->mcan || !(rn2(10) >= 3 * armpro);
|
boolean cancelled = magr->mcan || !(rn2(10) >= 3 * armpro);
|
||||||
|
/* mhitm_ad_deth gets redirected here for Death's touch */
|
||||||
|
boolean is_death = (mattk->adtyp == AD_DETH);
|
||||||
|
|
||||||
if (!cancelled && !rn2(3)
|
if (is_death
|
||||||
&& !(resists_drli(mdef) || defended(mdef, AD_DRLI))) {
|
|| (!cancelled && !rn2(3)
|
||||||
mhm->damage = d(2, 6); /* Stormbringer uses monhp_per_lvl (1d8) */
|
&& !(resists_drli(mdef) || defended(mdef, AD_DRLI)))) {
|
||||||
|
if (!is_death)
|
||||||
|
mhm->damage = d(2, 6); /* Stormbringer uses monhp_per_lvl (1d8) */
|
||||||
if (g.vis && canspotmon(mdef))
|
if (g.vis && canspotmon(mdef))
|
||||||
pline("%s becomes weaker!", Monnam(mdef));
|
pline("%s becomes weaker!", Monnam(mdef));
|
||||||
if (mdef->mhpmax - mhm->damage > (int) mdef->m_lev) {
|
if (mdef->mhpmax - mhm->damage > (int) mdef->m_lev) {
|
||||||
@@ -3336,12 +3340,8 @@ mhitm_ad_deth(struct monst *magr, struct attack *mattk UNUSED,
|
|||||||
undead hero would; otherwise, just inflict the normal damage */
|
undead hero would; otherwise, just inflict the normal damage */
|
||||||
if (is_undead(pd) && mhm->damage > 1)
|
if (is_undead(pd) && mhm->damage > 1)
|
||||||
mhm->damage = rnd(mhm->damage / 2);
|
mhm->damage = rnd(mhm->damage / 2);
|
||||||
/*
|
/* simulate Death's touch with drain life attack */
|
||||||
* FIXME?
|
mhitm_ad_drli(magr, mattk, mdef, mhm);
|
||||||
* most monsters should be vulnerable to Death's touch
|
|
||||||
* instead of only receiving ordinary damage, but is it
|
|
||||||
* worth bothering with?
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user