Add is_watch define for watchmen
This commit is contained in:
@@ -134,6 +134,8 @@
|
||||
#define is_displacer(ptr) (((ptr)->mflags3 & M3_DISPLACES) != 0L)
|
||||
#define is_mplayer(ptr) (((ptr) >= &mons[PM_ARCHEOLOGIST]) && \
|
||||
((ptr) <= &mons[PM_WIZARD]))
|
||||
#define is_watch(ptr) ((ptr) == &mons[PM_WATCHMAN] || \
|
||||
(ptr) == &mons[PM_WATCH_CAPTAIN])
|
||||
#define is_rider(ptr) ((ptr) == &mons[PM_DEATH] || \
|
||||
(ptr) == &mons[PM_FAMINE] || \
|
||||
(ptr) == &mons[PM_PESTILENCE])
|
||||
|
||||
@@ -1171,8 +1171,7 @@ watch_dig(mtmp, x, y, zap)
|
||||
if (!mtmp) {
|
||||
for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
|
||||
if (DEADMONSTER(mtmp)) continue;
|
||||
if ((mtmp->data == &mons[PM_WATCHMAN] ||
|
||||
mtmp->data == &mons[PM_WATCH_CAPTAIN]) &&
|
||||
if (is_watch(mtmp->data) &&
|
||||
mtmp->mcansee && m_canseeu(mtmp) &&
|
||||
couldsee(mtmp->mx, mtmp->my) && mtmp->mpeaceful)
|
||||
break;
|
||||
|
||||
@@ -1198,8 +1198,7 @@ dumb:
|
||||
if (in_town(x, y))
|
||||
for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
|
||||
if (DEADMONSTER(mtmp)) continue;
|
||||
if((mtmp->data == &mons[PM_WATCHMAN] ||
|
||||
mtmp->data == &mons[PM_WATCH_CAPTAIN]) &&
|
||||
if (is_watch(mtmp->data) &&
|
||||
couldsee(mtmp->mx, mtmp->my) &&
|
||||
mtmp->mpeaceful) {
|
||||
if (canspotmon(mtmp))
|
||||
@@ -1218,8 +1217,7 @@ dumb:
|
||||
if (in_town(x, y))
|
||||
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
|
||||
if (DEADMONSTER(mtmp)) continue;
|
||||
if ((mtmp->data == &mons[PM_WATCHMAN] ||
|
||||
mtmp->data == &mons[PM_WATCH_CAPTAIN]) &&
|
||||
if (is_watch(mtmp->data) &&
|
||||
mtmp->mpeaceful && couldsee(mtmp->mx, mtmp->my)) {
|
||||
if (canspotmon(mtmp))
|
||||
pline("%s yells:", Amonnam(mtmp));
|
||||
|
||||
@@ -169,8 +169,7 @@ boolean isyou;
|
||||
/* Warn about future fountain use. */
|
||||
for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
|
||||
if (DEADMONSTER(mtmp)) continue;
|
||||
if ((mtmp->data == &mons[PM_WATCHMAN] ||
|
||||
mtmp->data == &mons[PM_WATCH_CAPTAIN]) &&
|
||||
if (is_watch(mtmp->data) &&
|
||||
couldsee(mtmp->mx, mtmp->my) &&
|
||||
mtmp->mpeaceful) {
|
||||
pline("%s yells:", Amonnam(mtmp));
|
||||
|
||||
@@ -3117,9 +3117,7 @@ register boolean silent;
|
||||
|
||||
for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
|
||||
if (DEADMONSTER(mtmp)) continue;
|
||||
if((mtmp->data == &mons[PM_WATCHMAN] ||
|
||||
mtmp->data == &mons[PM_WATCH_CAPTAIN])
|
||||
&& mtmp->mpeaceful) {
|
||||
if (is_watch(mtmp->data) && mtmp->mpeaceful) {
|
||||
ct++;
|
||||
if(cansee(mtmp->mx, mtmp->my) && mtmp->mcanmove) {
|
||||
if (distu(mtmp->mx, mtmp->my) == 2) nct++;
|
||||
@@ -3157,9 +3155,8 @@ pacify_guards()
|
||||
|
||||
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon) {
|
||||
if (DEADMONSTER(mtmp)) continue;
|
||||
if (mtmp->data == &mons[PM_WATCHMAN] ||
|
||||
mtmp->data == &mons[PM_WATCH_CAPTAIN])
|
||||
mtmp->mpeaceful = 1;
|
||||
if (is_watch(mtmp->data))
|
||||
mtmp->mpeaceful = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -400,7 +400,7 @@ register struct monst *mtmp;
|
||||
}
|
||||
|
||||
/* the watch will look around and see if you are up to no good :-) */
|
||||
if (mdat == &mons[PM_WATCHMAN] || mdat == &mons[PM_WATCH_CAPTAIN])
|
||||
if (is_watch(mdat))
|
||||
watch_on_duty(mtmp);
|
||||
|
||||
else if (is_mind_flayer(mdat) && !rn2(20)) {
|
||||
|
||||
@@ -516,8 +516,7 @@ int thrown; /* HMON_xxx (0 => hand-to-hand, other => ranged) */
|
||||
|
||||
anger_guards = (mon->mpeaceful &&
|
||||
(mon->ispriest || mon->isshk ||
|
||||
mon->data == &mons[PM_WATCHMAN] ||
|
||||
mon->data == &mons[PM_WATCH_CAPTAIN]));
|
||||
is_watch(mon->data)));
|
||||
result = hmon_hitmon(mon, obj, thrown);
|
||||
if (mon->ispriest && !rn2(2)) ghod_hitsu(mon);
|
||||
if (anger_guards) (void)angry_guards(!!Deaf);
|
||||
|
||||
Reference in New Issue
Block a user