OSDN Git Service

* #37454 (2.2.0.53) カジノのポーカーでまだ一部ストレート判定が怪しかったり余計だったものを修正。 / Fix a bug of straight...
[hengband/hengband.git] / src / defines.h
index ca6d50c..2ad7911 100644 (file)
 #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
 #define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */
 #define FAKE_VER_PATCH 0 /*!< ゲームのバージョン番号定義(パッチ番号) */
-#define FAKE_VER_EXTRA 0 /*!< ゲームのバージョン番号定義(エクストラ番号) */
+#define FAKE_VER_EXTRA 53 /*!< ゲームのバージョン番号定義(エクストラ番号) */
+
+
+ /*!
+  * @brief バージョンが開発版が安定版かを返す
+  */
+#define        IS_STABLE_VERSION (FAKE_VER_MINOR % 2 == 0 && FAKE_VER_EXTRA == 0)
 
 /*!
  * @brief セーブファイル上のバージョン定義(メジャー番号) / "Savefile Version Number" for Hengband 1.1.1 and later
  * @details
+ * 当面FAKE_VER_*を参照しておく。
  * <pre>
  * First three digits may be same as the Program Version.  But not
  * always same.  It means that newer version may preserves lower
  * Upper compatibility is always guaranteed.
  * </pre>
  */
-#define H_VER_MAJOR 2 /*!< セーブファイル上のバージョン定義(メジャー番号) */
-#define H_VER_MINOR 2 /*!< セーブファイル上のバージョン定義(マイナー番号) */
-#define H_VER_PATCH 0 /*!< セーブファイル上のバージョン定義(パッチ番号) */
-#define H_VER_EXTRA 0 /*!< セーブファイル上のバージョン定義(エクストラ番号) */
+#define H_VER_MAJOR (FAKE_VER_MAJOR-10) /*!< セーブファイル上のバージョン定義(メジャー番号) */
+#define H_VER_MINOR FAKE_VER_MINOR /*!< セーブファイル上のバージョン定義(マイナー番号) */
+#define H_VER_PATCH FAKE_VER_PATCH /*!< セーブファイル上のバージョン定義(パッチ番号) */
+#define H_VER_EXTRA FAKE_VER_EXTRA /*!< セーブファイル上のバージョン定義(エクストラ番号) */
 
 #define ANGBAND_2_8_1 /*!< Angband 2.8.1以降から有効な処理分岐を定義 */
 #define ZANGBAND /*!< Zangband 以降から有効な処理分岐を定義 */
  * @brief generate.cで用いられる基本的なブロック数単位(垂直方向)
  * Number of grids in each block (vertically) Probably hard-coded to 11, see "generate.c"
  */
-#define BLOCK_HGT      11
+#define BLOCK_HGT 11
 
 /*!
  * @brief generate.cで用いられる基本的なブロック数単位(水平方向)
  * Number of grids in each block (horizontally) Probably hard-coded to 11, see "generate.c"
  */
-#define BLOCK_WID      11
+#define BLOCK_WID 11
 
 /*!
  * @brief 表示上の基本的なパネル単位(垂直方向、BLOCK_HGTの倍数で設定すること)
  * Number of grids in each panel (vertically) Must be a multiple of BLOCK_HGT
  */
-#define PANEL_HGT      11
+#define PANEL_HGT 11
 
 /*!
  * @brief 表示上の基本的なパネル単位(水平方向、BLOCK_WIDの倍数で設定すること)
  * Number of grids in each panel (horizontally) Must be a multiple of BLOCK_WID
  */
-#define PANEL_WID      33
+#define PANEL_WID 33
 
 /*!
  * @brief 表示上の基本的なブロック単位(垂直方向、PANEL_HGTの倍数で設定すること)
  * Number of grids used to display the dungeon (vertically). Must be a multiple of 11, probably hard-coded to 22.
  */
-#define SCREEN_HGT      22
+#define SCREEN_HGT 22
 
 /*!
  * @brief 表示上の基本的なブロック単位(水平方向、PANEL_WIDの倍数で設定すること)
  * Number of grids used to display the dungeon (horizontally). Must be a multiple of 33, probably hard-coded to 66.
  */
-#define SCREEN_WID      66
+#define SCREEN_WID 66
 
 /*!
  * @brief 表示上のダンジョンの最大垂直サイズ(SCREEN_HGTの3倍が望ましい)
  * Maximum dungeon height in grids, must be a multiple of SCREEN_HGT, probably hard-coded to SCREEN_HGT * 3.
  */
