E char *FDECL(Yname2, (struct obj *));
E char *FDECL(makeplural, (const char *));
E char *FDECL(makesingular, (const char *));
-E struct obj *FDECL(readobjnam, (char *,struct obj *));
+E struct obj *FDECL(readobjnam, (char *,struct obj *,BOOLEAN_P));
E int FDECL(rnd_class, (int,int));
E const char *FDECL(cloak_simple_name, (struct obj *));
* return null.
*/
struct obj *
-readobjnam(bp, no_wish)
+readobjnam(bp, no_wish, noisy)
register char *bp;
struct obj *no_wish;
+boolean noisy;
{
register char *p;
register int i;
) cnt=5000;
if (cnt < 1) cnt=1;
#ifndef GOLDOBJ
- pline("%d gold piece%s.", cnt, plur(cnt));
+ if (noisy)
+ pline("%d gold piece%s.", cnt, plur(cnt));
u.ugold += cnt;
flags.botl=1;
return (&zeroobj);
if((trap == TRAPDOOR || trap == HOLE)
&& !Can_fall_thru(&u.uz)) trap = ROCKTRAP;
(void) maketrap(u.ux, u.uy, trap);
- pline("%s.", An(tname));
+ if (noisy)
+ pline("%s.", An(tname));
return(&zeroobj);
}
}
level.flags.nfountains++;
if(!strncmpi(bp, "magic ", 6))
levl[u.ux][u.uy].blessedftn = 1;
- pline("A %sfountain.",
+ if (noisy)
+ pline("A %sfountain.",
levl[u.ux][u.uy].blessedftn ? "magic " : "");
newsym(u.ux, u.uy);
return(&zeroobj);
}
if(!BSTRCMP(bp, p-6, "throne")) {
levl[u.ux][u.uy].typ = THRONE;
- pline("A throne.");
+ if (noisy)
+ pline("A throne.");
newsym(u.ux, u.uy);
return(&zeroobj);
}
if(!BSTRCMP(bp, p-4, "sink")) {
levl[u.ux][u.uy].typ = SINK;
level.flags.nsinks++;
- pline("A sink.");
+ if (noisy)
+ pline("A sink.");
newsym(u.ux, u.uy);
return &zeroobj;
}
if(!BSTRCMP(bp, p-4, "pool")) {
levl[u.ux][u.uy].typ = POOL;
del_engr_at(u.ux, u.uy);
- pline("A pool.");
+ if (noisy)
+ pline("A pool.");
/* Must manually make kelp! */
water_damage(level.objects[u.ux][u.uy], FALSE, TRUE);
newsym(u.ux, u.uy);
if (!BSTRCMP(bp, p-4, "lava")) { /* also matches "molten lava" */
levl[u.ux][u.uy].typ = LAVAPOOL;
del_engr_at(u.ux, u.uy);
- pline("A pool of molten lava.");
+ if (noisy)
+ pline("A pool of molten lava.");
if (!(Levitation || Flying)) (void) lava_effects();
newsym(u.ux, u.uy);
return &zeroobj;
else /* -1 - A_CHAOTIC, 0 - A_NEUTRAL, 1 - A_LAWFUL */
al = (!rn2(6)) ? A_NONE : rn2((int)A_LAWFUL+2) - 1;
levl[u.ux][u.uy].altarmask = Align2amask( al );
- pline("%s altar.", An(align_str(al)));
+ if (noisy)
+ pline("%s altar.", An(align_str(al)));
newsym(u.ux, u.uy);
return(&zeroobj);
}
if(!BSTRCMP(bp, p-5, "grave") || !BSTRCMP(bp, p-9, "headstone")) {
make_grave(u.ux, u.uy, (char *) 0);
- pline("A grave.");
+ if (noisy)
+ pline("A grave.");
newsym(u.ux, u.uy);
return(&zeroobj);
}
if(!BSTRCMP(bp, p-4, "tree")) {
levl[u.ux][u.uy].typ = TREE;
- pline("A tree.");
+ if (noisy)
+ pline("A tree.");
newsym(u.ux, u.uy);
block_point(u.ux, u.uy);
return &zeroobj;
if(!BSTRCMP(bp, p-4, "bars")) {
levl[u.ux][u.uy].typ = IRONBARS;
- pline("Iron bars.");
+ if (noisy)
+ pline("Iron bars.");
newsym(u.ux, u.uy);
return &zeroobj;
}
artifact_exists(otmp, ONAME(otmp), FALSE);
obfree(otmp, (struct obj *) 0);
otmp = &zeroobj;
- pline(
- "For a moment, you feel %s in your %s, but it disappears!",
+ if (noisy)
+ pline(
+ "For a moment, you feel %s in your %s, but it disappears!",
something,
makeplural(body_part(HAND)));
}
* has been denied. Wishing for "nothing" requires a separate
* value to remain distinct.
*/
- otmp = readobjnam(buf, ¬hing);
+ otmp = readobjnam(buf, ¬hing, TRUE);
if (!otmp) {
pline("Nothing fitting that description exists in the game.");
if (++tries < 5) goto retry;
pline(thats_enough_tries);
- otmp = readobjnam((char *)0, (struct obj *)0);
+ otmp = readobjnam((char *)0, (struct obj *)0, TRUE);
if (!otmp) return; /* for safety; should never happen */
} else if (otmp == ¬hing) {
/* explicitly wished for "nothing", presumeably attempting