summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/areas.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2013-11-03 22:20:25 +0100
committerAdam Borowski <kilobyte@angband.pl>2013-11-05 05:14:15 +0100
commit7e637e9795085ebfbcb885c639f67e420be2e7fe (patch)
treee0ade29f726f747c8134f7587ab58f8c6f5cbd18 /crawl-ref/source/areas.cc
parentd339b15e38cbd685024deb0e420d3ab4c74661a0 (diff)
downloadcrawl-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.cc15
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);
}