From: nhmall Date: Wed, 9 Feb 2022 00:16:42 +0000 (-0500) Subject: replace some trap function result magic numbers X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=947d80ec6f23162f3b3e87f5ef15cecaeb820d38;p=nethack replace some trap function result magic numbers --- diff --git a/include/trap.h b/include/trap.h index 60e4aa9e4..8b7cfb82f 100644 --- a/include/trap.h +++ b/include/trap.h @@ -82,6 +82,9 @@ enum trap_types { 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_hole(ttyp) ((ttyp) == HOLE || (ttyp) == TRAPDOOR) #define undestroyable_trap(ttyp) ((ttyp) == MAGIC_PORTAL \ diff --git a/src/apply.c b/src/apply.c index 45ac82ea9..b7ffd6f35 100644 --- a/src/apply.c +++ b/src/apply.c @@ -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); } } diff --git a/src/dokick.c b/src/dokick.c index 8f9b81255..b65cd51e0 100644 --- a/src/dokick.c +++ b/src/dokick.c @@ -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; } } diff --git a/src/mhitm.c b/src/mhitm.c index eaa43cda5..5a0a10aca 100644 --- a/src/mhitm.c +++ b/src/mhitm.c @@ -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 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); diff --git a/src/monmove.c b/src/monmove.c index 25b6bce1e..83e3b1e30 100644 --- a/src/monmove.c +++ b/src/monmove.c @@ -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 */ diff --git a/src/muse.c b/src/muse.c index e2c1833e6..a3e8c58fd 100644 --- a/src/muse.c +++ b/src/muse.c @@ -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) diff --git a/src/trap.c b/src/trap.c index 759bb5299..d6763b749 100644 --- a/src/trap.c +++ b/src/trap.c @@ -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. */ diff --git a/src/uhitm.c b/src/uhitm.c index 536bb4fab..b967e51b1 100644 --- a/src/uhitm.c +++ b/src/uhitm.c @@ -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); } }