@@ -2675,7 +2675,8 @@ struct monst *mtmp;
26752675 /* the random test prevents axe-wielding
26762676 monster from attempting shield removal every
26772677 turn - shields are harder to disarm than weapons */
2678- && uarms && !rn2 (7 ) && obj == MON_WEP (mtmp )
2678+ && (uarms && !is_bracer (uarms ))
2679+ && !rn2 (7 ) && obj == MON_WEP (mtmp )
26792680 /* hero's location must be known and adjacent */
26802681 && mtmp -> mux == u .ux && mtmp -> muy == u .uy
26812682 && distu (mtmp -> mx , mtmp -> my ) <= 2
@@ -2849,7 +2850,8 @@ struct obj *start;
28492850 /* the random test prevents axe-wielding
28502851 monster from attempting shield removal every
28512852 turn - shields are harder to disarm than weapons */
2852- && uarms && !rn2 (7 ) && obj == MON_WEP (mtmp )
2853+ && (uarms && !is_bracer (uarms ))
2854+ && !rn2 (7 ) && obj == MON_WEP (mtmp )
28532855 /* hero's location must be known and adjacent */
28542856 && mtmp -> mux == u .ux && mtmp -> muy == u .uy
28552857 && distu (mtmp -> mx , mtmp -> my ) <= 2
@@ -3333,7 +3335,7 @@ struct monst *mtmp;
33333335 const char * hand ;
33343336 char the_shield [BUFSZ ];
33353337
3336- if (!obj )
3338+ if (!obj || is_bracer ( obj ) )
33373339 break ; /* shouldn't happen after find_misc() */
33383340
33393341 Strcpy (the_shield , the (xname (obj )));
0 commit comments