From: utzoo!decvax!harpo!floyd!cmcl2!lanl-a!unm-ivax!nmtvax!mike
Newsgroups: net.games.rogue
Title: Re: enchanted arrows
Article-I.D.: nmtvax.196
Posted: Sat Feb 19 18:33:50 1983
Received: Wed Feb 23 01:19:48 1983
References: trw-unix.16

    Here is a fix for the "magic-arrow" bug in version 3.6 of rogue.
The fix should be made to the file 'move.c' in the routine 'be_trapped'
under the 'ARROWTRAP' case in the switch statement (I have included a
little context to help you locate the spot):

                .
                .
                .
		msg("An arrow shoots past you.");
		item = new_item(sizeof *arrow);
		arrow = (struct object *) ldata(item);
		arrow->o_type = WEAPON;
		arrow->o_which = ARROW;
		init_weapon(arrow, ARROW);
		arrow->o_count = 1;
		arrow->o_pos = hero;

		/* BUG FIX!  This fixes the infamous "arrow bug". */
		arrow->o_hplus = arrow->o_dplus = 0;
		if (rnd(100) < 15)
		    arrow->o_hplus += rnd(3)+1;
		/* End of BUG FIX! */

		fall(item, FALSE);
                .
                .
                .

    This bug turns the record file into a farce (our top scores were
in the hundreds of millions).  By the way, what is the "current"
version of rogue? 5? 6? 23?  Anyone know where I can get source (or
4.1bsd binary) for it?

			Mike Hibler
			New Mexico Tech
			ucbvax!unmvax!nmtvax!mike
			mike.nmt@rand-relay