Hengband  2.2.1
データ構造 | マクロ定義 | 型定義 | 関数 | 変数
player-status.h ファイル
#include "floor.h"
player-status.h の依存先関係図:
被依存関係図:

[ソースコード]

データ構造

struct  player_type
 

マクロ定義

#define PY_MAX_EXP   99999999L
 プレイヤー経験値の最大値 / Maximum exp [詳解]
 
#define PY_MAX_GOLD   999999999L
 プレイヤー所持金の最大値 / Maximum gold [詳解]
 
#define PY_MAX_LEVEL   50
 プレイヤーレベルの最大値 / Maximum level [詳解]
 
#define GINOU_MAX   10
 
#define MAX_MANE   16
 
#define MAGIC_GLOVE_REDUCE_MANA   0x0001
 
#define MAGIC_FAIL_5PERCENT   0x0002
 
#define MAGIC_GAIN_EXP   0x0004
 
#define REALM1_BOOK   (p_ptr->realm1 + TV_LIFE_BOOK - 1)
 
#define REALM2_BOOK   (p_ptr->realm2 + TV_LIFE_BOOK - 1)
 
#define SPELL_DD_S   27
 
#define SPELL_DD_T   13
 
#define SPELL_SW   22
 
#define SPELL_KABE   20
 
#define EMPTY_HAND_NONE   0x0000 /* Both hands are used */
 
#define EMPTY_HAND_LARM   0x0001 /* Left hand is empty */
 
#define EMPTY_HAND_RARM   0x0002 /* Right hand is empty */
 
#define SEX_FEMALE   0
 
#define SEX_MALE   1
 
#define MAX_SEXES   2
 性別の定義最大数 / Maximum number of player "sex" types (see "table.c", etc) [詳解]
 
#define A_STR   0
 
#define A_INT   1
 
#define A_WIS   2
 
#define A_DEX   3
 
#define A_CON   4
 
#define A_CHR   5
 
#define A_MAX   6
 
#define COMMAND_ARG_REST_UNTIL_DONE   -2
 休憩コマンド引数 … 必要な分だけ回復 [詳解]
 
#define COMMAND_ARG_REST_FULL_HEALING   -1
 休憩コマンド引数 … HPとMPが全回復するまで [詳解]
 
#define MUT1_SPIT_ACID   0x00000001L
 突然変異: 酸の唾 [詳解]
 
#define MUT1_BR_FIRE   0x00000002L
 突然変異: 炎のブレス [詳解]
 
#define MUT1_HYPN_GAZE   0x00000004L
 突然変異: 催眠睨み [詳解]
 
#define MUT1_TELEKINES   0x00000008L
 突然変異: 念動力 [詳解]
 
#define MUT1_VTELEPORT   0x00000010L
 突然変異: テレポート / Voluntary teleport [詳解]
 
#define MUT1_MIND_BLST   0x00000020L
 突然変異: 精神攻撃 [詳解]
 
#define MUT1_RADIATION   0x00000040L
 突然変異: 放射能 [詳解]
 
#define MUT1_VAMPIRISM   0x00000080L
 突然変異: 吸血 [詳解]
 
#define MUT1_SMELL_MET   0x00000100L
 突然変異: 金属嗅覚 [詳解]
 
#define MUT1_SMELL_MON   0x00000200L
 突然変異: 敵臭嗅覚 [詳解]
 
#define MUT1_BLINK   0x00000400L
 突然変異: ショート・テレポート [詳解]
 
#define MUT1_EAT_ROCK   0x00000800L
 突然変異: 岩喰い [詳解]
 
#define MUT1_SWAP_POS   0x00001000L
 突然変異: 位置交換 [詳解]
 
#define MUT1_SHRIEK   0x00002000L
 突然変異: 叫び [詳解]
 
#define MUT1_ILLUMINE   0x00004000L
 突然変異: 照明 [詳解]
 
#define MUT1_DET_CURSE   0x00008000L
 突然変異: 呪い感知 [詳解]
 
#define MUT1_BERSERK   0x00010000L
 突然変異: 狂戦士化 [詳解]
 
#define MUT1_POLYMORPH   0x00020000L
 突然変異: 変身 [詳解]
 
#define MUT1_MIDAS_TCH   0x00040000L
 突然変異: ミダスの手 [詳解]
 
#define MUT1_GROW_MOLD   0x00080000L
 突然変異: カビ発生 [詳解]
 
#define MUT1_RESIST   0x00100000L
 突然変異: エレメント耐性 [詳解]
 
#define MUT1_EARTHQUAKE   0x00200000L
 突然変異: 地震 [詳解]
 
#define MUT1_EAT_MAGIC   0x00400000L
 突然変異: 魔力喰い [詳解]
 
#define MUT1_WEIGH_MAG   0x00800000L
 突然変異: 魔力感知 [詳解]
 
#define MUT1_STERILITY   0x01000000L
 突然変異: 増殖阻止 [詳解]
 
#define MUT1_PANIC_HIT   0x02000000L
 突然変異: ヒットアンドアウェイ [詳解]
 
#define MUT1_DAZZLE   0x04000000L
 突然変異: 眩惑 [詳解]
 
#define MUT1_LASER_EYE   0x08000000L
 突然変異: レーザー・アイ [詳解]
 
#define MUT1_RECALL   0x10000000L
 突然変異: 帰還 [詳解]
 
#define MUT1_BANISH   0x20000000L
 突然変異: 邪悪消滅 [詳解]
 
#define MUT1_COLD_TOUCH   0x40000000L
 突然変異: 凍結の手 [詳解]
 
#define MUT1_LAUNCHER   0x80000000L
 突然変異: アイテム投げ [詳解]
 
#define MUT2_BERS_RAGE   0x00000001L
 突然変異: 狂戦士化の発作 [詳解]
 
#define MUT2_COWARDICE   0x00000002L
 突然変異: 臆病 [詳解]
 
#define MUT2_RTELEPORT   0x00000004L
 突然変異: ランダムテレポート / Random teleport, instability [詳解]
 
#define MUT2_ALCOHOL   0x00000008L
 突然変異: アルコール分泌 [詳解]
 
#define MUT2_HALLU   0x00000010L
 突然変異: 幻覚を引き起こす精神錯乱 [詳解]
 
#define MUT2_FLATULENT   0x00000020L
 突然変異: 猛烈な屁 [詳解]
 
#define MUT2_SCOR_TAIL   0x00000040L
 突然変異: サソリの尻尾 [詳解]
 
#define MUT2_HORNS   0x00000080L
 突然変異: ツノ [詳解]
 
#define MUT2_BEAK   0x00000100L
 突然変異: クチバシ [詳解]
 
#define MUT2_ATT_DEMON   0x00000200L
 突然変異: デーモンを引き付ける [詳解]
 
#define MUT2_PROD_MANA   0x00000400L
 突然変異: 制御できない魔力のエネルギー [詳解]
 
#define MUT2_SPEED_FLUX   0x00000800L
 突然変異: ランダムな加減速 [詳解]
 
#define MUT2_BANISH_ALL   0x00001000L
 突然変異: ランダムなモンスター消滅 [詳解]
 
#define MUT2_EAT_LIGHT   0x00002000L
 突然変異: 光源喰い [詳解]
 
#define MUT2_TRUNK   0x00004000L
 突然変異: 象の鼻 [詳解]
 
#define MUT2_ATT_ANIMAL   0x00008000L
 突然変異: 動物を引き寄せる [詳解]
 
#define MUT2_TENTACLES   0x00010000L
 突然変異: 邪悪な触手 [詳解]
 
#define MUT2_RAW_CHAOS   0x00020000L
 突然変異: 純カオス [詳解]
 
#define MUT2_NORMALITY   0x00040000L
 突然変異: ランダムな変異の消滅 [詳解]
 
#define MUT2_WRAITH   0x00080000L
 突然変異: ランダムな幽体化 [詳解]
 
#define MUT2_POLY_WOUND   0x00100000L
 突然変異: ランダムな傷の変化 [詳解]
 
#define MUT2_WASTING   0x00200000L
 突然変異: 衰弱 [詳解]
 
#define MUT2_ATT_DRAGON   0x00400000L
 突然変異: ドラゴンを引き寄せる [詳解]
 
#define MUT2_WEIRD_MIND   0x00800000L
 突然変異: ランダムなテレパシー [詳解]
 
#define MUT2_NAUSEA   0x01000000L
 突然変異: 落ち着きの無い胃 [詳解]
 
