diff options
author | Adam Borowski <kilobyte@angband.pl> | 2013-11-03 22:20:25 +0100 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2013-11-05 05:14:15 +0100 |
commit | 7e637e9795085ebfbcb885c639f67e420be2e7fe (patch) | |
tree | e0ade29f726f747c8134f7587ab58f8c6f5cbd18 /crawl-ref/source/areas.cc | |
parent | d339b15e38cbd685024deb0e420d3ab4c74661a0 (diff) | |
download | crawl-ref-7e637e9795085ebfbcb885c639f67e420be2e7fe.tar.gz crawl-ref-7e637e9795085ebfbcb885c639f67e420be2e7fe.zip |
Assign reasonable los types to auras.
It makes no sense for liquefaction to be stopped by clouds, or for some to
work through glass.
Diffstat (limited to 'crawl-ref/source/areas.cc')
-rw-r--r-- | crawl-ref/source/areas.cc | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/crawl-ref/source/areas.cc b/crawl-ref/source/areas.cc index a2a2e08d0b..7fa4b10c1f 100644 --- a/crawl-ref/source/areas.cc +++ b/crawl-ref/source/areas.cc @@ -122,8 +122,7 @@ static void _actor_areas(actor *a) { _agrid_centres.push_back(area_centre(AREA_HALO, a->pos(), r)); - for (radius_iterator ri(a->pos(), r, C_CIRCLE, a->get_los()); - ri; ++ri) + for (radius_iterator ri(a->pos(), r, C_CIRCLE, LOS_DEFAULT); ri; ++ri) { _set_agrid_flag(*ri, APROP_HALO); } @@ -134,8 +133,7 @@ static void _actor_areas(actor *a) { _agrid_centres.push_back(area_centre(AREA_LIQUID, a->pos(), r)); - for (radius_iterator ri(a->pos(), r, C_CIRCLE, a->get_los()); - ri; ++ri) + for (radius_iterator ri(a->pos(), r, C_CIRCLE, LOS_SOLID); ri; ++ri) { dungeon_feature_type f = grd(*ri); @@ -151,8 +149,7 @@ static void _actor_areas(actor *a) { _agrid_centres.push_back(area_centre(AREA_UMBRA, a->pos(), r)); - for (radius_iterator ri(a->pos(), r, C_CIRCLE, a->get_los()); - ri; ++ri) + for (radius_iterator ri(a->pos(), r, C_CIRCLE, LOS_DEFAULT); ri; ++ri) { _set_agrid_flag(*ri, APROP_UMBRA); } @@ -164,8 +161,7 @@ static void _actor_areas(actor *a) { _agrid_centres.push_back(area_centre(AREA_SOUL_AURA, a->pos(), r)); - for (radius_iterator ri(a->pos(), r, C_CIRCLE, a->get_los()); - ri; ++ri) + for (radius_iterator ri(a->pos(), r, C_CIRCLE, LOS_DEFAULT); ri; ++ri) { _set_agrid_flag(*ri, APROP_SOUL_AURA); } @@ -176,8 +172,7 @@ static void _actor_areas(actor *a) { _agrid_centres.push_back(area_centre(AREA_HOT, a->pos(), r)); - for (radius_iterator ri(a->pos(),r, C_CIRCLE, a->get_los()); - ri; ++ri) + for (radius_iterator ri(a->pos(), r, C_CIRCLE, LOS_NO_TRANS); ri; ++ri) { _set_agrid_flag(*ri, APROP_HOT); } |