summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-util.cc
diff options
context:
space:
mode:
authorDracoOmega <draco_omega@live.com>2014-03-10 18:14:46 -0230
committerDracoOmega <draco_omega@live.com>2014-03-11 20:08:04 -0230
commit6ace9f69827c41a67f709e591cf24dd771189481 (patch)
tree4cc006e1ba027bc8cd1e27ab54db02621fc3cc72 /crawl-ref/source/mon-util.cc
parent5ec54fe066a0cc260d5540b1a5f3278fe0393c2a (diff)
downloadcrawl-ref-6ace9f69827c41a67f709e591cf24dd771189481.tar.gz
crawl-ref-6ace9f69827c41a67f709e591cf24dd771189481.zip
Remove fake Mara/Rakshasa monsters and associated code, refactor to use Phantom Mirror
There was quite a bit of special case code for the 'fake' monsters which Mara and other rakshasa would create that can be subsumed beneath the general Phantom Mirror effect (which can properly create fake dummies of any type of monster in a unified way). The main practical gameplay difference that will result (aside from bugs introduced by this, of course) is that the true Mara will actually be disguised when he splits, instead of the player knowing for sure which one he is (until two of them blink in the same turn, anyway). This is a Mara buff, but it seems to me that an illusion spell of this nature shouldn't have been so easy to see through in the first place and that this is an overall better state of affairs. (Also, the clones do have less hp than before, if you end up killing the wrong one first).
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r--crawl-ref/source/mon-util.cc29
1 files changed, 3 insertions, 26 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index b99c975861..0f6b32592a 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -197,8 +197,7 @@ void init_mon_name_cache()
// breaks ?/M rakshasa.
if (Mon_Name_Cache.count(name))
{
- if (mon == MONS_RAKSHASA_FAKE || mon == MONS_MARA_FAKE
- || mon == MONS_PLAYER_SHADOW
+ if (mon == MONS_PLAYER_SHADOW
|| mon != MONS_SERPENT_OF_HELL
&& mons_species(mon) == MONS_SERPENT_OF_HELL)
{
@@ -1467,14 +1466,7 @@ bool mons_class_can_display_wounds(monster_type mc)
if (mons_class_is_zombified(mc) && mc != MONS_SPECTRAL_THING)
return false;
- switch (mc)
- {
- case MONS_RAKSHASA:
- case MONS_RAKSHASA_FAKE:
- return false;
- default:
- return true;
- }
+ return true;
}
bool mons_can_display_wounds(const monster* mon)
@@ -3652,10 +3644,7 @@ static gender_type _mons_class_gender(monster_type mc)
{
gender = GENDER_FEMALE;
}
- // Mara's fakes aren't unique, but should still be classified as
- // male.
- else if (mc == MONS_MARA_FAKE
- || mc == MONS_HELLBINDER
+ else if (mc == MONS_HELLBINDER
|| mc == MONS_CLOUD_MAGE)
{
gender = GENDER_MALE;
@@ -4759,18 +4748,6 @@ bool monster_nearby()
return false;
}
-int count_mara_fakes()
-{
- int count = 0;
- for (monster_iterator mi; mi; ++mi)
- {
- if (mi->type == MONS_MARA_FAKE)
- count++;
- }
-
- return count;
-}
-
actor *actor_by_mid(mid_t m)
{
if (m == MID_PLAYER)