summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/ghost.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/ghost.cc')
-rw-r--r--crawl-ref/source/ghost.cc15
1 files changed, 10 insertions, 5 deletions
diff --git a/crawl-ref/source/ghost.cc b/crawl-ref/source/ghost.cc
index b4f2788ab7..728489b8f2 100644
--- a/crawl-ref/source/ghost.cc
+++ b/crawl-ref/source/ghost.cc
@@ -533,6 +533,7 @@ void ghost_demon::find_extra_ghosts( std::vector<ghost_demon> &gs, int n )
find_transiting_ghosts(gs, n);
}
+// Returns the number of extra ghosts allowed on the level.
int ghost_demon::n_extra_ghosts()
{
const int lev = you.your_level + 1;
@@ -554,15 +555,19 @@ int ghost_demon::n_extra_ghosts()
return (0);
// No multiple ghosts until level 9 of the main dungeon.
- if ((lev < 9 && you.where_are_you == BRANCH_MAIN_DUNGEON)
- || (subdepth < 2 && you.where_are_you == BRANCH_LAIR)
- || (subdepth < 2 && you.where_are_you == BRANCH_ORCISH_MINES))
+ if (lev < 9 && you.where_are_you == BRANCH_MAIN_DUNGEON
+ || subdepth < 2 && you.where_are_you == BRANCH_LAIR
+ || subdepth < 2 && you.where_are_you == BRANCH_ORCISH_MINES)
+ {
return (0);
+ }
if (you.where_are_you == BRANCH_LAIR
|| you.where_are_you == BRANCH_ORCISH_MINES
- || (you.where_are_you == BRANCH_MAIN_DUNGEON && lev < 15))
+ || you.where_are_you == BRANCH_MAIN_DUNGEON && lev < 15)
+ {
return (1);
+ }
- return 1 + (random2(20) < lev) + (random2(40) < lev);
+ return (1 + x_chance_in_y(lev, 20) + x_chance_in_y(lev, 40));
}