<ClCompile Include="..\..\src\realm\realm-nature.c" />\r
<ClCompile Include="..\..\src\realm\realm-song.c" />\r
<ClCompile Include="..\..\src\realm\realm-sorcery.c" />\r
+ <ClCompile Include="..\..\src\spell\spells-execution.c" />\r
<ClCompile Include="..\..\src\spell\technic-info-table.c" />\r
<ClInclude Include="..\..\src\artifact.h" />\r
<ClInclude Include="..\..\src\autopick\autopick-command-menu.h" />\r
<ClInclude Include="..\..\src\room\pit-nest-kinds-table.h" />\r
<ClInclude Include="..\..\src\io\signal-handlers.h" />\r
<ClInclude Include="..\..\src\io\uid-checker.h" />\r
+ <ClInclude Include="..\..\src\spell\spells-util.h" />\r
+ <ClInclude Include="..\..\src\spell\spells-execution.h" />\r
<ClInclude Include="..\..\src\spell\technic-info-table.h" />\r
<ClInclude Include="..\..\src\view\display-characteristic.h" />\r
<ClInclude Include="..\..\src\view\display-fruit.h" />\r
<ClCompile Include="..\..\src\spell\technic-info-table.c">
<Filter>spell</Filter>
</ClCompile>
+ <ClCompile Include="..\..\src\spell\spells-execution.c">
+ <Filter>spell</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\gamevalue.h" />
<ClInclude Include="..\..\src\spell\technic-info-table.h">
<Filter>spell</Filter>
</ClInclude>
+ <ClInclude Include="..\..\src\spell\spells-execution.h">
+ <Filter>spell</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\src\spell\spells-util.h">
+ <Filter>spell</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\src\wall.bmp" />
effect/spells-effect-util.c effect/spells-effect-util.h \
\
spell/technic-info-table.c spell/technic-info-table.h \
+ spell/spells-execution.c spell/spells-execution.h \
+ spell/spells-util.h \
spells.h \
spells1.c spells2.c spells3.c \
spells-diceroll.c spells-diceroll.h \
#include "cmd-basic.h"
#include "cmd-spell.h"
#include "view/display-main-window.h"
+#include "spell/spells-util.h"
+#include "spell/spells-execution.h"
#define TECHNIC_HISSATSU (REALM_HISSATSU - MIN_TECHNIC)
-
/*!
* @brief 使用可能な剣術を選択する /
* Allow user to choose a blade arts.
#include "floor.h"
#include "autopick/autopick-reader-writer.h"
#include "japanese.h"
+#include "spell/spells-util.h"
+#include "spell/spells-execution.h"
/*!
* 魔法領域フラグ管理テーブル /
#include "realm/realm.h"
#include "realm/realm-song.h"
#include "targeting.h"
+#include "spell/spells-util.h"
+#include "spell/spells-execution.h"
/*!
* コピーライト情報 /
#include "object/object-kind.h"
#include "player-skill.h"
#include "spell/technic-info-table.h"
+#include "spell/spells-util.h"
+#include "spell/spells-execution.h"
/*
* Display weapon-exp
#include "horror-descriptions.h"
#include "market/arena-info-table.h"
+#include "spell/spells-util.h"
+#include "spell/spells-execution.h"
/*!
* @brief 能力値テーブル / Abbreviations of healthy stats
#include "player-status.h"
#include "player-effects.h"
#include "targeting.h"
+#include "realm/realm-arcane.h"
/*!
* @brief 秘術領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_arcane_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "spells.h"
#include "targeting.h"
#include "view/display-main-window.h"
+#include "realm/realm-chaos.h"
/*!
* @brief カオス領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_chaos_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "mutation.h"
#include "player-status.h"
#include "player-effects.h"
-
-
+#include "realm/realm-craft.h"
/*!
* @brief 匠領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_craft_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "player-class.h"
#include "player-effects.h"
#include "targeting.h"
-
-
+#include "realm/realm-crusade.h"
/*!
* @brief 破邪領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_crusade_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
-
-#include "angband.h"
+#include "angband.h"
#include "util.h"
#include "player-class.h"
#include "player-race.h"
#include "player-damage.h"
#include "targeting.h"
+#include "realm/realm-daemon.h"
/*!
* @brief 悪魔領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_daemon_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "player-class.h"
#include "player-damage.h"
#include "player-race.h"
+#include "realm/realm-death.h"
/*!
* @brief 暗黒領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_death_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "realm/realm-song.h"
#include "view/display-main-window.h"
#include "world.h"
+#include "realm/realm-hex.h"
+#include "spell/spells-execution.h"
#define MAX_KEEP 4 /*!<呪術の最大詠唱数 */
#pragma once
-/*!
- * @file realm/realm-hex.h
- */
+#include "spell/spells-util.h"
#define hex_spelling_any(CREATURE_PTR) \
(((CREATURE_PTR)->realm1 == REALM_HEX) && ((CREATURE_PTR)->magic_num1[0]))
#include "spells-floor.h"
#include "world.h"
#include "effect/spells-effect-util.h"
+#include "spell/spells-util.h"
/*!
* @brief 剣術の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_hissatsu_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "player-effects.h"
#include "floor.h"
#include "targeting.h"
+#include "realm/realm-life.h"
/*!
* @brief 生命領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_life_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "player-damage.h"
#include "targeting.h"
#include "effect/spells-effect-util.h"
+#include "realm/realm-nature.h"
/*!
* @brief 自然領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_nature_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "angband.h"
#include "util.h"
-#include "realm/realm-song.h"
-
#include "cmd-spell.h"
#include "spells.h"
#include "spells-status.h"
#include "player-effects.h"
#include "targeting.h"
#include "view/display-main-window.h"
+#include "realm/realm-song.h"
/*!
* @brief 歌の開始を処理する / Start singing if the player is a Bard
#define MUSIC_DETECT 101
-extern concptr do_music_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
+#include "spell/spells-util.h"
+
+concptr do_music_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "spells-floor.h"
#include "player-effects.h"
#include "targeting.h"
+#include "realm/realm-sorcery.h"
/*!
* @brief 仙術領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_sorcery_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
#include "player-class.h"
#include "targeting.h"
#include "effect/spells-effect-util.h"
+#include "realm/realm-trump.h"
/*!
* @brief トランプ領域魔法の各処理を行う
#pragma once
+#include "spell/spells-util.h"
+
concptr do_trump_spell(player_type *caster_ptr, SPELL_IDX spell, spell_type mode);
--- /dev/null
+#include "angband.h"
+#include "spell/spells-util.h"
+#include "spell/spells-execution.h"
+#include "realm/realm.h"
+#include "realm/realm-arcane.h"
+#include "realm/realm-chaos.h"
+#include "realm/realm-craft.h"
+#include "realm/realm-crusade.h"
+#include "realm/realm-daemon.h"
+#include "realm/realm-death.h"
+#include "realm/realm-hex.h"
+#include "realm/realm-hissatsu.h"
+#include "realm/realm-life.h"
+#include "realm/realm-nature.h"
+#include "realm/realm-song.h"
+#include "realm/realm-sorcery.h"
+#include "realm/realm-trump.h"
+
+/*!
+ * @brief 魔法処理のメインルーチン
+ * @param realm 魔法領域のID
+ * @param spell 各領域の魔法ID
+ * @param mode 求める処理
+ * @return 各領域魔法に各種テキストを求めた場合は文字列参照ポインタ、そうでない場合はNULLポインタを返す。
+ */
+concptr exe_spell(player_type *caster_ptr, REALM_IDX realm, SPELL_IDX spell, spell_type mode)
+{
+ switch (realm)
+ {
+ case REALM_LIFE: return do_life_spell(caster_ptr, spell, mode);
+ case REALM_SORCERY: return do_sorcery_spell(caster_ptr, spell, mode);
+ case REALM_NATURE: return do_nature_spell(caster_ptr, spell, mode);
+ case REALM_CHAOS: return do_chaos_spell(caster_ptr, spell, mode);
+ case REALM_DEATH: return do_death_spell(caster_ptr, spell, mode);
+ case REALM_TRUMP: return do_trump_spell(caster_ptr, spell, mode);
+ case REALM_ARCANE: return do_arcane_spell(caster_ptr, spell, mode);
+ case REALM_CRAFT: return do_craft_spell(caster_ptr, spell, mode);
+ case REALM_DAEMON: return do_daemon_spell(caster_ptr, spell, mode);
+ case REALM_CRUSADE: return do_crusade_spell(caster_ptr, spell, mode);
+ case REALM_MUSIC: return do_music_spell(caster_ptr, spell, mode);
+ case REALM_HISSATSU: return do_hissatsu_spell(caster_ptr, spell, mode);
+ case REALM_HEX: return do_hex_spell(caster_ptr, spell, mode);
+ }
+
+ return NULL;
+}
--- /dev/null
+#pragma once
+
+concptr exe_spell(player_type *caster_ptr, REALM_IDX realm, SPELL_IDX spell, spell_type mode);
--- /dev/null
+#pragma once
+
+typedef enum
+{
+ SPELL_NAME = 0,
+ SPELL_DESC = 1,
+ SPELL_INFO = 2,
+ SPELL_CAST = 3,
+ SPELL_FAIL = 4,
+ SPELL_STOP = 5,
+ SPELL_CONT = 6
+} spell_type;
#pragma once
#include "realm/realm.h"
-typedef enum
-{
- SPELL_NAME = 0,
- SPELL_DESC = 1,
- SPELL_INFO = 2,
- SPELL_CAST = 3,
- SPELL_FAIL = 4,
- SPELL_STOP = 5,
- SPELL_CONT = 6
-} spell_type;
-
-concptr exe_spell(player_type *caster_ptr, REALM_IDX realm, SPELL_IDX spell, spell_type mode);
-
#define DETECT_RAD_DEFAULT 30
#define DETECT_RAD_MAP 30
#define DETECT_RAD_ALL 255
#include "feature.h"
#include "view/display-main-window.h"
-#include "realm/realm.h"
-#include "realm/realm-arcane.h"
-#include "realm/realm-chaos.h"
-#include "realm/realm-craft.h"
-#include "realm/realm-crusade.h"
-#include "realm/realm-daemon.h"
-#include "realm/realm-death.h"
-#include "realm/realm-hex.h"
-#include "realm/realm-hissatsu.h"
-#include "realm/realm-life.h"
-#include "realm/realm-nature.h"
-#include "realm/realm-song.h"
-#include "realm/realm-sorcery.h"
-#include "realm/realm-trump.h"
-
#include "effect/effect-feature.h"
#include "effect/effect-item.h"
#include "effect/spells-effect-util.h"
-
-/*!
- * @brief 魔法処理のメインルーチン
- * @param realm 魔法領域のID
- * @param spell 各領域の魔法ID
- * @param mode 求める処理
- * @return 各領域魔法に各種テキストを求めた場合は文字列参照ポインタ、そうでない場合はNULLポインタを返す。
- */
-concptr exe_spell(player_type *caster_ptr, REALM_IDX realm, SPELL_IDX spell, spell_type mode)
-{
- switch (realm)
- {
- case REALM_LIFE: return do_life_spell(caster_ptr, spell, mode);
- case REALM_SORCERY: return do_sorcery_spell(caster_ptr, spell, mode);
- case REALM_NATURE: return do_nature_spell(caster_ptr, spell, mode);
- case REALM_CHAOS: return do_chaos_spell(caster_ptr, spell, mode);
- case REALM_DEATH: return do_death_spell(caster_ptr, spell, mode);
- case REALM_TRUMP: return do_trump_spell(caster_ptr, spell, mode);
- case REALM_ARCANE: return do_arcane_spell(caster_ptr, spell, mode);
- case REALM_CRAFT: return do_craft_spell(caster_ptr, spell, mode);
- case REALM_DAEMON: return do_daemon_spell(caster_ptr, spell, mode);
- case REALM_CRUSADE: return do_crusade_spell(caster_ptr, spell, mode);
- case REALM_MUSIC: return do_music_spell(caster_ptr, spell, mode);
- case REALM_HISSATSU: return do_hissatsu_spell(caster_ptr, spell, mode);
- case REALM_HEX: return do_hex_spell(caster_ptr, spell, mode);
- }
-
- return NULL;
-}
-
+#include "realm/realm-hex.h"
/*!
* @brief 配置した鏡リストの次を取得する /
#include "autopick/autopick.h"
#include "targeting.h"
#include "effect/spells-effect-util.h"
+#include "spell/spells-util.h"
+#include "spell/spells-execution.h"
/*! テレポート先探索の試行数 / Maximum number of tries for teleporting */
#define MAX_TRIES 100