I'm posting this at least in part to solicit suggestions. I haven't
really decided how tough the millenium bug should be, and what
properties it should have. In this first version, it's more or less a
clone of the grid bug, just a bit tougher, and with the obligatory
special attack. I thought I'd see if anyone thought it should be really
nasty, or resistant to stuff, or anything like that. And of course,
more and better YAFMs are always welcome. ;)
-sbigham
==
--- src/monst.c.orig Thu Aug 3 16:51:43 2000
+++ src/monst.c Thu Jan 18 17:54:35 2001
@@ -1023,6 +1023,12 @@
NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
SIZ(15, 10, 0, MS_BUZZ, MZ_TINY), MR_ELEC|MR_POISON, 0,
M1_ANIMAL, M2_HOSTILE, M3_INFRAVISIBLE, CLR_MAGENTA),
+ MON("millennium bug", S_XAN,
+ LVL(1, 12, 9, 0, 0), (G_GENO|G_SGROUP|G_NOCORPSE|3),
+ A(ATTK(AT_BITE, AD_Y2K, 1, 4),
+ NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
+ SIZ(15, 10, 0, MS_Y2K, MZ_TINY), MR_ELEC|MR_POISON, 0,
+ M1_ANIMAL, M2_HOSTILE, M3_INFRAVISIBLE, CLR_BRIGHT_GREEN),
MON("xan", S_XAN,
LVL(7, 18, -4, 0, 0), (G_GENO|3),
A(ATTK(AT_STNG, AD_LEGS, 1, 4),
--- src/mhitu.c.orig Thu Dec 21 22:06:05 2000
+++ src/mhitu.c Thu Jan 18 00:07:48 2001
@@ -1438,6 +1438,18 @@
}
}
break;
+ case AD_Y2K:
+ hitmsg(mtmp, mattk);
+ if (uncancelled) {
+ if (rn2(2))
+ pline("Suddenly, the dungeon collapses (well, not really).");
+ else
+ You("suddenly feel as though it's 1900!");
+ } else {
+ You("are briefly surrounded by a cloud of media hype.");
+ dmg = 0;
+ }
+ break;
default: dmg = 0;
break;
}
--- src/mhitm.c.orig Thu Aug 3 16:00:42 2000
+++ src/mhitm.c Thu Jan 18 00:08:37 2001
@@ -573,6 +573,7 @@
case AD_WERE:
case AD_HEAL:
case AD_LEGS:
+ case AD_Y2K:
case AD_PHYS:
if (mattk->aatyp == AT_KICK && thick_skinned(pd))
tmp = 0;
--- src/uhitm.c.orig Sat Jan 13 13:14:05 2001
+++ src/uhitm.c Thu Jan 18 00:10:21 2001
@@ -1133,6 +1133,7 @@
case AD_WERE: /* no effect on monsters */
case AD_HEAL:
case AD_LEGS:
+ case AD_Y2K:
case AD_PHYS:
if(mattk->aatyp == AT_WEAP) {
if(uwep) tmp = 0;
--- src/mon.c.orig Thu Aug 3 15:30:14 2000
+++ src/mon.c Thu Jan 18 18:00:23 2001
@@ -1351,6 +1351,12 @@
s_suffix(Monnam(mon)));
return FALSE;
}
+ if (mdat == &mons[PM_MILLENNIUM_BUG]) {
+ if (cansee(mon->mx, mon->my))
+ pline("%s evaporates in a cloud of media hype.",
+ Monnam(mon));
+ return FALSE;
+ }
/* Gas spores always explode upon death */
for(i = 0; i < NATTK; i++) {
--- src/sounds.c.orig Thu Aug 3 15:31:44 2000
+++ src/sounds.c Thu Jan 18 00:14:13 2001
@@ -791,6 +791,9 @@
pline_msg = "is busy reading a copy of Sandman #8.";
else verbl_msg = "Who do you think you are, War?";
break;
+ case MS_Y2K:
+ verbl_msg = "A)bort, R)etry, F)ail?";
+ break;
}
if (pline_msg) pline("%s %s", Monnam(mtmp), pline_msg);
--- include/monattk.h.orig Mon Dec 27 11:58:37 1999
+++ include/monattk.h Wed Jan 17 23:56:44 2001
@@ -76,6 +76,7 @@
#define AD_SLIM 40 /* turns you into green slime */
#define AD_ENCH 41 /* remove enchantment (disenchanter) */
#define AD_CORRODE 42 /* corrode armor (black pudding) */
+#define AD_Y2K 43 /* Y2K attack (millennium bug) */
#define AD_CLRC 240 /* random clerical spell */
#define AD_SPEL 241 /* random magic spell */
--- include/monflag.h.orig Sun Nov 14 21:40:00 1999
+++ include/monflag.h Wed Jan 17 23:57:44 2001
@@ -48,6 +48,7 @@
#define MS_SPELL 37 /* spellcaster not matching any of the above */
#define MS_WERE 38 /* lycanthrope in human form */
#define MS_BOAST 39 /* giants */
+#define MS_Y2K 40 /* Y2K-related noises (millennium bug) */
#define MR_FIRE 0x01 /* resists fire */
--- win/share/monsters.txt.orig Thu Oct 21 17:31:36 1999
+++ win/share/monsters.txt Wed Jan 17 23:52:06 2001
@@ -2256,6 +2256,25 @@
MMGMMAAAAAAMMMMM
MMMMMMAAMAMMMMMM
}
+# tile 4269 (millennium bug)
+{
+ MMMMMMMMMMMMMMMM
+ MMMMMMMMMMMMMMMM
+ MMMMMMMMMMIIMMMM
+ MMMMMMMMMILIIMMM
+ MMMMMMMMMIIIIMMM
+ MMMMMIIMMIIIMMMM
+ MMMIIMMIIMMMAAAM
+ MMMMMILIIIMAAAAM
+ MMMMILIIMMIAAAAM
+ NNNILIIMIAAAAAMM
+ NANIIIIMAIAAMMMM
+ NNNIINNNAAAMAMMM
+ MMIIINANAAMAMAMM
+ MIIIANNNAAMMAMMM
+ MMIMMAAAAAAMMMMM
+ MMMMMMAAMAMMMMMM
+}
# tile 118 (xan)
{
MMMMMMMMMMMMMMMM
Hmm one and only one could be generated on turn 1999.
Special powers.. it might severly mess with your timeouts.
This reminds me of an idea that I had which I don't quite know how to
implement.. an artifact power. When you #invoke it once, it saves the
game. A second #invoke (or an apply or whatever) will restore the game
back to that saved point.. In-game savescumming. Of course there would
be hefty penalties/problems with using it, it would be in some ways less
useful than an amulet of life saving.. anyway a way of "going back in
time."
Of course we all know the REAL millenium bug comes on turn 2001.
--
ktb
Sent via Deja.com
http://www.deja.com/
>I can't believe no one has done this one yet (at least not that I can
>find); I would have thought it would be an obvious gag. Such as it is,
>then, I give you... the millennium bug.
>
>I'm posting this at least in part to solicit suggestions. I haven't
>really decided how tough the millenium bug should be, and what
>properties it should have. In this first version, it's more or less a
>clone of the grid bug, just a bit tougher, and with the obligatory
>special attack. I thought I'd see if anyone thought it should be really
>nasty, or resistant to stuff, or anything like that. And of course,
>more and better YAFMs are always welcome. ;)
"The millenium bug hits! You crash to the floor!" (as when levitating
over a sink)
(Problem: this could be an instakill in some circumstances.)
--
--------------===============<[ Ray Chason ]>===============--------------
PGP public key at http://www.smart.net/~rchason/pubkey.asc
Delenda est Windoze
There is already a Y2K bug in Nethack - it's one of the hallucination
monsters (in mon.c, I think?) Nonetheless, your idea is pretty clever.
The auto-generation on turn 1999 is also pretty good - though perhaps they
should start getting generated in 1995, and then get generated with increasing
frequency through 1999. (Or maybe later. I recently saw a website which
claimed the date was January 14, 101.)
JDW
Too late. There's already a "Y2K bug" on the hallucinatory
monsters list. (Added in 3.3.1; it wasn't present in 3.3.0's list.)