diff options
author | Adam Borowski <kilobyte@angband.pl> | 2013-11-03 22:32:18 +0100 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2013-11-05 05:14:15 +0100 |
commit | 845b7253b77e24652d57ab25fa4ca81a613c5cc4 (patch) | |
tree | 1e3d2a5cbd7164becfe2b9cff1a844d31819d8cb /crawl-ref/source/areas.cc | |
parent | 7e637e9795085ebfbcb885c639f67e420be2e7fe (diff) | |
download | crawl-ref-845b7253b77e24652d57ab25fa4ca81a613c5cc4.tar.gz crawl-ref-845b7253b77e24652d57ab25fa4ca81a613c5cc4.zip |
Drop "soul auras".
They costed us complex bookkeeping every turn if there were any lost souls on
the level. Instead, just check the "hard way" (faster than one turn worth
of aura processing) whenever a monster dies.
No functional changes.
Diffstat (limited to 'crawl-ref/source/areas.cc')
-rw-r--r-- | crawl-ref/source/areas.cc | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/crawl-ref/source/areas.cc b/crawl-ref/source/areas.cc index 7fa4b10c1f..4193e320ea 100644 --- a/crawl-ref/source/areas.cc +++ b/crawl-ref/source/areas.cc @@ -87,8 +87,7 @@ void areas_actor_moved(const actor* act, const coord_def& oldpos) (you.entering_level || act->halo_radius2() > -1 || act->silence_radius2() > -1 || act->liquefying_radius2() > -1 || act->umbra_radius2() > -1 - || act->suppression_radius2() > -1 || act->heat_radius2() > -1) - || act->soul_aura_radius2() > -1) + || act->suppression_radius2() > -1 || act->heat_radius2() > -1)) { // Not necessarily new, but certainly potentially interesting. invalidate_agrid(true); @@ -156,18 +155,6 @@ static void _actor_areas(actor *a) no_areas = false; } - - if ((r = a->soul_aura_radius2()) >= 0) - { - _agrid_centres.push_back(area_centre(AREA_SOUL_AURA, a->pos(), r)); - - for (radius_iterator ri(a->pos(), r, C_CIRCLE, LOS_DEFAULT); ri; ++ri) - { - _set_agrid_flag(*ri, APROP_SOUL_AURA); - } - no_areas = false; - } - if ((r = a->heat_radius2()) >= 0) { _agrid_centres.push_back(area_centre(AREA_HOT, a->pos(), r)); @@ -805,32 +792,6 @@ int player::suppression_radius2() const } ///////////// -// Soul aura (currently just a marker for reference) - -bool soul_aura(const coord_def& p) -{ - if (!map_bounds(p)) - return false; - if (!_agrid_valid) - _update_agrid(); - - return _check_agrid_flag(p, APROP_SOUL_AURA); -} - -int monster::soul_aura_radius2() const -{ - if (type == MONS_LOST_SOUL) - return LOS_RADIUS_SQ; - else - return -1; -} - -int player::soul_aura_radius2() const -{ - return -1; -} - -///////////// // Heat aura (lava orcs). // Player radius |