}
}
-gf_switch_result effect_monster_charm(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_charm(player_type *caster_ptr, effect_monster_type *em_ptr)
{
int vir = virtue_number(caster_ptr, V_HARMONY);
if (vir) {
effect_monster_charm_resist(caster_ptr, em_ptr);
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_control_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_control_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen)
em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_control_demon(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_control_demon(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen)
em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_control_animal(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_control_animal(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen)
em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_charm_living(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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)
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
static void effect_monster_domination_corrupted_addition(player_type *caster_ptr, effect_monster_type *em_ptr)
}
}
-gf_switch_result effect_monster_domination(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_domination(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (!is_hostile(em_ptr->m_ptr))
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
if (em_ptr->seen)
em_ptr->obvious = TRUE;
em_ptr->do_conf = 0;
effect_monster_domination_corrupted(caster_ptr, em_ptr);
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
effect_monster_domination_addition(em_ptr);
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
static bool effect_monster_crusade_domination(player_type *caster_ptr, effect_monster_type *em_ptr)
return TRUE;
}
-gf_switch_result effect_monster_crusade(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if ((em_ptr->r_ptr->flags3 & RF3_NO_FEAR) == 0)
em_ptr->r_ptr->r_flags3 |= RF3_NO_FEAR;
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
static bool effect_monster_capture_attemption(player_type *caster_ptr, effect_monster_type *em_ptr, int capturable_hp)
return TRUE;
}
-gf_switch_result effect_monster_capture(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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;
|| (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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (is_pet(em_ptr->m_ptr))
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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (effect_monster_capture_attemption(caster_ptr, em_ptr, capturable_hp))
- return GF_SWITCH_TRUE;
+ return SWITCH_TRUE;
msg_format(_("うまく捕まえられなかった。", "You failed to capture %s."), em_ptr->m_name);
em_ptr->skipped = TRUE;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
#include "system/angband.h"
#include "effect/effect-monster-util.h"
-gf_switch_result effect_monster_charm(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_control_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_control_demon(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_control_animal(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_charm_living(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_domination(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_crusade(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_capture(player_type *caster_ptr, effect_monster_type *em_ptr);
+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);
#include "monster-race/race-indice-types.h"
#include "view/display-messages.h"
-gf_switch_result effect_monster_curse_1(effect_monster_type *em_ptr)
+switch_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);
em_ptr->dam = 0;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_curse_2(effect_monster_type *em_ptr)
+switch_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);
em_ptr->dam = 0;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_curse_3(effect_monster_type *em_ptr)
+switch_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);
em_ptr->dam = 0;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_curse_4(effect_monster_type *em_ptr)
+switch_result effect_monster_curse_4(effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
if (!em_ptr->who)
em_ptr->dam = 0;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
#include "system/angband.h"
#include "effect/effect-monster-util.h"
-gf_switch_result effect_monster_curse_1(effect_monster_type *em_ptr);
-gf_switch_result effect_monster_curse_2(effect_monster_type *em_ptr);
-gf_switch_result effect_monster_curse_3(effect_monster_type *em_ptr);
-gf_switch_result effect_monster_curse_4(effect_monster_type *em_ptr);
+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);
}
-gf_switch_result effect_monster_away_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
bool resists_tele = effect_monster_away_resist(caster_ptr, em_ptr);
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_away_evil(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
bool resists_tele = effect_monster_away_resist(caster_ptr, em_ptr);
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_away_all(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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)
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_turn_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->seen) em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_turn_evil(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->seen) em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_turn_all(effect_monster_type *em_ptr)
+switch_result effect_monster_turn_all(effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_disp_undead(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("は身震いした。", " shudders.");
em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_disp_evil(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("は身震いした。", " shudders.");
em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_disp_good(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("は身震いした。", " shudders.");
em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_disp_living(effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("は身震いした。", " shudders.");
em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_disp_demon(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("は身震いした。", " shudders.");
em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_disp_all(effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
#include "system/angband.h"
#include "effect/effect-monster-util.h"
-gf_switch_result effect_monster_away_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_away_evil(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_away_all(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_turn_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_turn_evil(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_turn_all(effect_monster_type *em_ptr);
-gf_switch_result effect_monster_disp_undead(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_disp_evil(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_disp_good(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_disp_living(effect_monster_type *em_ptr);
-gf_switch_result effect_monster_disp_demon(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_disp_all(effect_monster_type *em_ptr);
+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);
#include "monster-race/race-flags3.h"
#include "monster/monster-info.h"
-gf_switch_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (!em_ptr->dam)
{
em_ptr->skipped = TRUE;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if ((em_ptr->r_ptr->flags3 & RF3_HURT_LITE) == 0)
{
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("は光に身をすくめた!", " cringes from the light!");
em_ptr->note_dies = _("は光を受けてしぼんでしまった!", " shrivels away in the light!");
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->dam *= 2;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_dark(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
#include "effect/effect-monster-util.h"
#include "system/angband.h"
-gf_switch_result effect_monster_lite_weak(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_lite(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_dark(player_type *caster_ptr, effect_monster_type *em_ptr);
+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);
#include "view/display-messages.h"
// Powerful monsters can resist.
-gf_switch_result effect_monster_old_poly(effect_monster_type *em_ptr)
+switch_result effect_monster_old_poly(effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->do_polymorph = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_old_clone(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_old_clone(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
{
em_ptr->note = _("には効果がなかった。", " is unaffected.");
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
em_ptr->m_ptr->hp = em_ptr->m_ptr->maxhp;
em_ptr->note = _("が分裂した!", " spawns!");
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_star_heal(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_star_heal(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
if (caster_ptr->riding == em_ptr->g_ptr->m_idx)
caster_ptr->redraw |= (PR_UHEALTH);
- return GF_SWITCH_FALSE;
+ return SWITCH_FALSE;
}
- return GF_SWITCH_TRUE;
+ return SWITCH_TRUE;
}
// todo サーペントのHPがマジックナンバー扱いになっている
-gf_switch_result effect_monster_old_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)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("は体力を回復したようだ。", " looks healthier.");
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_old_speed(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_old_speed(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_old_slow(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_old_slow(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("には効果がなかった。", " is unaffected.");
em_ptr->obvious = FALSE;
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
* todo 「ユニークは (魔法では)常に眠らない」はr_infoの趣旨に反すると思われる
* 眠る確率を半分にするとかしておいた方が良さそう
*/
-gf_switch_result effect_monster_old_sleep(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_old_sleep(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
* todo 「ユニークは (魔法では)常に混乱しない」はr_infoの趣旨に反すると思われる
* 眠る確率を半分にするとかしておいた方が良さそう
*/
-gf_switch_result effect_monster_old_conf(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_old_conf(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_stasis(effect_monster_type *em_ptr, bool to_evil)
+switch_result effect_monster_stasis(effect_monster_type *em_ptr, bool to_evil)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_stun(effect_monster_type *em_ptr)
+switch_result effect_monster_stun(effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
#include "system/angband.h"
#include "effect/effect-monster-util.h"
-gf_switch_result effect_monster_old_poly(effect_monster_type *em_ptr);
-gf_switch_result effect_monster_old_clone(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_star_heal(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_old_heal(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_old_speed(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_old_slow(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_old_sleep(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_old_conf(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_stasis(effect_monster_type *em_ptr, bool to_evil);
-gf_switch_result effect_monster_stun(effect_monster_type *em_ptr);
+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);
}
-gf_switch_result effect_monster_psi(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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)))
msg_format(_("%sはあなたが見えないので影響されない!", "%^s can't see you, and isn't affected!"), em_ptr->m_name);
em_ptr->skipped = TRUE;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
effect_monster_psi_resist(caster_ptr, em_ptr);
effect_monster_psi_addition(em_ptr);
em_ptr->note_dies = _("の精神は崩壊し、肉体は抜け殻となった。", " collapses, a mindless husk.");
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
}
-gf_switch_result effect_monster_psi_drain(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_psi_drain(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
}
em_ptr->note_dies = _("の精神は崩壊し、肉体は抜け殻となった。", " collapses, a mindless husk.");
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_telekinesis(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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))
em_ptr->obvious = FALSE;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
#include "system/angband.h"
#include "effect/effect-monster-util.h"
-gf_switch_result effect_monster_psi(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_psi_drain(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_telekinesis(player_type *caster_ptr, effect_monster_type *em_ptr);
+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);
#include "monster/monster-status.h"
#include "monster/monster-info.h"
-gf_switch_result effect_monster_void(effect_monster_type *em_ptr)
+switch_result effect_monster_void(effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_acid(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flagsr & RFR_IM_ACID) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_elec(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flagsr & RFR_IM_ELEC) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_fire(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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)
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flagsr |= (RFR_IM_FIRE);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
- if ((em_ptr->r_ptr->flags3 & (RF3_HURT_FIRE)) == 0) return GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flags3 & (RF3_HURT_FIRE)) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_cold(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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)
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flagsr |= (RFR_IM_COLD);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
- if ((em_ptr->r_ptr->flags3 & (RF3_HURT_COLD)) == 0) return GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flags3 & (RF3_HURT_COLD)) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_pois(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flagsr & RFR_IM_POIS) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_nuke(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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)
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flagsr |= (RFR_IM_POIS);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (one_in_(3)) em_ptr->do_polymorph = TRUE;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_hell_fire(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flags3 & RF3_GOOD) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_holy_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)
{
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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_plasma(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flagsr & RFR_RES_PLAS) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
}
-gf_switch_result effect_monster_nether(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
- if ((em_ptr->r_ptr->flags3 & RF3_EVIL) == 0) return GF_SWITCH_CONTINUE;
+ if (effect_monster_nether_resist(caster_ptr, em_ptr)) return SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flags3 & RF3_EVIL) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_water(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flagsr & RFR_RES_WATE) == 0) return SWITCH_CONTINUE;
if ((em_ptr->m_ptr->r_idx == MON_WATER_ELEM) || (em_ptr->m_ptr->r_idx == MON_UNMAKER))
{
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flagsr |= (RFR_RES_WATE);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_chaos(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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)
em_ptr->do_conf = (5 + randint1(11) + em_ptr->r) / (em_ptr->r + 1);
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_shards(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flagsr & RFR_RES_SHAR) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_rocket(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flagsr & RFR_RES_SHAR) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_sound(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
em_ptr->note = _("には耐性がある。", " resists.");
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flagsr |= (RFR_RES_SOUN);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_confusion(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
em_ptr->note = _("には耐性がある。", " resists.");
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flags3 |= (RF3_NO_CONF);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_disenchant(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flagsr & RFR_RES_DISE) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_nexus(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flagsr & RFR_RES_NEXU) == 0) return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_force(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
em_ptr->note = _("には耐性がある。", " resists.");
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flagsr |= (RFR_RES_WALL);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
// Powerful monsters can resists and normal monsters slow down.
-gf_switch_result effect_monster_inertial(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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)
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flagsr |= (RFR_RES_INER);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_time(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
em_ptr->note = _("には耐性がある。", " resists.");
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flagsr |= (RFR_RES_TIME);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
* Powerful monsters can resist and normal monsters slow down
* Furthermore, this magic can make non-unique monsters slow/stun.
*/
-gf_switch_result effect_monster_gravity(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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;
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flagsr |= (RFR_RES_GRAV);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
effect_monster_gravity_slow(caster_ptr, em_ptr);
effect_monster_gravity_stun(em_ptr);
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_disintegration(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ if ((em_ptr->r_ptr->flags3 & RF3_HURT_ROCK) == 0) return SWITCH_CONTINUE;
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->r_ptr->r_flags3 |= (RF3_HURT_ROCK);
em_ptr->note = _("の皮膚がただれた!", " loses some skin!");
em_ptr->note_dies = _("は蒸発した!", " evaporates!");
em_ptr->dam *= 2;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_icee_bolt(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_icee_bolt(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->r_ptr->r_flags3 |= (RF3_HURT_COLD);
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
#include "effect/effect-monster-util.h"
#include "system/angband.h"
-gf_switch_result effect_monster_void(effect_monster_type *em_ptr);
-gf_switch_result effect_monster_acid(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_elec(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_fire(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_cold(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_pois(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_nuke(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_hell_fire(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_holy_fire(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_plasma(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_nether(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_water(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_chaos(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_shards(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_rocket(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_sound(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_confusion(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_disenchant(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_nexus(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_force(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_inertial(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_time(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_gravity(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_disintegration(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_icee_bolt(player_type *caster_ptr, effect_monster_type *em_ptr);
+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);
#include "mspell/mspell-mask-definitions.h"
#include "view/display-messages.h"
-gf_switch_result effect_monster_drain_mana(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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;
msg_format(_("%sには効果がなかった。", "%s is unaffected."), em_ptr->m_name);
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->who <= 0)
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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->m_caster_ptr->hp >= em_ptr->m_caster_ptr->maxhp)
{
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
em_ptr->m_caster_ptr->hp += em_ptr->dam;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_mind_blast(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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);
else em_ptr->do_conf = randint0(8) + 8;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_brain_smash(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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);
(void)set_monster_slow(caster_ptr, em_ptr->g_ptr->m_idx, monster_slow_remaining(em_ptr->m_ptr) + 10);
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
#include "system/angband.h"
#include "effect/effect-monster-util.h"
-gf_switch_result effect_monster_drain_mana(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_mind_blast(player_type *caster_ptr, effect_monster_type *em_ptr);
-gf_switch_result effect_monster_brain_smash(player_type *caster_ptr, effect_monster_type *em_ptr);
+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);
#include "spell/spell-types.h"
#include "view/display-messages.h"
-gf_switch_result effect_monster_hypodynamia(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (is_original_ap_and_seen(caster_ptr, em_ptr->m_ptr))
em_ptr->note = _("には効果がなかった。", " is unaffected.");
em_ptr->obvious = FALSE;
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
// todo リファクタリング前のコード時点で、単に耐性があるだけでもダメージ0だった.
-gf_switch_result effect_monster_death_ray(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_death_ray(player_type *caster_ptr, effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("には完全な耐性がある!", " is immune.");
em_ptr->obvious = FALSE;
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (((em_ptr->r_ptr->flags1 & RF1_UNIQUE) &&
em_ptr->dam = 0;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_kill_wall(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->note = _("の皮膚がただれた!", " loses some skin!");
em_ptr->note_dies = _("はドロドロに溶けた!", " dissolves!");
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_hand_doom(effect_monster_type *em_ptr)
+switch_result effect_monster_hand_doom(effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
{
em_ptr->note = _("には効果がなかった。", " is unaffected.");
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if ((em_ptr->who > 0) ? ((em_ptr->caster_lev + randint1(em_ptr->dam)) > (em_ptr->r_ptr->level + 10 + randint1(20))) :
em_ptr->dam = 0;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_engetsu(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result effect_monster_engetsu(player_type *caster_ptr, effect_monster_type *em_ptr)
{
int effect = 0;
bool done = TRUE;
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 GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (monster_csleep_remaining(em_ptr->m_ptr))
em_ptr->note = _("には効果がなかった。", " is unaffected.");
em_ptr->dam = 0;
em_ptr->skipped = TRUE;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (one_in_(5)) effect = 1;
}
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_genocide(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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 GF_SWITCH_TRUE;
+ return SWITCH_TRUE;
}
em_ptr->skipped = TRUE;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_photo(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_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);
}
em_ptr->photo = em_ptr->m_ptr->r_idx;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
-gf_switch_result effect_monster_wounds(effect_monster_type *em_ptr)
+switch_result effect_monster_wounds(effect_monster_type *em_ptr)
{
if (em_ptr->seen) em_ptr->obvious = TRUE;
em_ptr->dam = 0;
}
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
* @param em_ptr モンスター効果構造体への参照ポインタ
* @return ここのスイッチングで終るならTRUEかFALSE、後続処理を実行するならCONTINUE
*/
-gf_switch_result switch_effects_monster(player_type *caster_ptr, effect_monster_type *em_ptr)
+switch_result switch_effects_monster(player_type *caster_ptr, effect_monster_type *em_ptr)
{
switch (em_ptr->effect_type)
{
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) == GF_SWITCH_TRUE)
- return GF_SWITCH_CONTINUE;
+ if (effect_monster_old_clone(caster_ptr, em_ptr) == SWITCH_TRUE)
+ return SWITCH_CONTINUE;
/* Fall through */
case GF_OLD_HEAL:
return effect_monster_old_heal(caster_ptr, em_ptr);
case GF_CAPTURE:
return effect_monster_capture(caster_ptr, em_ptr);
case GF_ATTACK:
- return (gf_switch_result)do_cmd_attack(caster_ptr, em_ptr->y, em_ptr->x, em_ptr->dam);
+ return (switch_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:
{
em_ptr->skipped = TRUE;
em_ptr->dam = 0;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
}
}
#include "system/angband.h"
#include "effect/effect-monster-util.h"
-gf_switch_result switch_effects_monster(player_type *caster_ptr, effect_monster_type *em_ptr);
+switch_result switch_effects_monster(player_type *caster_ptr, effect_monster_type *em_ptr);
bool see_s_msg;
} effect_monster_type;
-typedef enum gf_switch_result
-{
- GF_SWITCH_FALSE = 0,
- GF_SWITCH_TRUE = 1,
- GF_SWITCH_CONTINUE = 2,
-} gf_switch_result;
-
effect_monster_type *initialize_effect_monster(player_type *caster_ptr, effect_monster_type *em_ptr, MONSTER_IDX who, POSITION r, POSITION y, POSITION x, HIT_POINT dam, EFFECT_ID effect_type, BIT_FLAGS flag, bool see_s_msg);
* @param em_ptr モンスター効果構造体への参照ポインタ
* @return 完全耐性ならCONTINUE、そうでないなら効果処理の結果
*/
-static gf_switch_result process_monster_perfect_resistance(player_type *caster_ptr, effect_monster_type *em_ptr)
+static switch_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 ||
if (em_ptr->effect_type == GF_LITE_WEAK || em_ptr->effect_type == GF_KILL_WALL)
em_ptr->skipped = TRUE;
- return GF_SWITCH_CONTINUE;
+ return SWITCH_CONTINUE;
}
if (!is_never_effect(caster_ptr, em_ptr)) return FALSE;
decide_spell_result_description(caster_ptr, em_ptr);
- gf_switch_result result = process_monster_perfect_resistance(caster_ptr, em_ptr);
- if (result != GF_SWITCH_CONTINUE) return (bool)result;
+ switch_result result = process_monster_perfect_resistance(caster_ptr, em_ptr);
+ if (result != SWITCH_CONTINUE) return (bool)result;
if (em_ptr->skipped) return FALSE;
/* 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;
+
#endif