* @param realm 魔法領域のID
* @return 対応する徳のID
*/
-static VIRTUES_IDX get_realm_virtues(player_type *creature_ptr, REALM_IDX realm)
+static enum virtue_idx get_realm_virtues(player_type *creature_ptr, REALM_IDX realm)
{
switch (realm) {
case REALM_LIFE:
case REALM_TRUMP:
return V_KNOWLEDGE;
case REALM_ARCANE:
- return 0;
+ return V_NONE;
case REALM_CRAFT:
if (virtue_number(creature_ptr, V_ENCHANT))
return V_INDIVIDUALISM;
else
return V_COMPASSION;
default:
- return 0;
+ return V_NONE;
};
}
#define MAX_VIRTUE 18 /*!< 徳定義の最大数 */
-#define V_COMPASSION 1
-#define V_HONOUR 2
-#define V_JUSTICE 3
-#define V_SACRIFICE 4
-#define V_KNOWLEDGE 5
-#define V_FAITH 6
-#define V_ENLIGHTEN 7
-#define V_ENCHANT 8
-#define V_CHANCE 9
-#define V_NATURE 10
-#define V_HARMONY 11
-#define V_VITALITY 12
-#define V_UNLIFE 13
-#define V_PATIENCE 14
-#define V_TEMPERANCE 15
-#define V_DILIGENCE 16
-#define V_VALOUR 17
-#define V_INDIVIDUALISM 18
+enum virtue_idx {
+ V_NONE = 0,
+ V_COMPASSION = 1,
+ V_HONOUR = 2,
+ V_JUSTICE = 3,
+ V_SACRIFICE = 4,
+ V_KNOWLEDGE = 5,
+ V_FAITH = 6,
+ V_ENLIGHTEN = 7,
+ V_ENCHANT = 8,
+ V_CHANCE = 9,
+ V_NATURE = 10,
+ V_HARMONY = 11,
+ V_VITALITY = 12,
+ V_UNLIFE = 13,
+ V_PATIENCE = 14,
+ V_TEMPERANCE = 15,
+ V_DILIGENCE = 16,
+ V_VALOUR = 17,
+ V_INDIVIDUALISM = 18,
+};
#define VIRTUE_LARGE 1
#define VIRTUE_SMALL 2
typedef s16b ARTIFACT_IDX; /*!< ゲーム中のアーティファクトID型を定義 */
typedef s16b EGO_IDX; /*!< アイテムエゴのID型を定義 */
typedef s16b ACTIVATION_IDX; /*!< アイテムの発動効果ID型を定義 */
-typedef s16b VIRTUES_IDX; /*!< ゲーム中の徳ID型を定義 */
typedef s16b QUEST_IDX; /*!< ゲーム中のクエストID型を定義 */
typedef byte ROOM_IDX; /*!< 部屋のID型を定義 */