OSDN Git Service

[Refactor] #40014 Separated monster-summonc./h from monster-generator.c/h
authorHourier <hourier@users.sourceforge.jp>
Sat, 13 Jun 2020 04:00:42 +0000 (13:00 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sat, 13 Jun 2020 04:00:42 +0000 (13:00 +0900)
38 files changed:
Hengband/Hengband/Hengband.vcxproj
Hengband/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/cmd-action/cmd-mane.c
src/cmd-item/cmd-activate.c
src/cmd-item/cmd-read.c
src/cmd-item/cmd-usestaff.c
src/cmd/cmd-basic.c
src/effect/effect-item.c
src/grid/trap.c
src/inventory/inventory-curse.c
src/mind/mind.c
src/monster-floor/monster-death.c
src/monster-floor/monster-generator.c
src/monster-floor/monster-generator.h
src/monster-floor/monster-summon.c [new file with mode: 0644]
src/monster-floor/monster-summon.h [new file with mode: 0644]
src/monster-floor/one-monster-placer.c
src/monster/monster-list.c
src/monster/monster-processor.c
src/monster/monster-status.c
src/mspell/mspell-special.c
src/mspell/mspell-summon.c
src/mspell/mspells3.c
src/mutation/mutation-processor.c
src/mutation/mutation.c
src/player/patron.c
src/realm/realm-arcane.c
src/realm/realm-craft.c
src/realm/realm-crusade.c
src/realm/realm-daemon.c
src/realm/realm-nature.c
src/specific-object/chest.c
src/spell-kind/spells-random.c
src/spell-realm/spells-trump.c
src/spell/spells-summon.c
src/spell/spells3.c
src/wizard/wizard-special-process.c

index e5fe720..cee2b01 100644 (file)
     <ClCompile Include="..\..\src\lore\magic-types-setter.c" />\r
     <ClCompile Include="..\..\src\lore\lore-calculator.c" />\r
     <ClCompile Include="..\..\src\lore\lore-util.c" />\r
+    <ClCompile Include="..\..\src\monster-floor\monster-summon.c" />\r
     <ClCompile Include="..\..\src\monster-floor\one-monster-placer.c" />\r
     <ClCompile Include="..\..\src\monster\monster-compaction.c" />\r
     <ClCompile Include="..\..\src\monster-floor\monster-death.c" />\r
     <ClInclude Include="..\..\src\lore\lore-util.h" />\r
     <ClInclude Include="..\..\src\mind\drs-types.h" />\r
     <ClInclude Include="..\..\src\mind\snipe-types.h" />\r
+    <ClInclude Include="..\..\src\monster-floor\monster-summon.h" />\r
     <ClInclude Include="..\..\src\monster-floor\one-monster-placer.h" />\r
     <ClInclude Include="..\..\src\monster\monster-compaction.h" />\r
     <ClInclude Include="..\..\src\monster-floor\monster-death.h" />\r
index 0d91862..e063365 100644 (file)
     <ClCompile Include="..\..\src\monster-floor\one-monster-placer.c">
       <Filter>monster-floor</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\monster-floor\monster-summon.c">
+      <Filter>monster-floor</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\cmd\cmd-basic.h">
     <ClInclude Include="..\..\src\monster-floor\one-monster-placer.h">
       <Filter>monster-floor</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\monster-floor\monster-summon.h">
+      <Filter>monster-floor</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 9336207..0555647 100644 (file)
@@ -320,6 +320,7 @@ hengband_SOURCES = \
        monster-floor/monster-remover.c monster-floor/monster-remover.h \
        monster-floor/monster-runaway.c monster-floor/monster-runaway.h \
        monster-floor/monster-safety-hiding.c monster-floor/monster-safety-hiding.h \
+       monster-floor/monster-summon.c monster-floor/monster-summon.h \
        monster-floor/monster-sweep-grid.c monster-floor/monster-sweep-grid.h \
        monster-floor/one-monster-placer.c monster-floor/one-monster-placer.h \
        monster-floor/place-monster-types.h \
index 287043f..b050db2 100644 (file)
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags-resistance.h"
 #include "monster/monster-describer.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
 #include "monster/monster-info.h"
 #include "monster/monster-processor.h"
 #include "monster/monster-status.h"
-#include "monster-floor/place-monster-types.h"
 #include "mspell/monster-spell.h"
 #include "mspell/mspell-type.h"
 #include "player/player-effects.h"
index 6a09cb9..e525938 100644 (file)
@@ -19,8 +19,9 @@
 #include "io/files-util.h"
 #include "io/targeting.h"
 #include "main/sound-definitions-table.h"
-#include "monster-race/race-flags1.h"
 #include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-race/race-flags1.h"
 #include "monster/monster-info.h"
 #include "monster/monster-status.h"
 #include "monster/monster-util.h"
index 394b36e..054968b 100644 (file)
@@ -14,7 +14,7 @@
 #include "inventory/player-inventory.h"
 #include "io/files-util.h"
 #include "main/sound-definitions-table.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "object/item-use-flags.h"
 #include "object/object-flavor.h"
index 49d00b0..4a9e925 100644 (file)
@@ -5,7 +5,7 @@
 #include "inventory/inventory-object.h"
 #include "inventory/player-inventory.h"
 #include "main/sound-definitions-table.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "object-enchant/special-object-flags.h"
 #include "object/item-use-flags.h"
index 441de56..641820f 100644 (file)
 #include "mind/snipe-types.h"
 #include "monster/monster-describer.h"
 #include "monster-floor/monster-death.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
 #include "monster/monster-status.h"
 #include "monster/monster-info.h"
-#include "monster-floor/place-monster-types.h"
 #include "object-enchant/special-object-flags.h"
 #include "object-enchant/tr-types.h"
 #include "object/item-use-flags.h"
index 8750c6b..c7c29d2 100644 (file)
@@ -1,9 +1,9 @@
 #include "effect/effect-item.h"
 #include "autopick/autopick.h"
 #include "floor/floor-object.h"
-#include "monster-floor/monster-generator.h"
-#include "monster/monster-info.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
+#include "monster/monster-info.h"
 #include "object-enchant/tr-types.h"
 #include "object/object-broken.h"
 #include "object/object-flags.h"
index 747ad16..45fdcf3 100644 (file)
@@ -13,9 +13,9 @@
 #include "io/write-diary.h"
 #include "main/sound-definitions-table.h"
 #include "mind/mind-mirror-master.h"
-#include "monster-floor/monster-generator.h"
-#include "monster/monster-util.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
+#include "monster/monster-util.h"
 #include "player/eldritch-horror.h"
 #include "player/player-class.h"
 #include "player/player-damage.h"
index a2758fd..ab4ca71 100644 (file)
@@ -1,7 +1,7 @@
 #include "inventory/inventory-curse.h"
 #include "art-definition/art-accessory-types.h"
 #include "io/files-util.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "object-enchant/item-feeling.h"
 #include "object-enchant/object-curse.h"
index 287f2ee..6b0a566 100644 (file)
@@ -30,7 +30,7 @@
 #include "mind/mind-mirror-master.h"
 #include "mind/mind-ninja.h"
 #include "mind/mind-warrior.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster/monster-status.h"
 #include "monster-floor/place-monster-types.h"
 #include "player/avatar.h"
index 7f7078a..0eda81e 100644 (file)
 #include "floor/floor-object.h"
 #include "floor/floor.h"
 #include "io/write-diary.h"
+#include "lore/lore-store.h"
 #include "main/music-definitions-table.h"
 #include "market/arena-info-table.h"
-#include "lore/lore-store.h"
+#include "monster-floor/monster-object.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
 #include "monster-race/monster-race-hook.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags2.h"
 #include "monster/monster-describer.h"
 #include "monster/monster-description-types.h"
 #include "monster/monster-flag-types.h"
-#include "monster-floor/monster-generator.h"
 #include "monster/monster-info.h"
 #include "monster/monster-list.h"
-#include "monster-floor/monster-object.h"
-#include "monster-floor/place-monster-types.h"
 #include "monster/smart-learn-types.h"
 #include "object-enchant/apply-magic.h"
 #include "object-enchant/artifact.h"
index 67e9d99..544442a 100644 (file)
@@ -8,7 +8,7 @@
 #include "monster-floor/monster-generator.h"
 #include "dungeon/dungeon.h"
 #include "floor/floor.h"
-#include "main/sound-definitions-table.h"
+#include "monster-floor/monster-summon.h" // todo 相互依存してしまった、何とかする.
 #include "monster-floor/one-monster-placer.h"
 #include "monster-floor/place-monster-types.h"
 #include "monster-race/monster-race-hook.h"
@@ -40,20 +40,6 @@ static MONSTER_IDX place_monster_idx = 0;
 static MONSTER_IDX place_monster_m_idx = 0;
 
 /*!
- * @var summon_specific_who
- * @brief 召喚を行ったプレイヤーあるいはモンスターのIDを示すグローバル変数 / Hack -- the index of the summoning monster
- * @todo summon_specific_who グローバル変数の除去と関数引数への代替を行う
- */
-int summon_specific_who = -1;
-
-/*!
- * @var summon_unique_okay
- * @brief 召喚対象にユニークを含めるかを示すグローバル変数 / summoning unique enable
- * @todo summon_unique_okay グローバル変数の除去と関数引数への代替を行う
- */
-bool summon_unique_okay = FALSE;
-
-/*!
  * @brief モンスター1体を目標地点に可能な限り近い位置に生成する / improved version of scatter() for place monster
  * @param player_ptr プレーヤーへの参照ポインタ
  * @param r_idx 生成モンスター種族
@@ -65,7 +51,7 @@ bool summon_unique_okay = FALSE;
  * @return 成功したらtrue
  *
  */
-static bool mon_scatter(player_type *player_ptr, MONRACE_IDX r_idx, POSITION *yp, POSITION *xp, POSITION y, POSITION x, POSITION max_dist)
+bool mon_scatter(player_type *player_ptr, MONRACE_IDX r_idx, POSITION *yp, POSITION *xp, POSITION y, POSITION x, POSITION max_dist)
 {
     POSITION place_x[MON_SCAT_MAXD];
     POSITION place_y[MON_SCAT_MAXD];
@@ -121,114 +107,6 @@ static bool mon_scatter(player_type *player_ptr, MONRACE_IDX r_idx, POSITION *yp
 }
 
 /*!
- * todo ここにplayer_typeを追加すると関数ポインタ周りの収拾がつかなくなるので保留
- * @brief モンスターが召喚の基本条件に合っているかをチェックする / Hack -- help decide if a monster race is "okay" to summon
- * @param r_idx チェックするモンスター種族ID
- * @return 召喚対象にできるならばTRUE
- */
-static bool summon_specific_okay(MONRACE_IDX r_idx)
-{
-    monster_race *r_ptr = &r_info[r_idx];
-    monster_type *m_ptr = &p_ptr->current_floor_ptr->m_list[summon_specific_who];
-    if (!mon_hook_dungeon(r_idx))
-        return FALSE;
-
-    if (summon_specific_who > 0) {
-        if (monster_has_hostile_align(p_ptr, m_ptr, 0, 0, r_ptr))
-            return FALSE;
-    } else if (summon_specific_who < 0) {
-        if (monster_has_hostile_align(p_ptr, NULL, 10, -10, r_ptr)) {
-            if (!one_in_(ABS(p_ptr->align) / 2 + 1))
-                return FALSE;
-        }
-    }
-
-    if (!summon_unique_okay && ((r_ptr->flags1 & RF1_UNIQUE) || (r_ptr->flags7 & RF7_NAZGUL)))
-        return FALSE;
-
-    if (!summon_specific_type)
-        return TRUE;
-
-    if ((summon_specific_who < 0) && ((r_ptr->flags1 & RF1_UNIQUE) || (r_ptr->flags7 & RF7_NAZGUL)) && monster_has_hostile_align(p_ptr, NULL, 10, -10, r_ptr))
-        return FALSE;
-
-    if ((r_ptr->flags7 & RF7_CHAMELEON) && (d_info[p_ptr->dungeon_idx].flags1 & DF1_CHAMELEON))
-        return TRUE;
-
-    return (check_summon_specific(p_ptr, m_ptr->r_idx, r_idx));
-}
-
-/*!
- * @brief モンスターを召喚により配置する / Place a monster (of the specified "type") near the given location. Return TRUE if a monster was actually summoned.
- * @param player_ptr プレーヤーへの参照ポインタ
- * @param who 召喚主のモンスター情報ID
- * @param y1 目標地点y座標
- * @param x1 目標地点x座標
- * @param lev 相当生成階
- * @param type 召喚種別
- * @param mode 生成オプション
- * @return 召喚できたらtrueを返す
- */
-bool summon_specific(player_type *player_ptr, MONSTER_IDX who, POSITION y1, POSITION x1, DEPTH lev, int type, BIT_FLAGS mode)
-{
-    floor_type *floor_ptr = player_ptr->current_floor_ptr;
-    if (floor_ptr->inside_arena)
-        return FALSE;
-
-    POSITION x, y;
-    if (!mon_scatter(player_ptr, 0, &y, &x, y1, x1, 2))
-        return FALSE;
-
-    summon_specific_who = who;
-    summon_specific_type = type;
-    summon_unique_okay = (mode & PM_ALLOW_UNIQUE) ? TRUE : FALSE;
-    get_mon_num_prep(player_ptr, summon_specific_okay, get_monster_hook2(player_ptr, y, x));
-
-    MONRACE_IDX r_idx = get_mon_num(player_ptr, (floor_ptr->dun_level + lev) / 2 + 5, 0);
-    if (!r_idx) {
-        summon_specific_type = 0;
-        return FALSE;
-    }
-
-    if ((type == SUMMON_BLUE_HORROR) || (type == SUMMON_DAWN))
-        mode |= PM_NO_KAGE;
-
-    if (!place_monster_aux(player_ptr, who, y, x, r_idx, mode)) {
-        summon_specific_type = 0;
-        return FALSE;
-    }
-
-    summon_specific_type = 0;
-    sound(SOUND_SUMMON);
-    return TRUE;
-}
-
-/*!
- * @brief 特定モンスター種族を召喚により生成する / A "dangerous" function, creates a pet of the specified type
- * @param player_ptr プレーヤーへの参照ポインタ
- * @param who 召喚主のモンスター情報ID
- * @param oy 目標地点y座標
- * @param ox 目標地点x座標
- * @param r_idx 生成するモンスター種族ID
- * @param mode 生成オプション
- * @return 召喚できたらtrueを返す
- */
-bool summon_named_creature(player_type *player_ptr, MONSTER_IDX who, POSITION oy, POSITION ox, MONRACE_IDX r_idx, BIT_FLAGS mode)
-{
-    if (r_idx >= max_r_idx)
-        return FALSE;
-
-    POSITION x, y;
-    if (player_ptr->current_floor_ptr->inside_arena)
-        return FALSE;
-
-    if (!mon_scatter(player_ptr, r_idx, &y, &x, oy, ox, 2))
-        return FALSE;
-
-    return place_monster_aux(player_ptr, who, y, x, r_idx, (mode | PM_NO_KAGE));
-}
-
-/*!
  * @brief モンスターを増殖生成する / Let the given monster attempt to reproduce.
  * @param player_ptr プレーヤーへの参照ポインタ
  * @param m_idx 増殖するモンスター情報ID
index f7db23a..689ce0d 100644 (file)
@@ -2,11 +2,7 @@
 
 #include "system/angband.h"
 
-extern int summon_specific_who;
-extern bool summon_unique_okay;
-
-bool summon_specific(player_type *player_ptr, MONSTER_IDX who, POSITION y1, POSITION x1, DEPTH lev, int type, BIT_FLAGS mode);
-bool summon_named_creature(player_type *player_ptr, MONSTER_IDX who, POSITION oy, POSITION ox, MONRACE_IDX r_idx, BIT_FLAGS mode);
+bool mon_scatter(player_type *player_ptr, MONRACE_IDX r_idx, POSITION *yp, POSITION *xp, POSITION y, POSITION x, POSITION max_dist);
 bool multiply_monster(player_type *player_ptr, MONSTER_IDX m_idx, bool clone, BIT_FLAGS mode);
 bool place_monster_aux(player_type *player_ptr, MONSTER_IDX who, POSITION y, POSITION x, MONRACE_IDX r_idx, BIT_FLAGS mode);
 bool place_monster(player_type *player_ptr, POSITION y, POSITION x, BIT_FLAGS mode);
diff --git a/src/monster-floor/monster-summon.c b/src/monster-floor/monster-summon.c
new file mode 100644 (file)
index 0000000..957027a
--- /dev/null
@@ -0,0 +1,137 @@
+#include "monster-floor/monster-summon.h"
+#include "dungeon/dungeon.h"
+#include "floor/floor.h"
+#include "main/sound-definitions-table.h"
+#include "monster-floor/monster-generator.h" // todo 相互依存してしまった、何とかする.
+#include "monster-floor/place-monster-types.h"
+#include "monster-race/monster-race-hook.h"
+#include "monster-race/race-flags1.h"
+#include "monster-race/race-flags7.h"
+#include "monster/monster-info.h"
+#include "monster/monster-list.h"
+#include "monster/monster-util.h"
+#include "mspell/summon-checker.h"
+#include "spell/spells-summon.h"
+#include "system/monster-type-definition.h"
+
+/*!
+ * @var summon_specific_who
+ * @brief 召喚を行ったプレイヤーあるいはモンスターのIDを示すグローバル変数 / Hack -- the index of the summoning monster
+ * @todo summon_specific_who グローバル変数の除去と関数引数への代替を行う
+ */
+int summon_specific_who = -1;
+
+/*!
+ * @var summon_unique_okay
+ * @brief 召喚対象にユニークを含めるかを示すグローバル変数 / summoning unique enable
+ * @todo summon_unique_okay グローバル変数の除去と関数引数への代替を行う
+ */
+bool summon_unique_okay = FALSE;
+
+/*!
+ * todo ここにplayer_typeを追加すると関数ポインタ周りの収拾がつかなくなるので保留
+ * @brief モンスターが召喚の基本条件に合っているかをチェックする / Hack -- help decide if a monster race is "okay" to summon
+ * @param r_idx チェックするモンスター種族ID
+ * @return 召喚対象にできるならばTRUE
+ */
+static bool summon_specific_okay(MONRACE_IDX r_idx)
+{
+    monster_race *r_ptr = &r_info[r_idx];
+    monster_type *m_ptr = &p_ptr->current_floor_ptr->m_list[summon_specific_who];
+    if (!mon_hook_dungeon(r_idx))
+        return FALSE;
+
+    if (summon_specific_who > 0) {
+        if (monster_has_hostile_align(p_ptr, m_ptr, 0, 0, r_ptr))
+            return FALSE;
+    } else if (summon_specific_who < 0) {
+        if (monster_has_hostile_align(p_ptr, NULL, 10, -10, r_ptr)) {
+            if (!one_in_(ABS(p_ptr->align) / 2 + 1))
+                return FALSE;
+        }
+    }
+
+    if (!summon_unique_okay && ((r_ptr->flags1 & RF1_UNIQUE) || (r_ptr->flags7 & RF7_NAZGUL)))
+        return FALSE;
+
+    if (!summon_specific_type)
+        return TRUE;
+
+    if ((summon_specific_who < 0) && ((r_ptr->flags1 & RF1_UNIQUE) || (r_ptr->flags7 & RF7_NAZGUL)) && monster_has_hostile_align(p_ptr, NULL, 10, -10, r_ptr))
+        return FALSE;
+
+    if ((r_ptr->flags7 & RF7_CHAMELEON) && (d_info[p_ptr->dungeon_idx].flags1 & DF1_CHAMELEON))
+        return TRUE;
+
+    return (check_summon_specific(p_ptr, m_ptr->r_idx, r_idx));
+}
+
+/*!
+ * @brief モンスターを召喚により配置する / Place a monster (of the specified "type") near the given location. Return TRUE if a monster was actually summoned.
+ * @param player_ptr プレーヤーへの参照ポインタ
+ * @param who 召喚主のモンスター情報ID
+ * @param y1 目標地点y座標
+ * @param x1 目標地点x座標
+ * @param lev 相当生成階
+ * @param type 召喚種別
+ * @param mode 生成オプション
+ * @return 召喚できたらtrueを返す
+ */
+bool summon_specific(player_type *player_ptr, MONSTER_IDX who, POSITION y1, POSITION x1, DEPTH lev, int type, BIT_FLAGS mode)
+{
+    floor_type *floor_ptr = player_ptr->current_floor_ptr;
+    if (floor_ptr->inside_arena)
+        return FALSE;
+
+    POSITION x, y;
+    if (!mon_scatter(player_ptr, 0, &y, &x, y1, x1, 2))
+        return FALSE;
+
+    summon_specific_who = who;
+    summon_specific_type = type;
+    summon_unique_okay = (mode & PM_ALLOW_UNIQUE) ? TRUE : FALSE;
+    get_mon_num_prep(player_ptr, summon_specific_okay, get_monster_hook2(player_ptr, y, x));
+
+    MONRACE_IDX r_idx = get_mon_num(player_ptr, (floor_ptr->dun_level + lev) / 2 + 5, 0);
+    if (!r_idx) {
+        summon_specific_type = 0;
+        return FALSE;
+    }
+
+    if ((type == SUMMON_BLUE_HORROR) || (type == SUMMON_DAWN))
+        mode |= PM_NO_KAGE;
+
+    if (!place_monster_aux(player_ptr, who, y, x, r_idx, mode)) {
+        summon_specific_type = 0;
+        return FALSE;
+    }
+
+    summon_specific_type = 0;
+    sound(SOUND_SUMMON);
+    return TRUE;
+}
+
+/*!
+ * @brief 特定モンスター種族を召喚により生成する / A "dangerous" function, creates a pet of the specified type
+ * @param player_ptr プレーヤーへの参照ポインタ
+ * @param who 召喚主のモンスター情報ID
+ * @param oy 目標地点y座標
+ * @param ox 目標地点x座標
+ * @param r_idx 生成するモンスター種族ID
+ * @param mode 生成オプション
+ * @return 召喚できたらtrueを返す
+ */
+bool summon_named_creature(player_type *player_ptr, MONSTER_IDX who, POSITION oy, POSITION ox, MONRACE_IDX r_idx, BIT_FLAGS mode)
+{
+    if (r_idx >= max_r_idx)
+        return FALSE;
+
+    POSITION x, y;
+    if (player_ptr->current_floor_ptr->inside_arena)
+        return FALSE;
+
+    if (!mon_scatter(player_ptr, r_idx, &y, &x, oy, ox, 2))
+        return FALSE;
+
+    return place_monster_aux(player_ptr, who, y, x, r_idx, (mode | PM_NO_KAGE));
+}
diff --git a/src/monster-floor/monster-summon.h b/src/monster-floor/monster-summon.h
new file mode 100644 (file)
index 0000000..ed58569
--- /dev/null
@@ -0,0 +1,9 @@
+#pragma once
+
+#include "system/angband.h"
+
+extern int summon_specific_who;
+extern bool summon_unique_okay;
+
+bool summon_specific(player_type *player_ptr, MONSTER_IDX who, POSITION y1, POSITION x1, DEPTH lev, int type, BIT_FLAGS mode);
+bool summon_named_creature(player_type *player_ptr, MONSTER_IDX who, POSITION oy, POSITION ox, MONRACE_IDX r_idx, BIT_FLAGS mode);
index 268eb6b..362b1a7 100644 (file)
@@ -12,6 +12,7 @@
 #include "floor/floor.h"
 #include "grid/grid.h"
 #include "monster-floor/monster-move.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags2.h"
@@ -395,7 +396,7 @@ bool place_monster_one(player_type *player_ptr, MONSTER_IDX who, POSITION y, POS
     if (r_ptr->flags2 & RF2_MULTIPLY)
         floor_ptr->num_repro++;
 
-    warn_unique_generation();
+    warn_unique_generation(player_ptr, r_idx);
     if (!is_explosive_rune_grid(g_ptr))
         return TRUE;
 
index 1d5bd7c..b2bec08 100644 (file)
 #include "dungeon/dungeon.h"
 #include "floor/floor-object.h"
 #include "floor/wild.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags2.h"
 #include "monster-race/race-flags3.h"
 #include "monster-race/race-flags7.h"
 #include "monster-race/race-indice-types.h"
 #include "monster/monster-describer.h"
-#include "monster-floor/monster-generator.h"
 #include "monster/monster-info.h"
 #include "monster/monster-update.h"
 #include "monster/monster-util.h"
index 8c084cb..a43c697 100644 (file)
 #include "grid/grid.h"
 #include "io/write-diary.h"
 #include "melee/melee-postprocess.h"
+#include "monster-floor/monster-direction.h"
+#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-move.h"
+#include "monster-floor/monster-remover.h"
+#include "monster-floor/monster-runaway.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
+#include "monster-floor/quantum-effect.h"
 #include "monster-race/race-flags-ability2.h"
 #include "monster-race/race-flags-resistance.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-indice-types.h"
 #include "monster/monster-describer.h"
 #include "monster/monster-description-types.h"
-#include "monster-floor/monster-direction.h"
 #include "monster/monster-flag-types.h"
-#include "monster-floor/monster-generator.h"
 #include "monster/monster-info.h"
 #include "monster/monster-list.h"
-#include "monster-floor/monster-move.h"
 #include "monster/monster-processor-util.h"
-#include "monster-floor/monster-remover.h"
-#include "monster-floor/monster-runaway.h"
 #include "monster/monster-status.h"
 #include "monster/monster-update.h"
 #include "monster/monster-util.h"
-#include "monster-floor/place-monster-types.h"
-#include "monster-floor/quantum-effect.h"
 #include "mspell/monster-spell.h"
 #include "object-enchant/trc-types.h"
 #include "pet/pet-fall-off.h"
index 20c86bd..9ec15e2 100644 (file)
 #include "main/sound-definitions-table.h"
 #include "monster-attack/monster-attack-effect.h"
 #include "monster-attack/monster-attack-types.h"
+#include "monster-floor/monster-death.h"
+#include "monster-floor/monster-move.h"
+#include "monster-floor/monster-remover.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
 #include "monster-race/monster-race-hook.h"
 #include "monster-race/race-flags-ability2.h"
 #include "monster-race/race-flags-resistance.h"
 #include "monster-race/race-flags7.h"
 #include "monster-race/race-flags8.h"
 #include "monster-race/race-indice-types.h"
-#include "monster-floor/monster-death.h"
 #include "monster/monster-describer.h"
 #include "monster/monster-description-types.h"
 #include "monster/monster-flag-types.h"
-#include "monster-floor/monster-generator.h"
 #include "monster/monster-info.h"
 #include "monster/monster-list.h"
-#include "monster-floor/monster-move.h"
 #include "monster/monster-processor.h"
-#include "monster-floor/monster-remover.h"
 #include "monster/monster-update.h"
 #include "monster/monster-util.h"
-#include "monster-floor/place-monster-types.h"
 #include "monster/smart-learn-types.h"
 #include "mspell/monster-spell.h"
 #include "object-enchant/object-curse.h"
index 9fe7c91..597bfe8 100644 (file)
@@ -5,25 +5,25 @@
  */
 
 #include "mspell/mspell-special.h"
-#include "melee/melee-postprocess.h"
 #include "effect/effect-characteristics.h"
 #include "main/sound-definitions-table.h"
+#include "melee/melee-postprocess.h"
+#include "monster-floor/monster-death.h"
+#include "monster-floor/monster-remover.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-race/race-flags7.h"
 #include "monster-race/race-indice-types.h"
-#include "monster/monster-description-types.h"
-#include "monster-floor/monster-death.h"
 #include "monster/monster-describer.h"
-#include "monster-floor/monster-generator.h"
+#include "monster/monster-description-types.h"
 #include "monster/monster-info.h"
-#include "monster-floor/monster-remover.h"
 #include "monster/monster-util.h"
 #include "mspell/monster-spell.h"
 #include "mspell/mspell-util.h"
 #include "player/player-damage.h"
 #include "player/player-effects.h"
 #include "player/player-move.h"
-#include "spell/process-effect.h"
 #include "spell-kind/spells-teleport.h"
+#include "spell/process-effect.h"
 #include "spell/spells-type.h"
 
 /*!
  * @param player_ptr プレーヤーへの参照ポインタ
  * @param m_idx 呪文を唱えるモンスターID
  */
-HIT_POINT spell_RF6_SPECIAL_BANORLUPART(player_typetarget_ptr, MONSTER_IDX m_idx)
+HIT_POINT spell_RF6_SPECIAL_BANORLUPART(player_type *target_ptr, MONSTER_IDX m_idx)
 {
-    floor_typefloor_ptr = target_ptr->current_floor_ptr;
-    monster_typem_ptr = &floor_ptr->m_list[m_idx];
+    floor_type *floor_ptr = target_ptr->current_floor_ptr;
+    monster_type *m_ptr = &floor_ptr->m_list[m_idx];
     HIT_POINT dummy_hp, dummy_maxhp;
     POSITION dummy_y = m_ptr->fy;
     POSITION dummy_x = m_ptr->fx;
@@ -99,17 +99,14 @@ HIT_POINT spell_RF6_SPECIAL_BANORLUPART(player_type* target_ptr, MONSTER_IDX m_i
  * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
  * @return ダメージ量を返す。
  */
-HIT_POINT spell_RF6_SPECIAL_ROLENTO(player_typetarget_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF6_SPECIAL_ROLENTO(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
 {
     int count = 0, k;
     int num = 1 + randint1(3);
     BIT_FLAGS mode = 0L;
 
-    monspell_message(target_ptr, m_idx, t_idx,
-        _("%^sが何か大量に投げた。", "%^s spreads something."),
-        _("%^sは手榴弾をばらまいた。", "%^s throws some hand grenades."),
-        _("%^sは手榴弾をばらまいた。", "%^s throws some hand grenades."),
-        TARGET_TYPE);
+    monspell_message(target_ptr, m_idx, t_idx, _("%^sが何か大量に投げた。", "%^s spreads something."),
+        _("%^sは手榴弾をばらまいた。", "%^s throws some hand grenades."), _("%^sは手榴弾をばらまいた。", "%^s throws some hand grenades."), TARGET_TYPE);
 
     for (k = 0; k < num; k++) {
         count += summon_named_creature(target_ptr, m_idx, y, x, MON_GRENADE, mode);
@@ -130,13 +127,13 @@ HIT_POINT spell_RF6_SPECIAL_ROLENTO(player_type* target_ptr, POSITION y, POSITIO
  * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
  * @return ダメージ量を返す。
  */
-HIT_POINT spell_RF6_SPECIAL_B(player_typetarget_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF6_SPECIAL_B(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
 {
     HIT_POINT dam = -1;
-    floor_typefloor_ptr = target_ptr->current_floor_ptr;
-    monster_typem_ptr = &floor_ptr->m_list[m_idx];
-    monster_typet_ptr = &floor_ptr->m_list[t_idx];
-    monster_racetr_ptr = &r_info[t_ptr->r_idx];
+    floor_type *floor_ptr = target_ptr->current_floor_ptr;
+    monster_type *m_ptr = &floor_ptr->m_list[m_idx];
+    monster_type *t_ptr = &floor_ptr->m_list[t_idx];
+    monster_race *tr_ptr = &r_info[t_ptr->r_idx];
     bool monster_to_player = (TARGET_TYPE == MONSTER_TO_PLAYER);
     bool monster_to_monster = (TARGET_TYPE == MONSTER_TO_MONSTER);
     bool direct = player_bold(target_ptr, y, x);
@@ -145,10 +142,8 @@ HIT_POINT spell_RF6_SPECIAL_B(player_type* target_ptr, POSITION y, POSITION x, M
 
     disturb(target_ptr, TRUE, TRUE);
     if (one_in_(3) || !direct) {
-        simple_monspell_message(target_ptr, m_idx, t_idx,
-            _("%^sは突然視界から消えた!", "%^s suddenly go out of your sight!"),
-            _("%^sは突然急上昇して視界から消えた!", "%^s suddenly go out of your sight!"),
-            TARGET_TYPE);
+        simple_monspell_message(target_ptr, m_idx, t_idx, _("%^sは突然視界から消えた!", "%^s suddenly go out of your sight!"),
+            _("%^sは突然急上昇して視界から消えた!", "%^s suddenly go out of your sight!"), TARGET_TYPE);
 
         teleport_away(target_ptr, m_idx, 10, TELEPORT_NONMAGICAL);
         target_ptr->update |= (PU_MONSTERS);
@@ -158,10 +153,8 @@ HIT_POINT spell_RF6_SPECIAL_B(player_type* target_ptr, POSITION y, POSITION x, M
     int get_damage = 0;
     bool fear, dead; /* dummy */
 
-    simple_monspell_message(target_ptr, m_idx, t_idx,
-        _("%^sがあなたを掴んで空中から投げ落とした。", "%^s holds you, and drops from the sky."),
-        _("%^sが%sを掴んで空中から投げ落とした。", "%^s holds %s, and drops from the sky."),
-        TARGET_TYPE);
+    simple_monspell_message(target_ptr, m_idx, t_idx, _("%^sがあなたを掴んで空中から投げ落とした。", "%^s holds you, and drops from the sky."),
+        _("%^sが%sを掴んで空中から投げ落とした。", "%^s holds %s, and drops from the sky."), TARGET_TYPE);
 
     dam = damroll(4, 8);
 
@@ -173,15 +166,11 @@ HIT_POINT spell_RF6_SPECIAL_B(player_type* target_ptr, POSITION y, POSITION x, M
     sound(SOUND_FALL);
 
     if ((monster_to_player && target_ptr->levitation) || (monster_to_monster && (tr_ptr->flags7 & RF7_CAN_FLY))) {
-        simple_monspell_message(target_ptr, m_idx, t_idx,
-            _("あなたは静かに着地した。", "You float gently down to the ground."),
-            _("%^sは静かに着地した。", "%^s floats gently down to the ground."),
-            TARGET_TYPE);
+        simple_monspell_message(target_ptr, m_idx, t_idx, _("あなたは静かに着地した。", "You float gently down to the ground."),
+            _("%^sは静かに着地した。", "%^s floats gently down to the ground."), TARGET_TYPE);
     } else {
-        simple_monspell_message(target_ptr, m_idx, t_idx,
-            _("あなたは地面に叩きつけられた。", "You crashed into the ground."),
-            _("%^sは地面に叩きつけられた。", "%^s crashed into the ground."),
-            TARGET_TYPE);
+        simple_monspell_message(target_ptr, m_idx, t_idx, _("あなたは地面に叩きつけられた。", "You crashed into the ground."),
+            _("%^sは地面に叩きつけられた。", "%^s crashed into the ground."), TARGET_TYPE);
         dam += damroll(6, 8);
     }
 
@@ -214,11 +203,11 @@ HIT_POINT spell_RF6_SPECIAL_B(player_type* target_ptr, POSITION y, POSITION x, M
  * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
  * @return ダメージ量を返す。
  */
-HIT_POINT spell_RF6_SPECIAL(player_typetarget_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF6_SPECIAL(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
 {
-    floor_typefloor_ptr = target_ptr->current_floor_ptr;
-    monster_typem_ptr = &floor_ptr->m_list[m_idx];
-    monster_racer_ptr = &r_info[m_ptr->r_idx];
+    floor_type *floor_ptr = target_ptr->current_floor_ptr;
+    monster_type *m_ptr = &floor_ptr->m_list[m_idx];
+    monster_race *r_ptr = &r_info[m_ptr->r_idx];
 
     disturb(target_ptr, TRUE, TRUE);
     switch (m_ptr->r_idx) {
index 3aa0a05..f1db09a 100644 (file)
@@ -1,18 +1,18 @@
 #include "mspell/mspell-summon.h"
 #include "effect/effect-characteristics.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-indice-types.h"
 #include "monster/monster-describer.h"
 #include "monster/monster-description-types.h"
-#include "monster-floor/monster-generator.h"
 #include "monster/monster-info.h"
 #include "monster/monster-status.h"
-#include "monster-floor/place-monster-types.h"
 #include "mspell/monster-spell.h"
 #include "mspell/mspell-util.h"
 #include "player/player-move.h"
-#include "spell/process-effect.h"
 #include "spell-kind/spells-launcher.h"
+#include "spell/process-effect.h"
 #include "spell/spells-summon.h"
 #include "spell/spells-type.h"
 
index f1c6a82..31fae00 100644 (file)
 #include "io/targeting.h"
 #include "lore/lore-calculator.h"
 #include "main/sound-definitions-table.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
 #include "monster-race/race-flags-ability1.h"
 #include "monster-race/race-flags-ability2.h"
 #include "monster-race/race-flags-resistance.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags4.h"
 #include "monster/monster-describer.h"
-#include "monster-floor/monster-generator.h"
 #include "monster/monster-info.h"
 #include "monster/monster-status.h"
-#include "monster-floor/place-monster-types.h"
 #include "mspell/monster-spell.h"
 #include "mspell/mspell-damage-calculator.h"
 #include "mspell/mspell-type.h"
index 3a12604..c989932 100644 (file)
@@ -1,8 +1,8 @@
 #include "mutation/mutation-processor.h"
 #include "io/targeting.h"
-#include "monster-floor/monster-generator.h"
-#include "monster/monster-status.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
+#include "monster/monster-status.h"
 #include "mutation/mutation.h"
 #include "object/lite-processor.h"
 #include "object/object-hook.h"
 #include "player/player-effects.h"
 #include "player/player-move.h"
 #include "spell-kind/spells-floor.h"
-#include "spell-realm/spells-hex.h"
 #include "spell-kind/spells-launcher.h"
 #include "spell-kind/spells-lite.h"
 #include "spell-kind/spells-sight.h"
-#include "spell/spells-summon.h"
 #include "spell-kind/spells-teleport.h"
+#include "spell-realm/spells-hex.h"
+#include "spell/spells-summon.h"
 #include "spell/spells-type.h"
 #include "spell/spells3.h"
 #include "store/store-owners.h"
@@ -27,7 +27,7 @@
  * / Handle mutation effects once every 10 game turns
  * @return なし
  */
-void process_world_aux_mutation(player_typecreature_ptr)
+void process_world_aux_mutation(player_type *creature_ptr)
 {
     if (!creature_ptr->muta2)
         return;
@@ -173,7 +173,7 @@ void process_world_aux_mutation(player_type* creature_ptr)
     }
 
     if ((creature_ptr->muta2 & MUT2_EAT_LIGHT) && one_in_(3000)) {
-        object_typeo_ptr;
+        object_type *o_ptr;
 
         msg_print(_("影につつまれた。", "A shadow passes over you."));
         msg_print(NULL);
@@ -194,9 +194,9 @@ void process_world_aux_mutation(player_type* creature_ptr)
         }
 
         /*
-                * Unlite the area (radius 10) around player and
-                * do 50 points damage to every affected monster
-                */
+         * Unlite the area (radius 10) around player and
+         * do 50 points damage to every affected monster
+         */
         unlite_area(creature_ptr, 50, 10);
     }
 
@@ -325,8 +325,8 @@ void process_world_aux_mutation(player_type* creature_ptr)
     if ((creature_ptr->muta2 & MUT2_WARNING) && one_in_(1000)) {
         int danger_amount = 0;
         for (MONSTER_IDX monster = 0; monster < creature_ptr->current_floor_ptr->m_max; monster++) {
-            monster_typem_ptr = &creature_ptr->current_floor_ptr->m_list[monster];
-            monster_racer_ptr = &r_info[m_ptr->r_idx];
+            monster_type *m_ptr = &creature_ptr->current_floor_ptr->m_list[monster];
+            monster_race *r_ptr = &r_info[m_ptr->r_idx];
             if (!monster_is_valid(m_ptr))
                 continue;
 
index 90d48f5..317f1ab 100644 (file)
 #include "io/write-diary.h"
 #include "mind/mind-warrior.h"
 #include "mind/racial-vampire.h"
+#include "monster-floor/monster-remover.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags3.h"
 #include "monster/monster-describer.h"
+#include "monster/monster-description-types.h"
 #include "monster/monster-flag-types.h"
-#include "monster-floor/monster-generator.h"
 #include "monster/monster-info.h"
-#include "monster-floor/monster-remover.h"
-#include "monster/monster-description-types.h"
-#include "monster-floor/place-monster-types.h"
 #include "monster/smart-learn-types.h"
 #include "object-enchant/item-feeling.h"
 #include "object/object-hook.h"
index c225b24..c561067 100644 (file)
@@ -3,9 +3,9 @@
 #include "cmd-io/cmd-dump.h"
 #include "floor/floor.h"
 #include "io/write-diary.h"
-#include "monster-race/monster-race-hook.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
+#include "monster-race/monster-race-hook.h"
 #include "mutation/mutation.h"
 #include "object-enchant/object-curse.h"
 #include "object/object-flavor.h"
@@ -18,9 +18,9 @@
 #include "spell-kind/spells-floor.h"
 #include "spell-kind/spells-genocide.h"
 #include "spell-kind/spells-launcher.h"
-#include "spell/spells-object.h"
 #include "spell-kind/spells-random.h"
 #include "spell-kind/spells-sight.h"
+#include "spell/spells-object.h"
 #include "spell/spells-status.h"
 #include "spell/spells-summon.h"
 #include "spell/spells-type.h"
index 471a2ca..40e10f3 100644 (file)
@@ -1,7 +1,7 @@
 #include "realm/realm-arcane.h"
 #include "cmd-action/cmd-spell.h"
 #include "io/targeting.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "player/avatar.h"
 #include "player/player-effects.h"
index 70a5ac6..f1cc9a1 100644 (file)
@@ -1,6 +1,6 @@
 #include "realm/realm-craft.h"
 #include "cmd-action/cmd-spell.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "mutation/mutation.h"
 #include "player/player-effects.h"
index 702dedf..f6e2992 100644 (file)
@@ -3,7 +3,7 @@
 #include "effect/effect-characteristics.h"
 #include "floor/floor.h"
 #include "io/targeting.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "player/player-class.h"
 #include "player/player-effects.h"
index 80950a4..11a736d 100644 (file)
@@ -1,7 +1,7 @@
 #include "realm/realm-daemon.h"
 #include "cmd-action/cmd-spell.h"
 #include "io/targeting.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "player/player-class.h"
 #include "player/player-damage.h"
index 6d15d3d..fb6126a 100644 (file)
@@ -4,7 +4,7 @@
 #include "effect/spells-effect-util.h"
 #include "floor/floor-object.h"
 #include "io/targeting.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "object/object-generator.h"
 #include "object/object-kind-hook.h"
index 99cce9d..971a477 100644 (file)
@@ -4,7 +4,7 @@
 #include "grid/grid.h"
 #include "grid/trap.h"
 #include "main/sound-definitions-table.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "object-enchant/item-apply-magic.h"
 #include "object/object-generator.h"
index 70f7315..3f5cb36 100644 (file)
@@ -9,13 +9,12 @@
 #include "floor/floor.h"
 #include "io/targeting.h"
 #include "main/sound-definitions-table.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "mutation/mutation.h"
 #include "player/avatar.h"
 #include "player/player-damage.h"
 #include "player/player-effects.h"
-#include "spell/spells-type.h"
 #include "spell-kind/earthquake.h"
 #include "spell-kind/spells-floor.h"
 #include "spell-kind/spells-genocide.h"
index f4f1411..aa89c51 100644 (file)
@@ -1,17 +1,17 @@
 #include "spell-realm/spells-trump.h"
 #include "floor/floor.h"
 #include "io/targeting.h"
-#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "mutation/mutation.h"
 #include "player/avatar.h"
 #include "player/player-effects.h"
 #include "spell-kind/earthquake.h"
-#include "spell-kind/spells-random.h"
 #include "spell-kind/spells-charm.h"
 #include "spell-kind/spells-floor.h"
 #include "spell-kind/spells-lite.h"
 #include "spell-kind/spells-neighbor.h"
+#include "spell-kind/spells-random.h"
 #include "spell-kind/spells-sight.h"
 #include "spell-kind/spells-teleport.h"
 #include "spell/spells-status.h"
index e4362f0..c368728 100644 (file)
@@ -3,11 +3,11 @@
 #include "floor/floor.h"
 #include "inventory/inventory-object.h"
 #include "inventory/player-inventory.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
 #include "monster-race/race-indice-types.h"
-#include "monster-floor/monster-generator.h"
 #include "monster/monster-info.h"
 #include "monster/monster-status.h"
-#include "monster-floor/place-monster-types.h"
 #include "monster/smart-learn-types.h"
 #include "object/item-use-flags.h"
 #include "object/object-hook.h"
index f2a38c9..d69b576 100644 (file)
 #include "mind/mind-force-trainer.h"
 #include "mind/mind-sniper.h"
 #include "mind/mind.h"
+#include "monster-floor/monster-generator.h"
+#include "monster-floor/monster-remover.h"
+#include "monster-floor/monster-summon.h"
+#include "monster-floor/place-monster-types.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags7.h"
 #include "monster/monster-describer.h"
 #include "monster/monster-flag-types.h"
-#include "monster-floor/monster-generator.h"
 #include "monster/monster-info.h"
 #include "monster/monster-list.h"
 #include "monster/monster-processor.h"
-#include "monster-floor/monster-remover.h"
 #include "monster/monster-status.h"
 #include "monster/monster-update.h"
 #include "monster/monster-util.h"
-#include "monster-floor/place-monster-types.h"
 #include "mspell/monster-spell.h"
 #include "object-enchant/artifact.h"
 #include "object-enchant/item-feeling.h"
index ffcaa27..e2f8815 100644 (file)
 #include "io/targeting.h"
 #include "io/write-diary.h"
 #include "market/arena.h"
-#include "monster/monster-status.h"
-#include "monster/monster-description-types.h"
-#include "monster/monster-describer.h"
 #include "monster-floor/monster-generator.h"
-#include "monster/monster-info.h"
 #include "monster-floor/monster-remover.h"
+#include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
+#include "monster/monster-describer.h"
+#include "monster/monster-description-types.h"
+#include "monster/monster-info.h"
+#include "monster/monster-status.h"
 #include "monster/smart-learn-types.h"
 #include "mspell/monster-spell.h"
 #include "mutation/mutation.h"