Commit Graph

810 Commits

Author SHA1 Message Date
mjl
b1342ea8af Removed duplicate entry. Fixes FreeBSD PR/21629. 2000-09-29 00:40:40 +00:00
jsm
5fd015d6f6 In cypher(), don't attempt to make sense of words other than VERBs or
KNIFE when a verb is required.  Add AUXVERB for "make", "move",
"climb" (as in "make love", "climb up") and ignore AUXVERB as a verb,
going on to the next word, instead of treating these words as
adjectives.  When creating new verbs from "put on", "put down", "take
off", mark them as type VERB.  Mostly from Paul Janzen
<pjanzen@foatdi.harvard.edu>.
2000-09-25 19:37:58 +00:00
jsm
ca0c4d77e3 Add new flags OBJ_PERSON and OBJ_NONOBJ to the objflags array. 2000-09-25 14:44:59 +00:00
jsm
e2872de219 Add OBJ_AN flag to objflags so as to use "a" or "an" appropriately in
messages; avoids "a amulet", "a Elf".  Define and use macros to use
"a", "an", "the", "is", "are" appropriately.  Partly based on OpenBSD.
2000-09-25 14:08:08 +00:00
jsm
293597460a Remove excess blank lines. From OpenBSD. 2000-09-25 14:06:20 +00:00
jsm
4cf0caf4ef Fix loving already loved goddess; avoid fallthrough after loving
goddess; give error on "love amulet".  From OpenBSD.
2000-09-25 14:05:52 +00:00
jsm
9cffc34578 Use defined constant FINAL instead of hardcoded 275. From OpenBSD. 2000-09-25 00:33:18 +00:00
jsm
f97a3c82c3 Fix logic error in use of n and wordnumber in murder() when using
laser.  From OpenBSD.
2000-09-25 00:28:54 +00:00
jsm
572a824811 Discard any part of a line of input that goes beyond our buffer rather
than treating it as our next line of input.  From OpenBSD.
2000-09-24 15:51:40 +00:00
jsm
96232c1c4d Give less cryptic messages than "-1%" when WEIGHT or CUMBER are zero. 2000-09-24 14:42:18 +00:00
jsm
ad9cea40fa Add explicit no-ops to empty loops following the NetBSD style guide. 2000-09-24 14:20:23 +00:00
jsm
579d7e283b Make hash table static in parse.c. 2000-09-24 14:11:09 +00:00
jsm
91d0e30d01 Use NULL instead of 0 (from OpenBSD). Also add or adjust comments. 2000-09-24 09:47:22 +00:00
jsm
ac1f171d5b Correct spelling "dont" to "don't". From OpenBSD. 2000-09-24 09:46:57 +00:00
jsm
44c05578b0 Make functions local to parse.c static. 2000-09-24 09:46:28 +00:00
jsm
b40caee28a Give a better message for trying to eat things it doesn't make sense
to eat.  For something eatable, check first whether you're holding it,
then whether you have a knife, then whether you're stuffed (gives
better message for "eat coconuts" when you don't have any).  From
OpenBSD.
2000-09-24 09:46:03 +00:00
jsm
6e6404a77d Clean up fly.c by making local variables and functions static and
removing abs() macro.
2000-09-24 09:44:28 +00:00
jsm
c2a6fb8d9d Prevent CUMBER from going negative; avoid division by zero if it is
zero.
2000-09-24 09:41:53 +00:00
jsm
1b39778596 Attempt to disambiguate BODY for kicking. Avoid crashing or nonsense
messages on "kick door" and "kick man".  From OpenBSD.
2000-09-24 09:39:56 +00:00
jsm
1781c4f837 Allow for bathing goddess in love(); give better message for a lover
that isn't present and for certain choices of lover.  From OpenBSD.
2000-09-23 19:51:02 +00:00
jsm
d2c1d833b2 Allow for the bathing goddess in ravage(). From OpenBSD. 2000-09-23 19:45:07 +00:00
jsm
d3579258c9 Use a lookup table to identify whether objects are plural or singular,
instead of testing the final character against 's' in each place.
Avoids oddities about "pot of jewels" and "compass".
2000-09-23 19:23:57 +00:00
simonb
cd2e1c1e91 Use ${COPY} instead of -c for ${INSTALL} commands. 2000-09-23 13:53:41 +00:00
jhawk
650c1aea1c Correct descriptions of "marked" vs. "ignored" -- they were swapped. 2000-09-23 01:52:50 +00:00
jsm
05ca74ab1c Don't say "Kicked." of an object not present; give sensible messages.
From OpenBSD.
2000-09-22 12:38:10 +00:00
jsm
016903dbdb Check for an object being taken not being there before checking for
whether it is too heavy or too bulky; gives a better message for "take
viper" with the viper not present.
2000-09-22 12:37:32 +00:00
jsm
d67a03db02 Give appropriate messages (rather than saying nothing) if an verb is
used with "all" and nothing relevant is present.  From OpenBSD.
2000-09-22 08:19:57 +00:00
jsm
0f933d0d56 Remove all adjectives in parse(), since they are nowhere used. Fixes
crash on "carry old all" shown up by fuzz testing.  Patch from Paul
Janzen <pjanzen@foatdi.harvard.edu>.
2000-09-22 08:19:21 +00:00
jsm
b283f74760 Give an appropriate error on "kill all" rather than a crash or
nonsense message.  From OpenBSD.
2000-09-22 08:18:20 +00:00
jsm
1fc5d09e80 Various improvements to parsing in battlestar, mostly from OpenBSD.
Define a constant WORDLEN.  Always use this constant and NWORD where
appropriate.

