diff -pruN slashem-0.0.7E7F1-official-release/include/decl.h slashem-0.0.7E7F1-helpless/include/decl.h --- slashem-0.0.7E7F1-official-release/include/decl.h 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/include/decl.h 2005-11-01 19:06:10.000000000 +0100 @@ -27,6 +27,7 @@ E char SAVEP[]; E NEARDATA int bases[MAXOCLASSES]; E NEARDATA int multi; +E char multi_txt[BUFSZ]; #if 0 E NEARDATA int warnlevel; #endif diff -pruN slashem-0.0.7E7F1-official-release/include/extern.h slashem-0.0.7E7F1-helpless/include/extern.h --- slashem-0.0.7E7F1-official-release/include/extern.h 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/include/extern.h 2005-11-01 19:06:10.000000000 +0100 @@ -771,7 +771,7 @@ E void FDECL(check_special_room, (BOOLEA E int NDECL(dopickup); E void NDECL(lookaround); E int NDECL(monster_nearby); -E void FDECL(nomul, (int)); +E void FDECL(nomul, (int, const char *)); E void FDECL(unmul, (const char *)); #ifdef SHOW_DMG E void FDECL(showdmg, (int)); diff -pruN slashem-0.0.7E7F1-official-release/src/allmain.c slashem-0.0.7E7F1-helpless/src/allmain.c --- slashem-0.0.7E7F1-official-release/src/allmain.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/allmain.c 2005-11-01 19:06:10.000000000 +0100 @@ -301,7 +301,7 @@ moveloop() if (occupation) stop_occupation(); else - nomul(0); + nomul(0, 0); if (change == 1) polyself(FALSE); else you_were(); change = 0; @@ -498,7 +498,7 @@ stop_occupation() sync_hunger(); */ #ifdef REDO - nomul(0); + nomul(0, 0); pushch(0); #endif } diff -pruN slashem-0.0.7E7F1-official-release/src/apply.c slashem-0.0.7E7F1-helpless/src/apply.c --- slashem-0.0.7E7F1-official-release/src/apply.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/apply.c 2005-11-01 19:37:59.000000000 +0100 @@ -661,7 +661,8 @@ struct obj *obj; pline(Hallucination ? "Yow! The mirror stares back!" : "Yikes! You've frozen yourself!"); - nomul(-rnd((MAXULEV+6) - u.ulevel)); + nomul(-rnd((MAXULEV+6) - u.ulevel), + "gazing into a mirror"); nomovemsg = 0; } else You("stiffen momentarily under your gaze."); } else if (is_vampire(youmonst.data)) @@ -834,7 +835,7 @@ struct obj **optr; break; case 2: /* no explanation; it just happens... */ nomovemsg = ""; - nomul(-rnd(2)); + nomul(-rnd(2), 0); break; } } @@ -1537,7 +1538,7 @@ int magic; /* 0=Physical, otherwise skil change_luck(-1); teleds(cc.x, cc.y, TRUE); - nomul(-1); + nomul(-1, "jumping around"); nomovemsg = ""; morehungry(rnd(25)); return 1; @@ -3371,7 +3372,7 @@ wand_explode(obj, hero_broke) current_wand = 0; if (obj) delobj(obj); - nomul(0); + nomul(0, 0); return 1; } @@ -3814,11 +3815,11 @@ doapply() } pline("Sorry, I don't know how to use that."); xit: - nomul(0); + nomul(0, 0); return 0; } if (res && obj && obj->oartifact) arti_speak(obj); - nomul(0); + nomul(0, 0); return res; } diff -pruN slashem-0.0.7E7F1-official-release/src/artifact.c slashem-0.0.7E7F1-helpless/src/artifact.c --- slashem-0.0.7E7F1-official-release/src/artifact.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/artifact.c 2005-11-01 19:06:10.000000000 +0100 @@ -1018,7 +1018,7 @@ char *hittee; /* target's name: "you" if (Antimagic) { resisted = TRUE; } else { - nomul(-3); + nomul(-3, "being scared stiff"); nomovemsg = ""; if (magr && magr == u.ustuck && sticks(youmonst.data)) { setustuck((struct monst *)0); diff -pruN slashem-0.0.7E7F1-official-release/src/ball.c slashem-0.0.7E7F1-helpless/src/ball.c --- slashem-0.0.7E7F1-official-release/src/ball.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/ball.c 2005-11-01 19:06:10.000000000 +0100 @@ -563,7 +563,7 @@ drag: if (near_capacity() > SLT_ENCUMBER && dist2(x, y, u.ux, u.uy) <= 2) { You("cannot %sdrag the heavy iron ball.", invent ? "carry all that and also " : ""); - nomul(0); + nomul(0, 0); return FALSE; } @@ -601,7 +601,7 @@ drag: u.uy = uchain->oy; newsym(u.ux0, u.uy0); } - nomul(0); + nomul(0, 0); *bc_control = BC_BALL; move_bc(1, *bc_control, *ballx, *bally, *chainx, *chainy); diff -pruN slashem-0.0.7E7F1-official-release/src/decl.c slashem-0.0.7E7F1-helpless/src/decl.c --- slashem-0.0.7E7F1-official-release/src/decl.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/decl.c 2005-11-01 19:08:23.000000000 +0100 @@ -20,6 +20,7 @@ char *catmore = 0; /* default pager */ NEARDATA int bases[MAXOCLASSES] = DUMMY; NEARDATA int multi = 0; +char multi_txt[BUFSZ] = DUMMY; NEARDATA boolean multi_one = FALSE; /* used by dofire() and throw_the_obj() */ #if 0 NEARDATA int warnlevel = 0; /* used by movemon and dochugw */ diff -pruN slashem-0.0.7E7F1-official-release/src/detect.c slashem-0.0.7E7F1-helpless/src/detect.c --- slashem-0.0.7E7F1-official-release/src/detect.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/detect.c 2005-11-01 19:06:10.000000000 +0100 @@ -867,7 +867,7 @@ struct obj *obj; return; } You("peer into %s...", the(xname(obj))); - nomul(-rnd(10)); + nomul(-rnd(10), "gazing into a crystal ball"); nomovemsg = ""; if (obj->spe <= 0) pline_The("vision is unclear."); @@ -1205,7 +1205,7 @@ register int aflag; if(rnl(7-fund)) continue; cvt_sdoor_to_door(&levl[x][y]); /* .typ = DOOR */ exercise(A_WIS, TRUE); - nomul(0); + nomul(0, 0); if (Blind && !aflag) feel_location(x,y); /* make sure it shows up */ else @@ -1215,7 +1215,7 @@ register int aflag; levl[x][y].typ = CORR; unblock_point(x,y); /* vision */ exercise(A_WIS, TRUE); - nomul(0); + nomul(0, 0); newsym(x,y); } else { /* Be careful not to find anything in an SCORR or SDOOR */ @@ -1260,7 +1260,7 @@ register int aflag; } if ((trap = t_at(x,y)) && !trap->tseen && !rnl(8)) { - nomul(0); + nomul(0, 0); if (trap->ttyp == STATUE_TRAP) { mtmp = activate_statue_trap(trap, x, y, FALSE); diff -pruN slashem-0.0.7E7F1-official-release/src/dig.c slashem-0.0.7E7F1-helpless/src/dig.c --- slashem-0.0.7E7F1-official-release/src/dig.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/dig.c 2005-11-01 19:06:10.000000000 +0100 @@ -996,7 +996,7 @@ struct obj *obj; aobjnam(obj, "become")); /* you ought to be able to let go; tough luck */ /* (maybe `move_into_trap()' would be better) */ - nomul(-d(2,2)); + nomul(-d(2,2), "stuck in a spider web"); nomovemsg = "You pull free."; } else if (lev->typ == IRONBARS) { pline("Clang!"); diff -pruN slashem-0.0.7E7F1-official-release/src/dothrow.c slashem-0.0.7E7F1-helpless/src/dothrow.c --- slashem-0.0.7E7F1-official-release/src/dothrow.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/dothrow.c 2005-11-01 19:09:05.000000000 +0100 @@ -735,13 +735,13 @@ hurtle(dx, dy, range, verbose) */ if(Punished && !carried(uball)) { You_feel("a tug from the iron ball."); - nomul(0); + nomul(0, 0); return; } else if (u.utrap) { You("are anchored by the %s.", u.utraptype == TT_WEB ? "web" : u.utraptype == TT_LAVA ? "lava" : u.utraptype == TT_INFLOOR ? surface(u.ux,u.uy) : "trap"); - nomul(0); + nomul(0, 0); return; } @@ -751,7 +751,7 @@ hurtle(dx, dy, range, verbose) if(!range || (!dx && !dy) || u.ustuck) return; /* paranoia */ - nomul(-range); + nomul(-range, "moving through the air"); nomovemsg = 0; if (verbose) You("%s in the opposite direction.", range > 1 ? "hurtle" : "float"); diff -pruN slashem-0.0.7E7F1-official-release/src/do_wear.c slashem-0.0.7E7F1-helpless/src/do_wear.c --- slashem-0.0.7E7F1-official-release/src/do_wear.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/do_wear.c 2005-11-01 19:22:36.000000000 +0100 @@ -687,7 +687,7 @@ Amulet_on() } while (sleeptime < 1 || sleeptime > 500); if (sleeptime > 0) { You("sit down and fall asleep."); - nomul(-sleeptime); + nomul(-sleeptime, "put to sleep by an amulet"); u.usleep = 1; nomovemsg = "You wake up from your refreshing nap."; HSleeping = rnd(100); @@ -1341,7 +1341,7 @@ register struct obj *otmp; if(cursed(otmp)) return(0); if(delay) { - nomul(delay); + nomul(delay, "disrobing"); if (is_helmet(otmp)) { nomovemsg = "You finish taking off your helmet."; afternmv = Helmet_off; @@ -1606,7 +1606,7 @@ dowear() setworn(otmp, mask); delay = -objects[otmp->otyp].oc_delay; if(delay){ - nomul(delay); + nomul(delay, "dressing up"); if(is_boots(otmp)) afternmv = Boots_on; if(is_helmet(otmp)) afternmv = Helmet_on; if(is_gloves(otmp)) afternmv = Gloves_on; diff -pruN slashem-0.0.7E7F1-official-release/src/eat.c slashem-0.0.7E7F1-helpless/src/eat.c --- slashem-0.0.7E7F1-official-release/src/eat.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/eat.c 2005-11-01 19:25:31.000000000 +0100 @@ -277,7 +277,7 @@ register struct obj *food; if (!food || food->otyp == AMULET_OF_STRANGULATION) { nomovemsg = "You recover your composure."; You("choke over it."); - nomul(-2); + nomul(-2, "choking over a meal"); return; } You("stuff yourself and then vomit voluminously."); @@ -1054,7 +1054,7 @@ register int pm; /* A pile of gold can't ride. */ if (u.usteed) dismount_steed(DISMOUNT_FELL); #endif - nomul(-tmp); + nomul(-tmp, "pretending to be a pile of gold"); Sprintf(buf, Hallucination ? "You suddenly dread being peeled and mimic %s again!" : "You now prefer mimicking %s again.", @@ -1459,7 +1459,7 @@ struct obj *obj; surface(u.ux,u.uy); pline_The("world spins and %s %s.", what, where); flags.soundok = 0; - nomul(-rnd(10)); + nomul(-rnd(10), "unconscious from rotten food"); nomovemsg = "You are conscious again."; afternmv = Hear_again; return(1); @@ -1739,7 +1739,7 @@ struct obj *otmp; pline("Hmm. Nothing happens."); } else { pline("You feel drowsy..."); - nomul(-rn2(50)); + nomul(-rn2(50), "sleeping after taking a pill"); u.usleep = 1; nomovemsg = "You wake up."; } @@ -2751,7 +2751,7 @@ is_fainted() void reset_faint() /* call when a faint must be prematurely terminated */ { - if(is_fainted()) nomul(0); + if(is_fainted()) nomul(0, 0); } #if 0 @@ -2760,7 +2760,7 @@ sync_hunger() { if(is_fainted()) { flags.soundok = 0; - nomul(-10+(u.uhunger/10)); + nomul(-10+(u.uhunger/10), "fainted from lack of food"); nomovemsg = "You regain consciousness."; afternmv = unfaint; } @@ -2825,7 +2825,7 @@ boolean incr; stop_occupation(); You("faint from lack of food."); flags.soundok = 0; - nomul(-10+(u.uhunger/10)); + nomul(-10+(u.uhunger/10), "fainted from lack of food"); nomovemsg = "You regain consciousness."; afternmv = unfaint; newhs = FAINTED; @@ -2958,7 +2958,7 @@ void vomit() /* A good idea from David Neves */ { make_sick(0L, (char *) 0, TRUE, SICK_VOMITABLE); - nomul(-2); + nomul(-2, "vomiting"); nomovemsg = 0; } diff -pruN slashem-0.0.7E7F1-official-release/src/end.c slashem-0.0.7E7F1-helpless/src/end.c --- slashem-0.0.7E7F1-official-release/src/end.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/end.c 2005-11-01 19:11:23.000000000 +0100 @@ -102,7 +102,7 @@ int sig_unused; clear_nhwindow(WIN_MESSAGE); curs_on_u(); wait_synch(); - if(multi > 0) nomul(0); + if(multi > 0) nomul(0, 0); } else { (void)done2(); } @@ -121,7 +121,7 @@ done2() clear_nhwindow(WIN_MESSAGE); curs_on_u(); wait_synch(); - if(multi > 0) nomul(0); + if(multi > 0) nomul(0, 0); if(multi == 0) { u.uinvulnerable = FALSE; /* avoid ctrl-C bug -dlc */ u.usleep = 0; @@ -232,8 +232,12 @@ register struct monst *mtmp; if (mtmp->mnamelth) Sprintf(eos(buf), " called %s", NAME(mtmp)); } - - if (multi) Strcat(buf,", while helpless"); + if (multi) { + if (strlen(multi_txt) > 0) + Sprintf(eos(buf), ", while %s", multi_txt); + else + Strcat(buf, ", while helpless"); + } } else { killer_format = KILLED_BY; Strcat(buf,"something while blind"); diff -pruN slashem-0.0.7E7F1-official-release/src/engrave.c slashem-0.0.7E7F1-helpless/src/engrave.c --- slashem-0.0.7E7F1-official-release/src/engrave.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/engrave.c 2005-11-01 19:12:15.000000000 +0100 @@ -375,7 +375,7 @@ boolean read_it; /* Read any sensed engr You("%s: \"%s\".", (Blind) ? "feel the words" : "read", et); - if(flags.run > 1) nomul(0); + if(flags.run > 1) nomul(0, 0); return TRUE; } } diff -pruN slashem-0.0.7E7F1-official-release/src/explode.c slashem-0.0.7E7F1-helpless/src/explode.c --- slashem-0.0.7E7F1-official-release/src/explode.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/explode.c 2005-11-01 19:06:10.000000000 +0100 @@ -768,7 +768,7 @@ struct obj *obj; /* only scatter this if (scflags & MAY_HITYOU) { int hitvalu, hitu; - if (multi) nomul(0); + if (multi) nomul(0, 0); hitvalu = 8 + stmp->obj->spe; if (bigmonst(youmonst.data)) hitvalu++; hitu = thitu(hitvalu, diff -pruN slashem-0.0.7E7F1-official-release/src/hack.c slashem-0.0.7E7F1-helpless/src/hack.c --- slashem-0.0.7E7F1-official-release/src/hack.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/hack.c 2005-11-01 19:27:48.000000000 +0100 @@ -397,7 +397,7 @@ moverock() rx = u.ux + 2 * u.dx; /* boulder destination position */ ry = u.uy + 2 * u.dy; - nomul(0); + nomul(0, 0); if (Levitation || Is_airlevel(&u.uz)) { if (Blind) feel_location(sx,sy); You("don't have enough leverage to push %s.", the(xname(otmp))); @@ -654,7 +654,7 @@ still_chewing(x,y) if (!boulder && IS_ROCK(lev->typ) && !may_dig(x,y)) { You("hurt your teeth on the %s.", IS_TREE(lev->typ) ? "tree" : "hard stone"); - nomul(0); + nomul(0, 0); return 1; } else if (digging.pos.x != x || digging.pos.y != y || !on_level(&digging.level, &u.uz)) { @@ -1083,7 +1083,7 @@ boolean guess; if (test_move(u.ux, u.uy, u.tx-u.ux, u.ty-u.uy, TEST_MOVE)) { u.dx = u.tx-u.ux; u.dy = u.ty-u.uy; - nomul(0); + nomul(0, 0); iflags.travelcc.x = iflags.travelcc.y = -1; return TRUE; } @@ -1149,7 +1149,7 @@ boolean guess; u.dx = x-ux; u.dy = y-uy; if (x == u.tx && y == u.ty) { - nomul(0); + nomul(0, 0); /* reset run so domove run checks work */ flags.run = 8; iflags.travelcc.x = iflags.travelcc.y = -1; @@ -1219,7 +1219,7 @@ boolean guess; found: u.dx = 0; u.dy = 0; - nomul(0); + nomul(0, 0); return FALSE; } @@ -1256,7 +1256,7 @@ domove() exercise(A_CON, FALSE); } else You("collapse under your load."); - nomul(0); + nomul(0, 0); return; } if(u.uswallow) { @@ -1307,7 +1307,7 @@ domove() /* Check if your steed can move */ if (u.usteed && (!u.usteed->mcanmove || u.usteed->msleeping)) { Your("steed doesn't respond!"); - nomul(0); + nomul(0, "riding an immobile steed"); return; } #endif @@ -1320,7 +1320,7 @@ domove() do { if(tries++ > 50) { - nomul(0); + nomul(0, 0); return; } confdir(); @@ -1332,14 +1332,14 @@ domove() if (u.uinwater) { water_friction(); if (!u.dx && !u.dy) { - nomul(0); + nomul(0, 0); return; } x = u.ux + u.dx; y = u.uy + u.dy; } if(!isok(x, y)) { - nomul(0); + nomul(0, 0); return; } if (((trap = t_at(x, y)) && trap->tseen) || @@ -1347,11 +1347,11 @@ domove() !is_clinger(youmonst.data) && (is_pool(x, y) || is_lava(x, y)) && levl[x][y].seenv)) { if(flags.run >= 2) { - nomul(0); + nomul(0, 0); flags.move = 0; return; } else - nomul(0); + nomul(0, 0); } if (u.ustuck && (x != u.ustuck->mx || y != u.ustuck->my)) { @@ -1392,7 +1392,7 @@ domove() !Conflict && !u.ustuck->mconf) goto pull_free; You("cannot escape from %s!", mon_nam(u.ustuck)); - nomul(0); + nomul(0, 0); return; } } @@ -1408,7 +1408,7 @@ domove() mtmp->m_ap_type != M_AP_OBJECT) || Protection_from_shape_changers)) || sensemon(mtmp))) { - nomul(0); + nomul(0, 0); flags.move = 0; return; } @@ -1421,7 +1421,7 @@ domove() tmpr = &levl[x][y]; /* attack monster */ if(mtmp) { - nomul(0); + nomul(0, 0); /* only attack if we know it's there */ /* or if we used the 'F' command to fight blindly */ /* or if it hides_under, in which case we call attack() to print @@ -1487,7 +1487,7 @@ domove() is_pool(x,y) ? "empty water" : buf); unmap_object(x, y); /* known empty -- remove 'I' if present */ newsym(x, y); - nomul(0); + nomul(0, 0); if (expl) { u.mh = -1; /* dead in the current form */ rehumanize(); @@ -1504,7 +1504,7 @@ domove() #ifdef STEED if (u.usteed && !u.usteed->mcanmove && (u.dx || u.dy)) { pline("%s won't move!", upstart(y_monnam(u.usteed))); - nomul(0); + nomul(0, 0); return; } else #endif @@ -1512,7 +1512,7 @@ domove() You("are rooted %s.", Levitation || Is_airlevel(&u.uz) || Is_waterlevel(&u.uz) ? "in place" : "to the ground"); - nomul(0); + nomul(0, 0); return; } if(u.utrap) { @@ -1641,7 +1641,7 @@ domove() if (!test_move(u.ux, u.uy, x-u.ux, y-u.uy, DO_MOVE)) { flags.move = 0; - nomul(0); + nomul(0, 0); return; } @@ -1652,7 +1652,7 @@ domove() */ if (!attack(mtmp)) { flags.move = 0; - nomul(0); + nomul(0,0); } return; } @@ -1798,7 +1798,7 @@ domove() if ( flags.run < 8 ) if (IS_DOOR(tmpr->typ) || IS_ROCK(tmpr->typ) || IS_FURNITURE(tmpr->typ)) - nomul(0); + nomul(0, 0); } if (hides_under(youmonst.data)) @@ -1836,7 +1836,7 @@ domove() /* delay next move because of ball dragging */ /* must come after we finished picking up, in spoteffects() */ if (cause_delay) { - nomul(-2); + nomul(-2, "dragging an iron ball"); nomovemsg = ""; } @@ -1864,7 +1864,7 @@ invocation_message() char buf[BUFSZ]; struct obj *otmp = carrying(CANDELABRUM_OF_INVOCATION); - nomul(0); /* stop running or travelling */ + nomul(0, 0); /* stop running or travelling */ if (Hallucination) pline("You're picking up good vibrations!"); else { @@ -2392,7 +2392,7 @@ lookaround() /* Grid bugs stop if trying to move diagonal, even if blind. Maybe */ /* they polymorphed while in the middle of a long move. */ if (u.umonnum == PM_GRID_BUG && u.dx && u.dy) { - nomul(0); + nomul(0, 0); return; } @@ -2470,7 +2470,7 @@ bcorr: continue; } stop: - nomul(0); + nomul(0, 0); return; } /* end for loops */ @@ -2564,13 +2564,18 @@ maybe_wail() } void -nomul(nval) - register int nval; +nomul(nval, txt) +register int nval; +const char *txt; { if(multi < nval) return; /* This is a bug fix by ab@unido */ u.uinvulnerable = FALSE; /* Kludge to avoid ctrl-C bug -dlc */ u.usleep = 0; multi = nval; + if (txt && txt[0]) + (void) strncpy(multi_txt, txt, BUFSZ); + else + (void) memset(multi_txt, 0, BUFSZ); flags.travel = iflags.travel1 = flags.mv = flags.run = 0; } @@ -2580,6 +2585,7 @@ unmul(msg_override) const char *msg_override; { multi = 0; /* caller will usually have done this already */ + (void) memset(multi_txt, 0, BUFSZ); if (msg_override) nomovemsg = msg_override; else if (!nomovemsg) nomovemsg = You_can_move_again; if (*nomovemsg) pline(nomovemsg); diff -pruN slashem-0.0.7E7F1-official-release/src/mcastu.c slashem-0.0.7E7F1-helpless/src/mcastu.c --- slashem-0.0.7E7F1-official-release/src/mcastu.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/mcastu.c 2005-11-01 19:13:26.000000000 +0100 @@ -258,7 +258,7 @@ castmu(mtmp, mattk, thinks_it_foundyou, return(0); } - nomul(0); + nomul(0, 0); mtmp->m_en -= spellev * 5; /* Use up the energy now */ @@ -702,13 +702,13 @@ int spellnum; shieldeff(u.ux, u.uy); if (multi >= 0) You("stiffen briefly."); - nomul(-1); + nomul(-1, "paralyzed by a monster"); } else { if (multi >= 0) You("are frozen in place!"); dmg = 4 + (int)mtmp->m_lev; if (Half_spell_damage) dmg = (dmg + 1) / 2; - nomul(-dmg); + nomul(-dmg, "paralyzed by a monster"); } nomovemsg = 0; dmg = 0; @@ -886,7 +886,7 @@ buzzmu(mtmp, mattk) /* monster uses spe return(0); } if(lined_up(mtmp) && rn2(3)) { - nomul(0); + nomul(0, 0); if(mattk->adtyp && (mattk->adtyp < 11)) { /* no cf unsigned >0 */ if(canseemon(mtmp)) pline("%s zaps you with a %s!", Monnam(mtmp), diff -pruN slashem-0.0.7E7F1-official-release/src/mhitm.c slashem-0.0.7E7F1-helpless/src/mhitm.c --- slashem-0.0.7E7F1-official-release/src/mhitm.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/mhitm.c 2005-11-01 19:33:59.000000000 +0100 @@ -492,7 +492,7 @@ struct attack *mattk; mhp = mdef->mhp; buzz((int)(-20 - (typ-1)), (int)mattk->damn, magr->mx, magr->my, sgn(tbx), sgn(tby)); - nomul(0); + nomul(0, 0); /* breath runs out sometimes. */ if (!rn2(3)) magr->mspec_used = 10+rn2(20); @@ -544,7 +544,7 @@ struct attack *mattk; mhp = mdef->mhp; m_throw(magr, magr->mx, magr->my, sgn(tbx), sgn(tby), distmin(magr->mx, magr->my, mdef->mx, mdef->my), obj); - nomul(0); + nomul(0,0); return (mdef->mhp < 1 ? MM_DEF_DIED : 0) | (mdef->mhp < mhp ? MM_HIT : 0) | (magr->mhp < 1 ? MM_AGR_DIED : 0); @@ -725,7 +725,7 @@ struct monst *magr, *mdef; m_shot.o = STRANGE_OBJECT; m_shot.s = FALSE; - nomul(0); + nomul(0, 0); return (mdef->mhp < 1 ? MM_DEF_DIED : 0) | (mdef->mhp < mhp ? MM_HIT : 0) | (magr->mhp < 1 ? MM_AGR_DIED : 0); diff -pruN slashem-0.0.7E7F1-official-release/src/mhitu.c slashem-0.0.7E7F1-helpless/src/mhitu.c --- slashem-0.0.7E7F1-official-release/src/mhitu.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/mhitu.c 2005-11-01 19:30:43.000000000 +0100 @@ -423,7 +423,7 @@ mattacku(mtmp) * invisible, or you might be blind.... */ - if(!ranged) nomul(0); + if(!ranged) nomul(0, 0); if(mtmp->mhp <= 0 || (Underwater && !is_swimmer(mtmp->data))) return(0); @@ -1408,7 +1408,7 @@ dopois: if (Blind) You("are frozen!"); else You("are frozen by %s!", mon_nam(mtmp)); nomovemsg = 0; /* default: "you can move again" */ - nomul(-rnd(10)); + nomul(-rnd(10), "paralyzed by a monster"); exercise(A_DEX, FALSE); } } @@ -1422,7 +1422,7 @@ dopois: if (Blind) You("are mercilessly tickled!"); else You("are mercilessly tickled by %s!", mon_nam(mtmp)); nomovemsg = 0; /* default: "you can move again" */ - nomul(-rnd(10)); + nomul(-rnd(10), "tickled by a monster"); exercise(A_DEX, FALSE); exercise(A_CON, FALSE); } @@ -2429,7 +2429,7 @@ gazemu(mtmp, mattk) /* monster gazes at } else if (Sleep_resistance) { pline("You yawn."); } else { - nomul(-rnd(10)); + nomul(-rnd(10), "put to sleep by a monster"); u.usleep = 1; nomovemsg = "You wake up."; if (Blind) You("are put to sleep!"); @@ -2503,7 +2503,7 @@ gazemu(mtmp, mattk) /* monster gazes at else { You("are frozen by %s!", mon_nam(mtmp)); nomovemsg = 0; - nomul(-rnd(4)); + nomul(-rnd(4), "frozen by a monster"); exercise(A_DEX, FALSE); } } diff -pruN slashem-0.0.7E7F1-official-release/src/mthrowu.c slashem-0.0.7E7F1-helpless/src/mthrowu.c --- slashem-0.0.7E7F1-official-release/src/mthrowu.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/mthrowu.c 2005-11-01 19:30:55.000000000 +0100 @@ -406,7 +406,7 @@ m_throw(mon, x, y, dx, dy, range, obj) if (ohitmon(mon, mtmp, singleobj, range, TRUE)) break; } else if (bhitpos.x == u.ux && bhitpos.y == u.uy) { - if (multi) nomul(0); + if (multi) nomul(0, 0); if (singleobj->oclass == GEM_CLASS && singleobj->otyp <= LAST_GEM+9 /* 9 glass colors */ @@ -718,7 +718,7 @@ struct monst *mtmp; m_shot.o = STRANGE_OBJECT; m_shot.s = FALSE; - nomul(0); + nomul(0, 0); } #endif /* OVL1 */ @@ -756,7 +756,7 @@ register struct attack *mattk; pline("%s spits venom!", Monnam(mtmp)); m_throw(mtmp, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby), distmin(mtmp->mx,mtmp->my,mtmp->mux,mtmp->muy), otmp); - nomul(0); + nomul(0, 0); return 0; } } @@ -794,7 +794,7 @@ breamu(mtmp, mattk) /* monster breathe breathwep[typ-1]); buzz((int) (-20 - (typ-1)), (int)mattk->damn, mtmp->mx, mtmp->my, sgn(tbx), sgn(tby)); - nomul(0); + nomul(0, 0); /* breath runs out sometimes. Also, give monster some * cunning; don't breath if the player fell asleep. */ @@ -828,7 +828,7 @@ xchar ax, ay; zap_over_floor(mtmp->mx, mtmp->my, (int) (-20 - (typ-1)), NULL); buzz((int) (-20 - (typ-1)), (int)mattk->damn, mtmp->mx, mtmp->my, ax, ay); - nomul(0); + nomul(0, 0); /* breath runs out sometimes. */ if(!rn2(3)) mtmp->mspec_used = 10+rn2(20); diff -pruN slashem-0.0.7E7F1-official-release/src/muse.c slashem-0.0.7E7F1-helpless/src/muse.c --- slashem-0.0.7E7F1-official-release/src/muse.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/muse.c 2005-11-01 19:31:06.000000000 +0100 @@ -1244,7 +1244,7 @@ register struct obj *otmp; losehp(tmp, "wand", KILLED_BY_AN); } else pline_The("wand misses you."); stop_occupation(); - nomul(0); + nomul(0, 0); } else if (resists_magm(mtmp)) { shieldeff(mtmp->mx, mtmp->my); pline("Boing!"); @@ -1291,7 +1291,7 @@ register struct obj *otmp; if (zap_oseen) makeknown(WAN_DRAINING); stop_occupation(); - nomul(0); + nomul(0, 0); break; } else if (resists_drli(mtmp)) { shieldeff(mtmp->mx, mtmp->my); diff -pruN slashem-0.0.7E7F1-official-release/src/pickup.c slashem-0.0.7E7F1-helpless/src/pickup.c --- slashem-0.0.7E7F1-official-release/src/pickup.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/pickup.c 2005-11-01 19:06:10.000000000 +0100 @@ -273,7 +273,7 @@ boolean picked_some; /* If there are objects here, take a look. */ if (ct) { - if (flags.run) nomul(0); + if (flags.run) nomul(0, 0); flush_screen(1); (void) look_here(ct, picked_some); } else { @@ -446,7 +446,7 @@ int what; /* should be a long */ } /* if there's anything here, stop running */ - if (OBJ_AT(u.ux,u.uy) && flags.run && flags.run != 8 && !flags.nopick) nomul(0); + if (OBJ_AT(u.ux,u.uy) && flags.run && flags.run != 8 && !flags.nopick) nomul(0, 0); } add_valid_menu_class(0); /* reset */ @@ -1313,7 +1313,7 @@ boolean telekinesis; /* not picking it u obj->quan -= count; } flags.botl = 1; - if (flags.run) nomul(0); + if (flags.run) nomul(0, 0); return 1; #endif } else if (obj->otyp == CORPSE) { @@ -2232,7 +2232,7 @@ int held; (void) chest_trap(obj, HAND, FALSE); /* even if the trap fails, you've used up this turn */ if (multi >= 0) { /* in case we didn't become paralyzed */ - nomul(-1); + nomul(-1, "opening FIXME!"); nomovemsg = ""; } return 1; diff -pruN slashem-0.0.7E7F1-official-release/src/polyself.c slashem-0.0.7E7F1-helpless/src/polyself.c --- slashem-0.0.7E7F1-official-release/src/polyself.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/polyself.c 2005-11-01 19:31:37.000000000 +0100 @@ -889,7 +889,7 @@ rehumanize() } if (!uarmg) selftouch("No longer petrify-resistant, you"); - nomul(0); + nomul(0, 0); flags.botl = 1; vision_full_recalc = 1; @@ -1274,7 +1274,7 @@ dogaze() nomul((u.ulevel > 6 || rn2(4)) ? -d((int)mtmp->m_lev+1, (int)mtmp->data->mattk[0].damd) - : -200); + : -200, "frozen by a monster's gaze"); return 1; } else You("stiffen momentarily under %s gaze.", @@ -1734,7 +1734,7 @@ polyatwill() /* Polymorph under con u.uen -= EN_DOPP; if (multi >= 0) { if (occupation) stop_occupation(); - else nomul(0); + else nomul(0, 0); } polyself(FALSE); if (Upolyd) { /* You actually polymorphed */ @@ -1765,7 +1765,7 @@ polyatwill() /* Polymorph under con if (!Upolyd) { if (multi >= 0) { if (occupation) stop_occupation(); - else nomul(0); + else nomul(0, 0); } you_were(); return 1; diff -pruN slashem-0.0.7E7F1-official-release/src/potion.c slashem-0.0.7E7F1-helpless/src/potion.c --- slashem-0.0.7E7F1-official-release/src/potion.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/potion.c 2005-11-01 19:06:10.000000000 +0100 @@ -328,7 +328,7 @@ ghost_from_bottle() Hallucination ? rndmonnam() : (const char *)"ghost"); if(flags.verbose) You("are frightened to death, and unable to move."); - nomul(-3); + nomul(-3, "being frightened to death"); nomovemsg = "You regain your composure."; } @@ -668,7 +668,7 @@ peffects(otmp) else Your("%s are frozen to the %s!", makeplural(body_part(FOOT)), surface(u.ux, u.uy)); - nomul(-(rn1(10, 25 - 12*bcsign(otmp)))); + nomul(-(rn1(10, 25 - 12*bcsign(otmp))), "frozen by a potion"); nomovemsg = You_can_move_again; exercise(A_DEX, FALSE); } @@ -1583,7 +1583,7 @@ register struct obj *obj; kn++; if (!Free_action) { pline("%s seems to be holding you.", Something); - nomul(-rnd(5)); + nomul(-rnd(5), "frozen by a potion"); nomovemsg = You_can_move_again; exercise(A_DEX, FALSE); } else You("stiffen momentarily."); @@ -1592,7 +1592,7 @@ register struct obj *obj; kn++; if (!Free_action && !Sleep_resistance) { You_feel("rather tired."); - nomul(-rnd(5)); + nomul(-rnd(5), "sleeping off a magical draught"); nomovemsg = You_can_move_again; exercise(A_DEX, FALSE); } else You("yawn."); diff -pruN slashem-0.0.7E7F1-official-release/src/pray.c slashem-0.0.7E7F1-helpless/src/pray.c --- slashem-0.0.7E7F1-official-release/src/pray.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/pray.c 2005-11-01 19:15:01.000000000 +0100 @@ -1389,7 +1389,7 @@ dosacrifice() case 2: case 3: You("are terrified, and unable to move."); - nomul(-3); + nomul(-3, "being terrified of a demon"); nomovemsg = 0; break; case 4: @@ -1824,7 +1824,7 @@ dopray() } } #endif - nomul(-3); + nomul(-3, "praying"); nomovemsg = "You finish your prayer."; afternmv = prayer_done; @@ -1995,7 +1995,7 @@ turn_undead() } } } - nomul(-2); + nomul(-2, "trying to turn the monsters"); nomovemsg = 0; return(1); } diff -pruN slashem-0.0.7E7F1-official-release/src/priest.c slashem-0.0.7E7F1-helpless/src/priest.c --- slashem-0.0.7E7F1-official-release/src/priest.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/priest.c 2005-11-01 19:06:10.000000000 +0100 @@ -405,7 +405,7 @@ register int roomno; set_malign(mtmp); if(flags.verbose) You("are frightened to death, and unable to move."); - nomul(-3); + nomul(-3, "frightened to death"); nomovemsg = "You regain your composure."; } } diff -pruN slashem-0.0.7E7F1-official-release/src/save.c slashem-0.0.7E7F1-helpless/src/save.c --- slashem-0.0.7E7F1-official-release/src/save.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/save.c 2005-11-01 19:06:10.000000000 +0100 @@ -69,7 +69,7 @@ dosave() clear_nhwindow(WIN_MESSAGE); if(yn("Really save?") == 'n') { clear_nhwindow(WIN_MESSAGE); - if(multi > 0) nomul(0); + if(multi > 0) nomul(0, 0); } else { clear_nhwindow(WIN_MESSAGE); pline("Saving..."); diff -pruN slashem-0.0.7E7F1-official-release/src/sounds.c slashem-0.0.7E7F1-helpless/src/sounds.c --- slashem-0.0.7E7F1-official-release/src/sounds.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/sounds.c 2005-11-01 19:42:43.000000000 +0100 @@ -357,7 +357,7 @@ int lev; if (verb) { pline("%s %s%c", Monnam(mtmp), vtense((char *)0, verb), lev>1?'!':'.'); - if (flags.run) nomul(0); + if (flags.run) nomul(0, 0); wake_nearto(mtmp->mx,mtmp->my,mtmp->data->mlevel*6*lev); } } @@ -739,7 +739,7 @@ register struct monst *mtmp; case MS_BONES: pline("%s rattles noisily.", Monnam(mtmp)); You("freeze for a moment."); - nomul(-2); + nomul(-2, "scared by rattling"); nomovemsg = 0; break; case MS_LAUGH: diff -pruN slashem-0.0.7E7F1-official-release/src/spell.c slashem-0.0.7E7F1-helpless/src/spell.c --- slashem-0.0.7E7F1-official-release/src/spell.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/spell.c 2005-11-01 19:19:51.000000000 +0100 @@ -356,7 +356,7 @@ learn() if (Confusion) { /* became confused while learning */ (void) confused_book(book); book = 0; /* no longer studying */ - nomul(delay - end_delay); /* remaining delay is uninterrupted */ + nomul(delay - end_delay, "reading a book"); /* remaining delay is uninterrupted */ delay = end_delay; return(0); } @@ -510,7 +510,7 @@ register struct obj *spellbook; if (too_hard && (spellbook->cursed || !spellbook->spe)) { boolean gone = cursed_book(spellbook); - nomul(delay); /* study time */ + nomul(delay, "reading a book"); /* study time */ delay = 0; if(gone || !rn2(3)) { if (!gone) pline_The("spellbook crumbles to dust!"); @@ -526,7 +526,7 @@ register struct obj *spellbook; if (!confused_book(spellbook)) { spellbook->in_use = FALSE; } - nomul(delay); + nomul(delay, "reading a book"); delay = 0; return(1); } diff -pruN slashem-0.0.7E7F1-official-release/src/steal.c slashem-0.0.7E7F1-helpless/src/steal.c --- slashem-0.0.7E7F1-official-release/src/steal.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/steal.c 2005-11-01 19:20:27.000000000 +0100 @@ -399,7 +399,7 @@ gotobj: equipname(otmp)); named++; /* the following is to set multi for later on */ - nomul(-armordelay); + nomul(-armordelay, "taking off clothes"); nomovemsg = 0; remove_worn_item(otmp, TRUE); otmp->cursed = curssv; diff -pruN slashem-0.0.7E7F1-official-release/src/tech.c slashem-0.0.7E7F1-helpless/src/tech.c --- slashem-0.0.7E7F1-official-release/src/tech.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/tech.c 2005-11-01 19:32:24.000000000 +0100 @@ -1006,7 +1006,7 @@ int tech_no; change_luck(-1); You("reform!"); teleds(cc.x, cc.y, FALSE); - nomul(-1); + nomul(-1, "performing liquid leap"); nomovemsg = ""; } t_timeout = rn1(1000,500); @@ -1089,7 +1089,7 @@ int tech_no; } } } - nomul(-2); /* You need to recover */ + nomul(-2, "raising zombies"); /* You need to recover */ nomovemsg = 0; t_timeout = rn1(1000,500); break; diff -pruN slashem-0.0.7E7F1-official-release/src/teleport.c slashem-0.0.7E7F1-helpless/src/teleport.c --- slashem-0.0.7E7F1-official-release/src/teleport.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/teleport.c 2005-11-01 19:06:10.000000000 +0100 @@ -587,7 +587,7 @@ boolean allow_drag; newsym(u.ux0,u.uy0); see_monsters(); vision_full_recalc = 1; - nomul(0); + nomul(0, 0); vision_recalc(0); /* vision before effects */ spoteffects(TRUE); invocation_message(); diff -pruN slashem-0.0.7E7F1-official-release/src/timeout.c slashem-0.0.7E7F1-helpless/src/timeout.c --- slashem-0.0.7E7F1-official-release/src/timeout.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/timeout.c 2005-11-01 19:21:14.000000000 +0100 @@ -37,7 +37,7 @@ stoned_dialogue() if (i == 5L) HFast = 0L; if (i == 3L) { - nomul(-3); + nomul(-3, "getting stoned"); nomovemsg = 0; } exercise(A_DEX, FALSE); @@ -142,7 +142,7 @@ slime_dialogue() if (i == 3L) { /* limbs becoming oozy */ HFast = 0L; /* lose intrinsic speed */ stop_occupation(); - if (multi > 0) nomul(0); + if (multi > 0) nomul(0, 0); } exercise(A_DEX, FALSE); } @@ -387,7 +387,7 @@ nh_timeout() /* otherwise handle fumbling msgs locally. */ if (u.umoved && !Levitation) { slip_or_trip(); - nomul(-2); + nomul(-2, "fumbling"); nomovemsg = ""; /* The more you are carrying the more likely you * are to make noise when you fumble. Adjustments @@ -422,7 +422,7 @@ int how_long; boolean wakeup_msg; { stop_occupation(); - nomul(how_long); + nomul(how_long, "sleeping"); /* generally don't notice sounds while sleeping */ if (wakeup_msg && multi == how_long) { /* caller can follow with a direct call to Hear_again() if @@ -1767,7 +1767,7 @@ do_storms() pline("Kaboom!!! Boom!! Boom!!"); if(!u.uinvulnerable) { stop_occupation(); - nomul(-3); + nomul(-3, "hiding from thunderstorm"); nomovemsg = 0; } } else diff -pruN slashem-0.0.7E7F1-official-release/src/trap.c slashem-0.0.7E7F1-helpless/src/trap.c --- slashem-0.0.7E7F1-official-release/src/trap.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/trap.c 2005-11-01 19:06:10.000000000 +0100 @@ -597,7 +597,7 @@ unsigned trflags; boolean webmsgok = (!(trflags & NOWEBMSG)); boolean forcebungle = (trflags & FORCEBUNGLE); - nomul(0); + nomul(0, 0); /* KMH -- You can't escape the Sokoban level traps */ if (In_sokoban(&u.uz) && @@ -1440,7 +1440,7 @@ int style; break; } } else if (bhitpos.x == u.ux && bhitpos.y == u.uy) { - if (multi) nomul(0); + if (multi) nomul(0, 0); if (thitu(9 + singleobj->spe, dmgval(singleobj, &youmonst), singleobj, (char *)0)) @@ -4050,7 +4050,7 @@ boolean disarm; if (!Free_action) { if (!Free_action) { pline("Suddenly you are frozen in place!"); - nomul(-d(5, 6)); + nomul(-d(5, 6), "frozen by a trap"); exercise(A_DEX, FALSE); nomovemsg = You_can_move_again; } else You("momentarily stiffen."); diff -pruN slashem-0.0.7E7F1-official-release/src/uhitm.c slashem-0.0.7E7F1-helpless/src/uhitm.c --- slashem-0.0.7E7F1-official-release/src/uhitm.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/uhitm.c 2005-11-01 19:33:44.000000000 +0100 @@ -2188,7 +2188,7 @@ register struct attack *mattk; pline("You yawn."); break; } else { - nomul(-rnd(10)); + nomul(-rnd(10), "sleeping"); u.usleep = 1; nomovemsg = "You wake up."; if (Blind) You("are put to sleep!"); @@ -2513,7 +2513,7 @@ register struct attack *mattk; */ You("digest %s.", mon_nam(mdef)); if (Slow_digestion) tmp *= 2; - nomul(-tmp); + nomul(-tmp, "digesting something"); nomovemsg = msgbuf; } else pline("%s", msgbuf); if (mdef->data == &mons[PM_GREEN_SLIME]) { @@ -3153,7 +3153,7 @@ uchar aatyp; else { You("are frozen by %s gaze!", s_suffix(mon_nam(mon))); - nomul((ACURR(A_WIS) > 12 || rn2(4)) ? -tmp : -127); + nomul((ACURR(A_WIS) > 12 || rn2(4)) ? -tmp : -127, "frozen by a monster's gaze"); } } else { pline("%s cannot defend itself.", @@ -3165,7 +3165,7 @@ uchar aatyp; } else { /* gelatinous cube */ You("are frozen by %s!", mon_nam(mon)); nomovemsg = 0; /* default: "you can move again" */ - nomul(-tmp); + nomul(-tmp, "frozen by a monster"); exercise(A_DEX, FALSE); } break; diff -pruN slashem-0.0.7E7F1-official-release/src/vault.c slashem-0.0.7E7F1-helpless/src/vault.c --- slashem-0.0.7E7F1-official-release/src/vault.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/vault.c 2005-11-01 19:06:10.000000000 +0100 @@ -260,7 +260,7 @@ fnd: } stop_occupation(); /* if occupied, stop it *now* */ - if (multi > 0) { nomul(0); unmul((char *)0); } + if (multi > 0) { nomul(0, 0); unmul((char *)0); } trycount = 5; do { getlin("\"Hello stranger, who are you?\" -", buf); diff -pruN slashem-0.0.7E7F1-official-release/src/zap.c slashem-0.0.7E7F1-helpless/src/zap.c --- slashem-0.0.7E7F1-official-release/src/zap.c 2005-07-02 09:24:44.000000000 +0200 +++ slashem-0.0.7E7F1-helpless/src/zap.c 2005-11-01 19:06:10.000000000 +0100 @@ -4122,7 +4122,7 @@ register int dx,dy; miss(fltxt,mon); } } else if (sx == u.ux && sy == u.uy && range >= 0) { - nomul(0); + nomul(0, 0); #ifdef STEED if (u.usteed && !rn2(3) && !mon_reflects(u.usteed, (char *)0)) { mon = u.usteed; @@ -4160,7 +4160,7 @@ register int dx,dy; if (!Blind) Your(vision_clears); } stop_occupation(); - nomul(0); + nomul(0, 0); } if(!ZAP_POS(lev->typ) || (closed_door(sx, sy) && (range >= 0))) {