Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site uwmacc.UUCP Path: utzoo!linus!philabs!prls!amdimage!amdcad!amd!vecpyr!lll-crg!gymble!umcp-cs!seismo!uwvax!uwmacc!myers From: myers@uwmacc.UUCP (Jeff Myers) Newsgroups: net.games.hack Subject: 1.0.2 minor bug fix in , command Message-ID: <1118@uwmacc.UUCP> Date: Wed, 22-May-85 05:54:32 EDT Article-I.D.: uwmacc.1118 Posted: Wed May 22 05:54:32 1985 Date-Received: Sat, 25-May-85 06:06:19 EDT Distribution: net Organization: UWisconsin-Madison Academic Comp Center Lines: 83 When you've been punished with a ball and chain, there's a small bug which appears when you do a , pickup command in the space where the chain is: you are asked whether or not you want to pick it up. The fix involves checking to see if the current object is the chain just a bit earlier. The context diff follows, which includes some previous bug fixes to hack.c. *** hack.c.old Sun May 12 14:23:52 1985 --- hack.c Wed May 22 03:47:57 1985 *************** *** 369,374 if(obj->ox == u.ux && obj->oy == u.uy) { if(flags.run) nomul(0); if(!all) { char c; --- 369,378 ----- if(obj->ox == u.ux && obj->oy == u.uy) { if(flags.run) nomul(0); + /* do not pick up uchain */ + if(Punished && obj == uchain) + continue; + if(!all) { char c; *************** *** 400,409 } } - /* do not pick up uchain */ - if(Punished && obj == uchain) - continue; - wt = inv_weight() + obj->owt; if(wt > 0) { if(obj->quan > 1) { --- 404,409 ----- } } wt = inv_weight() + obj->owt; if(wt > 0) { if(obj->quan > 1) { *************** *** 516,522 break; case '^': if(flags.run == 1) goto corr; /* if you must */ ! if(x == u.ux+u.dx && y == u.uy+u.dx) goto stop; break; default: /* e.g. objects or trap or stairs */ if(flags.run == 1) goto corr; --- 516,522 ----- break; case '^': if(flags.run == 1) goto corr; /* if you must */ ! if(x == u.ux+u.dx && y == u.uy+u.dy) goto stop; break; default: /* e.g. objects or trap or stairs */ if(flags.run == 1) goto corr; *************** *** 569,574 if(x == u.ux && y == u.uy) continue; if((mtmp = m_at(x,y)) && !mtmp->mimic && !mtmp->mtame && !mtmp->mpeaceful && !index("Ea", mtmp->data->mlet) && (!mtmp->minvis || See_invisible)) return(1); } --- 569,575 ----- if(x == u.ux && y == u.uy) continue; if((mtmp = m_at(x,y)) && !mtmp->mimic && !mtmp->mtame && !mtmp->mpeaceful && !index("Ea", mtmp->data->mlet) && + !mtmp->mfroz && !mtmp->msleep && /* aplvax!jcn */ (!mtmp->minvis || See_invisible)) return(1); }