#include "angband.h"
#include "spells-summon.h"
+#include "trap.h"
#include "player-status.h"
/*!
#include "angband.h"
#include "chest.h"
+#include "trap.h"
#include "floor.h"
#include "melee.h"
#include "object-hook.h"
extern const concptr E_realm_names[];
#endif
extern const concptr spell_names[VALID_REALM][32];
-extern const int chest_traps[64];
extern const concptr player_title[MAX_CLASS][PY_MAX_LEVEL/5];
extern const concptr color_names[16];
extern const concptr stat_names[6];
#include "player-status.h"
#include "shoot.h"
#include "object-hook.h"
+#include "trap.h"
/*!
* @brief 最初から簡易な名称が明らかになるベースアイテムの判定。 / Certain items, if aware, are known instantly
/*!
- * @brief 箱のトラップテーブル
- * @details
- * <pre>
- * Each chest has a certain set of traps, determined by pval
- * Each chest has a "pval" from 1 to the chest level (max 55)
- * If the "pval" is negative then the trap has been disarmed
- * The "pval" of a chest determines the quality of its treasure
- * Note that disarming a trap on a chest also removes the lock.
- * </pre>
- */
-const int chest_traps[64] =
-{
- 0, /* 0 == empty */
- (CHEST_POISON),
- (CHEST_LOSE_STR),
- (CHEST_LOSE_CON),
- (CHEST_LOSE_STR),
- (CHEST_LOSE_CON), /* 5 == best small wooden */
- 0,
- (CHEST_ALARM),
- (CHEST_ALARM),
- (CHEST_LOSE_STR),
- (CHEST_LOSE_CON),
- (CHEST_POISON),
- (CHEST_SCATTER),
- (CHEST_LOSE_STR | CHEST_LOSE_CON),
- (CHEST_LOSE_STR | CHEST_LOSE_CON),
- (CHEST_SUMMON), /* 15 == best large wooden */
- 0,
- (CHEST_ALARM),
- (CHEST_SCATTER),
- (CHEST_PARALYZE),
- (CHEST_LOSE_STR | CHEST_LOSE_CON),
- (CHEST_SUMMON),
- (CHEST_PARALYZE),
- (CHEST_LOSE_STR),
- (CHEST_LOSE_CON),
- (CHEST_EXPLODE), /* 25 == best small iron */
- 0,
- (CHEST_E_SUMMON),
- (CHEST_POISON | CHEST_LOSE_CON),
- (CHEST_LOSE_STR | CHEST_LOSE_CON),
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_BIRD_STORM),
- (CHEST_POISON | CHEST_SUMMON),
- (CHEST_E_SUMMON | CHEST_ALARM),
- (CHEST_EXPLODE),
- (CHEST_EXPLODE | CHEST_SUMMON), /* 35 == best large iron */
- 0,
- (CHEST_SUMMON | CHEST_ALARM),
- (CHEST_EXPLODE),
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_POISON | CHEST_PARALYZE),
- (CHEST_EXPLODE),
- (CHEST_BIRD_STORM),
- (CHEST_EXPLODE | CHEST_E_SUMMON | CHEST_ALARM),
- (CHEST_H_SUMMON), /* 45 == best small steel */
- 0,
- (CHEST_EXPLODE | CHEST_SUMMON | CHEST_ALARM),
- (CHEST_BIRD_STORM),
- (CHEST_RUNES_OF_EVIL),
- (CHEST_EXPLODE | CHEST_SUMMON | CHEST_ALARM),
- (CHEST_BIRD_STORM | CHEST_ALARM),
- (CHEST_H_SUMMON | CHEST_ALARM),
- (CHEST_RUNES_OF_EVIL),
- (CHEST_H_SUMMON | CHEST_SCATTER | CHEST_ALARM),
- (CHEST_RUNES_OF_EVIL | CHEST_EXPLODE), /* 55 == best large steel */
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_EXPLODE | CHEST_SUMMON),
- (CHEST_EXPLODE | CHEST_SUMMON),
-};
-
-
-/*!
* @brief 職業とレベル毎のプレイヤー称号テーブル / Class titles for the player.
* <pre>
* The player gets a new title every five levels, so each class
/*!
+ * @brief 箱のトラップテーブル
+ * @details
+ * <pre>
+ * Each chest has a certain set of traps, determined by pval
+ * Each chest has a "pval" from 1 to the chest level (max 55)
+ * If the "pval" is negative then the trap has been disarmed
+ * The "pval" of a chest determines the quality of its treasure
+ * Note that disarming a trap on a chest also removes the lock.
+ * </pre>
+ */
+const int chest_traps[64] =
+{
+ 0, /* 0 == empty */
+ (CHEST_POISON),
+ (CHEST_LOSE_STR),
+ (CHEST_LOSE_CON),
+ (CHEST_LOSE_STR),
+ (CHEST_LOSE_CON), /* 5 == best small wooden */
+ 0,
+ (CHEST_ALARM),
+ (CHEST_ALARM),
+ (CHEST_LOSE_STR),
+ (CHEST_LOSE_CON),
+ (CHEST_POISON),
+ (CHEST_SCATTER),
+ (CHEST_LOSE_STR | CHEST_LOSE_CON),
+ (CHEST_LOSE_STR | CHEST_LOSE_CON),
+ (CHEST_SUMMON), /* 15 == best large wooden */
+ 0,
+ (CHEST_ALARM),
+ (CHEST_SCATTER),
+ (CHEST_PARALYZE),
+ (CHEST_LOSE_STR | CHEST_LOSE_CON),
+ (CHEST_SUMMON),
+ (CHEST_PARALYZE),
+ (CHEST_LOSE_STR),
+ (CHEST_LOSE_CON),
+ (CHEST_EXPLODE), /* 25 == best small iron */
+ 0,
+ (CHEST_E_SUMMON),
+ (CHEST_POISON | CHEST_LOSE_CON),
+ (CHEST_LOSE_STR | CHEST_LOSE_CON),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_BIRD_STORM),
+ (CHEST_POISON | CHEST_SUMMON),
+ (CHEST_E_SUMMON | CHEST_ALARM),
+ (CHEST_EXPLODE),
+ (CHEST_EXPLODE | CHEST_SUMMON), /* 35 == best large iron */
+ 0,
+ (CHEST_SUMMON | CHEST_ALARM),
+ (CHEST_EXPLODE),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_POISON | CHEST_PARALYZE),
+ (CHEST_EXPLODE),
+ (CHEST_BIRD_STORM),
+ (CHEST_EXPLODE | CHEST_E_SUMMON | CHEST_ALARM),
+ (CHEST_H_SUMMON), /* 45 == best small steel */
+ 0,
+ (CHEST_EXPLODE | CHEST_SUMMON | CHEST_ALARM),
+ (CHEST_BIRD_STORM),
+ (CHEST_RUNES_OF_EVIL),
+ (CHEST_EXPLODE | CHEST_SUMMON | CHEST_ALARM),
+ (CHEST_BIRD_STORM | CHEST_ALARM),
+ (CHEST_H_SUMMON | CHEST_ALARM),
+ (CHEST_RUNES_OF_EVIL),
+ (CHEST_H_SUMMON | CHEST_SCATTER | CHEST_ALARM),
+ (CHEST_RUNES_OF_EVIL | CHEST_EXPLODE), /* 55 == best large steel */
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+ (CHEST_EXPLODE | CHEST_SUMMON),
+};
+
+
+/*!
* @brief タグに従って、基本トラップテーブルを初期化する / Initialize arrays for normal traps
* @return なし
*/
extern void place_trap(POSITION y, POSITION x);
extern void hit_trap(bool break_trap);
+extern const int chest_traps[64];
+
/* Types of normal traps */
#define NOT_TRAP -1
#define TRAP_TRAPDOOR 0