3 #include "system/angband.h"
4 #include "util/flag-group.h"
8 * 箱のトラップ定義 Chest trap flags
10 enum class ChestTrapType : ushort {
11 LOSE_STR = 0, /*!< 箱のトラップ: 腕力減少の毒針 */
12 LOSE_CON = 1, /*!< 箱のトラップ: 器用さ減少の毒針 */
13 POISON = 2, /*!< 箱のトラップ: 毒針 */
14 PARALYZE = 3, /*!< 箱のトラップ: 麻痺ガス */
15 EXPLODE = 4, /*!< 箱のトラップ: 爆発 */
16 SUMMON = 5, /*!< 箱のトラップ: 召喚のルーン(モンスター) */
17 SCATTER = 6, /*!< 箱のトラップ: アイテム散乱 */
18 E_SUMMON = 7, /*!< 箱のトラップ: 召喚のルーン(エレメンタル) */
19 BIRD_STORM = 8, /*!< 箱のトラップ: 召喚のルーン(鳥) */
20 H_SUMMON = 9, /*!< 箱のトラップ: 召喚のルーン(強敵) */
21 RUNES_OF_EVIL = 10, /*!< 箱のトラップ: 邪悪なルーン */
22 ALARM = 11, /*!< 箱のトラップ: 警報装置 */
27 /* Types of normal traps */
50 /* Types of special traps */
56 const int MAX_NORMAL_TRAPS = TRAP_ALARM + 1;
58 extern const std::vector<EnumClassFlagGroup<ChestTrapType>> chest_traps;
61 void init_normal_traps(void);
62 FEAT_IDX choose_random_trap(PlayerType *player_ptr);
63 void disclose_grid(PlayerType *player_ptr, POSITION y, POSITION x);
64 void place_trap(PlayerType *player_ptr, POSITION y, POSITION x);
65 void hit_trap(PlayerType *player_ptr, bool break_trap);