From 8532044ddfbab381d1455e76f5c324ee19764259 Mon Sep 17 00:00:00 2001 From: dolorous Date: Sun, 5 Oct 2008 19:43:57 +0000 Subject: Adjust monster habitats again. Remove the M_AMPHIBIOUS flag, and replace it with two new habitats: HT_AMPHIBIOUS_LAND and HT_AMPHIBIOUS_WATER, to indicate which habitat a monster prefers. This effectively gives amphibious monsters primary and secondary habitats; check both when trying to place such monsters. With these changes, merfolk can be placed on land properly (via wizard mode's &M) when no water is around. The one monster that can move through rock is affected as well: rock is its primary habitat, while land is its secondary one. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7142 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/mon-data.h | 88 ++++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 44 deletions(-) (limited to 'crawl-ref/source/mon-data.h') diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h index d4bd6d269f..175165f7bc 100644 --- a/crawl-ref/source/mon-data.h +++ b/crawl-ref/source/mon-data.h @@ -802,24 +802,24 @@ static monsterentry mondata[] = { { MONS_GIANT_SLUG, 'j', GREEN, "giant slug", - M_NO_SKELETON | M_AMPHIBIOUS, + M_NO_SKELETON, MR_NO_FLAGS, 700, 10, MONS_GIANT_SLUG, MONS_GIANT_SLUG, MH_NATURAL, -3, { {AT_BITE, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 10, 5, 3, 0 }, 0, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT, I_INSECT, - HT_LAND, 6, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LARGE + HT_AMPHIBIOUS_LAND, 6, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LARGE }, { MONS_GIANT_SNAIL, 'j', LIGHTGREEN, "giant snail", - M_NO_SKELETON | M_AMPHIBIOUS, + M_NO_SKELETON, MR_NO_FLAGS, 900, 10, MONS_GIANT_SLUG, MONS_GIANT_SNAIL, MH_NATURAL, -3, { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 14, 5, 3, 0 }, 7, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT, I_INSECT, - HT_LAND, 4, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LARGE + HT_AMPHIBIOUS_LAND, 4, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LARGE }, // killer bees 'k' @@ -848,13 +848,13 @@ static monsterentry mondata[] = { // lizards 'l' { MONS_GIANT_NEWT, 'l', GREEN, "giant newt", - M_COLD_BLOOD | M_AMPHIBIOUS, + M_COLD_BLOOD, MR_NO_FLAGS, 150, 10, MONS_GIANT_LIZARD, MONS_GIANT_NEWT, MH_NATURAL, -3, { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 1, 1, 2, 0 }, 0, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT, I_INSECT, - HT_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_TINY + HT_AMPHIBIOUS_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_TINY }, { @@ -904,13 +904,13 @@ static monsterentry mondata[] = { { MONS_KOMODO_DRAGON, 'l', LIGHTRED, "komodo dragon", - M_COLD_BLOOD | M_AMPHIBIOUS, + M_COLD_BLOOD, MR_NO_FLAGS, 800, 10, MONS_GIANT_LIZARD, MONS_KOMODO_DRAGON, MH_NATURAL, -3, { {AT_BITE, AF_DISEASE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 8, 3, 5, 0 }, 7, 8, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_HISS, I_INSECT, - HT_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_MEDIUM + HT_AMPHIBIOUS_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_MEDIUM }, // drakes (also 'l', but dragon type) @@ -967,24 +967,24 @@ static monsterentry mondata[] = { // merfolk ('m') { MONS_MERFOLK, 'm', LIGHTBLUE, "merfolk", - M_WARM_BLOOD | M_AMPHIBIOUS | M_SPEAKS, + M_WARM_BLOOD | M_SPEAKS, MR_RES_POISON | MR_RES_COLD, 500, 10, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -3, { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 8, 2, 4, 0 }, 4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT, I_NORMAL, - HT_WATER, 10, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM + HT_AMPHIBIOUS_WATER, 10, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM }, { MONS_MERMAID, 'm', LIGHTCYAN, "mermaid", - M_SPELLCASTER | M_WARM_BLOOD | M_AMPHIBIOUS | M_SPEAKS, + M_SPELLCASTER | M_WARM_BLOOD | M_SPEAKS, MR_RES_POISON | MR_RES_COLD, 500, 10, MONS_MERMAID, MONS_MERMAID, MH_NATURAL, -5, { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 8, 2, 4, 0 }, 4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT, I_NORMAL, - HT_WATER, 10, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM + HT_AMPHIBIOUS_WATER, 10, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM }, // rotting monsters ('n') @@ -1311,24 +1311,24 @@ static monsterentry mondata[] = { // ugly things ('u') { MONS_UGLY_THING, 'u', BROWN, "ugly thing", - M_WARM_BLOOD | M_AMPHIBIOUS, + M_WARM_BLOOD, mrd(MR_RES_COLD, 2), 600, 10, MONS_UGLY_THING, MONS_UGLY_THING, MH_NATURAL, -3, { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 8, 3, 5, 0 }, 3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR, I_ANIMAL, - HT_LAND, 10, DEFAULT_ENERGY, MONUSE_OPEN_DOORS, SIZE_MEDIUM + HT_AMPHIBIOUS_LAND, 10, DEFAULT_ENERGY, MONUSE_OPEN_DOORS, SIZE_MEDIUM }, { MONS_VERY_UGLY_THING, 'u', RED, "very ugly thing", - M_WARM_BLOOD | M_AMPHIBIOUS, + M_WARM_BLOOD, mrd(MR_RES_COLD, 2), 750, 10, MONS_UGLY_THING, MONS_VERY_UGLY_THING, MH_NATURAL, -3, { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 12, 3, 5, 0 }, 4, 8, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_BIG, S_ROAR, I_ANIMAL, - HT_LAND, 8, DEFAULT_ENERGY, MONUSE_OPEN_DOORS, SIZE_LARGE + HT_AMPHIBIOUS_LAND, 8, DEFAULT_ENERGY, MONUSE_OPEN_DOORS, SIZE_LARGE }, // vortices ('v') @@ -1390,13 +1390,13 @@ static monsterentry mondata[] = { { MONS_WATER_ELEMENTAL, '{', LIGHTBLUE, "water elemental", - M_FLIES | M_AMPHIBIOUS, + M_FLIES, MR_RES_POISON | MR_VUL_FIRE | MR_RES_ELEC, 0, 10, MONS_EARTH_ELEMENTAL, MONS_WATER_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE, { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 6, 5, 3, 0 }, 0, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT, I_PLANT, - HT_WATER, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_BIG + HT_AMPHIBIOUS_WATER, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_BIG }, // worms and larvae ('w') @@ -1793,13 +1793,13 @@ static monsterentry mondata[] = { { MONS_HYDRA, 'D', LIGHTGREEN, "hydra", - M_AMPHIBIOUS | M_WARM_BLOOD, // because it likes the swamp -- bwr + M_WARM_BLOOD, MR_RES_POISON, 1800, 11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, -3, { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 13, 3, 5, 0 }, 0, 5, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_ROAR, I_INSECT, - HT_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_BIG + HT_AMPHIBIOUS_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_BIG }, { @@ -1946,46 +1946,46 @@ static monsterentry mondata[] = { // frogs ('F') { MONS_GIANT_FROG, 'F', GREEN, "giant frog", - M_COLD_BLOOD | M_AMPHIBIOUS, + M_COLD_BLOOD, MR_NO_FLAGS, 500, 10, MONS_GIANT_FROG, MONS_GIANT_FROG, MH_NATURAL, -3, { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 4, 3, 5, 0 }, 0, 12, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_CROAK, I_ANIMAL, - HT_LAND, 15, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_SMALL + HT_AMPHIBIOUS_LAND, 15, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_SMALL }, { MONS_GIANT_BROWN_FROG, 'F', BROWN, "giant brown frog", - M_COLD_BLOOD | M_AMPHIBIOUS, + M_COLD_BLOOD, MR_NO_FLAGS, 890, 10, MONS_GIANT_FROG, MONS_GIANT_BROWN_FROG, MH_NATURAL, -3, { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 8, 3, 5, 0 }, 2, 11, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_CROAK, I_ANIMAL, - HT_LAND, 13, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_MEDIUM + HT_AMPHIBIOUS_LAND, 13, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_MEDIUM }, { MONS_SPINY_FROG, 'F', YELLOW, "spiny frog", - M_COLD_BLOOD | M_AMPHIBIOUS, + M_COLD_BLOOD, MR_RES_POISON, 1000, 10, MONS_GIANT_FROG, MONS_SPINY_FROG, MH_NATURAL, -3, { {AT_STING, AF_POISON_MEDIUM, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 7, 3, 5, 0 }, 6, 9, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_CROAK, I_ANIMAL, - HT_LAND, 12, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_SMALL + HT_AMPHIBIOUS_LAND, 12, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_SMALL }, { MONS_BLINK_FROG, 'F', LIGHTGREEN, "blink frog", - M_COLD_BLOOD | M_AMPHIBIOUS | M_SPECIAL_ABILITY, + M_COLD_BLOOD | M_SPECIAL_ABILITY, MR_NO_FLAGS, 800, 12, MONS_GIANT_FROG, MONS_BLINK_FROG, MH_NATURAL, -5, { {AT_HIT, AF_BLINK, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 6, 3, 5, 0 }, 3, 12, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_CROAK, I_ANIMAL, - HT_LAND, 14, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LITTLE + HT_AMPHIBIOUS_LAND, 14, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LITTLE }, // eyes and spores ('G') @@ -2143,24 +2143,24 @@ static monsterentry mondata[] = { { MONS_JELLY, 'J', LIGHTRED, "jelly", - M_SEE_INVIS | M_SPLITS | M_AMPHIBIOUS | M_ACID_SPLASH, + M_SEE_INVIS | M_SPLITS | M_ACID_SPLASH, MR_RES_POISON | MR_RES_ASPHYX | mrd(MR_RES_ACID, 3), 0, 13, MONS_JELLY, MONS_JELLY, MH_NATURAL, -3, { {AT_HIT, AF_ACID, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 3, 5, 5, 0 }, 0, 2, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT, I_PLANT, - HT_LAND, 9, DEFAULT_ENERGY, MONUSE_EATS_ITEMS, SIZE_MEDIUM + HT_AMPHIBIOUS_LAND, 9, DEFAULT_ENERGY, MONUSE_EATS_ITEMS, SIZE_MEDIUM }, { MONS_SLIME_CREATURE, 'J', GREEN, "slime creature", - M_AMPHIBIOUS, + M_NO_FLAGS, MR_RES_POISON, 0, 5, MONS_SLIME_CREATURE, MONS_SLIME_CREATURE, MH_NATURAL, -3, { {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 11, 3, 5, 0 }, 1, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT, I_PLANT, - HT_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_SMALL + HT_AMPHIBIOUS_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_SMALL }, { @@ -2176,13 +2176,13 @@ static monsterentry mondata[] = { { MONS_GIANT_AMOEBA, 'J', BLUE, "giant amoeba", - M_NO_SKELETON | M_SENSE_INVIS | M_AMPHIBIOUS, + M_NO_SKELETON | M_SENSE_INVIS, MR_RES_POISON, 1000, 10, MONS_GIANT_AMOEBA, MONS_GIANT_AMOEBA, MH_NATURAL, -3, { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 12, 3, 5, 0 }, 0, 4, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT, I_PLANT, - HT_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LITTLE + HT_AMPHIBIOUS_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_LITTLE }, { @@ -2523,24 +2523,24 @@ static monsterentry mondata[] = { { MONS_SNAKE, 'S', LIGHTGREEN, "snake", - M_COLD_BLOOD | M_AMPHIBIOUS, + M_COLD_BLOOD, MR_NO_FLAGS, 200, 10, MONS_SNAKE, MONS_SNAKE, MH_NATURAL, -3, { {AT_BITE, AF_POISON, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 2, 3, 5, 0 }, 1, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT, I_INSECT, - HT_LAND, 13, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_SMALL + HT_AMPHIBIOUS_LAND, 13, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_SMALL }, { MONS_BROWN_SNAKE, 'S', BROWN, "brown snake", - M_COLD_BLOOD | M_AMPHIBIOUS, + M_COLD_BLOOD, MR_RES_POISON, 300, 10, MONS_SNAKE, MONS_BROWN_SNAKE, MH_NATURAL, -3, { {AT_BITE, AF_POISON_MEDIUM, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, { 4, 3, 5, 0 }, 2, 15, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_HISS, I_INSECT, - HT_LAND, 14, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_MEDIUM + HT_AMPHIBIOUS_LAND, 14, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_MEDIUM }, { @@ -2652,14 +2652,14 @@ static monsterentry mondata[] = { { MONS_POLAR_BEAR, 'U', WHITE, "polar bear", - M_WARM_BLOOD | M_AMPHIBIOUS, + M_WARM_BLOOD, MR_RES_COLD, 2500, 10, MONS_BEAR, MONS_POLAR_BEAR, MH_NATURAL, -3, { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5}, AT_NO_ATK }, { 7, 5, 3, 0 }, 7, 8, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_GROWL, I_ANIMAL, - HT_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_BIG + HT_AMPHIBIOUS_LAND, 10, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_BIG }, { @@ -2793,13 +2793,13 @@ static monsterentry mondata[] = { { MONS_TENTACLED_MONSTROSITY, 'X', GREEN, "tentacled monstrosity", - M_SEE_INVIS | M_AMPHIBIOUS | M_EVIL, + M_SEE_INVIS | M_EVIL, MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 0, 10, MONS_TENTACLED_MONSTROSITY, MONS_TENTACLED_MONSTROSITY, MH_DEMONIC, -5, { {AT_HIT, AF_PLAIN, 22}, {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 13} }, { 25, 3, 5, 0 }, 5, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT, I_NORMAL, - HT_LAND, 9, DEFAULT_ENERGY, MONUSE_OPEN_DOORS, SIZE_GIANT, + HT_AMPHIBIOUS_LAND, 9, DEFAULT_ENERGY, MONUSE_OPEN_DOORS, SIZE_GIANT }, { @@ -3887,13 +3887,13 @@ static monsterentry mondata[] = { // Antaeus is now demonic so that he'll resist torment. -- bwr { MONS_ANTAEUS, 'C', LIGHTCYAN, "Antaeus", - M_FIGHTER | M_SPELLCASTER | M_EVIL | M_SPEAKS | M_UNIQUE | M_AMPHIBIOUS, + M_FIGHTER | M_SPELLCASTER | M_EVIL | M_SPEAKS | M_UNIQUE, MR_RES_ELEC | MR_VUL_FIRE | mrd(MR_RES_COLD, 2), 0, 15, MONS_HILL_GIANT, MONS_ANTAEUS, MH_DEMONIC, -9, { {AT_HIT, AF_COLD, 75}, {AT_HIT, AF_COLD, 30}, AT_NO_ATK, AT_NO_ATK }, { 22, 0, 0, 700 }, 28, 4, MST_ANTAEUS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT, I_HIGH, - HT_LAND, 10, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_GIANT + HT_AMPHIBIOUS_LAND, 10, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, SIZE_GIANT }, { -- cgit v1.2.3-54-g00ecf