OSDN Git Service

[Refactor] #2205 Separated enchant_chest() from OtherItemsEnchanter::apply_magic()
authorHourier <66951241+Hourier@users.noreply.github.com>
Tue, 22 Feb 2022 13:28:17 +0000 (22:28 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Wed, 23 Feb 2022 02:55:12 +0000 (11:55 +0900)
src/object-enchant/others/apply-magic-others.cpp
src/object-enchant/others/apply-magic-others.h

index 4165c98..f1ba759 100644 (file)
@@ -71,21 +71,9 @@ void OtherItemsEnchanter::apply_magic()
     case ItemKindType::STATUE:
         this->enchant_statue();
         break;
-    case ItemKindType::CHEST: {
-        DEPTH obj_level = k_info[this->o_ptr->k_idx].level;
-        if (obj_level <= 0)
-            break;
-
-        this->o_ptr->pval = randint1(obj_level);
-        if (this->o_ptr->sval == SV_CHEST_KANDUME)
-            this->o_ptr->pval = 6;
-
-        this->o_ptr->chest_level = this->player_ptr->current_floor_ptr->dun_level + 5;
-        if (this->o_ptr->pval > 55)
-            this->o_ptr->pval = 55 + (byte)randint0(5);
-
+    case ItemKindType::CHEST:
+        this->enchant_chest();
         break;
-    }
     default:
         break;
     }
@@ -178,3 +166,21 @@ void OtherItemsEnchanter::enchant_statue()
     object_aware(this->player_ptr, this->o_ptr);
     object_known(this->o_ptr);
 }
+
+void OtherItemsEnchanter::enchant_chest()
+{
+    auto obj_level = k_info[this->o_ptr->k_idx].level;
+    if (obj_level <= 0) {
+        return;
+    }
+
+    this->o_ptr->pval = randint1(obj_level);
+    if (this->o_ptr->sval == SV_CHEST_KANDUME) {
+        this->o_ptr->pval = 6;
+    }
+
+    this->o_ptr->chest_level = this->player_ptr->current_floor_ptr->dun_level + 5;
+    if (this->o_ptr->pval > 55) {
+        this->o_ptr->pval = 55 + randint0(5);
+    }
+}
index a4790c5..0e84aa2 100644 (file)
@@ -22,4 +22,5 @@ private:
     void enchant_figurine();
     void enchant_corpse();
     void enchant_statue();
+    void enchant_chest();
 };