diff --git a/doc/fixes34.3 b/doc/fixes34.3 index 8d8eaf76f..70adbbf9e 100644 --- a/doc/fixes34.3 +++ b/doc/fixes34.3 @@ -78,6 +78,8 @@ when polymorphed into a quantum mechanic, it was possible to jump into the water on a no teleport level and instinctively teleport when polymorphed into a quantum mechanic on a no teleport level and swallowed, no feedback was given when you teleported the swallower away +allow Conflict-resistant monsters to respond to conflict attacks rather than + sitting there and taking the attacks until they die Platform- and/or Interface-Specific Fixes diff --git a/src/mhitm.c b/src/mhitm.c index 3e2a3592a..d3d941b66 100644 --- a/src/mhitm.c +++ b/src/mhitm.c @@ -151,6 +151,16 @@ fightm(mtmp) /* have monsters fight each other */ */ if (has_u_swallowed) return 0; + /* Allow attacked monsters a chance to hit back. Primarily + * to allow monsters that resist conflict to respond. + */ + if ((result & MM_HIT) && !(result & MM_DEF_DIED) && + rn2(4) && mon->movement >= NORMAL_SPEED) { + mon->movement -= NORMAL_SPEED; + notonhead = 0; + (void) mattackm(mon, mtmp); /* return attack */ + } + return ((result & MM_HIT) ? 1 : 0); } }