-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmes
37 lines (32 loc) · 1.08 KB
/
mes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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