OSDN Git Service

[Refactor] #39010 Reshaped do_cmd_throw()
authorHourier <hourier@users.sourceforge.jp>
Sat, 8 Aug 2020 05:49:21 +0000 (14:49 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sat, 8 Aug 2020 05:49:21 +0000 (14:49 +0900)
21 files changed:
src/cmd-item/cmd-throw.c
src/effect/effect-monster-charm.c
src/effect/effect-monster-charm.h
src/effect/effect-monster-curse.c
src/effect/effect-monster-curse.h
src/effect/effect-monster-evil.c
src/effect/effect-monster-evil.h
src/effect/effect-monster-lite-dark.c
src/effect/effect-monster-lite-dark.h
src/effect/effect-monster-oldies.c
src/effect/effect-monster-oldies.h
src/effect/effect-monster-psi.c
src/effect/effect-monster-psi.h
src/effect/effect-monster-resist-hurt.c
src/effect/effect-monster-resist-hurt.h
src/effect/effect-monster-spirit.c
src/effect/effect-monster-spirit.h
src/effect/effect-monster-switcher.c
src/effect/effect-monster-switcher.h
src/effect/effect-monster.c
src/system/h-type.h

index 48efdb3..55d68e8 100644 (file)
@@ -67,7 +67,7 @@ static bool check_throw_boomerang(player_type *creature_ptr, it_type *it_ptr, co
         item_tester_hook = item_tester_hook_boomerang;
         *q = _("どの武器を投げますか? ", "Throw which it_ptr->item? ");
         *s = _("投げる武器がない。", "You have nothing to throw.");
-        it_ptr->o_ptr = choose_object(creature_ptr, &it_ptr->item, q, s, USE_EQUIP, 0);
+        it_ptr->o_ptr = choose_object(creature_ptr, &it_ptr->item, *q, *s, USE_EQUIP, 0);
         if (!it_ptr->o_ptr) {
             flush();
             return FALSE;
@@ -212,15 +212,15 @@ bool do_cmd_throw(player_type *creature_ptr, int mult, bool boomerang, OBJECT_ID
     if ((it_ptr->q_ptr->name1 == ART_MJOLLNIR) || (it_ptr->q_ptr->name1 == ART_AEGISFANG) || it_ptr->boomerang)
         it_ptr->return_when_thrown = TRUE;
 
-    if (it_ptr->item >= 0) {
+    if (it_ptr->item < 0) {
+        floor_item_increase(creature_ptr->current_floor_ptr, 0 - it_ptr->item, -1);
+        floor_item_optimize(creature_ptr, 0 - it_ptr->item);    
+    } else {
         inven_item_increase(creature_ptr, it_ptr->item, -1);
         if (!it_ptr->return_when_thrown)
             inven_item_describe(creature_ptr, it_ptr->item);
 
         inven_item_optimize(creature_ptr, it_ptr->item);
-    } else {
-        floor_item_increase(creature_ptr->current_floor_ptr, 0 - it_ptr->item, -1);
-        floor_item_optimize(creature_ptr, 0 - it_ptr->item);
     }
 
     if (it_ptr->item >= INVEN_RARM) {
index 23d48c5..081845f 100644 (file)
@@ -1,5 +1,6 @@
 #include "effect/effect-monster-charm.h"
 #include "dungeon/quest.h"
+#include "effect/effect-monster-util.h"
 #include "effect/spells-effect-util.h"
 #include "monster-race/monster-race-hook.h"
 #include "monster-race/monster-race.h"
@@ -42,7 +43,7 @@ static void effect_monster_charm_resist(player_type *caster_ptr, effect_monster_
     }
 }
 
-switch_result effect_monster_charm(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_charm(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
     int vir = virtue_number(caster_ptr, V_HARMONY);
     if (vir) {
@@ -59,10 +60,10 @@ switch_result effect_monster_charm(player_type *caster_ptr, effect_monster_type
 
     effect_monster_charm_resist(caster_ptr, em_ptr);
     em_ptr->dam = 0;
-    return SWITCH_CONTINUE;
+    return PROCESS_CONTINUE;
 }
 
-switch_result effect_monster_control_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_control_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
     if (em_ptr->seen)
         em_ptr->obvious = TRUE;
@@ -92,10 +93,10 @@ switch_result effect_monster_control_undead(player_type *caster_ptr, effect_mons
     }
 
     em_ptr->dam = 0;
-    return SWITCH_CONTINUE;
+    return PROCESS_CONTINUE;
 }
 
-switch_result effect_monster_control_demon(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_control_demon(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
     if (em_ptr->seen)
         em_ptr->obvious = TRUE;
@@ -125,10 +126,10 @@ switch_result effect_monster_control_demon(player_type *caster_ptr, effect_monst
     }
 
     em_ptr->dam = 0;
-    return SWITCH_CONTINUE;
+    return PROCESS_CONTINUE;
 }
 
-switch_result effect_monster_control_animal(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_control_animal(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
     if (em_ptr->seen)
         em_ptr->obvious = TRUE;
@@ -160,10 +161,10 @@ switch_result effect_monster_control_animal(player_type *caster_ptr, effect_mons
     }
 
     em_ptr->dam = 0;
-    return SWITCH_CONTINUE;
+    return PROCESS_CONTINUE;
 }
 
-switch_result effect_monster_charm_living(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_charm_living(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
     int vir = virtue_number(caster_ptr, V_UNLIFE);
     if (em_ptr->seen)
@@ -198,7 +199,7 @@ switch_result effect_monster_charm_living(player_type *caster_ptr, effect_monste
     }
 
     em_ptr->dam = 0;
-    return SWITCH_CONTINUE;
+    return PROCESS_CONTINUE;
 }
 
 static void effect_monster_domination_corrupted_addition(player_type *caster_ptr, effect_monster_type *em_ptr)
@@ -255,10 +256,10 @@ static void effect_monster_domination_addition(effect_monster_type *em_ptr)
     }
 }
 
-switch_result effect_monster_domination(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_domination(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
     if (!is_hostile(em_ptr->m_ptr))
-        return SWITCH_CONTINUE;
+        return PROCESS_CONTINUE;
 
     if (em_ptr->seen)
         em_ptr->obvious = TRUE;
@@ -271,19 +272,19 @@ switch_result effect_monster_domination(player_type *caster_ptr, effect_monster_
         em_ptr->do_conf = 0;
         effect_monster_domination_corrupted(caster_ptr, em_ptr);
         em_ptr->dam = 0;
-        return SWITCH_CONTINUE;
+        return PROCESS_CONTINUE;
     }
 
     if (!common_saving_throw_charm(caster_ptr, em_ptr->dam, em_ptr->m_ptr)) {
         em_ptr->note = _("があなたに隷属した。", " is in your thrall!");
         set_pet(caster_ptr, em_ptr->m_ptr);
         em_ptr->dam = 0;
-        return SWITCH_CONTINUE;
+        return PROCESS_CONTINUE;
     }
 
     effect_monster_domination_addition(em_ptr);
     em_ptr->dam = 0;
-    return SWITCH_CONTINUE;
+    return PROCESS_CONTINUE;
 }
 
 static bool effect_monster_crusade_domination(player_type *caster_ptr, effect_monster_type *em_ptr)
@@ -319,14 +320,14 @@ static bool effect_monster_crusade_domination(player_type *caster_ptr, effect_mo
     return TRUE;
 }
 
-switch_result effect_monster_crusade(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_crusade(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
     if (em_ptr->seen)
         em_ptr->obvious = TRUE;
     bool success = effect_monster_crusade_domination(caster_ptr, em_ptr);
     if (success) {
         em_ptr->dam = 0;
-        return SWITCH_CONTINUE;
+        return PROCESS_CONTINUE;
     }
 
     if ((em_ptr->r_ptr->flags3 & RF3_NO_FEAR) == 0)
@@ -335,7 +336,7 @@ switch_result effect_monster_crusade(player_type *caster_ptr, effect_monster_typ
         em_ptr->r_ptr->r_flags3 |= RF3_NO_FEAR;
 
     em_ptr->dam = 0;
-    return SWITCH_CONTINUE;
+    return PROCESS_CONTINUE;
 }
 
 static bool effect_monster_capture_attemption(player_type *caster_ptr, effect_monster_type *em_ptr, int capturable_hp)
@@ -359,7 +360,7 @@ static bool effect_monster_capture_attemption(player_type *caster_ptr, effect_mo
     return TRUE;
 }
 
-switch_result effect_monster_capture(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_capture(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
     floor_type *floor_ptr = caster_ptr->current_floor_ptr;
     int capturable_hp;
@@ -368,7 +369,7 @@ switch_result effect_monster_capture(player_type *caster_ptr, effect_monster_typ
         || (em_ptr->r_ptr->flags1 & RF1_QUESTOR) || em_ptr->m_ptr->parent_m_idx) {
         msg_format(_("%sには効果がなかった。", "%s is unaffected."), em_ptr->m_name);
         em_ptr->skipped = TRUE;
-        return SWITCH_CONTINUE;
+        return PROCESS_CONTINUE;
     }
 
     if (is_pet(em_ptr->m_ptr))
@@ -381,13 +382,13 @@ switch_result effect_monster_capture(player_type *caster_ptr, effect_monster_typ
     if (em_ptr->m_ptr->hp >= capturable_hp) {
         msg_format(_("もっと弱らせないと。", "You need to weaken %s more."), em_ptr->m_name);
         em_ptr->skipped = TRUE;
-        return SWITCH_CONTINUE;
+        return PROCESS_CONTINUE;
     }
 
     if (effect_monster_capture_attemption(caster_ptr, em_ptr, capturable_hp))
-        return SWITCH_TRUE;
+        return PROCESS_TRUE;
 
     msg_format(_("うまく捕まえられなかった。", "You failed to capture %s."), em_ptr->m_name);
     em_ptr->skipped = TRUE;
-    return SWITCH_CONTINUE;
+    return PROCESS_CONTINUE;
 }
index b1c143d..65b5e90 100644 (file)
@@ -1,13 +1,14 @@
 #pragma once
 
 #include "system/angband.h"
-#include "effect/effect-monster-util.h"
 
-switch_result effect_monster_charm(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_control_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_control_demon(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_control_animal(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_charm_living(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_domination(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_crusade(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_capture(player_type *caster_ptr, effect_monster_type *em_ptr);
+typedef enum process_result process_resut;
+typedef struct effect_monster_type effect_monster_type;
+process_result effect_monster_charm(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_control_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_control_demon(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_control_animal(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_charm_living(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_domination(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_crusade(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_capture(player_type *caster_ptr, effect_monster_type *em_ptr);
index 8e90714..c1ad739 100644 (file)
@@ -1,9 +1,10 @@
 #include "effect/effect-monster-curse.h"
+#include "effect/effect-monster-util.h"
 #include "monster-race/monster-race.h"
 #include "monster-race/race-indice-types.h"
 #include "view/display-messages.h"
 
-switch_result effect_monster_curse_1(effect_monster_type *em_ptr)
+process_result effect_monster_curse_1(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (!em_ptr->who) msg_format(_("%sを指差して呪いをかけた。", "You point at %s and curse."), em_ptr->m_name);
@@ -13,11 +14,11 @@ switch_result effect_monster_curse_1(effect_monster_type *em_ptr)
                em_ptr->dam = 0;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_curse_2(effect_monster_type *em_ptr)
+process_result effect_monster_curse_2(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (!em_ptr->who) msg_format(_("%sを指差して恐ろしげに呪いをかけた。", "You point at %s and curse horribly."), em_ptr->m_name);
@@ -28,11 +29,11 @@ switch_result effect_monster_curse_2(effect_monster_type *em_ptr)
                em_ptr->dam = 0;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_curse_3(effect_monster_type *em_ptr)
+process_result effect_monster_curse_3(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (!em_ptr->who) msg_format(_("%sを指差し、恐ろしげに呪文を唱えた!", "You point at %s, incanting terribly!"), em_ptr->m_name);
@@ -43,11 +44,11 @@ switch_result effect_monster_curse_3(effect_monster_type *em_ptr)
                em_ptr->dam = 0;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_curse_4(effect_monster_type *em_ptr)
+process_result effect_monster_curse_4(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (!em_ptr->who)
@@ -60,5 +61,5 @@ switch_result effect_monster_curse_4(effect_monster_type *em_ptr)
                em_ptr->dam = 0;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
index 4bea2ad..3673cbd 100644 (file)
@@ -1,9 +1,10 @@
 #pragma once
 
 #include "system/angband.h"
-#include "effect/effect-monster-util.h"
 
-switch_result effect_monster_curse_1(effect_monster_type *em_ptr);
-switch_result effect_monster_curse_2(effect_monster_type *em_ptr);
-switch_result effect_monster_curse_3(effect_monster_type *em_ptr);
-switch_result effect_monster_curse_4(effect_monster_type *em_ptr);
+typedef enum process_result process_resut;
+typedef struct effect_monster_type effect_monster_type;
+process_result effect_monster_curse_1(effect_monster_type *em_ptr);
+process_result effect_monster_curse_2(effect_monster_type *em_ptr);
+process_result effect_monster_curse_3(effect_monster_type *em_ptr);
+process_result effect_monster_curse_4(effect_monster_type *em_ptr);
index 7509383..38f8737 100644 (file)
@@ -1,4 +1,5 @@
 #include "effect/effect-monster-evil.h"
+#include "effect/effect-monster-util.h"
 #include "monster-race/monster-race-hook.h"
 #include "monster-race/monster-race.h"
 #include "monster-race/race-flags-resistance.h"
@@ -28,13 +29,13 @@ static bool effect_monster_away_resist(player_type *caster_ptr, effect_monster_t
 }
 
 
-switch_result effect_monster_away_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_away_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if ((em_ptr->r_ptr->flags3 & (RF3_UNDEAD)) == 0)
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        bool resists_tele = effect_monster_away_resist(caster_ptr, em_ptr);
@@ -48,17 +49,17 @@ switch_result effect_monster_away_undead(player_type *caster_ptr, effect_monster
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_away_evil(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_away_evil(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if ((em_ptr->r_ptr->flags3 & (RF3_EVIL)) == 0)
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        bool resists_tele = effect_monster_away_resist(caster_ptr, em_ptr);
@@ -72,11 +73,11 @@ switch_result effect_monster_away_evil(player_type *caster_ptr, effect_monster_t
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_away_all(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_away_all(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        bool resists_tele = effect_monster_away_resist(caster_ptr, em_ptr);
        if (!resists_tele)
@@ -87,17 +88,17 @@ switch_result effect_monster_away_all(player_type *caster_ptr, effect_monster_ty
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_turn_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_turn_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if ((em_ptr->r_ptr->flags3 & (RF3_UNDEAD)) == 0)
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->seen) em_ptr->obvious = TRUE;
@@ -113,17 +114,17 @@ switch_result effect_monster_turn_undead(player_type *caster_ptr, effect_monster
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_turn_evil(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_turn_evil(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if ((em_ptr->r_ptr->flags3 & (RF3_EVIL)) == 0)
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->seen) em_ptr->obvious = TRUE;
@@ -139,11 +140,11 @@ switch_result effect_monster_turn_evil(player_type *caster_ptr, effect_monster_t
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_turn_all(effect_monster_type *em_ptr)
+process_result effect_monster_turn_all(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -158,17 +159,17 @@ switch_result effect_monster_turn_all(effect_monster_type *em_ptr)
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_disp_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_disp_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if ((em_ptr->r_ptr->flags3 & (RF3_UNDEAD)) == 0)
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->seen) em_ptr->obvious = TRUE;
@@ -178,17 +179,17 @@ switch_result effect_monster_disp_undead(player_type *caster_ptr, effect_monster
 
        em_ptr->note = _("は身震いした。", " shudders.");
        em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_disp_evil(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_disp_evil(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if ((em_ptr->r_ptr->flags3 & (RF3_EVIL)) == 0)
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->seen) em_ptr->obvious = TRUE;
@@ -197,17 +198,17 @@ switch_result effect_monster_disp_evil(player_type *caster_ptr, effect_monster_t
 
        em_ptr->note = _("は身震いした。", " shudders.");
        em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_disp_good(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_disp_good(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if ((em_ptr->r_ptr->flags3 & (RF3_GOOD)) == 0)
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->seen) em_ptr->obvious = TRUE;
@@ -216,34 +217,34 @@ switch_result effect_monster_disp_good(player_type *caster_ptr, effect_monster_t
 
        em_ptr->note = _("は身震いした。", " shudders.");
        em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_disp_living(effect_monster_type *em_ptr)
+process_result effect_monster_disp_living(effect_monster_type *em_ptr)
 {
        if (!monster_living(em_ptr->m_ptr->r_idx))
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
        em_ptr->note = _("は身震いした。", " shudders.");
        em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_disp_demon(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_disp_demon(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if ((em_ptr->r_ptr->flags3 & (RF3_DEMON)) == 0)
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->seen) em_ptr->obvious = TRUE;
@@ -252,15 +253,15 @@ switch_result effect_monster_disp_demon(player_type *caster_ptr, effect_monster_
 
        em_ptr->note = _("は身震いした。", " shudders.");
        em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_disp_all(effect_monster_type *em_ptr)
+process_result effect_monster_disp_all(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
        em_ptr->note = _("は身震いした。", " shudders.");
        em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
index 9533bfb..45162d7 100644 (file)
@@ -1,17 +1,18 @@
 #pragma once
 
 #include "system/angband.h"
-#include "effect/effect-monster-util.h"
 
-switch_result effect_monster_away_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_away_evil(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_away_all(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_turn_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_turn_evil(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_turn_all(effect_monster_type *em_ptr);
-switch_result effect_monster_disp_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_disp_evil(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_disp_good(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_disp_living(effect_monster_type *em_ptr);
-switch_result effect_monster_disp_demon(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_disp_all(effect_monster_type *em_ptr);
+typedef enum process_result process_resut;
+typedef struct effect_monster_type effect_monster_type;
+process_result effect_monster_away_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_away_evil(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_away_all(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_turn_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_turn_evil(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_turn_all(effect_monster_type *em_ptr);
+process_result effect_monster_disp_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_disp_evil(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_disp_good(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_disp_living(effect_monster_type *em_ptr);
+process_result effect_monster_disp_demon(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_disp_all(effect_monster_type *em_ptr);
index 278fa51..dc1d127 100644 (file)
@@ -1,21 +1,22 @@
 #include "effect/effect-monster-lite-dark.h"
+#include "effect/effect-monster-util.h"
 #include "monster-race/monster-race.h"
 #include "monster-race/race-flags-resistance.h"
 #include "monster-race/race-flags3.h"
 #include "monster/monster-info.h"
 
-switch_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (!em_ptr->dam)
        {
                em_ptr->skipped = TRUE;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if ((em_ptr->r_ptr->flags3 & RF3_HURT_LITE) == 0)
        {
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->seen) em_ptr->obvious = TRUE;
@@ -25,11 +26,11 @@ switch_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_t
 
        em_ptr->note = _("は光に身をすくめた!", " cringes from the light!");
        em_ptr->note_dies = _("は光を受けてしぼんでしまった!", " shrivels away in the light!");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -50,21 +51,21 @@ switch_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *
                em_ptr->dam *= 2;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_dark(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_dark(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
        if ((em_ptr->r_ptr->flagsr & RFR_RES_DARK) == 0)
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
 
        em_ptr->note = _("には耐性がある!", " resists!");
        em_ptr->dam *= 2; em_ptr->dam /= (randint1(6) + 6);
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_DARK);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
index 2d19121..24c6384 100644 (file)
@@ -1,8 +1,9 @@
 #pragma once
 
-#include "effect/effect-monster-util.h"
 #include "system/angband.h"
 
-switch_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_dark(player_type *caster_ptr, effect_monster_type *em_ptr);
+typedef enum process_result process_resut;
+typedef struct effect_monster_type effect_monster_type;
+process_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_dark(player_type *caster_ptr, effect_monster_type *em_ptr);
index fba4541..2ad8e77 100644 (file)
@@ -1,5 +1,6 @@
 #include "effect/effect-monster-oldies.h"
 #include "core/player-redraw-types.h"
+#include "effect/effect-monster-util.h"
 #include "monster-race/monster-race.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags3.h"
@@ -13,7 +14,7 @@
 #include "view/display-messages.h"
 
 // Powerful monsters can resist.
-switch_result effect_monster_old_poly(effect_monster_type *em_ptr)
+process_result effect_monster_old_poly(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        em_ptr->do_polymorph = TRUE;
@@ -28,11 +29,11 @@ switch_result effect_monster_old_poly(effect_monster_type *em_ptr)
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_old_clone(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_old_clone(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -43,7 +44,7 @@ switch_result effect_monster_old_clone(player_type *caster_ptr, effect_monster_t
        {
                em_ptr->note = _("には効果がなかった。", " is unaffected.");
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        em_ptr->m_ptr->hp = em_ptr->m_ptr->maxhp;
@@ -51,11 +52,11 @@ switch_result effect_monster_old_clone(player_type *caster_ptr, effect_monster_t
                em_ptr->note = _("が分裂した!", " spawns!");
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_star_heal(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_star_heal(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -75,10 +76,10 @@ switch_result effect_monster_star_heal(player_type *caster_ptr, effect_monster_t
                if (caster_ptr->riding == em_ptr->g_ptr->m_idx)
                        caster_ptr->redraw |= (PR_UHEALTH);
 
-               return SWITCH_FALSE;
+               return PROCESS_FALSE;
        }
 
-       return SWITCH_TRUE;
+       return PROCESS_TRUE;
 }
 
 
@@ -135,7 +136,7 @@ static void effect_monster_old_heal_recovery(player_type *caster_ptr, effect_mon
 
 
 // todo サーペントのHPがマジックナンバー扱いになっている
-switch_result effect_monster_old_heal(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_old_heal(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -157,11 +158,11 @@ switch_result effect_monster_old_heal(player_type *caster_ptr, effect_monster_ty
 
        em_ptr->note = _("は体力を回復したようだ。", " looks healthier.");
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_old_speed(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_old_speed(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -179,11 +180,11 @@ switch_result effect_monster_old_speed(player_type *caster_ptr, effect_monster_t
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_old_slow(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_old_slow(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -194,14 +195,14 @@ switch_result effect_monster_old_slow(player_type *caster_ptr, effect_monster_ty
                em_ptr->note = _("には効果がなかった。", " is unaffected.");
                em_ptr->obvious = FALSE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (set_monster_slow(caster_ptr, em_ptr->g_ptr->m_idx, monster_slow_remaining(em_ptr->m_ptr) + 50))
                em_ptr->note = _("の動きが遅くなった。", " starts moving slower.");
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
@@ -209,7 +210,7 @@ switch_result effect_monster_old_slow(player_type *caster_ptr, effect_monster_ty
  * todo 「ユニークは (魔法では)常に眠らない」はr_infoの趣旨に反すると思われる
  * 眠る確率を半分にするとかしておいた方が良さそう
  */
-switch_result effect_monster_old_sleep(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_old_sleep(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -232,7 +233,7 @@ switch_result effect_monster_old_sleep(player_type *caster_ptr, effect_monster_t
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
@@ -240,7 +241,7 @@ switch_result effect_monster_old_sleep(player_type *caster_ptr, effect_monster_t
  * todo 「ユニークは (魔法では)常に混乱しない」はr_infoの趣旨に反すると思われる
  * 眠る確率を半分にするとかしておいた方が良さそう
  */
-switch_result effect_monster_old_conf(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_old_conf(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -260,11 +261,11 @@ switch_result effect_monster_old_conf(player_type *caster_ptr, effect_monster_ty
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_stasis(effect_monster_type *em_ptr, bool to_evil)
+process_result effect_monster_stasis(effect_monster_type *em_ptr, bool to_evil)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -285,11 +286,11 @@ switch_result effect_monster_stasis(effect_monster_type *em_ptr, bool to_evil)
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_stun(effect_monster_type *em_ptr)
+process_result effect_monster_stun(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -303,5 +304,5 @@ switch_result effect_monster_stun(effect_monster_type *em_ptr)
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
index 3de3c11..15f1997 100644 (file)
@@ -1,15 +1,16 @@
 #pragma once
 
 #include "system/angband.h"
-#include "effect/effect-monster-util.h"
 
-switch_result effect_monster_old_poly(effect_monster_type *em_ptr);
-switch_result effect_monster_old_clone(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_star_heal(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_old_heal(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_old_speed(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_old_slow(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_old_sleep(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_old_conf(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_stasis(effect_monster_type *em_ptr, bool to_evil);
-switch_result effect_monster_stun(effect_monster_type *em_ptr);
+typedef enum process_result process_resut;
+typedef struct effect_monster_type effect_monster_type;
+process_result effect_monster_old_poly(effect_monster_type *em_ptr);
+process_result effect_monster_old_clone(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_star_heal(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_old_heal(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_old_speed(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_old_slow(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_old_sleep(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_old_conf(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_stasis(effect_monster_type *em_ptr, bool to_evil);
+process_result effect_monster_stun(effect_monster_type *em_ptr);
index 8e0d999..3f24742 100644 (file)
@@ -1,6 +1,7 @@
 #include "effect/effect-monster-psi.h"
 #include "core/player-redraw-types.h"
 #include "core/window-redrawer.h"
+#include "effect/effect-monster-util.h"
 #include "floor/floor.h"
 #include "mind/mind-mirror-master.h"
 #include "monster-race/monster-race.h"
@@ -135,7 +136,7 @@ static void effect_monster_psi_addition(effect_monster_type *em_ptr)
 }
 
 
-switch_result effect_monster_psi(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_psi(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (!(los(caster_ptr, em_ptr->m_ptr->fy, em_ptr->m_ptr->fx, caster_ptr->y, caster_ptr->x)))
@@ -144,13 +145,13 @@ switch_result effect_monster_psi(player_type *caster_ptr, effect_monster_type *e
                        msg_format(_("%sはあなたが見えないので影響されない!", "%^s can't see you, and isn't affected!"), em_ptr->m_name);
 
                em_ptr->skipped = TRUE;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        effect_monster_psi_resist(caster_ptr, em_ptr);
        effect_monster_psi_addition(em_ptr);
        em_ptr->note_dies = _("の精神は崩壊し、肉体は抜け殻となった。", " collapses, a mindless husk.");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
@@ -217,7 +218,7 @@ static void effect_monster_psi_drain_change_power(player_type *caster_ptr, effec
 }
 
 
-switch_result effect_monster_psi_drain(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_psi_drain(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -238,11 +239,11 @@ switch_result effect_monster_psi_drain(player_type *caster_ptr, effect_monster_t
        }
 
        em_ptr->note_dies = _("の精神は崩壊し、肉体は抜け殻となった。", " collapses, a mindless husk.");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_telekinesis(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_telekinesis(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (one_in_(4))
@@ -259,5 +260,5 @@ switch_result effect_monster_telekinesis(player_type *caster_ptr, effect_monster
                em_ptr->obvious = FALSE;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
index 6693b13..7552564 100644 (file)
@@ -1,8 +1,9 @@
 #pragma once
 
 #include "system/angband.h"
-#include "effect/effect-monster-util.h"
 
-switch_result effect_monster_psi(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_psi_drain(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_telekinesis(player_type *caster_ptr, effect_monster_type *em_ptr);
+typedef enum process_result process_resut;
+typedef struct effect_monster_type effect_monster_type;
+process_result effect_monster_psi(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_psi_drain(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_telekinesis(player_type *caster_ptr, effect_monster_type *em_ptr);
index 57e210f..b5dc4c3 100644 (file)
@@ -1,4 +1,5 @@
 #include "effect/effect-monster-resist-hurt.h"
+#include "effect/effect-monster-util.h"
 #include "monster-race/monster-race.h"
 #include "monster-race/race-flags-resistance.h"
 #include "monster-race/race-flags1.h"
@@ -7,42 +8,42 @@
 #include "monster/monster-status.h"
 #include "monster/monster-info.h"
 
-switch_result effect_monster_void(effect_monster_type *em_ptr)
+process_result effect_monster_void(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
-switch_result effect_monster_acid(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_acid(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flagsr & RFR_IM_ACID) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flagsr & RFR_IM_ACID) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("にはかなり耐性がある!", " resists a lot.");
        em_ptr->dam /= 9;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_IM_ACID);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_elec(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_elec(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flagsr & RFR_IM_ELEC) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flagsr & RFR_IM_ELEC) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("にはかなり耐性がある!", " resists a lot.");
        em_ptr->dam /= 9;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_IM_ELEC);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_fire(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_fire(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (em_ptr->r_ptr->flagsr & RFR_IM_FIRE)
@@ -52,21 +53,21 @@ switch_result effect_monster_fire(player_type *caster_ptr, effect_monster_type *
                if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                        em_ptr->r_ptr->r_flagsr |= (RFR_IM_FIRE);
 
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
-       if ((em_ptr->r_ptr->flags3 & (RF3_HURT_FIRE)) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flags3 & (RF3_HURT_FIRE)) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("はひどい痛手をうけた。", " is hit hard.");
        em_ptr->dam *= 2;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flags3 |= (RF3_HURT_FIRE);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_cold(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_cold(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (em_ptr->r_ptr->flagsr & RFR_IM_COLD)
@@ -76,35 +77,35 @@ switch_result effect_monster_cold(player_type *caster_ptr, effect_monster_type *
                if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                        em_ptr->r_ptr->r_flagsr |= (RFR_IM_COLD);
 
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
-       if ((em_ptr->r_ptr->flags3 & (RF3_HURT_COLD)) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flags3 & (RF3_HURT_COLD)) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("はひどい痛手をうけた。", " is hit hard.");
        em_ptr->dam *= 2;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flags3 |= (RF3_HURT_COLD);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_pois(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_pois(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flagsr & RFR_IM_POIS) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flagsr & RFR_IM_POIS) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("にはかなり耐性がある!", " resists a lot.");
        em_ptr->dam /= 9;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_IM_POIS);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_nuke(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_nuke(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (em_ptr->r_ptr->flagsr & RFR_IM_POIS)
@@ -114,37 +115,37 @@ switch_result effect_monster_nuke(player_type *caster_ptr, effect_monster_type *
                if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                        em_ptr->r_ptr->r_flagsr |= (RFR_IM_POIS);
 
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (one_in_(3)) em_ptr->do_polymorph = TRUE;
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_hell_fire(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_hell_fire(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flags3 & RF3_GOOD) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flags3 & RF3_GOOD) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("はひどい痛手をうけた。", " is hit hard.");
        em_ptr->dam *= 2;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flags3 |= RF3_GOOD;
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_holy_fire(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_holy_fire(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if ((em_ptr->r_ptr->flags3 & RF3_EVIL) == 0)
        {
                em_ptr->note = _("には耐性がある。", " resists.");
                em_ptr->dam *= 3; em_ptr->dam /= randint1(6) + 6;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        em_ptr->dam *= 2;
@@ -152,21 +153,21 @@ switch_result effect_monster_holy_fire(player_type *caster_ptr, effect_monster_t
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flags3 |= RF3_EVIL;
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_plasma(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_plasma(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flagsr & RFR_RES_PLAS) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flagsr & RFR_RES_PLAS) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("には耐性がある。", " resists.");
        em_ptr->dam *= 3; em_ptr->dam /= randint1(6) + 6;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_PLAS);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
@@ -194,26 +195,26 @@ static bool effect_monster_nether_resist(player_type *caster_ptr, effect_monster
 }
 
 
-switch_result effect_monster_nether(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_nether(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
-       if (effect_monster_nether_resist(caster_ptr, em_ptr)) return SWITCH_CONTINUE;
-       if ((em_ptr->r_ptr->flags3 & RF3_EVIL) == 0) return SWITCH_CONTINUE;
+       if (effect_monster_nether_resist(caster_ptr, em_ptr)) return PROCESS_CONTINUE;
+       if ((em_ptr->r_ptr->flags3 & RF3_EVIL) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("はいくらか耐性を示した。", " resists somewhat.");
        em_ptr->dam /= 2;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flags3 |= (RF3_EVIL);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_water(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_water(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flagsr & RFR_RES_WATE) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flagsr & RFR_RES_WATE) == 0) return PROCESS_CONTINUE;
 
        if ((em_ptr->m_ptr->r_idx == MON_WATER_ELEM) || (em_ptr->m_ptr->r_idx == MON_UNMAKER))
        {
@@ -229,11 +230,11 @@ switch_result effect_monster_water(player_type *caster_ptr, effect_monster_type
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_WATE);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_chaos(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_chaos(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (em_ptr->r_ptr->flagsr & RFR_RES_CHAO)
@@ -256,45 +257,45 @@ switch_result effect_monster_chaos(player_type *caster_ptr, effect_monster_type
                em_ptr->do_conf = (5 + randint1(11) + em_ptr->r) / (em_ptr->r + 1);
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_shards(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_shards(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flagsr & RFR_RES_SHAR) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flagsr & RFR_RES_SHAR) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("には耐性がある。", " resists.");
        em_ptr->dam *= 3; em_ptr->dam /= randint1(6) + 6;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_SHAR);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_rocket(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_rocket(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flagsr & RFR_RES_SHAR) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flagsr & RFR_RES_SHAR) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("はいくらか耐性を示した。", " resists somewhat.");
        em_ptr->dam /= 2;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_SHAR);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_sound(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_sound(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if ((em_ptr->r_ptr->flagsr & RFR_RES_SOUN) == 0)
        {
                em_ptr->do_stun = (10 + randint1(15) + em_ptr->r) / (em_ptr->r + 1);
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        em_ptr->note = _("には耐性がある。", " resists.");
@@ -302,17 +303,17 @@ switch_result effect_monster_sound(player_type *caster_ptr, effect_monster_type
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_SOUN);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_confusion(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_confusion(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if ((em_ptr->r_ptr->flags3 & RF3_NO_CONF) == 0)
        {
                em_ptr->do_conf = (10 + randint1(15) + em_ptr->r) / (em_ptr->r + 1);
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        em_ptr->note = _("には耐性がある。", " resists.");
@@ -320,45 +321,45 @@ switch_result effect_monster_confusion(player_type *caster_ptr, effect_monster_t
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flags3 |= (RF3_NO_CONF);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_disenchant(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_disenchant(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flagsr & RFR_RES_DISE) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flagsr & RFR_RES_DISE) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("には耐性がある。", " resists.");
        em_ptr->dam *= 3; em_ptr->dam /= randint1(6) + 6;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_DISE);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_nexus(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_nexus(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flagsr & RFR_RES_NEXU) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flagsr & RFR_RES_NEXU) == 0) return PROCESS_CONTINUE;
 
        em_ptr->note = _("には耐性がある。", " resists.");
        em_ptr->dam *= 3; em_ptr->dam /= randint1(6) + 6;
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_NEXU);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_force(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_force(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if ((em_ptr->r_ptr->flagsr & RFR_RES_WALL) == 0)
        {
                em_ptr->do_stun = (randint1(15) + em_ptr->r) / (em_ptr->r + 1);
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        em_ptr->note = _("には耐性がある。", " resists.");
@@ -366,12 +367,12 @@ switch_result effect_monster_force(player_type *caster_ptr, effect_monster_type
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_WALL);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
 // Powerful monsters can resists and normal monsters slow down.
-switch_result effect_monster_inertial(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_inertial(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (em_ptr->r_ptr->flagsr & RFR_RES_INER)
@@ -381,30 +382,30 @@ switch_result effect_monster_inertial(player_type *caster_ptr, effect_monster_ty
                if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                        em_ptr->r_ptr->r_flagsr |= (RFR_RES_INER);
 
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if ((em_ptr->r_ptr->flags1 & (RF1_UNIQUE)) ||
                (em_ptr->r_ptr->level > randint1((em_ptr->dam - 10) < 1 ? 1 : (em_ptr->dam - 10)) + 10))
        {
                em_ptr->obvious = FALSE;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (set_monster_slow(caster_ptr, em_ptr->g_ptr->m_idx, monster_slow_remaining(em_ptr->m_ptr) + 50))
                em_ptr->note = _("の動きが遅くなった。", " starts moving slower.");
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_time(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_time(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if ((em_ptr->r_ptr->flagsr & RFR_RES_TIME) == 0)
        {
                em_ptr->do_time = (em_ptr->dam + 1) / 2;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        em_ptr->note = _("には耐性がある。", " resists.");
@@ -412,7 +413,7 @@ switch_result effect_monster_time(player_type *caster_ptr, effect_monster_type *
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flagsr |= (RFR_RES_TIME);
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
@@ -469,7 +470,7 @@ static void effect_monster_gravity_stun(effect_monster_type *em_ptr)
  * Powerful monsters can resist and normal monsters slow down
  * Furthermore, this magic can make non-unique monsters slow/stun.
  */
-switch_result effect_monster_gravity(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_gravity(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        em_ptr->do_dist = effect_monster_gravity_resist_teleport(caster_ptr, em_ptr) ? 0 : 10;
        if (caster_ptr->riding && (em_ptr->g_ptr->m_idx == caster_ptr->riding)) em_ptr->do_dist = 0;
@@ -482,19 +483,19 @@ switch_result effect_monster_gravity(player_type *caster_ptr, effect_monster_typ
                if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                        em_ptr->r_ptr->r_flagsr |= (RFR_RES_GRAV);
 
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        effect_monster_gravity_slow(caster_ptr, em_ptr);
        effect_monster_gravity_stun(em_ptr);
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_disintegration(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_disintegration(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
-       if ((em_ptr->r_ptr->flags3 & RF3_HURT_ROCK) == 0) return SWITCH_CONTINUE;
+       if ((em_ptr->r_ptr->flags3 & RF3_HURT_ROCK) == 0) return PROCESS_CONTINUE;
 
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
                em_ptr->r_ptr->r_flags3 |= (RF3_HURT_ROCK);
@@ -502,10 +503,10 @@ switch_result effect_monster_disintegration(player_type *caster_ptr, effect_mons
        em_ptr->note = _("の皮膚がただれた!", " loses some skin!");
        em_ptr->note_dies = _("は蒸発した!", " evaporates!");
        em_ptr->dam *= 2;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
-switch_result effect_monster_icee_bolt(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_icee_bolt(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -525,5 +526,5 @@ switch_result effect_monster_icee_bolt(player_type *caster_ptr, effect_monster_t
                        em_ptr->r_ptr->r_flags3 |= (RF3_HURT_COLD);
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
index 6808626..a36309f 100644 (file)
@@ -1,30 +1,31 @@
 #pragma once
 
-#include "effect/effect-monster-util.h"
 #include "system/angband.h"
 
-switch_result effect_monster_void(effect_monster_type *em_ptr);
-switch_result effect_monster_acid(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_elec(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_fire(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_cold(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_pois(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_nuke(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_hell_fire(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_holy_fire(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_plasma(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_nether(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_water(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_chaos(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_shards(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_rocket(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_sound(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_confusion(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_disenchant(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_nexus(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_force(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_inertial(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_time(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_gravity(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_disintegration(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_icee_bolt(player_type *caster_ptr, effect_monster_type *em_ptr);
+typedef enum process_result process_resut;
+typedef struct effect_monster_type effect_monster_type;
+process_result effect_monster_void(effect_monster_type *em_ptr);
+process_result effect_monster_acid(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_elec(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_fire(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_cold(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_pois(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_nuke(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_hell_fire(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_holy_fire(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_plasma(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_nether(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_water(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_chaos(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_shards(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_rocket(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_sound(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_confusion(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_disenchant(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_nexus(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_force(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_inertial(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_time(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_gravity(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_disintegration(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_icee_bolt(player_type *caster_ptr, effect_monster_type *em_ptr);
index 2beb962..48e8575 100644 (file)
@@ -1,6 +1,7 @@
 #include "effect/effect-monster-spirit.h"
 #include "core/hp-mp-processor.h"
 #include "core/player-redraw-types.h"
+#include "effect/effect-monster-util.h"
 #include "monster-race/monster-race.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags2.h"
@@ -14,7 +15,7 @@
 #include "mspell/mspell-mask-definitions.h"
 #include "view/display-messages.h"
 
-switch_result effect_monster_drain_mana(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_drain_mana(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        bool has_mana = ((em_ptr->r_ptr->flags4 & ~(RF4_NOMAGIC_MASK))) != 0;
@@ -26,7 +27,7 @@ switch_result effect_monster_drain_mana(player_type *caster_ptr, effect_monster_
                        msg_format(_("%sには効果がなかった。", "%s is unaffected."), em_ptr->m_name);
 
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->who <= 0)
@@ -34,13 +35,13 @@ switch_result effect_monster_drain_mana(player_type *caster_ptr, effect_monster_
                msg_format(_("%sから精神エネルギーを吸いとった。", "You draw psychic energy from %s."), em_ptr->m_name);
                (void)hp_player(caster_ptr, em_ptr->dam);
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->m_caster_ptr->hp >= em_ptr->m_caster_ptr->maxhp)
        {
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        em_ptr->m_caster_ptr->hp += em_ptr->dam;
@@ -60,11 +61,11 @@ switch_result effect_monster_drain_mana(player_type *caster_ptr, effect_monster_
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_mind_blast(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_mind_blast(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (!em_ptr->who) msg_format(_("%sをじっと睨んだ。", "You gaze intently at %s."), em_ptr->m_name);
@@ -102,11 +103,11 @@ switch_result effect_monster_mind_blast(player_type *caster_ptr, effect_monster_
                else em_ptr->do_conf = randint0(8) + 8;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_brain_smash(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_brain_smash(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (!em_ptr->who) msg_format(_("%sをじっと睨んだ。", "You gaze intently at %s."), em_ptr->m_name);
@@ -158,5 +159,5 @@ switch_result effect_monster_brain_smash(player_type *caster_ptr, effect_monster
                (void)set_monster_slow(caster_ptr, em_ptr->g_ptr->m_idx, monster_slow_remaining(em_ptr->m_ptr) + 10);
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
index df961f1..3c724c0 100644 (file)
@@ -1,8 +1,9 @@
 #pragma once
 
 #include "system/angband.h"
-#include "effect/effect-monster-util.h"
 
-switch_result effect_monster_drain_mana(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_mind_blast(player_type *caster_ptr, effect_monster_type *em_ptr);
-switch_result effect_monster_brain_smash(player_type *caster_ptr, effect_monster_type *em_ptr);
+typedef enum process_result process_resut;
+typedef struct effect_monster_type effect_monster_type;
+process_result effect_monster_drain_mana(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_mind_blast(player_type *caster_ptr, effect_monster_type *em_ptr);
+process_result effect_monster_brain_smash(player_type *caster_ptr, effect_monster_type *em_ptr);
index 222547c..60d7138 100644 (file)
@@ -16,6 +16,7 @@
 #include "effect/effect-monster-psi.h"
 #include "effect/effect-monster-resist-hurt.h"
 #include "effect/effect-monster-spirit.h"
+#include "effect/effect-monster-util.h"
 #include "monster-race/monster-race.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags2.h"
 #include "spell/spell-types.h"
 #include "view/display-messages.h"
 
-switch_result effect_monster_hypodynamia(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_hypodynamia(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
        if (monster_living(em_ptr->m_ptr->r_idx))
        {
                em_ptr->do_time = (em_ptr->dam + 7) / 8;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
@@ -50,12 +51,12 @@ switch_result effect_monster_hypodynamia(player_type *caster_ptr, effect_monster
        em_ptr->note = _("には効果がなかった。", " is unaffected.");
        em_ptr->obvious = FALSE;
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
 // todo リファクタリング前のコード時点で、単に耐性があるだけでもダメージ0だった.
-switch_result effect_monster_death_ray(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_death_ray(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -71,7 +72,7 @@ switch_result effect_monster_death_ray(player_type *caster_ptr, effect_monster_t
                em_ptr->note = _("には完全な耐性がある!", " is immune.");
                em_ptr->obvious = FALSE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (((em_ptr->r_ptr->flags1 & RF1_UNIQUE) &&
@@ -84,16 +85,16 @@ switch_result effect_monster_death_ray(player_type *caster_ptr, effect_monster_t
                em_ptr->dam = 0;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_kill_wall(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_kill_wall(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if ((em_ptr->r_ptr->flags3 & (RF3_HURT_ROCK)) == 0)
        {
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (em_ptr->seen) em_ptr->obvious = TRUE;
@@ -102,11 +103,11 @@ switch_result effect_monster_kill_wall(player_type *caster_ptr, effect_monster_t
 
        em_ptr->note = _("の皮膚がただれた!", " loses some skin!");
        em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_hand_doom(effect_monster_type *em_ptr)
+process_result effect_monster_hand_doom(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -114,7 +115,7 @@ switch_result effect_monster_hand_doom(effect_monster_type *em_ptr)
        {
                em_ptr->note = _("には効果がなかった。", " is unaffected.");
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if ((em_ptr->who > 0) ? ((em_ptr->caster_lev + randint1(em_ptr->dam)) > (em_ptr->r_ptr->level + 10 + randint1(20))) :
@@ -130,11 +131,11 @@ switch_result effect_monster_hand_doom(effect_monster_type *em_ptr)
                em_ptr->dam = 0;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_engetsu(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_engetsu(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        int effect = 0;
        bool done = TRUE;
@@ -146,7 +147,7 @@ switch_result effect_monster_engetsu(player_type *caster_ptr, effect_monster_typ
                em_ptr->dam = 0;
                em_ptr->skipped = TRUE;
                if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr)) em_ptr->r_ptr->r_flags2 |= (RF2_EMPTY_MIND);
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (monster_csleep_remaining(em_ptr->m_ptr))
@@ -154,7 +155,7 @@ switch_result effect_monster_engetsu(player_type *caster_ptr, effect_monster_typ
                em_ptr->note = _("には効果がなかった。", " is unaffected.");
                em_ptr->dam = 0;
                em_ptr->skipped = TRUE;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
 
        if (one_in_(5)) effect = 1;
@@ -217,26 +218,26 @@ switch_result effect_monster_engetsu(player_type *caster_ptr, effect_monster_typ
        }
 
        em_ptr->dam = 0;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_genocide(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_genocide(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
        if (genocide_aux(caster_ptr, em_ptr->g_ptr->m_idx, em_ptr->dam, !em_ptr->who, (em_ptr->r_ptr->level + 1) / 2, _("モンスター消滅", "Genocide One")))
        {
                if (em_ptr->seen_msg) msg_format(_("%sは消滅した!", "%^s disappeared!"), em_ptr->m_name);
                chg_virtue(caster_ptr, V_VITALITY, -1);
-               return SWITCH_TRUE;
+               return PROCESS_TRUE;
        }
 
        em_ptr->skipped = TRUE;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_photo(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result effect_monster_photo(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (!em_ptr->who)
                msg_format(_("%sを写真に撮った。", "You take a photograph of %s."), em_ptr->m_name);
@@ -256,11 +257,11 @@ switch_result effect_monster_photo(player_type *caster_ptr, effect_monster_type
        }
 
        em_ptr->photo = em_ptr->m_ptr->r_idx;
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
-switch_result effect_monster_wounds(effect_monster_type *em_ptr)
+process_result effect_monster_wounds(effect_monster_type *em_ptr)
 {
        if (em_ptr->seen) em_ptr->obvious = TRUE;
 
@@ -270,7 +271,7 @@ switch_result effect_monster_wounds(effect_monster_type *em_ptr)
                em_ptr->dam = 0;
        }
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
@@ -279,7 +280,7 @@ switch_result effect_monster_wounds(effect_monster_type *em_ptr)
  * @param em_ptr モンスター効果構造体への参照ポインタ
  * @return ここのスイッチングで終るならTRUEかFALSE、後続処理を実行するならCONTINUE
  */
-switch_result switch_effects_monster(player_type *caster_ptr, effect_monster_type *em_ptr)
+process_result switch_effects_monster(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        switch (em_ptr->effect_type)
        {
@@ -357,8 +358,8 @@ switch_result switch_effects_monster(player_type *caster_ptr, effect_monster_typ
        case GF_OLD_CLONE:
                return effect_monster_old_clone(caster_ptr, em_ptr);
        case GF_STAR_HEAL:
-               if (effect_monster_old_clone(caster_ptr, em_ptr) == SWITCH_TRUE)
-                       return SWITCH_CONTINUE;
+               if (effect_monster_old_clone(caster_ptr, em_ptr) == PROCESS_TRUE)
+                       return PROCESS_CONTINUE;
        /* Fall through */
        case GF_OLD_HEAL:
                return effect_monster_old_heal(caster_ptr, em_ptr);
@@ -437,7 +438,7 @@ switch_result switch_effects_monster(player_type *caster_ptr, effect_monster_typ
        case GF_CAPTURE:
                return effect_monster_capture(caster_ptr, em_ptr);
        case GF_ATTACK:
-               return (switch_result)do_cmd_attack(caster_ptr, em_ptr->y, em_ptr->x, em_ptr->dam);
+               return (process_result)do_cmd_attack(caster_ptr, em_ptr->y, em_ptr->x, em_ptr->dam);
        case GF_ENGETSU:
                return effect_monster_engetsu(caster_ptr, em_ptr);
        case GF_GENOCIDE:
@@ -452,7 +453,7 @@ switch_result switch_effects_monster(player_type *caster_ptr, effect_monster_typ
        {
                em_ptr->skipped = TRUE;
                em_ptr->dam = 0;
-               return SWITCH_CONTINUE;
+               return PROCESS_CONTINUE;
        }
        }
 }
index ab0303c..740b36e 100644 (file)
@@ -1,6 +1,7 @@
 #pragma once
 
 #include "system/angband.h"
-#include "effect/effect-monster-util.h"
 
-switch_result switch_effects_monster(player_type *caster_ptr, effect_monster_type *em_ptr);
+typedef enum process_result process_resut;
+typedef struct effect_monster_type effect_monster_type;
+process_result switch_effects_monster(player_type *caster_ptr, effect_monster_type *em_ptr);
index a1165ef..4a1088b 100644 (file)
@@ -90,7 +90,7 @@ static void decide_spell_result_description(player_type *caster_ptr, effect_mons
  * @param em_ptr モンスター効果構造体への参照ポインタ
  * @return 完全耐性ならCONTINUE、そうでないなら効果処理の結果
  */
-static switch_result process_monster_perfect_resistance(player_type *caster_ptr, effect_monster_type *em_ptr)
+static process_result process_monster_perfect_resistance(player_type *caster_ptr, effect_monster_type *em_ptr)
 {
        if (((em_ptr->r_ptr->flagsr & RFR_RES_ALL) == 0) ||
                em_ptr->effect_type == GF_OLD_CLONE ||
@@ -109,7 +109,7 @@ static switch_result process_monster_perfect_resistance(player_type *caster_ptr,
        if (em_ptr->effect_type == GF_LITE_WEAK || em_ptr->effect_type == GF_KILL_WALL)
                em_ptr->skipped = TRUE;
 
-       return SWITCH_CONTINUE;
+       return PROCESS_CONTINUE;
 }
 
 
@@ -592,8 +592,8 @@ bool affect_monster(player_type *caster_ptr, MONSTER_IDX who, POSITION r, POSITI
        if (!is_never_effect(caster_ptr, em_ptr)) return FALSE;
 
        decide_spell_result_description(caster_ptr, em_ptr);
-       switch_result result = process_monster_perfect_resistance(caster_ptr, em_ptr);
-       if (result != SWITCH_CONTINUE) return (bool)result;
+       process_result result = process_monster_perfect_resistance(caster_ptr, em_ptr);
+       if (result != PROCESS_CONTINUE) return (bool)result;
 
        if (em_ptr->skipped) return FALSE;
 
index f942df4..d380037 100644 (file)
@@ -247,10 +247,10 @@ typedef uint      (*func_hsh)(vptr, uint);
 /* A key extractor takes a thing and returns (a pointer to) some key */
 typedef vptr   (*func_key)(vptr);
 
-typedef enum switch_result {
-    SWITCH_FALSE = 0,
-    SWITCH_TRUE = 1,
-    SWITCH_CONTINUE = 2,
-} switch_result;
+typedef enum process_result {
+    PROCESS_FALSE = 0,
+    PROCESS_TRUE = 1,
+    PROCESS_CONTINUE = 2,
+} process_result;
 
 #endif