#define MUT2_CHAOS_GIFT   0x02000000L
 突然変異: カオスパトロン [詳解]
 
#define MUT2_WALK_SHAD   0x04000000L
 突然変異: ランダムな現実変容 [詳解]
 
#define MUT2_WARNING   0x08000000L
 突然変異: 警告 [詳解]
 
#define MUT2_INVULN   0x10000000L
 突然変異: ランダムな無敵化 [詳解]
 
#define MUT2_SP_TO_HP   0x20000000L
 突然変異: ランダムなMPからHPへの変換 [詳解]
 
#define MUT2_HP_TO_SP   0x40000000L
 突然変異: ランダムなHPからMPへの変換 [詳解]
 
#define MUT2_DISARM   0x80000000L
 突然変異: ランダムな武器落とし [詳解]
 
#define MUT3_HYPER_STR   0x00000001L
 突然変異: 超人的な力 [詳解]
 
#define MUT3_PUNY   0x00000002L
 突然変異: 虚弱 [詳解]
 
#define MUT3_HYPER_INT   0x00000004L
 突然変異: 生体コンピュータ [詳解]
 
#define MUT3_MORONIC   0x00000008L
 突然変異: 精神薄弱 [詳解]
 
#define MUT3_RESILIENT   0x00000010L
 突然変異: 弾力のある体 [詳解]
 
#define MUT3_XTRA_FAT   0x00000020L
 突然変異: 異常な肥満 [詳解]
 
#define MUT3_ALBINO   0x00000040L
 突然変異: アルビノ [詳解]
 
#define MUT3_FLESH_ROT   0x00000080L
 突然変異: 腐敗した肉体 [詳解]
 
#define MUT3_SILLY_VOI   0x00000100L
 突然変異: 間抜けなキーキー声 [詳解]
 
#define MUT3_BLANK_FAC   0x00000200L
 突然変異: のっぺらぼう [詳解]
 
#define MUT3_ILL_NORM   0x00000400L
 突然変異: 幻影に覆われた体 [詳解]
 
#define MUT3_XTRA_EYES   0x00000800L
 突然変異: 第三の目 [詳解]
 
#define MUT3_MAGIC_RES   0x00001000L
 突然変異: 魔法防御 [詳解]
 
#define MUT3_XTRA_NOIS   0x00002000L
 突然変異: 騒音 [詳解]
 
#define MUT3_INFRAVIS   0x00004000L
 突然変異: 赤外線視力 [詳解]
 
#define MUT3_XTRA_LEGS   0x00008000L
 突然変異: 追加の脚 [詳解]
 
#define MUT3_SHORT_LEG   0x00010000L
 突然変異: 短い脚 [詳解]
 
#define MUT3_ELEC_TOUC   0x00020000L
 突然変異: 電撃オーラ [詳解]
 
#define MUT3_FIRE_BODY   0x00040000L
 突然変異: 火炎オーラ [詳解]
 
#define MUT3_WART_SKIN   0x00080000L
 突然変異: イボ肌 [詳解]
 
#define MUT3_SCALES   0x00100000L
 突然変異: 鱗肌 [詳解]
 
#define MUT3_IRON_SKIN   0x00200000L
 突然変異: 鉄の肌 [詳解]
 
#define MUT3_WINGS   0x00400000L
 突然変異: 翼 [詳解]
 
#define MUT3_FEARLESS   0x00800000L
 突然変異: 恐れ知らず [詳解]
 
#define MUT3_REGEN   0x01000000L
 突然変異: 急回復 [詳解]
 
#define MUT3_ESP   0x02000000L
 突然変異: テレパシー [詳解]
 
#define MUT3_LIMBER   0x04000000L
 突然変異: しなやかな肉体 [詳解]
 
#define MUT3_ARTHRITIS   0x08000000L
 突然変異: 関節の痛み [詳解]
 
#define MUT3_BAD_LUCK   0x10000000L
 突然変異: 黒いオーラ(不運) [詳解]
 
#define MUT3_VULN_ELEM   0x20000000L
 突然変異: 元素攻撃弱点 [詳解]
 
#define MUT3_MOTION   0x40000000L
 突然変異: 正確で力強い動作 [詳解]
 
#define MUT3_GOOD_LUCK   0x80000000L
 突然変異: 白いオーラ(幸運) [詳解]
 
#define ATTACK_CONFUSE   0x00000001
 プレイヤーのステータス:混乱打撃 [詳解]
 
#define ATTACK_XXX1   0x00000002
 プレイヤーのステータス:未使用1 [詳解]
 
#define ATTACK_XXX2   0x00000004
 プレイヤーのステータス:未使用2 [詳解]
 
#define ATTACK_XXX3   0x00000008
 プレイヤーのステータス:未使用3 [詳解]
 
#define ATTACK_ACID   0x00000010
 プレイヤーのステータス:魔法剣/溶解 [詳解]
 
#define ATTACK_ELEC   0x00000020
 プレイヤーのステータス:魔法剣/電撃 [詳解]
 
#define ATTACK_FIRE   0x00000040
 プレイヤーのステータス:魔法剣/火炎 [詳解]
 
#define ATTACK_COLD   0x00000080
 プレイヤーのステータス:魔法剣/冷凍 [詳解]
 
#define ATTACK_POIS   0x00000100
 プレイヤーのステータス:魔法剣/毒殺 [詳解]
 
#define ATTACK_HOLY   0x00000200
 プレイヤーのステータス:対邪?(未使用) [詳解]
 
#define ATTACK_SUIKEN   0x00000400
 プレイヤーのステータス:酔拳 [詳解]
 
#define DEFENSE_ACID   0x00000001
 プレイヤーのステータス:酸免疫 [詳解]
 
#define DEFENSE_ELEC   0x00000002
 プレイヤーのステータス:電撃免疫 [詳解]
 
#define DEFENSE_FIRE   0x00000004
 プレイヤーのステータス:火炎免疫 [詳解]
 
#define DEFENSE_COLD   0x00000008
 プレイヤーのステータス:冷気免疫 [詳解]
 
#define DEFENSE_POIS   0x00000010
 プレイヤーのステータス:毒免疫 [詳解]
 
#define KAMAE_GENBU   0x00000020
 プレイヤーのステータス:玄武の構え [詳解]
 
#define KAMAE_BYAKKO   0x00000040
 プレイヤーのステータス:白虎の構え [詳解]
 
#define KAMAE_SEIRYU   0x00000080
 プレイヤーのステータス:青竜の構え [詳解]
 
#define KAMAE_SUZAKU   0x00000100
 プレイヤーのステータス:朱雀の構え [詳解]
 
#define KATA_IAI   0x00000200
 プレイヤーのステータス:居合 [詳解]
 
#define KATA_FUUJIN   0x00000400
 プレイヤーのステータス:風塵 [詳解]
 
#define KATA_KOUKIJIN   0x00000800
 プレイヤーのステータス:降鬼陣 [詳解]
 
#define KATA_MUSOU   0x00001000
 プレイヤーのステータス:無想 [詳解]
 
#define NINJA_KAWARIMI   0x00002000
 プレイヤーのステータス:変わり身 [詳解]
 
#define NINJA_S_STEALTH   0x00004000
 プレイヤーのステータス:超隠密 [詳解]
 
#define MAX_KAMAE   4
 修行僧の構え最大数 [詳解]
 
#define KAMAE_MASK   (KAMAE_GENBU | KAMAE_BYAKKO | KAMAE_SEIRYU | KAMAE_SUZAKU)
 修行僧の構えビット配列 [詳解]
 
#define MAX_KATA   4
 修行僧の型最大数 [詳解]
 
#define KATA_MASK   (KATA_IAI | KATA_FUUJIN | KATA_KOUKIJIN | KATA_MUSOU)
 修行僧の型ビット配列 [詳解]
 
#define ACTION_NONE   0
 持続行動: なし [詳解]
 
#define ACTION_SEARCH   1
 持続行動: 探索 [詳解]
 
#define ACTION_REST   2
 持続行動: 休憩 [詳解]
 
#define ACTION_LEARN   3
 持続行動: 青魔法ラーニング [詳解]
 
#define ACTION_FISH   4
 持続行動: 釣り [詳解]
 
#define ACTION_KAMAE   5
 持続行動: 修行僧の構え [詳解]
 
#define ACTION_KATA   6
 持続行動: 剣術家の型 [詳解]
 
#define ACTION_SING   7
 持続行動: 歌 [詳解]
 
#define ACTION_HAYAGAKE   8
 持続行動: 早駆け [詳解]
 
