• R/O
  • HTTP
  • SSH
  • HTTPS

hengband: Commit

変愚蛮怒のメインリポジトリです


Commit MetaInfo

Revision8802c2e9dc22a57ce84f1f637dc686ac7ad0345b (tree)
Time2019-05-01 13:47:19
Authordeskull <deskull@user...>
Commiterdeskull

Log Message

[Refactor] #37353 player_type 構造体を player-status.h に移動.

Change Summary

Incremental Difference

--- a/src/externs.h
+++ b/src/externs.h
@@ -18,6 +18,7 @@
1818 #include "monster.h"
1919 #include "monsterrace.h"
2020 #include "object.h"
21+#include "player-status.h"
2122
2223 /*
2324 * Automatically generated "variable" declarations
--- a/src/player-status.h
+++ b/src/player-status.h
@@ -1,4 +1,609 @@
1-extern concptr your_alignment(void);
1+#pragma once
2+
3+/*
4+ * Most of the "player" information goes here.
5+ *
6+ * This stucture gives us a large collection of player variables.
7+ *
8+ * This structure contains several "blocks" of information.
9+ * (1) the "permanent" info
10+ * (2) the "variable" info
11+ * (3) the "transient" info
12+ *
13+ * All of the "permanent" info, and most of the "variable" info,
14+ * is saved in the savefile. The "transient" info is recomputed
15+ * whenever anything important changes.
16+ */
17+
18+typedef struct player_type player_type;
19+
20+struct player_type
21+{
22+ POSITION oldpy; /* Previous player location -KMW- */
23+ POSITION oldpx; /* Previous player location -KMW- */
24+
25+ SEX_IDX psex; /* Sex index */
26+ RACE_IDX prace; /* Race index */
27+ CLASS_IDX pclass; /* Class index */
28+ CHARACTER_IDX pseikaku; /* Seikaku index */
29+ REALM_IDX realm1; /* First magic realm */
30+ REALM_IDX realm2; /* Second magic realm */
31+ CHARACTER_IDX oops; /* Unused */
32+
33+ DICE_SID hitdie; /* Hit dice (sides) */
34+ u16b expfact; /* Experience factor
35+ * Note: was byte, causing overflow for Amberite
36+ * characters (such as Amberite Paladins)
37+ */
38+
39+ s16b age; /* Characters age */
40+ s16b ht; /* Height */
41+ s16b wt; /* Weight */
42+ s16b sc; /* Social Class */
43+
44+ PRICE au; /* Current Gold */
45+
46+ EXP max_max_exp; /* Max max experience (only to calculate score) */
47+ EXP max_exp; /* Max experience */
48+ EXP exp; /* Cur experience */
49+ u32b exp_frac; /* Cur exp frac (times 2^16) */
50+
51+ PLAYER_LEVEL lev; /* Level */
52+
53+ TOWN_IDX town_num; /* Current town number */
54+ s16b arena_number; /* monster number in arena -KMW- */
55+ bool inside_arena; /* Is character inside arena? */
56+ QUEST_IDX inside_quest; /* Inside quest level */
57+ bool inside_battle; /* Is character inside tougijou? */
58+
59+ DUNGEON_IDX dungeon_idx; /* current dungeon index */
60+ POSITION wilderness_x; /* Coordinates in the wilderness */
61+ POSITION wilderness_y;
62+ bool wild_mode;
63+
64+ HIT_POINT mhp; /* Max hit pts */
65+ HIT_POINT chp; /* Cur hit pts */
66+ u32b chp_frac; /* Cur hit frac (times 2^16) */
67+ PERCENTAGE mutant_regenerate_mod;
68+
69+ MANA_POINT msp; /* Max mana pts */
70+ MANA_POINT csp; /* Cur mana pts */
71+ u32b csp_frac; /* Cur mana frac (times 2^16) */
72+
73+ s16b max_plv; /* Max Player Level */
74+
75+ BASE_STATUS stat_max[6]; /* Current "maximal" stat values */
76+ BASE_STATUS stat_max_max[6]; /* Maximal "maximal" stat values */
77+ BASE_STATUS stat_cur[6]; /* Current "natural" stat values */
78+
79+ s16b learned_spells;
80+ s16b add_spells;
81+
82+ u32b count;
83+
84+ TIME_EFFECT fast; /* Timed -- Fast */
85+ TIME_EFFECT slow; /* Timed -- Slow */
86+ TIME_EFFECT blind; /* Timed -- Blindness */
87+ TIME_EFFECT paralyzed; /* Timed -- Paralysis */
88+ TIME_EFFECT confused; /* Timed -- Confusion */
89+ TIME_EFFECT afraid; /* Timed -- Fear */
90+ TIME_EFFECT image; /* Timed -- Hallucination */
91+ TIME_EFFECT poisoned; /* Timed -- Poisoned */
92+ TIME_EFFECT cut; /* Timed -- Cut */
93+ TIME_EFFECT stun; /* Timed -- Stun */
94+
95+ TIME_EFFECT protevil; /* Timed -- Protection */
96+ TIME_EFFECT invuln; /* Timed -- Invulnerable */
97+ TIME_EFFECT ult_res; /* Timed -- Ultimate Resistance */
98+ TIME_EFFECT hero; /* Timed -- Heroism */
99+ TIME_EFFECT shero; /* Timed -- Super Heroism */
100+ TIME_EFFECT shield; /* Timed -- Shield Spell */
101+ TIME_EFFECT blessed; /* Timed -- Blessed */
102+ TIME_EFFECT tim_invis; /* Timed -- See Invisible */
103+ TIME_EFFECT tim_infra; /* Timed -- Infra Vision */
104+ TIME_EFFECT tsuyoshi; /* Timed -- Tsuyoshi Special */
105+ TIME_EFFECT ele_attack; /* Timed -- Elemental Attack */
106+ TIME_EFFECT ele_immune; /* Timed -- Elemental Immune */
107+
108+ TIME_EFFECT oppose_acid; /* Timed -- oppose acid */
109+ TIME_EFFECT oppose_elec; /* Timed -- oppose lightning */
110+ TIME_EFFECT oppose_fire; /* Timed -- oppose heat */
111+ TIME_EFFECT oppose_cold; /* Timed -- oppose cold */
112+ TIME_EFFECT oppose_pois; /* Timed -- oppose poison */
113+
114+ TIME_EFFECT tim_esp; /* Timed ESP */
115+ TIME_EFFECT wraith_form; /* Timed wraithform */
116+
117+ TIME_EFFECT resist_magic; /* Timed Resist Magic (later) */
118+ TIME_EFFECT tim_regen;
119+ TIME_EFFECT kabenuke;
120+ TIME_EFFECT tim_stealth;
121+ TIME_EFFECT tim_levitation;
122+ TIME_EFFECT tim_sh_touki;
123+ TIME_EFFECT lightspeed;
124+ TIME_EFFECT tsubureru;
125+ TIME_EFFECT magicdef;
126+ TIME_EFFECT tim_res_nether; /* Timed -- Nether resistance */
127+ TIME_EFFECT tim_res_time; /* Timed -- Time resistance */
128+ MIMIC_RACE_IDX mimic_form;
129+ TIME_EFFECT tim_mimic;
130+ TIME_EFFECT tim_sh_fire;
131+ TIME_EFFECT tim_sh_holy;
132+ TIME_EFFECT tim_eyeeye;
133+
134+ /* for mirror master */
135+ TIME_EFFECT tim_reflect; /* Timed -- Reflect */
136+ TIME_EFFECT multishadow; /* Timed -- Multi-shadow */
137+ TIME_EFFECT dustrobe; /* Timed -- Robe of dust */
138+
139+ bool timewalk;
140+ GAME_TURN resting; /* Current counter for resting, if any */
141+
142+ PATRON_IDX chaos_patron;
143+
144+ BIT_FLAGS muta1; /*!< レイシャル型の変異 / "Activatable" mutations must be in MUT1_* */
145+#define MUT1_SPIT_ACID 0x00000001L /*!< 突然変異: 酸の唾 */
146+#define MUT1_BR_FIRE 0x00000002L /*!< 突然変異: 炎のブレス */
147+#define MUT1_HYPN_GAZE 0x00000004L /*!< 突然変異: 催眠睨み */
148+#define MUT1_TELEKINES 0x00000008L /*!< 突然変異: 念動力 */
149+#define MUT1_VTELEPORT 0x00000010L /*!< 突然変異: テレポート / Voluntary teleport */
150+#define MUT1_MIND_BLST 0x00000020L /*!< 突然変異: 精神攻撃 */
151+#define MUT1_RADIATION 0x00000040L /*!< 突然変異: 放射能 */
152+#define MUT1_VAMPIRISM 0x00000080L /*!< 突然変異: 吸血 */
153+#define MUT1_SMELL_MET 0x00000100L /*!< 突然変異: 金属嗅覚 */
154+#define MUT1_SMELL_MON 0x00000200L /*!< 突然変異: 敵臭嗅覚 */
155+#define MUT1_BLINK 0x00000400L /*!< 突然変異: ショート・テレポート */
156+#define MUT1_EAT_ROCK 0x00000800L /*!< 突然変異: 岩喰い */
157+#define MUT1_SWAP_POS 0x00001000L /*!< 突然変異: 位置交換 */
158+#define MUT1_SHRIEK 0x00002000L /*!< 突然変異: 叫び */
159+#define MUT1_ILLUMINE 0x00004000L /*!< 突然変異: 照明 */
160+#define MUT1_DET_CURSE 0x00008000L /*!< 突然変異: 呪い感知 */
161+#define MUT1_BERSERK 0x00010000L /*!< 突然変異: 狂戦士化 */
162+#define MUT1_POLYMORPH 0x00020000L /*!< 突然変異: 変身 */
163+#define MUT1_MIDAS_TCH 0x00040000L /*!< 突然変異: ミダスの手 */
164+#define MUT1_GROW_MOLD 0x00080000L /*!< 突然変異: カビ発生 */
165+#define MUT1_RESIST 0x00100000L /*!< 突然変異: エレメント耐性 */
166+#define MUT1_EARTHQUAKE 0x00200000L /*!< 突然変異: 地震 */
167+#define MUT1_EAT_MAGIC 0x00400000L /*!< 突然変異: 魔力喰い */
168+#define MUT1_WEIGH_MAG 0x00800000L /*!< 突然変異: 魔力感知 */
169+#define MUT1_STERILITY 0x01000000L /*!< 突然変異: 増殖阻止 */
170+#define MUT1_PANIC_HIT 0x02000000L /*!< 突然変異: ヒットアンドアウェイ */
171+#define MUT1_DAZZLE 0x04000000L /*!< 突然変異: 眩惑 */
172+#define MUT1_LASER_EYE 0x08000000L /*!< 突然変異: レーザー・アイ */
173+#define MUT1_RECALL 0x10000000L /*!< 突然変異: 帰還 */
174+#define MUT1_BANISH 0x20000000L /*!< 突然変異: 邪悪消滅 */
175+#define MUT1_COLD_TOUCH 0x40000000L /*!< 突然変異: 凍結の手 */
176+#define MUT1_LAUNCHER 0x80000000L /*!< 突然変異: アイテム投げ */
177+
178+ BIT_FLAGS muta2; /*!< 常時効果つきの変異1 / Randomly activating mutations must be MUT2_* */
179+#define MUT2_BERS_RAGE 0x00000001L /*!< 突然変異: 狂戦士化の発作 */
180+#define MUT2_COWARDICE 0x00000002L /*!< 突然変異: 臆病 */
181+#define MUT2_RTELEPORT 0x00000004L /*!< 突然変異: ランダムテレポート / Random teleport, instability */
182+#define MUT2_ALCOHOL 0x00000008L /*!< 突然変異: アルコール分泌 */
183+#define MUT2_HALLU 0x00000010L /*!< 突然変異: 幻覚を引き起こす精神錯乱 */
184+#define MUT2_FLATULENT 0x00000020L /*!< 突然変異: 猛烈な屁 */
185+#define MUT2_SCOR_TAIL 0x00000040L /*!< 突然変異: サソリの尻尾 */
186+#define MUT2_HORNS 0x00000080L /*!< 突然変異: ツノ */
187+#define MUT2_BEAK 0x00000100L /*!< 突然変異: クチバシ */
188+#define MUT2_ATT_DEMON 0x00000200L /*!< 突然変異: デーモンを引き付ける */
189+#define MUT2_PROD_MANA 0x00000400L /*!< 突然変異: 制御できない魔力のエネルギー */
190+#define MUT2_SPEED_FLUX 0x00000800L /*!< 突然変異: ランダムな加減速 */
191+#define MUT2_BANISH_ALL 0x00001000L /*!< 突然変異: ランダムなモンスター消滅 */
192+#define MUT2_EAT_LIGHT 0x00002000L /*!< 突然変異: 光源喰い */
193+#define MUT2_TRUNK 0x00004000L /*!< 突然変異: 象の鼻 */
194+#define MUT2_ATT_ANIMAL 0x00008000L /*!< 突然変異: 動物を引き寄せる */
195+#define MUT2_TENTACLES 0x00010000L /*!< 突然変異: 邪悪な触手 */
196+#define MUT2_RAW_CHAOS 0x00020000L /*!< 突然変異: 純カオス */
197+#define MUT2_NORMALITY 0x00040000L /*!< 突然変異: ランダムな変異の消滅 */
198+#define MUT2_WRAITH 0x00080000L /*!< 突然変異: ランダムな幽体化 */
199+#define MUT2_POLY_WOUND 0x00100000L /*!< 突然変異: ランダムな傷の変化 */
200+#define MUT2_WASTING 0x00200000L /*!< 突然変異: 衰弱 */
201+#define MUT2_ATT_DRAGON 0x00400000L /*!< 突然変異: ドラゴンを引き寄せる */
202+#define MUT2_WEIRD_MIND 0x00800000L /*!< 突然変異: ランダムなテレパシー */
203+#define MUT2_NAUSEA 0x01000000L /*!< 突然変異: 落ち着きの無い胃 */
204+#define MUT2_CHAOS_GIFT 0x02000000L /*!< 突然変異: カオスパトロン */
205+#define MUT2_WALK_SHAD 0x04000000L /*!< 突然変異: ランダムな現実変容 */
206+#define MUT2_WARNING 0x08000000L /*!< 突然変異: 警告 */
207+#define MUT2_INVULN 0x10000000L /*!< 突然変異: ランダムな無敵化 */
208+#define MUT2_SP_TO_HP 0x20000000L /*!< 突然変異: ランダムなMPからHPへの変換 */
209+#define MUT2_HP_TO_SP 0x40000000L /*!< 突然変異: ランダムなHPからMPへの変換 */
210+#define MUT2_DISARM 0x80000000L /*!< 突然変異: ランダムな武器落とし */
211+
212+ BIT_FLAGS muta3; /*!< 常時効果つきの変異2 / Other mutations will be mainly in MUT3_* */
213+#define MUT3_HYPER_STR 0x00000001L /*!< 突然変異: 超人的な力 */
214+#define MUT3_PUNY 0x00000002L /*!< 突然変異: 虚弱 */
215+#define MUT3_HYPER_INT 0x00000004L /*!< 突然変異: 生体コンピュータ */
216+#define MUT3_MORONIC 0x00000008L /*!< 突然変異: 精神薄弱 */
217+#define MUT3_RESILIENT 0x00000010L /*!< 突然変異: 弾力のある体 */
218+#define MUT3_XTRA_FAT 0x00000020L /*!< 突然変異: 異常な肥満 */
219+#define MUT3_ALBINO 0x00000040L /*!< 突然変異: アルビノ */
220+#define MUT3_FLESH_ROT 0x00000080L /*!< 突然変異: 腐敗した肉体 */
221+#define MUT3_SILLY_VOI 0x00000100L /*!< 突然変異: 間抜けなキーキー声 */
222+#define MUT3_BLANK_FAC 0x00000200L /*!< 突然変異: のっぺらぼう */
223+#define MUT3_ILL_NORM 0x00000400L /*!< 突然変異: 幻影に覆われた体 */
224+#define MUT3_XTRA_EYES 0x00000800L /*!< 突然変異: 第三の目 */
225+#define MUT3_MAGIC_RES 0x00001000L /*!< 突然変異: 魔法防御 */
226+#define MUT3_XTRA_NOIS 0x00002000L /*!< 突然変異: 騒音 */
227+#define MUT3_INFRAVIS 0x00004000L /*!< 突然変異: 赤外線視力 */
228+#define MUT3_XTRA_LEGS 0x00008000L /*!< 突然変異: 追加の脚 */
229+#define MUT3_SHORT_LEG 0x00010000L /*!< 突然変異: 短い脚 */
230+#define MUT3_ELEC_TOUC 0x00020000L /*!< 突然変異: 電撃オーラ */
231+#define MUT3_FIRE_BODY 0x00040000L /*!< 突然変異: 火炎オーラ */
232+#define MUT3_WART_SKIN 0x00080000L /*!< 突然変異: イボ肌 */
233+#define MUT3_SCALES 0x00100000L /*!< 突然変異: 鱗肌 */
234+#define MUT3_IRON_SKIN 0x00200000L /*!< 突然変異: 鉄の肌 */
235+#define MUT3_WINGS 0x00400000L /*!< 突然変異: 翼 */
236+#define MUT3_FEARLESS 0x00800000L /*!< 突然変異: 恐れ知らず */
237+#define MUT3_REGEN 0x01000000L /*!< 突然変異: 急回復 */
238+#define MUT3_ESP 0x02000000L /*!< 突然変異: テレパシー */
239+#define MUT3_LIMBER 0x04000000L /*!< 突然変異: しなやかな肉体 */
240+#define MUT3_ARTHRITIS 0x08000000L /*!< 突然変異: 関節の痛み */
241+#define MUT3_BAD_LUCK 0x10000000L /*!< 突然変異: 黒いオーラ(不運) */
242+#define MUT3_VULN_ELEM 0x20000000L /*!< 突然変異: 元素攻撃弱点 */
243+#define MUT3_MOTION 0x40000000L /*!< 突然変異: 正確で力強い動作 */
244+#define MUT3_GOOD_LUCK 0x80000000L /*!< 突然変異: 白いオーラ(幸運) */
245+
246+ s16b virtues[8];
247+ s16b vir_types[8];
248+
249+ TIME_EFFECT word_recall; /* Word of recall counter */
250+ TIME_EFFECT alter_reality; /* Alter reality counter */
251+ DUNGEON_IDX recall_dungeon; /* Dungeon set to be recalled */
252+
253+ ENERGY energy_need; /* Energy needed for next move */
254+ ENERGY enchant_energy_need; /* Energy needed for next upkeep effect */
255+
256+ FEED food; /* Current nutrition */
257+
258+ /*
259+ * p_ptr->special_attackによるプレイヤーの攻撃状態の定義 / Bit flags for the "p_ptr->special_attack" variable. -LM-
260+ *
261+ * Note: The elemental and poison attacks should be managed using the
262+ * function "set_ele_attack", in spell2.c. This provides for timeouts and
263+ * prevents the player from getting more than one at a time.
264+ */
265+ BIT_FLAGS special_attack;
266+#define ATTACK_CONFUSE 0x00000001 /*!< プレイヤーのステータス:混乱打撃 */
267+#define ATTACK_XXX1 0x00000002 /*!< プレイヤーのステータス:未使用1 */
268+#define ATTACK_XXX2 0x00000004 /*!< プレイヤーのステータス:未使用2 */
269+#define ATTACK_XXX3 0x00000008 /*!< プレイヤーのステータス:未使用3 */
270+#define ATTACK_ACID 0x00000010 /*!< プレイヤーのステータス:魔法剣/溶解 */
271+#define ATTACK_ELEC 0x00000020 /*!< プレイヤーのステータス:魔法剣/電撃 */
272+#define ATTACK_FIRE 0x00000040 /*!< プレイヤーのステータス:魔法剣/火炎 */
273+#define ATTACK_COLD 0x00000080 /*!< プレイヤーのステータス:魔法剣/冷凍 */
274+#define ATTACK_POIS 0x00000100 /*!< プレイヤーのステータス:魔法剣/毒殺 */
275+#define ATTACK_HOLY 0x00000200 /*!< プレイヤーのステータス:対邪?(未使用) */
276+#define ATTACK_SUIKEN 0x00000400 /*!< プレイヤーのステータス:酔拳 */
277+
278+ /*
279+ * p_ptr->special_defenseによるプレイヤーの防御状態の定義 / Bit flags for the "p_ptr->special_defense" variable. -LM-
280+ */
281+ BIT_FLAGS special_defense;
282+#define DEFENSE_ACID 0x00000001 /*!< プレイヤーのステータス:酸免疫 */
283+#define DEFENSE_ELEC 0x00000002 /*!< プレイヤーのステータス:電撃免疫 */
284+#define DEFENSE_FIRE 0x00000004 /*!< プレイヤーのステータス:火炎免疫 */
285+#define DEFENSE_COLD 0x00000008 /*!< プレイヤーのステータス:冷気免疫 */
286+#define DEFENSE_POIS 0x00000010 /*!< プレイヤーのステータス:毒免疫 */
287+#define KAMAE_GENBU 0x00000020 /*!< プレイヤーのステータス:玄武の構え */
288+#define KAMAE_BYAKKO 0x00000040 /*!< プレイヤーのステータス:白虎の構え */
289+#define KAMAE_SEIRYU 0x00000080 /*!< プレイヤーのステータス:青竜の構え */
290+#define KAMAE_SUZAKU 0x00000100 /*!< プレイヤーのステータス:朱雀の構え */
291+#define KATA_IAI 0x00000200 /*!< プレイヤーのステータス:居合 */
292+#define KATA_FUUJIN 0x00000400 /*!< プレイヤーのステータス:風塵 */
293+#define KATA_KOUKIJIN 0x00000800 /*!< プレイヤーのステータス:降鬼陣 */
294+#define KATA_MUSOU 0x00001000 /*!< プレイヤーのステータス:無想 */
295+#define NINJA_KAWARIMI 0x00002000 /*!< プレイヤーのステータス:変わり身 */
296+#define NINJA_S_STEALTH 0x00004000 /*!< プレイヤーのステータス:超隠密 */
297+#define MAX_KAMAE 4 /*!< 修行僧の構え最大数 */
298+#define KAMAE_MASK (KAMAE_GENBU | KAMAE_BYAKKO | KAMAE_SEIRYU | KAMAE_SUZAKU) /*!< 修行僧の構えビット配列 */
299+#define MAX_KATA 4 /*!< 修行僧の型最大数 */
300+#define KATA_MASK (KATA_IAI | KATA_FUUJIN | KATA_KOUKIJIN | KATA_MUSOU) /*!< 修行僧の型ビット配列 */
301+
302+ ACTION_IDX action; /* Currently action */
303+#define ACTION_NONE 0 /*!< 持続行動: なし */
304+#define ACTION_SEARCH 1 /*!< 持続行動: 探索 */
305+#define ACTION_REST 2 /*!< 持続行動: 休憩 */
306+#define ACTION_LEARN 3 /*!< 持続行動: 青魔法ラーニング */
307+#define ACTION_FISH 4 /*!< 持続行動: 釣り */
308+#define ACTION_KAMAE 5 /*!< 持続行動: 修行僧の構え */
309+#define ACTION_KATA 6 /*!< 持続行動: 剣術家の型 */
310+#define ACTION_SING 7 /*!< 持続行動: 歌 */
311+#define ACTION_HAYAGAKE 8 /*!< 持続行動: 早駆け */
312+#define ACTION_SPELL 9 /*!< 持続行動: 呪術 */
313+
314+ BIT_FLAGS spell_learned1; /* bit mask of spells learned */
315+ BIT_FLAGS spell_learned2; /* bit mask of spells learned */
316+ BIT_FLAGS spell_worked1; /* bit mask of spells tried and worked */
317+ BIT_FLAGS spell_worked2; /* bit mask of spells tried and worked */
318+ BIT_FLAGS spell_forgotten1; /* bit mask of spells learned but forgotten */
319+ BIT_FLAGS spell_forgotten2; /* bit mask of spells learned but forgotten */
320+ SPELL_IDX spell_order[64]; /* order spells learned/remembered/forgotten */
321+
322+ SUB_EXP spell_exp[64]; /* Proficiency of spells */
323+ SUB_EXP weapon_exp[5][64]; /* Proficiency of weapons */
324+ SUB_EXP skill_exp[GINOU_MAX]; /* Proficiency of misc. skill */
325+
326+ MAGIC_NUM1 magic_num1[108]; /*!< Array for non-spellbook type magic */
327+ MAGIC_NUM2 magic_num2[108]; /*!< 魔道具術師の取り込み済魔道具使用回数 / Flags for non-spellbook type magics */
328+
329+ SPELL_IDX mane_spell[MAX_MANE];
330+ HIT_POINT mane_dam[MAX_MANE];
331+ s16b mane_num;
332+
333+ s16b concent; /* Sniper's concentration level */
334+
335+ HIT_POINT player_hp[PY_MAX_LEVEL];
336+ char died_from[80]; /* What killed the player */
337+ concptr last_message; /* Last message on death or retirement */
338+ char history[4][60]; /* Textual "history" for the Player */
339+
340+ u16b total_winner; /* Total winner */
341+ u16b panic_save; /* Panic save */
342+
343+ u16b noscore; /* Cheating flags */
344+
345+ bool wait_report_score; /* Waiting to report score */
346+ bool is_dead; /* Player is dead */
347+ bool now_damaged;
348+ bool ambush_flag;
349+
350+ bool wizard; /* Player is in wizard mode */
351+
352+ MONSTER_IDX riding; /* Riding on a monster of this index */
353+ byte knowledge; /* Knowledge about yourself */
354+ BIT_FLAGS visit; /* Visited towns */
355+
356+ RACE_IDX start_race; /* Race at birth */
357+ BIT_FLAGS old_race1; /* Record of race changes */
358+ BIT_FLAGS old_race2; /* Record of race changes */
359+ s16b old_realm; /* Record of realm changes */
360+
361+ s16b pet_follow_distance; /* Length of the imaginary "leash" for pets */
362+ s16b pet_extra_flags; /* Various flags for controling pets */
363+
364+ s16b today_mon; /* Wanted monster */
365+
366+ bool dtrap; /* Whether you are on trap-safe grids */
367+ FLOOR_IDX floor_id; /* Current floor location */
368+
369+ bool autopick_autoregister; /* auto register is in-use or not */
370+
371+ byte feeling; /* Most recent dungeon feeling */
372+ s32b feeling_turn; /* The current_world_ptr->game_turn of the last dungeon feeling */
373+
374+ object_type *inventory_list; /* The player's p_ptr->inventory_list [INVEN_TOTAL] */
375+ s16b inven_cnt; /* Number of items in inventory */
376+ s16b equip_cnt; /* Number of items in equipment */
377+
378+ /*** Temporary fields ***/
379+
380+ bool playing; /* True if player is playing */
381+ bool leaving; /* True if player is leaving */
382+
383+ bool monk_armour_aux;
384+ bool monk_notify_aux;
385+
386+ byte leave_bldg;
387+ byte exit_bldg; /* Goal obtained in arena? -KMW- */
388+
389+ bool leaving_dungeon; /* True if player is leaving the dungeon */
390+ bool teleport_town;
391+ bool enter_dungeon; /* Just enter the dungeon */
392+
393+ IDX health_who; /* Health bar trackee */
394+
395+ MONRACE_IDX monster_race_idx; /* Monster race trackee */
396+
397+ KIND_OBJECT_IDX object_kind_idx; /* Object kind trackee */
398+
399+ s16b new_spells; /* Number of spells available */
400+ s16b old_spells;
401+
402+ s16b old_food_aux; /* Old value of food */
403+
404+ bool old_cumber_armor;
405+ bool old_cumber_glove;
406+ bool old_heavy_wield[2];
407+ bool old_heavy_shoot;
408+ bool old_icky_wield[2];
409+ bool old_riding_wield[2];
410+ bool old_riding_ryoute;
411+ bool old_monlite;
412+
413+ POSITION old_lite; /* Old radius of lite (if any) */
414+
415+ bool cumber_armor; /* Mana draining armor */
416+ bool cumber_glove; /* Mana draining gloves */
417+ bool heavy_wield[2]; /* Heavy weapon */
418+ bool heavy_shoot; /* Heavy shooter */
419+ bool icky_wield[2]; /* Icky weapon */
420+ bool riding_wield[2]; /* Riding weapon */
421+ bool riding_ryoute; /* Riding weapon */
422+ bool monlite;
423+
424+ POSITION cur_lite; /* Radius of lite (if any) */
425+
426+ BIT_FLAGS update; /* Pending Updates */
427+#define PU_BONUS 0x00000001L /*!< ステータス更新フラグ: 能力値修正 / Calculate bonuses */
428+#define PU_TORCH 0x00000002L /*!< ステータス更新フラグ: 光源半径 / Calculate torch radius */
429+#define PU_HP 0x00000010L /*!< ステータス更新フラグ: HP / Calculate chp and mhp */
430+#define PU_MANA 0x00000020L /*!< ステータス更新フラグ: MP / Calculate csp and msp */
431+#define PU_SPELLS 0x00000040L /*!< ステータス更新フラグ: 魔法学習数 / Calculate spells */
432+#define PU_COMBINE 0x00000100L /*!< アイテム処理フラグ: アイテムの結合を要する / Combine the pack */
433+#define PU_REORDER 0x00000200L /*!< アイテム処理フラグ: アイテムの並び替えを要する / Reorder the pack */
434+#define PU_AUTODESTROY 0x00000400L /*!< アイテム処理フラグ: アイテムの自動破壊を要する / Auto-destroy marked item */
435+#define PU_UN_VIEW 0x00010000L /*!< ステータス更新フラグ: 地形の視界外化 / Forget view */
436+#define PU_UN_LITE 0x00020000L /*!< ステータス更新フラグ: 明暗範囲の視界外化 / Forget lite */
437+#define PU_VIEW 0x00100000L /*!< ステータス更新フラグ: 視界 / Update view */
438+#define PU_LITE 0x00200000L /*!< ステータス更新フラグ: 明暗範囲 / Update lite */
439+#define PU_MON_LITE 0x00400000L /*!< ステータス更新フラグ: モンスターの光源範囲 / Monster illumination */
440+#define PU_DELAY_VIS 0x00800000L /*!< ステータス更新フラグ: 視界の追加更新 / Mega-Hack -- Delayed visual update */
441+#define PU_MONSTERS 0x01000000L /*!< ステータス更新フラグ: モンスターのステータス / Update monsters */
442+#define PU_DISTANCE 0x02000000L /*!< ステータス更新フラグ: プレイヤーとモンスターの距離 / Update distances */
443+#define PU_FLOW 0x10000000L /*!< ステータス更新フラグ: プレイヤーから各マスへの到達距離 / Update flow */
444+
445+ BIT_FLAGS redraw; /* Normal Redraws */
446+ BIT_FLAGS window; /* Window Redraws */
447+
448+ s16b stat_use[A_MAX]; /* Current modified stats */
449+ s16b stat_top[A_MAX]; /* Maximal modified stats */
450+
451+ bool sutemi;
452+ bool counter;
453+
454+ ALIGNMENT align; /* Good/evil/neutral */
455+ POSITION run_py;
456+ POSITION run_px;
457+ DIRECTION fishing_dir;
458+
459+
460+ /*** Extracted fields ***/
461+
462+ WEIGHT total_weight; /*!< 所持品と装備品の計算総重量 / Total weight being carried */
463+
464+ s16b stat_add[A_MAX]; /* Modifiers to stat values */
465+ s16b stat_ind[A_MAX]; /* Indexes into stat tables */
466+
467+ bool hack_mutation;
468+
469+ bool immune_acid; /* Immunity to acid */
470+ bool immune_elec; /* Immunity to lightning */
471+ bool immune_fire; /* Immunity to fire */
472+ bool immune_cold; /* Immunity to cold */
473+
474+ bool resist_acid; /* Resist acid */
475+ bool resist_elec; /* Resist lightning */
476+ bool resist_fire; /* Resist fire */
477+ bool resist_cold; /* Resist cold */
478+ bool resist_pois; /* Resist poison */
479+
480+ bool resist_conf; /* Resist confusion */
481+ bool resist_sound; /* Resist sound */
482+ bool resist_lite; /* Resist light */
483+ bool resist_dark; /* Resist darkness */
484+ bool resist_chaos; /* Resist chaos */
485+ bool resist_disen; /* Resist disenchant */
486+ bool resist_shard; /* Resist shards */
487+ bool resist_nexus; /* Resist nexus */
488+ bool resist_blind; /* Resist blindness */
489+ bool resist_neth; /* Resist nether */
490+ bool resist_fear; /* Resist fear */
491+ bool resist_time; /* Resist time */
492+ bool resist_water; /* Resist water */
493+
494+ bool reflect; /* Reflect 'bolt' attacks */
495+ bool sh_fire; /* Fiery 'immolation' effect */
496+ bool sh_elec; /* Electric 'immolation' effect */
497+ bool sh_cold; /* Cold 'immolation' effect */
498+
499+ bool anti_magic; /* Anti-magic */
500+ bool anti_tele; /* Prevent teleportation */
501+
502+ bool sustain_str; /* Keep strength */
503+ bool sustain_int; /* Keep intelligence */
504+ bool sustain_wis; /* Keep wisdom */
505+ bool sustain_dex; /* Keep dexterity */
506+ bool sustain_con; /* Keep constitution */
507+ bool sustain_chr; /* Keep charisma */
508+
509+ BIT_FLAGS cursed; /* Player is cursed */
510+
511+ bool can_swim; /* No damage falling */
512+ bool levitation; /* No damage falling */
513+ bool lite; /* Permanent light */
514+ bool free_act; /* Never paralyzed */
515+ bool see_inv; /* Can see invisible */
516+ bool regenerate; /* Regenerate hit pts */
517+ bool hold_exp; /* Resist exp draining */
518+
519+ bool telepathy; /* Telepathy */
520+ bool esp_animal;
521+ bool esp_undead;
522+ bool esp_demon;
523+ bool esp_orc;
524+ bool esp_troll;
525+ bool esp_giant;
526+ bool esp_dragon;
527+ bool esp_human;
528+ bool esp_evil;
529+ bool esp_good;
530+ bool esp_nonliving;
531+ bool esp_unique;
532+
533+ bool slow_digest; /* Slower digestion */
534+ bool bless_blade; /* Blessed blade */
535+ bool xtra_might; /* Extra might bow */
536+ bool impact[2]; /* Earthquake blows */
537+ bool pass_wall; /* Permanent wraithform */
538+ bool kill_wall;
539+ bool dec_mana;
540+ bool easy_spell;
541+ bool heavy_spell;
542+ bool warning;
543+ bool mighty_throw;
544+ bool see_nocto; /* Noctovision */
545+
546+ DICE_NUMBER to_dd[2]; /* Extra dice/sides */
547+ DICE_SID to_ds[2];
548+
549+ HIT_PROB dis_to_h[2]; /*!< 判明している現在の表記上の近接武器命中修正値 / Known bonus to hit (wield) */
550+ HIT_PROB dis_to_h_b; /*!< 判明している現在の表記上の射撃武器命中修正値 / Known bonus to hit (bow) */
551+ HIT_POINT dis_to_d[2]; /*!< 判明している現在の表記上の近接武器ダメージ修正値 / Known bonus to dam (wield) */
552+ ARMOUR_CLASS dis_to_a; /*!< 判明している現在の表記上の装備AC修正値 / Known bonus to ac */
553+ ARMOUR_CLASS dis_ac; /*!< 判明している現在の表記上の装備AC基礎値 / Known base ac */
554+
555+ s16b to_h[2]; /* Bonus to hit (wield) */
556+ s16b to_h_b; /* Bonus to hit (bow) */
557+ s16b to_h_m; /* Bonus to hit (misc) */
558+ s16b to_d[2]; /* Bonus to dam (wield) */
559+ s16b to_d_m; /* Bonus to dam (misc) */
560+ s16b to_a; /* Bonus to ac */
561+
562+ s16b to_m_chance; /* Minusses to cast chance */
563+
564+ bool ryoute;
565+ bool migite;
566+ bool hidarite;
567+ bool no_flowed;
568+
569+ ARMOUR_CLASS ac; /*!< 装備無しの基本AC / Base ac */
570+
571+ ACTION_SKILL_POWER see_infra; /*!< 赤外線視能力の強さ /Infravision range */
572+ ACTION_SKILL_POWER skill_dis; /*!< 行動技能値:解除能力 / Skill: Disarming */
573+ ACTION_SKILL_POWER skill_dev; /*!< 行動技能値:魔道具使用 / Skill: Magic Devices */
574+ ACTION_SKILL_POWER skill_sav; /*!< 行動技能値:魔法防御 / Skill: Saving throw */
575+ ACTION_SKILL_POWER skill_stl; /*!< 行動技能値:隠密 / Skill: Stealth factor */
576+
577+ /*!
578+ * 行動技能値:知覚 / Skill: Searching ability
579+ * この値はsearch()による地形の隠し要素発見処理などで混乱、盲目、幻覚、無光源などの
580+ * 状態異常がない限り、難易度修正などがないままそのままパーセンテージ値として使われる。
581+ * 100以上ならば必ず全てのトラップなどを見つけることが出来る。
582+ */
583+ ACTION_SKILL_POWER skill_srh;
584+
585+ ACTION_SKILL_POWER skill_fos; /*!< 行動技能値:探索 / Skill: Searching frequency */
586+ ACTION_SKILL_POWER skill_thn; /*!< 行動技能値:打撃命中能力 / Skill: To hit (normal) */
587+ ACTION_SKILL_POWER skill_thb; /*!< 行動技能値:射撃命中能力 / Skill: To hit (shooting) */
588+ ACTION_SKILL_POWER skill_tht; /*!< 行動技能値:投射命中能力 / Skill: To hit (throwing) */
589+ ACTION_SKILL_POWER skill_dig; /*!< 行動技能値:掘削 / Skill: Digging */
590+
591+ s16b num_blow[2]; /* Number of blows */
592+ s16b num_fire; /* Number of shots */
593+
594+ byte tval_xtra; /* Correct xtra tval */
595+ byte tval_ammo; /* Correct ammo tval */
596+
597+ byte pspeed; /* Current speed */
598+
599+ ENERGY energy_use; /* Energy use this current_world_ptr->game_turn */
600+
601+ POSITION y; /* Player location in dungeon */
602+ POSITION x; /* Player location in dungeon */
603+ GAME_TEXT name[32]; /*!< 現在のプレイヤー名 / Current player's character name */
604+};
605+
606+extern concptr your_alignment(void);
2607 extern int weapon_exp_level(int weapon_exp);
3608 extern int riding_exp_level(int riding_exp);
4609 extern int spell_exp_level(int spell_exp);
--- a/src/types.h
+++ b/src/types.h
@@ -277,609 +277,6 @@ struct player_seikaku
277277 };
278278
279279
280-/*
281- * Most of the "player" information goes here.
282- *
283- * This stucture gives us a large collection of player variables.
284- *
285- * This structure contains several "blocks" of information.
286- * (1) the "permanent" info
287- * (2) the "variable" info
288- * (3) the "transient" info
289- *
290- * All of the "permanent" info, and most of the "variable" info,
291- * is saved in the savefile. The "transient" info is recomputed
292- * whenever anything important changes.
293- */
294-
295-typedef struct player_type player_type;
296-
297-struct player_type
298-{
299- POSITION oldpy; /* Previous player location -KMW- */
300- POSITION oldpx; /* Previous player location -KMW- */
301-
302- SEX_IDX psex; /* Sex index */
303- RACE_IDX prace; /* Race index */
304- CLASS_IDX pclass; /* Class index */
305- CHARACTER_IDX pseikaku; /* Seikaku index */
306- REALM_IDX realm1; /* First magic realm */
307- REALM_IDX realm2; /* Second magic realm */
308- CHARACTER_IDX oops; /* Unused */
309-
310- DICE_SID hitdie; /* Hit dice (sides) */
311- u16b expfact; /* Experience factor
312- * Note: was byte, causing overflow for Amberite
313- * characters (such as Amberite Paladins)
314- */
315-
316- s16b age; /* Characters age */
317- s16b ht; /* Height */
318- s16b wt; /* Weight */
319- s16b sc; /* Social Class */
320-
321- PRICE au; /* Current Gold */
322-
323- EXP max_max_exp; /* Max max experience (only to calculate score) */
324- EXP max_exp; /* Max experience */
325- EXP exp; /* Cur experience */
326- u32b exp_frac; /* Cur exp frac (times 2^16) */
327-
328- PLAYER_LEVEL lev; /* Level */
329-
330- TOWN_IDX town_num; /* Current town number */
331- s16b arena_number; /* monster number in arena -KMW- */
332- bool inside_arena; /* Is character inside arena? */
333- QUEST_IDX inside_quest; /* Inside quest level */
334- bool inside_battle; /* Is character inside tougijou? */
335-
336- DUNGEON_IDX dungeon_idx; /* current dungeon index */
337- POSITION wilderness_x; /* Coordinates in the wilderness */
338- POSITION wilderness_y;
339- bool wild_mode;
340-
341- HIT_POINT mhp; /* Max hit pts */
342- HIT_POINT chp; /* Cur hit pts */
343- u32b chp_frac; /* Cur hit frac (times 2^16) */
344- PERCENTAGE mutant_regenerate_mod;
345-
346- MANA_POINT msp; /* Max mana pts */
347- MANA_POINT csp; /* Cur mana pts */
348- u32b csp_frac; /* Cur mana frac (times 2^16) */
349-
350- s16b max_plv; /* Max Player Level */
351-
352- BASE_STATUS stat_max[6]; /* Current "maximal" stat values */
353- BASE_STATUS stat_max_max[6]; /* Maximal "maximal" stat values */
354- BASE_STATUS stat_cur[6]; /* Current "natural" stat values */
355-
356- s16b learned_spells;
357- s16b add_spells;
358-
359- u32b count;
360-
361- TIME_EFFECT fast; /* Timed -- Fast */
362- TIME_EFFECT slow; /* Timed -- Slow */
363- TIME_EFFECT blind; /* Timed -- Blindness */
364- TIME_EFFECT paralyzed; /* Timed -- Paralysis */
365- TIME_EFFECT confused; /* Timed -- Confusion */
366- TIME_EFFECT afraid; /* Timed -- Fear */
367- TIME_EFFECT image; /* Timed -- Hallucination */
368- TIME_EFFECT poisoned; /* Timed -- Poisoned */
369- TIME_EFFECT cut; /* Timed -- Cut */
370- TIME_EFFECT stun; /* Timed -- Stun */
371-
372- TIME_EFFECT protevil; /* Timed -- Protection */
373- TIME_EFFECT invuln; /* Timed -- Invulnerable */
374- TIME_EFFECT ult_res; /* Timed -- Ultimate Resistance */
375- TIME_EFFECT hero; /* Timed -- Heroism */
376- TIME_EFFECT shero; /* Timed -- Super Heroism */
377- TIME_EFFECT shield; /* Timed -- Shield Spell */
378- TIME_EFFECT blessed; /* Timed -- Blessed */
379- TIME_EFFECT tim_invis; /* Timed -- See Invisible */
380- TIME_EFFECT tim_infra; /* Timed -- Infra Vision */
381- TIME_EFFECT tsuyoshi; /* Timed -- Tsuyoshi Special */
382- TIME_EFFECT ele_attack; /* Timed -- Elemental Attack */
383- TIME_EFFECT ele_immune; /* Timed -- Elemental Immune */
384-
385- TIME_EFFECT oppose_acid; /* Timed -- oppose acid */
386- TIME_EFFECT oppose_elec; /* Timed -- oppose lightning */
387- TIME_EFFECT oppose_fire; /* Timed -- oppose heat */
388- TIME_EFFECT oppose_cold; /* Timed -- oppose cold */
389- TIME_EFFECT oppose_pois; /* Timed -- oppose poison */
390-
391- TIME_EFFECT tim_esp; /* Timed ESP */
392- TIME_EFFECT wraith_form; /* Timed wraithform */
393-
394- TIME_EFFECT resist_magic; /* Timed Resist Magic (later) */
395- TIME_EFFECT tim_regen;
396- TIME_EFFECT kabenuke;
397- TIME_EFFECT tim_stealth;
398- TIME_EFFECT tim_levitation;
399- TIME_EFFECT tim_sh_touki;
400- TIME_EFFECT lightspeed;
401- TIME_EFFECT tsubureru;
402- TIME_EFFECT magicdef;
403- TIME_EFFECT tim_res_nether; /* Timed -- Nether resistance */
404- TIME_EFFECT tim_res_time; /* Timed -- Time resistance */
405- MIMIC_RACE_IDX mimic_form;
406- TIME_EFFECT tim_mimic;
407- TIME_EFFECT tim_sh_fire;
408- TIME_EFFECT tim_sh_holy;
409- TIME_EFFECT tim_eyeeye;
410-
411- /* for mirror master */
412- TIME_EFFECT tim_reflect; /* Timed -- Reflect */
413- TIME_EFFECT multishadow; /* Timed -- Multi-shadow */
414- TIME_EFFECT dustrobe; /* Timed -- Robe of dust */
415-
416- bool timewalk;
417- GAME_TURN resting; /* Current counter for resting, if any */
418-
419- PATRON_IDX chaos_patron;
420-
421- BIT_FLAGS muta1; /*!< レイシャル型の変異 / "Activatable" mutations must be in MUT1_* */
422- #define MUT1_SPIT_ACID 0x00000001L /*!< 突然変異: 酸の唾 */
423- #define MUT1_BR_FIRE 0x00000002L /*!< 突然変異: 炎のブレス */
424- #define MUT1_HYPN_GAZE 0x00000004L /*!< 突然変異: 催眠睨み */
425- #define MUT1_TELEKINES 0x00000008L /*!< 突然変異: 念動力 */
426- #define MUT1_VTELEPORT 0x00000010L /*!< 突然変異: テレポート / Voluntary teleport */
427- #define MUT1_MIND_BLST 0x00000020L /*!< 突然変異: 精神攻撃 */
428- #define MUT1_RADIATION 0x00000040L /*!< 突然変異: 放射能 */
429- #define MUT1_VAMPIRISM 0x00000080L /*!< 突然変異: 吸血 */
430- #define MUT1_SMELL_MET 0x00000100L /*!< 突然変異: 金属嗅覚 */
431- #define MUT1_SMELL_MON 0x00000200L /*!< 突然変異: 敵臭嗅覚 */
432- #define MUT1_BLINK 0x00000400L /*!< 突然変異: ショート・テレポート */
433- #define MUT1_EAT_ROCK 0x00000800L /*!< 突然変異: 岩喰い */
434- #define MUT1_SWAP_POS 0x00001000L /*!< 突然変異: 位置交換 */
435- #define MUT1_SHRIEK 0x00002000L /*!< 突然変異: 叫び */
436- #define MUT1_ILLUMINE 0x00004000L /*!< 突然変異: 照明 */
437- #define MUT1_DET_CURSE 0x00008000L /*!< 突然変異: 呪い感知 */
438- #define MUT1_BERSERK 0x00010000L /*!< 突然変異: 狂戦士化 */
439- #define MUT1_POLYMORPH 0x00020000L /*!< 突然変異: 変身 */
440- #define MUT1_MIDAS_TCH 0x00040000L /*!< 突然変異: ミダスの手 */
441- #define MUT1_GROW_MOLD 0x00080000L /*!< 突然変異: カビ発生 */
442- #define MUT1_RESIST 0x00100000L /*!< 突然変異: エレメント耐性 */
443- #define MUT1_EARTHQUAKE 0x00200000L /*!< 突然変異: 地震 */
444- #define MUT1_EAT_MAGIC 0x00400000L /*!< 突然変異: 魔力喰い */
445- #define MUT1_WEIGH_MAG 0x00800000L /*!< 突然変異: 魔力感知 */
446- #define MUT1_STERILITY 0x01000000L /*!< 突然変異: 増殖阻止 */
447- #define MUT1_PANIC_HIT 0x02000000L /*!< 突然変異: ヒットアンドアウェイ */
448- #define MUT1_DAZZLE 0x04000000L /*!< 突然変異: 眩惑 */
449- #define MUT1_LASER_EYE 0x08000000L /*!< 突然変異: レーザー・アイ */
450- #define MUT1_RECALL 0x10000000L /*!< 突然変異: 帰還 */
451- #define MUT1_BANISH 0x20000000L /*!< 突然変異: 邪悪消滅 */
452- #define MUT1_COLD_TOUCH 0x40000000L /*!< 突然変異: 凍結の手 */
453- #define MUT1_LAUNCHER 0x80000000L /*!< 突然変異: アイテム投げ */
454-
455- BIT_FLAGS muta2; /*!< 常時効果つきの変異1 / Randomly activating mutations must be MUT2_* */
456- #define MUT2_BERS_RAGE 0x00000001L /*!< 突然変異: 狂戦士化の発作 */
457- #define MUT2_COWARDICE 0x00000002L /*!< 突然変異: 臆病 */
458- #define MUT2_RTELEPORT 0x00000004L /*!< 突然変異: ランダムテレポート / Random teleport, instability */
459- #define MUT2_ALCOHOL 0x00000008L /*!< 突然変異: アルコール分泌 */
460- #define MUT2_HALLU 0x00000010L /*!< 突然変異: 幻覚を引き起こす精神錯乱 */
461- #define MUT2_FLATULENT 0x00000020L /*!< 突然変異: 猛烈な屁 */
462- #define MUT2_SCOR_TAIL 0x00000040L /*!< 突然変異: サソリの尻尾 */
463- #define MUT2_HORNS 0x00000080L /*!< 突然変異: ツノ */
464- #define MUT2_BEAK 0x00000100L /*!< 突然変異: クチバシ */
465- #define MUT2_ATT_DEMON 0x00000200L /*!< 突然変異: デーモンを引き付ける */
466- #define MUT2_PROD_MANA 0x00000400L /*!< 突然変異: 制御できない魔力のエネルギー */
467- #define MUT2_SPEED_FLUX 0x00000800L /*!< 突然変異: ランダムな加減速 */
468- #define MUT2_BANISH_ALL 0x00001000L /*!< 突然変異: ランダムなモンスター消滅 */
469- #define MUT2_EAT_LIGHT 0x00002000L /*!< 突然変異: 光源喰い */
470- #define MUT2_TRUNK 0x00004000L /*!< 突然変異: 象の鼻 */
471- #define MUT2_ATT_ANIMAL 0x00008000L /*!< 突然変異: 動物を引き寄せる */
472- #define MUT2_TENTACLES 0x00010000L /*!< 突然変異: 邪悪な触手 */
473- #define MUT2_RAW_CHAOS 0x00020000L /*!< 突然変異: 純カオス */
474- #define MUT2_NORMALITY 0x00040000L /*!< 突然変異: ランダムな変異の消滅 */
475- #define MUT2_WRAITH 0x00080000L /*!< 突然変異: ランダムな幽体化 */
476- #define MUT2_POLY_WOUND 0x00100000L /*!< 突然変異: ランダムな傷の変化 */
477- #define MUT2_WASTING 0x00200000L /*!< 突然変異: 衰弱 */
478- #define MUT2_ATT_DRAGON 0x00400000L /*!< 突然変異: ドラゴンを引き寄せる */
479- #define MUT2_WEIRD_MIND 0x00800000L /*!< 突然変異: ランダムなテレパシー */
480- #define MUT2_NAUSEA 0x01000000L /*!< 突然変異: 落ち着きの無い胃 */
481- #define MUT2_CHAOS_GIFT 0x02000000L /*!< 突然変異: カオスパトロン */
482- #define MUT2_WALK_SHAD 0x04000000L /*!< 突然変異: ランダムな現実変容 */
483- #define MUT2_WARNING 0x08000000L /*!< 突然変異: 警告 */
484- #define MUT2_INVULN 0x10000000L /*!< 突然変異: ランダムな無敵化 */
485- #define MUT2_SP_TO_HP 0x20000000L /*!< 突然変異: ランダムなMPからHPへの変換 */
486- #define MUT2_HP_TO_SP 0x40000000L /*!< 突然変異: ランダムなHPからMPへの変換 */
487- #define MUT2_DISARM 0x80000000L /*!< 突然変異: ランダムな武器落とし */
488-
489- BIT_FLAGS muta3; /*!< 常時効果つきの変異2 / Other mutations will be mainly in MUT3_* */
490- #define MUT3_HYPER_STR 0x00000001L /*!< 突然変異: 超人的な力 */
491- #define MUT3_PUNY 0x00000002L /*!< 突然変異: 虚弱 */
492- #define MUT3_HYPER_INT 0x00000004L /*!< 突然変異: 生体コンピュータ */
493- #define MUT3_MORONIC 0x00000008L /*!< 突然変異: 精神薄弱 */
494- #define MUT3_RESILIENT 0x00000010L /*!< 突然変異: 弾力のある体 */
495- #define MUT3_XTRA_FAT 0x00000020L /*!< 突然変異: 異常な肥満 */
496- #define MUT3_ALBINO 0x00000040L /*!< 突然変異: アルビノ */
497- #define MUT3_FLESH_ROT 0x00000080L /*!< 突然変異: 腐敗した肉体 */
498- #define MUT3_SILLY_VOI 0x00000100L /*!< 突然変異: 間抜けなキーキー声 */
499- #define MUT3_BLANK_FAC 0x00000200L /*!< 突然変異: のっぺらぼう */
500- #define MUT3_ILL_NORM 0x00000400L /*!< 突然変異: 幻影に覆われた体 */
501- #define MUT3_XTRA_EYES 0x00000800L /*!< 突然変異: 第三の目 */
502- #define MUT3_MAGIC_RES 0x00001000L /*!< 突然変異: 魔法防御 */
503- #define MUT3_XTRA_NOIS 0x00002000L /*!< 突然変異: 騒音 */
504- #define MUT3_INFRAVIS 0x00004000L /*!< 突然変異: 赤外線視力 */
505- #define MUT3_XTRA_LEGS 0x00008000L /*!< 突然変異: 追加の脚 */
506- #define MUT3_SHORT_LEG 0x00010000L /*!< 突然変異: 短い脚 */
507- #define MUT3_ELEC_TOUC 0x00020000L /*!< 突然変異: 電撃オーラ */
508- #define MUT3_FIRE_BODY 0x00040000L /*!< 突然変異: 火炎オーラ */
509- #define MUT3_WART_SKIN 0x00080000L /*!< 突然変異: イボ肌 */
510- #define MUT3_SCALES 0x00100000L /*!< 突然変異: 鱗肌 */
511- #define MUT3_IRON_SKIN 0x00200000L /*!< 突然変異: 鉄の肌 */
512- #define MUT3_WINGS 0x00400000L /*!< 突然変異: 翼 */
513- #define MUT3_FEARLESS 0x00800000L /*!< 突然変異: 恐れ知らず */
514- #define MUT3_REGEN 0x01000000L /*!< 突然変異: 急回復 */
515- #define MUT3_ESP 0x02000000L /*!< 突然変異: テレパシー */
516- #define MUT3_LIMBER 0x04000000L /*!< 突然変異: しなやかな肉体 */
517- #define MUT3_ARTHRITIS 0x08000000L /*!< 突然変異: 関節の痛み */
518- #define MUT3_BAD_LUCK 0x10000000L /*!< 突然変異: 黒いオーラ(不運) */
519- #define MUT3_VULN_ELEM 0x20000000L /*!< 突然変異: 元素攻撃弱点 */
520- #define MUT3_MOTION 0x40000000L /*!< 突然変異: 正確で力強い動作 */
521- #define MUT3_GOOD_LUCK 0x80000000L /*!< 突然変異: 白いオーラ(幸運) */
522-
523- s16b virtues[8];
524- s16b vir_types[8];
525-
526- TIME_EFFECT word_recall; /* Word of recall counter */
527- TIME_EFFECT alter_reality; /* Alter reality counter */
528- DUNGEON_IDX recall_dungeon; /* Dungeon set to be recalled */
529-
530- ENERGY energy_need; /* Energy needed for next move */
531- ENERGY enchant_energy_need; /* Energy needed for next upkeep effect */
532-
533- FEED food; /* Current nutrition */
534-
535- /*
536- * p_ptr->special_attackによるプレイヤーの攻撃状態の定義 / Bit flags for the "p_ptr->special_attack" variable. -LM-
537- *
538- * Note: The elemental and poison attacks should be managed using the
539- * function "set_ele_attack", in spell2.c. This provides for timeouts and
540- * prevents the player from getting more than one at a time.
541- */
542- BIT_FLAGS special_attack;
543- #define ATTACK_CONFUSE 0x00000001 /*!< プレイヤーのステータス:混乱打撃 */
544- #define ATTACK_XXX1 0x00000002 /*!< プレイヤーのステータス:未使用1 */
545- #define ATTACK_XXX2 0x00000004 /*!< プレイヤーのステータス:未使用2 */
546- #define ATTACK_XXX3 0x00000008 /*!< プレイヤーのステータス:未使用3 */
547- #define ATTACK_ACID 0x00000010 /*!< プレイヤーのステータス:魔法剣/溶解 */
548- #define ATTACK_ELEC 0x00000020 /*!< プレイヤーのステータス:魔法剣/電撃 */
549- #define ATTACK_FIRE 0x00000040 /*!< プレイヤーのステータス:魔法剣/火炎 */
550- #define ATTACK_COLD 0x00000080 /*!< プレイヤーのステータス:魔法剣/冷凍 */
551- #define ATTACK_POIS 0x00000100 /*!< プレイヤーのステータス:魔法剣/毒殺 */
552- #define ATTACK_HOLY 0x00000200 /*!< プレイヤーのステータス:対邪?(未使用) */
553- #define ATTACK_SUIKEN 0x00000400 /*!< プレイヤーのステータス:酔拳 */
554-
555- /*
556- * p_ptr->special_defenseによるプレイヤーの防御状態の定義 / Bit flags for the "p_ptr->special_defense" variable. -LM-
557- */
558- BIT_FLAGS special_defense;
559- #define DEFENSE_ACID 0x00000001 /*!< プレイヤーのステータス:酸免疫 */
560- #define DEFENSE_ELEC 0x00000002 /*!< プレイヤーのステータス:電撃免疫 */
561- #define DEFENSE_FIRE 0x00000004 /*!< プレイヤーのステータス:火炎免疫 */
562- #define DEFENSE_COLD 0x00000008 /*!< プレイヤーのステータス:冷気免疫 */
563- #define DEFENSE_POIS 0x00000010 /*!< プレイヤーのステータス:毒免疫 */
564- #define KAMAE_GENBU 0x00000020 /*!< プレイヤーのステータス:玄武の構え */
565- #define KAMAE_BYAKKO 0x00000040 /*!< プレイヤーのステータス:白虎の構え */
566- #define KAMAE_SEIRYU 0x00000080 /*!< プレイヤーのステータス:青竜の構え */
567- #define KAMAE_SUZAKU 0x00000100 /*!< プレイヤーのステータス:朱雀の構え */
568- #define KATA_IAI 0x00000200 /*!< プレイヤーのステータス:居合 */
569- #define KATA_FUUJIN 0x00000400 /*!< プレイヤーのステータス:風塵 */
570- #define KATA_KOUKIJIN 0x00000800 /*!< プレイヤーのステータス:降鬼陣 */
571- #define KATA_MUSOU 0x00001000 /*!< プレイヤーのステータス:無想 */
572- #define NINJA_KAWARIMI 0x00002000 /*!< プレイヤーのステータス:変わり身 */
573- #define NINJA_S_STEALTH 0x00004000 /*!< プレイヤーのステータス:超隠密 */
574- #define MAX_KAMAE 4 /*!< 修行僧の構え最大数 */
575- #define KAMAE_MASK (KAMAE_GENBU | KAMAE_BYAKKO | KAMAE_SEIRYU | KAMAE_SUZAKU) /*!< 修行僧の構えビット配列 */
576- #define MAX_KATA 4 /*!< 修行僧の型最大数 */
577- #define KATA_MASK (KATA_IAI | KATA_FUUJIN | KATA_KOUKIJIN | KATA_MUSOU) /*!< 修行僧の型ビット配列 */
578-
579- ACTION_IDX action; /* Currently action */
580- #define ACTION_NONE 0 /*!< 持続行動: なし */
581- #define ACTION_SEARCH 1 /*!< 持続行動: 探索 */
582- #define ACTION_REST 2 /*!< 持続行動: 休憩 */
583- #define ACTION_LEARN 3 /*!< 持続行動: 青魔法ラーニング */
584- #define ACTION_FISH 4 /*!< 持続行動: 釣り */
585- #define ACTION_KAMAE 5 /*!< 持続行動: 修行僧の構え */
586- #define ACTION_KATA 6 /*!< 持続行動: 剣術家の型 */
587- #define ACTION_SING 7 /*!< 持続行動: 歌 */
588- #define ACTION_HAYAGAKE 8 /*!< 持続行動: 早駆け */
589- #define ACTION_SPELL 9 /*!< 持続行動: 呪術 */
590-
591- BIT_FLAGS spell_learned1; /* bit mask of spells learned */
592- BIT_FLAGS spell_learned2; /* bit mask of spells learned */
593- BIT_FLAGS spell_worked1; /* bit mask of spells tried and worked */
594- BIT_FLAGS spell_worked2; /* bit mask of spells tried and worked */
595- BIT_FLAGS spell_forgotten1; /* bit mask of spells learned but forgotten */
596- BIT_FLAGS spell_forgotten2; /* bit mask of spells learned but forgotten */
597- SPELL_IDX spell_order[64]; /* order spells learned/remembered/forgotten */
598-
599- SUB_EXP spell_exp[64]; /* Proficiency of spells */
600- SUB_EXP weapon_exp[5][64]; /* Proficiency of weapons */
601- SUB_EXP skill_exp[GINOU_MAX]; /* Proficiency of misc. skill */
602-
603- MAGIC_NUM1 magic_num1[108]; /*!< Array for non-spellbook type magic */
604- MAGIC_NUM2 magic_num2[108]; /*!< 魔道具術師の取り込み済魔道具使用回数 / Flags for non-spellbook type magics */
605-
606- SPELL_IDX mane_spell[MAX_MANE];
607- HIT_POINT mane_dam[MAX_MANE];
608- s16b mane_num;
609-
610- s16b concent; /* Sniper's concentration level */
611-
612- HIT_POINT player_hp[PY_MAX_LEVEL];
613- char died_from[80]; /* What killed the player */
614- concptr last_message; /* Last message on death or retirement */
615- char history[4][60]; /* Textual "history" for the Player */
616-
617- u16b total_winner; /* Total winner */
618- u16b panic_save; /* Panic save */
619-
620- u16b noscore; /* Cheating flags */
621-
622- bool wait_report_score; /* Waiting to report score */
623- bool is_dead; /* Player is dead */
624- bool now_damaged;
625- bool ambush_flag;
626-
627- bool wizard; /* Player is in wizard mode */
628-
629- MONSTER_IDX riding; /* Riding on a monster of this index */
630- byte knowledge; /* Knowledge about yourself */
631- BIT_FLAGS visit; /* Visited towns */
632-
633- RACE_IDX start_race; /* Race at birth */
634- BIT_FLAGS old_race1; /* Record of race changes */
635- BIT_FLAGS old_race2; /* Record of race changes */
636- s16b old_realm; /* Record of realm changes */
637-
638- s16b pet_follow_distance; /* Length of the imaginary "leash" for pets */
639- s16b pet_extra_flags; /* Various flags for controling pets */
640-
641- s16b today_mon; /* Wanted monster */
642-
643- bool dtrap; /* Whether you are on trap-safe grids */
644- FLOOR_IDX floor_id; /* Current floor location */
645-
646- bool autopick_autoregister; /* auto register is in-use or not */
647-
648- byte feeling; /* Most recent dungeon feeling */
649- s32b feeling_turn; /* The current_world_ptr->game_turn of the last dungeon feeling */
650-
651- object_type *inventory_list; /* The player's p_ptr->inventory_list [INVEN_TOTAL] */
652- s16b inven_cnt; /* Number of items in inventory */
653- s16b equip_cnt; /* Number of items in equipment */
654-
655- /*** Temporary fields ***/
656-
657- bool playing; /* True if player is playing */
658- bool leaving; /* True if player is leaving */
659-
660- bool monk_armour_aux;
661- bool monk_notify_aux;
662-
663- byte leave_bldg;
664- byte exit_bldg; /* Goal obtained in arena? -KMW- */
665-
666- bool leaving_dungeon; /* True if player is leaving the dungeon */
667- bool teleport_town;
668- bool enter_dungeon; /* Just enter the dungeon */
669-
670- IDX health_who; /* Health bar trackee */
671-
672- MONRACE_IDX monster_race_idx; /* Monster race trackee */
673-
674- KIND_OBJECT_IDX object_kind_idx; /* Object kind trackee */
675-
676- s16b new_spells; /* Number of spells available */
677- s16b old_spells;
678-
679- s16b old_food_aux; /* Old value of food */
680-
681- bool old_cumber_armor;
682- bool old_cumber_glove;
683- bool old_heavy_wield[2];
684- bool old_heavy_shoot;
685- bool old_icky_wield[2];
686- bool old_riding_wield[2];
687- bool old_riding_ryoute;
688- bool old_monlite;
689-
690- POSITION old_lite; /* Old radius of lite (if any) */
691-
692- bool cumber_armor; /* Mana draining armor */
693- bool cumber_glove; /* Mana draining gloves */
694- bool heavy_wield[2]; /* Heavy weapon */
695- bool heavy_shoot; /* Heavy shooter */
696- bool icky_wield[2]; /* Icky weapon */
697- bool riding_wield[2]; /* Riding weapon */
698- bool riding_ryoute; /* Riding weapon */
699- bool monlite;
700-
701- POSITION cur_lite; /* Radius of lite (if any) */
702-
703- BIT_FLAGS update; /* Pending Updates */
704- #define PU_BONUS 0x00000001L /*!< ステータス更新フラグ: 能力値修正 / Calculate bonuses */
705- #define PU_TORCH 0x00000002L /*!< ステータス更新フラグ: 光源半径 / Calculate torch radius */
706- #define PU_HP 0x00000010L /*!< ステータス更新フラグ: HP / Calculate chp and mhp */
707- #define PU_MANA 0x00000020L /*!< ステータス更新フラグ: MP / Calculate csp and msp */
708- #define PU_SPELLS 0x00000040L /*!< ステータス更新フラグ: 魔法学習数 / Calculate spells */
709- #define PU_COMBINE 0x00000100L /*!< アイテム処理フラグ: アイテムの結合を要する / Combine the pack */
710- #define PU_REORDER 0x00000200L /*!< アイテム処理フラグ: アイテムの並び替えを要する / Reorder the pack */
711- #define PU_AUTODESTROY 0x00000400L /*!< アイテム処理フラグ: アイテムの自動破壊を要する / Auto-destroy marked item */
712- #define PU_UN_VIEW 0x00010000L /*!< ステータス更新フラグ: 地形の視界外化 / Forget view */
713- #define PU_UN_LITE 0x00020000L /*!< ステータス更新フラグ: 明暗範囲の視界外化 / Forget lite */
714- #define PU_VIEW 0x00100000L /*!< ステータス更新フラグ: 視界 / Update view */
715- #define PU_LITE 0x00200000L /*!< ステータス更新フラグ: 明暗範囲 / Update lite */
716- #define PU_MON_LITE 0x00400000L /*!< ステータス更新フラグ: モンスターの光源範囲 / Monster illumination */
717- #define PU_DELAY_VIS 0x00800000L /*!< ステータス更新フラグ: 視界の追加更新 / Mega-Hack -- Delayed visual update */
718- #define PU_MONSTERS 0x01000000L /*!< ステータス更新フラグ: モンスターのステータス / Update monsters */
719- #define PU_DISTANCE 0x02000000L /*!< ステータス更新フラグ: プレイヤーとモンスターの距離 / Update distances */
720- #define PU_FLOW 0x10000000L /*!< ステータス更新フラグ: プレイヤーから各マスへの到達距離 / Update flow */
721-
722- BIT_FLAGS redraw; /* Normal Redraws */
723- BIT_FLAGS window; /* Window Redraws */
724-
725- s16b stat_use[A_MAX]; /* Current modified stats */
726- s16b stat_top[A_MAX]; /* Maximal modified stats */
727-
728- bool sutemi;
729- bool counter;
730-
731- ALIGNMENT align; /* Good/evil/neutral */
732- POSITION run_py;
733- POSITION run_px;
734- DIRECTION fishing_dir;
735-
736-
737- /*** Extracted fields ***/
738-
739- WEIGHT total_weight; /*!< 所持品と装備品の計算総重量 / Total weight being carried */
740-
741- s16b stat_add[A_MAX]; /* Modifiers to stat values */
742- s16b stat_ind[A_MAX]; /* Indexes into stat tables */
743-
744- bool hack_mutation;
745-
746- bool immune_acid; /* Immunity to acid */
747- bool immune_elec; /* Immunity to lightning */
748- bool immune_fire; /* Immunity to fire */
749- bool immune_cold; /* Immunity to cold */
750-
751- bool resist_acid; /* Resist acid */
752- bool resist_elec; /* Resist lightning */
753- bool resist_fire; /* Resist fire */
754- bool resist_cold; /* Resist cold */
755- bool resist_pois; /* Resist poison */
756-
757- bool resist_conf; /* Resist confusion */
758- bool resist_sound; /* Resist sound */
759- bool resist_lite; /* Resist light */
760- bool resist_dark; /* Resist darkness */
761- bool resist_chaos; /* Resist chaos */
762- bool resist_disen; /* Resist disenchant */
763- bool resist_shard; /* Resist shards */
764- bool resist_nexus; /* Resist nexus */
765- bool resist_blind; /* Resist blindness */
766- bool resist_neth; /* Resist nether */
767- bool resist_fear; /* Resist fear */
768- bool resist_time; /* Resist time */
769- bool resist_water; /* Resist water */
770-
771- bool reflect; /* Reflect 'bolt' attacks */
772- bool sh_fire; /* Fiery 'immolation' effect */
773- bool sh_elec; /* Electric 'immolation' effect */
774- bool sh_cold; /* Cold 'immolation' effect */
775-
776- bool anti_magic; /* Anti-magic */
777- bool anti_tele; /* Prevent teleportation */
778-
779- bool sustain_str; /* Keep strength */
780- bool sustain_int; /* Keep intelligence */
781- bool sustain_wis; /* Keep wisdom */
782- bool sustain_dex; /* Keep dexterity */
783- bool sustain_con; /* Keep constitution */
784- bool sustain_chr; /* Keep charisma */
785-
786- BIT_FLAGS cursed; /* Player is cursed */
787-
788- bool can_swim; /* No damage falling */
789- bool levitation; /* No damage falling */
790- bool lite; /* Permanent light */
791- bool free_act; /* Never paralyzed */
792- bool see_inv; /* Can see invisible */
793- bool regenerate; /* Regenerate hit pts */
794- bool hold_exp; /* Resist exp draining */
795-
796- bool telepathy; /* Telepathy */
797- bool esp_animal;
798- bool esp_undead;
799- bool esp_demon;
800- bool esp_orc;
801- bool esp_troll;
802- bool esp_giant;
803- bool esp_dragon;
804- bool esp_human;
805- bool esp_evil;
806- bool esp_good;
807- bool esp_nonliving;
808- bool esp_unique;
809-
810- bool slow_digest; /* Slower digestion */
811- bool bless_blade; /* Blessed blade */
812- bool xtra_might; /* Extra might bow */
813- bool impact[2]; /* Earthquake blows */
814- bool pass_wall; /* Permanent wraithform */
815- bool kill_wall;
816- bool dec_mana;
817- bool easy_spell;
818- bool heavy_spell;
819- bool warning;
820- bool mighty_throw;
821- bool see_nocto; /* Noctovision */
822-
823- DICE_NUMBER to_dd[2]; /* Extra dice/sides */
824- DICE_SID to_ds[2];
825-
826- HIT_PROB dis_to_h[2]; /*!< 判明している現在の表記上の近接武器命中修正値 / Known bonus to hit (wield) */
827- HIT_PROB dis_to_h_b; /*!< 判明している現在の表記上の射撃武器命中修正値 / Known bonus to hit (bow) */
828- HIT_POINT dis_to_d[2]; /*!< 判明している現在の表記上の近接武器ダメージ修正値 / Known bonus to dam (wield) */
829- ARMOUR_CLASS dis_to_a; /*!< 判明している現在の表記上の装備AC修正値 / Known bonus to ac */
830- ARMOUR_CLASS dis_ac; /*!< 判明している現在の表記上の装備AC基礎値 / Known base ac */
831-
832- s16b to_h[2]; /* Bonus to hit (wield) */
833- s16b to_h_b; /* Bonus to hit (bow) */
834- s16b to_h_m; /* Bonus to hit (misc) */
835- s16b to_d[2]; /* Bonus to dam (wield) */
836- s16b to_d_m; /* Bonus to dam (misc) */
837- s16b to_a; /* Bonus to ac */
838-
839- s16b to_m_chance; /* Minusses to cast chance */
840-
841- bool ryoute;
842- bool migite;
843- bool hidarite;
844- bool no_flowed;
845-
846- ARMOUR_CLASS ac; /*!< 装備無しの基本AC / Base ac */
847-
848- ACTION_SKILL_POWER see_infra; /*!< 赤外線視能力の強さ /Infravision range */
849- ACTION_SKILL_POWER skill_dis; /*!< 行動技能値:解除能力 / Skill: Disarming */
850- ACTION_SKILL_POWER skill_dev; /*!< 行動技能値:魔道具使用 / Skill: Magic Devices */
851- ACTION_SKILL_POWER skill_sav; /*!< 行動技能値:魔法防御 / Skill: Saving throw */
852- ACTION_SKILL_POWER skill_stl; /*!< 行動技能値:隠密 / Skill: Stealth factor */
853-
854- /*!
855- * 行動技能値:知覚 / Skill: Searching ability
856- * この値はsearch()による地形の隠し要素発見処理などで混乱、盲目、幻覚、無光源などの
857- * 状態異常がない限り、難易度修正などがないままそのままパーセンテージ値として使われる。
858- * 100以上ならば必ず全てのトラップなどを見つけることが出来る。
859- */
860- ACTION_SKILL_POWER skill_srh;
861-
862- ACTION_SKILL_POWER skill_fos; /*!< 行動技能値:探索 / Skill: Searching frequency */
863- ACTION_SKILL_POWER skill_thn; /*!< 行動技能値:打撃命中能力 / Skill: To hit (normal) */
864- ACTION_SKILL_POWER skill_thb; /*!< 行動技能値:射撃命中能力 / Skill: To hit (shooting) */
865- ACTION_SKILL_POWER skill_tht; /*!< 行動技能値:投射命中能力 / Skill: To hit (throwing) */
866- ACTION_SKILL_POWER skill_dig; /*!< 行動技能値:掘削 / Skill: Digging */
867-
868- s16b num_blow[2]; /* Number of blows */
869- s16b num_fire; /* Number of shots */
870-
871- byte tval_xtra; /* Correct xtra tval */
872- byte tval_ammo; /* Correct ammo tval */
873-
874- byte pspeed; /* Current speed */
875-
876- ENERGY energy_use; /* Energy use this current_world_ptr->game_turn */
877-
878- POSITION y; /* Player location in dungeon */
879- POSITION x; /* Player location in dungeon */
880- GAME_TEXT name[32]; /*!< 現在のプレイヤー名 / Current player's character name */
881-};
882-
883280
884281 /*
885282 * A structure to hold "rolled" information
Show on old repository browser