replace some trap function result magic numbers

This commit is contained in:
nhmall
2022-02-08 19:16:42 -05:00
parent fe03b10208
commit 947d80ec6f
8 changed files with 80 additions and 76 deletions

View File

@@ -509,7 +509,7 @@ use_magic_whistle(struct obj *obj)
mtmp->mundetected = 0; /* reveal non-mimic hider */
if (canspotmon(mtmp))
++pet_cnt;
if (mintrap(mtmp) == 2)
if (mintrap(mtmp) == Trap_Killed_Mon)
change_luck(-1);
}
}

View File

@@ -99,7 +99,7 @@ kickdmg(struct monst *mon, boolean clumsy)
place_monster(mon, mdx, mdy);
newsym(mon->mx, mon->my);
set_apparxy(mon);
if (mintrap(mon) == 2)
if (mintrap(mon) == Trap_Killed_Mon)
trapkilled = TRUE;
}
}

View File

@@ -438,7 +438,7 @@ mattackm(register struct monst *magr, register struct monst *mdef)
pline("%s divides as %s hits it!", buf,
mon_nam(magr));
}
mintrap(mclone);
(void) mintrap(mclone);
}
}
} else
@@ -810,7 +810,7 @@ gulpmm(register struct monst *magr, register struct monst *mdef,
place_monster(magr, dx, dy);
newsym(dx, dy);
/* 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;
} else if (status & MM_AGR_DIED) { /* aggressor died */
place_monster(mdef, dx, dy);

View File

@@ -1023,7 +1023,7 @@ m_move(register struct monst* mtmp, register int after)
if (mtmp->mtrapped) {
int i = mintrap(mtmp);
if (i >= 2) {
if (i >= Trap_Killed_Mon) {
newsym(mtmp->mx, mtmp->my);
return 2;
} /* it died */
@@ -1491,7 +1491,7 @@ m_move(register struct monst* mtmp, register int after)
}
newsym(omx, omy); /* update the old position */
if (mintrap(mtmp) >= 2) {
if (mintrap(mtmp) >= Trap_Killed_Mon) {
if (mtmp->mx)
newsym(mtmp->mx, mtmp->my);
return 2; /* it died */

View File

@@ -2777,7 +2777,7 @@ muse_unslime(
}
/* hack to avoid mintrap()'s chance of avoiding known trap */
mon->mtrapseen &= ~(1 << (FIRE_TRAP - 1));
mintrap(mon);
(void) mintrap(mon);
} else if (otyp == STRANGE_OBJECT) {
/* monster is using fire breath on self */
if (vis)

View File

@@ -941,7 +941,7 @@ trapeffect_arrow_trap(
You_hear("a loud click!");
deltrap(trap);
newsym(u.ux, u.uy);
return 0;
return Trap_Is_Gone;
}
trap->once = 1;
seetrap(trap);
@@ -970,7 +970,7 @@ trapeffect_arrow_trap(
Monnam(mtmp));
deltrap(trap);
newsym(mtmp->mx, mtmp->my);
return 0;
return Trap_Is_Gone;
}
trap->once = 1;
otmp = t_missile(ARROW, trap);
@@ -979,9 +979,9 @@ trapeffect_arrow_trap(
if (thitm(8, mtmp, otmp, 0, FALSE))
trapkilled = TRUE;
return trapkilled ? 2 : mtmp->mtrapped;
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
}
return 0;
return Trap_No_Effect;
}
static int
@@ -999,7 +999,7 @@ trapeffect_dart_trap(
You_hear("a soft click.");
deltrap(trap);
newsym(u.ux, u.uy);
return 0;
return Trap_Is_Gone;
}
trap->once = 1;
seetrap(trap);
@@ -1036,7 +1036,7 @@ trapeffect_dart_trap(
Monnam(mtmp));
deltrap(trap);
newsym(mtmp->mx, mtmp->my);
return 0;
return Trap_Is_Gone;
}
trap->once = 1;
otmp = t_missile(DART, trap);
@@ -1047,9 +1047,9 @@ trapeffect_dart_trap(
if (thitm(7, mtmp, otmp, 0, FALSE))
trapkilled = TRUE;
return trapkilled ? 2 : mtmp->mtrapped;
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1115,7 +1115,7 @@ trapeffect_rocktrap(
mon_nam(mtmp));
deltrap(trap);
newsym(mtmp->mx, mtmp->my);
return 0;
return Trap_Is_Gone;
}
trap->once = 1;
otmp = t_missile(ROCK, trap);
@@ -1124,9 +1124,9 @@ trapeffect_rocktrap(
if (thitm(0, mtmp, otmp, d(2, 6), FALSE))
trapkilled = TRUE;
return trapkilled ? 2 : mtmp->mtrapped;
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1159,7 +1159,7 @@ trapeffect_sqky_board(
boolean in_sight = canseemon(mtmp) || (mtmp == u.usteed);
if (is_flyer(mtmp->data))
return 0;
return Trap_No_Effect;
/* stepped on a squeaky board */
if (in_sight) {
if (!Deaf) {
@@ -1182,7 +1182,7 @@ trapeffect_sqky_board(
/* wake up nearby monsters */
wake_nearto(mtmp->mx, mtmp->my, 40);
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1198,18 +1198,18 @@ trapeffect_bear_trap(
int dmg = d(2, 4);
if ((Levitation || Flying) && !forcetrap)
return 0;
return Trap_No_Effect;
feeltrap(trap);
if (amorphous(g.youmonst.data) || is_whirly(g.youmonst.data)
|| unsolid(g.youmonst.data)) {
pline("%s bear trap closes harmlessly through you.",
A_Your[trap->madeby_u]);
return 0;
return Trap_No_Effect;
}
if (!u.usteed && g.youmonst.data->msize <= MZ_SMALL) {
pline("%s bear trap closes harmlessly over you.",
A_Your[trap->madeby_u]);
return 0;
return Trap_No_Effect;
}
set_utrap((unsigned) rn1(4, 4), TT_BEARTRAP);
if (u.usteed) {
@@ -1253,9 +1253,9 @@ trapeffect_bear_trap(
if (mtmp->mtrapped)
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
@@ -1285,7 +1285,7 @@ trapeffect_slp_gas_trap(
}
}
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1412,9 +1412,9 @@ trapeffect_rust_trap(
(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
@@ -1494,9 +1494,9 @@ trapeffect_fire_trap(
if (see_it && t_at(mtmp->mx, mtmp->my))
seetrap(trap);
return trapkilled ? 2 : mtmp->mtrapped;
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1521,7 +1521,7 @@ trapeffect_pit(
/* KMH -- You can't escape the Sokoban level traps */
if (!Sokoban && (Levitation || (Flying && !plunged)))
return 0;
return Trap_No_Effect;
feeltrap(trap);
if (!Sokoban && is_clinger(g.youmonst.data) && !plunged) {
if (trap->tseen) {
@@ -1532,7 +1532,7 @@ trapeffect_pit(
ttype == SPIKED_PIT ? "full of spikes " : "");
You("don't fall in!");
}
return 0;
return Trap_No_Effect;
}
if (!Sokoban) {
char verbbuf[BUFSZ];
@@ -1648,10 +1648,10 @@ trapeffect_pit(
seetrap(trap);
pline("%s doesn't fall into the pit.", Monnam(mtmp));
}
return 0;
return Trap_No_Effect;
}
if (!inescapable)
return 0; /* avoids trap */
return Trap_No_Effect; /* avoids trap */
fallverb = "is dragged"; /* sokoban pit */
}
if (!passes_walls(mptr))
@@ -1669,9 +1669,9 @@ trapeffect_pit(
rnd((tt == PIT) ? 6 : 10), FALSE))
trapkilled = TRUE;
return trapkilled ? 2 : mtmp->mtrapped;
return trapkilled ? Trap_Killed_Mon : mtmp->mtrapped;
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1685,7 +1685,7 @@ trapeffect_hole(
seetrap(trap); /* normally done in fall_through */
impossible("dotrap: %ss cannot exist on this level.",
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));
} else {
@@ -1699,7 +1699,7 @@ trapeffect_hole(
if (!Can_fall_thru(&u.uz)) {
impossible("mintrap: %ss cannot exist on this level.",
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]
|| (mtmp->wormno && count_wsegs(mtmp) > 5)
@@ -1716,7 +1716,7 @@ trapeffect_hole(
pline("%s doesn't fall through the hole.",
Monnam(mtmp));
}
return 0; /* inescapable = FALSE; */
return Trap_No_Effect; /* inescapable = FALSE; */
}
if (inescapable) { /* sokoban hole */
if (in_sight) {
@@ -1726,11 +1726,11 @@ trapeffect_hole(
seetrap(trap);
}
} else
return 0;
return Trap_No_Effect;
}
return trapeffect_level_telep(mtmp, trap, trflags);
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1747,7 +1747,7 @@ trapeffect_telep_trap(
mtele_trap(mtmp, trap, in_sight);
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1771,7 +1771,7 @@ trapeffect_level_telep(
if (mlev_res)
return mlev_res;
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1794,12 +1794,12 @@ trapeffect_web(
feeltrap(trap);
if (mu_maybe_destroy_web(&g.youmonst, webmsgok, trap))
return 0;
return Trap_No_Effect;
if (webmaker(g.youmonst.data)) {
if (webmsgok)
pline(trap->madeby_u ? "You take a walk on your web."
: "There is a spider web here.");
return 0;
return Trap_No_Effect;
}
if (webmsgok) {
char verbbuf[BUFSZ];
@@ -1839,14 +1839,15 @@ trapeffect_web(
u.usteed->mx = u.ux;
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)) {
u.usteed->mtrapped = 0;
if (strongmonst(u.usteed->data))
str = 17;
} else {
reset_utrap(FALSE);
return 0;
return Trap_No_Effect;
}
webmsgok = FALSE; /* mintrap printed the messages */
@@ -1881,9 +1882,9 @@ trapeffect_web(
struct permonst *mptr = mtmp->data;
if (webmaker(mptr))
return 0;
return Trap_No_Effect;
if (mu_maybe_destroy_web(mtmp, in_sight, trap))
return 0;
return Trap_No_Effect;
tear_web = FALSE;
switch (monsndx(mptr)) {
case PM_OWLBEAR: /* Eric Backus */
@@ -1939,7 +1940,7 @@ trapeffect_web(
}
return mtmp->mtrapped;
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1953,7 +1954,7 @@ trapeffect_statue_trap(
} else {
/* monsters don't trigger statue traps */
}
return 0;
return Trap_No_Effect;
}
static int
@@ -1973,7 +1974,7 @@ trapeffect_magic_trap(
u.uen = (u.uenmax += 2);
if (u.uenmax > u.uenpeak)
u.uenpeak = u.uenmax;
return 0;
return Trap_No_Effect;
} else {
domagictrap();
}
@@ -1983,7 +1984,7 @@ trapeffect_magic_trap(
if (!rn2(21))
return trapeffect_fire_trap(mtmp, trap, trflags);
}
return 0;
return Trap_No_Effect;
}
static int
@@ -2076,9 +2077,9 @@ trapeffect_anti_magic(
if (see_it)
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
@@ -2131,7 +2132,7 @@ trapeffect_poly_trap(
seetrap(trap);
}
}
return 0;
return Trap_No_Effect;
}
static int
@@ -2150,13 +2151,13 @@ trapeffect_landmine(
if ((Levitation || Flying) && !forcetrap) {
if (!already_seen && rn2(3))
return 0;
return Trap_No_Effect;
feeltrap(trap);
pline("%s %s in a pile of soil below you.",
already_seen ? "There is" : "You discover",
trap->madeby_u ? "the trigger of your mine" : "a trigger");
if (already_seen && rn2(3))
return 0;
return Trap_No_Effect;
pline("KAABLAMM!!! %s %s%s off!",
forcebungle ? "Your inept attempt sets"
: "The air currents set",
@@ -2170,7 +2171,7 @@ trapeffect_landmine(
static boolean recursive_mine = FALSE;
if (recursive_mine)
return 0;
return Trap_No_Effect;
feeltrap(trap);
pline("KAABLAMM!!! You triggered %s land mine!",
a_your[trap->madeby_u]);
@@ -2204,7 +2205,7 @@ trapeffect_landmine(
xchar tx = trap->tx, ty = trap->ty;
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)) {
boolean already_seen = trap->tseen;
@@ -2214,7 +2215,7 @@ trapeffect_landmine(
seetrap(trap);
}
if (rn2(3))
return 0;
return Trap_No_Effect;
if (in_sight) {
newsym(mtmp->mx, mtmp->my);
pline_The("air currents set %s off!",
@@ -2237,7 +2238,7 @@ trapeffect_landmine(
trapkilled = TRUE;
} else {
/* monsters recursively fall into new pit */
if (mintrap(mtmp) == 2)
if (mintrap(mtmp) == Trap_Killed_Mon)
trapkilled = TRUE;
}
/* a boulder may fill the new pit, crushing monster */
@@ -2248,9 +2249,9 @@ trapeffect_landmine(
g.multi = -1;
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
@@ -2296,10 +2297,10 @@ trapeffect_rolling_boulder_trap(
deltrap(trap);
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
@@ -2314,7 +2315,7 @@ trapeffect_magic_portal(
} else {
return trapeffect_level_telep(mtmp, trap, trflags);
}
return 0;
return Trap_No_Effect;
}
static int
@@ -2357,7 +2358,7 @@ trapeffect_vibrating_square(
}
}
}
return 0;
return Trap_No_Effect;
}
static int
@@ -2416,7 +2417,7 @@ trapeffect_selector(
(mtmp == &g.youmonst) ? "You" : "Some monster",
trap->ttyp);
}
return 0;
return Trap_No_Effect;
}
void
@@ -2505,7 +2506,7 @@ steedintrap(struct trap* trap, struct obj* otmp)
boolean trapkilled, steedhit;
if (!steed || !trap)
return 0;
return Trap_No_Effect;
tt = trap->ttyp;
steed->mx = u.ux;
steed->my = u.uy;
@@ -2515,7 +2516,7 @@ steedintrap(struct trap* trap, struct obj* otmp)
case ARROW_TRAP:
if (!otmp) {
impossible("steed hit by non-existent arrow?");
return 0;
return Trap_No_Effect;
}
trapkilled = thitm(8, steed, otmp, 0, FALSE);
steedhit = TRUE;
@@ -2523,7 +2524,7 @@ steedintrap(struct trap* trap, struct obj* otmp)
case DART_TRAP:
if (!otmp) {
impossible("steed hit by non-existent dart?");
return 0;
return Trap_No_Effect;
}
trapkilled = thitm(7, steed, otmp, 0, FALSE);
steedhit = TRUE;
@@ -2573,7 +2574,7 @@ steedintrap(struct trap* trap, struct obj* otmp)
if (trapkilled) {
dismount_steed(DISMOUNT_POLY);
return 2;
return Trap_Killed_Mon;
}
return steedhit ? 1 : 0;
}
@@ -3119,7 +3120,7 @@ mintrap(register struct monst *mtmp)
|| (tt == HOLE && !mindless(mptr)))) {
/* it has been in such a trap - perhaps it escapes */
if (rn2(4))
return 0;
return Trap_No_Effect;
} else {
mtmp->mtrapseen |= (1 << (tt - 1));
}
@@ -3131,7 +3132,7 @@ mintrap(register struct monst *mtmp)
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. */

View File

@@ -1359,7 +1359,7 @@ hmon_hitmon(
Sprintf(withwhat, " with %s", yname(obj));
pline("%s divides as you hit it%s!", Monnam(mon), withwhat);
hittxt = TRUE;
mintrap(mclone);
(void) mintrap(mclone);
}
}