From: deskull Date: Tue, 2 Apr 2019 14:51:36 +0000 (+0900) Subject: [Refactor] #37353 chest_traps を trap.c へ移動。 X-Git-Url: http://git.osdn.net/view?p=hengband%2Fhengband.git;a=commitdiff_plain;h=31bc4ee11d50f8e9c542d44fc7579b52cd1fd00d [Refactor] #37353 chest_traps を trap.c へ移動。 --- diff --git a/src/chest.c b/src/chest.c index b05e9f026..b2cacbab2 100644 --- a/src/chest.c +++ b/src/chest.c @@ -1,6 +1,7 @@  #include "angband.h" #include "spells-summon.h" +#include "trap.h" #include "player-status.h" /*! diff --git a/src/cmd2.c b/src/cmd2.c index 6865f70c9..c5e3e64f3 100644 --- a/src/cmd2.c +++ b/src/cmd2.c @@ -12,6 +12,7 @@ #include "angband.h" #include "chest.h" +#include "trap.h" #include "floor.h" #include "melee.h" #include "object-hook.h" diff --git a/src/externs.h b/src/externs.h index e8bba774d..7339cc3ea 100644 --- a/src/externs.h +++ b/src/externs.h @@ -86,7 +86,6 @@ extern const concptr realm_names[]; 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]; diff --git a/src/flavor.c b/src/flavor.c index 071c45b16..f7f4f92b3 100644 --- a/src/flavor.c +++ b/src/flavor.c @@ -14,6 +14,7 @@ #include "player-status.h" #include "shoot.h" #include "object-hook.h" +#include "trap.h" /*! * @brief 最初から簡易な名称が明らかになるベースアイテムの判定。 / Certain items, if aware, are known instantly diff --git a/src/tables.c b/src/tables.c index 603995dbb..d83b4809f 100644 --- a/src/tables.c +++ b/src/tables.c @@ -2886,86 +2886,6 @@ const concptr realm_names[] /*! - * @brief 箱のトラップテーブル - * @details - *
- * 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.
- * 
- */ -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. *
  * The player gets a new title every five levels, so each class
diff --git a/src/trap.c b/src/trap.c
index 6a5774d87..159613d79 100644
--- a/src/trap.c
+++ b/src/trap.c
@@ -14,6 +14,86 @@ static s16b normal_traps[MAX_NORMAL_TRAPS];
 
 
 /*!
+ * @brief 箱のトラップテーブル
+ * @details
+ * 
+ * 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.
+ * 
+ */ +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 なし */ diff --git a/src/trap.h b/src/trap.h index f6da986ea..001748fc5 100644 --- a/src/trap.h +++ b/src/trap.h @@ -5,6 +5,8 @@ extern void disclose_grid(POSITION y, POSITION x); 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