return best_targ;
}
-/* return 0 (no move), 1 (move) or 2 (dead) */
+/* Return values (same as m_move):
+ * 0: did not move, but can still attack and do other stuff.
+ * 1: moved, possibly can attack.
+ * 2: monster died.
+ * 3: did not move, and can't do anything else either.
+ * (may have attacked something)
+ */
int
dog_move(mtmp, after)
register struct monst *mtmp;
if (mstatus & MM_DEF_DIED)
return 2;
}
- return 0;
+ return 3;
}
if ((info[i] & ALLOW_MDISP) && MON_AT(nx, ny)
&& better_with_displacing && !undesirable_disp(mtmp, nx, ny)) {
}
}
}
-
- /* pet moved when attacking */
- if (mtmp->mx != omx || mtmp->my != omy)
- return 0;
+ return 3;
}
}
m_unleash(mtmp, FALSE);
}
(void) mattacku(mtmp);
- return 0;
+ return 3;
}
if (!m_in_out_region(mtmp, nix, niy))
return 1;