B20008 - seeing pet move

The cansee() checks are not really correct for seeing your pet move.
Changed them to a pair of canseemon() checks, one before the move, one after.
I can see an argument for canspotmon(), but decided to keep it based on sight.
If your pet is unseen in both locations, you won't get any messages, which
I think is more correct.  If you do get the message, use noit_Monnam to
ensure no more "it" message.
This commit is contained in:
cohrs
2003-03-02 21:54:37 +00:00
parent ab5ab8e580
commit 77c538e164
2 changed files with 5 additions and 2 deletions
+1
View File
@@ -6,6 +6,7 @@ setmangry should not be called when a monster enters a bones region
typos fixed in data.base typos fixed in data.base
bad capitalization of msg when charging for something that catches light bad capitalization of msg when charging for something that catches light
missing opthelp for use_inverse missing opthelp for use_inverse
Never say "It moves only reluctantly"
Platform- and/or Interface-Specific Fixes Platform- and/or Interface-Specific Fixes
+4 -2
View File
@@ -705,6 +705,7 @@ register int after; /* this is extra fast monster movement */
newdogpos: newdogpos:
if (nix != omx || niy != omy) { if (nix != omx || niy != omy) {
struct obj *mw_tmp; struct obj *mw_tmp;
boolean wasseen;
if (info[chi] & ALLOW_U) { if (info[chi] & ALLOW_U) {
if (mtmp->mleashed) { /* play it safe */ if (mtmp->mleashed) { /* play it safe */
@@ -736,10 +737,11 @@ newdogpos:
return 0; return 0;
} }
/* insert a worm_move() if worms ever begin to eat things */ /* insert a worm_move() if worms ever begin to eat things */
wasseen = canseemon(mtmp);
remove_monster(omx, omy); remove_monster(omx, omy);
place_monster(mtmp, nix, niy); place_monster(mtmp, nix, niy);
if (cursemsg[chi] && (cansee(omx,omy) || cansee(nix,niy))) if (cursemsg[chi] && (wasseen || canseemon(mtmp)))
pline("%s moves only reluctantly.", Monnam(mtmp)); pline("%s moves only reluctantly.", noit_Monnam(mtmp));
for (j=MTSZ-1; j>0; j--) mtmp->mtrack[j] = mtmp->mtrack[j-1]; for (j=MTSZ-1; j>0; j--) mtmp->mtrack[j] = mtmp->mtrack[j-1];
mtmp->mtrack[0].x = omx; mtmp->mtrack[0].x = omx;
mtmp->mtrack[0].y = omy; mtmp->mtrack[0].y = omy;