#define ACTION_SPELL   9
 持続行動: 呪術 [詳解]
 
#define CONCENT_RADAR_THRESHOLD   2
 
#define CONCENT_TELE_THRESHOLD   5
 
#define KNOW_STAT   0x01
 
#define KNOW_HPRATE   0x02
 
#define INVEN_PACK   23
 アイテムスロット…所持品(0~) [詳解]
 
#define INVEN_RARM   24
 アイテムスロット…右手 [詳解]
 
#define INVEN_LARM   25
 アイテムスロット…左手 [詳解]
 
#define INVEN_BOW   26
 アイテムスロット…射撃 [詳解]
 
#define INVEN_RIGHT   27
 アイテムスロット…右手指 [詳解]
 
#define INVEN_LEFT   28
 アイテムスロット…左手指 [詳解]
 
#define INVEN_NECK   29
 アイテムスロット…首 [詳解]
 
#define INVEN_LITE   30
 アイテムスロット…光源 [詳解]
 
#define INVEN_BODY   31
 アイテムスロット…体 [詳解]
 
#define INVEN_OUTER   32
 アイテムスロット…体の上 [詳解]
 
#define INVEN_HEAD   33
 アイテムスロット…頭部 [詳解]
 
#define INVEN_HANDS   34
 アイテムスロット…腕部 [詳解]
 
#define INVEN_FEET   35
 アイテムスロット…脚部 [詳解]
 
#define INVEN_AMMO   23
 used for get_random_ego() [詳解]
 
#define INVEN_TOTAL   36
 Total number of inventory_list slots (hard-coded). [詳解]
 
#define INVEN_FORCE   1111
 inventory_list slot for selecting force (hard-coded). [詳解]
 
#define PU_BONUS   0x00000001L
 ステータス更新フラグ: 能力値修正 / Calculate bonuses [詳解]
 
#define PU_TORCH   0x00000002L
 ステータス更新フラグ: 光源半径 / Calculate torch radius [詳解]
 
#define PU_HP   0x00000010L
 ステータス更新フラグ: HP / Calculate chp and mhp [詳解]
 
#define PU_MANA   0x00000020L
 ステータス更新フラグ: MP / Calculate csp and msp [詳解]
 
#define PU_SPELLS   0x00000040L
 ステータス更新フラグ: 魔法学習数 / Calculate spells [詳解]
 
#define PU_COMBINE   0x00000100L
 アイテム処理フラグ: アイテムの結合を要する / Combine the pack [詳解]
 
#define PU_REORDER   0x00000200L
 アイテム処理フラグ: アイテムの並び替えを要する / Reorder the pack [詳解]
 
#define PU_AUTODESTROY   0x00000400L
 アイテム処理フラグ: アイテムの自動破壊を要する / Auto-destroy marked item [詳解]
 
#define PU_UN_VIEW   0x00010000L
 ステータス更新フラグ: 地形の視界外化 / Forget view [詳解]
 
#define PU_UN_LITE   0x00020000L
 ステータス更新フラグ: 明暗範囲の視界外化 / Forget lite [詳解]
 
#define PU_VIEW   0x00100000L
 ステータス更新フラグ: 視界 / Update view [詳解]
 
#define PU_LITE   0x00200000L
 ステータス更新フラグ: 明暗範囲 / Update lite [詳解]
 
#define PU_MON_LITE   0x00400000L
 ステータス更新フラグ: モンスターの光源範囲 / Monster illumination [詳解]
 
#define PU_DELAY_VIS   0x00800000L
 ステータス更新フラグ: 視界の追加更新 / Mega-Hack – Delayed visual update [詳解]
 
#define PU_MONSTERS   0x01000000L
 ステータス更新フラグ: モンスターのステータス / Update monsters [詳解]
 
#define PU_DISTANCE   0x02000000L
 ステータス更新フラグ: プレイヤーとモンスターの距離 / Update distances [詳解]
 
#define PU_FLOW   0x10000000L
 ステータス更新フラグ: プレイヤーから各マスへの到達距離 / Update flow [詳解]
 
#define IS_FAST()   (p_ptr->fast || music_singing(p_ptr, MUSIC_SPEED) || music_singing(p_ptr, MUSIC_SHERO))
 
#define IS_INVULN()   (p_ptr->invuln || music_singing(p_ptr, MUSIC_INVULN))
 
#define IS_HERO()   (p_ptr->hero || music_singing(p_ptr, MUSIC_HERO) || music_singing(p_ptr, MUSIC_SHERO))
 
#define IS_BLESSED()   (p_ptr->blessed || music_singing(p_ptr, MUSIC_BLESS) || hex_spelling(HEX_BLESS))
 
#define IS_OPPOSE_ACID()   (p_ptr->oppose_acid || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
 
#define IS_OPPOSE_ELEC()   (p_ptr->oppose_elec || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
 
#define IS_OPPOSE_FIRE()   (p_ptr->oppose_fire || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
 
#define IS_OPPOSE_COLD()   (p_ptr->oppose_cold || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
 
#define IS_OPPOSE_POIS()   (p_ptr->oppose_pois || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
 
#define IS_TIM_ESP()   (p_ptr->tim_esp || music_singing(p_ptr, MUSIC_MIND) || (p_ptr->concent >= CONCENT_TELE_THRESHOLD))
 
#define IS_TIM_STEALTH()   (p_ptr->tim_stealth || music_singing(p_ptr, MUSIC_STEALTH))
 
#define P_PTR_KI   (p_ptr->magic_num1[0])
 
#define PY_FOOD_MAX   15000
 食べ過ぎ~満腹の閾値 / Food value (Bloated) [詳解]
 
#define PY_FOOD_FULL   10000
 満腹~平常の閾値 / Food value (Normal) [詳解]
 
#define PY_FOOD_ALERT   2000
 平常~空腹の閾値 / Food value (Hungry) [詳解]
 
#define PY_FOOD_WEAK   1000
 空腹~衰弱の閾値 / Food value (Weak) [詳解]
 
#define PY_FOOD_FAINT   500
 衰弱~衰弱(赤表示/麻痺)の閾値 / Food value (Fainting) [詳解]
 
#define PY_FOOD_STARVE   100
 衰弱(赤表示/麻痺)~飢餓ダメージの閾値 / Food value (Starving) [詳解]
 
#define PY_REGEN_NORMAL   197 /* Regen factor*2^16 when full */
 
#define PY_REGEN_WEAK   98 /* Regen factor*2^16 when weak */
 
#define PY_REGEN_FAINT   33 /* Regen factor*2^16 when fainting */
 
#define PY_REGEN_HPBASE   1442 /* Min amount hp regen*2^16 */
 
#define PY_REGEN_MNBASE   524 /* Min amount mana regen*2^16 */
 
#define CAN_TWO_HANDS_WIELDING()   (!p_ptr->riding || (p_ptr->pet_extra_flags & PF_RYOUTE))
 

型定義

typedef struct player_type player_type
 

関数

concptr your_alignment (player_type *creature_ptr)
 
int weapon_exp_level (int weapon_exp)
 
int riding_exp_level (int riding_exp)
 
int spell_exp_level (int spell_exp)
 
s16b calc_num_fire (player_type *creature_ptr, object_type *o_ptr)
 装備中の射撃武器の威力倍率を返す / calcurate the fire rate of target object [詳解]
 
void calc_bonuses (player_type *creature_ptr)
 プレイヤーの全ステータスを更新する / Calculate the players current "state", taking into account not only race/class intrinsics, but also objects being worn and temporary spell effects. [詳解]
 
WEIGHT weight_limit (player_type *creature_ptr)
 プレイヤーの所持重量制限を計算する / Computes current weight limit. [詳解]
 
bool has_melee_weapon (player_type *creature_ptr, int i)
 プレイヤーが現在右手/左手に武器を持っているか判定する / [詳解]
 
bool is_heavy_shoot (player_type *creature_ptr, object_type *o_ptr)
 射撃武器がプレイヤーにとって重すぎるかどうかの判定 / [詳解]
 
bool heavy_armor (player_type *creature_ptr)
 プレイヤーが防具重量制限のある職業時にペナルティを受ける状態にあるかどうかを返す。 [詳解]
 
void update_creature (player_type *creature_ptr)
 update のフラグに応じた更新をまとめて行う / Handle "update" [詳解]
 
BIT_FLAGS16 empty_hands (player_type *creature_ptr, bool riding_control)
 プレイヤーの現在開いている手の状態を返す [詳解]
 
