diff --git a/include/mondata.h b/include/mondata.h index 5c86faa45..7757dd275 100644 --- a/include/mondata.h +++ b/include/mondata.h @@ -29,7 +29,7 @@ #define resists_poison(mon) ((mon_resistancebits(mon) & MR_POISON) != 0) #define resists_acid(mon) ((mon_resistancebits(mon) & MR_ACID) != 0) #define resists_sonic(mon) ((mon_resistancebits(mon) & MR_SONIC) != 0 \ - || mon_underwater(mon)) + || !has_head((mon)->data) || mon_underwater(mon)) #define resists_ston(mon) ((mon_resistancebits(mon) & MR_STONE) != 0) #define resists_psychic(mon) ((mon_resistancebits(mon) & MR_PSYCHIC) != 0) #define resists_clob(mon) ((mon_resistancebits(mon) & MR_CLOB) != 0) diff --git a/src/monst.c b/src/monst.c index 4b56d6923..0283e0ad4 100644 --- a/src/monst.c +++ b/src/monst.c @@ -1832,7 +1832,7 @@ NEARDATA struct permonst mons[] = { LVL(3, 1, 3, 0, 0), (G_GENO | 4), A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), - SIZ(200, 200, MS_SILENT, MZ_SMALL), MR_SONIC, 0, + SIZ(200, 200, MS_SILENT, MZ_SMALL), 0, 0, M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_CARNIVORE | M1_NOTAKE, M2_HOSTILE, 0, 0, 0, 4, CLR_GRAY), @@ -1840,7 +1840,7 @@ NEARDATA struct permonst mons[] = { LVL(5, 1, 0, 0, 0), (G_GENO | 2), A(ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), - SIZ(400, 300, MS_SILENT, MZ_MEDIUM), MR_SONIC, 0, + SIZ(400, 300, MS_SILENT, MZ_MEDIUM), 0, 0, M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_CARNIVORE | M1_NOTAKE, M2_HOSTILE, 0, M4_VULNERABLE_ACID, 0, 6, CLR_CYAN), @@ -1848,7 +1848,7 @@ NEARDATA struct permonst mons[] = { LVL(7, 1, 0, 0, 0), (G_GENO | 1), A(ATTK(AT_BITE, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), - SIZ(400, 300, MS_SILENT, MZ_MEDIUM), MR_ACID | MR_SONIC, 0, + SIZ(400, 300, MS_SILENT, MZ_MEDIUM), MR_ACID | 0, 0, M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_CARNIVORE | M1_NOTAKE, M2_HOSTILE, 0, 0, 0, 9, CLR_WHITE), @@ -1856,7 +1856,7 @@ NEARDATA struct permonst mons[] = { LVL(8, 1, 0, 0, 0), (G_GENO), A(ATTK(AT_BITE, AD_PHYS, 8, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), - SIZ(400, 300, MS_SILENT, MZ_MEDIUM), MR_ACID | MR_FIRE | MR_SONIC, 0, + SIZ(400, 300, MS_SILENT, MZ_MEDIUM), MR_ACID | MR_FIRE | 0, 0, M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_CARNIVORE | M1_NOTAKE, M2_HOSTILE, 0, 0, 0, 12, CLR_BLUE), @@ -1865,7 +1865,7 @@ NEARDATA struct permonst mons[] = { A(ATTK(AT_BITE, AD_PHYS, 16, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), SIZ(400, 300, MS_SILENT, MZ_MEDIUM), - MR_ACID | MR_ELEC | MR_FIRE | MR_COLD | MR_SONIC, 0, + MR_ACID | MR_ELEC | MR_FIRE | MR_COLD | 0, 0, M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_CARNIVORE | M1_NOTAKE, M2_HOSTILE, 0, 0, 0, 20, CLR_BRIGHT_MAGENTA), @@ -2763,7 +2763,7 @@ NEARDATA struct permonst mons[] = { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), SIZ(0, 0, MS_SILENT, MZ_SMALL), MR_FIRE | MR_COLD | MR_ELEC | MR_DISINT | MR_SLEEP | MR_POISON - | MR_ACID | MR_STONE | MR_SONIC, + | MR_ACID | MR_STONE, 0, M1_FLY | M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_UNSOLID | M1_NOTAKE, M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, 0, 0, 5, CLR_YELLOW), @@ -2773,7 +2773,7 @@ NEARDATA struct permonst mons[] = { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), SIZ(0, 0, MS_SILENT, MZ_SMALL), MR_FIRE | MR_COLD | MR_ELEC | MR_DISINT | MR_SLEEP | MR_POISON - | MR_ACID | MR_STONE | MR_SONIC, + | MR_ACID | MR_STONE, 0, M1_FLY | M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_UNSOLID | M1_SEE_INVIS | M1_NOTAKE, @@ -2784,7 +2784,7 @@ NEARDATA struct permonst mons[] = { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), SIZ(0, 0, MS_SILENT, MZ_SMALL), MR_FIRE | MR_COLD | MR_ELEC | MR_DISINT | MR_SLEEP | MR_POISON - | MR_ACID | MR_STONE | MR_SONIC, + | MR_ACID | MR_STONE, 0, M1_FLY | M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_UNSOLID | M1_NOTAKE, M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, 0, 0, 9, CLR_BRIGHT_MAGENTA), @@ -2795,7 +2795,7 @@ NEARDATA struct permonst mons[] = { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), SIZ(0, 0, MS_SILENT, MZ_SMALL), MR_FIRE | MR_COLD | MR_ELEC | MR_DISINT | MR_SLEEP | MR_POISON - | MR_ACID | MR_STONE | MR_SONIC, 0, + | MR_ACID | MR_STONE, 0, M1_FLY | M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_UNSOLID | M1_NOTAKE, M2_HOSTILE | M2_NEUTER | M2_WANDER, @@ -3147,7 +3147,7 @@ NEARDATA struct permonst mons[] = { A(ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_SCRE, AD_PIER, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), - SIZ(30, 30, MS_SHRIEK, MZ_MEDIUM), MR_SONIC, 0, + SIZ(30, 30, MS_SHRIEK, MZ_MEDIUM), 0, 0, M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_WANDER | M2_HOSTILE | M2_GREEDY | M2_JEWELS, M3_INFRAVISIBLE, 0, 0, 11, CLR_BLACK), @@ -3158,7 +3158,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_SCRE, AD_SONG, 1, 6), NO_ATTK, NO_ATTK), - SIZ(130, 130, MS_SEDUCE, MZ_MEDIUM), MR_SONIC, 0, + SIZ(130, 130, MS_SEDUCE, MZ_MEDIUM), 0, 0, M1_FLY | M1_ANIMAL | M1_CARNIVORE, M2_WANDER | M2_HOSTILE, M3_INFRAVISIBLE | M3_TRAITOR, 0, 0, 10, CLR_GRAY), @@ -3328,7 +3328,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), SIZ(WT_BABY_DRGN, NUT_BABY_DRGN, MS_ROAR, MZ_HUGE), - MR_POISON | MR_SONIC | MR_DRAIN, 0, + MR_POISON | MR_DRAIN, 0, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, M3_TRAITOR, 0, MH_DRAGON, 13, CLR_MAGENTA), @@ -3429,7 +3429,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), - SIZ(WT_BABY_DRGN, NUT_BABY_DRGN, MS_ROAR, MZ_HUGE), MR_ACID | MR_STONE | MR_SONIC, 0, + SIZ(WT_BABY_DRGN, NUT_BABY_DRGN, MS_ROAR, MZ_HUGE), MR_ACID | MR_STONE, 0, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE | M1_ACID, M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, M3_TRAITOR, 0, MH_DRAGON, 13, CLR_YELLOW), @@ -3444,7 +3444,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_CNCL, 0, 0)), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_SONIC, 0, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), 0, 0, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3457,7 +3457,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_DGST, 2, 10), NO_ATTK), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_COLD | MR_SONIC, 0, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_COLD, 0, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3470,7 +3470,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_STUN, 2, 6)), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_SONIC, 0, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), 0, 0, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3484,7 +3484,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_DRLI, 0, 1)), SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), - MR_POISON | MR_SONIC | MR_DRAIN, 0, + MR_POISON | MR_DRAIN, 0, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE | M1_POIS, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3498,7 +3498,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_FIRE, 0, 1)), SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), - MR_FIRE | MR_SONIC, MR_FIRE, + MR_FIRE, MR_FIRE, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3511,7 +3511,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_COLD, 0, 6)), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_COLD | MR_SONIC, MR_COLD, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_COLD, MR_COLD, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3524,7 +3524,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_SLOW, 0, 2)), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_SLEEP | MR_SONIC, MR_SLEEP, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_SLEEP, MR_SLEEP, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, M3_TRAITOR, 0, MH_DRAGON, 30, CLR_ORANGE), @@ -3548,7 +3548,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_DISN, 0, 0)), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_DISINT | MR_SONIC, MR_DISINT, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_DISINT, MR_DISINT, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3561,7 +3561,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_ELEC, 0, 2)), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_ELEC | MR_SONIC, MR_ELEC, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_ELEC, MR_ELEC, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, M3_TRAITOR, 0, MH_DRAGON, 30, CLR_BLUE), @@ -3573,7 +3573,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_DRST, 0, 1)), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_POISON | MR_SONIC, MR_POISON, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_POISON, MR_POISON, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE | M1_POIS, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3587,7 +3587,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_ENGL, AD_DGST, 2, 10), NO_ATTK), SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), - MR_FIRE | MR_SONIC | MR_SICK, 0, + MR_FIRE | MR_SICK, 0, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3600,7 +3600,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_WRAP, 2, 10), ATTK(AT_NONE, AD_RUST, 0, 2)), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_SONIC, 0, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), 0, 0, M1_SWIM | M1_AMPHIBIOUS | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE | M1_UNSOLID, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3613,7 +3613,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_ENGL, AD_DGST, 2, 10), ATTK(AT_NONE, AD_ACID, 0, 4)), - SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_ACID | MR_STONE | MR_SONIC, + SIZ(WT_DRAGON, NUT_DRAGON, MS_ROAR, MZ_GIGANTIC), MR_ACID | MR_STONE, MR_STONE, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | M1_CARNIVORE | M1_ACID, M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, @@ -3655,7 +3655,7 @@ NEARDATA struct permonst mons[] = { A(ATTK(AT_ENGL, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), SIZ(0, 0, MS_SILENT, MZ_HUGE), - MR_POISON | MR_STONE | MR_SONIC | MR_SICK, 0, + MR_POISON | MR_STONE | MR_SICK, 0, M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS | M1_UNSOLID | M1_FLY, M2_STRONG | M2_NEUTER, 0, 0, 0, 10, CLR_CYAN), @@ -3669,7 +3669,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_NONE, AD_FIRE, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), SIZ(0, 0, MS_SILENT, MZ_HUGE), - MR_FIRE | MR_POISON | MR_STONE | MR_SONIC | MR_SICK, 0, + MR_FIRE | MR_POISON | MR_STONE | MR_SICK, 0, M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS | M1_UNSOLID | M1_FLY | M1_NOTAKE, M2_STRONG | M2_NEUTER, M3_INFRAVISIBLE, M4_VULNERABLE_COLD, 0, 10, CLR_YELLOW), @@ -3690,7 +3690,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_CLAW, AD_BLND, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), SIZ(2500, 0, MS_SILENT, MZ_LARGE), - MR_FIRE | MR_COLD | MR_POISON | MR_STONE | MR_SONIC | MR_SICK, 0, + MR_FIRE | MR_COLD | MR_POISON | MR_STONE | MR_SICK, 0, M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS | M1_WALLWALK | M1_UNSOLID | M1_THICK_HIDE | M1_AMPHIBIOUS | M1_SWIM, M2_STRONG | M2_NEUTER, 0, 0, 0, 11, CLR_BROWN), @@ -3701,7 +3701,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_ENGL, AD_ACID, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK), SIZ(2500, 0, MS_SILENT, MZ_HUGE), - MR_FIRE | MR_COLD | MR_POISON | MR_ACID | MR_SONIC | MR_SICK, 0, + MR_FIRE | MR_COLD | MR_POISON | MR_ACID | MR_SICK, 0, M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS | M1_WALLWALK | M1_THICK_HIDE | M1_UNSOLID | M1_AMPHIBIOUS | M1_SWIM, M2_STRONG | M2_NEUTER, 0, 0, 0, 12, CLR_BRIGHT_GREEN), @@ -3723,7 +3723,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_ENGL, AD_FIRE, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK), SIZ(0, 0, MS_SILENT, MZ_LARGE), - MR_FIRE | MR_ACID | MR_SONIC | MR_SICK, 0, + MR_FIRE | MR_ACID | MR_SICK, 0, M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS | M1_THICK_HIDE | M1_NOTAKE, M2_STRONG | M2_NEUTER, M3_INFRAVISIBLE, 0, 0, 12, CLR_ORANGE), @@ -3734,7 +3734,7 @@ NEARDATA struct permonst mons[] = { ATTK(AT_NONE, AD_RUST, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), SIZ(2500, 0, MS_SILENT, MZ_HUGE), - MR_POISON | MR_STONE | MR_SONIC | MR_SICK, 0, + MR_POISON | MR_STONE | MR_SICK, 0, M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS | M1_UNSOLID | M1_AMPHIBIOUS | M1_SWIM, M2_STRONG | M2_NEUTER, 0, M4_VULNERABLE_ELEC, 0, 10, CLR_BLUE), @@ -5438,7 +5438,7 @@ struct permonst _mons2[] = { ATTK(AT_CLAW, AD_CLOB, 2, 18), NO_ATTK, NO_ATTK), SIZ(1200, 0, MS_SILENT, MZ_HUMAN), - MR_COLD | MR_SLEEP | MR_POISON | MR_SONIC | MR_DRAIN | MR_SICK, 0, + MR_COLD | MR_SLEEP | MR_POISON | MR_DRAIN | MR_SICK, 0, M1_BREATHLESS | M1_HUMANOID, M2_STALK | M2_HOSTILE | M2_COLLECT | M2_STRONG, M3_INFRAVISION | M3_ACCURATE | M3_BERSERK, @@ -5451,7 +5451,7 @@ struct permonst _mons2[] = { ATTK(AT_SCRE, AD_LOUD, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK), SIZ(WT_HUMAN, 0, MS_SPELL, MZ_HUMAN), - MR_COLD | MR_SLEEP | MR_POISON | MR_SONIC | MR_DRAIN | MR_SICK, + MR_COLD | MR_SLEEP | MR_POISON | MR_DRAIN | MR_SICK, 0, M1_BREATHLESS | M1_HUMANOID | M1_SEE_INVIS, M2_NOPOLY | M2_STALK | M2_STRONG | M2_HOSTILE | M2_MALE | M2_COLLECT, @@ -6166,7 +6166,7 @@ struct permonst _mons2[] = { ATTK(AT_SCRE, AD_GIBB, 1, 8), ATTK(AT_STNG, AD_LARV, 2, 3), NO_ATTK, NO_ATTK, NO_ATTK), - SIZ(WT_HUMAN, 400, MS_WAIL, MZ_HUMAN), MR_SONIC, 0, + SIZ(WT_HUMAN, 400, MS_WAIL, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_COLLECT, M3_INFRAVISIBLE | M3_TRAITOR, 0, MH_HUMAN, 9, CLR_GRAY), MON("werebear", S_HUMAN, /* SpliceHack */