Use NWORD - 1 in battlestar.c to avoid off-by-one error.

Increment wordnumber after the INVEN verb to allow it to be followed
by a comma and other actions.

Avoid overflowing elements of the words array if input words are too
long.

Parse "," as AND except when followed by a verb, to allow such
constructions as "take foo, bar, and baz".  Trim AND AND which may
occur from the ", and" in such a list.

Avoid crashes from EVERYTHING in the wrong place by moving it to the
start of OBJECT AND EVERYTHING and NOUNS AND EVERYTHING sequences, and
trimming EVERYTHING AND EVERYTHING.
2000-09-21 17:44:34 +00:00
jsm
6d1847f667 Don't try to wear anything that isn't OBJECT or NOUNS. Don't try to
wear DOOR or anything without a short description.  Fixes crashes on
"wear knfo" (bug reported by Peter Maydell
<pmaydell@chiark.greenend.org.uk>), "wear wear", "wear kick", "wear
door" and "wear goddess".  Partly from OpenBSD.
2000-09-21 10:38:50 +00:00
jsm
a4454d2982 If no hand-to-hand weapons are available, try using the laser to kill
in murder().  From OpenBSD.
2000-09-21 10:22:36 +00:00
jsm
16d8e9af6f die() on EOF; based on OpenBSD. 2000-09-21 09:49:03 +00:00
jsm
956f5c6ba6 From OpenBSD: in kiss(), "take" the bathing goddess if required, and
give a better error message if the person to kiss is not present.
2000-09-21 09:48:10 +00:00
jsm
ca5dbcecd4 Add missing initialisers (avoid gcc -W warnings) and comments giving
room numbers.
2000-09-18 06:14:31 +00:00
jsm
819ea9d1a6 Clean up formatting; partly from OpenBSD. 2000-09-17 23:04:17 +00:00
jsm
31b523eee5 Patches from OpenBSD: add verbs "open"/"unlock" (essentially a no-op),
and "verbose"/"brief" (in verbose mode, always show long room
descriptions), and synonyms "papaya" for "papayas" and "coconut" for
"coconuts".
2000-09-17 23:03:43 +00:00
jsm
cf35dbffa1 Based on OpenBSD: spelling, punctuation, grammar and line length
adjustments, and support for '=' in room descriptions meaning a
literal '-'.
2000-09-10 10:52:56 +00:00
jsm
3e02203ec6 Wording, punctuation and line length improvements. Also adjust test
for killing nonsensical things to fix crash with "kill door".  From
OpenBSD.
2000-09-10 10:51:16 +00:00
jsm
d71839604a Make spacing nicer and add explicit NULL initializers. 2000-09-09 18:03:58 +00:00
jsm
c6bbb5288d Store copy of username with strdup rather than using a fixed length
buffer.  Also make initialization functions and arrays static.
2000-09-09 09:37:58 +00:00
jsm
ce85e35a32 Put prototypes in alphabetical order. 2000-09-09 09:36:23 +00:00
jsm
a7c82eea02 Spelling and punctuation corrections or improvements from OpenBSD. 2000-09-08 17:25:31 +00:00
jsm
af3dee978f Make code clearer; add a macro ROOMDESC for the number of times a room
should be visited for the short description only to be used, and don't
increment beenthere[position] beyond this value.  From OpenBSD.
2000-09-08 17:22:01 +00:00
jsm
ec240586d1 Manpage improvements based on OpenBSD. 2000-09-08 17:18:36 +00:00
abs
90a84d2445 If we install limerick-o.dat, we should also install limerick-o to make it
usable.
2000-08-17 16:54:28 +00:00
abs
5b783e3f48 Split netbsd fortunes into offensive and non offensive.
Split could be considered somewhat arbitrary.
2000-08-17 16:48:52 +00:00
abs
ad603791f5 NetBSD: A pmap for every occasion 2000-08-17 16:27:38 +00:00
mason
a6cd58daee Corrected quote. It was totally missing its (well-known) equivalent of
a punch line.
2000-08-12 23:04:15 +00:00
simonb
251d3a61d0 Use a local implementation of htonl() called h2nl(). htonl() is not
available in all cross-compile environments.

Patches from Chris Demetriou.
2000-07-31 11:39:00 +00:00