OSDN Git Service

[Refactor] #37353 realm_choices1, realm_choices2 を player-class.c/h へ追加.
authordeskull <deskull@users.sourceforge.jp>
Wed, 1 May 2019 02:23:29 +0000 (11:23 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Wed, 1 May 2019 04:46:28 +0000 (13:46 +0900)
src/externs.h
src/object-hook.c
src/player-class.c
src/player-class.h
src/tables.c

index a168b7c..3abf3b4 100644 (file)
@@ -75,8 +75,6 @@ extern const player_race race_info[MAX_RACES];
 extern const player_seikaku seikaku_info[MAX_SEIKAKU];
 extern const player_race mimic_info[];
 extern const u32b fake_spell_flags[4];
-extern const s32b realm_choices1[];
-extern const s32b realm_choices2[];
 extern const concptr realm_names[];
 #ifdef JP
 extern const concptr E_realm_names[];
index 5962aad..fd1aeb7 100644 (file)
@@ -5,6 +5,7 @@
 #include "object-hook.h"
 #include "monster.h"
 #include "artifact.h"
+#include "player-class.h"
 #include "player-skill.h"
 #include "quest.h"
 #include "world.h"
index 42b9504..c4112c1 100644 (file)
@@ -354,3 +354,94 @@ const player_class class_info[MAX_CLASS] =
                2, 20, 40,
        },
 };
+
+/*!
+ * 職業毎に選択可能な第一領域魔法テーブル
+ */
+const s32b realm_choices1[MAX_CLASS] =
+{
+       (CH_NONE),                              /* Warrior */
+       (CH_LIFE | CH_SORCERY | CH_NATURE |
+        CH_CHAOS | CH_DEATH | CH_TRUMP |
+        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
+        CH_CRUSADE),                              /* Mage */
+       (CH_LIFE | CH_DEATH | CH_DAEMON |
+        CH_CRUSADE),                              /* Priest */
+       (CH_SORCERY | CH_DEATH | CH_TRUMP |
+        CH_ARCANE | CH_ENCHANT),               /* Rogue */
+       (CH_NATURE),                            /* Ranger */
+       (CH_CRUSADE | CH_DEATH),                   /* Paladin */
+       (CH_ARCANE),                            /* Warrior-Mage */
+       (CH_CHAOS | CH_DAEMON),                 /* Chaos-Warrior */
+       (CH_LIFE | CH_NATURE | CH_DEATH |
+        CH_ENCHANT),                           /* Monk */
+       (CH_NONE),                              /* Mindcrafter */
+       (CH_LIFE | CH_SORCERY | CH_NATURE |
+        CH_CHAOS | CH_DEATH | CH_TRUMP |
+        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
+        CH_CRUSADE | CH_HEX),                  /* High-Mage */
+       (CH_ARCANE),                            /* Tourist */
+       (CH_NONE),                              /* Imitator */
+       (CH_TRUMP),                             /* Beastmaster */
+       (CH_NONE),                              /* Sorcerer */
+       (CH_NONE),                              /* Archer */
+       (CH_NONE),                              /* Magic eater */
+       (CH_MUSIC),                             /* Bard */
+       (CH_NONE),                              /* Red Mage */
+       (CH_HISSATSU),                          /* Samurai */
+       (CH_LIFE | CH_NATURE | CH_DEATH |
+        CH_ENCHANT | CH_CRUSADE),                 /* ForceTrainer */
+       (CH_NONE),                              /* Blue Mage */
+       (CH_NONE),                              /* Cavalry */
+       (CH_NONE),                              /* Berserker */
+       (CH_NONE),                              /* Weaponsmith */
+       (CH_NONE),                              /* Mirror-master */
+       (CH_NONE),                              /* Ninja */
+       (CH_NONE),                              /* Sniper */
+};
+
+/*!
+ * 職業毎に選択可能な第二領域魔法テーブル
+ */
+const s32b realm_choices2[MAX_CLASS] =
+{
+       (CH_NONE),                              /* Warrior */
+       (CH_LIFE | CH_SORCERY | CH_NATURE |
+        CH_CHAOS | CH_DEATH | CH_TRUMP |
+        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
+        CH_CRUSADE),                              /* Mage */
+       (CH_LIFE | CH_SORCERY | CH_NATURE |
+        CH_CHAOS | CH_DEATH | CH_TRUMP |
+        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
+        CH_CRUSADE),                              /* Priest */
+       (CH_NONE),                              /* Rogue */
+       (CH_SORCERY | CH_CHAOS | CH_DEATH |
+        CH_TRUMP | CH_ARCANE | CH_DAEMON),     /* Ranger */
+       (CH_NONE),                              /* Paladin */
+       (CH_LIFE | CH_NATURE | CH_CHAOS |
+        CH_DEATH | CH_TRUMP | CH_ARCANE |
+        CH_SORCERY | CH_ENCHANT | CH_DAEMON |
+        CH_CRUSADE),                              /* Warrior-Mage */
+       (CH_NONE),                              /* Chaos-Warrior */
+       (CH_NONE),                              /* Monk */
+       (CH_NONE),                              /* Mindcrafter */
+       (CH_NONE),                              /* High-Mage */
+       (CH_NONE),                              /* Tourist */
+       (CH_NONE),                              /* Imitator */
+       (CH_NONE),                              /* Beastmanster */
+       (CH_NONE),                              /* Sorcerer */
+       (CH_NONE),                              /* Archer */
+       (CH_NONE),                              /* Magic eater */
+       (CH_NONE),                              /* Bard */
+       (CH_NONE),                              /* Red Mage */
+       (CH_NONE),                              /* Samurai */
+       (CH_NONE),                              /* ForceTrainer */
+       (CH_NONE),                              /* Blue Mage */
+       (CH_NONE),                              /* Cavalry */
+       (CH_NONE),                              /* Berserker */
+       (CH_NONE),                              /* Weaponsmith */
+       (CH_NONE),                              /* Mirror-master */
+       (CH_NONE),                              /* Ninja */
+       (CH_NONE),                              /* Sniper */
+};
+
index 1f86383..1ac2a85 100644 (file)
@@ -65,4 +65,7 @@ struct player_class
 };
 
 extern const player_class *cp_ptr;
