Make air elementals respect damage reduction from AC
Players of both 3.4.3 and 3.7 have observed for a long time that air elementals are disproportionately dangerous compared to other endgame threats. (In particular, playtester feedback from 3.7 was that the Plane of Air was much more dangerous than it should be, with playtesters treating it similarly to Astral with respect to the use of high-quality escape items.) It turns out that this was because damage from air elementals while engulfed was entirely ignoring AC, meaning that regardless of your stats, you would be taking around 16.5 damage per turn while engulfed (half physical damage helped, but nothing else did). This commit purely fixes the bug, but does not balance around it, which means that it causes the endgame air elementals to become almost entirely nonthreatening. In a future commit, I plan to balance around this change.
This commit is contained in:
@@ -1568,6 +1568,8 @@ throwing ammo without a launcher produces a message
|
||||
polymorphing into a large polyform unequips rather than destroying cloaks
|
||||
clarify in the #quit message that it doesn't save the game
|
||||
cursed potion of invisibility removes intrinsic invisibility
|
||||
fix bug which caused engulf damage from air elementals and fog clouds to
|
||||
ignore damage reduction from armor class
|
||||
|
||||
|
||||
Fixes to 3.7.0-x General Problems Exposed Via git Repository
|
||||
|
||||
@@ -1535,8 +1535,15 @@ gulpmu(struct monst *mtmp, struct attack *mattk)
|
||||
break;
|
||||
}
|
||||
|
||||
if (physical_damage)
|
||||
if (physical_damage) {
|
||||
/* same damage reduction for AC as in hitmu */
|
||||
if (u.uac < 0)
|
||||
tmp -= rnd(-u.uac);
|
||||
if (tmp < 0)
|
||||
tmp = 1;
|
||||
|
||||
tmp = Maybe_Half_Phys(tmp);
|
||||
}
|
||||
|
||||
gm.mswallower = mtmp; /* match gulpmm() */
|
||||
mdamageu(mtmp, tmp);
|
||||
|
||||
Reference in New Issue
Block a user