OSDN Git Service

Merge remote-tracking branch 'remotes/hengbandosx/english-mind-edits' into feature...
[hengband/hengband.git] / src / player / player-realm.c
1 #include "player/player-realm.h"
2 #include "object/tval-types.h"
3
4 /*!
5  * 職業毎に選択可能な第一領域魔法テーブル
6  */
7 const s32b realm_choices1[MAX_CLASS] = {
8     (CH_NONE), /* Warrior */
9     (CH_LIFE | CH_SORCERY | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT | CH_DAEMON | CH_CRUSADE), /* Mage */
10     (CH_LIFE | CH_DEATH | CH_DAEMON | CH_CRUSADE), /* Priest */
11     (CH_SORCERY | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT), /* Rogue */
12     (CH_NATURE), /* Ranger */
13     (CH_CRUSADE | CH_DEATH), /* Paladin */
14     (CH_ARCANE), /* Warrior-Mage */
15     (CH_CHAOS | CH_DAEMON), /* Chaos-Warrior */
16     (CH_LIFE | CH_NATURE | CH_DEATH | CH_ENCHANT), /* Monk */
17     (CH_NONE), /* Mindcrafter */
18     (CH_LIFE | CH_SORCERY | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT | CH_DAEMON | CH_CRUSADE | CH_HEX), /* High-Mage */
19     (CH_ARCANE), /* Tourist */
20     (CH_NONE), /* Imitator */
21     (CH_TRUMP), /* Beastmaster */
22     (CH_NONE), /* Sorcerer */
23     (CH_NONE), /* Archer */
24     (CH_NONE), /* Magic eater */
25     (CH_MUSIC), /* Bard */
26     (CH_NONE), /* Red Mage */
27     (CH_HISSATSU), /* Samurai */
28     (CH_LIFE | CH_NATURE | CH_DEATH | CH_ENCHANT | CH_CRUSADE), /* ForceTrainer */
29     (CH_NONE), /* Blue Mage */
30     (CH_NONE), /* Cavalry */
31     (CH_NONE), /* Berserker */
32     (CH_NONE), /* Weaponsmith */
33     (CH_NONE), /* Mirror-master */
34     (CH_NONE), /* Ninja */
35     (CH_NONE), /* Sniper */
36 };
37
38 /*!
39  * 職業毎に選択可能な第二領域魔法テーブル
40  */
41 const s32b realm_choices2[MAX_CLASS] = {
42     (CH_NONE), /* Warrior */
43     (CH_LIFE | CH_SORCERY | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT | CH_DAEMON | CH_CRUSADE), /* Mage */
44     (CH_LIFE | CH_SORCERY | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT | CH_DAEMON | CH_CRUSADE), /* Priest */
45     (CH_NONE), /* Rogue */
46     (CH_SORCERY | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_DAEMON), /* Ranger */
47     (CH_NONE), /* Paladin */
48     (CH_LIFE | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_SORCERY | CH_ENCHANT | CH_DAEMON | CH_CRUSADE), /* Warrior-Mage */
49     (CH_NONE), /* Chaos-Warrior */
50     (CH_NONE), /* Monk */
51     (CH_NONE), /* Mindcrafter */
52     (CH_NONE), /* High-Mage */
53     (CH_NONE), /* Tourist */
54     (CH_NONE), /* Imitator */
55     (CH_NONE), /* Beastmanster */
56     (CH_NONE), /* Sorcerer */
57     (CH_NONE), /* Archer */
58     (CH_NONE), /* Magic eater */
59     (CH_NONE), /* Bard */
60     (CH_NONE), /* Red Mage */
61     (CH_NONE), /* Samurai */
62     (CH_NONE), /* ForceTrainer */
63     (CH_NONE), /* Blue Mage */
64     (CH_NONE), /* Cavalry */
65     (CH_NONE), /* Berserker */
66     (CH_NONE), /* Weaponsmith */
67     (CH_NONE), /* Mirror-master */
68     (CH_NONE), /* Ninja */
69     (CH_NONE), /* Sniper */
70 };
71
72 REALM_IDX get_realm1_book(player_type *player_ptr) { return player_ptr->realm1 + TV_LIFE_BOOK - 1; }
73
74 REALM_IDX get_realm2_book(player_type *player_ptr) { return player_ptr->realm2 + TV_LIFE_BOOK - 1; }
75
76 bool is_wizard_class(player_type *player_ptr)
77 {
78     return (player_ptr->pclass == CLASS_MAGE || player_ptr->pclass == CLASS_HIGH_MAGE || player_ptr->pclass == CLASS_SORCERER || player_ptr->pclass == CLASS_MAGIC_EATER
79         || player_ptr->pclass == CLASS_BLUE_MAGE);
80 }