OSDN Git Service

* #37454 (2.2.0.53) カジノのポーカーでまだ一部ストレート判定が怪しかったり余計だったものを修正。 / Fix a bug of straight...
[hengband/hengband.git] / src / defines.h
index 64bf19e..2ad7911 100644 (file)
 #define FAKE_VERSION   0
 
 #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
-#define FAKE_VER_MINOR 1 /*!< ゲームのバージョン番号定義(マイナー番号) */
-#define FAKE_VER_PATCH 5 /*!< ゲームのバージョン番号定義(パッチ番号) */
+#define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */
+#define FAKE_VER_PATCH 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 1 /*!< セーブファイル上のバージョン定義(マイナー番号) */
-#define H_VER_PATCH 2 /*!< セーブファイル上のバージョン定義(パッチ番号) */
-#define H_VER_EXTRA 4 /*!< セーブファイル上のバージョン定義(エクストラ番号) */
+#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.
  * Originally from UnAngband, and modified into TR-like style in Hengband
  */
 
+#define FF_LOS           0              /*!< 視界が通る地形である */
+#define FF_PROJECT       1              /*!< 飛び道具が通過できる地形である */
+#define FF_MOVE          2              /*!< 移動可能な地形である */
+#define FF_PLACE         3              /*!< モンスター配置をしても良い地形である(cave_empty_bold/cave_empty_gridで利用) */
+#define FF_DROP          4              /*!< アイテムを落としてよい地形である */
+#define FF_SECRET        5              /*!< 隠し扉やトラップが潜んでいる地形である */
+#define FF_NOTICE        6              /*!< 何か興味を引くものがある地形である(シフトキー+方向で走行中の時に止まる基準) */
+#define FF_REMEMBER      7              /*!< 常に記憶対象となる地形である(記憶喪失時に忘れたりしなくなる) */
+#define FF_OPEN          8              /*!< 開けるコマンドの対象となる地形である */
+#define FF_CLOSE         9              /*!< 閉じるコマンドの対象となる地形である */
+#define FF_BASH          10             /*!< 体当たりコマンドの対象となる地形である */
+#define FF_SPIKE         11             /*!< くさびを打つコマンドの対象となる地形である */
+#define FF_DISARM        12             /*!< 解除コマンドの対象となる地形である */
+#define FF_STORE         13             /*!< 店舗の入口となる地形である */
+#define FF_TUNNEL        14             /*!< 魔王変化などで掘り進められる地形である */
+#define FF_MAY_HAVE_GOLD 15             /*!< 何か財宝を隠した可能性のある地形である?(f_infoに使用している地形なし) */
+#define FF_HAS_GOLD      16             /*!< 財宝を含んだ地形である */
+#define FF_HAS_ITEM      17             /*!< アイテムを含んだ地形である */
+#define FF_DOOR          18             /*!< ドアのある地形である */
+#define FF_TRAP          19             /*!< トラップのある地形である */
+#define FF_STAIRS        20             /*!< 階段のある地形である */
+#define FF_GLYPH         21             /*!< 守りのルーンが張られた地形である */
+#define FF_LESS          22             /*!< 階上に通じる地形である */
+#define FF_MORE          23             /*!< 階下に通じる地形である */
+#define FF_AVOID_RUN     24             /*!< 自動移動機能時に障害として迂回すべき地形である */
+#define FF_FLOOR         25             /*!< 床のある地形である */
+#define FF_WALL          26             /*!< 壁のある地形である */
+#define FF_PERMANENT     27             /*!< 絶対に破壊できない永久地形である */
+/* #define FF_XXX00         28  未定義 */
+/* #define FF_XXX01         29  未定義 */
+/* #define FF_XXX02         30  未定義 */
+#define FF_HIT_TRAP      31             /*!< トラップのある地形である(TRAPと常に重複している?) */
+/* #define FF_BRIDGE        32  未使用 */
+/* #define FF_RIVER         33  未使用 */
+/* #define FF_LAKE          34  未使用 */
+/* #define FF_BRIDGED       35  未使用 */
+/* #define FF_COVERED       36  未使用 */
+#define FF_GLOW          37             /*!< 常に光っている地形である */
+#define FF_ENSECRET      38             /*!< 不明(f_info.txt上で利用している地形がない) */
+#define FF_WATER         39             /*!< 水のある地形である */
+#define FF_LAVA          40             /*!< 溶岩のある地形である */
+#define FF_SHALLOW       41             /*!< 浅い地形である */
+#define FF_DEEP          42             /*!< 深い地形である */
+/* #define FF_FILLED        43 */       /*!< 未使用 */
+#define FF_HURT_ROCK     44             /*!< 岩石溶解の対象となる地形である */
+/* #define FF_HURT_FIRE     45 */       /*!< 未使用 */
+/* #define FF_HURT_COLD     46 */       /*!< 未使用 */
+/* #define FF_HURT_ACID     47 */       /*!< 未使用 */
+/* #define FF_ICE           48 */       /*!< 未使用 */
+/* #define FF_ACID          49 */       /*!< 未使用 */
+/* #define FF_OIL           50 */       /*!< 未使用 */
+/* #define FF_XXX04      51 */          /*!< 未使用 */
+/* #define FF_CAN_CLIMB     52 */       /*!< 未使用 */
+#define FF_CAN_FLY       53             /*!< 飛行可能な地形である */
+#define FF_CAN_SWIM      54             /*!< 泳ぐことが可能な地形である */
+#define FF_CAN_PASS      55             /*!< 通過可能な地形である */
+/* #define FF_CAN_OOZE      56 */       /*!< 未使用 */
+#define FF_CAN_DIG       57             /*!< 掘削コマンドの対象となる地形である */
+/* #define FF_HIDE_ITEM     58  未使用 */
+/* #define FF_HIDE_SNEAK    59  未使用 */
+/* #define FF_HIDE_SWIM     60  未使用 */
+/* #define FF_HIDE_DIG      61  未使用 */
+/* #define FF_KILL_HUGE     62  未使用 */
+/* #define FF_KILL_MOVE     63  未使用 */
+/* #define FF_PICK_TRAP     64  未使用 */
+/* #define FF_PICK_DOOR     65  未使用 */
+/* #define FF_ALLOC         66  未使用 */
+/* #define FF_CHEST         67  未使用 */
+/* #define FF_DROP_1D2      68  未使用 */
+/* #define FF_DROP_2D2      69  未使用 */
+/* #define FF_DROP_GOOD     70  未使用 */
+/* #define FF_DROP_GREAT    71  未使用 */
+/* #define FF_HURT_POIS     72  未使用 */
+/* #define FF_HURT_ELEC     73  未使用 */
+/* #define FF_HURT_WATER    74  未使用 */
+/* #define FF_HURT_BWATER   75  未使用 */
+/* #define FF_USE_FEAT      76  未使用 */
+/* #define FF_GET_FEAT      77  未使用 */
+/* #define FF_GROUND        78  未使用 */
+/* #define FF_OUTSIDE       79  未使用 */
+/* #define FF_EASY_HIDE     80  未使用 */
+/* #define FF_EASY_CLIMB    81  未使用 */
+/* #define FF_MUST_CLIMB    82  未使用 */
+#define FF_TREE          83             /*!< 木の生えた地形である */
+/* #define FF_NEED_TREE     84  未使用 */
+/* #define FF_BLOOD         85  未使用 */
+/* #define FF_DUST          86  未使用 */
+/* #define FF_SLIME         87  未使用 */
+#define FF_PLANT         88             /*!< 植物の生えた地形である */
+/* #define FF_XXX2          89  未定義 */
+/* #define FF_INSTANT       90  未使用 */
+/* #define FF_EXPLODE       91  未使用 */
+/* #define FF_TIMED         92  未使用 */
+/* #define FF_ERUPT         93  未使用 */
+/* #define FF_STRIKE        94  未使用 */
+/* #define FF_SPREAD        95  未使用 */
+#define FF_SPECIAL       96             /*!< クエストやダンジョンに関わる特別な地形である */
+#define FF_HURT_DISI     97             /*!< 分解属性の対象となる地形である */
+#define FF_QUEST_ENTER   98             /*!< クエストの入り口である */
+#define FF_QUEST_EXIT    99             /*!< クエストの出口である */
+#define FF_QUEST         100            /*!< クエストに関する地形である */
+#define FF_SHAFT         101            /*!< 坑道である。(2階層移動する階段である) */
+#define FF_MOUNTAIN      102            /*!< ダンジョンの山地形である */
+#define FF_BLDG          103            /*!< 施設の入り口である */
+#define FF_MINOR_GLYPH   104            /*!< 爆発のルーンのある地形である */
+#define FF_PATTERN       105            /*!< パターンのある地形である */
+#define FF_TOWN          106            /*!< 広域マップ用の街がある地形である */
+#define FF_ENTRANCE      107            /*!< 広域マップ用のダンジョンがある地形である */
+#define FF_MIRROR        108            /*!< 鏡使いの鏡が張られた地形である */
+#define FF_UNPERM        109            /*!< 破壊不能な地形である(K:フラグ向け?) */
+#define FF_TELEPORTABLE  110            /*!< テレポート先の対象となる地形である */
+#define FF_CONVERT       111            /*!< 地形生成処理中の疑似フラグ */
+#define FF_GLASS         112            /*!< ガラス製の地形である */
 