-extern const player_class class_info[MAX_CLASS];
\ No newline at end of file
+extern const player_class class_info[MAX_CLASS];
+
+extern const s32b realm_choices1[];
+extern const s32b realm_choices2[];
index 7778802..907faa1 100644 (file)
@@ -2098,97 +2098,6 @@ const u32b fake_spell_flags[4]=
        0xff000000
 };
 
-/*!
- * 職業毎に選択可能な第一領域魔法テーブル
- */
-const s32b realm_choices1[MAX_CLASS] =
-{
-       (CH_NONE),                              /* Warrior */
-       (CH_LIFE | CH_SORCERY | CH_NATURE |
-        CH_CHAOS | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE),                              /* Mage */
-       (CH_LIFE | CH_DEATH | CH_DAEMON |
-        CH_CRUSADE),                              /* Priest */
-       (CH_SORCERY | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT),               /* Rogue */
-       (CH_NATURE),                            /* Ranger */
-       (CH_CRUSADE | CH_DEATH),                   /* Paladin */
-       (CH_ARCANE),                            /* Warrior-Mage */
-       (CH_CHAOS | CH_DAEMON),                 /* Chaos-Warrior */
-       (CH_LIFE | CH_NATURE | CH_DEATH |
-        CH_ENCHANT),                           /* Monk */
-       (CH_NONE),                              /* Mindcrafter */
-       (CH_LIFE | CH_SORCERY | CH_NATURE |
-        CH_CHAOS | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE | CH_HEX),                  /* High-Mage */
-       (CH_ARCANE),                            /* Tourist */
-       (CH_NONE),                              /* Imitator */
-       (CH_TRUMP),                             /* Beastmaster */
-       (CH_NONE),                              /* Sorcerer */
-       (CH_NONE),                              /* Archer */
-       (CH_NONE),                              /* Magic eater */
-       (CH_MUSIC),                             /* Bard */
-       (CH_NONE),                              /* Red Mage */
-       (CH_HISSATSU),                          /* Samurai */
-       (CH_LIFE | CH_NATURE | CH_DEATH |
-        CH_ENCHANT | CH_CRUSADE),                 /* ForceTrainer */
-       (CH_NONE),                              /* Blue Mage */
-       (CH_NONE),                              /* Cavalry */
-       (CH_NONE),                              /* Berserker */
-       (CH_NONE),                              /* Weaponsmith */
-       (CH_NONE),                              /* Mirror-master */
-       (CH_NONE),                              /* Ninja */
-       (CH_NONE),                              /* Sniper */
-};
-
-/*!
- * 職業毎に選択可能な第二領域魔法テーブル
- */
-const s32b realm_choices2[MAX_CLASS] =
-{
-       (CH_NONE),                              /* Warrior */
-       (CH_LIFE | CH_SORCERY | CH_NATURE |
-        CH_CHAOS | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE),                              /* Mage */
-       (CH_LIFE | CH_SORCERY | CH_NATURE |
-        CH_CHAOS | CH_DEATH | CH_TRUMP |
-        CH_ARCANE | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE),                              /* Priest */
-       (CH_NONE),                              /* Rogue */
-       (CH_SORCERY | CH_CHAOS | CH_DEATH |
-        CH_TRUMP | CH_ARCANE | CH_DAEMON),     /* Ranger */
-       (CH_NONE),                              /* Paladin */
-       (CH_LIFE | CH_NATURE | CH_CHAOS |
-        CH_DEATH | CH_TRUMP | CH_ARCANE |
-        CH_SORCERY | CH_ENCHANT | CH_DAEMON |
-        CH_CRUSADE),                              /* Warrior-Mage */
-       (CH_NONE),                              /* Chaos-Warrior */
-       (CH_NONE),                              /* Monk */
-       (CH_NONE),                              /* Mindcrafter */
-       (CH_NONE),                              /* High-Mage */
-       (CH_NONE),                              /* Tourist */
-       (CH_NONE),                              /* Imitator */
-       (CH_NONE),                              /* Beastmanster */
-       (CH_NONE),                              /* Sorcerer */
-       (CH_NONE),                              /* Archer */
-       (CH_NONE),                              /* Magic eater */
-       (CH_NONE),                              /* Bard */
-       (CH_NONE),                              /* Red Mage */
-       (CH_NONE),                              /* Samurai */
-       (CH_NONE),                              /* ForceTrainer */
-       (CH_NONE),                              /* Blue Mage */
-       (CH_NONE),                              /* Cavalry */
-       (CH_NONE),                              /* Berserker */
-       (CH_NONE),                              /* Weaponsmith */
-       (CH_NONE),                              /* Mirror-master */
-       (CH_NONE),                              /* Ninja */
-       (CH_NONE),                              /* Sniper */
-};
-
-
 #ifdef JP
 /*!
  * 領域魔法名称