OSDN Git Service

[Refactor] #40466 Separated status-reseter.c/h from player-effects.c/h
authorHourier <hourier@users.sourceforge.jp>
Sat, 27 Jun 2020 08:28:45 +0000 (17:28 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sat, 27 Jun 2020 08:28:45 +0000 (17:28 +0900)
Hengband/Hengband/Hengband.vcxproj
Hengband/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/core/game-play.c
src/core/status-reseter.c [new file with mode: 0644]
src/core/status-reseter.h [new file with mode: 0644]
src/market/arena.c
src/player/player-effects.c
src/player/player-effects.h

index 5670d86..b76aef7 100644 (file)
     <ClCompile Include="..\..\src\cmd-io\macro-util.c" />\r
     <ClCompile Include="..\..\src\cmd-visual\cmd-map.c" />\r
     <ClCompile Include="..\..\src\core\asking-player.c" />\r
+    <ClCompile Include="..\..\src\core\status-reseter.c" />\r
     <ClCompile Include="..\..\src\core\visuals-reseter.c" />\r
     <ClCompile Include="..\..\src\core\window-redrawer.c" />\r
     <ClCompile Include="..\..\src\floor\fixed-map-generator.c" />\r
     <ClInclude Include="..\..\src\cmd-io\macro-util.h" />\r
     <ClInclude Include="..\..\src\cmd-visual\cmd-map.h" />\r
     <ClInclude Include="..\..\src\core\asking-player.h" />\r
+    <ClInclude Include="..\..\src\core\status-reseter.h" />\r
     <ClInclude Include="..\..\src\core\visuals-reseter.h" />\r
     <ClInclude Include="..\..\src\core\window-redrawer.h" />\r
     <ClInclude Include="..\..\src\floor\fixed-map-generator.h" />\r
index 0b51446..4ed450f 100644 (file)
     <ClCompile Include="..\..\src\player\bad-status-setter.c">
       <Filter>player</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\core\status-reseter.c">
+      <Filter>core</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\cmd\cmd-basic.h">
     <ClInclude Include="..\..\src\player\bad-status-setter.h">
       <Filter>player</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\core\status-reseter.h">
+      <Filter>core</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 12a5259..42aba03 100644 (file)
@@ -117,6 +117,7 @@ hengband_SOURCES = \
        core/show-file.c core/show-file.h \
        core/special-internal-keys.h \
        core/speed-table.c core/speed-table.h \
+       core/status-reseter.c core/status-reseter.h \
        core/stuff-handler.c core/stuff-handler.h \
        core/turn-compensator.c core/turn-compensator.h \
        core/visuals-reseter.c core/visuals-reseter.h \
index b3e232c..4db24d0 100644 (file)
@@ -21,6 +21,7 @@
 #include "core/player-processor.h"
 #include "core/scores.h"
 #include "core/speed-table.h"
+#include "core/status-reseter.h"
 #include "core/stuff-handler.h"
 #include "core/visuals-reseter.h"
 #include "core/window-redrawer.h"
diff --git a/src/core/status-reseter.c b/src/core/status-reseter.c
new file mode 100644 (file)
index 0000000..3576bbc
--- /dev/null
@@ -0,0 +1,92 @@
+#include "core/status-reseter.h"
+#include "core/speed-table.h"
+#include "monster/monster-status.h"
+#include "player/player-race.h"
+
+/*!
+ * @brief プレイヤーの全ての時限効果をリセットする。 / reset timed flags
+ * @return なし
+ */
+void reset_tim_flags(player_type *creature_ptr)
+{
+    creature_ptr->fast = 0; /* Timed -- Fast */
+    creature_ptr->lightspeed = 0;
+    creature_ptr->slow = 0; /* Timed -- Slow */
+    creature_ptr->blind = 0; /* Timed -- Blindness */
+    creature_ptr->paralyzed = 0; /* Timed -- Paralysis */
+    creature_ptr->confused = 0; /* Timed -- Confusion */
+    creature_ptr->afraid = 0; /* Timed -- Fear */
+    creature_ptr->image = 0; /* Timed -- Hallucination */
+    creature_ptr->poisoned = 0; /* Timed -- Poisoned */
+    creature_ptr->cut = 0; /* Timed -- Cut */
+    creature_ptr->stun = 0; /* Timed -- Stun */
+
+    creature_ptr->protevil = 0; /* Timed -- Protection */
+    creature_ptr->invuln = 0; /* Timed -- Invulnerable */
+    creature_ptr->ult_res = 0;
+    creature_ptr->hero = 0; /* Timed -- Heroism */
+    creature_ptr->shero = 0; /* Timed -- Super Heroism */
+    creature_ptr->shield = 0; /* Timed -- Shield Spell */
+    creature_ptr->blessed = 0; /* Timed -- Blessed */
+    creature_ptr->tim_invis = 0; /* Timed -- Invisibility */
+    creature_ptr->tim_infra = 0; /* Timed -- Infra Vision */
+    creature_ptr->tim_regen = 0; /* Timed -- Regeneration */
+    creature_ptr->tim_stealth = 0; /* Timed -- Stealth */
+    creature_ptr->tim_esp = 0;
+    creature_ptr->wraith_form = 0; /* Timed -- Wraith Form */
+    creature_ptr->tim_levitation = 0;
+    creature_ptr->tim_sh_touki = 0;
+    creature_ptr->tim_sh_fire = 0;
+    creature_ptr->tim_sh_holy = 0;
+    creature_ptr->tim_eyeeye = 0;
+    creature_ptr->magicdef = 0;
+    creature_ptr->resist_magic = 0;
+    creature_ptr->tsuyoshi = 0;
+    creature_ptr->kabenuke = 0;
+    creature_ptr->tim_res_nether = 0;
+    creature_ptr->tim_res_time = 0;
+    creature_ptr->tim_mimic = 0;
+    creature_ptr->mimic_form = 0;
+    creature_ptr->tim_reflect = 0;
+    creature_ptr->multishadow = 0;
+    creature_ptr->dustrobe = 0;
+    creature_ptr->action = ACTION_NONE;
+
+    creature_ptr->oppose_acid = 0; /* Timed -- oppose acid */
+    creature_ptr->oppose_elec = 0; /* Timed -- oppose lightning */
+    creature_ptr->oppose_fire = 0; /* Timed -- oppose heat */
+    creature_ptr->oppose_cold = 0; /* Timed -- oppose cold */
+    creature_ptr->oppose_pois = 0; /* Timed -- oppose poison */
+
+    creature_ptr->word_recall = 0;
+    creature_ptr->alter_reality = 0;
+    creature_ptr->sutemi = FALSE;
+    creature_ptr->counter = FALSE;
+    creature_ptr->ele_attack = 0;
+    creature_ptr->ele_immune = 0;
+    creature_ptr->special_attack = 0L;
+    creature_ptr->special_defense = 0L;
+
+    while (creature_ptr->energy_need < 0)
+        creature_ptr->energy_need += ENERGY_NEED();
+
+    creature_ptr->timewalk = FALSE;
+
+    if (is_specific_player_race(creature_ptr, RACE_BALROG) && (creature_ptr->lev > 44))
+        creature_ptr->oppose_fire = 1;
+    if ((creature_ptr->pclass == CLASS_NINJA) && (creature_ptr->lev > 44))
+        creature_ptr->oppose_pois = 1;
+    if (creature_ptr->pclass == CLASS_BERSERKER)
+        creature_ptr->shero = 1;
+
+    if (creature_ptr->riding) {
+        (void)set_monster_fast(creature_ptr, creature_ptr->riding, 0);
+        (void)set_monster_slow(creature_ptr, creature_ptr->riding, 0);
+        (void)set_monster_invulner(creature_ptr, creature_ptr->riding, 0, FALSE);
+    }
+
+    if (creature_ptr->pclass == CLASS_BARD) {
+        SINGING_SONG_EFFECT(creature_ptr) = 0;
+        SINGING_SONG_ID(creature_ptr) = 0;
+    }
+}
diff --git a/src/core/status-reseter.h b/src/core/status-reseter.h
new file mode 100644 (file)
index 0000000..fcaf6b5
--- /dev/null
@@ -0,0 +1,5 @@
+#pragma once
+
+#include "system/angband.h"
+
+void reset_tim_flags(player_type *creature_ptr);
index 8c1b42c..6bf6136 100644 (file)
@@ -1,6 +1,7 @@
 #include "market/arena.h"
 #include "core/asking-player.h"
 #include "core/show-file.h"
+#include "core/status-reseter.h"
 #include "core/stuff-handler.h"
 #include "dungeon/dungeon.h"
 #include "floor/floor.h"
@@ -18,7 +19,6 @@
 #include "monster-race/monster-race-hook.h"
 #include "monster/monster-list.h"
 #include "monster/monster-util.h"
-#include "player/player-effects.h"
 #include "term/screen-processor.h"
 #include "util/int-char-converter.h"
 #include "view/display-messages.h"
index a6106bf..c115f9a 100644 (file)
@@ -161,93 +161,6 @@ void set_action(player_type *creature_ptr, ACTION_IDX typ)
 }
 
 /*!
- * @brief プレイヤーの全ての時限効果をリセットする。 / reset timed flags
- * @return なし
- */
-void reset_tim_flags(player_type *creature_ptr)
-{
-    creature_ptr->fast = 0; /* Timed -- Fast */
-    creature_ptr->lightspeed = 0;
-    creature_ptr->slow = 0; /* Timed -- Slow */
-    creature_ptr->blind = 0; /* Timed -- Blindness */
-    creature_ptr->paralyzed = 0; /* Timed -- Paralysis */
-    creature_ptr->confused = 0; /* Timed -- Confusion */
-    creature_ptr->afraid = 0; /* Timed -- Fear */
-    creature_ptr->image = 0; /* Timed -- Hallucination */
-    creature_ptr->poisoned = 0; /* Timed -- Poisoned */
-    creature_ptr->cut = 0; /* Timed -- Cut */
-    creature_ptr->stun = 0; /* Timed -- Stun */
-
-    creature_ptr->protevil = 0; /* Timed -- Protection */
-    creature_ptr->invuln = 0; /* Timed -- Invulnerable */
-    creature_ptr->ult_res = 0;
-    creature_ptr->hero = 0; /* Timed -- Heroism */
-    creature_ptr->shero = 0; /* Timed -- Super Heroism */
-    creature_ptr->shield = 0; /* Timed -- Shield Spell */
-    creature_ptr->blessed = 0; /* Timed -- Blessed */
-    creature_ptr->tim_invis = 0; /* Timed -- Invisibility */
-    creature_ptr->tim_infra = 0; /* Timed -- Infra Vision */
-    creature_ptr->tim_regen = 0; /* Timed -- Regeneration */
-    creature_ptr->tim_stealth = 0; /* Timed -- Stealth */
-    creature_ptr->tim_esp = 0;
-    creature_ptr->wraith_form = 0; /* Timed -- Wraith Form */
-    creature_ptr->tim_levitation = 0;
-    creature_ptr->tim_sh_touki = 0;
-    creature_ptr->tim_sh_fire = 0;
-    creature_ptr->tim_sh_holy = 0;
-    creature_ptr->tim_eyeeye = 0;
-    creature_ptr->magicdef = 0;
-    creature_ptr->resist_magic = 0;
-    creature_ptr->tsuyoshi = 0;
-    creature_ptr->kabenuke = 0;
-    creature_ptr->tim_res_nether = 0;
-    creature_ptr->tim_res_time = 0;
-    creature_ptr->tim_mimic = 0;
-    creature_ptr->mimic_form = 0;
-    creature_ptr->tim_reflect = 0;
-    creature_ptr->multishadow = 0;
-    creature_ptr->dustrobe = 0;
-    creature_ptr->action = ACTION_NONE;
-
-    creature_ptr->oppose_acid = 0; /* Timed -- oppose acid */
-    creature_ptr->oppose_elec = 0; /* Timed -- oppose lightning */
-    creature_ptr->oppose_fire = 0; /* Timed -- oppose heat */
-    creature_ptr->oppose_cold = 0; /* Timed -- oppose cold */
-    creature_ptr->oppose_pois = 0; /* Timed -- oppose poison */
-
-    creature_ptr->word_recall = 0;
-    creature_ptr->alter_reality = 0;
-    creature_ptr->sutemi = FALSE;
-    creature_ptr->counter = FALSE;
-    creature_ptr->ele_attack = 0;
-    creature_ptr->ele_immune = 0;
-    creature_ptr->special_attack = 0L;
-    creature_ptr->special_defense = 0L;
-
-    while (creature_ptr->energy_need < 0)
-        creature_ptr->energy_need += ENERGY_NEED();
-    creature_ptr->timewalk = FALSE;
-
-    if (is_specific_player_race(creature_ptr, RACE_BALROG) && (creature_ptr->lev > 44))
-        creature_ptr->oppose_fire = 1;
-    if ((creature_ptr->pclass == CLASS_NINJA) && (creature_ptr->lev > 44))
-        creature_ptr->oppose_pois = 1;
-    if (creature_ptr->pclass == CLASS_BERSERKER)
-        creature_ptr->shero = 1;
-
-    if (creature_ptr->riding) {
-        (void)set_monster_fast(creature_ptr, creature_ptr->riding, 0);
-        (void)set_monster_slow(creature_ptr, creature_ptr->riding, 0);
-        (void)set_monster_invulner(creature_ptr, creature_ptr->riding, 0, FALSE);
-    }
-
-    if (creature_ptr->pclass == CLASS_BARD) {
-        SINGING_SONG_EFFECT(creature_ptr) = 0;
-        SINGING_SONG_ID(creature_ptr) = 0;
-    }
-}
-
-/*!
  * @brief プレイヤーに魔力消去効果を与える。
  * @return なし
  */
index 613217f..b410f1a 100644 (file)
@@ -3,7 +3,6 @@
 #include "system/angband.h"
 
 void set_action(player_type *creature_ptr, ACTION_IDX typ);
-void reset_tim_flags(player_type *creature_ptr);
 void dispel_player(player_type *creature_ptr);
 bool set_mimic(player_type *creature_ptr, TIME_EFFECT v, MIMIC_RACE_IDX p, bool do_dec);
 bool set_fast(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);