<ClCompile Include="..\..\src\mspell\mspell-util.c" />\r
<ClCompile Include="..\..\src\mspell\mspell-ball.c" />\r
<ClCompile Include="..\..\src\spell-kind\spells-beam.c" />\r
+ <ClCompile Include="..\..\src\spell-kind\spells-chaos.c" />\r
+ <ClCompile Include="..\..\src\spell-kind\spells-charm.c" />\r
<ClCompile Include="..\..\src\spell\spells-describer.c" />\r
<ClCompile Include="..\..\src\spell-kind\spells-detection.c" />\r
<ClCompile Include="..\..\src\spell-kind\spells-genocide.c" />\r
<ClInclude Include="..\..\src\realm\realm-hex-numbers.h" />\r
<ClInclude Include="..\..\src\realm\realm-song-numbers.h" />\r
<ClInclude Include="..\..\src\spell-kind\spells-beam.h" />\r
+ <ClInclude Include="..\..\src\spell-kind\spells-chaos.h" />\r
+ <ClInclude Include="..\..\src\spell-kind\spells-charm.h" />\r
<ClInclude Include="..\..\src\spell\spells-describer.h" />\r
<ClInclude Include="..\..\src\spell-kind\spells-genocide.h" />\r
<ClInclude Include="..\..\src\spell\spells-hex.h" />\r
<ClCompile Include="..\..\src\spell-kind\spells-world.c">
<Filter>spell-kind</Filter>
</ClCompile>
+ <ClCompile Include="..\..\src\spell-kind\spells-chaos.c">
+ <Filter>spell-kind</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\spell-kind\spells-charm.c">
+ <Filter>spell-kind</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\cmd\cmd-basic.h">
<ClInclude Include="..\..\src\spell-kind\spells-world.h">
<Filter>spell-kind</Filter>
</ClInclude>
+ <ClInclude Include="..\..\src\spell-kind\spells-chaos.h">
+ <Filter>spell-kind</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\src\spell-kind\spells-charm.h">
+ <Filter>spell-kind</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\src\wall.bmp" />
\
spell-kind/spells-beam.c spell-kind/spells-beam.h \
spell-kind/spells-chaos.c spell-kind/spells-chaos.h \
+ spell-kind/spells-charm.c spell-kind/spells-charm.h \
spell-kind/spells-detection.c spell-kind/spells-detection.h \
spell-kind/spells-floor.c spell-kind/spells-floor.h \
spell-kind/spells-genocide.c spell-kind/spells-genocide.h \
#include "spell/process-effect.h"
#include "spell-kind/spells-beam.h"
#include "spell-kind/spells-chaos.h"
+#include "spell-kind/spells-charm.h"
#include "spell-kind/spells-detection.h"
#include "spell-kind/spells-floor.h"
#include "spell-kind/spells-genocide.h"
#include "spell/spells-summon.h"
#include "spell-kind/spells-teleport.h"
#include "spell/spells-type.h"
-#include "spell/spells2.h"
#include "spell/spells3.h"
#include "world/world.h"
#include "spell/spells-status.h"
#include "spell-kind/spells-teleport.h"
#include "spell/spells-type.h"
-#include "spell/spells2.h"
#include "spell/spells3.h"
#include "util/util.h"
#include "view/display-main-window.h"
#include "player/player-effects.h"
#include "player/player-status.h"
#include "spell-kind/spells-beam.h"
+#include "spell-kind/spells-charm.h"
#include "spell-kind/spells-launcher.h"
#include "spell-kind/spells-lite.h"
#include "spell-kind/spells-neighbor.h"
#include "spell/spells-status.h"
#include "spell-kind/spells-teleport.h"
#include "spell/spells-type.h"
-#include "spell/spells2.h"
#include "util/util.h"
#include "view/display-main-window.h"
#include "view/object-describer.h"
#include "spell/music-checker.h"
#include "spell-kind/spells-chaos.h"
#include "spell/spells-hex.h"
-#include "spell/spells2.h" // 相互依存している。後でどうするか検討する.
#include "view/display-main-window.h"
bool load = TRUE;
#include "spell/spells-summon.h"
#include "spell-kind/spells-teleport.h"
#include "spell/spells-type.h"
-#include "spell/spells2.h"
#include "util/util.h"
#include "world/world.h"
#include "spell-kind/spells-chaos.h"
#include "spell-kind/spells-teleport.h"
#include "spell/spells-summon.h"
-#include "spell/spells2.h"
#define TRC_P_FLAG_MASK \
(TRC_TELEPORT_SELF | TRC_CHAINSWORD | TRC_TY_CURSE | TRC_DRAIN_EXP | TRC_ADD_L_CURSE | TRC_ADD_H_CURSE | TRC_CALL_ANIMAL | TRC_CALL_DEMON \
-#include "system/angband.h"
-#include "core/stuff-handler.h"
-#include "util/util.h"
-#include "main/sound-definitions-table.h"
-#include "monster/creature.h"
-#include "io/write-diary.h"
+#include "monster/monster-status.h"
#include "autopick/autopick-pref-processor.h"
-#include "cmd/cmd-draw.h"
#include "cmd-io/cmd-dump.h"
+#include "cmd/cmd-draw.h"
+#include "combat/monster-attack-effect.h"
+#include "combat/monster-attack-types.h"
+#include "core/stuff-handler.h"
#include "dungeon/dungeon.h"
#include "floor/floor.h"
#include "grid/grid.h"
-#include "monster/monster.h"
-#include "monster/monster-status.h"
-#include "mspell/monster-spell.h"
+#include "io/files-util.h"
+#include "io/report.h"
+#include "io/write-diary.h"
+#include "main/sound-definitions-table.h"
+#include "monster/creature.h"
#include "monster/monster-process.h"
-#include "spell/spells2.h"
-#include "spell/spells-summon.h"
#include "monster/monster-race-hook.h"
-#include "object-enchant/object-curse.h"
+#include "monster/monster.h"
+#include "mspell/monster-spell.h"
#include "object-enchant/artifact.h"
+#include "object-enchant/object-curse.h"
#include "player/avatar.h"
-#include "io/files-util.h"
#include "player/player-effects.h"
#include "player/player-personalities-table.h"
+#include "spell-kind/spells-chaos.h"
+#include "spell/spells-summon.h"
+#include "util/util.h"
#include "view/display-main-window.h"
#include "world/world.h"
-#include "io/report.h"
-#include "combat/monster-attack-effect.h"
-#include "combat/monster-attack-types.h"
-#include "spell-kind/spells-chaos.h"
/*!
* @brief モンスターIDからPOWERFULフラグの有無を取得する /
#pragma once
-extern bool monster_is_powerful(floor_type *floor_ptr, MONSTER_IDX m_idx);
-extern DEPTH monster_level_idx(floor_type *floor_ptr, MONSTER_IDX m_idx);
+#include "system/angband.h"
-extern HIT_POINT mon_damage_mod(player_type *target_ptr, monster_type *m_ptr, HIT_POINT dam, bool is_psy_spear);
-extern bool mon_take_hit(player_type *target_ptr, MONSTER_IDX m_idx, HIT_POINT dam, bool *fear, concptr note);
-extern int get_mproc_idx(floor_type *floor_ptr, MONSTER_IDX m_idx, int mproc_type);
-extern bool monster_is_valid(monster_type *m_ptr);
+bool monster_is_powerful(floor_type *floor_ptr, MONSTER_IDX m_idx);
+DEPTH monster_level_idx(floor_type *floor_ptr, MONSTER_IDX m_idx);
-extern bool set_monster_csleep(player_type *target_ptr, MONSTER_IDX m_idx, int v);
-extern bool set_monster_fast(player_type *target_ptr, MONSTER_IDX m_idx, int v);
-extern bool set_monster_slow(player_type *target_ptr, MONSTER_IDX m_idx, int v);
-extern bool set_monster_stunned(player_type *target_ptr, MONSTER_IDX m_idx, int v);
-extern bool set_monster_confused(player_type *target_ptr, MONSTER_IDX m_idx, int v);
-extern bool set_monster_monfear(player_type *target_ptr, MONSTER_IDX m_idx, int v);
-extern bool set_monster_invulner(player_type *target_ptr, MONSTER_IDX m_idx, int v, bool energy_need);
-extern bool set_monster_timewalk(player_type *target_ptr, int num, MONSTER_IDX who, bool vs_player);
+HIT_POINT mon_damage_mod(player_type *target_ptr, monster_type *m_ptr, HIT_POINT dam, bool is_psy_spear);
+bool mon_take_hit(player_type *target_ptr, MONSTER_IDX m_idx, HIT_POINT dam, bool *fear, concptr note);
+int get_mproc_idx(floor_type *floor_ptr, MONSTER_IDX m_idx, int mproc_type);
+bool monster_is_valid(monster_type *m_ptr);
-extern void dispel_monster_status(player_type *target_ptr, MONSTER_IDX m_idx);
-extern void monster_gain_exp(player_type *target_ptr, MONSTER_IDX m_idx, MONRACE_IDX s_idx);
+bool set_monster_csleep(player_type *target_ptr, MONSTER_IDX m_idx, int v);
+bool set_monster_fast(player_type *target_ptr, MONSTER_IDX m_idx, int v);
+bool set_monster_slow(player_type *target_ptr, MONSTER_IDX m_idx, int v);
+bool set_monster_stunned(player_type *target_ptr, MONSTER_IDX m_idx, int v);
+bool set_monster_confused(player_type *target_ptr, MONSTER_IDX m_idx, int v);
+bool set_monster_monfear(player_type *target_ptr, MONSTER_IDX m_idx, int v);
+bool set_monster_invulner(player_type *target_ptr, MONSTER_IDX m_idx, int v, bool energy_need);
+bool set_monster_timewalk(player_type *target_ptr, int num, MONSTER_IDX who, bool vs_player);
-extern int get_mproc_idx(floor_type *floor_ptr, MONSTER_IDX m_idx, int mproc_type);
-extern void mproc_init(floor_type *floor_ptr);
-extern void process_monsters_mtimed(player_type *target_ptr, int mtimed_idx);
+void dispel_monster_status(player_type *target_ptr, MONSTER_IDX m_idx);
+void monster_gain_exp(player_type *target_ptr, MONSTER_IDX m_idx, MONRACE_IDX s_idx);
+
+int get_mproc_idx(floor_type *floor_ptr, MONSTER_IDX m_idx, int mproc_type);
+void mproc_init(floor_type *floor_ptr);
+void process_monsters_mtimed(player_type *target_ptr, int mtimed_idx);
/*!
- * @file mspells2.c
* @brief モンスター魔法の実装(対モンスター処理) / Monster spells (attack monster)
* @date 2014/01/17
* @author
#include "player/player-races-table.h"
#include "player/player-status.h"
#include "player/selfinfo.h"
+#include "spell-kind/spells-charm.h"
#include "spell-kind/spells-detection.h"
#include "spell-kind/spells-floor.h"
#include "spell-kind/spells-launcher.h"
#include "spell-kind/spells-lite.h"
#include "spell-kind/spells-sight.h"
+#include "spell-kind/spells-teleport.h"
#include "spell/spells-status.h"
#include "spell/spells-summon.h"
-#include "spell-kind/spells-teleport.h"
#include "spell/spells-type.h"
#include "spell/spells2.h"
#include "spell/spells3.h"
#include "spell/spells-status.h"
#include "spell/spells-summon.h"
#include "spell/spells-type.h"
-#include "spell/spells2.h"
#include "util/util.h"
#ifdef JP
#include "player/player-effects.h"
#include "player/player-race.h"
#include "player/player-status.h"
-#include "spell/process-effect.h"
+#include "spell-kind/spells-charm.h"
#include "spell-kind/spells-detection.h"
-#include "spell/spells-diceroll.h"
#include "spell-kind/spells-genocide.h"
#include "spell-kind/spells-launcher.h"
#include "spell-kind/spells-neighbor.h"
-#include "spell/spells-object.h"
#include "spell-kind/spells-sight.h"
#include "spell-kind/spells-specific-bolt.h"
+#include "spell/process-effect.h"
+#include "spell/spells-diceroll.h"
+#include "spell/spells-object.h"
#include "spell/spells-status.h"
#include "spell/spells-summon.h"
#include "spell/spells-type.h"
-#include "spell/spells2.h"
#include "spell/spells3.h"
/*!
#include "io/targeting.h"
#include "object/object-generator.h"
#include "object/object-kind-hook.h"
-#include "sv-definition/sv-food-types.h"
#include "player/avatar.h"
#include "player/player-damage.h"
#include "player/player-effects.h"
#include "player/player-races-table.h"
-#include "spell/process-effect.h"
#include "spell-kind/spells-beam.h"
+#include "spell-kind/spells-charm.h"
#include "spell-kind/spells-detection.h"
-#include "spell/spells-diceroll.h"
#include "spell-kind/spells-floor.h"
#include "spell-kind/spells-launcher.h"
#include "spell-kind/spells-lite.h"
#include "spell-kind/spells-neighbor.h"
-#include "spell/spells-object.h"
#include "spell-kind/spells-sight.h"
+#include "spell/process-effect.h"
+#include "spell/spells-diceroll.h"
+#include "spell/spells-object.h"
#include "spell/spells-status.h"
#include "spell/spells-summon.h"
#include "spell/spells-type.h"
-#include "spell/spells2.h"
#include "spell/spells3.h"
+#include "sv-definition/sv-food-types.h"
#include "util/util.h"
/*!
#include "player/avatar.h"
#include "player/player-effects.h"
#include "player/selfinfo.h"
+#include "spell-kind/spells-charm.h"
#include "spell-kind/spells-detection.h"
#include "spell-kind/spells-floor.h"
#include "spell-kind/spells-launcher.h"
#include "spell-kind/spells-lite.h"
#include "spell-kind/spells-sight.h"
-#include "spell/spells-status.h"
#include "spell-kind/spells-teleport.h"
+#include "spell/spells-status.h"
#include "spell/spells-type.h"
-#include "spell/spells2.h"
#include "spell/spells3.h"
#include "util/util.h"
#include "spell-kind/spells-sight.h"
#include "spell/spells-summon.h"
#include "spell/spells-type.h"
-#include "spell/spells2.h"
#include "spell/spells3.h"
#include "util/util.h"
--- /dev/null
+#include "spell-kind/spells-charm.h"
+#include "effect/effect-characteristics.h"
+#include "spell-kind/spells-launcher.h"
+#include "spell/spells-type.h"
+
+/*!
+ * @brief チャーム・モンスター(1体)
+ * @param caster_ptr プレーヤーへの参照ポインタ
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev パワー
+ * @return 作用が実際にあった場合TRUEを返す
+ */
+bool charm_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
+{
+ BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
+ return (project_hook(caster_ptr, GF_CHARM, dir, plev, flg));
+}
+
+/*!
+ * @brief アンデッド支配(1体)
+ * @param caster_ptr プレーヤーへの参照ポインタ
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev パワー
+ * @return 作用が実際にあった場合TRUEを返す
+ */
+bool control_one_undead(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
+{
+ BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
+ return (project_hook(caster_ptr, GF_CONTROL_UNDEAD, dir, plev, flg));
+}
+
+/*!
+ * @brief 悪魔支配(1体)
+ * @param caster_ptr プレーヤーへの参照ポインタ
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev パワー
+ * @return 作用が実際にあった場合TRUEを返す
+ */
+bool control_one_demon(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
+{
+ BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
+ return (project_hook(caster_ptr, GF_CONTROL_DEMON, dir, plev, flg));
+}
+
+/*!
+ * @brief 動物支配(1体)
+ * @param caster_ptr プレーヤーへの参照ポインタ
+ * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+ * @param plev パワー
+ * @return 作用が実際にあった場合TRUEを返す
+ */
+bool charm_animal(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
+{
+ BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
+ return (project_hook(caster_ptr, GF_CONTROL_ANIMAL, dir, plev, flg));
+}
--- /dev/null
+#pragma once
+
+#include "system/angband.h"
+
+bool charm_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
+bool control_one_undead(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
+bool control_one_demon(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
+bool charm_animal(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
#include "player/player-effects.h"
#include "player/player-skill.h"
#include "player/player-status.h"
+#include "spell-kind/spells-charm.h"
#include "spell/process-effect.h"
#include "spell/spells-diceroll.h"
#include "spell-kind/spells-chaos.h"
#include "world/world.h"
/*!
- * @brief チャーム・モンスター(1体)
- * @param caster_ptr プレーヤーへの参照ポインタ
- * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
- * @param plev パワー
- * @return 作用が実際にあった場合TRUEを返す
- */
-bool charm_monster(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
-{
- BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
- return (project_hook(caster_ptr, GF_CHARM, dir, plev, flg));
-}
-
-
-/*!
- * @brief アンデッド支配(1体)
- * @param caster_ptr プレーヤーへの参照ポインタ
- * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
- * @param plev パワー
- * @return 作用が実際にあった場合TRUEを返す
- */
-bool control_one_undead(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
-{
- BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
- return (project_hook(caster_ptr, GF_CONTROL_UNDEAD, dir, plev, flg));
-}
-
-
-/*!
- * @brief 悪魔支配(1体)
- * @param caster_ptr プレーヤーへの参照ポインタ
- * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
- * @param plev パワー
- * @return 作用が実際にあった場合TRUEを返す
- */
-bool control_one_demon(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
-{
- BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
- return (project_hook(caster_ptr, GF_CONTROL_DEMON, dir, plev, flg));
-}
-
-
-/*!
- * @brief 動物支配(1体)
- * @param caster_ptr プレーヤーへの参照ポインタ
- * @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
- * @param plev パワー
- * @return 作用が実際にあった場合TRUEを返す
- */
-bool charm_animal(player_type *caster_ptr, DIRECTION dir, PLAYER_LEVEL plev)
-{
- BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL;
- return (project_hook(caster_ptr, GF_CONTROL_ANIMAL, dir, plev, flg));
-}
-
-
-/*!
* @brief カオス魔法「流星群」の処理としてプレイヤーを中心に隕石落下処理を10+1d10回繰り返す。
* / Drop 10+1d10 meteor ball at random places near the player
* @param caster_ptr プレーヤーへの参照ポインタ
/*!
-* ヒット&アウェイのレイシャルパワー/突然変異
-* @param caster_ptr プレーヤーへの参照ポインタ
-* @return コマンドの入力先にモンスターがいたらTRUE
-*/
+ * ヒット&アウェイのレイシャルパワー/突然変異
+ * @param caster_ptr プレーヤーへの参照ポインタ
+ * @return コマンドの入力先にモンスターがいたらTRUE
+ */
bool hit_and_away(player_type *caster_ptr)
{
DIRECTION dir;
#include "system/angband.h"
-bool charm_monster(player_type* caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
-bool control_one_undead(player_type* caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
-bool control_one_demon(player_type* caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
-bool charm_animal(player_type* caster_ptr, DIRECTION dir, PLAYER_LEVEL plev);
bool eat_magic(player_type* caster_ptr, int power);
void wild_magic(player_type* caster_ptr, int spell);
void cast_meteor(player_type* caster_ptr, HIT_POINT dam, POSITION rad);
#include "spell-kind/spells-sight.h"
#include "spell/spells-summon.h"
#include "spell-kind/spells-teleport.h"
-#include "spell/spells2.h"
#include "spell/technic-info-table.h"
#include "term/gameterm.h"
#include "util/util.h"