summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/lev-pand.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-05 13:33:29 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-05 13:33:29 +0000
commitff2f267821153758bcd691e73b1b409c62f0c4e0 (patch)
tree11f18df98aad81ddfa9798dafd67eceb3b4ed510 /crawl-ref/source/lev-pand.cc
parent3423bbab5a0f024eeafffe6b8260c8c088647db1 (diff)
downloadcrawl-ref-ff2f267821153758bcd691e73b1b409c62f0c4e0.tar.gz
crawl-ref-ff2f267821153758bcd691e73b1b409c62f0c4e0.zip
Cleaned up monster generation functions, separate monster zombie type from monster number. May be buggy.
Allow hydra zombies (they currently do not get the right number of heads). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4872 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/lev-pand.cc')
-rw-r--r--crawl-ref/source/lev-pand.cc21
1 files changed, 14 insertions, 7 deletions
diff --git a/crawl-ref/source/lev-pand.cc b/crawl-ref/source/lev-pand.cc
index 4e4308de08..9efabf1e9b 100644
--- a/crawl-ref/source/lev-pand.cc
+++ b/crawl-ref/source/lev-pand.cc
@@ -116,7 +116,8 @@ void init_pandemonium(void)
}
if (one_chance_in(10))
- env.mons_alloc[pc] = MONS_HELLION + random2(10);
+ env.mons_alloc[pc] =
+ static_cast<monster_type>(MONS_HELLION + random2(10));
if (one_chance_in(30))
env.mons_alloc[pc] = MONS_RED_DEVIL;
@@ -125,17 +126,21 @@ void init_pandemonium(void)
env.mons_alloc[pc] = MONS_IMP;
if (one_chance_in(20))
- env.mons_alloc[pc] = MONS_DEMONIC_CRAWLER + random2(5);
+ env.mons_alloc[pc] =
+ static_cast<monster_type>(MONS_DEMONIC_CRAWLER + random2(5));
}
if (one_chance_in(8))
- env.mons_alloc[7] = MONS_EXECUTIONER + random2(5);
+ env.mons_alloc[7] =
+ static_cast<monster_type>(MONS_EXECUTIONER + random2(5));
if (one_chance_in(5))
- env.mons_alloc[8] = MONS_EXECUTIONER + random2(5);
+ env.mons_alloc[8] =
+ static_cast<monster_type>(MONS_EXECUTIONER + random2(5));
if (one_chance_in(3))
- env.mons_alloc[9] = MONS_EXECUTIONER + random2(5);
+ env.mons_alloc[9] =
+ static_cast<monster_type>(MONS_EXECUTIONER + random2(5));
if (one_chance_in(10))
env.mons_alloc[7 + random2(3)] = MONS_FIEND;
@@ -170,6 +175,8 @@ void pandemonium_mons(void)
}
while (!mons_pan(pan_mons));
}
- mons_place(pan_mons, BEH_HOSTILE, MHITNOT, false, 50,50,
- LEVEL_PANDEMONIUM);
+ mgen_data mg(static_cast<monster_type>(pan_mons));
+ mg.level_type = LEVEL_PANDEMONIUM;
+
+ mons_place(mg);
} // end pandemonium_mons()