--
In his house at R'lyeh dead Robert waits dreaming.
> Yesterday I was happily wandering around the dungeon with my elven Ranger
> when suddenly, a light blue demon came up to me and said "Hello Telperion, I
> have some mail for you" or something like that. The point is, my Amiga
> doesnt have an internet connection and it turned out the mail scroll I
> received read "Welcome to Nethack". These scrolls keep on coming and I like
> it, it's like fortune in UNIX systems.
Before you go out of your way to get this working on another system:
(really mild spoiler)
(I can't make that ^L character)
There are only six possible random "mail" messages.
static char *junk[] = {
"Please disregard previous letter.",
"Welcome to NetHack.",
#ifdef AMIGA
"Only Amiga makes it possible.",
"CATS have all the answers.",
#endif
"Report bugs to <dev...@nethack.org>.",
"Invitation: Visit the NetHack web site at http://www.nethack.org!"
};
I imagine they get really, really old after the first 50 times.
> --
^ Good old Outlook Express.
--
"Do you think that they, with their Battles, Famine, Black Death
and Serfdom, were less enlightened than we are, with our Wars,
Blockade, Influenza and Conscription?" -- T. H. White
This would appear to be the relevant change:
Change line 424 in src/mail.c from
#if defined(AMIGA) || defined(MSDOS) || defined(TOS)
to
#if 1 || defined(AMIGA) || defined(MSDOS) || defined(TOS)
--
++acr@,ka"
Ah, too bad. I still like the concept so maybe I'll expand the number of
messages with my own and recompile.
Thanks anyway.
Sorry? Why `thanks anyway'?
--
++acr@,ka"
There are only six of those messages so it'd get pretty boring after a
while.
> --
> ++acr@,ka"
I think not... I'm just guessing but I think that just the Amiga and
DOS ports have that 'simulation' of a mail daemon. The other platforms
don't, and just some have a real mail daemon which delivers your mail
when it arrives at your inbox... let's hope someone more experts tell
you about it... and by the way... could it be implemented in future
versions for the other platforms? (the mail daemon simulation or even
the real arriving mail daemon...) I know... it just depends on the
platforms developers, but let's just hope that because I also like
that funny monster (but sometimes it annoys me..)
take care}
--
Javis F F
That's easy enough to solve: write more. Of course, some people might say
that it'd be extremely irritating no matter how varied they are.
--
++acr@,ka"
That's easy enough to solve: write more. Of course, some people might say
Yes. I'm planning to.
[getting non-real mail on real computers]
> > There are only six of those messages so it'd get pretty boring after a
> > while.
>
> That's easy enough to solve: write more. Of course, some people might say
> that it'd be extremely irritating no matter how varied they are.
Well, the obvious move (taking a cue from the talking Quest Artifacts)
would be to grab the text from the rumours files. That way they'd be
a) varied and b) have some relevance.
Ok, why not. Here's a patch, which seems to work fine after brief
testing. The #if changes are just to persuade a Unix system that it
shouldn't be looking for real mail; tweak them to suit local
conditions. Note that the truth of the rumour depends on the buc
status of the scroll; but who's going to waste holy water on scrolls
of mail just for that? :-)
--- nethack-3.4.0/src/mail.c Wed Mar 20 23:43:07 2002
+++ nethack-3.4.0bis/src/mail.c Wed Aug 14 22:28:29 2002
@@ -40,7 +40,7 @@
#ifdef OVL0
-# if !defined(UNIX) && !defined(VMS) && !defined(LAN_MAIL)
+# if 1 || !defined(UNIX) && !defined(VMS) && !defined(LAN_MAIL)
int mustgetmail = -1;
# endif
@@ -414,14 +414,14 @@
pline("Hark! \"%s.\"", info->display_txt);
}
-# if !defined(UNIX) && !defined(VMS) && !defined(LAN_MAIL)
+# if 1 || !defined(UNIX) && !defined(VMS) && !defined(LAN_MAIL)
void
ckmailstatus()
{
if (u.uswallow || !flags.biff) return;
if (mustgetmail < 0) {
-#if defined(AMIGA) || defined(MSDOS) || defined(TOS)
+#if 1 || defined(AMIGA) || defined(MSDOS) || defined(TOS)
mustgetmail=(moves<2000)?(100+rn2(2000)):(2000+rn2(3000));
#endif
return;
@@ -439,27 +439,21 @@
readmail(otmp)
struct obj *otmp;
{
- static char *junk[] = {
- "Please disregard previous letter.",
- "Welcome to NetHack.",
-#ifdef AMIGA
- "Only Amiga makes it possible.",
- "CATS have all the answers.",
-#endif
- "Invitation: Visit the NetHack web site at http://www.nethack.org!"
- };
-
+ const char *line;
+ char buf[BUFSZ];
+ line = getrumor(bcsign(otmp), buf, TRUE);
+ if (!*line)
+ line = "NetHack rumors file closed for renovation.";
if (Blind) {
pline("Unfortunately you cannot see what it says.");
} else
- pline("It reads: \"%s\"", junk[rn2(SIZE(junk))]);
+ pline("It reads: \"%s\"", line);
}
# endif /* !UNIX && !VMS && !LAN_MAIL */
-# ifdef UNIX
+# ifdef 0
void
ckmailstatus()
--
: Dylan O'Donnell http://www.spod-central.org/~psmith/ :
: "Note that computers turn us into aliens." :
: -- Zarf, out of context :
This should say "closed for inventory", shouldn't it?
:)
Add inches to your sword! It really works!
Certified intrinsics by post!
Dear Mum, dungeon really quite boring, food awful, monsters frie-
Forward this scroll to ten of your friends for a +5 luck bonus.
Having a hell of a time, my dear; wish you were here.
Introduce Nethack to a friend and get a 10% discount!
Looking for a cheap imitation Amulet of Yendor? Look no further!
Make zorkmids fast!
New legal herbal aternative to hallucination potions!
Police appeal: have you seen this shoplifter? -> @
You're approved for the new Platinum Yendorian Express Card!
You may already have won 10,000 zorkmids!
--
Robin Johnson
rj at robinjohnson dot f9 dot co dot uk
http://www.robinjohnson.f9.co.uk
<snip snip> Thanks, I haven't laughed that hard in quite a while!
[also submitted to a.b.b-o-u :-]
Uwe
--
mail replies to Uwe at schuerkamp dot de ( yahoo address is spambox)
Uwe Schuerkamp //////////////////////////// http://www.schuerkamp.de/
Herford, Germany \\\\\\\\\\\\\\\\\\\\\\\\\\ (52.0N/8.5E)
GPG Fingerprint: 2E 13 20 22 9A 3F 63 7F 67 6F E9 B1 A8 36 A4 61
You're not familiar with the behaviour of the Colossal Cave on multi-
user systems with site policy regarding game-playing hours, I see :)
m.
--
\_\/_/| Martin Read - my opinions are my own. share them if you wish.
\ / | though the cause is true, cannot quite break through this sign of
\/ | winter world awaits the thaw, melt the ground before they can be
------+ buried --- Manuskript, "No Reprise"
Would that be considered as cheating? Then again, reading spoilers might be
more cheating than this is. Thanks for the code. Though I know my C/C++
quite well I've never looked into the NH source, could you tell me which .c
I have to change here?
No more so than stumbling across rumours used as random engravings.
The scroll messages will have a 50/50 chance of coming from either the
false or true rumour files, unless you bless them, so you can't put
particularly much reliance on what they're telling you.
> Then again, reading spoilers might be more cheating than this
> is. Thanks for the code. Though I know my C/C++ quite well I've
> never looked into the NH source, could you tell me which .c I have
> to change here?
src/mail.c, as the patch header says.
Woops. :D
May I suggest a small improvement there?
Keep the junk, and instead of
if (!*line)
line = "NetHack rumors file closed for renovation.";
do
if (!*line)
line = junk[rn2(SIZE(junk))];
(I wrote a junk-mail patch myself for 3.3.1...)
--
---. /) | http://www.erebus.demon.nl/dion/nethack.html
/ \ / _ _ | _ _ _ The NetHack Index at Erebus
-/ )\ | (_(_ (_) \_ ()\ ()\ \ dnic...@myrealbox.com
_/___/ \| -------------------' Dion Nicolaas
[being junkmailed rumours rather than the standard non-real mail]
> > Ok, why not. Here's a patch, which seems to work fine after brief
> > testing.
> [... snipped patch]
>
> May I suggest a small improvement there?
>
> Keep the junk, and instead of
>
> if (!*line)
> line = "NetHack rumors file closed for renovation.";
>
> do
>
> if (!*line)
> line = junk[rn2(SIZE(junk))];
To your own taste, of course :-) But this is always something that
Shouldn't Happen in a sound installation; so making it clearer that
something's wrong is preferable, I'd say.