OSDN Git Service

[Refactor] #37353 summon_kin_player() を spells-summon.c へ移動。 / Separate summon_kin_pl...
authorDeskull <deskull@users.sourceforge.jp>
Fri, 4 Jan 2019 03:07:02 +0000 (12:07 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Fri, 4 Jan 2019 03:07:02 +0000 (12:07 +0900)
src/cmd-read.c
src/externs.h
src/mane.c
src/monster2.c
src/mspells3.c
src/spells-summon.c
src/spells-summon.h
src/spells3.c

index 24c4fd4..28c21b5 100644 (file)
@@ -8,6 +8,7 @@
 \r
 #include "angband.h"\r
 #include "object-hook.h"\r
+#include "spells-summon.h"\r
 \r
 /*!\r
  * @brief 巻物を読むコマンドのサブルーチン\r
index 3b434ed..0f4f24c 100644 (file)
@@ -1064,7 +1064,6 @@ extern bool brand_bolts(void);
 extern bool polymorph_monster(POSITION y, POSITION x);
 extern bool dimension_door(void);
 extern bool mirror_tunnel(void);
-extern bool summon_kin_player(DEPTH level, POSITION y, POSITION x, BIT_FLAGS mode);
 extern void massacre(void);
 extern bool eat_lock(void);
 extern bool shock_power(void);
index ee4da6a..2568593 100644 (file)
@@ -11,6 +11,7 @@
  */
 
 #include "angband.h"
+#include "spells-summon.h"
 
 static int damage;
 
index 8647dbf..661693a 100644 (file)
@@ -793,7 +793,6 @@ static bool summon_specific_aux(MONRACE_IDX r_idx)
                        break;
                }
 
-
                case SUMMON_KIN:
                {
                        okay = ((r_ptr->d_char == summon_kin_type) && (r_idx != MON_HAGURE));
index 9257783..31bc510 100644 (file)
@@ -11,6 +11,7 @@
  */
 
 #include "angband.h"
+#include "spells-summon.h"
 
 #define pseudo_plev() (((p_ptr->lev + 40) * (p_ptr->lev + 40) - 1550) / 130) /*!< モンスター魔法をプレイヤーが使用する場合の換算レベル */
 
index 53cb422..d36f7f1 100644 (file)
@@ -164,3 +164,119 @@ bool cast_summon_greater_demon(void)
 \r
        return TRUE;\r
 }\r
+\r
+/*!\r
+ * @brief 同族召喚(援軍)処理\r
+ * @param level 召喚基準レベル\r
+ * @param y 召喚先Y座標\r
+ * @param x 召喚先X座標\r
+ * @param mode 召喚オプション\r
+ * @return ターンを消費した場合TRUEを返す\r
+ */\r
+bool summon_kin_player(DEPTH level, POSITION y, POSITION x, BIT_FLAGS mode)\r
+{\r
+       bool pet = (bool)(mode & PM_FORCE_PET);\r
+       if (!pet) mode |= PM_NO_PET;\r
+\r
+       switch (p_ptr->mimic_form)\r
+       {\r
+       case MIMIC_NONE:\r
+               switch (p_ptr->prace)\r
+               {\r
+               case RACE_HUMAN:\r
+               case RACE_AMBERITE:\r
+               case RACE_BARBARIAN:\r
+               case RACE_BEASTMAN:\r
+               case RACE_DUNADAN:\r
+                       summon_kin_type = 'p';\r
+                       break;\r
+               case RACE_HALF_ELF:\r
+               case RACE_ELF:\r
+               case RACE_HOBBIT:\r
+               case RACE_GNOME:\r
+               case RACE_DWARF:\r
+               case RACE_HIGH_ELF:\r
+               case RACE_NIBELUNG:\r
+               case RACE_DARK_ELF:\r
+               case RACE_MIND_FLAYER:\r
+               case RACE_KUTAR:\r
+               case RACE_S_FAIRY:\r
+                       summon_kin_type = 'h';\r
+                       break;\r
+               case RACE_HALF_ORC:\r
+                       summon_kin_type = 'o';\r
+                       break;\r
+               case RACE_HALF_TROLL:\r
+                       summon_kin_type = 'T';\r
+                       break;\r
+               case RACE_HALF_OGRE:\r
+                       summon_kin_type = 'O';\r
+                       break;\r
+               case RACE_HALF_GIANT:\r
+               case RACE_HALF_TITAN:\r
+               case RACE_CYCLOPS:\r
+                       summon_kin_type = 'P';\r
+                       break;\r
+               case RACE_YEEK:\r
+                       summon_kin_type = 'y';\r
+                       break;\r
+               case RACE_KLACKON:\r
+                       summon_kin_type = 'K';\r
+                       break;\r
+               case RACE_KOBOLD:\r
+                       summon_kin_type = 'k';\r
+                       break;\r
+               case RACE_IMP:\r
+                       if (one_in_(13)) summon_kin_type = 'U';\r
+                       else summon_kin_type = 'u';\r
+                       break;\r
+               case RACE_DRACONIAN:\r
+                       summon_kin_type = 'd';\r
+                       break;\r
+               case RACE_GOLEM:\r
+               case RACE_ANDROID:\r
+                       summon_kin_type = 'g';\r
+                       break;\r
+               case RACE_SKELETON:\r
+                       if (one_in_(13)) summon_kin_type = 'L';\r
+                       else summon_kin_type = 's';\r
+                       break;\r
+               case RACE_ZOMBIE:\r
+                       summon_kin_type = 'z';\r
+                       break;\r
+               case RACE_VAMPIRE:\r
+                       summon_kin_type = 'V';\r
+                       break;\r
+               case RACE_SPECTRE:\r
+                       summon_kin_type = 'G';\r
+                       break;\r
+               case RACE_SPRITE:\r
+                       summon_kin_type = 'I';\r
+                       break;\r
+               case RACE_ENT:\r
+                       summon_kin_type = '#';\r
+                       break;\r
+               case RACE_ANGEL:\r
+                       summon_kin_type = 'A';\r
+                       break;\r
+               case RACE_DEMON:\r
+                       summon_kin_type = 'U';\r
+                       break;\r
+               default:\r
+                       summon_kin_type = 'p';\r
+                       break;\r
+               }\r
+               break;\r
+       case MIMIC_DEMON:\r
+               if (one_in_(13)) summon_kin_type = 'U';\r
+               else summon_kin_type = 'u';\r
+               break;\r
+       case MIMIC_DEMON_LORD:\r
+               summon_kin_type = 'U';\r
+               break;\r
+       case MIMIC_VAMPIRE:\r
+               summon_kin_type = 'V';\r
+               break;\r
+       }\r
+       return summon_specific((pet ? -1 : 0), y, x, level, SUMMON_KIN, mode);\r
+}\r
index a22eb29..fa448ed 100644 (file)
@@ -2,3 +2,5 @@
 extern bool cast_summon_demon(int power);\r
 extern bool item_tester_offer(object_type *o_ptr);\r
 extern bool cast_summon_greater_demon(void);\r