bool player_has_no_spellbooks (player_type *creature_ptr)
 プレイヤーが魔道書を一冊も持っていないかを判定する [詳解]
 
void take_turn (player_type *creature_ptr, PERCENTAGE need_cost)
 
void free_turn (player_type *creature_ptr)
 
bool player_place (player_type *creature_ptr, POSITION y, POSITION x)
 プレイヤーを指定座標に配置する / Place the player in the dungeon XXX XXX [詳解]
 
void sanity_blast (player_type *creature_ptr, monster_type *m_ptr, bool necro)
 ELDRITCH_HORRORによるプレイヤーの精神破壊処理 [詳解]
 
void check_experience (player_type *creature_ptr)
 プレイヤーの経験値について整合性のためのチェックと調整を行う / Advance experience levels and print experience [詳解]
 
void wreck_the_pattern (player_type *creature_ptr)
 種族アンバライトが出血時パターンの上に乗った際のペナルティ処理 [詳解]
 
void cnv_stat (int val, char *out_val)
 現在の修正後能力値を3~17及び18/xxx形式に変換する / Converts stat num into a six-char (right justified) string [詳解]
 
s16b modify_stat_value (int value, int amount)
 能力値現在値から3~17及び18/xxx様式に基づく加減算を行う。 Modify a stat value by a "modifier", return new value [詳解]
 
long calc_score (player_type *creature_ptr)
 スコアを計算する / Hack – Calculates the total number of points earned -JWT- [詳解]
 
void cheat_death (player_type *creature_ptr)
 

変数

const byte adj_mag_study []
 知力/賢さによるレベル毎の習得可能魔法数テーブル Stat Table (INT/WIS) – Number of half-spells per level [詳解]
 
const byte adj_mag_mana []
 知力/賢さによるMP修正テーブル Stat Table (INT/WIS) – extra 1/4-mana-points per level [詳解]
 
const byte adj_mag_fail []
 知力/賢さによる最低魔法失敗率テーブル Stat Table (INT/WIS) – Minimum failure rate (percentage) [詳解]
 
const byte adj_mag_stat []
 知力/賢さによる魔法失敗率修正テーブル Stat Table (INT/WIS) – Various things [詳解]
 
const byte adj_chr_gold []
 魅力による店での取引修正テーブル Stat Table (CHR) – payment percentages [詳解]
 
const byte adj_int_dev []
 知力による魔道具使用修正テーブル Stat Table (INT) – Magic devices [詳解]
 
const byte adj_wis_sav []
 賢さによる魔法防御修正テーブル Stat Table (WIS) – Saving throw [詳解]
 
const byte adj_dex_dis []
 器用さによるトラップ解除修正テーブル Stat Table (DEX) – disarming [詳解]
 
const byte adj_int_dis []
 知力によるトラップ解除修正テーブル Stat Table (INT) – disarming [詳解]
 
const byte adj_dex_ta []
 器用さによるAC修正テーブル Stat Table (DEX) – bonus to ac (plus 128) [詳解]
 
const byte adj_str_td []
 腕力によるダメージ修正テーブル Stat Table (STR) – bonus to dam (plus 128) [詳解]
 
const byte adj_dex_th []
 器用度による命中修正テーブル Stat Table (DEX) – bonus to hit (plus 128) [詳解]
 
const byte adj_str_th []
 腕力による命中修正テーブル Stat Table (STR) – bonus to hit (plus 128) [詳解]
 
const byte adj_str_wgt []
 腕力による基本所持重量値テーブル Stat Table (STR) – weight limit in deca-pounds [詳解]
 
const byte adj_str_hold []
 腕力による武器重量限界値テーブル Stat Table (STR) – weapon weight limit in pounds [詳解]
 
const byte adj_str_dig []
 腕力による採掘能力修正値テーブル Stat Table (STR) – digging value [詳解]
 
const byte adj_dex_safe []
 器用さによる盗難防止&体当たり成功判定修正テーブル Stat Table (DEX) – chance of avoiding "theft" and "falling" [詳解]
 
const byte adj_con_fix []
 耐久による基本HP自然治癒値テーブル / Stat Table (CON) – base regeneration rate [詳解]
 
const byte adj_con_mhp []
 耐久による基本HP自然治癒値テーブル / Stat Table (CON) – extra 1/4-hitpoints per level (plus 128) [詳解]
 
const byte adj_chr_chm []
 魅力による魅了能力修正テーブル / Stat Table (CHR) – charm [詳解]
 
const concptr stat_names [6]
 能力値テーブル / Abbreviations of healthy stats [詳解]
 
const concptr stat_names_reduced [6]
 能力値テーブル(能力低下時) / Abbreviations of damaged stats [詳解]
 
player_typep_ptr
 
const s32b player_exp [PY_MAX_LEVEL]
 基本必要経験値テーブル / Base experience levels, may be adjusted up for race and/or class [詳解]
 
const s32b player_exp_a [PY_MAX_LEVEL]
 基本必要強化値テーブル(アンドロイド専用) [詳解]
 

マクロ定義詳解

◆ A_CHR

#define A_CHR   5

◆ A_CON

#define A_CON   4

◆ A_DEX

#define A_DEX   3

◆ A_INT

#define A_INT   1

◆ A_MAX

#define A_MAX   6

◆ A_STR

#define A_STR   0

◆ A_WIS

#define A_WIS   2

◆ ACTION_FISH

#define ACTION_FISH   4

持続行動: 釣り

◆ ACTION_HAYAGAKE

#define ACTION_HAYAGAKE   8

持続行動: 早駆け

◆ ACTION_KAMAE

#define ACTION_KAMAE   5

持続行動: 修行僧の構え

◆ ACTION_KATA

#define ACTION_KATA   6

持続行動: 剣術家の型

◆ ACTION_LEARN

#define ACTION_LEARN   3

持続行動: 青魔法ラーニング

◆ ACTION_NONE

#define ACTION_NONE   0

持続行動: なし

◆ ACTION_REST

#define ACTION_REST   2

持続行動: 休憩

◆ ACTION_SEARCH

#define ACTION_SEARCH   1

持続行動: 探索

◆ ACTION_SING

#define ACTION_SING   7

持続行動: 歌

◆ ACTION_SPELL

#define ACTION_SPELL   9

持続行動: 呪術

◆ ATTACK_ACID

#define ATTACK_ACID   0x00000010

プレイヤーのステータス:魔法剣/溶解

◆ ATTACK_COLD

#define ATTACK_COLD   0x00000080

プレイヤーのステータス:魔法剣/冷凍

◆ ATTACK_CONFUSE

#define ATTACK_CONFUSE   0x00000001

プレイヤーのステータス:混乱打撃

◆ ATTACK_ELEC

#define ATTACK_ELEC   0x00000020

プレイヤーのステータス:魔法剣/電撃

◆ ATTACK_FIRE

#define ATTACK_FIRE   0x00000040

プレイヤーのステータス:魔法剣/火炎

◆ ATTACK_HOLY

#define ATTACK_HOLY   0x00000200

プレイヤーのステータス:対邪?(未使用)

◆ ATTACK_POIS

#define ATTACK_POIS   0x00000100

プレイヤーのステータス:魔法剣/毒殺

◆ ATTACK_SUIKEN

#define ATTACK_SUIKEN   0x00000400

プレイヤーのステータス:酔拳

◆ ATTACK_XXX1

#define ATTACK_XXX1   0x00000002

プレイヤーのステータス:未使用1

◆ ATTACK_XXX2

#define ATTACK_XXX2   0x00000004

プレイヤーのステータス:未使用2

◆ ATTACK_XXX3

#define ATTACK_XXX3   0x00000008

プレイヤーのステータス:未使用3

◆ CAN_TWO_HANDS_WIELDING

#define CAN_TWO_HANDS_WIELDING ( )    (!p_ptr->riding || (p_ptr->pet_extra_flags & PF_RYOUTE))

◆ COMMAND_ARG_REST_FULL_HEALING

#define COMMAND_ARG_REST_FULL_HEALING   -1

休憩コマンド引数 … HPとMPが全回復するまで

◆ COMMAND_ARG_REST_UNTIL_DONE

#define COMMAND_ARG_REST_UNTIL_DONE   -2

休憩コマンド引数 … 必要な分だけ回復

◆ CONCENT_RADAR_THRESHOLD

#define CONCENT_RADAR_THRESHOLD   2

◆ CONCENT_TELE_THRESHOLD

#define CONCENT_TELE_THRESHOLD   5

