<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:
17
src/were.c
17
src/were.c
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user