diff -Naurb nethack-3.4.3/include/rm.h nethack-nymph/include/rm.h --- nethack-3.4.3/include/rm.h 2003-12-08 10:39:13.000000000 +1100 +++ nethack-nymph/include/rm.h 2005-03-29 13:14:23.000000000 +1000 @@ -261,6 +261,7 @@ */ #define TREE_LOOTED 1 #define TREE_SWARM 2 +#define TREE_NYMPH 4 /* * Fountains have limits, and special warnings. diff -Naurb nethack-3.4.3/src/dokick.c nethack-nymph/src/dokick.c --- nethack-3.4.3/src/dokick.c 2003-12-08 10:39:13.000000000 +1100 +++ nethack-nymph/src/dokick.c 2005-03-29 13:22:54.000000000 +1000 @@ -919,7 +919,12 @@ newsym(x, y); maploc->looted |= TREE_LOOTED; return(1); - } else if (!(maploc->looted & TREE_SWARM)) { + } else { + boolean swarm = !(maploc->looted & TREE_SWARM); + boolean nymph = !(maploc->looted & TREE_NYMPH); + + if (swarm && nymph) swarm = (rn2(100) < 50); + if (swarm) { int cnt = rnl(4) + 2; int made = 0; coord mm; @@ -937,6 +942,21 @@ maploc->looted |= TREE_SWARM; return(1); } + else if (nymph) { + coord mm; + mm.x = x; mm.y = y; + + if (enexto(&mm, mm.x, mm.y, &mons[PM_WOOD_NYMPH])) { + mtmp = makemon(&mons[PM_WOOD_NYMPH], + mm.x, mm.y, MM_ANGRY); + + You("awake the spirit of the tree!"); + /* Never asleep */ + mtmp->msleeping = 0; + maploc->looted |= TREE_NYMPH; + } + } + } goto ouch; } #ifdef SINKS