From dbeaea2cefc46c4f325e5b82f982bdce567a96bd Mon Sep 17 00:00:00 2001 From: dolorous Date: Tue, 6 Jan 2009 23:05:28 +0000 Subject: Implement [2489129]: Remove the maximum HP hack for zombified monsters other than spectral things, and make them use the M_NO_REGEN flag instead. Also, make them unable to flee, in order to preserve previous behavior and fix [2482719]. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8286 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/mon-data.h | 12 ++++++------ crawl-ref/source/monstuff.cc | 8 ++------ 2 files changed, 8 insertions(+), 12 deletions(-) (limited to 'crawl-ref/source') diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h index 54c83c1741..d9956f42b5 100644 --- a/crawl-ref/source/mon-data.h +++ b/crawl-ref/source/mon-data.h @@ -1578,7 +1578,7 @@ static monsterentry mondata[] = { // or else are chosen randomly { MONS_ZOMBIE_SMALL, 'z', BROWN, "small zombie", - M_EVIL, + M_EVIL | M_NO_REGEN, MR_RES_POISON | mrd(MR_RES_COLD, 2), 0, 6, MONS_ZOMBIE_SMALL, MONS_ZOMBIE_SMALL, MH_UNDEAD, -1, { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, @@ -1589,7 +1589,7 @@ static monsterentry mondata[] = { { MONS_SKELETON_SMALL, 'z', LIGHTGREY, "small skeleton", - M_EVIL, + M_EVIL | M_NO_REGEN, MR_RES_POISON | mrd(MR_RES_COLD, 2), 0, 10, MONS_SKELETON_SMALL, MONS_SKELETON_SMALL, MH_UNDEAD, -1, { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, @@ -1600,7 +1600,7 @@ static monsterentry mondata[] = { { MONS_SIMULACRUM_SMALL, 'z', EC_ICE, "small simulacrum", - M_EVIL, + M_EVIL | M_NO_REGEN, MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3), 0, 6, MONS_SIMULACRUM_SMALL, MONS_SIMULACRUM_SMALL, MH_UNDEAD, -1, { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, @@ -2902,7 +2902,7 @@ static monsterentry mondata[] = { // or else are chosen randomly { MONS_ZOMBIE_LARGE, 'Z', BROWN, "large zombie", - M_EVIL, + M_EVIL | M_NO_REGEN, MR_RES_POISON | mrd(MR_RES_COLD, 2), 0, 6, MONS_ZOMBIE_SMALL, MONS_ZOMBIE_LARGE, MH_UNDEAD, -1, { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, @@ -2913,7 +2913,7 @@ static monsterentry mondata[] = { { MONS_SKELETON_LARGE, 'Z', LIGHTGREY, "large skeleton", - M_EVIL, + M_EVIL | M_NO_REGEN, MR_RES_POISON | mrd(MR_RES_COLD, 2), 0, 10, MONS_SKELETON_SMALL, MONS_SKELETON_LARGE, MH_UNDEAD, -1, { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, @@ -2924,7 +2924,7 @@ static monsterentry mondata[] = { { MONS_SIMULACRUM_LARGE, 'Z', EC_ICE, "large simulacrum", - M_EVIL, + M_EVIL | M_NO_REGEN, MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3), 0, 6, MONS_SIMULACRUM_SMALL, MONS_SIMULACRUM_LARGE, MH_UNDEAD, -1, { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 992c06637b..6eeea59214 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -6804,12 +6804,6 @@ static void _handle_monster_move(int i, monsters *monster) continue; } - if (mons_is_zombified(monster) - && monster->type != MONS_SPECTRAL_THING) - { - monster->max_hit_points = monster->hit_points; - } - if (igrd(monster->pos()) != NON_ITEM && (mons_itemuse(monster) == MONUSE_WEAPONS_ARMOUR || mons_itemuse(monster) == MONUSE_EATS_ITEMS)) @@ -8461,6 +8455,8 @@ bool monster_descriptor(int which_class, unsigned char which_descriptor) if (which_descriptor == MDSC_NOMSG_WOUNDS) { + // Zombified monsters other than spectral things don't show + // wounds. if (mons_class_is_zombified(which_class) && which_class != MONS_SPECTRAL_THING) { -- cgit v1.2.3-54-g00ecf