1 #include "player/player-realm.h"
2 #include "object/tval-types.h"
3 #include "system/player-type-definition.h"
8 const uint32_t realm_choices1[MAX_CLASS] = {
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 */
43 const uint32_t realm_choices2[MAX_CLASS] = {
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 */
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 */
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 */
75 int16_t get_realm1_book(player_type *player_ptr) { return player_ptr->realm1 + TV_LIFE_BOOK - 1; }
77 int16_t get_realm2_book(player_type *player_ptr) { return player_ptr->realm2 + TV_LIFE_BOOK - 1; }
79 bool is_wizard_class(player_type *player_ptr)
81 return (player_ptr->pclass == CLASS_MAGE || player_ptr->pclass == CLASS_HIGH_MAGE || player_ptr->pclass == CLASS_SORCERER || player_ptr->pclass == CLASS_MAGIC_EATER
82 || player_ptr->pclass == CLASS_BLUE_MAGE || player_ptr->pclass == CLASS_ELEMENTALIST);