diff --git a/dat/data.base b/dat/data.base index 0f243f9d8..715af9d8b 100644 --- a/dat/data.base +++ b/dat/data.base @@ -5465,7 +5465,7 @@ vrock The vrock is one of the weaker forms of demon. It resembles a cross between a human being and a vulture and does physical damage by biting and by using the claws on both its arms and - feet. + feet. It can also release a cloud of noxious gas to hide in. wakizashi A wakizashi was used as a samurai's weapon when the katana was unavailable. When entering a building, a samurai would diff --git a/doc/fixes37.0 b/doc/fixes37.0 index d27bd2863..c18e04a9d 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -146,6 +146,7 @@ level compiler creates correct novel with supplied name for farlook, describe water in the castle moat and in Juiblex's swamp as moat and as swamp, respectively, rather than just as "water" make hezrous emit poison clouds when they move +make vrocks emit a poison cloud when they flee stepping from one type of terrain to another was triggering an unnecessary status update make shriekers summon baby purple worms if purple worms would be too tough diff --git a/include/mondata.h b/include/mondata.h index b0403a248..a50183f3e 100644 --- a/include/mondata.h +++ b/include/mondata.h @@ -29,7 +29,8 @@ #define resists_ston(mon) \ ((mon_resistancebits(mon) & MR_STONE) != 0) -#define immune_poisongas(ptr) ((ptr) == &mons[PM_HEZROU]) +#define immune_poisongas(ptr) ((ptr) == &mons[PM_HEZROU] \ + || (ptr) == &mons[PM_VROCK]) #define is_lminion(mon) \ (is_minion((mon)->data) && mon_aligntyp(mon) == A_LAWFUL) diff --git a/src/monmove.c b/src/monmove.c index c583305ff..345010ec9 100644 --- a/src/monmove.c +++ b/src/monmove.c @@ -368,6 +368,12 @@ monflee( pline("%s turns to flee.", Monnam(mtmp)); } } + + if (mtmp->data == &mons[PM_VROCK] && !mtmp->mspec_used) { + mtmp->mspec_used = 75 + rn2(25); + (void) create_gas_cloud(mtmp->mx, mtmp->my, 5, 8); + } + mtmp->mflee = 1; } /* ignore recently-stepped spaces when made to flee */