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
+1
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 in gehennom and inaccurate "the monster is moving slower" when
a monster puts on speed boots. a monster puts on speed boots.
gold detection "materially poor" message inappropriate if you have hidden_gold() gold detection "materially poor" message inappropriate if you have hidden_gold()
cannot reflect back an invisible umber hulk or medusa's attack
+4 -5
View File
@@ -683,7 +683,8 @@ struct obj *obj;
} else if (mlet == S_VAMPIRE || mlet == S_GHOST) { } else if (mlet == S_VAMPIRE || mlet == S_GHOST) {
if (vis) if (vis)
pline ("%s doesn't have a reflection.", Monnam(mtmp)); 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!")) if (mon_reflects(mtmp, "The gaze is reflected away by %s %s!"))
return 1; return 1;
if (vis) if (vis)
@@ -694,9 +695,6 @@ struct obj *obj;
mtmp->data == &mons[PM_FLOATING_EYE]) { mtmp->data == &mons[PM_FLOATING_EYE]) {
int tmp = d((int)mtmp->m_lev, (int)mtmp->data->mattk[0].damd); int tmp = d((int)mtmp->m_lev, (int)mtmp->data->mattk[0].damd);
if (!rn2(4)) tmp = 120; if (!rn2(4)) tmp = 120;
/* Note: floating eyes cannot use their abilities while invisible,
* but Medusa and umber hulks can.
*/
if (vis) if (vis)
pline("%s is frozen by its reflection.", Monnam(mtmp)); pline("%s is frozen by its reflection.", Monnam(mtmp));
else You_hear("%s stop moving.",something); else You_hear("%s stop moving.",something);
@@ -704,7 +702,8 @@ struct obj *obj;
if ( (int) mtmp->mfrozen + tmp > 127) if ( (int) mtmp->mfrozen + tmp > 127)
mtmp->mfrozen = 127; mtmp->mfrozen = 127;
else mtmp->mfrozen += tmp; 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) if (vis)
pline ("%s confuses itself!", Monnam(mtmp)); pline ("%s confuses itself!", Monnam(mtmp));
mtmp->mconf = 1; mtmp->mconf = 1;