<ClInclude Include="..\..\src\cmd\cmd-knowledge.h" />\r
<ClInclude Include="..\..\src\cmd\cmd-process-screen.h" />\r
<ClInclude Include="..\..\src\cmd\dump-util.h" />\r
+ <ClInclude Include="..\..\src\effect\effect-characteristics.h" />\r
<ClInclude Include="..\..\src\effect\effect-feature.h" />\r
<ClInclude Include="..\..\src\effect\effect-item.h" />\r
<ClInclude Include="..\..\src\effect\effect-monster-charm.h" />\r
<ClInclude Include="..\..\src\spell\process-effect.h">
<Filter>spell</Filter>
</ClInclude>
+ <ClInclude Include="..\..\src\effect\effect-characteristics.h">
+ <Filter>effect</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\src\wall.bmp" />
effect/effect-player-curse.c effect/effect-player-curse.h \
effect/effect-player-spirit.c effect/effect-player-spirit.h \
effect/effect-player-switcher.c effect/effect-player-switcher.h \
+ effect/effect-characteristics.h \
\
spell/technic-info-table.c spell/technic-info-table.h \
spell/spells-execution.c spell/spells-execution.h \
#include "effect/spells-effect-util.h"
#include "spell/spells-type.h"
#include "spell/process-effect.h"
+#include "effect/effect-characteristics.h"
/*!
* @brief 装備耐性に準じたブレス効果の選択テーブル /
#include "object-hook.h"
#include "grid.h"
#include "dungeon.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "dungeon.h"
#include "spell/process-effect.h"
#include "spell/spells-type.h"
#include "player-personality.h"
#include "object-hook.h"
#include "object-broken.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "grid.h"
#include "object-flavor.h"
--- /dev/null
+#pragma once
+
+/*
+ * project()関数に用いられる、遠隔攻撃特性ビットフラグ / Bit flags for the "project()" function
+ */
+typedef enum effect_characteristics {
+ PROJECT_JUMP = 0x0001, /*!< 発動者からの軌跡を持たず、指定地点に直接発生する(予め置いたトラップ、上空からの発生などのイメージ) / Jump directly to the target location (this is a hack) */
+ PROJECT_BEAM = 0x0002, /*!< ビーム範囲を持つ。 / Work as a beam weapon (affect every grid passed through) */
+ PROJECT_THRU = 0x0004, /*!< 目標地点に到達しても射程と遮蔽の限り引き延ばす。 / Continue "through" the target (used for "bolts"/"beams") */
+ PROJECT_STOP = 0x0008, /*!< 道中にプレイヤーかモンスターがいた時点で到達地点を更新して停止する(壁や森はPROJECT_DISIがない限り最初から貫通しない) */
+ PROJECT_GRID = 0x0010, /*!< 射程内の地形に影響を及ぼす / Affect each grid in the "blast area" in some way */
+ PROJECT_ITEM = 0x0020, /*!< 射程内のアイテムに影響を及ぼす / Affect each object in the "blast area" in some way */
+ PROJECT_KILL = 0x0040, /*!< 射程内のモンスターに影響を及ぼす / Affect each monster in the "blast area" in some way */
+ PROJECT_HIDE = 0x0080, /*!< 画面上にフィードバック表示させない / Disable "visual" feedback from projection */
+ PROJECT_DISI = 0x0100, /*!< 永久壁でない壁を破壊する / Disintegrate non-permanent features */
+ PROJECT_PLAYER = 0x0200, /*!< プレーヤー自身をターゲットにする (騎乗中) / Main target is player (used for riding player) */
+ PROJECT_AIMED = 0x0400, /*!< / Target is only player or monster, so don't affect another. Depend on PROJECT_PLAYER. (used for minimum (rad == 0) balls on riding player) */
+ PROJECT_REFLECTABLE = 0x0800, /*!< 反射可能(ボルト系魔法に利用) / Refrectable spell attacks (used for "bolts") */
+ PROJECT_NO_HANGEKI = 0x1000, /*!< 反撃させない / Avoid counter attacks of monsters */
+ PROJECT_PATH = 0x2000, /*!< 軌跡の表示 / Only used for printing project path */
+ PROJECT_FAST = 0x4000, /*!< 炸裂するまで画面上に表示しない / Hide "visual" of flying bolts until blast */
+ PROJECT_LOS = 0x8000 /*!< 視線が通っているか(?) / Line of sight */
+} effect_characteristics;
#include "world.h"
#include "spell/spells-type.h"
#include "spell/process-effect.h" // 暫定、後で消す.
+#include "effect/effect-characteristics.h"
/*!
* @brief 汎用的なビーム/ボルト/ボール系による地形効果処理 / We are called from "project()" to "damage" terrain features
#include "monster-status.h"
#include "avatar.h"
#include "spell/spells-type.h"
+#include "effect/effect-characteristics.h"
/*!
* @brief ビーム/ボルト/ボール系魔法によるモンスターへの効果があるかないかを判定する
#include "player-move.h"
#include "spell/spells-type.h"
#include "player-effects.h"
+#include "effect/effect-characteristics.h"
typedef enum effect_player_check_result
{
#include "object/object-kind.h"
#include "trap.h"
#include "effect/spells-effect-util.h"
+#include "effect/effect-characteristics.h"
/*
* The array of floor [MAX_WID][MAX_HGT].
extern FEAT_IDX conv_dungeon_feat(floor_type *floor_ptr, FEAT_IDX newfeat);
extern void vault_objects(player_type *player_ptr, POSITION y, POSITION x, int num);
-/*
- * project()関数に用いられる、遠隔攻撃特性ビットフラグ / Bit flags for the "project()" function
- */
-#define PROJECT_JUMP 0x0001 /*!< 遠隔攻撃特性: 発動者からの軌跡を持たず、指定地点に直接発生する(予め置いたトラップ、上空からの発生などのイメージ) / Jump directly to the target location (this is a hack) */
-#define PROJECT_BEAM 0x0002 /*!< 遠隔攻撃特性: ビーム範囲を持つ。 / Work as a beam weapon (affect every grid passed through) */
-#define PROJECT_THRU 0x0004 /*!< 遠隔攻撃特性: 目標地点に到達しても射程と遮蔽の限り引き延ばす。 / Continue "through" the target (used for "bolts"/"beams") */
-#define PROJECT_STOP 0x0008 /*!< 遠隔攻撃特性: 道中にプレイヤーかモンスターがいた時点で到達地点を更新して停止する(壁や森はPROJECT_DISIがない限り最初から貫通しない) */
-#define PROJECT_GRID 0x0010 /*!< 遠隔攻撃特性: 射程内の地形に影響を及ぼす / Affect each grid in the "blast area" in some way */
-#define PROJECT_ITEM 0x0020 /*!< 遠隔攻撃特性: 射程内のアイテムに影響を及ぼす / Affect each object in the "blast area" in some way */
-#define PROJECT_KILL 0x0040 /*!< 遠隔攻撃特性: 射程内のモンスターに影響を及ぼす / Affect each monster in the "blast area" in some way */
-#define PROJECT_HIDE 0x0080 /*!< 遠隔攻撃特性: / Hack -- disable "visual" feedback from projection */
-#define PROJECT_DISI 0x0100 /*!< 遠隔攻撃特性: / Disintegrate non-permanent features */
-#define PROJECT_PLAYER 0x0200 /*!< 遠隔攻撃特性: / Main target is player (used for riding player) */
-#define PROJECT_AIMED 0x0400 /*!< 遠隔攻撃特性: / Target is only player or monster, so don't affect another. Depend on PROJECT_PLAYER. (used for minimum (rad == 0) balls on riding player) */
-#define PROJECT_REFLECTABLE 0x0800 /*!< 遠隔攻撃特性: 反射可能(ボルト系魔法に利用) / Refrectable spell attacks (used for "bolts") */
-#define PROJECT_NO_HANGEKI 0x1000 /*!< 遠隔攻撃特性: / Avoid counter attacks of monsters */
-#define PROJECT_PATH 0x2000 /*!< 遠隔攻撃特性: / Only used for printing project path */
-#define PROJECT_FAST 0x4000 /*!< 遠隔攻撃特性: / Hide "visual" of flying bolts until blast */
-#define PROJECT_LOS 0x8000 /*!< 遠隔攻撃特性: / */
extern sint project_path(player_type *player_ptr, u16b *gp, POSITION range, POSITION y1, POSITION x1, POSITION y2, POSITION x2, BIT_FLAGS flg);
extern void set_floor(player_type *player_ptr, POSITION x, POSITION y);
#include "view/display-main-window.h"
#include "realm/realm-song.h"
#include "spell/process-effect.h"
+#include "effect/effect-characteristics.h"
#define MONSTER_FLOW_DEPTH 32 /*!< 敵のプレイヤーに対する移動道のりの最大値(この値以上は処理を打ち切る) / OPTION: Maximum flow depth when using "MONSTER_FLOW" */
#include "mind.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "melee.h"
#include "spells-summon.h"
#include "avatar.h"
#include "player-move.h"
#include "spell/spells-type.h"
#include "spell/process-effect.h"
+#include "effect/effect-characteristics.h"
static bool check_hp_for_feat_destruction(feature_type *f_ptr, monster_type *m_ptr)
{
#include "cmd/cmd-dump.h"
#include "market/building.h"
#include "cmd-pet.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "object/object-kind-hook.h"
#include "player-personality.h"
#include "monster.h"
#include "cmd/cmd-dump.h"
#include "cmd-pet.h"
#include "dungeon.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "object-flavor.h"
#include "monsterrace-hook.h"
#include "monster-status.h"
#include "angband.h"
#include "util.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "dungeon.h"
#include "grid.h"
#include "object-curse.h"
#include "main/sound-definitions-table.h"
#include "cmd-pet.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "grid.h"
#include "quest.h"
#include "realm/realm-hex.h"
#include "util.h"
#include "main/sound-definitions-table.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "grid.h"
#include "spells-summon.h"
#include "artifact.h"
#include "snipe.h"
#include "spell/spells-type.h"
#include "spell/process-effect.h"
+#include "effect/effect-characteristics.h"
/*!
* @brief アイテムが酸で破損するかどうかを判定する
#include "realm/realm-song.h"
#include "autopick/autopick.h"
#include "dungeon.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "melee.h"
#include "grid.h"
#include "trap.h"
#include "realm/realm-chaos.h"
#include "spell/spells-type.h"
#include "spell/process-effect.h"
+#include "effect/effect-characteristics.h"
/*!
* @brief カオス領域魔法の各処理を行う
#include "world.h"
#include "cmd-spell.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "spell/spells-type.h"
#include "spells-object.h"
#include "spells-summon.h"
#include "player-race.h"
#include "realm/realm-death.h"
#include "spell/process-effect.h"
+#include "effect/effect-characteristics.h"
/*!
* @brief 暗黒領域魔法の各処理を行う
#include "angband.h"
#include "util.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "cmd-spell.h"
#include "cmd-quaff.h"
#include "object-flavor.h"
#include "cmd-spell.h"
#include "cmd-basic.h"
#include "dungeon.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "melee.h"
#include "monsterrace-hook.h"
#include "artifact.h"
#include "realm/realm-nature.h"
#include "spell/spells-type.h"
#include "spell/process-effect.h"
+#include "effect/effect-characteristics.h"
/*!
* @brief 自然領域魔法の各処理を行う
#include "view/display-main-window.h"
#include "realm/realm-song.h"
#include "spell/process-effect.h"
+#include "effect/effect-characteristics.h"
/*!
* @brief 歌の開始を処理する / Start singing if the player is a Bard
#include "main/sound-definitions-table.h"
#include "spell/spells-type.h"
#include "view/display-main-window.h" // 暫定、後で消すかも.
+#include "effect/effect-characteristics.h"
/*!
* @brief 配置した鏡リストの次を取得する /
#include "cmd-magiceat.h"
#include "avatar.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "object-flavor.h"
#include "player-status.h"
#include "player-class.h"
#include "effect/effect-feature.h"
#include "effect/effect-item.h"
#include "effect/effect-monster.h"
+#include "effect/effect-characteristics.h"
/*
* Find the distance from (x, y) to a line.
#include "io/write-diary.h"
#include "cmd/cmd-pet.h"
#include "cmd/cmd-dump.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "grid.h"
#include "trap.h"
#include "monsterrace-hook.h"
#include "creature.h"
#include "dungeon.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "floor-town.h"
#include "object-boost.h"
#include "object-flavor.h"
#include "player-status.h"
#include "grid.h"
#include "spell/spells-type.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "floor-save.h"
#include "init.h"
#include "files.h"
#include "grid.h"
#include "dungeon.h"
-#include "floor.h"
+#include "effect/effect-characteristics.h"
#include "floor-town.h"
#include "feature.h"
#include "object/object-kind.h"