NetHack 2.3 Update Pt. 02 of 12

1 view
Skip to first unread message

Mike Stephenson

unread,
Apr 9, 1988, 2:47:38 PM4/9/88
to
---------------------------------cut here-------------------------------------
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
# Makefile.3B2
# nansi.doc
# food.tbl
# fount.tbl
# monster.tbl
# weapon.tbl
# This archive created: Mon Apr 4 08:52:23 1988
export PATH; PATH=/bin:$PATH
echo shar: extracting "'Makefile.3B2'" '(7625 characters)'
if test -f 'Makefile.3B2'
then
echo shar: will not over-write existing file "'Makefile.3B2'"
else
cat << \SHAR_EOF > 'Makefile.3B2'
# Hack or Quest Makefile.
# SCCS Id: @(#)Makefile.unix 2.3 87/12/12

#
# In config.h, define "UNIX", "SYSV", and "TERMINFO".
#
# Also, "typedef short int" for schar and uchar.
#

# if you are cross-compiling (eg. from Xenix into a Dos enviornment)
# you will have to redefine these filenames.
MAIN = unixmain.c
TTY = unixtty.c
UNIX = unixunix.c

# flags may have to be changed as required
CFLAGS = -O
LFLAGS =

# on some systems the termcap library is in -ltermcap
TERMLIB = -ltermlib
LLIBS = -lmalloc

# make NetHack
GAME = nethack
GAMEUID = games
GAMEGRP = bin

# GAMEDIR also appears in config.h as "HACKDIR".
GAMEDIR = /usr/games/lib/$(GAME)dir
SHELLDIR = /usr/games
MANDIR = /usr/man/man6
MANEXT = 6

HACKCSRC = alloc.c apply.c bones.c cmd.c decl.c do.c do_name.c do_wear.c\
dog.c dogmove.c dothrow.c eat.c end.c engrave.c fight.c fountain.c\
hack.c invent.c ioctl.c lev.c main.c makemon.c mhitu.c\
mklev.c mkmaze.c mkobj.c mkshop.c mon.c monmove.c monst.c o_init.c\
objnam.c options.c pager.c polyself.c potion.c pray.c pri.c\
prisym.c read.c rip.c rnd.c rumors.c save.c search.c shk.c shknam.c\
sit.c spell.c steal.c termcap.c timeout.c topl.c topten.c track.c\
trap.c tty.c u_init.c unix.c vault.c version.c wield.c wizard.c\
worm.c worn.c write.c zap.c

CSOURCES = $(HACKCSRC) makedefs.c

HSOURCES = config.h date.h edog.h eshk.h extern.h flag.h func_tab.h\
gen.h gold.h hack.h mfndpos.h mkroom.h monst.h msdos.h\
obj.h objclass.h objects.h onames.h permonst.h rm.h\
spell.h trap.h wseg.h you.h

SOURCES = $(CSOURCES) $(HSOURCES)

SPECIFICS = main.o tty.o unix.o
AUX = help hh nethack.6 nethack.sh
VARAUX = data rumors

DISTR = $(SOURCES) $(AUX) $(VARAUX) README.OLD README\
Makefile Makefile.pc Make.ini

HOBJ = alloc.o apply.o bones.o cmd.o decl.o do.o do_name.o do_wear.o\
dog.o dogmove.o dothrow.o eat.o end.o engrave.o fight.o fountain.o\
hack.o invent.o ioctl.o lev.o main.o makemon.o mhitu.o\
mklev.o mkmaze.o mkobj.o mkshop.o mon.o monmove.o monst.o o_init.o\
objnam.o options.o pager.o polyself.o potion.o pray.o pri.o\
prisym.o read.o rip.o rnd.o rumors.o save.o search.o shk.o shknam.o\
sit.o spell.o steal.o termcap.o timeout.o topl.o topten.o track.o\
trap.o tty.o u_init.o unix.o vault.o version.o wield.o wizard.o\
worm.o worn.o write.o zap.o

$(GAME): $(SPECIFICS) $(HOBJ) Makefile
@echo "Loading ..."
@cc $(LFLAGS) -o $(GAME) $(HOBJ) $(TERMLIB) $(LLIBS)

all: $(GAME) Guidebook lint
@echo "Done."

Guidebook: Guidebook.mn
nroff -mn Guidebook.mn > Guidebook

makedefs: makedefs.c alloc.o config.h
cc ${CFLAGS} -o makedefs alloc.o makedefs.c

