summaryrefslogtreecommitdiffstats
path: root/stone_soup/crawl-ref/source/lev-pand.cc
diff options
context:
space:
mode:
Diffstat (limited to 'stone_soup/crawl-ref/source/lev-pand.cc')
-rw-r--r--stone_soup/crawl-ref/source/lev-pand.cc166
1 files changed, 0 insertions, 166 deletions
diff --git a/stone_soup/crawl-ref/source/lev-pand.cc b/stone_soup/crawl-ref/source/lev-pand.cc
deleted file mode 100644
index a2fadad876..0000000000
--- a/stone_soup/crawl-ref/source/lev-pand.cc
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * File: lev-pand.cc
- * Summary: Functions used in Pandemonium.
- * Written by: Linley Henzell
- *
- * Change History (most recent first):
- *
- * <1> -/--/-- LRH Created
- */
-
-#include "AppHdr.h"
-#include "lev-pand.h"
-
-#include "externs.h"
-
-#include "monplace.h"
-#include "mon-pick.h"
-#include "stuff.h"
-
-void init_pandemonium(void)
-{
- int pc = 0;
- struct monsters *monster = 0; // NULL
-
- for (pc = 0; pc < MAX_MONSTERS; pc++)
- {
- monster = &menv[pc];
-
- // Looks for unique demons and sets appropriate lists of demons.
- // NB - also sets the level colours.
- if (monster->type == MONS_MNOLEG)
- {
- env.mons_alloc[0] = MONS_ABOMINATION_SMALL;
- env.mons_alloc[1] = MONS_ABOMINATION_SMALL;
- env.mons_alloc[2] = MONS_ABOMINATION_SMALL;
- env.mons_alloc[3] = MONS_ABOMINATION_LARGE;
- env.mons_alloc[4] = MONS_NEQOXEC;
- env.mons_alloc[5] = MONS_MIDGE;
- env.mons_alloc[6] = MONS_NEQOXEC;
- env.mons_alloc[7] = MONS_BLUE_DEATH;
- env.mons_alloc[8] = MONS_BALRUG;
- env.mons_alloc[9] = MONS_LEMURE;
- return;
- }
-
- if (monster->type == MONS_LOM_LOBON)
- {
- env.mons_alloc[0] = MONS_HELLWING;
- env.mons_alloc[1] = MONS_SMOKE_DEMON;
- env.mons_alloc[2] = MONS_SMOKE_DEMON;
- env.mons_alloc[3] = MONS_YNOXINUL;
- env.mons_alloc[4] = MONS_GREEN_DEATH;
- env.mons_alloc[5] = MONS_BLUE_DEATH;
- env.mons_alloc[6] = MONS_SMOKE_DEMON;
- env.mons_alloc[7] = MONS_HELLWING;
- env.mons_alloc[8] = MONS_WHITE_IMP;
- env.mons_alloc[9] = MONS_HELLWING;
- return;
- }
-
- if (monster->type == MONS_CEREBOV)
- {
- env.mons_alloc[0] = MONS_EFREET;
- env.mons_alloc[1] = MONS_ABOMINATION_SMALL;
- env.mons_alloc[2] = MONS_ORANGE_DEMON;
- env.mons_alloc[3] = MONS_ORANGE_DEMON;
- env.mons_alloc[4] = MONS_NEQOXEC;
- env.mons_alloc[5] = MONS_LEMURE;
- env.mons_alloc[6] = MONS_ORANGE_DEMON;
- env.mons_alloc[7] = MONS_YNOXINUL;
- env.mons_alloc[8] = MONS_BALRUG;
- env.mons_alloc[9] = MONS_BALRUG;
- return;
- }
-
- if (monster->type == MONS_GLOORX_VLOQ)
- {
- env.mons_alloc[0] = MONS_SKELETON_SMALL;
- env.mons_alloc[1] = MONS_SKELETON_SMALL;
- env.mons_alloc[2] = MONS_SKELETON_LARGE;
- env.mons_alloc[3] = MONS_WHITE_IMP;
- env.mons_alloc[4] = MONS_CACODEMON;
- env.mons_alloc[5] = MONS_HELLWING;
- env.mons_alloc[6] = MONS_SMOKE_DEMON;
- env.mons_alloc[7] = MONS_EXECUTIONER;
- env.mons_alloc[8] = MONS_EXECUTIONER;
- env.mons_alloc[9] = MONS_EXECUTIONER;
- return;
- }
- }
-
-// colour of monster 9 is colour of floor, 8 is colour of rock
-// IIRC, BLACK is set to LIGHTGRAY
-
- for (pc = 0; pc < 10; pc++)
- {
- switch (random2(17))
- {
- case 0: case 10: env.mons_alloc[pc] = MONS_WHITE_IMP; break;
- case 1: case 11: env.mons_alloc[pc] = MONS_LEMURE; break;
- case 2: case 12: env.mons_alloc[pc] = MONS_UFETUBUS; break;
- case 3: case 13: env.mons_alloc[pc] = MONS_MANES; break;
- case 4: case 14: env.mons_alloc[pc] = MONS_MIDGE; break;
- case 5: env.mons_alloc[pc] = MONS_NEQOXEC; break;
- case 6: env.mons_alloc[pc] = MONS_ORANGE_DEMON; break;
- case 7: env.mons_alloc[pc] = MONS_HELLWING; break;
- case 8: env.mons_alloc[pc] = MONS_SMOKE_DEMON; break;
- case 9: env.mons_alloc[pc] = MONS_YNOXINUL; break;
- case 15: env.mons_alloc[pc] = MONS_ABOMINATION_SMALL; break;
- case 16: env.mons_alloc[pc] = MONS_ABOMINATION_LARGE; break;
- }
-
- if (one_chance_in(10))
- env.mons_alloc[pc] = MONS_HELLION + random2(10);
-
- if (one_chance_in(30))
- env.mons_alloc[pc] = MONS_RED_DEVIL;
-
- if (one_chance_in(30))
- env.mons_alloc[pc] = MONS_IMP;
-
- if (one_chance_in(20))
- env.mons_alloc[pc] = MONS_DEMONIC_CRAWLER + random2(5);
- }
-
- if (one_chance_in(8))
- env.mons_alloc[7] = MONS_EXECUTIONER + random2(5);
-
- if (one_chance_in(5))
- env.mons_alloc[8] = MONS_EXECUTIONER + random2(5);
-
- if (one_chance_in(3))
- env.mons_alloc[9] = MONS_EXECUTIONER + random2(5);
-
- if (one_chance_in(10))
- env.mons_alloc[7 + random2(3)] = MONS_FIEND;
-
- if (one_chance_in(10))
- env.mons_alloc[7 + random2(3)] = MONS_ICE_FIEND;
-
- if (one_chance_in(10))
- env.mons_alloc[7 + random2(3)] = MONS_SHADOW_FIEND;
-
- if (one_chance_in(10))
- env.mons_alloc[7 + random2(3)] = MONS_PIT_FIEND;
-
- // set at least some specific monsters for the special levels - this
- // can also be used to set some colours
-} // end init_pandemonium()
-
-void pandemonium_mons(void)
-{
- // must leave allowance for monsters rare on pandemonium (eg wizards etc)
- int pan_mons = env.mons_alloc[random2(10)];
-
- if (one_chance_in(40))
- {
- do
- {
- pan_mons = random2(NUM_MONSTERS); // was random2(400) {dlb}
- }
- while (!mons_pan(pan_mons));
- }
- mons_place(pan_mons, BEH_HOSTILE, MHITNOT, false, 50,50,
- LEVEL_PANDEMONIUM);
-} // end pandemonium_mons()