diff options
author | Neil Moore <neil@s-z.org> | 2013-10-31 23:53:20 -0400 |
---|---|---|
committer | Neil Moore <neil@s-z.org> | 2013-11-01 00:02:55 -0400 |
commit | 334afa25fe4c81f59c075f9c3ea9fe08c00fb2ab (patch) | |
tree | 8db4eb78ec031906c4dd8ede40cd3d706a5a982f /crawl-ref/source | |
parent | b7236c5810b553c903aee423f3e165ec3c2487e1 (diff) | |
download | crawl-ref-334afa25fe4c81f59c075f9c3ea9fe08c00fb2ab.tar.gz crawl-ref-334afa25fe4c81f59c075f9c3ea9fe08c00fb2ab.zip |
Use cell_is_solid where appropriate.
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/abyss.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/beam.cc | 18 | ||||
-rw-r--r-- | crawl-ref/source/cloud.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/decks.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/dgn-proclayouts.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/dgn-shoals.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/dungeon.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/evoke.cc | 14 | ||||
-rw-r--r-- | crawl-ref/source/fight.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/godabil.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/melee_attack.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/mon-abil.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/mon-act.cc | 6 | ||||
-rw-r--r-- | crawl-ref/source/mon-behv.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/mon-cast.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/mon-stuff.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/monster.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/spl-clouds.cc | 6 | ||||
-rw-r--r-- | crawl-ref/source/spl-goditem.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/spl-other.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/spl-summoning.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/spl-transloc.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/target.cc | 12 | ||||
-rw-r--r-- | crawl-ref/source/traps.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/xom.cc | 2 |
25 files changed, 55 insertions, 55 deletions
diff --git a/crawl-ref/source/abyss.cc b/crawl-ref/source/abyss.cc index fb2defa706..e30942695e 100644 --- a/crawl-ref/source/abyss.cc +++ b/crawl-ref/source/abyss.cc @@ -401,7 +401,7 @@ static bool _abyss_check_place_feat(coord_def p, // Don't place features in bubbles. int wall_count = 0; for (adjacent_iterator ai(p); ai; ++ai) - wall_count += feat_is_solid(grd(p)); + wall_count += cell_is_solid(p); if (wall_count > 6) return false; diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc index 186cadc67b..b90a5055e5 100644 --- a/crawl-ref/source/beam.cc +++ b/crawl-ref/source/beam.cc @@ -804,18 +804,18 @@ void bolt::bounce() do ray.regress(); - while (feat_is_solid(grd(ray.pos()))); + while (cell_is_solid(ray.pos())); extra_range_used += range_used(true); bounce_pos = ray.pos(); bounces++; reflect_grid rg; for (adjacent_iterator ai(ray.pos(), false); ai; ++ai) - rg(*ai - ray.pos()) = feat_is_solid(grd(*ai)); + rg(*ai - ray.pos()) = cell_is_solid(*ai); ray.bounce(rg); extra_range_used += 2; - ASSERT(!feat_is_solid(grd(ray.pos()))); + ASSERT(!cell_is_solid(ray.pos())); _munge_bounced_bolt(old_bolt, *this, old_ray, ray); } @@ -1095,7 +1095,7 @@ bool bolt::need_regress() const // others obsolete. return ((is_explosion && !in_explosion_phase) || drop_item - || feat_is_solid(grd(pos())) && !can_affect_wall(grd(pos())) + || cell_is_solid(pos()) && !can_affect_wall(grd(pos())) || origin_spell == SPELL_PRIMAL_WAVE); } @@ -1114,7 +1114,7 @@ bool bolt::hit_wall() && pos() != source && foe_info.count == 0 && flavour != BEAM_DIGGING && flavour <= BEAM_LAST_REAL && bounces == 0 && reflections == 0 && you.see_cell(target) - && !feat_is_solid(grd(target))) + && !cell_is_solid(target)) { // Okay, with all those tests passed, this is probably an instance // of the player manually targetting something whose line of fire @@ -1181,7 +1181,7 @@ void bolt::affect_cell() fake_flavour(); const coord_def old_pos = pos(); - const bool was_solid = feat_is_solid(grd(pos())); + const bool was_solid = cell_is_solid(pos()); if (was_solid) { @@ -1234,7 +1234,7 @@ void bolt::affect_cell() } } - if (!feat_is_solid(grd(pos()))) + if (!cell_is_solid(pos())) affect_ground(); } @@ -1372,7 +1372,7 @@ void bolt::do_fire() // through find_ray and setup_retrace, but they didn't // always in the past, and we don't want to crash // if they accidentally pass through a corner. - ASSERT(!feat_is_solid(grd(pos())) + ASSERT(!cell_is_solid(pos()) || is_tracer && can_affect_wall(grd(pos())) || affects_nothing); // returning weapons @@ -5395,7 +5395,7 @@ bool bolt::knockback_actor(actor *act) if (newpos == oldpos || actor_at(newpos) || act->is_stationary() - || feat_is_solid(grd(newpos)) + || cell_is_solid(newpos) || !act->can_pass_through(newpos) || !act->is_habitable(newpos) // Save is based on target's body weight. diff --git a/crawl-ref/source/cloud.cc b/crawl-ref/source/cloud.cc index e181659a51..8717849975 100644 --- a/crawl-ref/source/cloud.cc +++ b/crawl-ref/source/cloud.cc @@ -192,7 +192,7 @@ static int _spread_cloud(const cloud_struct &cloud) if (!in_bounds(*ai) || env.cgrid(*ai) != EMPTY_CLOUD - || feat_is_solid(grd(*ai)) + || cell_is_solid(*ai) || is_sanctuary(*ai) && !is_harmless_cloud(cloud.type)) { continue; @@ -567,7 +567,7 @@ void place_cloud(cloud_type cl_type, const coord_def& ctarget, int cl_range, if (cl_type == CLOUD_INK && !feat_is_watery(grd(ctarget))) return; - ASSERT(!feat_is_solid(grd(ctarget))); + ASSERT(!cell_is_solid(ctarget)); kill_category whose = KC_OTHER; killer_type killer = KILL_MISC; diff --git a/crawl-ref/source/decks.cc b/crawl-ref/source/decks.cc index e3663a413b..d4308a4576 100644 --- a/crawl-ref/source/decks.cc +++ b/crawl-ref/source/decks.cc @@ -2376,7 +2376,7 @@ static void _trowel_card(int power, deck_rarity_type rarity) coord_def p; for (distance_iterator di(you.pos(), true, false); di; ++di) { - if (feat_is_solid(grd(*di)) || is_critical_feature(grd(*di))) + if (cell_is_solid(*di) || is_critical_feature(grd(*di))) continue; p = *di; break; diff --git a/crawl-ref/source/dgn-proclayouts.cc b/crawl-ref/source/dgn-proclayouts.cc index c8358079c7..587f5eee47 100644 --- a/crawl-ref/source/dgn-proclayouts.cc +++ b/crawl-ref/source/dgn-proclayouts.cc @@ -240,7 +240,7 @@ LevelLayout::LevelLayout(level_id id, uint32_t _seed, const ProceduralLayout &_l uint32_t solid_count = 0; for (adjacent_iterator ai(*ri); ai; ++ai) - solid_count += feat_is_solid(grd(*ai)); + solid_count += cell_is_solid(*ai); coord_def p = *ri; uint64_t base = hash3(p.x, p.y, seed); int div = base % 2 ? 12 : 11; diff --git a/crawl-ref/source/dgn-shoals.cc b/crawl-ref/source/dgn-shoals.cc index cf38d35270..a83514f39a 100644 --- a/crawl-ref/source/dgn-shoals.cc +++ b/crawl-ref/source/dgn-shoals.cc @@ -591,7 +591,7 @@ static vector<coord_def> _shoals_windshadows(grid_bool &windy) next += wi; const coord_def nextp(_int_coord(next)); - if (in_bounds(nextp) && !windy(nextp) && !feat_is_solid(grd(nextp))) + if (in_bounds(nextp) && !windy(nextp) && !cell_is_solid(nextp)) { windy(nextp) = true; wind_points.push_back(next); diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc index 62e2ab17ab..b18c86e222 100644 --- a/crawl-ref/source/dungeon.cc +++ b/crawl-ref/source/dungeon.cc @@ -2506,7 +2506,7 @@ static void _check_doors() int solid_count = 0; for (orth_adjacent_iterator rai(*ri); rai; ++rai) - if (feat_is_solid(grd(*rai))) + if (cell_is_solid(*rai)) solid_count++; if (solid_count < 2) @@ -3669,7 +3669,7 @@ static void _place_aquatic_monsters_weighted() if (feat_is_water(grd(*ri))) { if (!actor_at(*ri) && !(env.level_map_mask(*ri) & MMT_NO_MONS) - && !feat_is_solid(grd(*ri)) && grd(*ri) != DNGN_OPEN_SEA) + && !cell_is_solid(*ri) && grd(*ri) != DNGN_OPEN_SEA) { water.push_back(*ri); } diff --git a/crawl-ref/source/evoke.cc b/crawl-ref/source/evoke.cc index c61f9eee62..bc8462e361 100644 --- a/crawl-ref/source/evoke.cc +++ b/crawl-ref/source/evoke.cc @@ -904,7 +904,7 @@ static vector<coord_def> _get_jitter_path(coord_def source, coord_def target, { coord_def jitter = clamp_in_bounds(target + coord_def(random_range(-2, 2), random_range(-2, 2))); - if (jitter == target || jitter == source || feat_is_solid(grd(jitter))) + if (jitter == target || jitter == source || cell_is_solid(jitter)) continue; trace_beam.target = jitter; @@ -930,7 +930,7 @@ static vector<coord_def> _get_jitter_path(coord_def source, coord_def target, coord_def jitter = clamp_in_bounds(mid + coord_def(random_range(-3, 3), random_range(-3, 3))); if (jitter == mid || jitter.distance_from(mid) < 2 || jitter == source - || feat_is_solid(grd(jitter)) + || cell_is_solid(jitter) || !cell_see_cell(source, jitter, LOS_NO_TRANS) || !cell_see_cell(target, jitter, LOS_NO_TRANS)) { @@ -1198,7 +1198,7 @@ void wind_blast(actor* agent, int pow, coord_def target) if (wind_beam.path_taken[j] == act_list[i]->pos()) { coord_def newpos = wind_beam.path_taken[j+1]; - if (!actor_at(newpos) && !feat_is_solid(grd(newpos)) + if (!actor_at(newpos) && !cell_is_solid(newpos) && act_list[i]->can_pass_through(newpos) && act_list[i]->is_habitable(newpos)) { @@ -1213,7 +1213,7 @@ void wind_blast(actor* agent, int pow, coord_def target) if (adjacent(*di, act_list[i]->pos()) && di->distance_from(agent->pos()) == newpos.distance_from(agent->pos()) - && !actor_at(*di) && !feat_is_solid(grd(*di)) + && !actor_at(*di) && !cell_is_solid(*di) && act_list[i]->can_pass_through(*di) && act_list[i]->is_habitable(*di)) { @@ -1272,7 +1272,7 @@ void wind_blast(actor* agent, int pow, coord_def target) if (env.cgrid(wind_beam.path_taken[j]) == cloud_list[i]) { coord_def newpos = wind_beam.path_taken[j+1]; - if (!feat_is_solid(grd(newpos)) + if (!cell_is_solid(newpos) && env.cgrid(newpos) == EMPTY_CLOUD) { swap_clouds(newpos, wind_beam.path_taken[j]); @@ -1286,7 +1286,7 @@ void wind_blast(actor* agent, int pow, coord_def target) if (di->distance_from(agent->pos()) == newpos.distance_from(agent->pos()) && *di != agent->pos() // never aimed_at_feet - && !feat_is_solid(grd(*di)) + && !cell_is_solid(*di) && env.cgrid(*di) == EMPTY_CLOUD) { swap_clouds(*di, wind_beam.path_taken[j]); @@ -1336,7 +1336,7 @@ static void _fan_of_gales_elementals() for (radius_iterator ri(you.pos(), radius, C_ROUND, NULL, true); ri; ++ri) { if (ri->distance_from(you.pos()) >= 3 && !monster_at(*ri) - && !feat_is_solid(grd(*ri)) + && !cell_is_solid(*ri) && cell_see_cell(you.pos(), *ri, LOS_NO_TRANS)) { elementals.push_back(*ri); diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index dbee106f68..58f237f313 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -651,7 +651,7 @@ void get_cleave_targets(const actor* attacker, const coord_def& def, int dir, for (int i = 0; i < 3; ++i) { atk_vector = rotate_adjacent(atk_vector, dir); - if (feat_is_solid(grd(atk + atk_vector))) + if (cell_is_solid(atk + atk_vector)) break; actor * target = actor_at(atk + atk_vector); @@ -663,7 +663,7 @@ void get_cleave_targets(const actor* attacker, const coord_def& def, int dir, void get_all_cleave_targets(const actor* attacker, const coord_def& def, list<actor*> &targets) { - if (feat_is_solid(grd(def))) + if (cell_is_solid(def)) return; int dir = coinflip() ? -1 : 1; diff --git a/crawl-ref/source/godabil.cc b/crawl-ref/source/godabil.cc index bb2c95afa5..65107f8e52 100644 --- a/crawl-ref/source/godabil.cc +++ b/crawl-ref/source/godabil.cc @@ -1528,7 +1528,7 @@ bool trog_burn_spellbooks() // If a grid is blocked, books lying there will be ignored. // Allow bombing of monsters. - if (feat_is_solid(grd(*ri)) + if (cell_is_solid(*ri) || cloud != EMPTY_CLOUD && env.cloud[cloud].type != CLOUD_FIRE) { totalblocked++; @@ -2165,7 +2165,7 @@ bool fedhas_sunlight() for (adjacent_iterator ai(base, false); ai; ++ai) { - if (!in_bounds(*ai) || feat_is_solid(grd(*ai))) + if (!in_bounds(*ai) || cell_is_solid(*ai)) continue; for (size_t i = 0; i < env.sunlight.size(); ++i) diff --git a/crawl-ref/source/melee_attack.cc b/crawl-ref/source/melee_attack.cc index 5dcaacf09b..b33b2a2bca 100644 --- a/crawl-ref/source/melee_attack.cc +++ b/crawl-ref/source/melee_attack.cc @@ -5397,7 +5397,7 @@ bool melee_attack::do_knockback(bool trample) // stopped by solid features. Allies are passed through without harm. void melee_attack::cleave_setup() { - if (feat_is_solid(grd(defender->pos()))) + if (cell_is_solid(defender->pos())) return; // Don't cleave on a self-attack. diff --git a/crawl-ref/source/mon-abil.cc b/crawl-ref/source/mon-abil.cc index da54ccd40f..51f188b911 100644 --- a/crawl-ref/source/mon-abil.cc +++ b/crawl-ref/source/mon-abil.cc @@ -3388,7 +3388,7 @@ bool mon_special_ability(monster* mons, bolt & beem) if (mons_aligned(mons, *targ) || distance2(mons->pos(), targ->pos()) > 4) continue; - if (!feat_is_solid(grd(targ->pos()))) + if (!cell_is_solid(targ->pos())) { mons->suicide(); used = true; diff --git a/crawl-ref/source/mon-act.cc b/crawl-ref/source/mon-act.cc index 4cc975d764..73f3d39347 100644 --- a/crawl-ref/source/mon-act.cc +++ b/crawl-ref/source/mon-act.cc @@ -476,7 +476,7 @@ static void _tweak_wall_mmov(const monster* mons, bool move_trees = false) // If we're already moving into a shielded spot, don't adjust move // (this leads to zig-zagging) - if (feat_is_solid(grd(mons->pos() + mmov))) + if (cell_is_solid(mons->pos() + mmov)) return; int dir = _compass_idx(mmov); @@ -489,7 +489,7 @@ static void _tweak_wall_mmov(const monster* mons, bool move_trees = false) int range = 1; if (mons->target == mons->pos() + mmov) { - if (feat_is_solid(grd(mons->pos()))) + if (cell_is_solid(mons->pos())) return; else { @@ -2405,7 +2405,7 @@ static void _post_monster_move(monster* mons) cloud_type ctype = CLOUD_FIRE; for (adjacent_iterator ai(mons->pos()); ai; ++ai) - if (!feat_is_solid(grd(*ai)) + if (!cell_is_solid(*ai) && (env.cgrid(*ai) == EMPTY_CLOUD || env.cloud[env.cgrid(*ai)].type == ctype)) { diff --git a/crawl-ref/source/mon-behv.cc b/crawl-ref/source/mon-behv.cc index 10c2239536..4fd734d823 100644 --- a/crawl-ref/source/mon-behv.cc +++ b/crawl-ref/source/mon-behv.cc @@ -240,7 +240,7 @@ static void _set_curse_skull_lurk_pos(monster* mon) vector<coord_def> spots; for (adjacent_iterator ai(you.pos()); ai; ++ai) { - if (!feat_is_solid(grd(*ai)) || feat_is_door(grd(*ai))) + if (!cell_is_solid(*ai) || feat_is_door(grd(*ai))) spots.push_back(*ai); } diff --git a/crawl-ref/source/mon-cast.cc b/crawl-ref/source/mon-cast.cc index d2e657d756..e36c78bb02 100644 --- a/crawl-ref/source/mon-cast.cc +++ b/crawl-ref/source/mon-cast.cc @@ -2239,7 +2239,7 @@ static bool _wall_of_brambles(monster* mons) { if (di.radius() == rad || di.radius() == rad - 1) { - if (!actor_at(*di) && !feat_is_solid(grd(*di))) + if (!actor_at(*di) && !cell_is_solid(*di)) { if (defensive && _angle_between(targ_pos, aim_pos, *di) <= PI/4.0 || (!defensive diff --git a/crawl-ref/source/mon-stuff.cc b/crawl-ref/source/mon-stuff.cc index addf871089..8e10806079 100644 --- a/crawl-ref/source/mon-stuff.cc +++ b/crawl-ref/source/mon-stuff.cc @@ -366,7 +366,7 @@ bool explode_corpse(item_def& corpse, const coord_def& where) dprf("Cell is visible..."); - if (feat_is_solid(grd(cp)) || actor_at(cp)) + if (cell_is_solid(cp) || actor_at(cp)) continue; --nchunks; @@ -1227,7 +1227,7 @@ static bool _explode_monster(monster* mons, killer_type killer, else if (mons->has_ench(ENCH_INNER_FLAME)) { for (adjacent_iterator ai(mons->pos(), false); ai; ++ai) - if (!feat_is_solid(grd(*ai)) && env.cgrid(*ai) == EMPTY_CLOUD + if (!cell_is_solid(*ai) && env.cgrid(*ai) == EMPTY_CLOUD && !one_chance_in(5)) { place_cloud(CLOUD_FIRE, *ai, 10 + random2(10), agent); diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc index ce4766e730..83110f6f6e 100644 --- a/crawl-ref/source/monster.cc +++ b/crawl-ref/source/monster.cc @@ -3074,7 +3074,7 @@ void monster::banish(actor *agent, const string &) if (!cell_is_solid(old_pos)) place_cloud(CLOUD_TLOC_ENERGY, old_pos, 5 + random2(8), 0); for (adjacent_iterator ai(old_pos); ai; ++ai) - if (!feat_is_solid(grd(*ai)) && env.cgrid(*ai) == EMPTY_CLOUD + if (!cell_is_solid(*ai) && env.cgrid(*ai) == EMPTY_CLOUD && coinflip()) { place_cloud(CLOUD_TLOC_ENERGY, *ai, 1 + random2(8), 0); diff --git a/crawl-ref/source/spl-clouds.cc b/crawl-ref/source/spl-clouds.cc index 95a2ef598f..d6c9f31207 100644 --- a/crawl-ref/source/spl-clouds.cc +++ b/crawl-ref/source/spl-clouds.cc @@ -290,7 +290,7 @@ void manage_fire_shield(int delay) // Place fire clouds all around you for (adjacent_iterator ai(you.pos()); ai; ++ai) - if (!feat_is_solid(grd(*ai)) && env.cgrid(*ai) == EMPTY_CLOUD) + if (!cell_is_solid(*ai) && env.cgrid(*ai) == EMPTY_CLOUD) place_cloud(CLOUD_FIRE, *ai, 1 + random2(6), &you); } @@ -357,7 +357,7 @@ int holy_flames(monster* caster, actor* defender) { if (!in_bounds(*ai) || env.cgrid(*ai) != EMPTY_CLOUD - || feat_is_solid(grd(*ai)) + || cell_is_solid(*ai) || is_sanctuary(*ai) || monster_at(*ai)) { @@ -383,7 +383,7 @@ struct dist2_sorter static bool _safe_cloud_spot(const monster* mon, coord_def p) { - if (feat_is_solid(grd(p)) || env.cgrid(p) != EMPTY_CLOUD) + if (cell_is_solid(p) || env.cgrid(p) != EMPTY_CLOUD) return false; if (actor_at(p) && mons_aligned(mon, actor_at(p))) diff --git a/crawl-ref/source/spl-goditem.cc b/crawl-ref/source/spl-goditem.cc index 8c8933761e..dfcf5f2214 100644 --- a/crawl-ref/source/spl-goditem.cc +++ b/crawl-ref/source/spl-goditem.cc @@ -840,7 +840,7 @@ static bool _do_imprison(int pow, const coord_def& where, bool zin) proceed = false; for (unsigned int i = 0; i < ARRAYSZ(safe_tiles) && !proceed; ++i) { - if (feat_is_solid(grd(*ai)) && !feat_is_opaque(grd(*ai))) + if (cell_is_solid(*ai) && !feat_is_opaque(grd(*ai))) { success = false; none_vis = false; @@ -883,7 +883,7 @@ static bool _do_imprison(int pow, const coord_def& where, bool zin) if (grd(*ai) == safe_tiles[i] || feat_is_trap(grd(*ai), true)) proceed = true; } - else if (zin && !feat_is_solid(grd(*ai))) + else if (zin && !cell_is_solid(*ai)) proceed = true; if (proceed) diff --git a/crawl-ref/source/spl-other.cc b/crawl-ref/source/spl-other.cc index 6a08118c5a..12e6d0e62f 100644 --- a/crawl-ref/source/spl-other.cc +++ b/crawl-ref/source/spl-other.cc @@ -383,7 +383,7 @@ spret_type cast_passwall(const coord_def& delta, int pow, bool fail) // player, so we don't make the spell abort (return true). if (!in_bounds(dest)) mpr("You sense an overwhelming volume of rock."); - else if (feat_is_solid(grd(dest))) + else if (cell_is_solid(dest)) mpr("Something is blocking your path through the rock."); else if (walls > maxrange) mpr("This rock feels extremely deep."); diff --git a/crawl-ref/source/spl-summoning.cc b/crawl-ref/source/spl-summoning.cc index 03f40c16a1..68aa3f2af4 100644 --- a/crawl-ref/source/spl-summoning.cc +++ b/crawl-ref/source/spl-summoning.cc @@ -2792,7 +2792,7 @@ bool fire_battlesphere(monster* mons) for (distance_iterator di(mons->pos(), true, true, 2); di; ++di) { if (*di == beam.target || actor_at(*di) - || feat_is_solid(grd(*di)) + || cell_is_solid(*di) || !agent->see_cell(*di)) { continue; diff --git a/crawl-ref/source/spl-transloc.cc b/crawl-ref/source/spl-transloc.cc index 40e35831ff..6b50899d27 100644 --- a/crawl-ref/source/spl-transloc.cc +++ b/crawl-ref/source/spl-transloc.cc @@ -264,10 +264,10 @@ int blink(int pow, bool high_level_controlled_blink, bool wizard_blink, // Allow wizard blink to send player into walls, in case the // user wants to alter that grid to something else. - if (wizard_blink && feat_is_solid(grd(beam.target))) + if (wizard_blink && cell_is_solid(beam.target)) grd(beam.target) = DNGN_FLOOR; - if (feat_is_solid(grd(beam.target)) || monster_at(beam.target)) + if (cell_is_solid(beam.target) || monster_at(beam.target)) { mpr("Oops! Maybe something was there already."); random_blink(false); diff --git a/crawl-ref/source/target.cc b/crawl-ref/source/target.cc index 3fbb793251..085272df23 100644 --- a/crawl-ref/source/target.cc +++ b/crawl-ref/source/target.cc @@ -191,11 +191,11 @@ aff_type targetter_beam::is_affected(coord_def loc) if (max_expl_rad > 0 && (loc - c).rdist() <= 9) { maybe_bool aff_wall = beam.affects_wall(grd(loc)); - if (!feat_is_solid(grd(loc)) || aff_wall != MB_FALSE) + if (!cell_is_solid(loc) || aff_wall != MB_FALSE) { coord_def centre(9,9); if (exp_map_min(loc - c + centre) < INT_MAX) - return (!feat_is_solid(grd(loc)) || aff_wall == MB_TRUE) + return (!cell_is_solid(loc) || aff_wall == MB_TRUE) ? AFF_YES : AFF_MAYBE; if (exp_map_max(loc - c + centre) < INT_MAX) return AFF_MAYBE; @@ -326,7 +326,7 @@ bool targetter_smite::valid_aim(coord_def a) } if ((origin - a).abs() > range2) return notify_fail("Out of range."); - if (!affects_walls && feat_is_solid(grd(a))) + if (!affects_walls && cell_is_solid(a)) return notify_fail(_wallmsg(a)); return true; } @@ -520,7 +520,7 @@ targetter_cloud::targetter_cloud(const actor* act, int range, static bool _cloudable(coord_def loc) { return in_bounds(loc) - && !feat_is_solid(grd(loc)) + && !cell_is_solid(loc) && env.cgrid(loc) == EMPTY_CLOUD; } @@ -538,7 +538,7 @@ bool targetter_cloud::valid_aim(coord_def a) return notify_fail("There's something in the way."); return notify_fail("You cannot see that place."); } - if (feat_is_solid(grd(a))) + if (cell_is_solid(a)) return notify_fail(_wallmsg(a)); if (agent) { @@ -907,7 +907,7 @@ bool targetter_jump::valid_aim(coord_def a) else return notify_fail("You cannot see that place."); } - else if (feat_is_solid(grd(a))) + else if (cell_is_solid(a)) return notify_fail("There's something in the way."); else if (!find_ray(agent->pos(), a, ray, opc_solid_see)) return notify_fail("There's something in the way."); diff --git a/crawl-ref/source/traps.cc b/crawl-ref/source/traps.cc index f1ecdbc30d..9ac421cfd2 100644 --- a/crawl-ref/source/traps.cc +++ b/crawl-ref/source/traps.cc @@ -1939,7 +1939,7 @@ void place_webs(int num, bool is_second_phase) { // Solid wall? float solid_weight = 0; - if (feat_is_solid(grd(*ai))) + if (cell_is_solid(*ai)) solid_weight = 1; // During play, adjacent webs also count slightly else if (is_second_phase diff --git a/crawl-ref/source/xom.cc b/crawl-ref/source/xom.cc index 2654a3f553..43712288a4 100644 --- a/crawl-ref/source/xom.cc +++ b/crawl-ref/source/xom.cc @@ -409,7 +409,7 @@ static int _exploration_estimate(bool seen_only = false, bool debug = false) } bool open = true; - if (feat_is_solid(grd(pos)) && !feat_is_closed_door(grd(pos))) + if (cell_is_solid(pos) && !feat_is_closed_door(grd(pos))) { open = false; for (adjacent_iterator ai(pos); ai; ++ai) |