OSDN Git Service

[Refactor] #40534 Separated describe_charges_staff_wand() from describe_flavor()
authorHourier <hourier@users.sourceforge.jp>
Thu, 9 Jul 2020 13:42:26 +0000 (22:42 +0900)
committerHourier <hourier@users.sourceforge.jp>
Thu, 9 Jul 2020 13:42:50 +0000 (22:42 +0900)
src/flavor/flavor-describer.c

index f22c98c..08decc2 100644 (file)
@@ -310,6 +310,26 @@ static void describe_ac(flavor_type *flavor_ptr)
     flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->b2);
 }
 
+static void describe_charges_staff_wand(flavor_type *flavor_ptr)
+{
+    flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');
+    flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p1);
+    if ((flavor_ptr->o_ptr->tval == TV_STAFF) && (flavor_ptr->o_ptr->number > 1)) {
+        flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->o_ptr->number);
+        flavor_ptr->t = object_desc_str(flavor_ptr->t, "x ");
+    }
+
+    flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->o_ptr->pval);
+    flavor_ptr->t = object_desc_str(flavor_ptr->t, _("回分", " charge"));
+#ifdef JP
+#else
+    if (flavor_ptr->o_ptr->pval != 1)
+        flavor_ptr->t = object_desc_chr(flavor_ptr->t, 's');
+#endif
+
+    flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p2);
+}
+
 /*!
  * @brief オブジェクトの各表記を返すメイン関数 / Creates a description of the item "o_ptr", and stores it in "out_val".
  * @param player_ptr プレーヤーへの参照ポインタ
@@ -345,24 +365,9 @@ void describe_flavor(player_type *player_ptr, char *buf, object_type *o_ptr, BIT
     }
 
     if (flavor_ptr->known) {
-        if (((flavor_ptr->o_ptr->tval == TV_STAFF) || (flavor_ptr->o_ptr->tval == TV_WAND))) {
-            flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');
-            flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p1);
-            if ((flavor_ptr->o_ptr->tval == TV_STAFF) && (flavor_ptr->o_ptr->number > 1)) {
-                flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->o_ptr->number);
-                flavor_ptr->t = object_desc_str(flavor_ptr->t, "x ");
-            }
-
-            flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->o_ptr->pval);
-            flavor_ptr->t = object_desc_str(flavor_ptr->t, _("回分", " charge"));
-#ifdef JP
-#else
-            if (flavor_ptr->o_ptr->pval != 1)
-                flavor_ptr->t = object_desc_chr(flavor_ptr->t, 's');
-#endif
-
-            flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p2);
-        } else if (flavor_ptr->o_ptr->tval == TV_ROD) {
+        if (((flavor_ptr->o_ptr->tval == TV_STAFF) || (flavor_ptr->o_ptr->tval == TV_WAND)))
+            describe_charges_staff_wand(flavor_ptr);
+        else if (flavor_ptr->o_ptr->tval == TV_ROD) {
             if (flavor_ptr->o_ptr->timeout) {
                 if (flavor_ptr->o_ptr->number > 1) {
                     if (flavor_ptr->k_ptr->pval == 0)