Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ucsfcgl.UUCP Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!ucsfcgl!kneller From: kneller@ucsfcgl.UUCP (Don Kneller%Langridge) Newsgroups: net.games.hack Subject: A facilitating bug Message-ID: <786@ucsfcgl.UUCP> Date: Mon, 10-Mar-86 02:01:43 EST Article-I.D.: ucsfcgl.786 Posted: Mon Mar 10 02:01:43 1986 Date-Received: Wed, 12-Mar-86 01:39:21 EST Reply-To: kneller@ucsfcgl.UUCP (Don Kneller) Organization: UCSF Computer Graphics Lab Lines: 48 It has occurred to me several times that killer bees just aren't as much problem with HACK 1.03 as with version 1.01. In 1.03 you can run away when you're in trouble. The bees follow you (sometimes), but they don't hit. Previously, they'd follow you (closely) *and* hit. After some looking at the code to 1.01 I found the problem. One section of code was changed to use an additional local variable which checked to see if the monster was close to you. However, the variable was not updated when a multiple-move monster (B,A,k,o among others) moved closer to you. Thus these monsters didn't "know" they were beside you and wouldn't try to hit you. To make matters even easier for you, when one of these monsters went to move again, the position you were at was considered inaccessible (because it was occupied by something), so the monster often moved away! This made killer bees appear not to be able to track you even though they were right beside you. Needless to say, this made one of the most difficult monsters *much* easier. This bug fix restores the potency of killer bees (and other multiple-move monsters). *** hack.mon.old.c Sun Mar 9 22:20:46 1986 --- hack.mon.c Sun Mar 9 22:20:27 1986 *************** *** 218,223 tmp = m_move(mtmp,0); /* 2: monster died moving */ if(tmp == 2 || (tmp && mdat->mmove <= 12)) return(tmp == 2); } if(!index("Ea", mdat->mlet) && nearby && --- 218,227 ----- tmp = m_move(mtmp,0); /* 2: monster died moving */ if(tmp == 2 || (tmp && mdat->mmove <= 12)) return(tmp == 2); + /* Without this line, fast monsters don't hit you when they've + * caught up to you. -dgk + */ + nearby = (dist(mtmp->mx, mtmp->my) < 3); /* bugfix - dgk */ } if(!index("Ea", mdat->mlet) && nearby && -- Don Kneller UUCP: ...ucbvax!ucsfcgl!kneller ARPA: kneller@ucsf-cgl.ARPA BITNET: kneller@ucsfcgl.BITNET