-#define FF_LOS           0
-#define FF_PROJECT       1
-#define FF_MOVE          2
-#define FF_PLACE         3
-#define FF_DROP          4
-#define FF_SECRET        5
-#define FF_NOTICE        6
-#define FF_REMEMBER      7
-#define FF_OPEN          8
-#define FF_CLOSE         9
-#define FF_BASH          10
-#define FF_SPIKE         11
-#define FF_DISARM        12
-#define FF_STORE         13
-#define FF_TUNNEL        14
-#define FF_MAY_HAVE_GOLD 15
-#define FF_HAS_GOLD      16
-#define FF_HAS_ITEM      17
-#define FF_DOOR          18
-#define FF_TRAP          19
-#define FF_STAIRS        20
-#define FF_GLYPH         21
-#define FF_LESS          22
-#define FF_MORE          23
-#define FF_AVOID_RUN     24
-#define FF_FLOOR         25
-#define FF_WALL          26
-#define FF_PERMANENT     27
-/* #define FF_XXX00         28 */
-/* #define FF_XXX01         29 */
-/* #define FF_XXX02         30 */
-#define FF_HIT_TRAP      31
-
-/* #define FF_BRIDGE        32 */
-/* #define FF_RIVER         33 */
-/* #define FF_LAKE          34 */
-/* #define FF_BRIDGED       35 */
-/* #define FF_COVERED       36 */
-#define FF_GLOW          37
-#define FF_ENSECRET      38
-#define FF_WATER         39
-#define FF_LAVA          40
-#define FF_SHALLOW       41
-#define FF_DEEP          42
-/* #define FF_FILLED        43 */
-#define FF_HURT_ROCK     44
-/* #define FF_HURT_FIRE     45 */
-/* #define FF_HURT_COLD     46 */
-/* #define FF_HURT_ACID     47 */
-/* #define FF_ICE           48 */
-/* #define FF_ACID          49 */
-/* #define FF_OIL           50 */
-/* #define FF_XXX04      51 */
-/* #define FF_CAN_CLIMB     52 */
-#define FF_CAN_FLY       53
-#define FF_CAN_SWIM      54
-#define FF_CAN_PASS      55
-/* #define FF_CAN_OOZE      56 */
-#define FF_CAN_DIG       57
-/* #define FF_HIDE_ITEM     58 */
-/* #define FF_HIDE_SNEAK    59 */
-/* #define FF_HIDE_SWIM     60 */
-/* #define FF_HIDE_DIG      61 */
-/* #define FF_KILL_HUGE     62 */
-/* #define FF_KILL_MOVE     63 */
-
-/* #define FF_PICK_TRAP     64 */
-/* #define FF_PICK_DOOR     65 */
-/* #define FF_ALLOC         66 */
-/* #define FF_CHEST         67 */
-/* #define FF_DROP_1D2      68 */
-/* #define FF_DROP_2D2      69 */
-/* #define FF_DROP_GOOD     70 */
-/* #define FF_DROP_GREAT    71 */
-/* #define FF_HURT_POIS     72 */
-/* #define FF_HURT_ELEC     73 */
-/* #define FF_HURT_WATER    74 */
-/* #define FF_HURT_BWATER   75 */
-/* #define FF_USE_FEAT      76 */
-/* #define FF_GET_FEAT      77 */
-/* #define FF_GROUND        78 */
-/* #define FF_OUTSIDE       79 */
-/* #define FF_EASY_HIDE     80 */
-/* #define FF_EASY_CLIMB    81 */
-/* #define FF_MUST_CLIMB    82 */
-#define FF_TREE          83
-/* #define FF_NEED_TREE     84 */
-/* #define FF_BLOOD         85 */
-/* #define FF_DUST          86 */
-/* #define FF_SLIME         87 */
-#define FF_PLANT         88
-/* #define FF_XXX2          89 */
-/* #define FF_INSTANT       90 */
-/* #define FF_EXPLODE       91 */
-/* #define FF_TIMED         92 */
-/* #define FF_ERUPT         93 */
-/* #define FF_STRIKE        94 */
-/* #define FF_SPREAD        95 */
-
-#define FF_SPECIAL       96
-#define FF_HURT_DISI     97
-#define FF_QUEST_ENTER   98
-#define FF_QUEST_EXIT    99
-#define FF_QUEST         100
-#define FF_SHAFT         101
-#define FF_MOUNTAIN      102
-#define FF_BLDG          103
-#define FF_MINOR_GLYPH   104
-#define FF_PATTERN       105
-#define FF_TOWN          106
-#define FF_ENTRANCE      107
-#define FF_MIRROR        108
-#define FF_UNPERM        109
-#define FF_TELEPORTABLE  110
-#define FF_CONVERT       111
-#define FF_GLASS         112
 
 #define FF_FLAG_MAX      113
 #define FF_FLAG_SIZE     (1 + ((FF_FLAG_MAX - 1) / 32))
 #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 */
@@ -4453,7 +4460,10 @@ extern int PlayerUID;
 #define MUSIC_BASIC_QUEST     15
 #define MUSIC_BASIC_ARENA     16
 #define MUSIC_BASIC_BATTLE    17
-#define MUSIC_BASIC_MAX       18 /*!< BGM定義の最大数 */
+#define MUSIC_BASIC_QUEST_CLEAR 18
+#define MUSIC_BASIC_FINAL_QUEST_CLEAR 19
+#define MUSIC_BASIC_AMBUSH    20
+#define MUSIC_BASIC_MAX       21 /*!< BGM定義の最大数 */
 
 /*** Sound constants ***/
 
@@ -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