Invisibility should be treated consistently regarding passive reflection of
gaze attacks and explicit mirror use against gaze attacks.
This commit is contained in:
arromdee
2002-02-11 00:42:44 +00:00
parent 56db1baadb
commit 14a6d90763
2 changed files with 5 additions and 5 deletions

View File

@@ -429,6 +429,7 @@ avoid giving odd "the bat is moving faster" when seeing a bat created
in gehennom and inaccurate "the monster is moving slower" when
a monster puts on speed boots.
gold detection "materially poor" message inappropriate if you have hidden_gold()
cannot reflect back an invisible umber hulk or medusa's attack

View File

@@ -683,7 +683,8 @@ struct obj *obj;
} else if (mlet == S_VAMPIRE || mlet == S_GHOST) {
if (vis)
pline ("%s doesn't have a reflection.", Monnam(mtmp));
} else if(!mtmp->mcan && mtmp->data == &mons[PM_MEDUSA]) {
} else if(!mtmp->mcan && !mtmp->minvis &&
mtmp->data == &mons[PM_MEDUSA]) {
if (mon_reflects(mtmp, "The gaze is reflected away by %s %s!"))
return 1;
if (vis)
@@ -694,9 +695,6 @@ struct obj *obj;
mtmp->data == &mons[PM_FLOATING_EYE]) {
int tmp = d((int)mtmp->m_lev, (int)mtmp->data->mattk[0].damd);
if (!rn2(4)) tmp = 120;
/* Note: floating eyes cannot use their abilities while invisible,
* but Medusa and umber hulks can.
*/
if (vis)
pline("%s is frozen by its reflection.", Monnam(mtmp));
else You_hear("%s stop moving.",something);
@@ -704,7 +702,8 @@ struct obj *obj;
if ( (int) mtmp->mfrozen + tmp > 127)
mtmp->mfrozen = 127;
else mtmp->mfrozen += tmp;
} else if(!mtmp->mcan && mtmp->data == &mons[PM_UMBER_HULK]) {
} else if(!mtmp->mcan && !mtmp->minvis &&
mtmp->data == &mons[PM_UMBER_HULK]) {
if (vis)
pline ("%s confuses itself!", Monnam(mtmp));
mtmp->mconf = 1;