* @param o_ptr オブジェクト構造体の参照ポインタ
* @param slay_list 種族スレイ構造体の参照ポインタ
*/
-static void analyze_slay(ItemEntity *o_ptr, concptr *slay_list)
+static std::vector<std::string> analyze_slay(ItemEntity *o_ptr)
{
auto flags = object_flags(o_ptr);
- slay_list = spoiler_flag_aux(flags, slay_flags_desc, slay_list, N_ELEMENTS(slay_flags_desc));
- *slay_list = nullptr;
+ return extract_spoiler_flags(flags, slay_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);
- analyze_slay(o_ptr, desc_ptr->slays);
+ desc_ptr->slays = analyze_slay(o_ptr);
analyze_immune(o_ptr, desc_ptr->immunities);
analyze_resist(o_ptr, desc_ptr->resistances);
analyze_vulnerable(o_ptr, desc_ptr->vulnerables);
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);
- analyze_slay(o_ptr, desc_ptr->slays);
+ desc_ptr->slays = analyze_slay(o_ptr);
analyze_immune(o_ptr, desc_ptr->immunities);
analyze_resist(o_ptr, desc_ptr->resistances);
analyze_vulnerable(o_ptr, desc_ptr->vulnerables);
{ TR_SEARCH, _("探索", "Searching") }, { TR_INFRA, _("赤外線視力", "Infravision") }, { TR_TUNNEL, _("採掘", "Tunneling") },
{ TR_BLOWS, _("攻撃回数", "Attacks") }, { TR_SPEED, _("スピード", "Speed") } };
-flag_desc slay_flags_desc[MAX_SLAY_FLAGS_DESCRIPTION] = {
+const std::vector<flag_desc> slay_flags_desc = {
{ TR_SLAY_ANIMAL, _("動物", "Animal") },
{ TR_KILL_ANIMAL, _("*動物*", "XAnimal") },
{ TR_SLAY_EVIL, _("邪悪", "Evil") },
#include "object-enchant/tr-types.h"
#include "object/tval-types.h"
#include "system/angband.h"
-
#include <vector>
-#define MAX_SLAY_FLAGS_DESCRIPTION 20
#define MAX_BRAND_FLAGS_DESCRIPTION 12
#define MAX_RESISTANCE_FLAGS_DESCRIPTION 19
#define MAX_VULNERABLE_FLAGS_DESCRIPTION 6
extern const std::vector<grouper> group_artifact_list;
extern const std::vector<flag_desc> stat_flags_desc;
extern const std::vector<flag_desc> pval_flags1_desc;
-extern flag_desc slay_flags_desc[MAX_SLAY_FLAGS_DESCRIPTION];
+extern const std::vector<flag_desc> slay_flags_desc;
extern flag_desc brand_flags_desc[MAX_BRAND_FLAGS_DESCRIPTION];
extern const flag_desc resist_flags_desc[MAX_RESISTANCE_FLAGS_DESCRIPTION];
extern const flag_desc vulnerable_flags_desc[MAX_VULNERABLE_FLAGS_DESCRIPTION];
struct obj_desc_list {
char description[MAX_NLEN]{}; /* "The Longsword Dragonsmiter (6d4) (+20, +25)" */
ParameterValueInfo pval_info{}; /* Description of what is affected by an object's pval */
- concptr slays[N_ELEMENTS(slay_flags_desc) + 1]{}; /* A list of an object's slaying preferences */
+ 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 */
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 */