Hengband  2.2.1
objectkind.h
[詳解]
1 #pragma once
2 #include "util.h"
3 
4 /*!
5  * @struct object_kind
6  * @brief ベースアイテム情報の構造体 / Information about object "kinds", including player knowledge.
7  * @details
8  * ゲーム進行用のセーブファイル上では aware と tried のみ保存対象とすること。と英文ではあるが実際はもっとある様子である。 /
9  * Only "aware" and "tried" are saved in the savefile
10  */
11 
12 
13  /*
14  * Return the "char" for a given item.
15  * Use "flavor" if available.
16  * Default to user definitions.
17  */
18 #define object_char(T) \
19  ((k_info[(T)->k_idx].flavor) ? \
20  (k_info[k_info[(T)->k_idx].flavor].x_char) : \
21  (k_info[(T)->k_idx].x_char))
22 
23 
24 typedef struct object_kind object_kind;
25 
27 {
28  STR_OFFSET name; /*!< ベースアイテム名参照のためのネームバッファオフセット値 / Name (offset) */
29  STR_OFFSET text; /*!< 解説テキスト参照のためのネームバッファオフセット値 / Text (offset) */
30  STR_OFFSET flavor_name; /*!< 未確定名参照のためのネームバッファオフセット値 / Flavor name (offset) */
31 
32  OBJECT_TYPE_VALUE tval; /*!< ベースアイテム種別の大項目値 Object type */
33  OBJECT_SUBTYPE_VALUE sval; /*!< ベースアイテム種別の小項目値 Object sub type */
34 
35  PARAMETER_VALUE pval; /*!< ベースアイテムのpval(能力修正共通値) Object extra info */
36 
37  HIT_PROB to_h; /*!< ベースアイテムの命中修正値 / Bonus to hit */
38  HIT_POINT to_d; /*!< ベースアイテムのダメージ修正値 / Bonus to damage */
39  ARMOUR_CLASS to_a; /*!< ベースアイテムのAC修正値 / Bonus to armor */
40 
41  ARMOUR_CLASS ac; /*!< ベースアイテムのAC基本値 / Base armor */
42 
44  DICE_SID ds; /*!< ダメージダイスの数と大きさ / Damage dice/sides */
45 
46  WEIGHT weight; /*!< ベースアイテムの重量 / Weight */
47 
48  PRICE cost; /*!< ベースアイテムの基本価値 / Object "base cost" */
49 
50  BIT_FLAGS flags[TR_FLAG_SIZE]; /*!< ベースアイテムの基本特性ビット配列 / Flags */
51 
52  BIT_FLAGS gen_flags; /*!< ベースアイテムの生成特性ビット配列 / flags for generate */
53 
54  DEPTH locale[4]; /*!< ベースアイテムの生成階テーブル / Allocation level(s) */
55  PROB chance[4]; /*!< ベースアイテムの生成確率テーブル / Allocation chance(s) */
56 
57  DEPTH level; /*!< ベースアイテムの基本生成階 / Level */
58  BIT_FLAGS8 extra; /*!< その他色々のビットフラグ配列 / Something */
59 
60  TERM_COLOR d_attr; /*!< デフォルトのアイテムシンボルカラー / Default object attribute */
61  SYMBOL_CODE d_char; /*!< デフォルトのアイテムシンボルアルファベット / Default object character */
62 
63  TERM_COLOR x_attr; /*!< 設定変更後のアイテムシンボルカラー / Desired object attribute */
64  SYMBOL_CODE x_char; /*!< 設定変更後のアイテムシンボルアルファベット / Desired object character */
65 
66  IDX flavor; /*!< 調査中(TODO) / Special object flavor (or zero) */
67 
68  bool easy_know; /*!< ベースアイテムが初期からベース名を判断可能かどうか / This object is always known (if aware) */
69 
70  bool aware; /*!< ベースアイテムが鑑定済かどうか / The player is "aware" of the item's effects */
71 
72  bool tried; /*!< ベースアイテムを未鑑定のまま試したことがあるか / The player has "tried" one of the items */
73 
74  ACTIVATION_IDX act_idx; /*!< 発動能力のID / Activative ability index */
75 };
76 
77 extern object_kind *k_info;
78 extern char *k_name;
79 extern char *k_text;
81 
82 extern s16b alloc_kind_size;
alloc_entry * alloc_kind_table
Definition: objectkind.c:25
char * k_text
Definition: objectkind.c:10
SYMBOL_CODE d_char
デフォルトのアイテムシンボルアルファベット / Default object character
Definition: objectkind.h:61
char * k_name
Definition: objectkind.c:9
TERM_COLOR x_attr
設定変更後のアイテムシンボルカラー / Desired object attribute
Definition: objectkind.h:63
STR_OFFSET flavor_name
未確定名参照のためのネームバッファオフセット値 / Flavor name (offset)
Definition: objectkind.h:30
ベースアイテム情報の構造体 / Information about object "kinds", including player knowledge.
Definition: objectkind.h:26
s16b PROB
確率の重みの型定義
Definition: h-type.h:244
s16b IDX
ゲーム中のID型を定義
Definition: h-type.h:112
HIT_POINT to_d
ベースアイテムのダメージ修正値 / Bonus to damage
Definition: objectkind.h:38
ACTIVATION_IDX act_idx
発動能力のID / Activative ability index
Definition: objectkind.h:74
STR_OFFSET text
解説テキスト参照のためのネームバッファオフセット値 / Text (offset)
Definition: objectkind.h:29
HIT_PROB to_h
ベースアイテムの命中修正値 / Bonus to hit
Definition: objectkind.h:37
s32b WEIGHT
ゲーム中の重量の型定義(ポンド)
Definition: h-type.h:205
SYMBOL_CODE x_char
設定変更後のアイテムシンボルアルファベット / Desired object character
Definition: objectkind.h:64
bool aware
ベースアイテムが鑑定済かどうか / The player is "aware" of the item's effects
Definition: objectkind.h:70
bool tried
ベースアイテムを未鑑定のまま試したことがあるか / The player has "tried" one of the items
Definition: objectkind.h:72
TERM_COLOR d_attr
デフォルトのアイテムシンボルカラー / Default object attribute
Definition: objectkind.h:60
int DICE_NUMBER
ゲーム中のダイス数の型定義
Definition: h-type.h:207
STR_OFFSET name
ベースアイテム名参照のためのネームバッファオフセット値 / Name (offset)
Definition: objectkind.h:28
DEPTH locale[4]
ベースアイテムの生成階テーブル / Allocation level(s)
Definition: objectkind.h:54
PROB chance[4]
ベースアイテムの生成確率テーブル / Allocation chance(s)
Definition: objectkind.h:55
#define TR_FLAG_SIZE
Definition: object.h:175
PARAMETER_VALUE pval
ベースアイテムのpval(能力修正共通値) Object extra info
Definition: objectkind.h:35
s32b DEPTH
ゲーム中の階層レベルの型定義
Definition: h-type.h:216
object_kind * k_info
Definition: objectkind.c:8
s32b HIT_POINT
HPとその増減量の型定義
Definition: h-type.h:161
u32b BIT_FLAGS
32ビットのフラグ配列の型定義
Definition: h-type.h:225
DEPTH level
ベースアイテムの基本生成階 / Level
Definition: objectkind.h:57
KIND_OBJECT_IDX max_k_idx
Definition: objectkind.c:15
Definition: util.h:110
s32b OBJECT_SUBTYPE_VALUE
ゲーム中のアイテム副分類の型定義
Definition: h-type.h:203
char SYMBOL_CODE
キャラの文字の型定義
Definition: h-type.h:238
s32b OBJECT_TYPE_VALUE
ゲーム中のアイテム主分類の型定義
Definition: h-type.h:202
ARMOUR_CLASS ac
ベースアイテムのAC基本値 / Base armor
Definition: objectkind.h:41
BIT_FLAGS8 extra
その他色々のビットフラグ配列 / Something
Definition: objectkind.h:58
byte BIT_FLAGS8
8ビットのフラグ配列の型定義
Definition: h-type.h:227
u32b STR_OFFSET
テキストオフセットの型定義
Definition: h-type.h:212
BIT_FLAGS gen_flags
ベースアイテムの生成特性ビット配列 / flags for generate
Definition: objectkind.h:52
s16b KIND_OBJECT_IDX
ゲーム中のベースアイテムID型を定義
Definition: h-type.h:142
DICE_NUMBER dd
Definition: objectkind.h:43
byte TERM_COLOR
テキスト表示色の型定義
Definition: h-type.h:237
s16b PARAMETER_VALUE
ゲーム中のアイテム能力値の型定義
Definition: h-type.h:204
DICE_SID ds
ダメージダイスの数と大きさ / Damage dice/sides
Definition: objectkind.h:44
WEIGHT weight
ベースアイテムの重量 / Weight
Definition: objectkind.h:46
s16b ACTIVATION_IDX
アイテムの発動効果ID型を定義
Definition: h-type.h:134
s16b alloc_kind_size
Definition: objectkind.c:20
OBJECT_SUBTYPE_VALUE sval
ベースアイテム種別の小項目値 Object sub type
Definition: objectkind.h:33
s32b PRICE
ゲーム中の金額価値の型定義
Definition: h-type.h:209
signed short s16b
Definition: h-type.h:98
IDX flavor
調査中(TODO) / Special object flavor (or zero)
Definition: objectkind.h:66
int DICE_SID
ゲーム中のダイス面の型定義
Definition: h-type.h:208
ARMOUR_CLASS to_a
ベースアイテムのAC修正値 / Bonus to armor
Definition: objectkind.h:39
bool easy_know
ベースアイテムが初期からベース名を判断可能かどうか / This object is always known (if aware)
Definition: objectkind.h:68
OBJECT_TYPE_VALUE tval
ベースアイテム種別の大項目値 Object type
Definition: objectkind.h:32
s16b HIT_PROB
ゲーム中の装備命中修正値を定義
Definition: h-type.h:173
PRICE cost
ベースアイテムの基本価値 / Object "base cost"
Definition: objectkind.h:48
s16b ARMOUR_CLASS
ゲーム中の行動アーマークラス型を定義
Definition: h-type.h:181
BIT_FLAGS flags[TR_FLAG_SIZE]
ベースアイテムの基本特性ビット配列 / Flags
Definition: objectkind.h:50