<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

@@ -81,17 +81,19 @@ register struct monst *mon;
possibly_unwield(mon, FALSE);
}
boolean
were_summon(ptr,yours) /* were-creature (even you) summons a horde */
int
were_summon(ptr,yours,visible) /* were-creature (even you) summons a horde */
register struct permonst *ptr;
register boolean yours;
int *visible; /* number of visible helpers created */
{
register int i, typ, pm = monsndx(ptr);
register struct monst *mtmp;
boolean success = FALSE;
int total = 0;
*visible = 0;
if(Protection_from_shape_changers && !yours)
return FALSE;
return 0;
for(i = rnd(5); i > 0; i--) {
switch(pm) {
@@ -111,11 +113,14 @@ register boolean yours;
continue;
}
mtmp = makemon(&mons[typ], u.ux, u.uy, NO_MM_FLAGS);
if (mtmp) success = TRUE;
if (mtmp) {
total++;
if (canseemon(mtmp)) *visible += 1;
}
if (yours && mtmp)
(void) tamedog(mtmp, (struct obj *) 0);
}
return success;
return total;
}
void