* @param o_ptr オブジェクト構造体の参照ポインタ
* @param brand_list 属性ブランド構造体の参照ポインタ
*/
-static void analyze_brand(ItemEntity *o_ptr, concptr *brand_list)
+static std::vector<std::string> analyze_brand(ItemEntity *o_ptr)
{
auto flags = object_flags(o_ptr);
- brand_list = spoiler_flag_aux(flags, brand_flags_desc, brand_list, N_ELEMENTS(brand_flags_desc));
- *brand_list = nullptr;
+ return extract_spoiler_flags(flags, brand_flags_desc);
}
/*!
{
angband_strcpy(desc_ptr->description, analyze_general(player_ptr, o_ptr), MAX_NLEN);
desc_ptr->pval_info.analyze(*o_ptr);
- analyze_brand(o_ptr, desc_ptr->brands);
+ desc_ptr->brands = analyze_brand(o_ptr);
desc_ptr->slays = analyze_slay(o_ptr);
analyze_immune(o_ptr, desc_ptr->immunities);
analyze_resist(o_ptr, desc_ptr->resistances);
{
angband_strcpy(desc_ptr->description, analyze_general(player_ptr, o_ptr), MAX_NLEN);
desc_ptr->pval_info.analyze(*o_ptr);
- analyze_brand(o_ptr, desc_ptr->brands);
+ desc_ptr->brands = analyze_brand(o_ptr);
desc_ptr->slays = analyze_slay(o_ptr);
analyze_immune(o_ptr, desc_ptr->immunities);
analyze_resist(o_ptr, desc_ptr->resistances);
};
/* Elemental brands for weapons */
-flag_desc brand_flags_desc[MAX_BRAND_FLAGS_DESCRIPTION] = {
+const std::vector<flag_desc> brand_flags_desc = {
{ TR_BRAND_ACID, _("溶解", "Acid Brand") },
{ TR_BRAND_ELEC, _("電撃", "Lightning Brand") },
{ TR_BRAND_FIRE, _("焼棄", "Flame Tongue") },
#include "system/angband.h"
#include <vector>
-#define MAX_BRAND_FLAGS_DESCRIPTION 12
#define MAX_RESISTANCE_FLAGS_DESCRIPTION 19
#define MAX_VULNERABLE_FLAGS_DESCRIPTION 6
#define MAX_IMMUNITY_FLAGS_DESCRIPTION 4
extern const std::vector<flag_desc> stat_flags_desc;
extern const std::vector<flag_desc> pval_flags1_desc;
extern const std::vector<flag_desc> slay_flags_desc;
-extern flag_desc brand_flags_desc[MAX_BRAND_FLAGS_DESCRIPTION];
+extern const std::vector<flag_desc> brand_flags_desc;
extern const flag_desc resist_flags_desc[MAX_RESISTANCE_FLAGS_DESCRIPTION];
extern const flag_desc vulnerable_flags_desc[MAX_VULNERABLE_FLAGS_DESCRIPTION];
extern const flag_desc immune_flags_desc[MAX_IMMUNITY_FLAGS_DESCRIPTION];
char description[MAX_NLEN]{}; /* "The Longsword Dragonsmiter (6d4) (+20, +25)" */
ParameterValueInfo pval_info{}; /* Description of what is affected by an object's pval */
std::vector<std::string> slays{}; /* A list of an object's slaying preferences */
- concptr brands[N_ELEMENTS(brand_flags_desc) + 1]{}; /* A list if an object's elemental brands */
+ 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 */
concptr resistances[N_ELEMENTS(resist_flags_desc) + 1]{}; /* A list of resistances granted by an object */
concptr vulnerables[N_ELEMENTS(vulnerable_flags_desc) + 1]{}; /* A list of resistances granted by an object */