Merge branch 'NetHack-3.6.0' of https://rodney.nethack.org:20040/git/NHsource into NetHack-3.6.0
This commit is contained in:
215
dat/tribute
215
dat/tribute
@@ -384,13 +384,13 @@ GET TO THE BOTTOM OF THIS IF IT KILLS ME. FIGURATIVELY SPEAKING OF COURSE.'
|
||||
|
||||
[The Light Fantastic, by Terry Pratchett]
|
||||
%e passage 2
|
||||
# p. 7 (passage starts mid-paragraph; the too-long-to-answer question is
|
||||
# p. 7 (passage starts mid-sentence; the too-long-to-answer question is
|
||||
# "Why have Rincewind and Twoflower fallen off the Disc's rim?",
|
||||
# alluding to the conclusion of /The Colour of Magic/;
|
||||
# in /Sourcery/ and /Interesting Times/ and probably others, the
|
||||
# famous philosohper's name is spelled "Ly Tin Wheedle")
|
||||
%passage 3
|
||||
[...] such questions take time and could be more trouble than they are
|
||||
[...] such questions take time and could be more trouble than they are
|
||||
worth. For example, it is said that someone at a party once asked the
|
||||
famous philosopher Ly Tin Weedle "Why are you here?" and the reply took
|
||||
three years.
|
||||
@@ -573,39 +573,204 @@ according its victims the dignity of hatred. It wouldn't even notice them.
|
||||
#
|
||||
#
|
||||
#
|
||||
%title Equal Rites (3)
|
||||
%title Equal Rites (9)
|
||||
# p. 118 (Signet edition; passage starts mid-sentence and ends mid-paragraph)
|
||||
%passage 1
|
||||
...it is well known that a vital ingredient of success is not knowing that
|
||||
what you're attempting can't be done.
|
||||
[...] it is well known that a vital ingredient of success is not knowing
|
||||
that what you're attempting can't be done. [...]
|
||||
|
||||
[Equal Rites, by Terry Pratchett]
|
||||
%e passage
|
||||
# p. 218 (speaker is Granny Weatherwax)
|
||||
%passage 2
|
||||
Million-to-one chances...crop up nine times out of ten.
|
||||
"Million-to-one chances," she said, "crop up nine times out of ten."
|
||||
|
||||
[Equal Rites, by Terry Pratchett]
|
||||
%e passage
|
||||
# pp. 96-97 ('Tannoy': public address speaker)
|
||||
%passage 3
|
||||
Animal minds are simple, and therefore sharp. Animals never spend time
|
||||
dividing experience into little bits and speculating about all the bits
|
||||
they've missed. The whole panoply of the universe has been neatly
|
||||
expressed to them as things to (a) mate with, (b) eat, (c) run away from,
|
||||
and (d) rocks. This frees the mind from unnecessary thoughts and gives
|
||||
it a cutting edge where it matters. Your normal animal, in fact, never
|
||||
tries to walk and chew gum at the same time.
|
||||
Animal minds are simple, and therefore sharp. Animals never spend time
|
||||
dividing experience into little bits and speculating about all the bits
|
||||
they've missed. The whole panoply of the universe has been neatly
|
||||
expressed to them as things to (a) mate with, (b) eat, (c) run away from,
|
||||
and (d) rocks. This frees the mind from unnecessary thoughts and gives
|
||||
it a cutting edge where it matters. Your normal animal, in fact, never
|
||||
tries to walk and chew gum at the same time.
|
||||
|
||||
The average human, on the other hand, thinks about all sorts of things
|
||||
The average human, on the other hand, thinks about all sorts of things
|
||||
around the clock, on all sorts of levels, with interruptions from dozens
|
||||
of biological calendars and timepieces. There's thoughts about to be said,
|
||||
and private thoughts, and real thoughts, and thoughts about thoughts, and
|
||||
a whole gamut of subconscious thoughts. To a telepath the human head is
|
||||
a din. It is a railway terminus with all the Tannoys talking at once.
|
||||
It is a complete FM waveband- and some of those stations aren't reputable,
|
||||
of biological calendars and timepieces. There's thoughts about to be said,
|
||||
and private thoughts, and real thoughts, and thoughts about thoughts, and
|
||||
a whole gamut of subconscious thoughts. To a telepath the human head is
|
||||
a din. It is a railway terminus with all the Tannoys talking at once.
|
||||
It is a complete FM waveband--and some of those stations aren't reputable,
|
||||
they're outlawed pirates on forbidden seas who play late-night records with
|
||||
limbic lyrics.
|
||||
|
||||
[Equal Rites, by Terry Pratchett]
|
||||
%e passage
|
||||
# pp. 18-19
|
||||
%passage 4
|
||||
Smith took a spade from beside the back door and hesitated.
|
||||
|
||||
"Granny."
|
||||
|
||||
"What?"
|
||||
|
||||
"Do you know how wizards like to be buried?"
|
||||
|
||||
"Yes!"
|
||||
|
||||
"Well, how?"
|
||||
|
||||
Granny paused at the bottom of the stairs.
|
||||
|
||||
"Reluctantly."
|
||||
|
||||
[Equal Rites, by Terry Pratchett]
|
||||
%e passage
|
||||
# p. 70
|
||||
%passage 5
|
||||
Granny sighed. "You have learned something," she said, and thought it
|
||||
was safe to insert a touch of sternness into her voice. "They say that a
|
||||
little knowledge is a dangerous thing, but it is not one half so bad as a
|
||||
lot of ignorance."
|
||||
|
||||
[Equal Rites, by Terry Pratchett]
|
||||
%e passage
|
||||
# pp. 113-114 (Esk is a young girl)
|
||||
%passage 6
|
||||
The barges stopped at some of the towns. By tradition only the men went
|
||||
ashore, and only Amschat, wearing his ceremonial Lying hat, spoke to
|
||||
non-Zoons. Esk usually went with him. He tried hinting that she should
|
||||
obey the unwritten rules of Zoon life and stay afloat, but a hint was to
|
||||
Esk what a mosquito bite was to the average rhino because she was already
|
||||
learning that if you ignore the rules people will, half the time, quietly
|
||||
rewrite them so that they don't apply to you.
|
||||
|
||||
[Equal Rites, by Terry Pratchett]
|
||||
%e passage
|
||||
# pp. 119-120 ("what is happening here?" actually omits "is" but
|
||||
# must be a typo--fixed here to avoid bug reports;
|
||||
# 'broomstick' is Esk's disguised wizard's staff;
|
||||
# passage continues with questions about destination and
|
||||
# why go overland when the river goes to the same place)
|
||||
%passage 7
|
||||
The town was smaller than Ohulan, and very different because it lay on the
|
||||
junction of three trade routes quite apart from the river itself. It was
|
||||
built around one enormous square which was a cross between a permanent
|
||||
exotic traffic jam and a tent village. Camels kicked mules, mules kicked
|
||||
horses, horses kicked camels and they all kicked humans; there was a riot
|
||||
of colours, a din of noise, a nasal orchestration of smells and the steady,
|
||||
heady sound of hundreds of people working hard at making money.
|
||||
|
||||
One reason for the bustle was that over large parts of the continent other
|
||||
people preferred to make money without working at all, and since the Disc
|
||||
had yet to develop a music recording industry they were forced to fall back
|
||||
on older, more traditional forms of banditry.
|
||||
|
||||
Strangely enough these often involved considerable effort. Rolling heavy
|
||||
rocks to the top of cliffs for a decent ambush, cutting down trees to
|
||||
block the road, and digging a pit lined with spikes while still keeping a
|
||||
wicked edge on a dagger probably involved a much greater expenditure of
|
||||
thought and muscle than more socially-acceptable professions but,
|
||||
nevertheless, there were still people misguided enough to endure all this,
|
||||
plus long nights in uncomfortable surroundings, merely to get their hands
|
||||
on perfectly ordinary large boxes of jewels.
|
||||
|
||||
So a town like Zemphis was the place where caravans split, mingled and
|
||||
came together again, as dozens of merchants and travellers banded together
|
||||
for protection against the socially disadvantaged on the trails ahead.
|
||||
Esk, wandering unregarded amidst the bustle, learned all this by the simple
|
||||
method of finding someone who looked important and tugging on the hem of
|
||||
his coat.
|
||||
|
||||
This particular man was counting bales of tobacco and would have succeeded
|
||||
but for the interruption.
|
||||
|
||||
"What?"
|
||||
|
||||
"I said, what is happening here?"
|
||||
|
||||
The man meant to say: "Push off and bother someone else." He meant to
|
||||
give her a light cuff about the head. So he was astonished to find himself
|
||||
bending down and talking seriously to a small, grubby-faced child holding
|
||||
a large broomstick (which also, it seemed to him later, was in some
|
||||
indefinable way /paying attention/).
|
||||
|
||||
He explained about the caravans. The child nodded.
|
||||
|
||||
"People all get together to travel?"
|
||||
|
||||
"Precisely."
|
||||
|
||||
[Equal Rites, by Terry Pratchett]
|
||||
%e passage
|
||||
# pp. 127-128 (this time broomstick is Granny's defective witch's broomstick)
|
||||
%passage 8
|
||||
The broomstick lay between two trestles. Granny Weatherwax sat on a rock
|
||||
outcrop while a dwarf half her height, wearing an apron that was a mass of
|
||||
pockets, walked around the broom and occasionally poked it.
|
||||
|
||||
Eventually he kicked the bristles and gave a long intake of breath, a sort
|
||||
of reverse whistle, which is the secret sign of craftsman across the
|
||||
universe and means that something expensive is about to happen.
|
||||
|
||||
"Weellll," he said. "I could get the apprentices in to look at this, I
|
||||
could. It's an education in itself. And you say it actually managed to
|
||||
get airborne?"
|
||||
|
||||
"It flew like a bird," said Granny.
|
||||
|
||||
The dwarf lit a pipe. "I should very much like to see that bird," he said
|
||||
reflectively. "I should imagine it's quite something to watch, a bird like
|
||||
that."
|
||||
|
||||
"Yes, but can you repair it?" said Granny. "I'm in a hurry."
|
||||
|
||||
The dwarf sat down, slowly and deliberately.
|
||||
|
||||
"As for /repair/," he said, "well, I don't know about /repair/. Rebuild,
|
||||
maybe. Of course, it's hard to get the bristles these days even if you can
|
||||
find people to do the proper binding, and the spells need--"
|
||||
|
||||
"I don't want it rebuilt, I just want it to work properly," said Granny.
|
||||
|
||||
"It's an early model, you see," the dwarf plugged on. "Very tricky, those
|
||||
early models. You can't get the wood--"
|
||||
|
||||
He was picked up bodily until his eyes were level with Granny's. Dwarves,
|
||||
being magical in themselves as it were, are quite resistant to magic but
|
||||
her expression looked as though she was trying to weld his eyeballs to the
|
||||
back of his skull.
|
||||
|
||||
"Just repair it," she hissed. "Please?"
|
||||
|
||||
"What, make a bodge job?" said the dwarf, his pipe clattering to the floor.
|
||||
|
||||
"Yes."
|
||||
|
||||
"Patch it up, you mean? Betray my training by doing half a job?"
|
||||
|
||||
"Yes," said Granny. Her pupils were two little black holes.
|
||||
|
||||
"Oh," said the dwarf. "Right, then."
|
||||
|
||||
[Equal Rites, by Terry Pratchett]
|
||||
%e passage
|
||||
# p. 185 (actually uses four periods to mark a sentence ending in a elipsis)
|
||||
%passage 9
|
||||
There may be universes where librarianship is considered a peaceful sort of
|
||||
occupation, and where the risks are limited to large volumes falling off
|
||||
the shelves on to one's head, but the keeper of a /magic/ library is no job
|
||||
for the unwary. Spells have power, and merely writing them down and
|
||||
shoving them between covers doesn't do anything to reduce it. The stuff
|
||||
leaks. Books tend to react with one another, creating randomized magic
|
||||
with a mind of its own. Books of magic are usually chained to their
|
||||
shelves, but not to prevent them being stolen....
|
||||
|
||||
[Equal Rites, by Terry Pratchett]
|
||||
%e passage
|
||||
%e title
|
||||
#
|
||||
#
|
||||
@@ -6200,7 +6365,7 @@ IF YOU ASK ME, said Death, NOBODY COULD DO ANY BETTER THAN THAT...
|
||||
# Used for interaction with Death.
|
||||
#
|
||||
%section Death
|
||||
%title Death Quotes (13)
|
||||
%title Death Quotes (17)
|
||||
%passage 1
|
||||
WHERE THE FIRST PRIMAL CELL WAS, THERE WAS I ALSO. WHERE MAN IS, THERE AM I. WHEN THE LAST LIFE CRAWLS UNDER FREEZING STARS, THERE WILL I BE.
|
||||
%e passage
|
||||
@@ -6253,6 +6418,16 @@ I HAVE COME FOR THEE.
|
||||
# including them here wouldn't fit with the rest)
|
||||
%passage 14
|
||||
DARK IN HERE, ISN'T IT?
|
||||
# p. 14 (Equal Rites; 2nd sentence continues 'said the deep, heavy voice...')
|
||||
%passage 15
|
||||
THERE IS NO GOING BACK. THERE IS NO GOING BACK.
|
||||
# p. 15 (contradicts later descriptions of Death as existing outside of time;
|
||||
# presumably it's just intended as a colloquial expression)
|
||||
%passage 16
|
||||
I HAVEN'T GOT ALL DAY, YOU KNOW.
|
||||
# p. 15 (same page)
|
||||
%passage 17
|
||||
LIFE IS FOR THE LIVING.
|
||||
%e title
|
||||
%e section
|
||||
#
|
||||
|
||||
@@ -1948,7 +1948,7 @@ There is a section of this Guidebook that discusses that.
|
||||
.pg
|
||||
The default name of the configuration file varies on different
|
||||
operating systems. On DOS and Windows, it is ``defaults.nh''
|
||||
in the same folder as nethack.exe or nethackW.exe. On Unix, linux
|
||||
in the same folder as nethack.exe or nethackW.exe. On Unix, Linux
|
||||
and Mac OS X it is ``.nethackrc'' in the user's home directory.
|
||||
NETHACKOPTIONS can also be set to the full name of a file you
|
||||
want to use (possibly preceded by an `@').
|
||||
|
||||
@@ -2347,7 +2347,7 @@ There is a section of this Guidebook that discusses that.
|
||||
%.pg
|
||||
The default name of the configuration file varies on different
|
||||
operating systems. On DOS and Windows, it is ``{\tt defaults.nh}''
|
||||
in the same folder as nethack.exe or nethackW.exe. On Unix, linux
|
||||
in the same folder as nethack.exe or nethackW.exe. On Unix, Linux
|
||||
and Mac OS X it is ``{\tt.nethackrc}'' in the user's home directory.
|
||||
NETHACKOPTIONS can also be set to the full name of a file you
|
||||
want to use (possibly preceded by an `{\tt @}').
|
||||
|
||||
@@ -82,6 +82,7 @@ ensure sufficient messages are given to clarify the transition from detected
|
||||
fix "killing by kicking something weird" when kicking an object causes death
|
||||
guard macros available for mextra fields similar to those for oextra fields
|
||||
compile-time option for an alternate paniclog format for public server use
|
||||
make monsters forget where they stepped when fleeing or teleporting
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
@@ -116,7 +117,7 @@ reading non-cursed scroll of enchant weapon uncurses welded tin opener
|
||||
if hero has no jumping ability but knows the jumping spell, the #jump command
|
||||
will attempt to cast the spell
|
||||
additional tribute passages for The Colour of Magic, The Light Fantastic,
|
||||
Snuff, and Raising Steam
|
||||
Equal Rites, Snuff, and Raising Steam
|
||||
compile-time options SIMPLE_MAIL and SERVER_ADMIN_MSG for public server use
|
||||
|
||||
|
||||
|
||||
@@ -1363,7 +1363,7 @@ register int aflag; /* intrinsic autosearch vs explicit searching */
|
||||
unblock_point(x, y); /* vision */
|
||||
exercise(A_WIS, TRUE);
|
||||
nomul(0);
|
||||
feel_location(x, y); /* make sure it shows up */
|
||||
feel_newsym(x, y); /* make sure it shows up */
|
||||
You("find a hidden passage.");
|
||||
} else {
|
||||
/* Be careful not to find anything in an SCORR or SDOOR */
|
||||
@@ -1553,6 +1553,8 @@ int which_subset; /* when not full, whether to suppress objs and/or traps */
|
||||
}
|
||||
}
|
||||
}
|
||||
if (glyph == cmap_to_glyph(S_darkroom))
|
||||
glyph = cmap_to_glyph(S_room); /* FIXME: dirty hack */
|
||||
show_glyph(x, y, glyph);
|
||||
}
|
||||
|
||||
|
||||
@@ -325,8 +325,7 @@ boolean with_you;
|
||||
xyflags = mtmp->mtrack[0].y;
|
||||
xlocale = mtmp->mtrack[1].x;
|
||||
ylocale = mtmp->mtrack[1].y;
|
||||
mtmp->mtrack[0].x = mtmp->mtrack[0].y = 0;
|
||||
mtmp->mtrack[1].x = mtmp->mtrack[1].y = 0;
|
||||
memset(mtmp->mtrack, MTSZ, sizeof(coord));
|
||||
|
||||
if (mtmp == u.usteed)
|
||||
return; /* don't place steed on the map */
|
||||
|
||||
29
src/mkmaze.c
29
src/mkmaze.c
@@ -123,13 +123,9 @@ int wall_there, dx, dy;
|
||||
return spine;
|
||||
}
|
||||
|
||||
/*
|
||||
* Wall cleanup. This function has two purposes: (1) remove walls that
|
||||
* are totally surrounded by stone - they are redundant. (2) correct
|
||||
* the types so that they extend and connect to each other.
|
||||
*/
|
||||
/* Remove walls totally surrounded by stone */
|
||||
void
|
||||
wallification(x1, y1, x2, y2)
|
||||
wall_cleanup(x1, y1, x2, y2)
|
||||
int x1, y1, x2, y2;
|
||||
{
|
||||
uchar type;
|
||||
@@ -138,9 +134,9 @@ int x1, y1, x2, y2;
|
||||
|
||||
/* sanity check on incoming variables */
|
||||
if (x1 < 0 || x2 >= COLNO || x1 > x2 || y1 < 0 || y2 >= ROWNO || y1 > y2)
|
||||
panic("wallification: bad bounds (%d,%d) to (%d,%d)", x1, y1, x2, y2);
|
||||
panic("wall_cleanup: bad bounds (%d,%d) to (%d,%d)", x1, y1, x2, y2);
|
||||
|
||||
/* Step 1: change walls surrounded by rock to rock. */
|
||||
/* change walls surrounded by rock to rock. */
|
||||
for (x = x1; x <= x2; x++)
|
||||
for (y = y1; y <= y2; y++) {
|
||||
lev = &levl[x][y];
|
||||
@@ -153,10 +149,9 @@ int x1, y1, x2, y2;
|
||||
lev->typ = STONE;
|
||||
}
|
||||
}
|
||||
|
||||
fix_wall_spines(x1,y1,x2,y2);
|
||||
}
|
||||
|
||||
/* Correct wall types so they extend and connect to each other */
|
||||
void
|
||||
fix_wall_spines(x1, y1, x2, y2)
|
||||
int x1, y1, x2, y2;
|
||||
@@ -181,11 +176,7 @@ int x1, y1, x2, y2;
|
||||
if (x1<0 || x2>=COLNO || x1>x2 || y1<0 || y2>=ROWNO || y1>y2)
|
||||
panic("wall_extends: bad bounds (%d,%d) to (%d,%d)",x1,y1,x2,y2);
|
||||
|
||||
/*
|
||||
* Step 2: set the correct wall type. We can't combine steps
|
||||
* 1 and 2 into a single sweep because we depend on knowing if
|
||||
* the surrounding positions are stone.
|
||||
*/
|
||||
/* set the correct wall type. */
|
||||
for (x = x1; x <= x2; x++)
|
||||
for (y = y1; y <= y2; y++) {
|
||||
lev = &levl[x][y];
|
||||
@@ -217,6 +208,14 @@ int x1, y1, x2, y2;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
wallification(x1, y1, x2, y2)
|
||||
int x1, y1, x2, y2;
|
||||
{
|
||||
wall_cleanup(x1,y1,x2,y2);
|
||||
fix_wall_spines(x1,y1,x2,y2);
|
||||
}
|
||||
|
||||
STATIC_OVL boolean
|
||||
okay(x, y, dir)
|
||||
int x, y;
|
||||
|
||||
@@ -271,6 +271,8 @@ boolean fleemsg;
|
||||
}
|
||||
mtmp->mflee = 1;
|
||||
}
|
||||
/* ignore recently-stepped spaces when made to flee */
|
||||
memset(mtmp->mtrack, MTSZ, sizeof(coord));
|
||||
}
|
||||
|
||||
STATIC_OVL void
|
||||
|
||||
@@ -980,6 +980,7 @@ register int x, y;
|
||||
}
|
||||
}
|
||||
|
||||
memset(mtmp->mtrack, MTSZ, sizeof(coord));
|
||||
place_monster(mtmp, x, y); /* put monster down */
|
||||
update_monster_region(mtmp);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user