summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/areas.cc
diff options
context:
space:
mode:
authorgammafunk <gammafunk@gmail.com>2014-03-27 01:29:10 -0500
committergammafunk <gammafunk@gmail.com>2014-03-27 07:48:28 -0500
commite0468285053b71a733c7081e47e33efdf7324d10 (patch)
tree47e60b56eeb861b8cdf0ee00c7d2995c610d7b0f /crawl-ref/source/areas.cc
parent669f2b404c9b1f2b7c8d1d1ff58541cc97d93efd (diff)
downloadcrawl-ref-e0468285053b71a733c7081e47e33efdf7324d10.tar.gz
crawl-ref-e0468285053b71a733c7081e47e33efdf7324d10.zip
Let Orb run spawns generate in all non-abyss locations
Players have been picking up the Orb and entering a Zig only to discover that Orb spawns don't generate, thus depriving them of HUGE GUTS to RIP AND TEAR. Their complaints have been overwhelming, so now Orb run spawns generate in Pan and all portals. We don't generate the spawns in the Abyss, since the player can be banished there on the ascension, whereas entering other places with the Orb is voluntary. This commit also fixes the monster spawn rate when starting in the abyss with Lucy, which was being set to the orb run spawn rate instead of once per five turns as intended, and cleans up and documents some functions.
Diffstat (limited to 'crawl-ref/source/areas.cc')
-rw-r--r--crawl-ref/source/areas.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/crawl-ref/source/areas.cc b/crawl-ref/source/areas.cc
index 1056cf2eb9..c640e913e0 100644
--- a/crawl-ref/source/areas.cc
+++ b/crawl-ref/source/areas.cc
@@ -151,6 +151,12 @@ static void _actor_areas(actor *a)
}
}
+/**
+ * Update the area grid cache.
+ *
+ * Updates the _agrid FixedArray of grid information flags using the
+ * areaprop_flag types.
+ */
static void _update_agrid()
{
if (no_areas)
@@ -168,7 +174,7 @@ static void _update_agrid()
for (monster_iterator mi; mi; ++mi)
_actor_areas(*mi);
- if (you.char_direction == GDT_ASCENDING && !you.pos().origin())
+ if (player_has_orb() && !you.pos().origin())
{
const int r = 5;
_agrid_centres.push_back(area_centre(AREA_ORB, you.pos(), r));