<ClCompile Include="..\..\src\spell-kind\spells-recall.c" />\r
<ClCompile Include="..\..\src\spell-realm\spells-chaos.c" />\r
<ClCompile Include="..\..\src\spell\spell-info.c" />\r
+ <ClCompile Include="..\..\src\status\sight-setter.c" />\r
<ClCompile Include="..\..\src\view\display-map.c" />\r
<ClCompile Include="..\..\src\view\display-sub-windows.c" />\r
<ClCompile Include="..\..\src\view\main-window-left-frame.c" />\r
<ClInclude Include="..\..\src\spell-kind\spells-recall.h" />\r
<ClInclude Include="..\..\src\spell-realm\spells-chaos.h" />\r
<ClInclude Include="..\..\src\spell\spell-info.h" />\r
+ <ClInclude Include="..\..\src\status\sight-setter.h" />\r
<ClInclude Include="..\..\src\system\alloc-entries.h" />\r
<ClInclude Include="..\..\src\term\screen-processor.h" />\r
<ClInclude Include="..\..\src\util\bit-flags-calculator.h" />\r
<ClCompile Include="..\..\src\player\buff-setter.c">
<Filter>player</Filter>
</ClCompile>
+ <ClCompile Include="..\..\src\status\sight-setter.c">
+ <Filter>status</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\cmd\cmd-basic.h">
<ClInclude Include="..\..\src\player\buff-setter.h">
<Filter>player</Filter>
</ClInclude>
+ <ClInclude Include="..\..\src\status\sight-setter.h">
+ <Filter>status</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\src\wall.bmp" />
<Filter Include="object-hook">
<UniqueIdentifier>{e466c69b-eaf4-4110-bc9d-e865b36cc732}</UniqueIdentifier>
</Filter>
+ <Filter Include="status">
+ <UniqueIdentifier>{c2656391-c200-4334-8150-88f4691c6079}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\src\angband.rc" />
spell-realm/spells-song.c spell-realm/spells-song.h \
spell-realm/spells-trump.c spell-realm/spells-trump.h \
\
+ status/sight-setter.c status/sight-setter.h \
+ \
store/store.c store/store.h \
store/black-market.c store/black-market.h \
store/rumor.c store/rumor.h \
-Imind -Imonster -Imonster-attack -Imonster-floor -Imonster-race -Ilore \
-Imspell -Imutation -Iobject -Iobject-enchant -Iobject-hook -Ipet -Iplayer \
-Iplayer-attack -Irealm -Iroom -Ispecific-object -Ispell -Ispell-kind \
- -Ispell-realm -Isv-definition -Isystem -Iterm -Iutil -Iview -Iwizard -Iworld
+ -Ispell-realm -Istatus -Isv-definition -Isystem -Iterm -Iutil -Iview \
+ -Iwizard -Iworld
install-exec-hook:
if SET_GID
#include "spell/spells-summon.h"
#include "spell/spell-types.h"
#include "spell/spells3.h"
+#include "status/sight-setter.h"
#include "sv-definition/sv-lite-types.h"
#include "sv-definition/sv-ring-types.h"
#include "term/screen-processor.h"
#include "spell-realm/spells-hex.h"
#include "spell/spells-status.h"
#include "spell/spells3.h"
+#include "status/sight-setter.h"
#include "sv-definition/sv-potion-types.h"
#include "term/screen-processor.h"
#include "view/display-messages.h"
#include "player/bad-status-setter.h"
#include "player/buff-setter.h"
#include "player/player-effects.h"
+#include "status/sight-setter.h"
/*!
* @brief 10ゲームターンが進行するごとに魔法効果の残りターンを減らしていく処理
#include "spell-kind/spells-teleport.h"
#include "spell/spell-types.h"
#include "spell/spells3.h"
+#include "status/sight-setter.h"
#include "term/screen-processor.h"
#include "util/buffer-shaper.h"
#include "util/int-char-converter.h"
#include "spell/spells-summon.h"
#include "spell/spell-types.h"
#include "spell/spells3.h"
+#include "status/sight-setter.h"
#include "store/store-owners.h"
#include "store/store-util.h"
#include "store/store.h"
#include "spell-kind/spells-floor.h"
#include "spell-realm/spells-hex.h"
#include "spell/spells-status.h"
+#include "status/sight-setter.h"
#include "sv-definition/sv-armor-types.h"
#include "sv-definition/sv-protector-types.h"
#include "sv-definition/sv-weapon-types.h"
}
/*!
- * @brief 時限ESPの継続時間をセットする / Set "tim_esp", notice observable changes
- * @param v 継続時間
- * @param do_dec 現在の継続時間より長い値のみ上書きする
- * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。
- */
-bool set_tim_esp(player_type *creature_ptr, TIME_EFFECT v, bool do_dec)
-{
- bool notice = FALSE;
- v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
-
- if (creature_ptr->is_dead)
- return FALSE;
-
- if (v) {
- if (creature_ptr->tim_esp && !do_dec) {
- if (creature_ptr->tim_esp > v)
- return FALSE;
- } else if (!is_time_limit_esp(creature_ptr)) {
- msg_print(_("意識が広がった気がする!", "You feel your consciousness expand!"));
- notice = TRUE;
- }
- } else {
- if (creature_ptr->tim_esp && !music_singing(creature_ptr, MUSIC_MIND)) {
- msg_print(_("意識は元に戻った。", "Your consciousness contracts again."));
- notice = TRUE;
- }
- }
-
- creature_ptr->tim_esp = v;
- creature_ptr->redraw |= (PR_STATUS);
-
- if (!notice)
- return FALSE;
-
- if (disturb_state)
- disturb(creature_ptr, FALSE, FALSE);
- creature_ptr->update |= (PU_BONUS);
- creature_ptr->update |= (PU_MONSTERS);
- handle_stuff(creature_ptr);
- return TRUE;
-}
-
-/*!
- * @brief 時限透明視の継続時間をセットする / Set "tim_invis", notice observable changes
- * @param v 継続時間
- * @param do_dec 現在の継続時間より長い値のみ上書きする
- * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。
- */
-bool set_tim_invis(player_type *creature_ptr, TIME_EFFECT v, bool do_dec)
-{
- bool notice = FALSE;
- v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
-
- if (creature_ptr->is_dead)
- return FALSE;
-
- if (v) {
- if (creature_ptr->tim_invis && !do_dec) {
- if (creature_ptr->tim_invis > v)
- return FALSE;
- } else if (!creature_ptr->tim_invis) {
- msg_print(_("目が非常に敏感になった気がする!", "Your eyes feel very sensitive!"));
- notice = TRUE;
- }
- } else {
- if (creature_ptr->tim_invis) {
- msg_print(_("目の敏感さがなくなったようだ。", "Your eyes feel less sensitive."));
- notice = TRUE;
- }
- }
-
- creature_ptr->tim_invis = v;
- creature_ptr->redraw |= (PR_STATUS);
-
- if (!notice)
- return FALSE;
-
- if (disturb_state)
- disturb(creature_ptr, FALSE, FALSE);
- creature_ptr->update |= (PU_BONUS);
- creature_ptr->update |= (PU_MONSTERS);
- handle_stuff(creature_ptr);
- return TRUE;
-}
-
-/*!
- * @brief 時限赤外線視力の継続時間をセットする / Set "tim_infra", notice observable changes
- * @param v 継続時間
- * @param do_dec 現在の継続時間より長い値のみ上書きする
- * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。
- */
-bool set_tim_infra(player_type *creature_ptr, TIME_EFFECT v, bool do_dec)
-{
- bool notice = FALSE;
- v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
-
- if (creature_ptr->is_dead)
- return FALSE;
-
- if (v) {
- if (creature_ptr->tim_infra && !do_dec) {
- if (creature_ptr->tim_infra > v)
- return FALSE;
- } else if (!creature_ptr->tim_infra) {
- msg_print(_("目がランランと輝き始めた!", "Your eyes begin to tingle!"));
- notice = TRUE;
- }
- } else {
- if (creature_ptr->tim_infra) {
- msg_print(_("目の輝きがなくなった。", "Your eyes stop tingling."));
- notice = TRUE;
- }
- }
-
- creature_ptr->tim_infra = v;
- creature_ptr->redraw |= (PR_STATUS);
-
- if (!notice)
- return FALSE;
-
- if (disturb_state)
- disturb(creature_ptr, FALSE, FALSE);
- creature_ptr->update |= (PU_BONUS);
- creature_ptr->update |= (PU_MONSTERS);
- handle_stuff(creature_ptr);
- return TRUE;
-}
-
-/*!
* @brief 時限急回復の継続時間をセットする / Set "tim_regen", notice observable changes
* @param v 継続時間
* @param do_dec 現在の継続時間より長い値のみ上書きする
bool set_shero(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
bool set_protevil(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
bool set_invuln(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
-bool set_tim_invis(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
-bool set_tim_infra(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
bool set_tim_regen(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
bool set_tim_stealth(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
bool set_tim_levitation(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
bool choose_ele_attack(player_type *creature_ptr);
bool choose_ele_immune(player_type *creature_ptr, TIME_EFFECT turn);
bool set_wraith_form(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
-bool set_tim_esp(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
bool set_superstealth(player_type *creature_ptr, bool set);
void do_poly_wounds(player_type *creature_ptr);
void change_race(player_type *creature_ptr, player_race_type new_race, concptr effect_msg);
#include "spell/spells-summon.h"
#include "spell-kind/spells-teleport.h"
#include "spell/spell-types.h"
+#include "status/sight-setter.h"
#include "view/display-messages.h"
/*!
#include "spell/spells-status.h"
#include "spell/spells-summon.h"
#include "spell/spells3.h"
+#include "status/sight-setter.h"
#include "view/display-messages.h"
/*!
#include "spell/spells-status.h"
#include "spell/spells-summon.h"
#include "spell/spells3.h"
+#include "status/sight-setter.h"
#include "view/display-messages.h"
#include "world/world.h"
#include "spell/spells-status.h"
#include "spell/spells-summon.h"
#include "spell/spell-types.h"
+#include "status/sight-setter.h"
#include "view/display-messages.h"
/*!
#include "spell/spells-status.h"
#include "spell/spell-types.h"
#include "spell/spells3.h"
+#include "status/sight-setter.h"
#include "view/display-messages.h"
/*!
#include "monster-floor/place-monster-types.h"
#include "mutation/mutation.h"
#include "player/player-class.h"
-#include "player/player-effects.h"
#include "spell-kind/spells-detection.h"
#include "spell-kind/spells-floor.h"
#include "spell-kind/spells-launcher.h"
#include "spell/spells-status.h"
#include "spell/spells-summon.h"
#include "spell/spells3.h"
+#include "status/sight-setter.h"
#include "view/display-messages.h"
/*!
#include "spell-kind/spells-launcher.h"
#include "spell-kind/spells-teleport.h"
#include "spell/spell-types.h"
+#include "status/sight-setter.h"
#include "util/bit-flags-calculator.h"
#include "view/display-messages.h"
--- /dev/null
+#include "status/sight-setter.h"
+#include "core/stuff-handler.h"
+#include "game-option/disturbance-options.h"
+#include "player/player-move.h"
+#include "realm/realm-song-numbers.h"
+#include "view/display-messages.h"
+
+/*!
+ * @brief 時限ESPの継続時間をセットする / Set "tim_esp", notice observable changes
+ * @param v 継続時間
+ * @param do_dec 現在の継続時間より長い値のみ上書きする
+ * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。
+ */
+bool set_tim_esp(player_type *creature_ptr, TIME_EFFECT v, bool do_dec)
+{
+ bool notice = FALSE;
+ v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
+
+ if (creature_ptr->is_dead)
+ return FALSE;
+
+ if (v) {
+ if (creature_ptr->tim_esp && !do_dec) {
+ if (creature_ptr->tim_esp > v)
+ return FALSE;
+ } else if (!is_time_limit_esp(creature_ptr)) {
+ msg_print(_("意識が広がった気がする!", "You feel your consciousness expand!"));
+ notice = TRUE;
+ }
+ } else {
+ if (creature_ptr->tim_esp && !music_singing(creature_ptr, MUSIC_MIND)) {
+ msg_print(_("意識は元に戻った。", "Your consciousness contracts again."));
+ notice = TRUE;
+ }
+ }
+
+ creature_ptr->tim_esp = v;
+ creature_ptr->redraw |= (PR_STATUS);
+
+ if (!notice)
+ return FALSE;
+
+ if (disturb_state)
+ disturb(creature_ptr, FALSE, FALSE);
+ creature_ptr->update |= (PU_BONUS);
+ creature_ptr->update |= (PU_MONSTERS);
+ handle_stuff(creature_ptr);
+ return TRUE;
+}
+
+/*!
+ * @brief 時限透明視の継続時間をセットする / Set "tim_invis", notice observable changes
+ * @param v 継続時間
+ * @param do_dec 現在の継続時間より長い値のみ上書きする
+ * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。
+ */
+bool set_tim_invis(player_type *creature_ptr, TIME_EFFECT v, bool do_dec)
+{
+ bool notice = FALSE;
+ v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
+
+ if (creature_ptr->is_dead)
+ return FALSE;
+
+ if (v) {
+ if (creature_ptr->tim_invis && !do_dec) {
+ if (creature_ptr->tim_invis > v)
+ return FALSE;
+ } else if (!creature_ptr->tim_invis) {
+ msg_print(_("目が非常に敏感になった気がする!", "Your eyes feel very sensitive!"));
+ notice = TRUE;
+ }
+ } else {
+ if (creature_ptr->tim_invis) {
+ msg_print(_("目の敏感さがなくなったようだ。", "Your eyes feel less sensitive."));
+ notice = TRUE;
+ }
+ }
+
+ creature_ptr->tim_invis = v;
+ creature_ptr->redraw |= (PR_STATUS);
+
+ if (!notice)
+ return FALSE;
+
+ if (disturb_state)
+ disturb(creature_ptr, FALSE, FALSE);
+ creature_ptr->update |= (PU_BONUS);
+ creature_ptr->update |= (PU_MONSTERS);
+ handle_stuff(creature_ptr);
+ return TRUE;
+}
+
+/*!
+ * @brief 時限赤外線視力の継続時間をセットする / Set "tim_infra", notice observable changes
+ * @param v 継続時間
+ * @param do_dec 現在の継続時間より長い値のみ上書きする
+ * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。
+ */
+bool set_tim_infra(player_type *creature_ptr, TIME_EFFECT v, bool do_dec)
+{
+ bool notice = FALSE;
+ v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
+
+ if (creature_ptr->is_dead)
+ return FALSE;
+
+ if (v) {
+ if (creature_ptr->tim_infra && !do_dec) {
+ if (creature_ptr->tim_infra > v)
+ return FALSE;
+ } else if (!creature_ptr->tim_infra) {
+ msg_print(_("目がランランと輝き始めた!", "Your eyes begin to tingle!"));
+ notice = TRUE;
+ }
+ } else {
+ if (creature_ptr->tim_infra) {
+ msg_print(_("目の輝きがなくなった。", "Your eyes stop tingling."));
+ notice = TRUE;
+ }
+ }
+
+ creature_ptr->tim_infra = v;
+ creature_ptr->redraw |= (PR_STATUS);
+
+ if (!notice)
+ return FALSE;
+
+ if (disturb_state)
+ disturb(creature_ptr, FALSE, FALSE);
+ creature_ptr->update |= (PU_BONUS);
+ creature_ptr->update |= (PU_MONSTERS);
+ handle_stuff(creature_ptr);
+ return TRUE;
+}
--- /dev/null
+#pragma once
+
+#include "system/angband.h"
+
+bool set_tim_esp(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
+bool set_tim_invis(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
+bool set_tim_infra(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);