◆ DEFENSE_ACID

#define DEFENSE_ACID   0x00000001

プレイヤーのステータス:酸免疫

◆ DEFENSE_COLD

#define DEFENSE_COLD   0x00000008

プレイヤーのステータス:冷気免疫

◆ DEFENSE_ELEC

#define DEFENSE_ELEC   0x00000002

プレイヤーのステータス:電撃免疫

◆ DEFENSE_FIRE

#define DEFENSE_FIRE   0x00000004

プレイヤーのステータス:火炎免疫

◆ DEFENSE_POIS

#define DEFENSE_POIS   0x00000010

プレイヤーのステータス:毒免疫

◆ EMPTY_HAND_LARM

#define EMPTY_HAND_LARM   0x0001 /* Left hand is empty */

◆ EMPTY_HAND_NONE

#define EMPTY_HAND_NONE   0x0000 /* Both hands are used */

◆ EMPTY_HAND_RARM

#define EMPTY_HAND_RARM   0x0002 /* Right hand is empty */

◆ GINOU_MAX

#define GINOU_MAX   10

◆ INVEN_AMMO

#define INVEN_AMMO   23

used for get_random_ego()

◆ INVEN_BODY

#define INVEN_BODY   31

アイテムスロット…体

◆ INVEN_BOW

#define INVEN_BOW   26

アイテムスロット…射撃

◆ INVEN_FEET

#define INVEN_FEET   35

アイテムスロット…脚部

◆ INVEN_FORCE

#define INVEN_FORCE   1111

inventory_list slot for selecting force (hard-coded).

◆ INVEN_HANDS

#define INVEN_HANDS   34

アイテムスロット…腕部

◆ INVEN_HEAD

#define INVEN_HEAD   33

アイテムスロット…頭部

◆ INVEN_LARM

#define INVEN_LARM   25

アイテムスロット…左手

◆ INVEN_LEFT

#define INVEN_LEFT   28

アイテムスロット…左手指

◆ INVEN_LITE

#define INVEN_LITE   30

アイテムスロット…光源

◆ INVEN_NECK

#define INVEN_NECK   29

アイテムスロット…首

◆ INVEN_OUTER

#define INVEN_OUTER   32

アイテムスロット…体の上

◆ INVEN_PACK

#define INVEN_PACK   23

アイテムスロット…所持品(0~)

◆ INVEN_RARM

#define INVEN_RARM   24

アイテムスロット…右手

◆ INVEN_RIGHT

#define INVEN_RIGHT   27

アイテムスロット…右手指

◆ INVEN_TOTAL

#define INVEN_TOTAL   36

Total number of inventory_list slots (hard-coded).

◆ IS_BLESSED

#define IS_BLESSED ( )    (p_ptr->blessed || music_singing(p_ptr, MUSIC_BLESS) || hex_spelling(HEX_BLESS))

◆ IS_FAST

#define IS_FAST ( )    (p_ptr->fast || music_singing(p_ptr, MUSIC_SPEED) || music_singing(p_ptr, MUSIC_SHERO))

◆ IS_HERO

#define IS_HERO ( )    (p_ptr->hero || music_singing(p_ptr, MUSIC_HERO) || music_singing(p_ptr, MUSIC_SHERO))

◆ IS_INVULN

#define IS_INVULN ( )    (p_ptr->invuln || music_singing(p_ptr, MUSIC_INVULN))

◆ IS_OPPOSE_ACID

#define IS_OPPOSE_ACID ( )    (p_ptr->oppose_acid || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))

◆ IS_OPPOSE_COLD

#define IS_OPPOSE_COLD ( )    (p_ptr->oppose_cold || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))

◆ IS_OPPOSE_ELEC

#define IS_OPPOSE_ELEC ( )    (p_ptr->oppose_elec || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))

◆ IS_OPPOSE_FIRE

#define IS_OPPOSE_FIRE ( )    (p_ptr->oppose_fire || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))

◆ IS_OPPOSE_POIS

#define IS_OPPOSE_POIS ( )    (p_ptr->oppose_pois || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))

◆ IS_TIM_ESP

#define IS_TIM_ESP ( )    (p_ptr->tim_esp || music_singing(p_ptr, MUSIC_MIND) || (p_ptr->concent >= CONCENT_TELE_THRESHOLD))

◆ IS_TIM_STEALTH

#define IS_TIM_STEALTH ( )    (p_ptr->tim_stealth || music_singing(p_ptr, MUSIC_STEALTH))

◆ KAMAE_BYAKKO

#define KAMAE_BYAKKO   0x00000040

プレイヤーのステータス:白虎の構え

◆ KAMAE_GENBU

#define KAMAE_GENBU   0x00000020

プレイヤーのステータス:玄武の構え

◆ KAMAE_MASK

#define KAMAE_MASK   (KAMAE_GENBU | KAMAE_BYAKKO | KAMAE_SEIRYU | KAMAE_SUZAKU)

修行僧の構えビット配列

◆ KAMAE_SEIRYU

#define KAMAE_SEIRYU   0x00000080

プレイヤーのステータス:青竜の構え

◆ KAMAE_SUZAKU

#define KAMAE_SUZAKU   0x00000100

プレイヤーのステータス:朱雀の構え

◆ KATA_FUUJIN

#define KATA_FUUJIN   0x00000400

プレイヤーのステータス:風塵

◆ KATA_IAI

#define KATA_IAI   0x00000200

プレイヤーのステータス:居合

◆ KATA_KOUKIJIN

#define KATA_KOUKIJIN   0x00000800

プレイヤーのステータス:降鬼陣

◆ KATA_MASK

#define KATA_MASK   (KATA_IAI | KATA_FUUJIN | KATA_KOUKIJIN | KATA_MUSOU)

修行僧の型ビット配列

◆ KATA_MUSOU

#define KATA_MUSOU   0x00001000

プレイヤーのステータス:無想

◆ KNOW_HPRATE

#define KNOW_HPRATE   0x02

◆ KNOW_STAT

#define KNOW_STAT   0x01

◆ MAGIC_FAIL_5PERCENT

#define MAGIC_FAIL_5PERCENT   0x0002

◆ MAGIC_GAIN_EXP

#define MAGIC_GAIN_EXP   0x0004

◆ MAGIC_GLOVE_REDUCE_MANA

#define MAGIC_GLOVE_REDUCE_MANA   0x0001

◆ MAX_KAMAE

#define MAX_KAMAE   4

修行僧の構え最大数

◆ MAX_KATA

#define MAX_KATA   4

修行僧の型最大数

◆ MAX_MANE

#define MAX_MANE   16

◆ MAX_SEXES

#define MAX_SEXES   2

性別の定義最大数 / Maximum number of player "sex" types (see "table.c", etc)

◆ MUT1_BANISH

#define MUT1_BANISH   0x20000000L

突然変異: 邪悪消滅

◆ MUT1_BERSERK

#define MUT1_BERSERK   0x00010000L

突然変異: 狂戦士化

◆ MUT1_BLINK

#define MUT1_BLINK   0x00000400L

突然変異: ショート・テレポート

◆ MUT1_BR_FIRE

#define MUT1_BR_FIRE   0x00000002L

突然変異: 炎のブレス

◆ MUT1_COLD_TOUCH

#define MUT1_COLD_TOUCH   0x40000000L

突然変異: 凍結の手

◆ MUT1_DAZZLE

#define MUT1_DAZZLE   0x04000000L

突然変異: 眩惑

◆ MUT1_DET_CURSE

#define MUT1_DET_CURSE   0x00008000L

突然変異: 呪い感知

◆ MUT1_EARTHQUAKE

#define MUT1_EARTHQUAKE   0x00200000L

突然変異: 地震

◆ MUT1_EAT_MAGIC

#define MUT1_EAT_MAGIC   0x00400000L

突然変異: 魔力喰い

◆ MUT1_EAT_ROCK

#define MUT1_EAT_ROCK   0x00000800L

突然変異: 岩喰い

◆ MUT1_GROW_MOLD

#define MUT1_GROW_MOLD   0x00080000L

突然変異: カビ発生

◆ MUT1_HYPN_GAZE

#define MUT1_HYPN_GAZE   0x00000004L

突然変異: 催眠睨み

◆ MUT1_ILLUMINE

#define MUT1_ILLUMINE   0x00004000L

突然変異: 照明

◆ MUT1_LASER_EYE

#define MUT1_LASER_EYE   0x08000000L

突然変異: レーザー・アイ

◆ MUT1_LAUNCHER

