summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/lev-pand.cc
diff options
context:
space:
mode:
authortenofswords <mwclaws@gmail.com>2014-01-24 09:16:01 -0500
committertenofswords <mwclaws@gmail.com>2014-01-24 09:16:01 -0500
commit6d54aa7fd202912de5f5c4b5544dc133c9121144 (patch)
tree7385f7eeb6a178a01fe60d838251a4af6fb655c3 /crawl-ref/source/lev-pand.cc
parent5dc32985b73d37c0b68791071bf13df91c66c0f0 (diff)
downloadcrawl-ref-6d54aa7fd202912de5f5c4b5544dc133c9121144.tar.gz
crawl-ref-6d54aa7fd202912de5f5c4b5544dc133c9121144.zip
Adjust DS bands, throw into pan spawn slots, zigs
Directly copying draconian bands mostly makes melanges and also floods Pan with swarms of Ds, and as such I'm lowering their minimum and maximum band sizes while also including some (somewhat weird) thematic demons and repeats per given Ds spawn. A little experimental, but effective enough. As such, they can be thrown into the pan level spawn slot generator thing, for both fodder and weird unique greater threats (give or take lowering the overall chances for placing them). They're not super-common, but it's important to not flood the branch with these complicated jerks. Also, do some initial zig placement. Still have to put them into pan lord vaults, though.
Diffstat (limited to 'crawl-ref/source/lev-pand.cc')
-rw-r--r--crawl-ref/source/lev-pand.cc44
1 files changed, 28 insertions, 16 deletions
diff --git a/crawl-ref/source/lev-pand.cc b/crawl-ref/source/lev-pand.cc
index 1607883b7f..85c2e2c7fc 100644
--- a/crawl-ref/source/lev-pand.cc
+++ b/crawl-ref/source/lev-pand.cc
@@ -44,14 +44,19 @@ void init_pandemonium(void)
{
for (int pc = 0; pc < PAN_MONS_ALLOC; ++pc)
{
- env.mons_alloc[pc] = random_choose(
- MONS_NEQOXEC,
- MONS_ORANGE_DEMON,
- MONS_HELLWING,
- MONS_SMOKE_DEMON,
- MONS_YNOXINUL,
- MONS_ABOMINATION_LARGE,
- -1);
+ env.mons_alloc[pc] = random_choose_weighted(
+ 2, MONS_NEQOXEC,
+ 4, MONS_ORANGE_DEMON,
+ 4, MONS_HELLWING,
+ 4, MONS_SMOKE_DEMON,
+ 4, MONS_YNOXINUL,
+ 4, MONS_ABOMINATION_LARGE,
+ 2, MONS_MONSTROUS_DEMONSPAWN,
+ 2, MONS_GELID_DEMONSPAWN,
+ 2, MONS_INFERNAL_DEMONSPAWN,
+ 2, MONS_PUTRID_DEMONSPAWN,
+ 2, MONS_TORTUROUS_DEMONSPAWN,
+ 0);
if (one_chance_in(10))
{
@@ -71,7 +76,7 @@ void init_pandemonium(void)
if (one_chance_in(30))
env.mons_alloc[pc] = MONS_RED_DEVIL;
- if (one_chance_in(30))
+ if (one_chance_in(20))
env.mons_alloc[pc] = MONS_SIXFIRHY;
if (one_chance_in(20))
@@ -89,13 +94,17 @@ void init_pandemonium(void)
|| pc == 8 && one_chance_in(5)
|| pc == 9 && one_chance_in(3))
{
- env.mons_alloc[pc] = random_choose(
- MONS_EXECUTIONER,
- MONS_GREEN_DEATH,
- MONS_BLIZZARD_DEMON,
- MONS_BALRUG,
- MONS_CACODEMON,
- -1);
+ env.mons_alloc[pc] = random_choose_weighted(
+ 4, MONS_EXECUTIONER,
+ 4, MONS_GREEN_DEATH,
+ 4, MONS_BLIZZARD_DEMON,
+ 4, MONS_BALRUG,
+ 4, MONS_CACODEMON,
+ 2, MONS_BLOOD_SAINT,
+ 2, MONS_WARMONGER,
+ 2, MONS_CORRUPTER,
+ 2, MONS_BLACK_SUN,
+ 0);
}
}
@@ -111,6 +120,9 @@ void init_pandemonium(void)
if (one_chance_in(10))
env.mons_alloc[7 + random2(3)] = MONS_HELL_SENTINEL;
+ if (one_chance_in(10))
+ env.mons_alloc[7 + random2(3)] = MONS_CHAOS_CHAMPION;
+
env.floor_colour = _pan_floor_colour();
env.rock_colour = _pan_rock_colour();
}