1		NetHack Fixes List	Revision 2.2
2
3Fixes and Modified Features
4---------------------------
5Guidebook.mn	New file "Guide to the Mazes of Menace". By Eric Raymond.
6Guidebook	A file for preparation using the "mn" macros supplied with
7		the 2.11 news release, as well as an ascii version of the
8		same. 
9
10NetHack.cnf	Sample configuration file for the PC. (creps@silver)
11
12Makefiles	Corrected problem in which the linking was done on build and
13(unix/xenix)	on install. (Contributed by Janet Walz - walz@mimsy)
14
15Makefile.att	Added a makefile for the AT&T Unix PC using shared libraries.
16		(Contributed by ahby@umn-cs)
17
18Makefile.pc	Streamlined compilation of main.o, tty.o, and unix.o
19Makefile.tcc	(Contributed by polder@cs.vu.nl).
20
21data.base	deletion of duplicate lines and spelling fixes. (sweet@scubed)
22
23invent.c	REDO problem with "What do you want to..." text fixed.
24		down stairway identification fixed.
25		Alloc "buf" to allow for variable length HI/HE. (tom@uw-warp)
26
27engrave.c	Correction to "feel" code. (mike@genat)
28		Corrected switch for message determination. (patrickm@hpisof0)
29		BURN'ed engravings made un-erasable again. (kyrimis@princeton)
30
31pri.c		Added colour highliting functions (sweet@scubed)
32
33prisym.c	changed "symbol.room" to "ROOM_SYM" (one I missed)
34		(Ralf.Brown@b.gp.cs.cmu.edu)
35		Changed "dirlet()" to return an int. (maartenj@cs.vu.nl)
36
37msdos.c		Changed "symbol" to "showsyms" (Ralf.Brown@b.gp.cs.cmu.edu)
38		Fixed up REDO & IBMBIOS stuff. (Kevin Sweet - sweet@scubed)
39
40do.c		Dropping gold asked for only when gold posessed. (walz@mimsy)
41		Potential unsigned value problem fixed (u.ucreamed)
42		Added leash dropping code. (maartenj@cs.vu.nl)
43		Blind modifications for blindfolding.  (eric@snark)
44		Value wrap fixed for u.ucreamed
45
46fight.c		Dog's name now used in hitting avoidence message. (walz@mimsy)
47		Variable initialization fixed w.r.t. #ifdef / #else.
48		(Reported by Erwin Unruh - unruh@infbs)
49		Added giant rats and kobolds back into code. (sweet@scubed)
50
51spell.c		Potential unsigned value problem fixed (u.ulevel).
52		Typos corrected. (Tom May - tom@uw-warp)
53		Blind modifications for blindfolding.  (eric@snark)
54
55shk.c		"inshop" crash bug corrected (many sources).
56		extern declaration of carrying() moved to avoid a Turbo-C
57		type mismatch msg. (Ralf.Brown@b.gp.cs.cmu.edu)
58		Added new "online()" which executes faster. (tom@uw-warp)
59		Blind modifications for blindfolding.  (eric@snark)
60		Added item pricing shopkeeper talk.
61		(Idea from a hacked up 1.0.1 source sent in by michael@stb)
62		Cleaned up Kops code. (sweet@scubed)
63
64mhitu.c		Argument mismatches fixed. (walz@mimsy)
65		Scorpion/spider mixup fix. (William LeFebvre - phil@rice.edu)
66		Blind modifications for blindfolding.  (eric@snark)
67
68potion.c	Argument mismatch fixed. (walz@mimsy)
69		Blind modifications for blindfolding.  (eric@snark)
70		Poison handling made more dependant on poison resistance.
71		(From an idea by Steve Creps - creps@silver)
72
73mklev.c		Fixed up installation of vamp traps. (sweet@scubed)
74
75makemon.c	Monster creation location bug fixed. (walz@mimsy)
76		Monster creation crash fixed. (many sources)
77		Monster posessions bug fixed. (S. Wrammerfors stewr@obelix)
78		Added giant rats and kobolds back into code. (sweet@scubed)
79
80hack.c		"Elbereth" effectiveness increased under "HARD" option to
81		be reasonable. (walz@mimsy)
82		Declaration of "register struct monst *m_at()" fixed. (many)
83		Typo fixed. (tom@uw-warp)
84		Fixed scroll of scare monster pickup problems (and giveaway)
85		(polder@cs.vu.nl)
86		Documentation modifications for blindfolding.  (eric@snark)
87
88ioctl.c		ioctl call for SET changed to function properly under
89
90unixtty.c	Sys V R3 mods.  (tom@uw-warp)
91
92decl.c		in_doagain initialized. (many sources)
93
94wield.c		Ability to remove cursed weapons w. w- removed. (many sources)
95
96options.c	Major rewrite of options help.  Now uses pager.  (mike@genat)
97		Rewrote GRAPHICS setup. (maartenj@cs.vu.nl)
98		Allowed reassignment of inventory order #ifdef DGK
99		(polder@cs.vu.nl)
100
101pray.c		Fixed mk_obj of spellbook under all conditions to make book
102		if "SPELLS" defined, and scroll otherwise. (unruh@infbs)
103		Fixed typo in "gods angry" text. (tom@uw-warp)
104		Fixed blessing code. (Simon Brown - simon@its63b)
105		Blind modifications for blindfolding.  (eric@snark)
106
107zap.c		Potion of invis. breakage message improved. (unruh@infbs)
108		Added WAN_PROBING to "zapyourself".
109		Changed "dirlet()" to return an int. (maartenj@cs.vu.nl)
110		Fixed cancellation code to work properly on wands (spe
111		set to -1 instead of 0) this means no infinite wands of
112		wishing. (Ron Wessels - ron@utcsri)
113		Fixed bug in "buzz()" causing crash when destroying a
114		trapper from inside with a wand/spell.  (mike@genat)
115		Added fcn to destroy wands with zero charges. (sweet@scubed)
116
117pcmain.c	Added a routine to zero out the fileinfo array in order to
118		prevent crashes on level change. (ralf@b.gp.cs.cmu.edu)
119		Added chdir to HACKDIR before looking for .CNF file.
120		Added call "uptodate(savefile)". (polder@cs.vu.nl)
121
122pager.c		changed "cornline()" to use xputs for HI/HE. (tom@uw-warp)
123		added choice for dowhatis() to allow letter or cursor object
124		selection. (polder@cs.vu.nl)
125
126cmd.c		Added ^W (wish) and ^I (ident-all) commands for WIZARD-mode.
127		(Paul Polderman - polder@cs.vu.nl)
128		Added "Z" as alternate to "# cast" (Eric Raymond - eric@snark)
129
130u_init.c	Expanded a tab which didn't show in raw mode.
131		Changed trobj.trotyp to "unsigned short" to avoid >255
132		problems. (Maarten Jan Huisjes - maartenj@cs.vu.nl)
133		Removed wand of wishing from WIZARD's inventory (due to
134		the above cmd additions). (polder@cs.vu.nl)
135		Fixed declaration of leash. (simon@its63b)
136		Beefed up Wizard class.
137		Added Wakizashi for Samurai.
138		Added holy water for Priest(ess)es.
139		Modifications to provide blindfolds.  (eric@snark)
140
141end.c		changed inventory identification on death to list form.
142		(polder@cs.vu.nl)
143		added hallucination effects to done_in_by()
144		added posession of amulet flag for scoreboard (sweet@scubed)
145
146wizard.c	corrected "nasties" decl. (maartenj@cs.vu.nl)
147		Blind modifications for blindfolding.  (eric@snark)
148
149do_wear.c	Prot. from shape changers logic fixed. (maartenj@cs.vu.nl)
150
151lev.c		Prot. from shape changers logic fixed. (maartenj@cs.vu.nl)
152
153mon.c		Inserted cast to fix compiler warning. (maartenj@cs.vu.nl)
154		Nymphs now leave potions of object detection when killed.
155		Kops now don't leave treasure behind. (sweet@scubed)
156
157topl.c		Changed size of "toplines" to avoid overflow in "parseoptions"
158		when help is asked for. (probably n/a) (maartenj@cs.vu.nl)
159
160topten.c	Added longer death descriptions, including name of
161		shopkeeper who killed character.  (many sources)
162
163termcap.c	Changed allocation of HI/HO for copying SI/SO to allow room
164		for null.  (maartenj@cs.vu.nl)
165		Added PCHack 3.61 termcap stuff.
166		Added colour highliting code. (sweet@scubed)
167
168version.c	Expanded a tab for rawmode io. (maartenj@cs.vu.nl)
169
170objnam.c	Allow the WIZARD to wish for really excessive objects.
171		(polder@cs.vu.nl)
172
173makedefs.c	Added "freopen" which works (MSC 4.0 drops first couple
174		of lines).  Solves missing #define AMULET... problem.
175		(Nathan Glasser - nathan@mit-eddie)
176
177rnd.c		Changed around random number generation:
178		BSD uses "random()". (Paul Eggert - eggert@grand)
179		SYSV uses "lrand48()". (mike@genat from above)
180
181eat.c		Changed "choke()" code to waste food rather than choke on
182		it #ifndef HARD. (Allan Pratt - apratt@atari)
183		Blind modifications for blindfolding.  (eric@snark)
184
185objects.h	added blindfold object (tool).  (eric@snark)
186
187you.h		changed Blind/BLIND to Blinded/Blinded
188		added Blindfolded/BLINDFOLDED
189		redefined Blind in terms of above parameters.  (eric@snark)
190
191apply.c		added blindfold code.  (eric@snark)
192
193timeout.c	Blind modifications for blindfolding.  (eric@snark)
194
195sit.c		Blind modifications for blindfolding.  (eric@snark)
196
197trap.c		Blind modifications for blindfolding.  (eric@snark)
198		Level teleportation to hell fixed so that it will not
199		do so unless character has Fire_resistance. (many sources)
200		Added polymorph trap. (many sources)
201
202monmove.c	added check on presence of "fobj" before atl() call
203		to avoid potential segmentation problem with ROCKMOLE.
204		(Reported by Doug Rudoff - doug@wiley)
205
206various files	Fixed typos.  Also converted British English words to
207		American English for uniformity.  (Original list of typos
208		submitted by Steve Creps - creps@silver)
209
210
211New Features
212------------
213  1)	New flags in "config.h" (some of these were included in 1.4f):
214
215	COM_COMPL	Command line completion by John S. Bien
216	GRAPHICS	Funky screen character support (Eric S. Raymond)
217	HACKOPTIONS	Support DGK-style HACKOPTIONS processing (ESR)
218	RPH		Various hacks by Richard P. Hughey
219	KJSMODS		Various changes made by Kevin Sweet
220	BVH		Additions by Bruce Holloway
221
222	In addition, in an MSDOS enviornment, when GRAPHICS is defined:
223
224	MSDOSCOLOR	Colour highlighting of monsters, etc.
225
226	Of the above, I haven't tested HACKOPTIONS and MSDOSCOLOR.  If you
227	find bugs in these, send me the reports.
228
229  2)	New objects:
230
231	blindfold - allows you to avoid the gaze of a Floating Eye and to
232		    use your telepathy on command if you have it.
233
234	mirror - scares monsters if you use it on them (and other uses).
235
236	ring of polymorph - (usually cursed) forces random polymorphs.
237
238	ring of polymorph control - prevents system shock and allows choice of
239				    creature to polymorph into.
240
241  3)	New Files:
242
243	- A new set of documentation, the "Guidebook to the Mazes of Menace"
244	has been supplied by Eric S. Raymond.  The guidebook is written for
245	nroff using the "mn" macro set supplied with Bnews 2.11 or greater.
246	Since not everyone has these macros, I have run the guidebook through
247	nroff, and supplied it in flat ascii format as well.  [Moderator's
248	note: because of past problems, I ran the formatted version
249	through "col -b" before passing it on to remove ^H's, etc.  -br]
250
251	- A copy of "HACK.CNF" which has been renamed "NetHack.cnf" was
252	supplied by Steve Creps. The file decl.c has been updated to reflect
253	this change.
254
255	- A new "Makefile" for the AT&T Unix machines has been added.
256
257	- I was hoping to get documentation on "NANSI.SYS" as well, but got
258	no responses to the mail I sent the author, direct and via Bill
259	Randle at tekred.  As per usual, I will gladly publish any relevant
260	documentation I get.
261
262  4)	Major game changes:
263
264	- Shop generation has been significantly changed.  A new structure
265	has been introduced which allows shops (except the "general" type)
266	to have up to three different types of object inside.  There is also
267	a new "distribution pattern" parameter which tells the generation
268	code how to lay out the shop (this is preliminary to the addition of
269	two new types of shop, the temple and barracks - more on this later).
270
271	- Shopkeepers will now tell you how much they expect for each object
272	you pick up.  This gives you the ability to haggle with the merchant
273	in question by dropping and picking up objects until you are more or
274	less satisfied with the price.  I have re-written "getprice()" in
275	shk.c in an attempt to make sure that you cannot actually sell any
276	particular object for more than the shopkeeper will charge for it.
277
278	- Another change to shopkeepers has them potentially getting angry if
279	you stay beside them after not paying your bill.  Each they time they
280	ask you to pay up, there is a chance they will decide they don't like
281	people who don't pay...
282
283	- A new monster, the hydra, has been added (as you have probably seen
284	on the net).  I haven't had much chance to test out this feature of
285	the game.  Mirrors have also been added, and seem to work quite well.
286
287	- Changes have been made to the object ocurrence chances in objects.h,
288	so that the relatively rare tools, etc. have at least a 1% chance of
289	showing up.
290
291	- Throwing and zapping code has been modified so that there is a
292	chance that said can be done through a doorway.  Bolts can still
293	bounce however...
294
295	- The infamous and dreaded makemon() bug has been eliminated.  In
296	addition to this, "r"ats and "K"obolds have been added back into the
297	game.  "K"ops no longer leave treasure (just what they were carrying,
298	plus maybe a club or whistle).
299
300	- Two new "super"swords have been added.  They are the katana named
301	"Snickersnee" which is +5 on damage (due to sharpness), and the long
302	sword "Excalibur" which is +rnd(10) to hit, +5 on damage, and has a
303	couple of other features I won't go into right now.  The only way
304	for a character to get "Excalibur" is as a gift from someone.  You
305	cannot write the word "Excalibur" on things for some reason...
306
307	- There have been two additions to disallow infinite wand charges.
308	First of all, wands with less than zero charges will automatically
309	turn to dust (thanks to Kevin Sweet).  Next, a wand of cancellation
310	will set the number of charges in the wand to -1, which will make it
311	forever useless, (thanks to Ron Wessels).
312
313  5)	Minor game changes:
314
315	- The fountain code has been tightened slightly so you can no longer
316	dip objects into a fountain or drink from one while you are floating
317	in mid-air due to levitation.
318
319	- Teleporting to hell via a teleportation trap will no longer occur
320	if the character does not have fire resistance.  I found this just
321	too arbitrary a way to die (and so did several other people who com-
322	plained about it).
323
324	- A new trap, the "polymorph" trap has been added by Richard Hughey.
325	It's inclusion is dependant on having "KAA" defined.
326
327	- In wizard mode, the wizard player has infinite wishes, and the
328	ability to instantly identify everything (s)he is carrying. The wizard
329	player is also no longer limited by the standard multiple / bonus res-
330	trictions on objects wished for.
331
332	- Random number generation has been changed around to make it (I hope)
333	more unpredictable.
334
335	- A large number of typos have been fixed, and all of the British
336	spellings converted to American.  I would like to see a shell script
337	to allow conversion back (or something like that) in the future.
338
339	- I have done a "make depend" for the makefiles to reflect a slight
340	restructuring in the order of inclusion of header files.
341
342  6)	Future additions:
343
344	- Steve Creps is working on "barracks" and "soldier" code which is
345	now ready for addition.  I have added the "soldier" side into the
346	game, but haven't really tested it.  Steve will be adding the
347	"barracks" section in and sending me the resulting patches.  There
348	will be a minor (read patch) release as soon as he can get the code
349	integrated into this release and sent up here to me.
350
351	- There are also several other new room projects in the works which
352	should be able to be included in that minor release, along with any
353	bug reports that are made in the interim.
354