#define MUT1_LAUNCHER   0x80000000L

突然変異: アイテム投げ

◆ MUT1_MIDAS_TCH

#define MUT1_MIDAS_TCH   0x00040000L

突然変異: ミダスの手

◆ MUT1_MIND_BLST

#define MUT1_MIND_BLST   0x00000020L

突然変異: 精神攻撃

◆ MUT1_PANIC_HIT

#define MUT1_PANIC_HIT   0x02000000L

突然変異: ヒットアンドアウェイ

◆ MUT1_POLYMORPH

#define MUT1_POLYMORPH   0x00020000L

突然変異: 変身

◆ MUT1_RADIATION

#define MUT1_RADIATION   0x00000040L

突然変異: 放射能

◆ MUT1_RECALL

#define MUT1_RECALL   0x10000000L

突然変異: 帰還

◆ MUT1_RESIST

#define MUT1_RESIST   0x00100000L

突然変異: エレメント耐性

◆ MUT1_SHRIEK

#define MUT1_SHRIEK   0x00002000L

突然変異: 叫び

◆ MUT1_SMELL_MET

#define MUT1_SMELL_MET   0x00000100L

突然変異: 金属嗅覚

◆ MUT1_SMELL_MON

#define MUT1_SMELL_MON   0x00000200L

突然変異: 敵臭嗅覚

◆ MUT1_SPIT_ACID

#define MUT1_SPIT_ACID   0x00000001L

突然変異: 酸の唾

◆ MUT1_STERILITY

#define MUT1_STERILITY   0x01000000L

突然変異: 増殖阻止

◆ MUT1_SWAP_POS

#define MUT1_SWAP_POS   0x00001000L

突然変異: 位置交換

◆ MUT1_TELEKINES

#define MUT1_TELEKINES   0x00000008L

突然変異: 念動力

◆ MUT1_VAMPIRISM

#define MUT1_VAMPIRISM   0x00000080L

突然変異: 吸血

◆ MUT1_VTELEPORT

#define MUT1_VTELEPORT   0x00000010L

突然変異: テレポート / Voluntary teleport

◆ MUT1_WEIGH_MAG

#define MUT1_WEIGH_MAG   0x00800000L

突然変異: 魔力感知

◆ MUT2_ALCOHOL

#define MUT2_ALCOHOL   0x00000008L

突然変異: アルコール分泌

◆ MUT2_ATT_ANIMAL

#define MUT2_ATT_ANIMAL   0x00008000L

突然変異: 動物を引き寄せる

◆ MUT2_ATT_DEMON

#define MUT2_ATT_DEMON   0x00000200L

突然変異: デーモンを引き付ける

◆ MUT2_ATT_DRAGON

#define MUT2_ATT_DRAGON   0x00400000L

突然変異: ドラゴンを引き寄せる

◆ MUT2_BANISH_ALL

#define MUT2_BANISH_ALL   0x00001000L

突然変異: ランダムなモンスター消滅

◆ MUT2_BEAK

#define MUT2_BEAK   0x00000100L

突然変異: クチバシ

◆ MUT2_BERS_RAGE

#define MUT2_BERS_RAGE   0x00000001L

突然変異: 狂戦士化の発作

◆ MUT2_CHAOS_GIFT

#define MUT2_CHAOS_GIFT   0x02000000L

突然変異: カオスパトロン

◆ MUT2_COWARDICE

#define MUT2_COWARDICE   0x00000002L

突然変異: 臆病

◆ MUT2_DISARM

#define MUT2_DISARM   0x80000000L

突然変異: ランダムな武器落とし

◆ MUT2_EAT_LIGHT

#define MUT2_EAT_LIGHT   0x00002000L

突然変異: 光源喰い

◆ MUT2_FLATULENT

#define MUT2_FLATULENT   0x00000020L

突然変異: 猛烈な屁

◆ MUT2_HALLU

#define MUT2_HALLU   0x00000010L

突然変異: 幻覚を引き起こす精神錯乱

◆ MUT2_HORNS

#define MUT2_HORNS   0x00000080L

突然変異: ツノ

◆ MUT2_HP_TO_SP

#define MUT2_HP_TO_SP   0x40000000L

突然変異: ランダムなHPからMPへの変換

◆ MUT2_INVULN

#define MUT2_INVULN   0x10000000L

突然変異: ランダムな無敵化

◆ MUT2_NAUSEA

#define MUT2_NAUSEA   0x01000000L

突然変異: 落ち着きの無い胃

◆ MUT2_NORMALITY

#define MUT2_NORMALITY   0x00040000L

突然変異: ランダムな変異の消滅

◆ MUT2_POLY_WOUND

#define MUT2_POLY_WOUND   0x00100000L

突然変異: ランダムな傷の変化

◆ MUT2_PROD_MANA

#define MUT2_PROD_MANA   0x00000400L

突然変異: 制御できない魔力のエネルギー

◆ MUT2_RAW_CHAOS

#define MUT2_RAW_CHAOS   0x00020000L

突然変異: 純カオス

◆ MUT2_RTELEPORT

#define MUT2_RTELEPORT   0x00000004L

突然変異: ランダムテレポート / Random teleport, instability

◆ MUT2_SCOR_TAIL

#define MUT2_SCOR_TAIL   0x00000040L

突然変異: サソリの尻尾

◆ MUT2_SP_TO_HP

#define MUT2_SP_TO_HP   0x20000000L

突然変異: ランダムなMPからHPへの変換

◆ MUT2_SPEED_FLUX

#define MUT2_SPEED_FLUX   0x00000800L

突然変異: ランダムな加減速

◆ MUT2_TENTACLES

#define MUT2_TENTACLES   0x00010000L

突然変異: 邪悪な触手

◆ MUT2_TRUNK

#define MUT2_TRUNK   0x00004000L

突然変異: 象の鼻

◆ MUT2_WALK_SHAD

#define MUT2_WALK_SHAD   0x04000000L

突然変異: ランダムな現実変容

◆ MUT2_WARNING

#define MUT2_WARNING   0x08000000L

突然変異: 警告

◆ MUT2_WASTING

#define MUT2_WASTING   0x00200000L

突然変異: 衰弱

◆ MUT2_WEIRD_MIND

#define MUT2_WEIRD_MIND   0x00800000L

突然変異: ランダムなテレパシー

◆ MUT2_WRAITH

#define MUT2_WRAITH   0x00080000L

突然変異: ランダムな幽体化

◆ MUT3_ALBINO

#define MUT3_ALBINO   0x00000040L

突然変異: アルビノ

◆ MUT3_ARTHRITIS

#define MUT3_ARTHRITIS   0x08000000L

突然変異: 関節の痛み

◆ MUT3_BAD_LUCK

#define MUT3_BAD_LUCK   0x10000000L

突然変異: 黒いオーラ(不運)

◆ MUT3_BLANK_FAC

#define MUT3_BLANK_FAC   0x00000200L

突然変異: のっぺらぼう

◆ MUT3_ELEC_TOUC

#define MUT3_ELEC_TOUC   0x00020000L

突然変異: 電撃オーラ

◆ MUT3_ESP

#define MUT3_ESP   0x02000000L

突然変異: テレパシー

◆ MUT3_FEARLESS

#define MUT3_FEARLESS   0x00800000L

突然変異: 恐れ知らず

◆ MUT3_FIRE_BODY

#define MUT3_FIRE_BODY   0x00040000L

突然変異: 火炎オーラ

◆ MUT3_FLESH_ROT

#define MUT3_FLESH_ROT   0x00000080L

突然変異: 腐敗した肉体

◆ MUT3_GOOD_LUCK

#define MUT3_GOOD_LUCK   0x80000000L

突然変異: 白いオーラ(幸運)

◆ MUT3_HYPER_INT

#define MUT3_HYPER_INT   0x00000004L

突然変異: 生体コンピュータ

◆ MUT3_HYPER_STR

#define MUT3_HYPER_STR   0x00000001L

突然変異: 超人的な力

◆ MUT3_ILL_NORM

#define MUT3_ILL_NORM   0x00000400L

突然変異: 幻影に覆われた体

◆ MUT3_INFRAVIS

#define MUT3_INFRAVIS   0x00004000L

突然変異: 赤外線視力

◆ MUT3_IRON_SKIN

#define MUT3_IRON_SKIN   0x00200000L

突然変異: 鉄の肌

◆ MUT3_LIMBER

#define MUT3_LIMBER   0x04000000L

突然変異: しなやかな肉体

◆ MUT3_MAGIC_RES

