<Someone>'s were_summon rules

>Hemmed in by one invisible wererat?
><Someone>: Should I feel hemmed in if I can see that a wererat summons
>zero rats? Can the invisible wererat hem me in all by itself? And
>even if it had summoned anything, wouldn't a different message had
>been clearer (for isntance, "Rats appear around you!"); after all,
>I could see *what* was hemming me in.
>I agree that the current messages (and even the ones aspired to by the
>comment) are non-ideal.

<Someone>'s suggested set-up:
Seen summoner, seen help    : "The wererat summons help!"
Seen summoner, unseen help: "The wererat summons help! You feel hemmed in."
Seen summoner, no help: "The wererat summons help! But none comes."
Unseen summoner, seen help: "(A rat appears|Rats appear) from
nowhere!"
Unseen summoner, unseen help: "You feel hemmed in."
Unseen summoner, no help: No message.
This commit is contained in:
nethack.allison
2003-10-23 12:13:21 +00:00
parent 95d01c00d0
commit e4495a6389
4 changed files with 43 additions and 15 deletions

View File

@@ -477,15 +477,36 @@ mattacku(mtmp)
mdat = mtmp->data;
if(!rn2(10) && !mtmp->mcan) {
if(youseeit) {
int numseen, numhelp;
char buf[BUFSZ];
numhelp = were_summon(mdat, FALSE, &numseen);
if (youseeit) {
pline("%s summons help!", Monnam(mtmp));
} else
You_feel("hemmed in.");
/* Technically wrong; we really should check if you can see the
* help, but close enough...
*/
if (!were_summon(mdat,FALSE) && youseeit)
pline("But none comes.");
if (numhelp > 0) {
if (numseen == 0)
You_feel("hemmed in.");
} else pline("But none comes.");
} else {
char *from_nowhere;
if (!Deaf) {
pline("%s %s!", Something,
makeplural(growl_sound(mtmp)));
from_nowhere = "";
} else from_nowhere = " from nowhere";
if (numhelp > 0) {
if (numseen < 1) You_feel("hemmed in.");
else {
if (numseen == 1)
Sprintf(buf, "%s appears",
an(mdat->mname));
else
Sprintf(buf, "%s appear",
s_suffix(mdat->mname));
pline("%s%s!", upstart(buf), from_nowhere);
}
} /* else no help came; but you didn't know it tried */
}
}
}