unlike watching a monster trying to swap out a cursed weapon for some other
weapon and failing, watching it wield a cursed weapon didn't report
that weapon becoming welded to the monster's hand/claw/whatever
-debug mode wishing for hidden monsters that pass is_hider test
+wizard-mode: wish for hidden monsters that pass is_hider test
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
rather than just released vs beta via BETA
if you reach the edge of a level (relatively uncommon) and try to move off,
report that you can't go farther if the 'mention_walls' option is set
+wizard-mode: display effect to show where an unseen wished-for monster landed
NetHack Community Patches (or Variation) Included
struct _create_particular_data *d;
{
struct permonst *whichpm = NULL;
- int i, firstchoice = NON_PM;
+ int i, saveglyph, firstchoice = NON_PM;
struct monst *mtmp;
- boolean madeany = FALSE;
+ boolean madeany = FALSE, doflash = FALSE;
if (!d->randmonst) {
firstchoice = d->which;
}
if (d->invisible) {
int mx = mtmp->mx, my = mtmp->my;
+ saveglyph = glyph_at(mx, my);
mon_set_minvis(mtmp);
if (does_block(mx, my, &levl[mx][my]))
block_point(mx, my);
else
unblock_point(mx, my);
+ if (saveglyph == glyph_at(mx, my))
+ saveglyph = mon_to_glyph(mtmp, rn2_on_display_rng);
+ doflash = TRUE;
}
- if (d->sleeping)
- mtmp->msleeping = 1;
if (d->hidden && is_hider(mtmp->data)) {
- int saveglyph = glyph_at(mtmp->mx, mtmp->my);
-
+ saveglyph = glyph_at(mtmp->mx, mtmp->my);
mtmp->mundetected = 1;
newsym(mtmp->mx, mtmp->my);
+ doflash = TRUE;
+ }
+ if (d->sleeping)
+ mtmp->msleeping = 1;
+ if (doflash) {
if (wizard && cansee(mtmp->mx, mtmp->my))
if (!canseemon(mtmp) && !sensemon(mtmp))
flash_glyph_at(mtmp->mx, mtmp->my, saveglyph);