#define MUT3_MAGIC_RES   0x00001000L

突然変異: 魔法防御

◆ MUT3_MORONIC

#define MUT3_MORONIC   0x00000008L

突然変異: 精神薄弱

◆ MUT3_MOTION

#define MUT3_MOTION   0x40000000L

突然変異: 正確で力強い動作

◆ MUT3_PUNY

#define MUT3_PUNY   0x00000002L

突然変異: 虚弱

◆ MUT3_REGEN

#define MUT3_REGEN   0x01000000L

突然変異: 急回復

◆ MUT3_RESILIENT

#define MUT3_RESILIENT   0x00000010L

突然変異: 弾力のある体

◆ MUT3_SCALES

#define MUT3_SCALES   0x00100000L

突然変異: 鱗肌

◆ MUT3_SHORT_LEG

#define MUT3_SHORT_LEG   0x00010000L

突然変異: 短い脚

◆ MUT3_SILLY_VOI

#define MUT3_SILLY_VOI   0x00000100L

突然変異: 間抜けなキーキー声

◆ MUT3_VULN_ELEM

#define MUT3_VULN_ELEM   0x20000000L

突然変異: 元素攻撃弱点

◆ MUT3_WART_SKIN

#define MUT3_WART_SKIN   0x00080000L

突然変異: イボ肌

◆ MUT3_WINGS

#define MUT3_WINGS   0x00400000L

突然変異: 翼

◆ MUT3_XTRA_EYES

#define MUT3_XTRA_EYES   0x00000800L

突然変異: 第三の目

◆ MUT3_XTRA_FAT

#define MUT3_XTRA_FAT   0x00000020L

突然変異: 異常な肥満

◆ MUT3_XTRA_LEGS

#define MUT3_XTRA_LEGS   0x00008000L

突然変異: 追加の脚

◆ MUT3_XTRA_NOIS

#define MUT3_XTRA_NOIS   0x00002000L

突然変異: 騒音

◆ NINJA_KAWARIMI

#define NINJA_KAWARIMI   0x00002000

プレイヤーのステータス:変わり身

◆ NINJA_S_STEALTH

#define NINJA_S_STEALTH   0x00004000

プレイヤーのステータス:超隠密

◆ P_PTR_KI

#define P_PTR_KI   (p_ptr->magic_num1[0])

◆ PU_AUTODESTROY

#define PU_AUTODESTROY   0x00000400L

アイテム処理フラグ: アイテムの自動破壊を要する / Auto-destroy marked item

◆ PU_BONUS

#define PU_BONUS   0x00000001L

ステータス更新フラグ: 能力値修正 / Calculate bonuses

◆ PU_COMBINE

#define PU_COMBINE   0x00000100L

アイテム処理フラグ: アイテムの結合を要する / Combine the pack

◆ PU_DELAY_VIS

#define PU_DELAY_VIS   0x00800000L

ステータス更新フラグ: 視界の追加更新 / Mega-Hack – Delayed visual update

◆ PU_DISTANCE

#define PU_DISTANCE   0x02000000L

ステータス更新フラグ: プレイヤーとモンスターの距離 / Update distances

◆ PU_FLOW

#define PU_FLOW   0x10000000L

ステータス更新フラグ: プレイヤーから各マスへの到達距離 / Update flow

◆ PU_HP

#define PU_HP   0x00000010L

ステータス更新フラグ: HP / Calculate chp and mhp

◆ PU_LITE

#define PU_LITE   0x00200000L

ステータス更新フラグ: 明暗範囲 / Update lite

◆ PU_MANA

#define PU_MANA   0x00000020L

ステータス更新フラグ: MP / Calculate csp and msp

◆ PU_MON_LITE

#define PU_MON_LITE   0x00400000L

ステータス更新フラグ: モンスターの光源範囲 / Monster illumination

◆ PU_MONSTERS

#define PU_MONSTERS   0x01000000L

ステータス更新フラグ: モンスターのステータス / Update monsters

◆ PU_REORDER

#define PU_REORDER   0x00000200L

アイテム処理フラグ: アイテムの並び替えを要する / Reorder the pack

◆ PU_SPELLS

#define PU_SPELLS   0x00000040L

ステータス更新フラグ: 魔法学習数 / Calculate spells

◆ PU_TORCH

#define PU_TORCH   0x00000002L

ステータス更新フラグ: 光源半径 / Calculate torch radius

◆ PU_UN_LITE

#define PU_UN_LITE   0x00020000L

ステータス更新フラグ: 明暗範囲の視界外化 / Forget lite

◆ PU_UN_VIEW

#define PU_UN_VIEW   0x00010000L

ステータス更新フラグ: 地形の視界外化 / Forget view

◆ PU_VIEW

#define PU_VIEW   0x00100000L

ステータス更新フラグ: 視界 / Update view

◆ PY_FOOD_ALERT

#define PY_FOOD_ALERT   2000

平常~空腹の閾値 / Food value (Hungry)

◆ PY_FOOD_FAINT

#define PY_FOOD_FAINT   500

衰弱~衰弱(赤表示/麻痺)の閾値 / Food value (Fainting)

◆ PY_FOOD_FULL

#define PY_FOOD_FULL   10000

満腹~平常の閾値 / Food value (Normal)

◆ PY_FOOD_MAX

#define PY_FOOD_MAX   15000

食べ過ぎ~満腹の閾値 / Food value (Bloated)

◆ PY_FOOD_STARVE

#define PY_FOOD_STARVE   100

衰弱(赤表示/麻痺)~飢餓ダメージの閾値 / Food value (Starving)

◆ PY_FOOD_WEAK

#define PY_FOOD_WEAK   1000

空腹~衰弱の閾値 / Food value (Weak)

◆ PY_MAX_EXP

#define PY_MAX_EXP   99999999L

プレイヤー経験値の最大値 / Maximum exp

◆ PY_MAX_GOLD

#define PY_MAX_GOLD   999999999L

プレイヤー所持金の最大値 / Maximum gold

◆ PY_MAX_LEVEL

#define PY_MAX_LEVEL   50

プレイヤーレベルの最大値 / Maximum level

◆ PY_REGEN_FAINT

#define PY_REGEN_FAINT   33 /* Regen factor*2^16 when fainting */

◆ PY_REGEN_HPBASE

#define PY_REGEN_HPBASE   1442 /* Min amount hp regen*2^16 */

◆ PY_REGEN_MNBASE

#define PY_REGEN_MNBASE   524 /* Min amount mana regen*2^16 */

◆ PY_REGEN_NORMAL

#define PY_REGEN_NORMAL   197 /* Regen factor*2^16 when full */

◆ PY_REGEN_WEAK

#define PY_REGEN_WEAK   98 /* Regen factor*2^16 when weak */

◆ REALM1_BOOK

#define REALM1_BOOK   (p_ptr->realm1 + TV_LIFE_BOOK - 1)

◆ REALM2_BOOK

#define REALM2_BOOK   (p_ptr->realm2 + TV_LIFE_BOOK - 1)

◆ SEX_FEMALE

#define SEX_FEMALE   0

◆ SEX_MALE

#define SEX_MALE   1

◆ SPELL_DD_S

#define SPELL_DD_S   27

◆ SPELL_DD_T

#define SPELL_DD_T   13

◆ SPELL_KABE

#define SPELL_KABE   20

◆ SPELL_SW

#define SPELL_SW   22

型定義詳解

◆ player_type

typedef struct player_type player_type

関数詳解

◆ calc_bonuses()

void calc_bonuses ( player_type creature_ptr)

プレイヤーの全ステータスを更新する / Calculate the players current "state", taking into account not only race/class intrinsics, but also objects being worn and temporary spell effects.

戻り値
なし
See also calc_mana() and calc_hitpoints().
Take note of the new "speed code", in particular, a very strong
player will start slowing down as soon as he reaches 150 pounds,
but not until he reaches 450 pounds will he be half as fast as
a normal kobold.  This both hurts and helps the player, hurts
because in the old days a player could just avoid 300 pounds,
and helps because now carrying 300 pounds is not very painful.
The "weapon" and "bow" do *not* add to the bonuses to hit or to
damage, since that would affect non-combat things.  These values
are actually added in later, at the appropriate place.
This function induces various "status" messages.
呼び出し関係図:

◆ calc_num_fire()

s16b calc_num_fire ( player_type creature_ptr,
object_type o_ptr 
)

装備中の射撃武器の威力倍率を返す / calcurate the fire rate of target object

