ab@unido.UUCP (05/24/85)
There is a minor bug in hack.pager.c: When you are blind and want to know what is lying on the floor, you get the message: "You try to feel what is lying here on the floor." but if there is more than one item, the list of objects follows immediately without a "--more--". Here is the fix (add the starred lines): --- hack.pager.c, line 220: > /* --- now we really do it --- */ > if(mode == 2 && linect == 1) /* topline only */ > pline(texthead->line_text); > else > if(mode == 2) { > register int curline, lth; > * if(flags.toplin == 1) more(); * remember_topl(); > lth = CO - maxlen - 2; /* Use full screen width */ > if (linect < LI && lth >= 10) { /* in a corner */ > home (); > cl_end (); > flags.toplin = 0; > curline = 1; --- Also if you are levitated and blind you shouldn't be able to feel the things lying on the floor. The fix follows: *** hack.invent.c.orig Mon Apr 15 15:11:48 1985 --- hack.invent.c Fri May 24 13:36:41 1985 *************** *** 625,630 char *verb = Blind ? "feel" : "see"; int ct = 0; if(!u.uswallow) { otmp0 = o_at(u.ux, u.uy); gold = g_at(u.ux, u.uy); --- 625,637 ----- char *verb = Blind ? "feel" : "see"; int ct = 0; + if(Blind) { + pline("You try to feel what is lying here on the floor."); + if(Levitation) { + pline("You cannot reach the floor!"); + return(1); + } + } if(!u.uswallow) { otmp0 = o_at(u.ux, u.uy); gold = g_at(u.ux, u.uy); *************** *** 633,640 pline("You %s no objects here.", verb); return(!!Blind); } - - if(Blind) pline("You try to feel what is lying here on the floor."); cornline(0, "Things that are here:"); for(otmp = otmp0; otmp; otmp = otmp->nobj) { if(otmp->ox == u.ux && otmp->oy == u.uy) { --- 640,645 ----- pline("You %s no objects here.", verb); return(!!Blind); } cornline(0, "Things that are here:"); for(otmp = otmp0; otmp; otmp = otmp->nobj) { if(otmp->ox == u.ux && otmp->oy == u.uy) { -- Andreas Bormann ab@unido.UUCP University of Dortmund N 51 29' 05" E 07 24' 42" West Germany
ab@unido.UUCP (05/28/85)
Sorry... the levitation fix should be as follows: *** hack.invent.c.orig Mon Apr 15 15:11:48 1985 --- hack.invent.c Tue May 28 09:23:41 1985 *************** *** 626,631 int ct = 0; if(!u.uswallow) { otmp0 = o_at(u.ux, u.uy); gold = g_at(u.ux, u.uy); } --- 626,638 ----- int ct = 0; if(!u.uswallow) { + if(Blind) { + pline("You try to feel what is lying here on the floor."); + if(Levitation) { + pline("You cannot reach the floor!"); + return(1); + } + } otmp0 = o_at(u.ux, u.uy); gold = g_at(u.ux, u.uy); } *************** *** 633,640 pline("You %s no objects here.", verb); return(!!Blind); } - - if(Blind) pline("You try to feel what is lying here on the floor."); cornline(0, "Things that are here:"); for(otmp = otmp0; otmp; otmp = otmp->nobj) { if(otmp->ox == u.ux && otmp->oy == u.uy) { --- 640,645 ----- pline("You %s no objects here.", verb); return(!!Blind); } cornline(0, "Things that are here:"); for(otmp = otmp0; otmp; otmp = otmp->nobj) { if(otmp->ox == u.ux && otmp->oy == u.uy) { -- Andreas Bormann ab@unido.UUCP University of Dortmund N 51 29' 05" E 07 24' 42" West Germany