diff -Nurd original/src/engrave.c new/src/engrave.c --- original/src/engrave.c 2003-12-08 00:39:13.000000000 +0100 +++ new/src/engrave.c 2008-09-16 20:27:47.000000000 +0200 @@ -755,8 +755,13 @@ } else /* end if zappable */ if (!can_reach_floor()) { You_cant("reach the %s!", surface(u.ux,u.uy)); - return(0); - } + /* If it's a wrestable wand, the player wasted a */ + /* turn trying. */ + if (wrestable(otmp)) + return(1); + else + return(0); + } break; case WEAPON_CLASS: diff -Nurd original/src/zap.c new/src/zap.c --- original/src/zap.c 2003-12-08 00:39:13.000000000 +0100 +++ new/src/zap.c 2008-09-16 20:33:28.000000000 +0200 @@ -1744,6 +1744,18 @@ #ifdef OVL1 /* + * wrestable - returns 1 if a wand can only be zapped + * by wresting it. + * added by bcd@pvv.org 16/9/08 + */ +int +wrestable(wand) +register struct obj *wand; +{ + return (wand->spe == 0); +} + +/* * zappable - returns 1 if zap is available, 0 otherwise. * it removes a charge from the wand if zappable. * added by GAN 11/03/86