<Someone>'s touchstone code and a bee swarm bit.

This commit is contained in:
nethack.allison
2002-01-09 03:31:30 +00:00
parent 40e0f19b53
commit 767335698b
10 changed files with 227 additions and 115 deletions

View File

@@ -132,38 +132,37 @@ particularly intriguing modification to help out with the game. The Gods of
the Dungeon sometimes make note of the names of the worst of these miscreants
in this, the list of Dungeoneers:
Adam Aronow Irina Rempt-Drijfhout Mike Gallop
Andreas Dorn Izchak Miller Mike Passaretti
Andy Church J. Ali Harlow Mike Stephenson
Andy Swanson Janet Walz Norm Meluch
Ari Huttunen Janne Salmijarvi Olaf Seibert
Barton House Jean-Christophe Collet Pat Rankin
Benson I. Margulies Jochen Erwied Paul Winner
Bill Dyer John Kallen Pierre Martineau
Boudewijn Waijers John Rupley Ralf Brown
Bruce Cox John S. Bien Richard Addison
Bruce Holloway Johnny Lee Richard Beigel
Bruce Mewborne Jon W{tte Richard P. Hughey
Carl Schelin Jonathan Handler Rob Menke
Chris Russo Joshua Delahunty Robin Johnson
David Cohrs Keizo Yamamoto Roland McGrath
David Damerell Ken Arromdee Ron Van Iwaarden
David Gentzel Ken Lorber Ronnen Miller
David Hairston Ken Washikita Ross Brown
Dean Luick Kevin Darcy Sascha Wostmann
Del Lamb Kevin Hugo Scott Bigham
Deron Meranda Kevin Sitze Scott R. Turner
Dylan O'Donnell Kevin Smolkowski Stephen Spackman
Eric Backus Kevin Sweet Stephen White
Eric Hendrickson Lars Huttar Steve Creps
Eric R. Smith Mark Gooderum Steve Linhart
Eric S. Raymond Mark Modrall Steve VanDevender
Erik Andersen Marvin Bressler Tim Lennan
Frederick Roeber Matthew Day Timo Hakulinen
Gil Neiger Merlyn LeRoy Tom Almy
Greg Laskin Michael Allison Tom West
Greg Olson Michael Feir Warren Cheung
Gregg Wonderly Michael Hamel Warwick Allison
Hao-yang Wang Michael Sokolov Yitzhak Sapir
Helge Hafting Mike Engber
Adam Aronow Irina Rempt-Drijfhout Mike Engber
Andreas Dorn Izchak Miller Mike Gallop
Andy Church J. Ali Harlow Mike Passaretti
Andy Swanson Janet Walz Mike Stephenson
Ari Huttunen Janne Salmijarvi Norm Meluch
Barton House Jean-Christophe Collet Olaf Seibert
Benson I. Margulies Jochen Erwied Pat Rankin
Bill Dyer John Kallen Paul Winner
Boudewijn Waijers John Rupley Pierre Martineau
Bruce Cox John S. Bien Ralf Brown
Bruce Holloway Johnny Lee Richard Addison
Bruce Mewborne Jon W{tte Richard Beigel
Carl Schelin Jonathan Handler Richard P. Hughey
Chris Russo Joshua Delahunty Rob Menke
David Cohrs Keizo Yamamoto Robin Johnson
David Damerell Ken Arnold Roland McGrath
David Gentzel Ken Arromdee Ron Van Iwaarden
David Hairston Ken Lorber Ronnen Miller
Dean Luick Ken Washikita Ross Brown
Del Lamb Kevin Darcy Sascha Wostmann
Deron Meranda Kevin Hugo Scott Bigham
Dylan O'Donnell Kevin Sitze Scott R. Turner
Eric Backus Kevin Smolkowski Stephen Spackman
Eric Hendrickson Kevin Sweet Stephen White
Eric R. Smith Lars Huttar Steve Creps
Eric S. Raymond Mark Gooderum Steve Linhart
Erik Andersen Mark Modrall Steve VanDevender
Frederick Roeber Marvin Bressler Tim Lennan
Gil Neiger Matthew Day Timo Hakulinen
Greg Laskin Merlyn LeRoy Tom Almy
Greg Olson Michael Allison Tom West
Gregg Wonderly Michael Feir Warren Cheung
Hao-yang Wang Michael Hamel Warwick Allison
Helge Hafting Michael Sokolov Yitzhak Sapir

View File

@@ -2258,40 +2258,40 @@ in this, the list of Dungeoneers:
center;
c c c.
.\"TABLE_START
Adam Aronow Irina Rempt-Drijfhout Mike Gallop
Andreas Dorn Izchak Miller Mike Passaretti
Andy Church J. Ali Harlow Mike Stephenson
Andy Swanson Janet Walz Norm Meluch
Ari Huttunen Janne Salmijarvi Olaf Seibert
Barton House Jean-Christophe Collet Pat Rankin
Benson I. Margulies Jochen Erwied Paul Winner
Bill Dyer John Kallen Pierre Martineau
Boudewijn Waijers John Rupley Ralf Brown
Bruce Cox John S. Bien Richard Addison
Bruce Holloway Johnny Lee Richard Beigel
Bruce Mewborne Jon W{tte Richard P. Hughey
Carl Schelin Jonathan Handler Rob Menke
Chris Russo Joshua Delahunty Robin Johnson
David Cohrs Keizo Yamamoto Roland McGrath
David Damerell Ken Arromdee Ron Van Iwaarden
David Gentzel Ken Lorber Ronnen Miller
David Hairston Ken Washikita Ross Brown
Dean Luick Kevin Darcy Sascha Wostmann
Del Lamb Kevin Hugo Scott Bigham
Deron Meranda Kevin Sitze Scott R. Turner
Dylan O'Donnell Kevin Smolkowski Stephen Spackman
Eric Backus Kevin Sweet Stephen White
Eric Hendrickson Lars Huttar Steve Creps
Eric R. Smith Mark Gooderum Steve Linhart
Eric S. Raymond Mark Modrall Steve VanDevender
Erik Andersen Marvin Bressler Tim Lennan
Frederick Roeber Matthew Day Timo Hakulinen
Gil Neiger Merlyn LeRoy Tom Almy
Greg Laskin Michael Allison Tom West
Greg Olson Michael Feir Warren Cheung
Gregg Wonderly Michael Hamel Warwick Allison
Hao-yang Wang Michael Sokolov Yitzhak Sapir
Helge Hafting Mike Engber
Adam Aronow Irina Rempt-Drijfhout Mike Engber
Andreas Dorn Izchak Miller Mike Gallop
Andy Church J. Ali Harlow Mike Passaretti
Andy Swanson Janet Walz Mike Stephenson
Ari Huttunen Janne Salmijarvi Norm Meluch
Barton House Jean-Christophe Collet Olaf Seibert
Benson I. Margulies Jochen Erwied Pat Rankin
Bill Dyer John Kallen Paul Winner
Boudewijn Waijers John Rupley Pierre Martineau
Bruce Cox John S. Bien Ralf Brown
Bruce Holloway Johnny Lee Richard Addison
Bruce Mewborne Jon W{tte Richard Beigel
Carl Schelin Jonathan Handler Richard P. Hughey
Chris Russo Joshua Delahunty Rob Menke
David Cohrs Keizo Yamamoto Robin Johnson
David Damerell Ken Arnold Roland McGrath
David Gentzel Ken Arromdee Ron Van Iwaarden
David Hairston Ken Lorber Ronnen Miller
Dean Luick Ken Washikita Ross Brown
Del Lamb Kevin Darcy Sascha Wostmann
Deron Meranda Kevin Hugo Scott Bigham
Dylan O'Donnell Kevin Sitze Scott R. Turner
Eric Backus Kevin Smolkowski Stephen Spackman
Eric Hendrickson Kevin Sweet Stephen White
Eric R. Smith Lars Huttar Steve Creps
Eric S. Raymond Mark Gooderum Steve Linhart
Erik Andersen Mark Modrall Steve VanDevender
Frederick Roeber Marvin Bressler Tim Lennan
Gil Neiger Matthew Day Timo Hakulinen
Greg Laskin Merlyn LeRoy Tom Almy
Greg Olson Michael Allison Tom West
Gregg Wonderly Michael Feir Warren Cheung
Hao-yang Wang Michael Hamel Warwick Allison
Helge Hafting Michael Sokolov Yitzhak Sapir
.\"TABLE_END Do not delete this line.
.TE
.ed

View File

@@ -2804,40 +2804,40 @@ in this, the list of Dungeoneers:
\begin{center}
\begin{tabular}{lll}
%TABLE_START
Adam Aronow & Irina Rempt-Drijfhout & Mike Gallop\\
Andreas Dorn & Izchak Miller & Mike Passaretti\\
Andy Church & J. Ali Harlow & Mike Stephenson\\
Andy Swanson & Janet Walz & Norm Meluch\\
Ari Huttunen & Janne Salmij\"{a}rvi & Olaf Seibert\\
Barton House & Jean-Christophe Collet & Pat Rankin\\
Benson I. Margulies & Jochen Erwied & Paul Winner\\
Bill Dyer & John Kallen & Pierre Martineau\\
Boudewijn Waijers & John Rupley & Ralf Brown\\
Bruce Cox & John S. Bien & Richard Addison\\
Bruce Holloway & Johnny Lee & Richard Beigel\\
Bruce Mewborne & Jon W\{tte & Richard P. Hughey\\
Carl Schelin & Jonathan Handler & Rob Menke\\
Chris Russo & Joshua Delahunty & Robin Johnson\\
David Cohrs & Keizo Yamamoto & Roland McGrath\\
David Damerell & Ken Arromdee & Ron Van Iwaarden\\
David Gentzel & Ken Lorber & Ronnen Miller\\
David Hairston & Ken Washikita & Ross Brown\\
Dean Luick & Kevin Darcy & Sascha Wostmann\\
Del Lamb & Kevin Hugo & Scott Bigham\\
Deron Meranda & Kevin Sitze & Scott R. Turner\\
Dylan O'Donnell & Kevin Smolkowski & Stephen Spackman\\
Eric Backus & Kevin Sweet & Stephen White\\
Eric Hendrickson & Lars Huttar & Steve Creps\\
Eric R. Smith & Mark Gooderum & Steve Linhart\\
Eric S. Raymond & Mark Modrall & Steve VanDevender\\
Erik Andersen & Marvin Bressler & Tim Lennan\\
Frederick Roeber & Matthew Day & Timo Hakulinen\\
Gil Neiger & Merlyn LeRoy & Tom Almy\\
Greg Laskin & Michael Allison & Tom West\\
Greg Olson & Michael Feir & Warren Cheung\\
Gregg Wonderly & Michael Hamel & Warwick Allison\\
Hao-yang Wang & Michael Sokolov & Yitzhak Sapir\\
Helge Hafting & Mike Engber
Adam Aronow & Irina Rempt-Drijfhout & Mike Engber \\
Andreas Dorn & Izchak Miller & Mike Gallop\\
Andy Church & J. Ali Harlow & Mike Passaretti\\
Andy Swanson & Janet Walz & Mike Stephenson\\
Ari Huttunen & Janne Salmij\"{a}rvi & Norm Meluch\\
Barton House & Jean-Christophe Collet & Olaf Seibert\\
Benson I. Margulies & Jochen Erwied & Pat Rankin\\
Bill Dyer & John Kallen & Paul Winner\\
Boudewijn Waijers & John Rupley & Pierre Martineau\\
Bruce Cox & John S. Bien & Ralf Brown\\
Bruce Holloway & Johnny Lee & Richard Addison\\
Bruce Mewborne & Jon W\{tte & Richard Beigel\\
Carl Schelin & Jonathan Handler & Richard P. Hughey\\
Chris Russo & Joshua Delahunty & Rob Menke\\
David Cohrs & Keizo Yamamoto & Robin Johnson\\
David Damerell & Ken Arnold & Roland McGrath\\
David Gentzel & Ken Arromdee & Ron Van Iwaarden\\
David Hairston & Ken Lorber & Ronnen Miller\\
Dean Luick & Ken Washikita & Ross Brown\\
Del Lamb & Kevin Darcy & Sascha Wostmann\\
Deron Meranda & Kevin Hugo & Scott Bigham\\
Dylan O'Donnell & Kevin Sitze & Scott R. Turner\\
Eric Backus & Kevin Smolkowski & Stephen Spackman\\
Eric Hendrickson & Kevin Sweet & Stephen White\\
Eric R. Smith & Lars Huttar & Steve Creps\\
Eric S. Raymond & Mark Gooderum & Steve Linhart\\
Erik Andersen & Mark Modrall & Steve VanDevender\\
Frederick Roeber & Marvin Bressler & Tim Lennan\\
Gil Neiger & Matthew Day & Timo Hakulinen\\
Greg Laskin & Merlyn LeRoy & Tom Almy\\
Greg Olson & Michael Allison & Tom West\\
Gregg Wonderly & Michael Feir & Warren Cheung\\
Hao-yang Wang & Michael Hamel & Warwick Allison\\
Helge Hafting & Michael Sokolov & Yitzhak Sapir
%TABLE_END Do not delete this line.
\end{tabular}
\end{center}

View File

@@ -275,6 +275,9 @@ E NEARDATA struct c_color_names {
#define purple c_color_names.c_purple
#define White c_color_names.c_white
/* The names of the colors used for gems, etc. */
E const char *c_obj_colors[];
E struct c_common_strings {
const char *const c_nothing_happens, *const c_thats_enough_tries,
*const c_silly_thing_to, *const c_shudder_for_moment,

View File

@@ -9,7 +9,7 @@
static const char tools[] = { TOOL_CLASS, WEAPON_CLASS, WAND_CLASS, 0 };
static const char tools_too[] = { ALL_CLASSES, TOOL_CLASS, POTION_CLASS,
WEAPON_CLASS, WAND_CLASS, 0 };
WEAPON_CLASS, WAND_CLASS, GEM_CLASS, 0 };
#ifdef TOURIST
STATIC_DCL int FDECL(use_camera, (struct obj *));
@@ -1761,6 +1761,73 @@ reset_trapset()
trapinfo.tobj = 0;
}
STATIC_OVL void
use_stone(otmp)
struct obj *otmp;
{
struct obj *obj;
char allowall[2];
const char *color = 0;
static const char *ambiguous = "You make scratch marks on the stone";
allowall[0] = ALL_CLASSES;
allowall[1] = '\0';
if (!(obj = getobj(allowall, "rub on the stone")))
return;
if (otmp->cursed && obj->oclass == GEM_CLASS && rnd(5) == 1) {
pline(
(Blind ? "You feel something shatter" :
(Hallucination ? "Oh, wow, look at the pretty shards" :
"A sharp crack shatters %s %s")),
(obj->quan == 1 ? "the" : "a"),
lcase(makesingular(let_to_name(obj->oclass, FALSE))));
useup(obj);
return;
}
if (Blind) {
pline("\"scritch, scritch\"");
return;
}
if (Hallucination) {
pline("Oh wow, man: Fractals!");
return;
}
if (otmp->otyp != TOUCHSTONE) {
pline(ambiguous);
return;
}
switch (obj->oclass) {
case GOLD:
color = "golden";
break;
case GEM_CLASS:
if (otmp->blessed) {
makeknown(TOUCHSTONE);
makeknown(obj->otyp);
prinv((char *)0, obj, 0L);
return;
}
/* FALLTHROUGH */
case RING_CLASS:
if (objects[obj->otyp].oc_material == GLASS) {
pline(ambiguous); /* yet not amibguous if a known touchstone */
return;
}
color = c_obj_colors[objects[obj->otyp].oc_color];
break;
default:
pline("\"scritch, scritch\"");
return;
}
pline("You see %s streaks on the stone", color);
return;
}
/* Place a landmine/bear trap. Helge Hafting */
STATIC_OVL void
use_trap(otmp)
@@ -2417,7 +2484,8 @@ doapply()
register int res = 1;
if(check_capacity((char *)0)) return (0);
obj = getobj(carrying(POT_OIL) ? tools_too : tools, "use or apply");
obj = getobj(carrying(POT_OIL) || carrying(TOUCHSTONE)
? tools_too : tools, "use or apply");
if(!obj) return 0;
if (obj->oclass == WAND_CLASS)
@@ -2601,6 +2669,9 @@ doapply()
case BEARTRAP:
use_trap(obj);
break;
case TOUCHSTONE:
use_stone(obj);
break;
default:
/* Pole-weapons can strike at a distance */
if (is_pole(obj)) {

View File

@@ -210,6 +210,25 @@ NEARDATA struct c_color_names c_color_names = {
"white"
};
const char *c_obj_colors[] = {
"black", /* CLR_BLACK */
"red", /* CLR_RED */
"green", /* CLR_GREEN */
"brown", /* CLR_BROWN */
"blue", /* CLR_BLUE */
"magenta", /* CLR_MAGENTA */
"cyan", /* CLR_CYAN */
"gray", /* CLR_GRAY */
"transparent", /* no_color */
"orange", /* CLR_ORANGE */
"bright green", /* CLR_BRIGHT_GREEN */
"yellow", /* CLR_YELLOW */
"bright blue", /* CLR_BRIGHT_BLUE */
"bright magenta", /* CLR_BRIGHT_MAGENTA */
"bright cyan", /* CLR_BRIGHT_CYAN */
"white", /* CLR_WHITE */
};
struct c_common_strings c_common_strings = {
"Nothing happens.", "That's enough tries!",
"That is a silly thing to %s.", "shudder for a moment.",

View File

@@ -873,7 +873,7 @@ dokick()
int cnt = rnl(5);
coord mm;
mm.x = x; mm.y = y;
pline("You've disturbed the occupants!");
pline("You've attracted the tree's former occupants!");
while (cnt--)
if (enexto(&mm, mm.x, mm.y, &mons[PM_KILLER_BEE]))
(void) makemon(&mons[PM_KILLER_BEE],

View File

@@ -927,7 +927,8 @@ GEM("worthless piece of violet glass", "violet", 77, 1, 0, 6, 5, GLASS, CLR_MAGE
ROCK("luckstone", "gray", 0, 10, 10, 60, 3, 3, 1, 10, 7, MINERAL, CLR_GRAY),
ROCK("loadstone", "gray", 0, 10, 500, 1, 3, 3, 1, 10, 6, MINERAL, CLR_GRAY),
ROCK("flint", "gray", 0, 18, 10, 1, 6, 6, 0, 10, 7, MINERAL, CLR_GRAY),
ROCK("flint", "gray", 0, 10, 10, 1, 6, 6, 0, 10, 7, MINERAL, CLR_GRAY),
ROCK("touchstone", "gray", 0, 8, 10, 45, 3, 3, 1, 10, 6, MINERAL, CLR_GRAY),
ROCK("rock", (char *)0, 1,100, 10, 0, 3, 3, 0, 10, 7, MINERAL, CLR_GRAY),
#undef GEM
#undef ROCK

View File

@@ -33,6 +33,7 @@ static struct trobj Archeologist[] = {
{ FOOD_RATION, 0, FOOD_CLASS, 3, 0 },
{ PICK_AXE, UNDEF_SPE, TOOL_CLASS, 1, UNDEF_BLESS },
{ TINNING_KIT, UNDEF_SPE, TOOL_CLASS, 1, UNDEF_BLESS },
{ TOUCHSTONE, 0, GEM_CLASS, 1, 1 },
{ SACK, 0, TOOL_CLASS, 1, 0 },
{ 0, 0, 0, 0, 0 }
};
@@ -606,7 +607,6 @@ u_init()
if(!rn2(10)) ini_inv(Tinopener);
else if(!rn2(4)) ini_inv(Lamp);
else if(!rn2(10)) ini_inv(Magicmarker);
knows_class(GEM_CLASS);
knows_object(SACK);
skill_init(Skill_A);
break;

View File

@@ -8127,7 +8127,26 @@ P = (108, 145, 182)
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
}
# tile 427 (rock)
# tile 427 (gray / touchstone)
{
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
MMMMMPPPPPMMMMMM
MMMMPNPPPPPMMMMM
MMMPNPPPPPPPAMMM
MMPPPPPPPPPPPAAM
MMPPPPPPPPPPPAAA
MMMPPPPPPPPPAAAM
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
}
# tile 428 (rock)
{
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
@@ -8146,7 +8165,7 @@ P = (108, 145, 182)
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
}
# tile 428 (boulder)
# tile 429 (boulder)
{
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
@@ -8165,7 +8184,7 @@ P = (108, 145, 182)
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
}
# tile 429 (statue)
# tile 430 (statue)
{
MMMMMMMMMMMMMMMM
MMMMMMMMJJMMMMMM
@@ -8184,7 +8203,7 @@ P = (108, 145, 182)
MMMMMJJJJJJAAMMM
MMMMMMMMMMMMMMMM
}
# tile 430 (heavy iron ball)
# tile 431 (heavy iron ball)
{
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
@@ -8203,7 +8222,7 @@ P = (108, 145, 182)
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
}
# tile 431 (iron chain)
# tile 432 (iron chain)
{
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
@@ -8222,7 +8241,7 @@ P = (108, 145, 182)
MMMMMMMMMMMPPMPA
MMMMMMMMMMMMAAMM
}
# tile 432 (splash of venom / blinding venom)
# tile 433 (splash of venom / blinding venom)
{
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
@@ -8241,7 +8260,7 @@ P = (108, 145, 182)
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
}
# tile 433 (splash of venom / acid venom)
# tile 434 (splash of venom / acid venom)
{
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM