replace some trap function result magic numbers
This commit is contained in:
@@ -82,6 +82,9 @@ enum trap_types {
|
|||||||
TRAPNUM = 24
|
TRAPNUM = 24
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* some trap-related function return results */
|
||||||
|
enum { Trap_No_Effect = 0, Trap_Is_Gone = 0, Trap_Killed_Mon = 2 };
|
||||||
|
|
||||||
#define is_pit(ttyp) ((ttyp) == PIT || (ttyp) == SPIKED_PIT)
|
#define is_pit(ttyp) ((ttyp) == PIT || (ttyp) == SPIKED_PIT)
|
||||||
#define is_hole(ttyp) ((ttyp) == HOLE || (ttyp) == TRAPDOOR)
|
#define is_hole(ttyp) ((ttyp) == HOLE || (ttyp) == TRAPDOOR)
|
||||||
#define undestroyable_trap(ttyp) ((ttyp) == MAGIC_PORTAL \
|
#define undestroyable_trap(ttyp) ((ttyp) == MAGIC_PORTAL \
|
||||||
|
|||||||
@@ -509,7 +509,7 @@ use_magic_whistle(struct obj *obj)
|
|||||||
mtmp->mundetected = 0; /* reveal non-mimic hider */
|
mtmp->mundetected = 0; /* reveal non-mimic hider */
|
||||||
if (canspotmon(mtmp))
|
if (canspotmon(mtmp))
|
||||||
++pet_cnt;
|
++pet_cnt;
|
||||||
if (mintrap(mtmp) == 2)
|
if (mintrap(mtmp) == Trap_Killed_Mon)
|
||||||
change_luck(-1);
|
change_luck(-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ kickdmg(struct monst *mon, boolean clumsy)
|
|||||||
place_monster(mon, mdx, mdy);
|
place_monster(mon, mdx, mdy);
|
||||||
newsym(mon->mx, mon->my);
|
newsym(mon->mx, mon->my);
|
||||||
set_apparxy(mon);
|
set_apparxy(mon);
|
||||||
if (mintrap(mon) == 2)
|
if (mintrap(mon) == Trap_Killed_Mon)
|
||||||
trapkilled = TRUE;
|
trapkilled = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -438,7 +438,7 @@ mattackm(register struct monst *magr, register struct monst *mdef)
|
|||||||
pline("%s divides as %s hits it!", buf,
|
pline("%s divides as %s hits it!", buf,
|
||||||
mon_nam(magr));
|
mon_nam(magr));
|
||||||
}
|
}
|
||||||
mintrap(mclone);
|
(void) mintrap(mclone);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
@@ -810,7 +810,7 @@ gulpmm(register struct monst *magr, register struct monst *mdef,
|
|||||||
place_monster(magr, dx, dy);
|
place_monster(magr, dx, dy);
|
||||||
newsym(dx, dy);
|
newsym(dx, dy);
|
||||||
/* aggressor moves to <dx,dy> and might encounter trouble there */
|
/* aggressor moves to <dx,dy> and might encounter trouble there */
|
||||||
if (minliquid(magr) || (t_at(dx, dy) && mintrap(magr) == 2))
|
if (minliquid(magr) || (t_at(dx, dy) && mintrap(magr) == Trap_Killed_Mon))
|
||||||
status |= MM_AGR_DIED;
|
status |= MM_AGR_DIED;
|
||||||
} else if (status & MM_AGR_DIED) { /* aggressor died */
|
} else if (status & MM_AGR_DIED) { /* aggressor died */
|
||||||
place_monster(mdef, dx, dy);
|
place_monster(mdef, dx, dy);
|
||||||
|
|||||||
@@ -1023,7 +1023,7 @@ m_move(register struct monst* mtmp, register int after)
|
|||||||
if (mtmp->mtrapped) {
|
if (mtmp->mtrapped) {
|
||||||
int i = mintrap(mtmp);
|
int i = mintrap(mtmp);
|
||||||
|
|
||||||
if (i >= 2) {
|
if (i >= Trap_Killed_Mon) {
|
||||||
newsym(mtmp->mx, mtmp->my);
|
newsym(mtmp->mx, mtmp->my);
|
||||||
return 2;
|
return 2;
|
||||||
} /* it died */
|
} /* it died */
|
||||||
@@ -1491,7 +1491,7 @@ m_move(register struct monst* mtmp, register int after)
|
|||||||
}
|
}
|
||||||
|
|
||||||
newsym(omx, omy); /* update the old position */
|
newsym(omx, omy); /* update the old position */
|
||||||
if (mintrap(mtmp) >= 2) {
|
if (mintrap(mtmp) >= Trap_Killed_Mon) {
|
||||||
if (mtmp->mx)
|
if (mtmp->mx)
|
||||||
newsym(mtmp->mx, mtmp->my);
|
newsym(mtmp->mx, mtmp->my);
|
||||||
return 2; /* it died */
|
return 2; /* it died */
|
||||||
|
|||||||
@@ -2777,7 +2777,7 @@ muse_unslime(
|
|||||||
}
|
}
|
||||||
/* hack to avoid mintrap()'s chance of avoiding known trap */
|
/* hack to avoid mintrap()'s chance of avoiding known trap */
|
||||||
mon->mtrapseen &= ~(1 << (FIRE_TRAP - 1));
|
mon->mtrapseen &= ~(1 << (FIRE_TRAP - 1));
|
||||||
mintrap(mon);
|
(void) mintrap(mon);
|
||||||
} else if (otyp == STRANGE_OBJECT) {
|
} else if (otyp == STRANGE_OBJECT) {
|
||||||
/* monster is using fire breath on self */
|
/* monster is using fire breath on self */
|
||||||
if (vis)
|
if (vis)
|
||||||
|
|||||||
137
src/trap.c
137
src/trap.c
@@ -941,7 +941,7 @@ trapeffect_arrow_trap(
|
|||||||
You_hear("a loud click!");
|
You_hear("a loud click!");
|
||||||
deltrap(trap);
|
deltrap(trap);
|
||||||
newsym(u.ux, u.uy);
|
newsym(u.ux, u.uy);
|
||||||
return 0;
|
return Trap_Is_Gone;
|
||||||
}
|
}
|
||||||
trap->once = 1;
|
trap->once = 1;
|
||||||
seetrap(trap);
|
seetrap(trap);
|
||||||
@@ -970,7 +970,7 @@ trapeffect_arrow_trap(
|
|||||||
Monnam(mtmp));
|
Monnam(mtmp));
|
||||||
deltrap(trap);
|
deltrap(trap);
|
||||||
newsym(mtmp->mx, mtmp->my);
|
newsym(mtmp->mx, mtmp->my);
|
||||||
return 0;
|
return Trap_Is_Gone;
|
||||||
}
|
}
|
||||||
trap->once = 1;
|
trap->once = 1;
|
||||||
otmp = t_missile(ARROW, trap);
|
otmp = t_missile(ARROW, trap);
|
||||||
@@ -979,9 +979,9 @@ trapeffect_arrow_trap(
|
|||||||
if (thitm(8, mtmp, otmp, 0, FALSE))
|
if (thitm(8, mtmp, otmp, 0, FALSE))
|
||||||
trapkilled = TRUE;
|
trapkilled = TRUE;
|
||||||
|
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -999,7 +999,7 @@ trapeffect_dart_trap(
|
|||||||
You_hear("a soft click.");
|
You_hear("a soft click.");
|
||||||
deltrap(trap);
|
deltrap(trap);
|
||||||
newsym(u.ux, u.uy);
|
newsym(u.ux, u.uy);
|
||||||
return 0;
|
return Trap_Is_Gone;
|
||||||
}
|
}
|
||||||
trap->once = 1;
|
trap->once = 1;
|
||||||
seetrap(trap);
|
seetrap(trap);
|
||||||
@@ -1036,7 +1036,7 @@ trapeffect_dart_trap(
|
|||||||
Monnam(mtmp));
|
Monnam(mtmp));
|
||||||
deltrap(trap);
|
deltrap(trap);
|
||||||
newsym(mtmp->mx, mtmp->my);
|
newsym(mtmp->mx, mtmp->my);
|
||||||
return 0;
|
return Trap_Is_Gone;
|
||||||
}
|
}
|
||||||
trap->once = 1;
|
trap->once = 1;
|
||||||
otmp = t_missile(DART, trap);
|
otmp = t_missile(DART, trap);
|
||||||
@@ -1047,9 +1047,9 @@ trapeffect_dart_trap(
|
|||||||
if (thitm(7, mtmp, otmp, 0, FALSE))
|
if (thitm(7, mtmp, otmp, 0, FALSE))
|
||||||
trapkilled = TRUE;
|
trapkilled = TRUE;
|
||||||
|
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1115,7 +1115,7 @@ trapeffect_rocktrap(
|
|||||||
mon_nam(mtmp));
|
mon_nam(mtmp));
|
||||||
deltrap(trap);
|
deltrap(trap);
|
||||||
newsym(mtmp->mx, mtmp->my);
|
newsym(mtmp->mx, mtmp->my);
|
||||||
return 0;
|
return Trap_Is_Gone;
|
||||||
}
|
}
|
||||||
trap->once = 1;
|
trap->once = 1;
|
||||||
otmp = t_missile(ROCK, trap);
|
otmp = t_missile(ROCK, trap);
|
||||||
@@ -1124,9 +1124,9 @@ trapeffect_rocktrap(
|
|||||||
if (thitm(0, mtmp, otmp, d(2, 6), FALSE))
|
if (thitm(0, mtmp, otmp, d(2, 6), FALSE))
|
||||||
trapkilled = TRUE;
|
trapkilled = TRUE;
|
||||||
|
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1159,7 +1159,7 @@ trapeffect_sqky_board(
|
|||||||
boolean in_sight = canseemon(mtmp) || (mtmp == u.usteed);
|
boolean in_sight = canseemon(mtmp) || (mtmp == u.usteed);
|
||||||
|
|
||||||
if (is_flyer(mtmp->data))
|
if (is_flyer(mtmp->data))
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
/* stepped on a squeaky board */
|
/* stepped on a squeaky board */
|
||||||
if (in_sight) {
|
if (in_sight) {
|
||||||
if (!Deaf) {
|
if (!Deaf) {
|
||||||
@@ -1182,7 +1182,7 @@ trapeffect_sqky_board(
|
|||||||
/* wake up nearby monsters */
|
/* wake up nearby monsters */
|
||||||
wake_nearto(mtmp->mx, mtmp->my, 40);
|
wake_nearto(mtmp->mx, mtmp->my, 40);
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1198,18 +1198,18 @@ trapeffect_bear_trap(
|
|||||||
int dmg = d(2, 4);
|
int dmg = d(2, 4);
|
||||||
|
|
||||||
if ((Levitation || Flying) && !forcetrap)
|
if ((Levitation || Flying) && !forcetrap)
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
feeltrap(trap);
|
feeltrap(trap);
|
||||||
if (amorphous(g.youmonst.data) || is_whirly(g.youmonst.data)
|
if (amorphous(g.youmonst.data) || is_whirly(g.youmonst.data)
|
||||||
|| unsolid(g.youmonst.data)) {
|
|| unsolid(g.youmonst.data)) {
|
||||||
pline("%s bear trap closes harmlessly through you.",
|
pline("%s bear trap closes harmlessly through you.",
|
||||||
A_Your[trap->madeby_u]);
|
A_Your[trap->madeby_u]);
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
if (!u.usteed && g.youmonst.data->msize <= MZ_SMALL) {
|
if (!u.usteed && g.youmonst.data->msize <= MZ_SMALL) {
|
||||||
pline("%s bear trap closes harmlessly over you.",
|
pline("%s bear trap closes harmlessly over you.",
|
||||||
A_Your[trap->madeby_u]);
|
A_Your[trap->madeby_u]);
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
set_utrap((unsigned) rn1(4, 4), TT_BEARTRAP);
|
set_utrap((unsigned) rn1(4, 4), TT_BEARTRAP);
|
||||||
if (u.usteed) {
|
if (u.usteed) {
|
||||||
@@ -1253,9 +1253,9 @@ trapeffect_bear_trap(
|
|||||||
if (mtmp->mtrapped)
|
if (mtmp->mtrapped)
|
||||||
trapkilled = thitm(0, mtmp, (struct obj *) 0, d(2, 4), FALSE);
|
trapkilled = thitm(0, mtmp, (struct obj *) 0, d(2, 4), FALSE);
|
||||||
|
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1285,7 +1285,7 @@ trapeffect_slp_gas_trap(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1412,9 +1412,9 @@ trapeffect_rust_trap(
|
|||||||
(void) split_mon(mtmp, (struct monst *) 0);
|
(void) split_mon(mtmp, (struct monst *) 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1494,9 +1494,9 @@ trapeffect_fire_trap(
|
|||||||
if (see_it && t_at(mtmp->mx, mtmp->my))
|
if (see_it && t_at(mtmp->mx, mtmp->my))
|
||||||
seetrap(trap);
|
seetrap(trap);
|
||||||
|
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1521,7 +1521,7 @@ trapeffect_pit(
|
|||||||
|
|
||||||
/* KMH -- You can't escape the Sokoban level traps */
|
/* KMH -- You can't escape the Sokoban level traps */
|
||||||
if (!Sokoban && (Levitation || (Flying && !plunged)))
|
if (!Sokoban && (Levitation || (Flying && !plunged)))
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
feeltrap(trap);
|
feeltrap(trap);
|
||||||
if (!Sokoban && is_clinger(g.youmonst.data) && !plunged) {
|
if (!Sokoban && is_clinger(g.youmonst.data) && !plunged) {
|
||||||
if (trap->tseen) {
|
if (trap->tseen) {
|
||||||
@@ -1532,7 +1532,7 @@ trapeffect_pit(
|
|||||||
ttype == SPIKED_PIT ? "full of spikes " : "");
|
ttype == SPIKED_PIT ? "full of spikes " : "");
|
||||||
You("don't fall in!");
|
You("don't fall in!");
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
if (!Sokoban) {
|
if (!Sokoban) {
|
||||||
char verbbuf[BUFSZ];
|
char verbbuf[BUFSZ];
|
||||||
@@ -1648,10 +1648,10 @@ trapeffect_pit(
|
|||||||
seetrap(trap);
|
seetrap(trap);
|
||||||
pline("%s doesn't fall into the pit.", Monnam(mtmp));
|
pline("%s doesn't fall into the pit.", Monnam(mtmp));
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
if (!inescapable)
|
if (!inescapable)
|
||||||
return 0; /* avoids trap */
|
return Trap_No_Effect; /* avoids trap */
|
||||||
fallverb = "is dragged"; /* sokoban pit */
|
fallverb = "is dragged"; /* sokoban pit */
|
||||||
}
|
}
|
||||||
if (!passes_walls(mptr))
|
if (!passes_walls(mptr))
|
||||||
@@ -1669,9 +1669,9 @@ trapeffect_pit(
|
|||||||
rnd((tt == PIT) ? 6 : 10), FALSE))
|
rnd((tt == PIT) ? 6 : 10), FALSE))
|
||||||
trapkilled = TRUE;
|
trapkilled = TRUE;
|
||||||
|
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1685,7 +1685,7 @@ trapeffect_hole(
|
|||||||
seetrap(trap); /* normally done in fall_through */
|
seetrap(trap); /* normally done in fall_through */
|
||||||
impossible("dotrap: %ss cannot exist on this level.",
|
impossible("dotrap: %ss cannot exist on this level.",
|
||||||
trapname(trap->ttyp, TRUE));
|
trapname(trap->ttyp, TRUE));
|
||||||
return 0; /* don't activate it after all */
|
return Trap_No_Effect; /* don't activate it after all */
|
||||||
}
|
}
|
||||||
fall_through(TRUE, (trflags & TOOKPLUNGE));
|
fall_through(TRUE, (trflags & TOOKPLUNGE));
|
||||||
} else {
|
} else {
|
||||||
@@ -1699,7 +1699,7 @@ trapeffect_hole(
|
|||||||
if (!Can_fall_thru(&u.uz)) {
|
if (!Can_fall_thru(&u.uz)) {
|
||||||
impossible("mintrap: %ss cannot exist on this level.",
|
impossible("mintrap: %ss cannot exist on this level.",
|
||||||
trapname(tt, TRUE));
|
trapname(tt, TRUE));
|
||||||
return 0; /* don't activate it after all */
|
return Trap_No_Effect; /* don't activate it after all */
|
||||||
}
|
}
|
||||||
if (is_flyer(mptr) || is_floater(mptr) || mptr == &mons[PM_WUMPUS]
|
if (is_flyer(mptr) || is_floater(mptr) || mptr == &mons[PM_WUMPUS]
|
||||||
|| (mtmp->wormno && count_wsegs(mtmp) > 5)
|
|| (mtmp->wormno && count_wsegs(mtmp) > 5)
|
||||||
@@ -1716,7 +1716,7 @@ trapeffect_hole(
|
|||||||
pline("%s doesn't fall through the hole.",
|
pline("%s doesn't fall through the hole.",
|
||||||
Monnam(mtmp));
|
Monnam(mtmp));
|
||||||
}
|
}
|
||||||
return 0; /* inescapable = FALSE; */
|
return Trap_No_Effect; /* inescapable = FALSE; */
|
||||||
}
|
}
|
||||||
if (inescapable) { /* sokoban hole */
|
if (inescapable) { /* sokoban hole */
|
||||||
if (in_sight) {
|
if (in_sight) {
|
||||||
@@ -1726,11 +1726,11 @@ trapeffect_hole(
|
|||||||
seetrap(trap);
|
seetrap(trap);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
return trapeffect_level_telep(mtmp, trap, trflags);
|
return trapeffect_level_telep(mtmp, trap, trflags);
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1747,7 +1747,7 @@ trapeffect_telep_trap(
|
|||||||
|
|
||||||
mtele_trap(mtmp, trap, in_sight);
|
mtele_trap(mtmp, trap, in_sight);
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1771,7 +1771,7 @@ trapeffect_level_telep(
|
|||||||
if (mlev_res)
|
if (mlev_res)
|
||||||
return mlev_res;
|
return mlev_res;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1794,12 +1794,12 @@ trapeffect_web(
|
|||||||
|
|
||||||
feeltrap(trap);
|
feeltrap(trap);
|
||||||
if (mu_maybe_destroy_web(&g.youmonst, webmsgok, trap))
|
if (mu_maybe_destroy_web(&g.youmonst, webmsgok, trap))
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
if (webmaker(g.youmonst.data)) {
|
if (webmaker(g.youmonst.data)) {
|
||||||
if (webmsgok)
|
if (webmsgok)
|
||||||
pline(trap->madeby_u ? "You take a walk on your web."
|
pline(trap->madeby_u ? "You take a walk on your web."
|
||||||
: "There is a spider web here.");
|
: "There is a spider web here.");
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
if (webmsgok) {
|
if (webmsgok) {
|
||||||
char verbbuf[BUFSZ];
|
char verbbuf[BUFSZ];
|
||||||
@@ -1839,14 +1839,15 @@ trapeffect_web(
|
|||||||
u.usteed->mx = u.ux;
|
u.usteed->mx = u.ux;
|
||||||
u.usteed->my = u.uy;
|
u.usteed->my = u.uy;
|
||||||
|
|
||||||
/* mintrap currently does not return 2(died) for webs */
|
/* mintrap currently does not return Trap_Killed_Mon
|
||||||
|
(mon died) for webs */
|
||||||
if (mintrap(u.usteed)) {
|
if (mintrap(u.usteed)) {
|
||||||
u.usteed->mtrapped = 0;
|
u.usteed->mtrapped = 0;
|
||||||
if (strongmonst(u.usteed->data))
|
if (strongmonst(u.usteed->data))
|
||||||
str = 17;
|
str = 17;
|
||||||
} else {
|
} else {
|
||||||
reset_utrap(FALSE);
|
reset_utrap(FALSE);
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
webmsgok = FALSE; /* mintrap printed the messages */
|
webmsgok = FALSE; /* mintrap printed the messages */
|
||||||
@@ -1881,9 +1882,9 @@ trapeffect_web(
|
|||||||
struct permonst *mptr = mtmp->data;
|
struct permonst *mptr = mtmp->data;
|
||||||
|
|
||||||
if (webmaker(mptr))
|
if (webmaker(mptr))
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
if (mu_maybe_destroy_web(mtmp, in_sight, trap))
|
if (mu_maybe_destroy_web(mtmp, in_sight, trap))
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
tear_web = FALSE;
|
tear_web = FALSE;
|
||||||
switch (monsndx(mptr)) {
|
switch (monsndx(mptr)) {
|
||||||
case PM_OWLBEAR: /* Eric Backus */
|
case PM_OWLBEAR: /* Eric Backus */
|
||||||
@@ -1939,7 +1940,7 @@ trapeffect_web(
|
|||||||
}
|
}
|
||||||
return mtmp->mtrapped;
|
return mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1953,7 +1954,7 @@ trapeffect_statue_trap(
|
|||||||
} else {
|
} else {
|
||||||
/* monsters don't trigger statue traps */
|
/* monsters don't trigger statue traps */
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -1973,7 +1974,7 @@ trapeffect_magic_trap(
|
|||||||
u.uen = (u.uenmax += 2);
|
u.uen = (u.uenmax += 2);
|
||||||
if (u.uenmax > u.uenpeak)
|
if (u.uenmax > u.uenpeak)
|
||||||
u.uenpeak = u.uenmax;
|
u.uenpeak = u.uenmax;
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
} else {
|
} else {
|
||||||
domagictrap();
|
domagictrap();
|
||||||
}
|
}
|
||||||
@@ -1983,7 +1984,7 @@ trapeffect_magic_trap(
|
|||||||
if (!rn2(21))
|
if (!rn2(21))
|
||||||
return trapeffect_fire_trap(mtmp, trap, trflags);
|
return trapeffect_fire_trap(mtmp, trap, trflags);
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -2076,9 +2077,9 @@ trapeffect_anti_magic(
|
|||||||
if (see_it)
|
if (see_it)
|
||||||
newsym(trap->tx, trap->ty);
|
newsym(trap->tx, trap->ty);
|
||||||
}
|
}
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -2131,7 +2132,7 @@ trapeffect_poly_trap(
|
|||||||
seetrap(trap);
|
seetrap(trap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -2150,13 +2151,13 @@ trapeffect_landmine(
|
|||||||
|
|
||||||
if ((Levitation || Flying) && !forcetrap) {
|
if ((Levitation || Flying) && !forcetrap) {
|
||||||
if (!already_seen && rn2(3))
|
if (!already_seen && rn2(3))
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
feeltrap(trap);
|
feeltrap(trap);
|
||||||
pline("%s %s in a pile of soil below you.",
|
pline("%s %s in a pile of soil below you.",
|
||||||
already_seen ? "There is" : "You discover",
|
already_seen ? "There is" : "You discover",
|
||||||
trap->madeby_u ? "the trigger of your mine" : "a trigger");
|
trap->madeby_u ? "the trigger of your mine" : "a trigger");
|
||||||
if (already_seen && rn2(3))
|
if (already_seen && rn2(3))
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
pline("KAABLAMM!!! %s %s%s off!",
|
pline("KAABLAMM!!! %s %s%s off!",
|
||||||
forcebungle ? "Your inept attempt sets"
|
forcebungle ? "Your inept attempt sets"
|
||||||
: "The air currents set",
|
: "The air currents set",
|
||||||
@@ -2170,7 +2171,7 @@ trapeffect_landmine(
|
|||||||
static boolean recursive_mine = FALSE;
|
static boolean recursive_mine = FALSE;
|
||||||
|
|
||||||
if (recursive_mine)
|
if (recursive_mine)
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
feeltrap(trap);
|
feeltrap(trap);
|
||||||
pline("KAABLAMM!!! You triggered %s land mine!",
|
pline("KAABLAMM!!! You triggered %s land mine!",
|
||||||
a_your[trap->madeby_u]);
|
a_your[trap->madeby_u]);
|
||||||
@@ -2204,7 +2205,7 @@ trapeffect_landmine(
|
|||||||
xchar tx = trap->tx, ty = trap->ty;
|
xchar tx = trap->tx, ty = trap->ty;
|
||||||
|
|
||||||
if (rn2(3))
|
if (rn2(3))
|
||||||
return 0; /* monsters usually don't set it off */
|
return Trap_No_Effect; /* monsters usually don't set it off */
|
||||||
if (is_flyer(mptr)) {
|
if (is_flyer(mptr)) {
|
||||||
boolean already_seen = trap->tseen;
|
boolean already_seen = trap->tseen;
|
||||||
|
|
||||||
@@ -2214,7 +2215,7 @@ trapeffect_landmine(
|
|||||||
seetrap(trap);
|
seetrap(trap);
|
||||||
}
|
}
|
||||||
if (rn2(3))
|
if (rn2(3))
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
if (in_sight) {
|
if (in_sight) {
|
||||||
newsym(mtmp->mx, mtmp->my);
|
newsym(mtmp->mx, mtmp->my);
|
||||||
pline_The("air currents set %s off!",
|
pline_The("air currents set %s off!",
|
||||||
@@ -2237,7 +2238,7 @@ trapeffect_landmine(
|
|||||||
trapkilled = TRUE;
|
trapkilled = TRUE;
|
||||||
} else {
|
} else {
|
||||||
/* monsters recursively fall into new pit */
|
/* monsters recursively fall into new pit */
|
||||||
if (mintrap(mtmp) == 2)
|
if (mintrap(mtmp) == Trap_Killed_Mon)
|
||||||
trapkilled = TRUE;
|
trapkilled = TRUE;
|
||||||
}
|
}
|
||||||
/* a boulder may fill the new pit, crushing monster */
|
/* a boulder may fill the new pit, crushing monster */
|
||||||
@@ -2248,9 +2249,9 @@ trapeffect_landmine(
|
|||||||
g.multi = -1;
|
g.multi = -1;
|
||||||
g.nomovemsg = "The explosion awakens you!";
|
g.nomovemsg = "The explosion awakens you!";
|
||||||
}
|
}
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -2296,10 +2297,10 @@ trapeffect_rolling_boulder_trap(
|
|||||||
deltrap(trap);
|
deltrap(trap);
|
||||||
newsym(mtmp->mx, mtmp->my);
|
newsym(mtmp->mx, mtmp->my);
|
||||||
}
|
}
|
||||||
return trapkilled ? 2 : mtmp->mtrapped;
|
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -2314,7 +2315,7 @@ trapeffect_magic_portal(
|
|||||||
} else {
|
} else {
|
||||||
return trapeffect_level_telep(mtmp, trap, trflags);
|
return trapeffect_level_telep(mtmp, trap, trflags);
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -2357,7 +2358,7 @@ trapeffect_vibrating_square(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -2416,7 +2417,7 @@ trapeffect_selector(
|
|||||||
(mtmp == &g.youmonst) ? "You" : "Some monster",
|
(mtmp == &g.youmonst) ? "You" : "Some monster",
|
||||||
trap->ttyp);
|
trap->ttyp);
|
||||||
}
|
}
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -2505,7 +2506,7 @@ steedintrap(struct trap* trap, struct obj* otmp)
|
|||||||
boolean trapkilled, steedhit;
|
boolean trapkilled, steedhit;
|
||||||
|
|
||||||
if (!steed || !trap)
|
if (!steed || !trap)
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
tt = trap->ttyp;
|
tt = trap->ttyp;
|
||||||
steed->mx = u.ux;
|
steed->mx = u.ux;
|
||||||
steed->my = u.uy;
|
steed->my = u.uy;
|
||||||
@@ -2515,7 +2516,7 @@ steedintrap(struct trap* trap, struct obj* otmp)
|
|||||||
case ARROW_TRAP:
|
case ARROW_TRAP:
|
||||||
if (!otmp) {
|
if (!otmp) {
|
||||||
impossible("steed hit by non-existent arrow?");
|
impossible("steed hit by non-existent arrow?");
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
trapkilled = thitm(8, steed, otmp, 0, FALSE);
|
trapkilled = thitm(8, steed, otmp, 0, FALSE);
|
||||||
steedhit = TRUE;
|
steedhit = TRUE;
|
||||||
@@ -2523,7 +2524,7 @@ steedintrap(struct trap* trap, struct obj* otmp)
|
|||||||
case DART_TRAP:
|
case DART_TRAP:
|
||||||
if (!otmp) {
|
if (!otmp) {
|
||||||
impossible("steed hit by non-existent dart?");
|
impossible("steed hit by non-existent dart?");
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
}
|
}
|
||||||
trapkilled = thitm(7, steed, otmp, 0, FALSE);
|
trapkilled = thitm(7, steed, otmp, 0, FALSE);
|
||||||
steedhit = TRUE;
|
steedhit = TRUE;
|
||||||
@@ -2573,7 +2574,7 @@ steedintrap(struct trap* trap, struct obj* otmp)
|
|||||||
|
|
||||||
if (trapkilled) {
|
if (trapkilled) {
|
||||||
dismount_steed(DISMOUNT_POLY);
|
dismount_steed(DISMOUNT_POLY);
|
||||||
return 2;
|
return Trap_Killed_Mon;
|
||||||
}
|
}
|
||||||
return steedhit ? 1 : 0;
|
return steedhit ? 1 : 0;
|
||||||
}
|
}
|
||||||
@@ -3119,7 +3120,7 @@ mintrap(register struct monst *mtmp)
|
|||||||
|| (tt == HOLE && !mindless(mptr)))) {
|
|| (tt == HOLE && !mindless(mptr)))) {
|
||||||
/* it has been in such a trap - perhaps it escapes */
|
/* it has been in such a trap - perhaps it escapes */
|
||||||
if (rn2(4))
|
if (rn2(4))
|
||||||
return 0;
|
return Trap_No_Effect;
|
||||||
} else {
|
} else {
|
||||||
mtmp->mtrapseen |= (1 << (tt - 1));
|
mtmp->mtrapseen |= (1 << (tt - 1));
|
||||||
}
|
}
|
||||||
@@ -3131,7 +3132,7 @@ mintrap(register struct monst *mtmp)
|
|||||||
|
|
||||||
trap_result = trapeffect_selector(mtmp, trap, 0);
|
trap_result = trapeffect_selector(mtmp, trap, 0);
|
||||||
}
|
}
|
||||||
return (trap_result == 2) ? trap_result : mtmp->mtrapped;
|
return (trap_result == Trap_Killed_Mon) ? trap_result : mtmp->mtrapped;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Combine cockatrice checks into single functions to avoid repeating code. */
|
/* Combine cockatrice checks into single functions to avoid repeating code. */
|
||||||
|
|||||||
@@ -1359,7 +1359,7 @@ hmon_hitmon(
|
|||||||
Sprintf(withwhat, " with %s", yname(obj));
|
Sprintf(withwhat, " with %s", yname(obj));
|
||||||
pline("%s divides as you hit it%s!", Monnam(mon), withwhat);
|
pline("%s divides as you hit it%s!", Monnam(mon), withwhat);
|
||||||
hittxt = TRUE;
|
hittxt = TRUE;
|
||||||
mintrap(mclone);
|
(void) mintrap(mclone);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user