RUMORFILES= rumors.base rumors.kaa rumors.mrx

rumors: config.h $(RUMORFILES) makedefs
./makedefs -r

data: config.h data.base makedefs
./makedefs -d

date.h: $(SOURCES) makedefs
./makedefs -D

trap.h: config.h makedefs
./makedefs -t

onames.h: makedefs objects.h
./makedefs -o

main.o:

main.c: unixmain.c hack.h
cp $(MAIN) main.c

tty.o:

tty.c: unixtty.c hack.h func_tab.h
cp $(TTY) tty.c

unix.o:

unix.c: unixunix.c hack.h mkroom.h
cp $(UNIX) unix.c

lint:
# lint cannot have -p here because (i) capitals are meaningful:
# [Ww]izard, (ii) identifiers may coincide in the first six places:
# doweararm() versus dowearring().
# _flsbuf comes from <stdio.h>, a bug in the system libraries.
@echo lint -axbh -DLINT ...
@lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d'


diff:
@- for i in $(SOURCES) $(AUX) ; do \
cmp -s $$i $D/$$i || \
( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done

distribution: Makefile
@- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h onames.h\
; do \
cmp -s $$i $D/$$i || \
( echo cp $$i $D ; cp $$i $D ) ; done
# the distribution directory also contains the empty files perm and record.

initial:
-rm -rf $(GAMEDIR)
-mkdir $(SHELLDIR)
mkdir $(GAMEDIR) $(GAMEDIR)/save
touch $(GAMEDIR)/perm
touch $(GAMEDIR)/record
touch $(GAMEDIR)/logfile
chown $(GAMEUID) $(SHELLDIR)/$(GAME) $(GAMEDIR) $(GAMEDIR)/*
chgrp $(GAMEGRP) $(SHELLDIR)/$(GAME) $(GAMEDIR) $(GAMEDIR)/*
chmod 666 $(GAMEDIR)/*
chmod 777 $(GAMEDIR) $(GAMEDIR)/save

install: $(VARAUX) $(GAME)
-mkdir $(GAMEDIR)
-mkdir $(GAMEDIR)/save
-rm -f $(GAMEDIR)/$(GAME)
-rm -f $(GAMEDIR)/bones* $(GAMEDIR)/alock* $(GAMEDIR)/wizard*
-rm -f $(GAMEDIR)/save/*
touch $(GAMEDIR)/perm $(GAMEDIR)/record
cp help hh rumors data $(GAMEDIR)
cp $(GAME).sh $(SHELLDIR)/$(GAME)
cp $(GAME) $(GAMEDIR)/$(GAME)
chown $(GAMEUID) $(SHELLDIR)/$(GAME) $(GAMEDIR)/*
chgrp $(GAMEGRP) $(SHELLDIR)/$(GAME) $(GAMEDIR)/*
chmod 0755 $(SHELLDIR)/$(GAME)
chmod 04755 $(GAMEDIR)/$(GAME)
-cp nethack.6 $(MANDIR)/$(GAME).$(MANEXT)

debug:
ln $(GAMEDIR)/$(GAME) a.out
ln $(GAMEDIR)/core core

tags: $(SOURCES)
@echo ctags -tw ...
@ctags -tw $(SOURCES)

clean:
rm -f *.o

spotless: clean
rm -f a.out core $(GAME) makedefs
rm -f Makefile $(VARAUX) main.c tty.c unix.c

depend:
# For the moment we are lazy and disregard /usr/include files because
# the sources contain them conditionally. Perhaps we should use cpp.
# ( /bin/grep '^#[ ]*include' $$i | sed -n \
# -e 's,<\(.*\)>,"/usr/include/\1",' \
#
for i in ${CSOURCES}; do \
( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \
-e 's/[^"]*"\([^"]*\)".*/\1/' \
-e H -e '$$g' -e '$$s/\n/ /g' \
-e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \
>> makedep); done
for i in ${HSOURCES}; do \
( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \
-e 's/[^"]*"\([^"]*\)".*/\1/' \
-e H -e '$$g' -e '$$s/\n/ /g' \
-e '$$s/.*/'$$i': &\
touch '$$i/p \
>> makedep); done
@echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
@echo '$$r makedep' >>eddep
@echo 'w' >>eddep
@cp Makefile Makefile.bak
ed - Makefile < eddep
@rm -f eddep makedep
@echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
@echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
@echo '# see make depend above' >> Makefile
- diff Makefile Makefile.bak
@rm -f Makefile.bak

# DO NOT DELETE THIS LINE

decl.o: hack.h mkroom.h
apply.o: hack.h edog.h mkroom.h
bones.o: hack.h
hack.o: hack.h
cmd.o: hack.h func_tab.h
do.o: hack.h
do_name.o: hack.h
do_wear.o: hack.h
dog.o: hack.h edog.h mkroom.h
dogmove.o: hack.h mfndpos.h edog.h mkroom.h
dothrow.o: hack.h
eat.o: hack.h
end.o: hack.h
engrave.o: hack.h
fight.o: hack.h
fountain.o: hack.h mkroom.h
invent.o: hack.h wseg.h
ioctl.o: config.h
lev.o: hack.h mkroom.h wseg.h
makemon.o: hack.h
mhitu.o: hack.h
mklev.o: hack.h mkroom.h
mkmaze.o: hack.h mkroom.h
mkobj.o: hack.h
mkshop.o: hack.h mkroom.h eshk.h
mon.o: hack.h mfndpos.h
monmove.o: hack.h mfndpos.h
monst.o: hack.h eshk.h
o_init.o: config.h objects.h onames.h
objnam.o: hack.h
options.o: hack.h
pager.o: hack.h
polyself.o: hack.h
potion.o: hack.h
pray.o: hack.h
pri.o: hack.h
prisym.o: hack.h wseg.h
read.o: hack.h
rip.o: hack.h
rumors.o: hack.h
save.o: hack.h
search.o: hack.h
shk.o: hack.h mfndpos.h mkroom.h eshk.h
shknam.o: hack.h
sit.o: hack.h
spell.o: hack.h
steal.o: hack.h
termcap.o: hack.h
timeout.o: hack.h
topl.o: hack.h
topten.o: hack.h
track.o: hack.h
trap.o: hack.h edog.h mkroom.h
u_init.o: hack.h
vault.o: hack.h mkroom.h
wield.o: hack.h
wizard.o: hack.h
worm.o: hack.h wseg.h
worn.o: hack.h
write.o: hack.h
zap.o: hack.h
version.o: hack.h date.h
extern.h: config.h spell.h obj.h
touch extern.h
hack.h: extern.h flag.h gold.h monst.h objclass.h rm.h trap.h you.h
touch hack.h
objects.h: config.h objclass.h
touch objects.h
you.h: config.h onames.h permonst.h
touch you.h
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
SHAR_EOF
if test 7625 -ne "`wc -c < 'Makefile.3B2'`"
then
echo shar: error transmitting "'Makefile.3B2'" '(should have been 7625 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'nansi.doc'" '(9370 characters)'
if test -f 'nansi.doc'
then
echo shar: will not over-write existing file "'nansi.doc'"
else
cat << \SHAR_EOF > 'nansi.doc'
From utzoo!linus!harvard!rochester!srs!dan Wed Dec 9 21:22:38 1987
Received: by genat.UUCP (5.52/4.7)
id AA12320; Wed, 9 Dec 87 21:22:29 EST
Received: by linus.research (3.2/4.7)
id AA14176; Wed, 9 Dec 87 18:42:24 EST
From: <linus!harvard!rochester!srs!dan>
Posted-Date: Fri, 4 Dec 87 11:43:38 EST
Received: by harvard.harvard.edu; Mon, 7 Dec 87 19:39:35 EST
Received: by sol.cs.rochester.edu (3.2/h) id AA14555; Fri, 4 Dec 87 15:52:13 EST
Received: from rem.srs.com by srs.com (3.2/SMI-3.2)
id AA14965; Fri, 4 Dec 87 11:43:43 EST
Received: by rem.srs.com (3.2/SMI-3.2)
id AA00445; Fri, 4 Dec 87 11:43:38 EST
Date: Fri, 4 Dec 87 11:43:38 EST
Message-Id: <871204164...@rem.srs.com>
To: rochester!harvard!linus!utzoo!genat!mike,
rochester!harvard!linus!utzoo!genat!tekred!billr
Subject: nansi docs

*sigh*
Gee, guys, you could have given me some warning...
Anyway, here's the documentation for Nansi; perhaps you can poke it
in the next patch distribution.
Thanks,
Dan Kegel
nansi - enhanced MS-DOS ansi console driver

SYNOPSIS
Include in \config.sys the line
device=nansi.sys

DESCRIPTION
Nansi.sys is a console driver which understands ANSI control sequences.
It has several advantages over ANSI.SYS (the driver supplied with DOS):
1. It supports new escape sequences (see below).
2. It provides MUCH faster output under certain conditions.
3. It supports the 43-line mode of the EGA.
4. The darned bell is now 1/4 second instead of 1/2 second long.

What a console driver does:
When you, for example, type
C:> type foo.txt
COMMAND.COM opens the file foo.txt, reads it, and writes it to
the console driver, which puts it up on the screen.

Both ansi.sys and nansi.sys use IBM Video BIOS to control the screen.
However, nansi.sys bypasses BIOS if the screen is in a text mode; this
allows much faster operation under certain conditions.

While putting text up on the screen, (n)ansi.sys keeps a lookout for
the escape character (chr(27), known as ESC); this character signals
the start of a terminal control sequence.
Terminal control sequences follow the format
ESC [ param; param; ...; param cmd
where
ESC is the escape character chr$(27).
[ is the left bracket character.
param is an ASCII decimal number, or a string in quotes.
cmd is a case-specific letter identifying the command.
Usually, zero, one, or two parameters are given. If parameters
are omitted, they usually default to 1; however, some commands
(KKR and DKOCT) treat the no-parameter case specially.
Spaces are not allowed between parameters.

For example, both ESC[1;1H and ESC[H send the cursor to the home
position (1,1), which is the upper left.

Either single or double quotes may be used to quote a string.
Each character inside a quoted string is equivalent to one numeric
parameter. Quoted strings are normally used only for the Keyboard
Key Reassignment command.

Control Sequences
The following table lists the sequences understood by nansi.sys.
Differences between nansi.sys and the standard ansi.sys are marked
with a vertical bar (|).

Cursor Positioning
Short Long name Format Notes
CUP cursor position ESC[y;xH Sets cursor position.
HVP cursor position ESC[y;xf Same as CUP; not recommended.
CUU cursor up ESC[nA n = # of lines to move
CUD cursor down ESC[nB
CUF cursor forward ESC[nC n = # of columns to move
CUB cursor backward ESC[nD
DSR Device Status, Report! ESC[6n Find out cursor position.
CPR Cursor Position report ESC[y;xR<CR> Response to DSR, as if typed.
SCP Save Cursor Position ESC[s Not nestable.
RCP Restore Cursor Position ESC[u

Editing
ED Erase in Display ESC[2J Clears screen.
EL Erase in Line ESC[K Clears to end of line.
IL | Insert Lines ESC[nL Inserts n blank lines at cursor line.
DL | Delete Lines ESC[nM Deletes n lines, including cursor line.
ICH | Insert Characters ESC[n@ Inserts n blank chars at cursor.
DCH | Delete Characters ESC[nP Deletes n chars, including cursor char.


Mode-Setting
SGR Set Graphics Rendition ESC[n;n;...nm See character attribute table.
SM Set Mode ESC[=nh See screen mode table.
RM Reset Mode ESC[=nl See screen mode table.
IBMKKR Keyboard Key Reass. ESC["string"p
The first char of the string gives the key to redefine; the rest
of the string is the key's new value.
To specify unprintable chars, give the ASCII value of the char
outside of quotes, as a normal parameter.
IBM function keys are two byte strings; see the IBM Basic manual.
For instance, ESC[0;";dir a:";13;p redefines function key 1 to
have the value "dir a:" followed by the ENTER key.
| If no parameters given, all keys are reset to their default values.

DKOCT | Output char translate ESC[n;ny
| When first char is encountered in output request, it is replaced with
| the second char. This might be useful for previewing text before
| sending it to a printer with a funny print wheel.
| If no parameters are given, all chars are reset to normal.


Character Attributes
The Set Graphics Rendition command is used to select foreground
and background colors or attributes.
When you use multiple parameters, they are executed in sequence, and
the effects are cumulative.
Attrib code Value
0 All attributes off (normal white on black)
1 Bold
4 Underline
5 Blink
7 Reverse Video
8 Invisible (but why?)
30-37 foregnd blk/red/grn/yel/blu/magenta/cyan/white
40-47 background

Screen Modes
The IBM BIOS supports several video modes; the codes given in the
BIOS documentation are used as parameters to the Set Mode command.
| (In bitmap modes, the cursor is simulated with a small blob (^V).)
Mode Code Value
0 text 40x25 Black & White
1 text 40x25 Color
2 text 80x25 Black & White
3 text 80x25 Color
4 bitmap 320x200 4 bits/pixel
5 bitmap 320x200 1 bit/pixel
6 bitmap 640x200 1 bit/pixel
7 (cursor wrap kludge)
13 bitmap 320x200 4 bits/pixel
14 bitmap 640x200 4 bits/pixel
15 [ IBM Monochrome display 640x350 2 bits/pixel?]
16 bitmap 640x350 4 bits/pixel [with full 256K]
Mode 7 is an unfortunate kludge; Setting mode 7 tells the cursor
to wrap around to the next line when it passes the end of a line;
Resetting mode 7 tells the cursor to not wrap, but rather stay put.
| If your computer has the Enhanced Graphics Adaptor, modes between
| 8 and 15 are also supported; see the EGA BIOS for info.
| The EGA also lets you use a shorter character cell in text modes
| in order to squeeze 43 lines of text out of the 25-line text modes.
| To enter 43 line mode, set the desired 25-line text mode (0 to 3),
| then Set Mode 43. For instance: ESC[=3h ESC[=43h.
| To exit 43 line mode, set the desired 25-line text mode again.
| Nansi.sys ignores mode 43 unless there is an EGA on your computer.

Faster Output
| Any program that sets the console to RAW mode, and buffers its
| output properly, can achieve extremely high screen update speeds in
| return for giving up the special functions of the keys ^C, ^S, and ^P.
| See IOCTL in the MS-DOS 3.x Technical Reference for more info.
Also, a small improvement in speed may be noticed with some
programs that use the DOS console in normal mode, as this driver
efficiently implements the (standard but undocumented) INT 29h
most-favored-device putchar used by DOS.

EXAMPLES
See the files setraw.* for Macro Assembler, Lattice C,
and Microsoft C routines for entering and leaving raw mode.

The files mode*.txt included with nansi.sys in the library
new_ansi.lbr contain the Set Mode sequences to set various
screen modes; for instance, to try out 43 line mode, type
C:> type MODE43.TXT
[ To get back to normality, type the file "mode3.txt"; don't use
the mode command, as that doesn't let nansi know what happened...]

The programs view.com and more.com are demos of this driver's
blinding screen update speed; refer to view.doc and more.doc for
details. Briefly, typing
C:> more foo.txt
shows you the file foo.txt, pausing every 24 lines for you to hit
the spacebar. Typing
C:> view foo.txt
shows you the first page of the file foo.txt; typing PgUp or PgDn moves
you backwards or forwards in the file; typing 'q' exits to DOS.

BUGS
Insert and delete character do not work in graphics modes.

Graphics mode writing is slow.

In graphics mode, the simulated cursor slows down single-char
writes and screws up CED.COM; there should be a way to turn it off.

Does not support erase-to-end-of-screen and other useful functions.

Cursor Position Report has a carriage return in it, which is what
ansi.sys does, but is nonstandard.

When using 43 line mode, typing MODE CO80 will get you back
to 25 line mode- but NANSI will still scroll as if there were 43
lines! You have to use the SET MODE escape sequence instead of MODE.

Version
(The version number can be found by typing TYPE NANSI.SYS.)
This version, 2.2, created February 1986.
A later version is now (April '87) in the works.

Problems should be reported to Daniel Kegel:
17 Mulberry St., Rochester, NY 14620
...seismo!rochester!srs!dan
Your suggestions for improvement would be most welcome.

NOTE
This program may be distributed for educational and personal use
only. Commercial use is verboten; get in touch with the author.

SHAR_EOF
if test 9370 -ne "`wc -c < 'nansi.doc'`"
then
echo shar: error transmitting "'nansi.doc'" '(should have been 9370 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'food.tbl'" '(2496 characters)'
if test -f 'food.tbl'
then
echo shar: will not over-write existing file "'food.tbl'"
else
cat << \SHAR_EOF > 'food.tbl'
.TS
tab (#),center,expand,box;
l c c c c
l | n n n | l.
Name#Chance#Weight#Energy#Remarks
_
food ration #46#4#800
tripe ration#16#2#200#50% chance of vomiting.
pancake#3#1#200
dead lizard#3#1#40#Eat to avoid turning to stone.
fortune cookie#7#1#40
carrot#2#1#50
slice of pizza#5#1#250
cream pie#3#1#100
tins:#7#1#0
- spinach#50#7#600#Adds strength
- peaches#8#8#40
- salmon#8#7#60#Slippery hands for 1-15 turns
- apple juice#8#7#20
- substance#8#7#500#Tastes awful, adds experience.
- rotten meat#8#7#-50#Causes vomiting.
- empty can#8#7#0
orange#1#1#80
apple#1#1#50
pear#1#1#50
melon#1#1#100
banana#1#1#80
candy bar#1#1#100
egg#1#1#80
clove of garlic#1#1#40#Wield against vampires.
lump of royal jelly #0#1#200#Cures xans, strength +
.TE
.TS H
tab (#),center,expand,box;
l c c c
l | n n | l.
Name#Weight#Energy#Remarks
_
.TH
dead human#40#400#Permanent aggravate monster.
dead giant ant#3#30#Poisonous.
dead giant bat#3#30#Confusion.
dead centaur#50#500
dead dragon#150#1500#Fire resistance.
dead floating eye#1#10#Telepathy, damage
dead freezing sphere#1#10#Cold resistance.
dead gnome#10#100
dead hobgoblin#20#200
dead stalker#40#400#See invisible.
dead jackal#10#100
dead kobold#10#100#Poisonous.
dead leprechaun#40#400#Teleport ability, damage.
dead mimic#40#400#Mimic a treasure chest.
dead nymph#40#400#Teleport ability, damage.
dead orc#20#200#Damage.
dead purple worm#70#700#Damage.
dead quantum mechanic#20#200#Teleport ability, damage.
dead rust monster#50#500#Damage.
dead snake#10#100#Poisonous.
dead troll#40#400
dead umber hulk#50#500#Damage.
dead vampire#40#400Poisonous.
dead wraith#1#10#Gain level.
dead xorn#70#700
dead yeti#70#700#Cold resistance.
dead zombie#3#30
dead acid blob#3#30#Poisonous.
dead giant beetle#1#10#Poisonous.
dead cockatrice#3#30#Instant death.
dead dog#20#200#Aggravate monsters.
dead ettin#3#30
dead fog cloud#1#10
dead gelatinous cube#10#100
dead homunculus#20#200#Poisonous.
dead imp#1#10
dead jaguar#30#300#Gain level?
dead killer bee#1#10#Poison resistance.
dead leocrotta#50#500
dead minotaur#70#700#
dead nurse#40#400#Heal, aggravate monsters.
dead owlbear#70#700
dead piercer#20#200
dead quivering blob#10#100
dead giant rat#3#30
dead giant scorpion#10#100#Poisonous.
dead tengu#30#300#Teleport ability.
dead unicorn#30#300#Damage.
dead violet fungus#10#100#Hallucinogenic.
dead long worm#50#500
dead xan#30#300#Damage.
dead yellow light#1#10#Confusion, vision++
dead zruty#60#600#Damage.
dead giant#70#700#Strength++.
dead daemon#80#800
.TE
SHAR_EOF
if test 2496 -ne "`wc -c < 'food.tbl'`"
then
echo shar: error transmitting "'food.tbl'" '(should have been 2496 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'fount.tbl'" '(1943 characters)'
if test -f 'fount.tbl'
then
echo shar: will not over-write existing file "'fount.tbl'"
else
cat << \SHAR_EOF > 'fount.tbl'
.S 9 10
.TS H
tab (#), center, expand, box;
c c
l | l.
Message#Effect
_
.TH
``Good Lord! An endless stream of snakes pours forth!''#3-4 snakes appear
``The fountain bubbles furiously for a moment, then calms.''#makemon failed
_
``You have unleashed a water demon!''#Infrequent, but dangerous
``Grateful for his release, he grants you a wish!''#Very unlikely (3%)
_
``You have attracted a water nymph!''#Nymph appears, will steal
``A large bubble rises to the surface and pops.''#makemon failed
_
``Water gushes forth from the overflowing fountain!''#Drowning pools
_
``You spot a gem in the sparkling waters!''#Real gem appears
_
``The fountain dries up!''#Usually happens after 2-5 dips
_
``The cool draught refreshes you.''#Decreases hunger
_
``The water is foul! You gag and vomit.''#Hunger
``What a relief!''#Cures if already sick
_
``The water is contaminated!''#Poison damage, - strength
``Perhaps it is run off from the nearby orange farm.''#If poison resistant
_
``This water's no good!''#Curses an object, hunger
_
``You see an image of someone stalking you. But it disappears.''#Permanent see invisible
_
``You sense the presence of monsters.''#Detect monster
``You feel oddly disturbed.''#If no monsters
_
``This water gives you bad breath!''#Cause fear
_
``Your weapon rusts somewhat.''#-1 damage (swords only)
``Your weapon looks quite rusted.''#If < -6 already
_
``A murky hand from the depths reaches up to bless the sword.''#+5 Excalibur
``As the hand retreats, the fountain disappears!''
_
``Well, it looks wet now.''#Sword may be stickeycursed
``The water glows for a moment.''#Lift curse from weapon
``A feeling of loss comes over you.''#Missed lift curse
_
``Your thirst is quenched.''#No effect
``A strange tingling runs up your arm.''#No effect
``You feel a sudden chill.''#No effect
``An urge to take a bath nearly overwhelms you.''#No effect
``Far below you, you see coins glistening in the water.''#No effect
.TE
.S
SHAR_EOF
if test 1943 -ne "`wc -c < 'fount.tbl'`"
then
echo shar: error transmitting "'fount.tbl'" '(should have been 1943 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'monster.tbl'" '(2364 characters)'
if test -f 'monster.tbl'
then
echo shar: will not over-write existing file "'monster.tbl'"
else
cat << \SHAR_EOF > 'monster.tbl'
The descriptions are as follows:
.VL 10
.LI \fImlev\fR
Monster's level.
.LI \fImmove\fR
Non-Spelunkers have a \fImmove\fR of 12.
.LI \fIac\fR
Monster's armor class.
.LI Damage
Monster's basic attack on you. Note that quasits, jaguars, dragons,
etc. have extra attacks.
.LI *
Whether monster is large. Determines weapon damage.
.LI \(dg
Monsters specific to NetHack.
.LE
.TS H
tab (#),center,expand,box;
c c c c c c c
c l | n n n | l n.
Symbol#Monster#\fImlev\fR#\fImmove\fR#\fIac\fR#Damage#XP
_
.TH
A#giant ant*#3#18#3#1d6#16
B#bat#1#22#8#1d4#2
C#centaur*#4#18#4#1d6#17
D#dragon*#10#9#-1#3d10+2(1d8)#257
E#floating eye#2#1#9#0d0#5
F#freezing sphere#2#13#4#6d6#5
G#gnome#1#6#5#1d6#2
H#hobgoblin#1#9#5#1d8#2
I#invisible stalker*#8#12#3#4d4#131
J#jackal#0#12#7#1d2#1
K#keystone kop\(dg#1#6#7#1d4#
K#kobold#1#6#7#1d4#2
L#leprechaun#5#15#8#1d2#26
M#mimic#7#3#7#3d4#100
N#nymph#6#12#9#1d2#37
O#orc#2#9#6#1d8#5
P#purple worm*#15#9#6#2d8#411
Q#quantum mechanic\(dg#6#12#3#1d4#
Q#quasit#3#15#3#1d4+2(1d2)#10
R#rust monster#10#18#3#0d0#171
S#snake*#4#15#3#1d6#25
T#troll*#7#12#4#2d6+2(1d6)#114
U#umber hulk*#9#6#2#2d10+2(3d4)#169
V#vampire*#8#12#1#1d6#199
W#wraith#5#12#5#1d6#36
X#xorn#8#9#-2#4d6+3(1d6)#149
Y#yeti*#5#15#6#2(1d6)#26
Z#zombie#2#6#8#1d8#5
a#acid blob#2#3#8#0d0#9
b#giant beetle*#4#6#4#3d4#17
c#cockatrice#4#6#6#1d3#25
d#dog#4#16#5#1d6#17
d#large dog*#6#15#4#2d4#37
d#little dog#2#18#6#1d6#17
e#ettin*#10#12#3#2d8+3d#241
f#fog cloud#3#1#0#1d6#24
g#gelatinous cube*#4#6#8#2d4#17
h#homunculus#2#6#6#1d3#5
i#imp#2#6#2#1d4#15
j#jaguar#4#15#6#1d8+2(1d3)+2(1d4)#17
k#killer bee#4#14#4#2d4#17
l#leocrotta*#6#18#4#3d6#37
m#minotaur*#15#15#6#4d8#276
n#nurse*#11#6#0#1d3#208
o#owlbear*#5#12#5#2d6+2(1d6)+2d8#26
p#piercer#3#1#3#2d6#10
q#quivering blob#3#1#8#1d8#10
r#giant rat#0#12#7#1d3#1
r#rockmole\(dg#3#3#0#1d6#
s#giant spider\(dg*#5#15#3#1d4#
s#giant scorpion*#5#15#3#1d4+2(1d8)#36
t#tengu#5#13#5#1d7#26
u#unicorn#8#24#5#1d10#115
v#violet fungi#3#1#7#1d4#10
w#long worm*#8#3#5#1d4#115
w#wumpus*#8#3#2#3d6#
x#xan#7#18#-2#2d4#118
y#yellow light#3#15#0#0d0#24
z#zruty#9#8#3#3d6#132
#ghost*#10#3#-5#?#265
&#demon*#10#9#-4#1d4#263
,#trapper*#12#3#3#0d0#303
1#wizard of yendor*#15#12#-2#1d12#
2#mail daemon#\-#\-#\-#n/a#
9#giant\(dg*#9#18#5#2d12#
:#chameleon#6#5#6#4d2#49
;#giant eel\(dg*#15#6#-3#3d6#
@#shopkeeper#10#18#0#4d8#40#165
~#lurker above*#10#3#3#0d0#151
.TE
SHAR_EOF
if test 2364 -ne "`wc -c < 'monster.tbl'`"
then
echo shar: error transmitting "'monster.tbl'" '(should have been 2364 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'weapon.tbl'" '(1487 characters)'
if test -f 'weapon.tbl'
then
echo shar: will not over-write existing file "'weapon.tbl'"
else
cat << \SHAR_EOF > 'weapon.tbl'
.VL 10
.LI Key:
C=Chance, W=Weight, SD=Small damage, LD=Large damage
*=pole arm, \(dg=NetHack only
.LI Notes:
Pole arms consist of a 5-9 foot pole capped with the implement described.
.LE
.TS H
tab (#),center,box;
c c c c c c
l | n n n n | l.
Name#C#W#SD#LD#Description
_
.TH
arrow#6#0#6#6
sling bullet#6#0#4#6#see sling
crossbow bolt#6#0#4#6
dart#6#0#3#2
shuriken#3#0#8#6#throwing star
rock#4#1#3#3
boomerang#1#3#9#9
mace#6#3#6#7#
axe#5#3#6#4
flail#5#3#6#5#stick w/spiked ball & chain
long sword#5#3#8#12#3-4' sword
two handed sword#4#4#12#12#5-6' sword (no shield)
dagger#4#3#4#3
worm tooth#0#4#2#2#see crysknife
crysknife#0#3#10#10#enchanted worm tooth
aklys#1#3#6#3#spear-thrower
bardiche*#1#3#4#4#5' shaft with wide axe
bec de corbin*#1#3#8#6#axe head/spike
bill-guisarme*#1#3#4#10#spearhead/hook
club#1#3#6#3
fauchard*#1#3#6#8#sickle blade
glaive*#1#3#6#10#straight blade
guisarme*#1#3#4#8#sharp pruning hook
halberd*#1#3#10#6#spearhead with axe
lucern hammer*#1#3#4#6#forward & down-curving spikes
javelin#1#3#6#6
katana#1#3#12#12#japanese sword
lance*#1#3#6#8
morning star#1#3#4#6#spiked ball on stick
partisan*#1#3#6#6#spearhead w/double axe
ranseur*#1#3#4#4#broad spearhead w/hilt
scimitar#1#3#8#8#large knife
spetum*#1#3#6#6#spearhead w/catching blades
broad sword#1#3#4#6#3-4' chopping sword
short sword#1#3#6#8#2-3' sword
trident#1#3#6#4#three-pronged fork
voulge*#1#3#4#4#single-edge blade
spear#4#3#6#8
bow#4#3#4#6
sling#4#3#6#6#uses bullets or rocks
crossbow#5#3#4#6
.TE
SHAR_EOF
if test 1487 -ne "`wc -c < 'weapon.tbl'`"
then
echo shar: error transmitting "'weapon.tbl'" '(should have been 1487 characters)'
fi
fi # end of overwriting check
# End of shell archive
exit 0
--
Mike Stephenson

Mail: Genamation Inc. Phone: (416) 475-9434
351 Steelcase Rd. W
Markham, Ontario. UUCP: uunet!{mnetor,utzoo}!genat!genpyr!mike
Canada L3R 3W1 uunet!{mnetor,utzoo}!genat!mike

Reply all
Reply to author
Forward
0 new messages