-#define MAX_HGT         66
+#define MAX_HGT 66
 
 /*!
  * @brief 表示上のダンジョンの最大水平サイズ(SCREEN_WIDの3倍が望ましい)
  * Maximum dungeon width in grids, must be a multiple of SCREEN_WID, probably hard-coded to SCREEN_WID * 3.
  */
-#define MAX_WID         198
+#define MAX_WID 198
 
 /*
  * Quest constants
  */
-#define MIN_RANDOM_QUEST    40 /*<! ランダムクエストを割り当てるクエストIDの開始値 */
-#define MAX_RANDOM_QUEST    49 /*<! ランダムクエストを割り当てるクエストIDの終了値 */
+#define MIN_RANDOM_QUEST 40 /*<! ランダムクエストを割り当てるクエストIDの開始値 */
+#define MAX_RANDOM_QUEST 49 /*<! ランダムクエストを割り当てるクエストIDの終了値 */
 
 /*!
  * @brief 該当IDが固定クエストかどうかを判定する / Check is the quest index is "fixed"
  */
 #define is_fixed_quest_idx(Q_IDX) (((Q_IDX) < MIN_RANDOM_QUEST) || ((Q_IDX) > MAX_RANDOM_QUEST))
 
-#define QUEST_TOWER1         5 /*<! 塔クエスト(第1階層)に割り振るクエストID */
-#define QUEST_TOWER2         6 /*<! 塔クエスト(第2階層)に割り振るクエストID */
-#define QUEST_TOWER3         7 /*<! 塔クエスト(第3階層)に割り振るクエストID */
-#define QUEST_OBERON         8 /*<! オベロン打倒クエストに割り振るクエストID */
-#define QUEST_SERPENT        9 /*<! サーペント打倒クエストに割り振るクエストID */
+#define QUEST_TOWER1 5 /*<! 塔クエスト(第1階層)に割り振るクエストID */
+#define QUEST_TOWER2 6 /*<! 塔クエスト(第2階層)に割り振るクエストID */
+#define QUEST_TOWER3 7 /*<! 塔クエスト(第3階層)に割り振るクエストID */
+#define QUEST_OBERON 8 /*<! オベロン打倒クエストに割り振るクエストID */
+#define QUEST_SERPENT 9 /*<! サーペント打倒クエストに割り振るクエストID */
 
 /*
  * Arena constants
  */
-#define MAX_ARENA_MONS         41      /*<! 闘技場のイベント件数 -KMW- */
+#define MAX_ARENA_MONS 41 /*<! 闘技場のイベント件数 -KMW- */
 #define ARENA_DEFEATED_OLD_VER (-(MAX_SHORT)) /*<! 旧バージョンの闘技場敗北定義 */
 
 
-#define MAX_STORES      10 /*!< store.c用の店舗の種類最大数 / Total number of stores (see "store.c", etc) */
-#define MAX_BLDG               32 /*!< 施設の種類最大数 / Number of buildings */
+#define MAX_STORES 10 /*!< store.c用の店舗の種類最大数 / Total number of stores (see "store.c", etc) */
+#define MAX_BLDG 32 /*!< 施設の種類最大数 / Number of buildings */
 
 /*
  * Store types
 #define MUT3_REGEN                      0x01000000L /*!< 突然変異: 急回復 */
 #define MUT3_ESP                        0x02000000L /*!< 突然変異: テレパシー */
 #define MUT3_LIMBER                     0x04000000L /*!< 突然変異: しなやかな肉体 */
-#define MUT3_ARTHRITIS                  0x08000000L /*!< çª\81ç\84¶å¤\89ç\95°: é\96\93æ\8e¥の痛み */
+#define MUT3_ARTHRITIS                  0x08000000L /*!< çª\81ç\84¶å¤\89ç\95°: é\96¢ç¯\80の痛み */
 #define MUT3_BAD_LUCK                   0x10000000L /*!< 突然変異: 黒いオーラ(不運) */
 #define MUT3_VULN_ELEM                  0x20000000L /*!< 突然変異: 元素攻撃弱点 */
 #define MUT3_MOTION                     0x40000000L /*!< 突然変異: 正確で力強い動作 */
 /*
  * Misc constants
  */
