extend wizard-mode display effect to unseen invisible monsters
This commit is contained in:
+2
-1
@@ -66,7 +66,7 @@ thrown or kicked light source (lit lamp, candle, oil) should emit light as it
|
|||||||
unlike watching a monster trying to swap out a cursed weapon for some other
|
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
|
weapon and failing, watching it wield a cursed weapon didn't report
|
||||||
that weapon becoming welded to the monster's hand/claw/whatever
|
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
|
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||||
@@ -117,6 +117,7 @@ classify sources as released, beta, or work-in-progress via NH_DEVEL_STATUS
|
|||||||
rather than just released vs beta via BETA
|
rather than just released vs beta via BETA
|
||||||
if you reach the edge of a level (relatively uncommon) and try to move off,
|
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
|
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
|
NetHack Community Patches (or Variation) Included
|
||||||
|
|||||||
+13
-7
@@ -2522,9 +2522,9 @@ create_particular_creation(d)
|
|||||||
struct _create_particular_data *d;
|
struct _create_particular_data *d;
|
||||||
{
|
{
|
||||||
struct permonst *whichpm = NULL;
|
struct permonst *whichpm = NULL;
|
||||||
int i, firstchoice = NON_PM;
|
int i, saveglyph, firstchoice = NON_PM;
|
||||||
struct monst *mtmp;
|
struct monst *mtmp;
|
||||||
boolean madeany = FALSE;
|
boolean madeany = FALSE, doflash = FALSE;
|
||||||
|
|
||||||
if (!d->randmonst) {
|
if (!d->randmonst) {
|
||||||
firstchoice = d->which;
|
firstchoice = d->which;
|
||||||
@@ -2570,19 +2570,25 @@ struct _create_particular_data *d;
|
|||||||
}
|
}
|
||||||
if (d->invisible) {
|
if (d->invisible) {
|
||||||
int mx = mtmp->mx, my = mtmp->my;
|
int mx = mtmp->mx, my = mtmp->my;
|
||||||
|
saveglyph = glyph_at(mx, my);
|
||||||
mon_set_minvis(mtmp);
|
mon_set_minvis(mtmp);
|
||||||
if (does_block(mx, my, &levl[mx][my]))
|
if (does_block(mx, my, &levl[mx][my]))
|
||||||
block_point(mx, my);
|
block_point(mx, my);
|
||||||
else
|
else
|
||||||
unblock_point(mx, my);
|
unblock_point(mx, my);
|
||||||
|
if (saveglyph == glyph_at(mx, my))
|
||||||
|
saveglyph = mon_to_glyph(mtmp, rn2_on_display_rng);
|
||||||
|
doflash = TRUE;
|
||||||
|
}
|
||||||
|
if (d->hidden && is_hider(mtmp->data)) {
|
||||||
|
saveglyph = glyph_at(mtmp->mx, mtmp->my);
|
||||||
|
mtmp->mundetected = 1;
|
||||||
|
newsym(mtmp->mx, mtmp->my);
|
||||||
|
doflash = TRUE;
|
||||||
}
|
}
|
||||||
if (d->sleeping)
|
if (d->sleeping)
|
||||||
mtmp->msleeping = 1;
|
mtmp->msleeping = 1;
|
||||||
if (d->hidden && is_hider(mtmp->data)) {
|
if (doflash) {
|
||||||
int saveglyph = glyph_at(mtmp->mx, mtmp->my);
|
|
||||||
|
|
||||||
mtmp->mundetected = 1;
|
|
||||||
newsym(mtmp->mx, mtmp->my);
|
|
||||||
if (wizard && cansee(mtmp->mx, mtmp->my))
|
if (wizard && cansee(mtmp->mx, mtmp->my))
|
||||||
if (!canseemon(mtmp) && !sensemon(mtmp))
|
if (!canseemon(mtmp) && !sensemon(mtmp))
|
||||||
flash_glyph_at(mtmp->mx, mtmp->my, saveglyph);
|
flash_glyph_at(mtmp->mx, mtmp->my, saveglyph);
|
||||||
|
|||||||
Reference in New Issue
Block a user