--- nethack-3.4.3-orig/src/spell.c 2003-12-08 01:39:13.000000000 +0200 +++ nethack-3.4.3-dullsleep/src/spell.c 2005-02-06 00:42:53.000000000 +0200 @@ -437,6 +437,17 @@ if (spellbook->cursed) { too_hard = TRUE; } else { + + const char *dull = OBJ_DESCR(objects[spellbook->otyp]); + if (dull && !strcmp(dull, "dull") && rn2(50)) { + int dulltime = (objects[spellbook->otyp].oc_level+1) * 5; + dulltime += rn2(dulltime); + You("fall asleep trying to read it."); + spellbook->in_use = FALSE; + fall_asleep(-dulltime, TRUE); + return(1); + } + /* uncursed - chance to fail */ int read_ability = ACURR(A_INT) + 4 + u.ulevel/2 - 2*objects[booktype].oc_level