OSDN Git Service

[Refactor] #2640 get_color() とget_symbol() を整形した
authorHourier <66951241+Hourier@users.noreply.github.com>
Fri, 16 Sep 2022 11:39:15 +0000 (20:39 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Fri, 16 Sep 2022 11:39:15 +0000 (20:39 +0900)
src/system/object-type-definition.cpp

index b6a8341..e30ab3b 100644 (file)
@@ -655,10 +655,12 @@ bool ObjectType::can_pile(const ObjectType *j_ptr) const
  */
 TERM_COLOR ObjectType::get_color() const
 {
-    return ((k_info[this->k_idx].flavor)
-                ? (k_info[k_info[this->k_idx].flavor].x_attr)
-                : ((!this->k_idx || (this->tval != ItemKindType::CORPSE) || (this->sval != SV_CORPSE) || (k_info[this->k_idx].x_attr != TERM_DARK))
-                          ? (k_info[this->k_idx].x_attr)
+    const auto &base_item = k_info[this->k_idx];
+    const auto flavor = base_item.flavor;
+    return ((flavor != 0)
+                ? (k_info[flavor].x_attr)
+                : ((!this->k_idx || (this->tval != ItemKindType::CORPSE) || (this->sval != SV_CORPSE) || (base_item.x_attr != TERM_DARK))
+                          ? (base_item.x_attr)
                           : (r_info[i2enum<MonsterRaceId>(this->pval)].x_attr)));
 }
 
@@ -669,5 +671,7 @@ TERM_COLOR ObjectType::get_color() const
  */
 char ObjectType::get_symbol() const
 {
-    return k_info[this->k_idx].flavor ? k_info[k_info[this->k_idx].flavor].x_char : k_info[this->k_idx].x_char;
+    const auto &base_item = k_info[this->k_idx];
+    const auto flavor = base_item.flavor;
+    return flavor ? k_info[flavor].x_char : base_item.x_char;
 }