OSDN Git Service

Merge pull request #3569 from sikabane-works/release/3.0.0.88-alpha
[hengbandforosx/hengbandosx.git] / src / player / player-realm.cpp
1 #include "player/player-realm.h"
2 #include "object/tval-types.h"
3 #include "system/player-type-definition.h"
4
5 /*!
6  * 職業毎に選択可能な第一領域魔法テーブル
7  */
8 const std::vector<BIT_FLAGS> realm_choices1 = {
9     (CH_NONE), /* Warrior */
10     (CH_LIFE | CH_SORCERY | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT | CH_DAEMON | CH_CRUSADE), /* Mage */
11     (CH_LIFE | CH_DEATH | CH_DAEMON | CH_CRUSADE), /* Priest */
12     (CH_SORCERY | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT), /* Rogue */
13     (CH_NATURE), /* Ranger */
14     (CH_CRUSADE | CH_DEATH), /* Paladin */
15     (CH_ARCANE), /* Warrior-Mage */
16     (CH_CHAOS | CH_DAEMON), /* Chaos-Warrior */
17     (CH_LIFE | CH_NATURE | CH_DEATH | CH_ENCHANT), /* Monk */
18     (CH_NONE), /* Mindcrafter */
19     (CH_LIFE | CH_SORCERY | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT | CH_DAEMON | CH_CRUSADE | CH_HEX), /* High-Mage */
20     (CH_ARCANE), /* Tourist */
21     (CH_NONE), /* Imitator */
22     (CH_TRUMP), /* Beastmaster */
23     (CH_NONE), /* Sorcerer */
24     (CH_NONE), /* Archer */
25     (CH_NONE), /* Magic eater */
26     (CH_MUSIC), /* Bard */
27     (CH_NONE), /* Red Mage */
28     (CH_HISSATSU), /* Samurai */
29     (CH_LIFE | CH_NATURE | CH_DEATH | CH_ENCHANT | CH_CRUSADE), /* ForceTrainer */
30     (CH_NONE), /* Blue Mage */
31     (CH_NONE), /* Cavalry */
32     (CH_NONE), /* Berserker */
33     (CH_NONE), /* Weaponsmith */
34     (CH_NONE), /* Mirror-master */
35     (CH_NONE), /* Ninja */
36     (CH_NONE), /* Sniper */
37     (CH_NONE), /* Elementalist */
38 };
39
40 /*!
41  * 職業毎に選択可能な第二領域魔法テーブル
42  */
43 const std::vector<BIT_FLAGS> realm_choices2 = {
44     (CH_NONE), /* Warrior */
45     (CH_LIFE | CH_SORCERY | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT | CH_DAEMON | CH_CRUSADE), /* Mage */
46     (CH_LIFE | CH_SORCERY | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_ENCHANT | CH_DAEMON | CH_CRUSADE), /* Priest */
47     (CH_NONE), /* Rogue */
48     (CH_SORCERY | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_DAEMON), /* Ranger */
49     (CH_NONE), /* Paladin */
50     (CH_LIFE | CH_NATURE | CH_CHAOS | CH_DEATH | CH_TRUMP | CH_ARCANE | CH_SORCERY | CH_ENCHANT | CH_DAEMON | CH_CRUSADE), /* Warrior-Mage */
51     (CH_NONE), /* Chaos-Warrior */
52     (CH_NONE), /* Monk */
53     (CH_NONE), /* Mindcrafter */
54     (CH_NONE), /* High-Mage */
55     (CH_NONE), /* Tourist */
56     (CH_NONE), /* Imitator */
57     (CH_NONE), /* Beastmanster */
58     (CH_NONE), /* Sorcerer */
59     (CH_NONE), /* Archer */
60     (CH_NONE), /* Magic eater */
61     (CH_NONE), /* Bard */
62     (CH_NONE), /* Red Mage */
63     (CH_NONE), /* Samurai */
64     (CH_NONE), /* ForceTrainer */
65     (CH_NONE), /* Blue Mage */
66     (CH_NONE), /* Cavalry */
67     (CH_NONE), /* Berserker */
68     (CH_NONE), /* Weaponsmith */
69     (CH_NONE), /* Mirror-master */
70     (CH_NONE), /* Ninja */
71     (CH_NONE), /* Sniper */
72     (CH_NONE), /* Elementalist */
73 };
74
75 ItemKindType get_realm1_book(PlayerType *player_ptr)
76 {
77     return ItemKindType::LIFE_BOOK + player_ptr->realm1 - 1;
78 }
79
80 ItemKindType get_realm2_book(PlayerType *player_ptr)
81 {
82     return ItemKindType::LIFE_BOOK + player_ptr->realm2 - 1;
83 }