struct feature_state
{
- byte action; /*!< 変化条件をFF_*のIDで指定 / Action (FF_*) */
- s16b result; /*!< 変化先ID / Result (f_info ID) */
+ FF_FLAGS_IDX action; /*!< 変化条件をFF_*のIDで指定 / Action (FF_*) */
+ STR_OFFSET result_tag; /*!< 変化先ID / Result (f_info ID) */
+ FEAT_IDX result; /*!< 変化先ID / Result (f_info ID) */
};
STR_OFFSET text; /*!< 地形説明参照のためのネームバッファオフセット値 / Text (offset) */
STR_OFFSET tag; /*!< 地形特性タグ参照のためのネームバッファオフセット値 / Tag (offset) */
- IDX mimic; /*!< 未確定時の外形地形ID / Feature to mimic */
+ STR_OFFSET mimic_tag;
+ STR_OFFSET destroyed_tag;
+
+ FEAT_IDX mimic; /*!< 未確定時の外形地形ID / Feature to mimic */
+ FEAT_IDX destroyed; /*!< *破壊*に巻き込まれた時の地形移行先(未実装?) / Default destroyed state */
BIT_FLAGS flags[FF_FLAG_SIZE]; /*!< 地形の基本特性ビット配列 / Flags */
- u16b priority; /*!< 縮小表示で省略する際の表示優先度 / Map priority */
- IDX destroyed; /*!< *破壊*に巻き込まれた時の地形移行先(未実装?) / Default destroyed state */
+ FEAT_PRIORITY priority; /*!< 縮小表示で省略する際の表示優先度 / Map priority */
feature_state state[MAX_FEAT_STATES]; /*!< feature_state テーブル */
- byte subtype; /*!< 副特性値 */
+ FEAT_SUBTYPE subtype; /*!< 副特性値 */
FEAT_POWER power; /*!< 地形強度 */
SYMBOL_COLOR d_attr[F_LIT_MAX]; /*!< デフォルトの地形シンボルカラー / Default feature attribute */
BIT_FLAGS gen_flags; /*!< ベースアイテムの生成特性ビット配列 / flags for generate */
DEPTH locale[4]; /*!< ベースアイテムの生成階テーブル / Allocation level(s) */
- byte chance[4]; /*!< ベースアイテムの生成確率テーブル / Allocation chance(s) */
+ PROB chance[4]; /*!< ベースアイテムの生成確率テーブル / Allocation chance(s) */
DEPTH level; /*!< ベースアイテムの基本生成階 / Level */
- byte extra; /*!< その他色々のビットフラグ配列 / Something */
+ BIT_FLAGS8 extra; /*!< その他色々のビットフラグ配列 / Something */
SYMBOL_COLOR d_attr; /*!< デフォルトのアイテムシンボルカラー / Default object attribute */
SYMBOL_CODE d_char; /*!< デフォルトのアイテムシンボルアルファベット / Default object character */
SYMBOL_COLOR x_attr; /*!< 設定変更後のアイテムシンボルカラー / Desired object attribute */
SYMBOL_CODE x_char; /*!< 設定変更後のアイテムシンボルアルファベット / Desired object character */
- s16b flavor; /*!< 調査中(TODO) / Special object flavor (or zero) */
+ IDX flavor; /*!< 調査中(TODO) / Special object flavor (or zero) */
bool easy_know; /*!< ベースアイテムが初期からベース名を判断可能かどうか / This object is always known (if aware) */
bool tried; /*!< ベースアイテムを未鑑定のまま試したことがあるか / The player has "tried" one of the items */
- IDX act_idx; /*!< 発動能力のID / Activative ability index */
+ ACTIVATION_IDX act_idx; /*!< 発動能力のID / Activative ability index */
};
STR_OFFSET name; /* Name (offset) */
STR_OFFSET text; /* Text (offset) */
- byte slot; /* Standard slot value */
- byte rating; /* Rating boost */
+ INVENTORY_IDX slot; /*!< 装備部位 / Standard slot value */
+ PRICE rating; /*!< ベースアイテムからの価値加速 / Rating boost */
DEPTH level; /* Minimum level */
RARITY rarity; /* Object rarity */
struct monster_blow
{
- byte method;
- byte effect;
+ BLOW_METHOD method;
+ BLOW_EFFECT effect;
DICE_NUMBER d_dice;
DICE_SID d_side;
};
EXP mexp; /*!< 殺害時基本経験値 / Exp value for kill */
- s16b extra; /*!< 未使用 / Unused (for now) */
+ BIT_FLAGS16 extra; /*!< 未使用 / Unused (for now) */
- byte freq_spell; /*!< 魔法&特殊能力仕様頻度(1/n) / Spell frequency */
+ RARITY freq_spell; /*!< 魔法&特殊能力仕様頻度(1/n) / Spell frequency */
BIT_FLAGS flags1; /* Flags 1 (general) */
BIT_FLAGS flags2; /* Flags 2 (abilities) */
SYMBOL_CODE x_char; /* Desired monster character */
- byte max_num; /* Maximum population allowed per level */
-
- byte cur_num; /* Monster population on current level */
+ MONSTER_NUMBER max_num; /* Maximum population allowed per level */
+ MONSTER_NUMBER cur_num; /* Monster population on current level */
- s16b floor_id; /* Location of unique monster */
+ FLOOR_IDX floor_id; /* Location of unique monster */
- s16b r_sights; /* Count sightings of this monster */
- s16b r_deaths; /* Count deaths from this monster */
+ MONSTER_NUMBER r_sights; /* Count sightings of this monster */
+ MONSTER_NUMBER r_deaths; /* Count deaths from this monster */
- s16b r_pkills; /* Count visible monsters killed in this life */
- s16b r_akills; /* Count all monsters killed in this life */
- s16b r_tkills; /* Count monsters killed in all lives */
+ MONSTER_NUMBER r_pkills; /* Count visible monsters killed in this life */
+ MONSTER_NUMBER r_akills; /* Count all monsters killed in this life */
+ MONSTER_NUMBER r_tkills; /* Count monsters killed in all lives */
byte r_wake; /* Number of times woken up (?) */
byte r_ignore; /* Number of times ignored (?) */
byte r_xtra1; /* Something (unused) */
byte r_xtra2; /* Something (unused) */
- byte r_drop_gold; /* Max number of gold dropped at once */
- byte r_drop_item; /* Max number of item dropped at once */
+ ITEM_NUMBER r_drop_gold; /*!< これまでに撃破時に落とした財宝の数 / Max number of gold dropped at once */
+ ITEM_NUMBER r_drop_item; /*!< これまでに撃破時に落としたアイテムの数 / Max number of item dropped at once */
byte r_cast_spell; /* Max number of other spells seen */
struct cave_type
{
- u16b info; /* Hack -- cave flags */
+ BIT_FLAGS info; /* Hack -- cave flags */
FEAT_IDX feat; /* Hack -- feature type */
OBJECT_IDX o_idx; /* Object in this grid */
MONSTER_IDX m_idx; /* Monster in this grid */
- s16b special; /* Special cave info */
+ /*! 地形の特別な情報を保存する / Special cave info
+ * 具体的な使用一覧はクエスト行き階段の移行先クエストID、
+ * 各ダンジョン入口の移行先ダンジョンID、
+ *
+ */
+ s16b special;
FEAT_IDX mimic; /* Feature to mimic */
XTRA8 xtra1; /* Extra info type (now unused) */
XTRA8 xtra2; /* Extra info activation index */
XTRA8 xtra3; /* Extra info for weaponsmith */
- XTRA16 xtra4; /* Extra info fuel or captured monster's current HP */
- XTRA16 xtra5; /* Extra info captured monster's max HP */
+ XTRA16 xtra4; /*!< 光源の残り寿命、あるいは捕らえたモンスターの現HP / Extra info fuel or captured monster's current HP */
+ XTRA16 xtra5; /*!< 捕らえたモンスターの最大HP / Extra info captured monster's max HP */
HIT_PROB to_h; /* Plusses to hit */
HIT_POINT to_d; /* Plusses to damage */
IDX next_o_idx; /* Next object in stack (if any) */
IDX held_m_idx; /* Monster holding us (if any) */
+
+ ARTIFACT_BIAS_IDX artifact_bias; /*!< ランダムアーティファクト生成時のバイアスID */
};
struct alloc_entry
{
- IDX index; /* The actual index */
+ KIND_OBJECT_IDX index; /* The actual index */
DEPTH level; /* Base dungeon level */
PROB prob1; /* Probability, pass 1 */
struct quest_type
{
- s16b status; /*!< クエストの進行ステータス / Is the quest taken, completed, finished? */
-
- s16b type; /*!< クエストの種別 / The quest type */
+ QUEST_STATUS status; /*!< クエストの進行ステータス / Is the quest taken, completed, finished? */
+ QUEST_TYPE type; /*!< クエストの種別 / The quest type */
char name[60]; /*!< クエスト名 / Quest name */
DEPTH level; /*!< 処理階層 / Dungeon level */
MONSTER_NUMBER cur_num; /*!< 撃破したモンスターの数 / Number killed */
MONSTER_NUMBER max_num; /*!< 求められるモンスターの撃破数 / Number required */
- IDX k_idx; /*!< クエスト対象のアイテムID / object index */
+ KIND_OBJECT_IDX k_idx; /*!< クエスト対象のアイテムID / object index */
MONSTER_NUMBER num_mon; /*!< QUEST_TYPE_KILL_NUMBER時の目標撃破数 number of monsters on level */
- byte flags; /*!< クエストに関するフラグビット / quest flags */
- byte dungeon; /*!< クエスト対象のダンジョンID / quest dungeon */
+ BIT_FLAGS flags; /*!< クエストに関するフラグビット / quest flags */
+ DUNGEON_IDX dungeon; /*!< クエスト対象のダンジョンID / quest dungeon */
- byte complev; /*!< クリア時プレイヤーレベル / player level (complete) */
- u32b comptime; /*!< クリア時ゲーム時間 / quest clear time*/
+ PLAYER_LEVEL complev; /*!< クリア時プレイヤーレベル / player level (complete) */
+ REAL_TIME comptime; /*!< クリア時ゲーム時間 / quest clear time*/
};
{
cptr owner_name; /* Name */
- s32b max_cost; /* Purse limit */
+ PRICE max_cost; /* Purse limit */
byte max_inflate; /* Inflation (max) */
byte min_inflate; /* Inflation (min) */
BIT_FLAGS special_attack; /* Special attack capacity -LM- */
BIT_FLAGS special_defense; /* Special block capacity -LM- */
- byte action; /* Currently action */
+ ACTION_IDX action; /* Currently action */
BIT_FLAGS spell_learned1; /* bit mask of spells learned */
BIT_FLAGS spell_learned2; /* bit mask of spells learned */
SUB_EXP skill_exp[GINOU_MAX]; /* Proficiency of misc. skill */
MAGIC_NUM1 magic_num1[108]; /*!< Array for non-spellbook type magic */
- MAGIC_NUM2 magic_num2[108]; /*!< Flags for non-spellbook type magics */
+ MAGIC_NUM2 magic_num2[108]; /*!< 魔道具術師の取り込み済魔道具使用回数 / Flags for non-spellbook type magics */
SPELL_IDX mane_spell[MAX_MANE];
HIT_POINT mane_dam[MAX_MANE];
bool sutemi;
bool counter;
- s32b align; /* Good/evil/neutral */
+ ALIGNMENT align; /* Good/evil/neutral */
POSITION run_py;
POSITION run_px;
/*** Extracted fields ***/
- u32b total_weight; /* Total weight being carried */
+ WEIGHT total_weight; /*!< 所持品と装備品の計算総重量 / Total weight being carried */
s16b stat_add[6]; /* Modifiers to stat values */
s16b stat_ind[6]; /* Indexes into stat tables */
bool sustain_con; /* Keep constitution */
bool sustain_chr; /* Keep charisma */
- u32b cursed; /* Player is cursed */
+ BIT_FLAGS cursed; /* Player is cursed */
bool can_swim; /* No damage falling */
bool levitation; /* No damage falling */
bool mighty_throw;
bool see_nocto; /* Noctovision */
- s16b to_dd[2]; /* Extra dice/sides */
- s16b to_ds[2];
-
- s16b dis_to_h[2]; /* Known bonus to hit (wield) */
- s16b dis_to_h_b; /* Known bonus to hit (bow) */
- s16b dis_to_d[2]; /* Known bonus to dam (wield) */
- s16b dis_to_a; /* Known bonus to ac */
+ DICE_NUMBER to_dd[2]; /* Extra dice/sides */
+ DICE_SID to_ds[2];
- s16b dis_ac; /* Known base ac */
+ HIT_PROB dis_to_h[2]; /*!< 判明している現在の表記上の近接武器命中修正値 / Known bonus to hit (wield) */
+ HIT_PROB dis_to_h_b; /*!< 判明している現在の表記上の射撃武器命中修正値 / Known bonus to hit (bow) */
+ HIT_POINT dis_to_d[2]; /*!< 判明している現在の表記上の近接武器ダメージ修正値 / Known bonus to dam (wield) */
+ ARMOUR_CLASS dis_to_a; /*!< 判明している現在の表記上の装備AC修正値 / Known bonus to ac */
+ ARMOUR_CLASS dis_ac; /*!< 判明している現在の表記上の装備AC基礎値 / Known base ac */
- s16b to_h[2]; /* Bonus to hit (wield) */
- s16b to_h_b; /* Bonus to hit (bow) */
- s16b to_h_m; /* Bonus to hit (misc) */
- s16b to_d[2]; /* Bonus to dam (wield) */
- s16b to_d_m; /* Bonus to dam (misc) */
+ s16b to_h[2]; /* Bonus to hit (wield) */
+ s16b to_h_b; /* Bonus to hit (bow) */
+ s16b to_h_m; /* Bonus to hit (misc) */
+ s16b to_d[2]; /* Bonus to dam (wield) */
+ s16b to_d_m; /* Bonus to dam (misc) */
s16b to_a; /* Bonus to ac */
s16b to_m_chance; /* Minusses to cast chance */
bool hidarite;
bool no_flowed;
- s16b ac; /* Base ac */
+ ARMOUR_CLASS ac; /*!< 装備無しの基本AC / Base ac */
- s16b see_infra; /* Infravision range */
+ ACTION_SKILL_POWER see_infra; /*!< 赤外線視能力の強さ /Infravision range */
+ ACTION_SKILL_POWER skill_dis; /*!< 行動技能値:解除能力 / Skill: Disarming */
+ ACTION_SKILL_POWER skill_dev; /*!< 行動技能値:魔道具使用 / Skill: Magic Devices */
+ ACTION_SKILL_POWER skill_sav; /*!< 行動技能値:魔法防御 / Skill: Saving throw */
+ ACTION_SKILL_POWER skill_stl; /*!< 行動技能値:隠密 / Skill: Stealth factor */
- s16b skill_dis; /* Skill: Disarming */
- s16b skill_dev; /* Skill: Magic Devices */
- s16b skill_sav; /* Skill: Saving throw */
- s16b skill_stl; /* Skill: Stealth factor */
- s16b skill_srh; /* Skill: Searching ability */
- s16b skill_fos; /* Skill: Searching frequency */
- s16b skill_thn; /* Skill: To hit (normal) */
- s16b skill_thb; /* Skill: To hit (shooting) */
- s16b skill_tht; /* Skill: To hit (throwing) */
- s16b skill_dig; /* Skill: Digging */
+ /*!
+ * 行動技能値:知覚 / Skill: Searching ability
+ * この値はsearch()による地形の隠し要素発見処理などで混乱、盲目、幻覚、無光源などの
+ * 状態異常がない限り、難易度修正などがないままそのままパーセンテージ値として使われる。
+ * 100以上ならば必ず全てのトラップなどを見つけることが出来る。
+ */
+ ACTION_SKILL_POWER skill_srh;
+
+
+ ACTION_SKILL_POWER skill_fos; /*!< 行動技能値:探索 / Skill: Searching frequency */
+ ACTION_SKILL_POWER skill_thn; /*!< 行動技能値:打撃命中能力 / Skill: To hit (normal) */
+ ACTION_SKILL_POWER skill_thb; /*!< 行動技能値:射撃命中能力 / Skill: To hit (shooting) */
+ ACTION_SKILL_POWER skill_tht; /*!< 行動技能値:投射命中能力 / Skill: To hit (throwing) */
+ ACTION_SKILL_POWER skill_dig; /*!< 行動技能値:掘削 / Skill: Digging */
s16b num_blow[2]; /* Number of blows */
s16b num_fire; /* Number of shots */
byte tval_xtra; /* Correct xtra tval */
-
byte tval_ammo; /* Correct ammo tval */
byte pspeed; /* Current speed */
- s16b energy_use; /* Energy use this turn */
+ ENERGY energy_use; /* Energy use this turn */
POSITION y; /* Player location in dungeon */
POSITION x; /* Player location in dungeon */
- char name[32]; /* Current player's character name */
+ char name[32]; /*!< 現在のプレイヤー名 / Current player's character name */
};
s16b wt;
s16b sc;
- s32b au;
+ PRICE au; /*!< 初期の所持金 */
BASE_STATUS stat_max[6]; /* Current "maximal" stat values */
BASE_STATUS stat_max_max[6]; /* Maximal "maximal" stat values */
HIT_POINT player_hp[PY_MAX_LEVEL];
- s16b chaos_patron;
+ PATRON_IDX chaos_patron;
s16b vir_types[8];
typedef struct monster_power monster_power;
struct monster_power
{
- int level;
- int smana;
- int fail;
+ PLAYER_LEVEL level;
+ MANA_POINT smana;
+ PERCENTAGE fail;
int manedam;
int manefail;
int use_stat;
char owner_race[20]; /* proprietor race */
char act_names[8][30]; /* action names */
- s32b member_costs[8]; /* Costs for class members of building */
- s32b other_costs[8]; /* Costs for nonguild members */
+ PRICE member_costs[8]; /* Costs for class members of building */
+ PRICE other_costs[8]; /* Costs for nonguild members */
char letters[8]; /* action letters */
- s16b actions[8]; /* action codes */
- s16b action_restr[8]; /* action restrictions */
+ BACT_IDX actions[8]; /* action codes */
+ BACT_RESTRICT_IDX action_restr[8]; /* action restrictions */
- s16b member_class[MAX_CLASS]; /* which classes are part of guild */
- s16b member_race[MAX_RACES]; /* which classes are part of guild */
- s16b member_realm[MAX_MAGIC+1]; /* which realms are part of guild */
+ CLASS_IDX member_class[MAX_CLASS]; /* which classes are part of guild */
+ RACE_IDX member_race[MAX_RACES]; /* which classes are part of guild */
+ REALM_IDX member_realm[MAX_MAGIC+1]; /* which realms are part of guild */
};
PLAYER_LEVEL min_plev; /* Minimal plev needed to enter -- it's an anti-cheating mesure */
BIT_FLAGS16 pit;
BIT_FLAGS16 nest;
- byte mode; /* Mode of combinaison of the monster flags */
+ BIT_FLAGS8 mode; /* Mode of combinaison of the monster flags */
int min_m_alloc_level; /* Minimal number of monsters per level */
int max_m_alloc_chance; /* There is a 1/max_m_alloc_chance chance per round of creating a new monster */
ARTIFACT_IDX final_artifact; /* The artifact you'll find at the bottom */
MONRACE_IDX final_guardian; /* The artifact's guardian. If an artifact is specified, then it's NEEDED */
- byte special_div; /* % of monsters affected by the flags/races allowed, to add some variety */
+ PROB special_div; /* % of monsters affected by the flags/races allowed, to add some variety */
int tunnel_percent;
int obj_great;
int obj_good;
typedef struct
{
s16b floor_id; /* No recycle until 65536 IDs are all used */
- byte savefile_id; /* ID for savefile (from 0 to MAX_SAVED_FLOOR) */
+ s16b savefile_id; /* ID for savefile (from 0 to MAX_SAVED_FLOOR) */
DEPTH dun_level;
s32b last_visit; /* Time count of last visit. 0 for new floor. */
u32b visit_mark; /* Older has always smaller mark. */
*/
typedef struct
{
- u16b info;
+ BIT_FLAGS info;
s16b feat;
s16b mimic;
s16b special;