-#define TOWN_DAWN         10000    /*!< 1日分のターン / Number of ticks from dawn to dawn XXX */
-#define TURNS_PER_TICK    10L      /*!< Number of energy-gain-turns per ticks */
-#define MAX_DAYS          20000    /*!< 内部処理中で保持される最大日数 / Maximum days */
-#define BREAK_GLYPH       550      /*!< 守りのルーンの強靭度 / Rune of protection resistance */
-#define BREAK_MINOR_GLYPH 299      /*!< 爆発のルーンの発動しやすさ / For explosive runes */
-#define BTH_PLUS_ADJ       3       /*!< 武器経験値及びプレイヤーの打撃/射撃能力に応じた修正値倍率 / Adjust BTH per plus-to-hit */
-#define MON_MULT_ADJ      8       /*!< モンスターの増殖しにくさの基本倍率 / High value slows multiplication */
-#define MON_SUMMON_ADJ    2       /*!< 現在未使用 Adjust level of summoned creatures */
-#define MON_DRAIN_LIFE    2       /*!< モンスターの打撃によるプレイヤーの経験値吸収基本倍率(%) / Percent of player exp drained per hit */
-#define USE_DEVICE        3       /*!< 魔道具の最低失敗基準値 x> Harder devices x< Easier devices     */
+#define TOWN_DAWN         10000   /*!< 1日分のターン / Number of ticks from dawn to dawn XXX */
+#define TURNS_PER_TICK    10L     /*!< 時間経過処理を行うターン数の刻み / Number of energy-gain-turns per ticks */
+#define INN_DUNGEON_TURN_ADJ 10   /*!< 宿屋で時間をつぶした場合に増えるdungeon_turnの倍率 */
+#define MAX_DAYS          20000   /*!< 内部処理中で保持される最大日数 / Maximum days */
+#define BREAK_GLYPH       550     /*!< 守りのルーンの強靭度 / Rune of protection resistance */
+#define BREAK_MINOR_GLYPH 299     /*!< 爆発のルーンの発動しやすさ / For explosive runes */
+#define BTH_PLUS_ADJ      3       /*!< 武器経験値及びプレイヤーの打撃/射撃能力に応じた修正値倍率 / Adjust BTH per plus-to-hit */
+#define MON_MULT_ADJ      8       /*!< モンスターの増殖しにくさの基本倍率 / High value slows multiplication */
+#define MON_SUMMON_ADJ    2       /*!< 現在未使用 Adjust level of summoned creatures */
+#define MON_DRAIN_LIFE    2       /*!< モンスターの打撃によるプレイヤーの経験値吸収基本倍率(%) / Percent of player exp drained per hit */
+#define USE_DEVICE        3       /*!< 魔道具の最低失敗基準値 x> Harder devices x< Easier devices     */
 
 
 /* "Biases" for random artifact gen */
 #define GREAT_OBJ       10
 
 /*!
- * @brief 深層モンスターが生成される基本確率(1/x)
+ * @brief 深層モンスターが生成される(NASTY生成)の基本確率(1/x)
  * @details
  * There is a 1/25 (4%) chance of inflating the requested monster_level
  * during the creation of a monsters (see "get_mon_num()" in "monster.c").
  * Lower values yield harder monsters more often.
  */
 #define NASTY_MON_BASE     25
-#define NASTY_MON_MAX      3   /*! 深層モンスターが1フロアに生成される最大数  */
-#define NASTY_MON_PLUS_MAX 25  /*! 深層モンスターの階層加算最大量 */
+#define NASTY_MON_MAX      3   /*!< 深層モンスターが1フロアに生成される最大数  */
+#define NASTY_MON_PLUS_MAX 25  /*!< 深層モンスターの階層加算最大量 */
 
-#define PENETRATE_INVULNERABILITY 13 /*! 無敵化が破られる確率(1/x) / 1/x chance of hurting even if invulnerable! */
+#define PENETRATE_INVULNERABILITY 13 /*!< 無敵化が破られる確率(1/x) / 1/x chance of hurting even if invulnerable! */
 
 
 
 /*
  * Refueling constants
  */
-#define FUEL_TORCH      5000    /*! 松明の基本寿命値 / Maximum amount of fuel in a torch */
-#define FUEL_LAMP       15000   /*! ランタンの基本寿命値 / Maximum amount of fuel in a lantern */
+#define FUEL_TORCH      5000    /*!< 松明の基本寿命値 / Maximum amount of fuel in a torch */
+#define FUEL_LAMP       15000   /*!< ランタンの基本寿命値 / Maximum amount of fuel in a lantern */
 
 /*
  * More maximum values
 /*
  * Player constants
  */
-#define PY_MAX_EXP      99999999L       /* Maximum exp */
-#define PY_MAX_GOLD     999999999L      /* Maximum gold */
-#define PY_MAX_LEVEL    50              /* Maximum level */
+#define PY_MAX_EXP      99999999L       /*!< プレイヤー経験値の最大値 / Maximum exp */
+#define PY_MAX_GOLD     999999999L      /*!< プレイヤー所持金の最大値 / Maximum gold */
+#define PY_MAX_LEVEL    50              /*!< プレイヤーレベルの最大値 / Maximum level */
 
 /*
  * Player "food" crucial values
  */
