From 082560ee96037b0ac5056ce146b6b5c3ad0fe6dc Mon Sep 17 00:00:00 2001 From: Hourier Date: Fri, 12 Jun 2020 20:02:58 +0900 Subject: [PATCH] [Refactor] #40414 Separated set_status_types() from process_monster_lore() to magic-types-setter.c/h --- src/lore/magic-types-setter.c | 48 +++++++++++++++++++++++++++++++++++++++++++ src/lore/magic-types-setter.h | 1 + src/lore/monster-lore.c | 46 +---------------------------------------- 3 files changed, 50 insertions(+), 45 deletions(-) diff --git a/src/lore/magic-types-setter.c b/src/lore/magic-types-setter.c index 07b604f2d..f59312b31 100644 --- a/src/lore/magic-types-setter.c +++ b/src/lore/magic-types-setter.c @@ -335,3 +335,51 @@ void set_bolt_types(player_type *player_ptr, lore_type *lore_ptr) lore_ptr->color[lore_ptr->vn++] = TERM_SLATE; } } + +void set_status_types(lore_type *lore_ptr) +{ + if (lore_ptr->a_ability_flags1 & (RF5_SCARE)) { + lore_ptr->vp[lore_ptr->vn] = _("恐怖", "terrify"); + lore_ptr->color[lore_ptr->vn++] = TERM_SLATE; + } + + if (lore_ptr->a_ability_flags1 & (RF5_BLIND)) { + lore_ptr->vp[lore_ptr->vn] = _("目くらまし", "blind"); + lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK; + } + + if (lore_ptr->a_ability_flags1 & (RF5_CONF)) { + lore_ptr->vp[lore_ptr->vn] = _("混乱", "confuse"); + lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER; + } + + if (lore_ptr->a_ability_flags1 & (RF5_SLOW)) { + lore_ptr->vp[lore_ptr->vn] = _("減速", "slow"); + lore_ptr->color[lore_ptr->vn++] = TERM_UMBER; + } + + if (lore_ptr->a_ability_flags1 & (RF5_HOLD)) { + lore_ptr->vp[lore_ptr->vn] = _("麻痺", "paralyze"); + lore_ptr->color[lore_ptr->vn++] = TERM_RED; + } + + if (lore_ptr->a_ability_flags2 & (RF6_HASTE)) { + lore_ptr->vp[lore_ptr->vn] = _("加速", "haste-self"); + lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN; + } + + if (lore_ptr->a_ability_flags2 & (RF6_HEAL)) { + lore_ptr->vp[lore_ptr->vn] = _("治癒", "heal-self"); + lore_ptr->color[lore_ptr->vn++] = TERM_WHITE; + } + + if (lore_ptr->a_ability_flags2 & (RF6_INVULNER)) { + lore_ptr->vp[lore_ptr->vn] = _("無敵化", "make invulnerable"); + lore_ptr->color[lore_ptr->vn++] = TERM_WHITE; + } + + if (lore_ptr->flags4 & RF4_DISPEL) { + lore_ptr->vp[lore_ptr->vn] = _("魔力消去", "dispel-magic"); + lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE; + } +} diff --git a/src/lore/magic-types-setter.h b/src/lore/magic-types-setter.h index fcb5c610d..5834a9ea4 100644 --- a/src/lore/magic-types-setter.h +++ b/src/lore/magic-types-setter.h @@ -7,3 +7,4 @@ void set_breath_types(player_type *player_ptr, lore_type *lore_ptr); void set_ball_types(player_type *player_ptr, lore_type *lore_ptr); void set_particular_types(player_type *player_ptr, lore_type *lore_ptr); void set_bolt_types(player_type *player_ptr, lore_type *lore_ptr); +void set_status_types(lore_type *lore_ptr); diff --git a/src/lore/monster-lore.c b/src/lore/monster-lore.c index 5745feef3..3be2ab164 100644 --- a/src/lore/monster-lore.c +++ b/src/lore/monster-lore.c @@ -191,51 +191,7 @@ void process_monster_lore(player_type *player_ptr, MONRACE_IDX r_idx, BIT_FLAGS set_ball_types(player_ptr, lore_ptr); set_particular_types(player_ptr, lore_ptr); set_bolt_types(player_ptr, lore_ptr); - if (lore_ptr->a_ability_flags1 & (RF5_SCARE)) { - lore_ptr->vp[lore_ptr->vn] = _("恐怖", "terrify"); - lore_ptr->color[lore_ptr->vn++] = TERM_SLATE; - } - - if (lore_ptr->a_ability_flags1 & (RF5_BLIND)) { - lore_ptr->vp[lore_ptr->vn] = _("目くらまし", "blind"); - lore_ptr->color[lore_ptr->vn++] = TERM_L_DARK; - } - - if (lore_ptr->a_ability_flags1 & (RF5_CONF)) { - lore_ptr->vp[lore_ptr->vn] = _("混乱", "confuse"); - lore_ptr->color[lore_ptr->vn++] = TERM_L_UMBER; - } - - if (lore_ptr->a_ability_flags1 & (RF5_SLOW)) { - lore_ptr->vp[lore_ptr->vn] = _("減速", "slow"); - lore_ptr->color[lore_ptr->vn++] = TERM_UMBER; - } - - if (lore_ptr->a_ability_flags1 & (RF5_HOLD)) { - lore_ptr->vp[lore_ptr->vn] = _("麻痺", "paralyze"); - lore_ptr->color[lore_ptr->vn++] = TERM_RED; - } - - if (lore_ptr->a_ability_flags2 & (RF6_HASTE)) { - lore_ptr->vp[lore_ptr->vn] = _("加速", "haste-self"); - lore_ptr->color[lore_ptr->vn++] = TERM_L_GREEN; - } - - if (lore_ptr->a_ability_flags2 & (RF6_HEAL)) { - lore_ptr->vp[lore_ptr->vn] = _("治癒", "heal-self"); - lore_ptr->color[lore_ptr->vn++] = TERM_WHITE; - } - - if (lore_ptr->a_ability_flags2 & (RF6_INVULNER)) { - lore_ptr->vp[lore_ptr->vn] = _("無敵化", "make invulnerable"); - lore_ptr->color[lore_ptr->vn++] = TERM_WHITE; - } - - if (lore_ptr->flags4 & RF4_DISPEL) { - lore_ptr->vp[lore_ptr->vn] = _("魔力消去", "dispel-magic"); - lore_ptr->color[lore_ptr->vn++] = TERM_L_WHITE; - } - + set_status_types(lore_ptr); if (lore_ptr->a_ability_flags2 & (RF6_BLINK)) { lore_ptr->vp[lore_ptr->vn] = _("ショートテレポート", "blink-self"); lore_ptr->color[lore_ptr->vn++] = TERM_UMBER; -- 2.11.0