+extern bool summon_kin_player(DEPTH level, POSITION y, POSITION x, BIT_FLAGS mode);\r
+\r
index 40a1b41..1c6c30f 100644 (file)
@@ -4750,121 +4750,6 @@ bool eat_magic(int power)
        return TRUE;
 }
 
-/*!
- * @brief 同族召喚(援軍)処理
- * @param level 召喚基準レベル
- * @param y 召喚先Y座標
- * @param x 召喚先X座標
- * @param mode 召喚オプション
- * @return ターンを消費した場合TRUEを返す
- */
-bool summon_kin_player(DEPTH level, POSITION y, POSITION x, BIT_FLAGS mode)
-{
-       bool pet = (bool)(mode & PM_FORCE_PET);
-       if (!pet) mode |= PM_NO_PET;
-
-       switch (p_ptr->mimic_form)
-       {
-       case MIMIC_NONE:
-               switch (p_ptr->prace)
-               {
-                       case RACE_HUMAN:
-                       case RACE_AMBERITE:
-                       case RACE_BARBARIAN:
-                       case RACE_BEASTMAN:
-                       case RACE_DUNADAN:
-                               summon_kin_type = 'p';
-                               break;
-                       case RACE_HALF_ELF:
-                       case RACE_ELF:
-                       case RACE_HOBBIT:
-                       case RACE_GNOME:
-                       case RACE_DWARF:
-                       case RACE_HIGH_ELF:
-                       case RACE_NIBELUNG:
-                       case RACE_DARK_ELF:
-                       case RACE_MIND_FLAYER:
-                       case RACE_KUTAR:
-                       case RACE_S_FAIRY:
-                               summon_kin_type = 'h';
-                               break;
-                       case RACE_HALF_ORC:
-                               summon_kin_type = 'o';
-                               break;
-                       case RACE_HALF_TROLL:
-                               summon_kin_type = 'T';
-                               break;
-                       case RACE_HALF_OGRE:
-                               summon_kin_type = 'O';
-                               break;
-                       case RACE_HALF_GIANT:
-                       case RACE_HALF_TITAN:
-                       case RACE_CYCLOPS:
-                               summon_kin_type = 'P';
-                               break;
-                       case RACE_YEEK:
-                               summon_kin_type = 'y';
-                               break;
-                       case RACE_KLACKON:
-                               summon_kin_type = 'K';
-                               break;
-                       case RACE_KOBOLD:
-                               summon_kin_type = 'k';
-                               break;
-                       case RACE_IMP:
-                               if (one_in_(13)) summon_kin_type = 'U';
-                               else summon_kin_type = 'u';
-                               break;
-                       case RACE_DRACONIAN:
-                               summon_kin_type = 'd';
-                               break;
-                       case RACE_GOLEM:
-                       case RACE_ANDROID:
-                               summon_kin_type = 'g';
-                               break;
-                       case RACE_SKELETON:
-                               if (one_in_(13)) summon_kin_type = 'L';
-                               else summon_kin_type = 's';
-                               break;
-                       case RACE_ZOMBIE:
-                               summon_kin_type = 'z';
-                               break;
-                       case RACE_VAMPIRE:
-                               summon_kin_type = 'V';
-                               break;
-                       case RACE_SPECTRE:
-                               summon_kin_type = 'G';
-                               break;
-                       case RACE_SPRITE:
-                               summon_kin_type = 'I';
-                               break;
-                       case RACE_ENT:
-                               summon_kin_type = '#';
-                               break;
-                       case RACE_ANGEL:
-                               summon_kin_type = 'A';
-                               break;
-                       case RACE_DEMON:
-                               summon_kin_type = 'U';
-                               break;
-                       default:
-                               summon_kin_type = 'p';
-                               break;
-               }
-               break;
-       case MIMIC_DEMON:
-               if (one_in_(13)) summon_kin_type = 'U';
-               else summon_kin_type = 'u';
-               break;
-       case MIMIC_DEMON_LORD:
-               summon_kin_type = 'U';
-               break;
-       case MIMIC_VAMPIRE:
-               summon_kin_type = 'V';
-               break;
-       }       
-       return summon_specific((pet ? -1 : 0), y, x, level, SUMMON_KIN, mode);
-}
 
 /*!
  * @brief 皆殺し(全方向攻撃)処理