-#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_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) */
 
 /*
  * Player regeneration constants
 #define PY_REGEN_MNBASE         524     /* Min amount mana regen*2^16 */
 
 /*
- * Possible realms that can be chosen;
- * currently used only by birth.c and tables.c
+ * 職業ごとの選択可能な魔法領域現在の所 bitrh.cとtables.cでのみ使用。
+ * Possible realms that can be chosen currently used only by birth.c and tables.c
  */
 #define CH_NONE         0x00
 #define CH_LIFE         0x01
  * Note that "INVEN_PACK" is probably hard-coded by its use in savefiles, and
  * by the fact that the screen can only show 23 items plus a one-line prompt.
  */
-#define INVEN_PACK              23
+#define INVEN_PACK      23 /*!< アイテムスロット…所持品(0~) */
 
 /*
  * Indexes used for various "equipment" slots (hard-coded by savefiles, etc).
  */
-#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_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 /*!< アイテムスロット…脚部 */
 
 /*
  * used for get_random_ego()
 
 /*** Screen Locations ***/
 
+#define VER_INFO_ROW 3   //!< タイトル表記(行)
+
 /*
  * Some screen locations for various display routines
  * Currently, row 8 and 15 are the only "blank" rows.
 #define SV_ROD_MIN_DIRECTION    12 /*!< この値以降の小項目IDを持ったロッドは使用時にターゲットを要求する / Special "sval" limit -- first "aimed" rod */
 
 #define SV_CHEST_MIN_LARGE      4  /*!< この値以降の小項目IDを持った箱は大型の箱としてドロップ数を増やす / Special "sval" limit -- first "large" chest */
-#define SV_CHEST_KANDUME        50 /*!< 箱アイテムの小項目ID: おもちゃのカンヅメ
+#define SV_CHEST_KANDUME        50 /*!< 箱アイテムの小項目ID: おもちゃのカンヅメ */
 
 /*
  * Special "sval" limit -- first "good" magic/prayer book
  * Therefore it's very easy to add a lot of new flags; no one need to
  * worry about in which variable a new flag should be put, nor to
  * modify a huge number of files all over the source directory at once
- * to add new flag variables such as flags4, flags5, etc...
+ * to add new flag variables such as flags4, a_ability_flags1, etc...
  *
  * All management of flags is now treated using a set of macros
  * instead of bit operations.
  * Monster bit flags of racial resistances
  * Note: Resist confusion was merged to RFR_NO_CONF
  */
-#define RFR_IM_ACID         0x00000001  /* Resist acid */
-#define RFR_IM_ELEC         0x00000002  /* Resist elec */
-#define RFR_IM_FIRE         0x00000004  /* Resist fire */
-#define RFR_IM_COLD         0x00000008  /* Resist cold */
-#define RFR_IM_POIS         0x00000010  /* Resist poison */
+#define RFR_IM_ACID         0x00000001  /* Immunity acid */
+#define RFR_IM_ELEC         0x00000002  /* Immunity elec */
+#define RFR_IM_FIRE         0x00000004  /* Immunity fire */
+#define RFR_IM_COLD         0x00000008  /* Immunity cold */
+#define RFR_IM_POIS         0x00000010  /* Immunity poison */
 #define RFR_RES_LITE        0x00000020  /* Resist lite */
 #define RFR_RES_DARK        0x00000040  /* Resist dark */
 #define RFR_RES_NETH        0x00000080  /* Resist nether */
@@ -4712,9 +4722,10 @@ extern int PlayerUID;
 #define PARSE_ERROR_UNDEFINED_TERRAIN_TAG   10
 #define PARSE_ERROR_MAX                     11
 
-#define GINOU_SUDE       0
-#define GINOU_NITOURYU   1
-#define GINOU_RIDING      2
+#define GINOU_SUDE      0
+#define GINOU_NITOURYU  1
+#define GINOU_RIDING    2
+#define GINOU_MAX      10
 
 /* Proficiency level */
 #define EXP_LEVEL_UNSKILLED 0
@@ -4770,6 +4781,7 @@ extern int PlayerUID;
 #define NIKKI_WIZ_TELE    20
 #define NIKKI_NAMED_PET   21
 #define NIKKI_PAT_TELE    22
+#define NIKKI_ART_SCROLL  23
 
 #define RECORD_NAMED_PET_NAME        0
 #define RECORD_NAMED_PET_UNNAME      1