OSDN Git Service

[Refactor] ボール系魔法のコピペを低減
[hengbandforosx/hengbandosx.git] / src / flavor / flavor-util.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include "system/system-variables.h"
5
6 #include "object-enchant/tr-flags.h"
7
8 struct object_kind;
9 class ObjectType;
10 struct flavor_type {
11     char *buf;
12     ObjectType *o_ptr;
13     BIT_FLAGS mode;
14     concptr kindname;
15     concptr basenm;
16     concptr modstr;
17     int power;
18     int fire_rate;
19     bool aware;
20     bool known; // 鑑定 or *鑑定* 済.
21     bool flavor;
22     bool show_weapon;
23     bool show_armour;
24     concptr s;
25     concptr s0;
26     char *t;
27     char p1; // const.
28     char p2; // const.
29     char b1; // const.
30     char b2; // const.
31     char c1; // const.
32     char c2; // const.
33     char tmp_val[MAX_NLEN + 160];
34     char tmp_val2[MAX_NLEN + 10];
35     char fake_insc_buf[30];
36     TrFlags tr_flags;
37     ObjectType *bow_ptr;
38     object_kind *k_ptr;
39     object_kind *flavor_k_ptr;
40     int avgdam;
41 };
42
43 class PlayerType;
44 flavor_type *initialize_flavor_type(flavor_type *flavor_ptr, char *buf, ObjectType *o_ptr, BIT_FLAGS mode);
45 char *object_desc_chr(char *t, char c);
46 char *object_desc_str(char *t, concptr s);
47 char *object_desc_num(char *t, uint n);
48 char *object_desc_int(char *t, int v);
49 char *get_ability_abbreviation(char *ptr, ObjectType *o_ptr, bool kanji, bool all);
50 void get_inscription(char *buff, ObjectType *o_ptr);
51 bool has_lite_flag(const TrFlags &flags);
52 bool has_dark_flag(const TrFlags &flags);
53
54 #ifdef JP
55 char *object_desc_count_japanese(char *t, ObjectType *o_ptr);
56 #endif