OSDN Git Service

[Refactor] #3541 obj_desc_list::vulnerables の型をconcptr[] からvector<string> に変え、名前もvuln...
authorHourier <66951241+Hourier@users.noreply.github.com>
Tue, 11 Jul 2023 13:41:18 +0000 (22:41 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Fri, 14 Jul 2023 12:56:13 +0000 (21:56 +0900)
src/wizard/artifact-analyzer.cpp
src/wizard/fixed-artifacts-spoiler.cpp
src/wizard/spoiler-table.cpp
src/wizard/spoiler-table.h
src/wizard/spoiler-util.h

index 0c9ad8f..bbd6cdb 100644 (file)
@@ -112,11 +112,10 @@ static void analyze_immune(ItemEntity *o_ptr, concptr *immune_list)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param immune_list 弱点構造体の参照ポインタ
  */
-static void analyze_vulnerable(ItemEntity *o_ptr, concptr *vulnerable_list)
+static std::vector<std::string> analyze_vulnerable(ItemEntity *o_ptr)
 {
     auto flags = object_flags(o_ptr);
-    vulnerable_list = spoiler_flag_aux(flags, vulnerable_flags_desc, vulnerable_list, N_ELEMENTS(vulnerable_flags_desc));
-    *vulnerable_list = nullptr;
+    return extract_spoiler_flags(flags, vulnerable_flags_desc);
 }
 
 /*!
@@ -287,7 +286,7 @@ void object_analyze(PlayerType *player_ptr, ItemEntity *o_ptr, obj_desc_list *de
     desc_ptr->slays = analyze_slay(o_ptr);
     analyze_immune(o_ptr, desc_ptr->immunities);
     desc_ptr->resistances = analyze_resist(o_ptr);
-    analyze_vulnerable(o_ptr, desc_ptr->vulnerables);
+    desc_ptr->vulnerabilities = analyze_vulnerable(o_ptr);
     analyze_sustains(o_ptr, desc_ptr->sustains);
     desc_ptr->misc_magic = analyze_misc_magic(o_ptr);
     analyze_addition(o_ptr, desc_ptr->addition, sizeof(desc_ptr->addition));
@@ -309,7 +308,7 @@ void random_artifact_analyze(PlayerType *player_ptr, ItemEntity *o_ptr, obj_desc
     desc_ptr->slays = analyze_slay(o_ptr);
     analyze_immune(o_ptr, desc_ptr->immunities);
     desc_ptr->resistances = analyze_resist(o_ptr);
-    analyze_vulnerable(o_ptr, desc_ptr->vulnerables);
+    desc_ptr->vulnerabilities = analyze_vulnerable(o_ptr);
     analyze_sustains(o_ptr, desc_ptr->sustains);
     desc_ptr->misc_magic = analyze_misc_magic(o_ptr);
     desc_ptr->activation = activation_explanation(o_ptr);
index f4223e3..a5c6f6a 100644 (file)
@@ -156,7 +156,7 @@ static void spoiler_print_art(obj_desc_list *art_ptr)
     spoiler_outlist(_("武器属性:", ""), art_ptr->brands, list_separator);
     spoiler_outlist(_("免疫:", "Immunity to"), art_ptr->immunities, item_separator);
     spoiler_outlist(_("耐性:", "Resist"), art_ptr->resistances, item_separator);
-    spoiler_outlist(_("弱点:", "Vulnerable"), art_ptr->vulnerables, item_separator);
+    spoiler_outlist(_("弱点:", "Vulnerable"), art_ptr->vulnerabilities, item_separator);
     spoiler_outlist(_("維持:", "Sustain"), art_ptr->sustains, item_separator);
     spoiler_outlist("", art_ptr->misc_magic, list_separator);
 
index 8c11243..81b9274 100644 (file)
@@ -136,7 +136,7 @@ const std::vector<flag_desc> resist_flags_desc = {
     { TR_RES_CURSE, _("呪力", "Curse") },
 };
 
-const flag_desc vulnerable_flags_desc[MAX_VULNERABLE_FLAGS_DESCRIPTION] = {
+const std::vector<flag_desc> vulnerable_flags_desc = {
     { TR_VUL_ACID, _("酸", "Acid") },
     { TR_VUL_ELEC, _("電撃", "Lightning") },
     { TR_VUL_FIRE, _("火炎", "Fire") },
index 9effeac..eb65ea6 100644 (file)
@@ -5,7 +5,6 @@
 #include "system/angband.h"
 #include <vector>
 
-#define MAX_VULNERABLE_FLAGS_DESCRIPTION 6
 #define MAX_IMMUNITY_FLAGS_DESCRIPTION 4
 #define MAX_SUSTAINER_FLAGS_DESCRIPTION 6
 
@@ -33,7 +32,7 @@ extern const std::vector<flag_desc> pval_flags1_desc;
 extern const std::vector<flag_desc> slay_flags_desc;
 extern const std::vector<flag_desc> brand_flags_desc;
 extern const std::vector<flag_desc> resist_flags_desc;
-extern const flag_desc vulnerable_flags_desc[MAX_VULNERABLE_FLAGS_DESCRIPTION];
+extern const std::vector<flag_desc> vulnerable_flags_desc;
 extern const flag_desc immune_flags_desc[MAX_IMMUNITY_FLAGS_DESCRIPTION];
 extern const flag_desc sustain_flags_desc[MAX_SUSTAINER_FLAGS_DESCRIPTION];
 extern const std::vector<flag_desc> misc_flags2_desc;
index d6aadff..f3166d7 100644 (file)
@@ -40,7 +40,7 @@ struct obj_desc_list {
     std::vector<std::string> brands{}; /* A list if an object's elemental brands */
     concptr immunities[N_ELEMENTS(immune_flags_desc) + 1]{}; /* A list of immunities granted by an object */
     std::vector<std::string> resistances{}; /* A list of resistances granted by an object */
-    concptr vulnerables[N_ELEMENTS(vulnerable_flags_desc) + 1]{}; /* A list of resistances granted by an object */
+    std::vector<std::string> vulnerabilities{}; /* A list of resistances granted by an object */
     concptr sustains[N_ELEMENTS(sustain_flags_desc) - 1 + 1]{}; /* A list of stats sustained by an object */
     std::vector<std::string> misc_magic{}; // その他の特性 (呪い、光源範囲等)