引数
o_ptr計算する射撃武器のアイテム情報参照ポインタ
戻り値
射撃倍率の値(100で1.00倍)
呼び出し関係図:

◆ calc_score()

long calc_score ( player_type creature_ptr)

スコアを計算する / Hack – Calculates the total number of points earned -JWT-

戻り値
なし

◆ cheat_death()

void cheat_death ( player_type creature_ptr)
呼び出し関係図:

◆ check_experience()

void check_experience ( player_type creature_ptr)

プレイヤーの経験値について整合性のためのチェックと調整を行う / Advance experience levels and print experience

戻り値
なし
呼び出し関係図:

◆ cnv_stat()

void cnv_stat ( int  val,
char *  out_val 
)

現在の修正後能力値を3~17及び18/xxx形式に変換する / Converts stat num into a six-char (right justified) string

引数
val能力値
out_val出力先文字列ポインタ
戻り値
なし

◆ empty_hands()

BIT_FLAGS16 empty_hands ( player_type creature_ptr,
bool  riding_control 
)

プレイヤーの現在開いている手の状態を返す

引数
riding_control乗馬中により片手を必要としている状態ならばTRUEを返す。
戻り値
開いている手のビットフラグ

◆ free_turn()

void free_turn ( player_type creature_ptr)

◆ has_melee_weapon()

bool has_melee_weapon ( player_type creature_ptr,
int  i 
)

プレイヤーが現在右手/左手に武器を持っているか判定する /

引数
i判定する手のID(右手:0 左手:1)
戻り値
持っているならばTRUE
呼び出し関係図:

◆ heavy_armor()

bool heavy_armor ( player_type creature_ptr)

プレイヤーが防具重量制限のある職業時にペナルティを受ける状態にあるかどうかを返す。

戻り値
ペナルティが適用されるならばTRUE。

◆ is_heavy_shoot()

bool is_heavy_shoot ( player_type creature_ptr,
object_type o_ptr 
)

射撃武器がプレイヤーにとって重すぎるかどうかの判定 /

引数
o_ptr判定する射撃武器のアイテム情報参照ポインタ
戻り値
重すぎるならばTRUE

◆ modify_stat_value()

s16b modify_stat_value ( int  value,
int  amount 
)

能力値現在値から3~17及び18/xxx様式に基づく加減算を行う。 Modify a stat value by a "modifier", return new value

引数
value現在値
amount加減算値
戻り値
加減算後の値
Stats go up: 3,4,...,17,18,18/10,18/20,...,18/220
Or even: 18/13, 18/23, 18/33, ..., 18/220
Stats go down: 18/220, 18/210,..., 18/10, 18, 17, ..., 3
Or even: 18/13, 18/03, 18, 17, ..., 3

◆ player_has_no_spellbooks()

bool player_has_no_spellbooks ( player_type creature_ptr)

プレイヤーが魔道書を一冊も持っていないかを判定する

戻り値
魔道書を一冊も持っていないならTRUEを返す
呼び出し関係図:

◆ player_place()

bool player_place ( player_type creature_ptr,
POSITION  y,
POSITION  x 
)

プレイヤーを指定座標に配置する / Place the player in the dungeon XXX XXX

引数
x配置先X座標
y配置先Y座標
戻り値
配置に成功したらTRUE

◆ riding_exp_level()

int riding_exp_level ( int  riding_exp)

◆ sanity_blast()

void sanity_blast ( player_type creature_ptr,
monster_type m_ptr,
bool  necro 
)

ELDRITCH_HORRORによるプレイヤーの精神破壊処理

引数
m_ptrELDRITCH_HORRORを引き起こしたモンスターの参照ポインタ
necro暗黒領域魔法の詠唱失敗によるものならばTRUEを返す
戻り値
なし
呼び出し関係図:

◆ spell_exp_level()

int spell_exp_level ( int  spell_exp)

◆ take_turn()

void take_turn ( player_type creature_ptr,
PERCENTAGE  need_cost 
)

◆ update_creature()

void update_creature ( player_type creature_ptr)

update のフラグに応じた更新をまとめて行う / Handle "update"

戻り値
なし

更新処理の対象はプレイヤーの能力修正/光源寿命/HP/MP/魔法の学習状態、他多数の外界の状態判定。

呼び出し関係図:

◆ weapon_exp_level()

int weapon_exp_level ( int  weapon_exp)

◆ weight_limit()

WEIGHT weight_limit ( player_type creature_ptr)

プレイヤーの所持重量制限を計算する / Computes current weight limit.

戻り値
制限重量(ポンド)

◆ wreck_the_pattern()

void wreck_the_pattern ( player_type creature_ptr)

種族アンバライトが出血時パターンの上に乗った際のペナルティ処理

戻り値
なし
呼び出し関係図:

◆ your_alignment()

concptr your_alignment ( player_type creature_ptr)

変数詳解

◆ adj_chr_chm

const byte adj_chr_chm[]

魅力による魅了能力修正テーブル / Stat Table (CHR) – charm

◆ adj_chr_gold

const byte adj_chr_gold[]

魅力による店での取引修正テーブル Stat Table (CHR) – payment percentages

◆ adj_con_fix

const byte adj_con_fix[]

耐久による基本HP自然治癒値テーブル / Stat Table (CON) – base regeneration rate

◆ adj_con_mhp

const byte adj_con_mhp[]

耐久による基本HP自然治癒値テーブル / Stat Table (CON) – extra 1/4-hitpoints per level (plus 128)

◆ adj_dex_dis

const byte adj_dex_dis[]

器用さによるトラップ解除修正テーブル Stat Table (DEX) – disarming

◆ adj_dex_safe

const byte adj_dex_safe[]

器用さによる盗難防止&体当たり成功判定修正テーブル Stat Table (DEX) – chance of avoiding "theft" and "falling"

◆ adj_dex_ta

const byte adj_dex_ta[]

器用さによるAC修正テーブル Stat Table (DEX) – bonus to ac (plus 128)

◆ adj_dex_th

const byte adj_dex_th[]

器用度による命中修正テーブル Stat Table (DEX) – bonus to hit (plus 128)

◆ adj_int_dev

const byte adj_int_dev[]

知力による魔道具使用修正テーブル Stat Table (INT) – Magic devices

◆ adj_int_dis

const byte adj_int_dis[]

知力によるトラップ解除修正テーブル Stat Table (INT) – disarming

◆ adj_mag_fail

const byte adj_mag_fail[]

知力/賢さによる最低魔法失敗率テーブル Stat Table (INT/WIS) – Minimum failure rate (percentage)

◆ adj_mag_mana

const byte adj_mag_mana[]

知力/賢さによるMP修正テーブル Stat Table (INT/WIS) – extra 1/4-mana-points per level

◆ adj_mag_stat

const byte adj_mag_stat[]

知力/賢さによる魔法失敗率修正テーブル Stat Table (INT/WIS) – Various things

◆ adj_mag_study

const byte adj_mag_study[]

知力/賢さによるレベル毎の習得可能魔法数テーブル Stat Table (INT/WIS) – Number of half-spells per level

◆ adj_str_dig

const byte adj_str_dig[]

腕力による採掘能力修正値テーブル Stat Table (STR) – digging value

◆ adj_str_hold

const byte adj_str_hold[]

腕力による武器重量限界値テーブル Stat Table (STR) – weapon weight limit in pounds

◆ adj_str_td

const byte adj_str_td[]

腕力によるダメージ修正テーブル Stat Table (STR) – bonus to dam (plus 128)

◆ adj_str_th

const byte adj_str_th[]

腕力による命中修正テーブル Stat Table (STR) – bonus to hit (plus 128)

◆ adj_str_wgt

const byte adj_str_wgt[]

腕力による基本所持重量値テーブル Stat Table (STR) – weight limit in deca-pounds

◆ adj_wis_sav

const byte adj_wis_sav[]

賢さによる魔法防御修正テーブル Stat Table (WIS) – Saving throw

◆ p_ptr

player_type* p_ptr

◆ player_exp

const s32b player_exp[PY_MAX_LEVEL]

基本必要経験値テーブル / Base experience levels, may be adjusted up for race and/or class

◆ player_exp_a

const s32b player_exp_a[PY_MAX_LEVEL]

基本必要強化値テーブル(アンドロイド専用)

◆ stat_names

const concptr stat_names[6]

能力値テーブル / Abbreviations of healthy stats

◆ stat_names_reduced

const concptr stat_names_reduced[6]

能力値テーブル(能力低下時) / Abbreviations of damaged stats