OSDN Git Service

[Refactor] #921 Reversed if-condition in calc_run_cost()
authorHourier <grapefox.whitelucifer.0408@gmail.com>
Mon, 2 Aug 2021 14:13:06 +0000 (23:13 +0900)
committerHourier <grapefox.whitelucifer.0408@gmail.com>
Sun, 8 Aug 2021 06:00:09 +0000 (15:00 +0900)
src/monster-floor/monster-sweep-grid.cpp

index efa2929..c9c8c22 100644 (file)
@@ -360,8 +360,9 @@ bool MonsterSweepGrid::calc_run_cost(const POSITION y, const POSITION x, const i
 {
     auto *floor_ptr = this->target_ptr->current_floor_ptr;
     auto *r_ptr = &r_info[floor_ptr->m_list[this->m_idx].r_idx];
-    if (!((any_bits(r_ptr->flags2, RF2_PASS_WALL) && ((this->m_idx != this->target_ptr->riding) || has_pass_wall(this->target_ptr)))
-            || (any_bits(r_ptr->flags2, RF2_KILL_WALL) && (this->m_idx != this->target_ptr->riding)))) {
+    auto is_riding = this->m_idx == this->target_ptr->riding;
+    if ((none_bits(r_ptr->flags2, RF2_PASS_WALL) || (is_riding && !has_pass_wall(this->target_ptr)))
+            && (none_bits(r_ptr->flags2, RF2_KILL_WALL) || is_riding)) {
         if (this->cost == 0) {
             return false;
         }