mikew@tahoe.unr.edu (Mike Wishart) (06/24/88)
Below is a patch file to fix the traps if you are flying, eg a killer bee, Bat, Floating Eye, yellow light, lurker above, or Demon. The traps fixed are bear trap, trap door, Squeeky Board, and Landmines. -------------------------------------CUT HERE--------------------------------- *** trap.c.orig Thu Jun 23 14:37:30 1988 --- trap.c Thu Jun 23 15:11:19 1988 *************** *** 93,98 **** --- 93,102 ---- pline("You float over a bear trap."); break; } + if(index("BEky'&",u.usym)) { + pline("You see a bear trap snap shut below you."); + break; + } u.utrap = 4 + rn2(4); u.utraptype = TT_BEARTRAP; pline("A bear trap closes on your foot!"); *************** *** 125,130 **** --- 129,137 ---- stackobj(fobj); if(Invisible) newsym(u.ux, u.uy); } else { + if(index("BEky'&",u.usym)) { + pline("You see a trap door open below you."); + } else { register int newlevel = dlevel + 1; while(!rn2(4) && newlevel < 29) newlevel++; *************** *** 135,140 **** --- 142,148 ---- } fflush(stdout); goto_level(newlevel, FALSE); + } } break; case DART_TRAP: *************** *** 267,272 **** --- 275,284 ---- case SQBRD: { #include "edog.h" register struct monst *mtmp = fmon; + if(index("BEky'&",u.usym)) { + pline("You see a loose board below you."); + break; + } /* Stepped on a squeaky board. */ pline("A board underfoot gives off a loud squeak!"); /* Wake up nearby monsters. */ *************** *** 287,293 **** /* Our luckless adventurer has stepped into a web. */ ! pline("You've stumbled into a spider web!"); u.utraptype = TT_WEB; /* Time stuck in the web depends on your strength. */ --- 299,307 ---- /* Our luckless adventurer has stepped into a web. */ ! if(index("BEky'&",u.usym)) { ! pline("You've flown into a spider web!"); ! } else pline("You've stumbled into a spider web!"); u.utraptype = TT_WEB; /* Time stuck in the web depends on your strength. */ *************** *** 309,316 **** #ifdef SAC case LANDMINE: { register struct monst *mtmp = fmon; - pline("KAABLAMM!!! You stepped on a land mine!"); losehp(rnd(16), "land mine"); set_wounded_legs(LEFT_SIDE, 40 + rnd(35)); set_wounded_legs(RIGHT_SIDE, 40 + rnd(35)); --- 323,338 ---- #ifdef SAC case LANDMINE: { register struct monst *mtmp = fmon; + if(index("BEky'&",u.usym)) { + pline("You see a pile of soil with a trigger below you!"); + if(rn2(3)) { + break; /* wings don't usually set them off */ + } else { + pline("KAABLAMM!!! The air currents set it off"); + } + } + else pline("KAABLAMM!!! You stepped on a land mine!"); losehp(rnd(16), "land mine"); set_wounded_legs(LEFT_SIDE, 40 + rnd(35)); set_wounded_legs(RIGHT_SIDE, 40 + rnd(35));