From d628d768f42efb44f1c7b02baae6b2574b44a298 Mon Sep 17 00:00:00 2001 From: Deskull Date: Sat, 1 Sep 2018 19:17:11 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#37783=20(2.2.1.5)=20=E3=80=8C?= =?utf8?q?=E9=AD=85=E4=BA=86=E3=80=8D=E3=81=A8=E3=80=8C=E6=94=AF=E9=85=8D?= =?utf8?q?=E3=80=8D=E5=87=A6=E7=90=86=E3=81=AE=E5=88=86=E5=8C=96=E4=BD=9C?= =?utf8?q?=E6=A5=AD=E4=B8=AD=E3=80=82=20/=20Differentiating=20"charm"=20an?= =?utf8?q?d=20"control".?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/artifact.c | 4 +-- src/cmd5.c | 5 ++-- src/defines.h | 90 +++++++++++++++++++++++++++++----------------------------- src/files.c | 90 +++++++++++++++++++++++++++++----------------------------- src/racial.c | 4 +-- src/spells1.c | 37 ++++++++++++++++++++---- src/spells2.c | 2 +- src/wizard1.c | 11 ++++--- 8 files changed, 136 insertions(+), 107 deletions(-) diff --git a/src/artifact.c b/src/artifact.c index 54b6c7a01..ae01c1edd 100644 --- a/src/artifact.c +++ b/src/artifact.c @@ -2688,14 +2688,14 @@ bool activate_random_artifact(object_type *o_ptr) case ACT_CHARM_ANIMAL: { if (!get_aim_dir(&dir)) return FALSE; - (void)charm_animal(dir, plev * 2); + (void)charm_animal(dir, plev); break; } case ACT_CHARM_UNDEAD: { if (!get_aim_dir(&dir)) return FALSE; - (void)control_one_undead(dir, plev * 2); + (void)control_one_undead(dir, plev); break; } diff --git a/src/cmd5.c b/src/cmd5.c index 42c837fc8..dafb9dc5b 100644 --- a/src/cmd5.c +++ b/src/cmd5.c @@ -1177,9 +1177,8 @@ void do_cmd_cast(void) /* Ask for a spell */ #ifdef JP - if (!get_spell(&spell, - ((mp_ptr->spell_book == TV_LIFE_BOOK) ? "詠唱する" : (mp_ptr->spell_book == TV_MUSIC_BOOK) ? "歌う" : "唱える"), - sval, TRUE, realm)) + if (!get_spell(&spell, ((mp_ptr->spell_book == TV_LIFE_BOOK) ? "詠唱する" : (mp_ptr->spell_book == TV_MUSIC_BOOK) ? "歌う" : "唱える"), + sval, TRUE, realm)) { if (spell == -2) msg_format("その本には知っている%sがない。", prayer); return; diff --git a/src/defines.h b/src/defines.h index 63c1987a1..811bd72ad 100644 --- a/src/defines.h +++ b/src/defines.h @@ -3017,53 +3017,53 @@ #define GF_DISP_EVIL 68 /*!< 魔法効果: 邪悪退散*/ #define GF_DISP_ALL 69 /*!< 魔法効果: モンスター退散*/ /* New types for Zangband begin here... */ -#define GF_DISP_DEMON 70 /*!< 魔法効果: 悪魔退散*/ -#define GF_DISP_LIVING 71 /*!< 魔法効果: 生命退散*/ -#define GF_ROCKET 72 /*!< 魔法効果: ロケット*/ -#define GF_NUKE 73 /*!< 魔法効果: 放射性廃棄物*/ -#define GF_MAKE_GLYPH 74 /*!< 魔法効果: 守りのルーン生成*/ -#define GF_STASIS 75 /*!< 魔法効果: モンスター拘束*/ -#define GF_STONE_WALL 76 /*!< 魔法効果: 壁生成*/ -#define GF_DEATH_RAY 77 /*!< 魔法効果: 死の光線*/ -#define GF_STUN 78 /*!< 魔法効果: 朦朧*/ -#define GF_HOLY_FIRE 79 /*!< 魔法効果: 聖光*/ -#define GF_HELL_FIRE 80 /*!< 魔法効果: 地獄の劫火*/ -#define GF_DISINTEGRATE 81 /*!< 魔法効果: 分解*/ -#define GF_CHARM 82 /*!< 魔法効果: 魅了*/ +#define GF_DISP_DEMON 70 /*!< 魔法効果: 悪魔退散*/ +#define GF_DISP_LIVING 71 /*!< 魔法効果: 生命退散*/ +#define GF_ROCKET 72 /*!< 魔法効果: ロケット*/ +#define GF_NUKE 73 /*!< 魔法効果: 放射性廃棄物*/ +#define GF_MAKE_GLYPH 74 /*!< 魔法効果: 守りのルーン生成*/ +#define GF_STASIS 75 /*!< 魔法効果: モンスター拘束*/ +#define GF_STONE_WALL 76 /*!< 魔法効果: 壁生成*/ +#define GF_DEATH_RAY 77 /*!< 魔法効果: 死の光線*/ +#define GF_STUN 78 /*!< 魔法効果: 朦朧*/ +#define GF_HOLY_FIRE 79 /*!< 魔法効果: 聖光*/ +#define GF_HELL_FIRE 80 /*!< 魔法効果: 地獄の劫火*/ +#define GF_DISINTEGRATE 81 /*!< 魔法効果: 分解*/ +#define GF_CHARM 82 /*!< 魔法効果: モンスター魅了*/ #define GF_CONTROL_UNDEAD 83 /*!< 魔法効果: アンデッド支配*/ #define GF_CONTROL_ANIMAL 84 /*!< 魔法効果: 動物支配*/ -#define GF_PSI 85 /*!< 魔法効果: サイキック攻撃*/ -#define GF_PSI_DRAIN 86 /*!< 魔法効果: 精神吸収*/ -#define GF_TELEKINESIS 87 /*!< 魔法効果: テレキシネス*/ -#define GF_JAM_DOOR 88 /*!< 魔法効果: 施錠*/ -#define GF_DOMINATION 89 /*!< 魔法効果: 精神支配*/ -#define GF_DISP_GOOD 90 /*!< 魔法効果: 善良退散*/ -#define GF_DRAIN_MANA 91 /*!< 魔法効果: 魔力吸収*/ -#define GF_MIND_BLAST 92 /*!< 魔法効果: 精神攻撃*/ -#define GF_BRAIN_SMASH 93 /*!< 魔法効果: 脳攻撃*/ -#define GF_CAUSE_1 94 /*!< 魔法効果: 軽傷の呪い*/ -#define GF_CAUSE_2 95 /*!< 魔法効果: 重傷の呪い*/ -#define GF_CAUSE_3 96 /*!< 魔法効果: 致命傷の呪い*/ -#define GF_CAUSE_4 97 /*!< 魔法効果: 秘孔を突く*/ -#define GF_HAND_DOOM 98 /*!< 魔法効果: 破滅の手*/ -#define GF_CAPTURE 99 /*!< 魔法効果: 捕縛*/ -#define GF_ANIM_DEAD 100 /*!< 魔法効果: 死者復活*/ -#define GF_CONTROL_LIVING 101 /*!< 魔法効果: 生命支配*/ -#define GF_IDENTIFY 102 /*!< 魔法効果: 鑑定*/ -#define GF_ATTACK 103 /*!< 魔法効果: 白兵*/ -#define GF_ENGETSU 104 /*!< 魔法効果: 円月*/ -#define GF_GENOCIDE 105 /*!< 魔法効果: 抹殺*/ -#define GF_PHOTO 106 /*!< 魔法効果: 撮影*/ -#define GF_CONTROL_DEMON 107 /*!< 魔法効果: 悪魔支配*/ -#define GF_LAVA_FLOW 108 /*!< 魔法効果: 溶岩噴出*/ -#define GF_BLOOD_CURSE 109 /*!< 魔法効果: 血の呪い*/ -#define GF_SEEKER 110 /*!< 魔法効果: シーカーレイ*/ -#define GF_SUPER_RAY 111 /*!< 魔法効果: スーパーレイ*/ -#define GF_STAR_HEAL 112 /*!< 魔法効果: 星の癒し*/ -#define GF_WATER_FLOW 113 /*!< 魔法効果: 流水*/ -#define GF_CRUSADE 114 /*!< 魔法効果: 聖戦*/ -#define GF_STASIS_EVIL 115 /*!< 魔法効果: 邪悪拘束*/ -#define GF_WOUNDS 116 /*!< 魔法効果: 創傷*/ +#define GF_PSI 85 /*!< 魔法効果: サイキック攻撃*/ +#define GF_PSI_DRAIN 86 /*!< 魔法効果: 精神吸収*/ +#define GF_TELEKINESIS 87 /*!< 魔法効果: テレキシネス*/ +#define GF_JAM_DOOR 88 /*!< 魔法効果: 施錠*/ +#define GF_DOMINATION 89 /*!< 魔法効果: 精神支配*/ +#define GF_DISP_GOOD 90 /*!< 魔法効果: 善良退散*/ +#define GF_DRAIN_MANA 91 /*!< 魔法効果: 魔力吸収*/ +#define GF_MIND_BLAST 92 /*!< 魔法効果: 精神攻撃*/ +#define GF_BRAIN_SMASH 93 /*!< 魔法効果: 脳攻撃*/ +#define GF_CAUSE_1 94 /*!< 魔法効果: 軽傷の呪い*/ +#define GF_CAUSE_2 95 /*!< 魔法効果: 重傷の呪い*/ +#define GF_CAUSE_3 96 /*!< 魔法効果: 致命傷の呪い*/ +#define GF_CAUSE_4 97 /*!< 魔法効果: 秘孔を突く*/ +#define GF_HAND_DOOM 98 /*!< 魔法効果: 破滅の手*/ +#define GF_CAPTURE 99 /*!< 魔法効果: 捕縛*/ +#define GF_ANIM_DEAD 100 /*!< 魔法効果: 死者復活*/ +#define GF_CHARM_LIVING 101 /*!< 魔法効果: 生命魅了*/ +#define GF_IDENTIFY 102 /*!< 魔法効果: 鑑定*/ +#define GF_ATTACK 103 /*!< 魔法効果: 白兵*/ +#define GF_ENGETSU 104 /*!< 魔法効果: 円月*/ +#define GF_GENOCIDE 105 /*!< 魔法効果: 抹殺*/ +#define GF_PHOTO 106 /*!< 魔法効果: 撮影*/ +#define GF_CONTROL_DEMON 107 /*!< 魔法効果: 悪魔支配*/ +#define GF_LAVA_FLOW 108 /*!< 魔法効果: 溶岩噴出*/ +#define GF_BLOOD_CURSE 109 /*!< 魔法効果: 血の呪い*/ +#define GF_SEEKER 110 /*!< 魔法効果: シーカーレイ*/ +#define GF_SUPER_RAY 111 /*!< 魔法効果: スーパーレイ*/ +#define GF_STAR_HEAL 112 /*!< 魔法効果: 星の癒し*/ +#define GF_WATER_FLOW 113 /*!< 魔法効果: 流水*/ +#define GF_CRUSADE 114 /*!< 魔法効果: 聖戦*/ +#define GF_STASIS_EVIL 115 /*!< 魔法効果: 邪悪拘束*/ +#define GF_WOUNDS 116 /*!< 魔法効果: 創傷*/ #define MAX_GF 117 diff --git a/src/files.c b/src/files.c index 0e17ede57..8e571dd52 100644 --- a/src/files.c +++ b/src/files.c @@ -202,27 +202,27 @@ static named_num gf_desc[] = {"GF_ACID", GF_ACID }, {"GF_COLD", GF_COLD }, {"GF_FIRE", GF_FIRE }, - {"GF_PSY_SPEAR", GF_PSY_SPEAR }, + {"GF_PSY_SPEAR", GF_PSY_SPEAR }, {"GF_MISSILE", GF_MISSILE }, - {"GF_ARROW", GF_ARROW }, + {"GF_ARROW", GF_ARROW }, {"GF_PLASMA", GF_PLASMA }, - {"GF_WATER", GF_WATER }, + {"GF_WATER", GF_WATER }, {"GF_LITE", GF_LITE }, {"GF_DARK", GF_DARK }, {"GF_LITE_WEAK", GF_LITE_WEAK }, {"GF_DARK_WEAK", GF_DARK_WEAK }, {"GF_SHARDS", GF_SHARDS }, - {"GF_SOUND", GF_SOUND }, + {"GF_SOUND", GF_SOUND }, {"GF_CONFUSION", GF_CONFUSION }, - {"GF_FORCE", GF_FORCE }, + {"GF_FORCE", GF_FORCE }, {"GF_INERTIA", GF_INERTIAL }, {"GF_MANA", GF_MANA }, {"GF_METEOR", GF_METEOR }, {"GF_ICE", GF_ICE }, - {"GF_CHAOS", GF_CHAOS }, + {"GF_CHAOS", GF_CHAOS }, {"GF_NETHER", GF_NETHER }, {"GF_DISENCHANT", GF_DISENCHANT }, - {"GF_NEXUS", GF_NEXUS }, + {"GF_NEXUS", GF_NEXUS }, {"GF_TIME", GF_TIME }, {"GF_GRAVITY", GF_GRAVITY }, {"GF_KILL_WALL", GF_KILL_WALL }, @@ -233,24 +233,24 @@ static named_num gf_desc[] = {"GF_MAKE_TRAP", GF_MAKE_TRAP }, {"GF_MAKE_TREE", GF_MAKE_TREE }, {"GF_OLD_CLONE", GF_OLD_CLONE }, - {"GF_OLD_POLY", GF_OLD_POLY }, - {"GF_OLD_HEAL", GF_OLD_HEAL }, + {"GF_OLD_POLY", GF_OLD_POLY }, + {"GF_OLD_HEAL", GF_OLD_HEAL }, {"GF_OLD_SPEED", GF_OLD_SPEED }, - {"GF_OLD_SLOW", GF_OLD_SLOW }, - {"GF_OLD_CONF", GF_OLD_CONF }, + {"GF_OLD_SLOW", GF_OLD_SLOW }, + {"GF_OLD_CONF", GF_OLD_CONF }, {"GF_OLD_SLEEP", GF_OLD_SLEEP }, {"GF_HYPODYNAMIA", GF_HYPODYNAMIA }, - {"GF_AWAY_UNDEAD", GF_AWAY_UNDEAD }, + {"GF_AWAY_UNDEAD", GF_AWAY_UNDEAD }, {"GF_AWAY_EVIL", GF_AWAY_EVIL }, - {"GF_AWAY_ALL", GF_AWAY_ALL }, - {"GF_TURN_UNDEAD", GF_TURN_UNDEAD }, + {"GF_AWAY_ALL", GF_AWAY_ALL }, + {"GF_TURN_UNDEAD", GF_TURN_UNDEAD }, {"GF_TURN_EVIL", GF_TURN_EVIL }, - {"GF_TURN_ALL", GF_TURN_ALL }, - {"GF_DISP_UNDEAD", GF_DISP_UNDEAD }, + {"GF_TURN_ALL", GF_TURN_ALL }, + {"GF_DISP_UNDEAD", GF_DISP_UNDEAD }, {"GF_DISP_EVIL", GF_DISP_EVIL }, - {"GF_DISP_ALL", GF_DISP_ALL }, + {"GF_DISP_ALL", GF_DISP_ALL }, {"GF_DISP_DEMON", GF_DISP_DEMON }, - {"GF_DISP_LIVING", GF_DISP_LIVING }, + {"GF_DISP_LIVING", GF_DISP_LIVING }, {"GF_ROCKET", GF_ROCKET }, {"GF_NUKE", GF_NUKE }, {"GF_MAKE_GLYPH", GF_MAKE_GLYPH }, @@ -260,43 +260,43 @@ static named_num gf_desc[] = {"GF_STUN", GF_STUN }, {"GF_HOLY_FIRE", GF_HOLY_FIRE }, {"GF_HELL_FIRE", GF_HELL_FIRE }, - {"GF_DISINTEGRATE", GF_DISINTEGRATE }, - {"GF_CHARM", GF_CHARM }, - {"GF_CONTROL_UNDEAD", GF_CONTROL_UNDEAD }, - {"GF_CONTROL_ANIMAL", GF_CONTROL_ANIMAL }, + {"GF_DISINTEGRATE", GF_DISINTEGRATE }, + {"GF_CHARM", GF_CHARM }, + {"GF_CONTROL_UNDEAD", GF_CONTROL_UNDEAD }, + {"GF_CONTROL_ANIMAL", GF_CONTROL_ANIMAL }, {"GF_PSI", GF_PSI }, {"GF_PSI_DRAIN", GF_PSI_DRAIN }, - {"GF_TELEKINESIS", GF_TELEKINESIS }, - {"GF_JAM_DOOR", GF_JAM_DOOR }, + {"GF_TELEKINESIS", GF_TELEKINESIS }, + {"GF_JAM_DOOR", GF_JAM_DOOR }, {"GF_DOMINATION", GF_DOMINATION }, {"GF_DISP_GOOD", GF_DISP_GOOD }, {"GF_DRAIN_MANA", GF_DRAIN_MANA }, {"GF_MIND_BLAST", GF_MIND_BLAST }, {"GF_BRAIN_SMASH", GF_BRAIN_SMASH }, - {"GF_CAUSE_1", GF_CAUSE_1 }, - {"GF_CAUSE_2", GF_CAUSE_2 }, - {"GF_CAUSE_3", GF_CAUSE_3 }, - {"GF_CAUSE_4", GF_CAUSE_4 }, + {"GF_CAUSE_1", GF_CAUSE_1 }, + {"GF_CAUSE_2", GF_CAUSE_2 }, + {"GF_CAUSE_3", GF_CAUSE_3 }, + {"GF_CAUSE_4", GF_CAUSE_4 }, {"GF_HAND_DOOM", GF_HAND_DOOM }, - {"GF_CAPTURE", GF_CAPTURE }, + {"GF_CAPTURE", GF_CAPTURE }, {"GF_ANIM_DEAD", GF_ANIM_DEAD }, - {"GF_CONTROL_LIVING", GF_CONTROL_LIVING }, - {"GF_IDENTIFY", GF_IDENTIFY }, - {"GF_ATTACK", GF_ATTACK }, - {"GF_ENGETSU", GF_ENGETSU }, - {"GF_GENOCIDE", GF_GENOCIDE }, - {"GF_PHOTO", GF_PHOTO }, - {"GF_CONTROL_DEMON", GF_CONTROL_DEMON }, - {"GF_LAVA_FLOW", GF_LAVA_FLOW }, - {"GF_BLOOD_CURSE", GF_BLOOD_CURSE }, - {"GF_SEEKER", GF_SEEKER }, - {"GF_SUPER_RAY", GF_SUPER_RAY }, - {"GF_STAR_HEAL", GF_STAR_HEAL }, - {"GF_WATER_FLOW", GF_WATER_FLOW }, - {"GF_CRUSADE", GF_CRUSADE }, + {"GF_CHARM_LIVING", GF_CHARM_LIVING }, + {"GF_IDENTIFY", GF_IDENTIFY }, + {"GF_ATTACK", GF_ATTACK }, + {"GF_ENGETSU", GF_ENGETSU }, + {"GF_GENOCIDE", GF_GENOCIDE }, + {"GF_PHOTO", GF_PHOTO }, + {"GF_CONTROL_DEMON", GF_CONTROL_DEMON }, + {"GF_LAVA_FLOW", GF_LAVA_FLOW }, + {"GF_BLOOD_CURSE", GF_BLOOD_CURSE }, + {"GF_SEEKER", GF_SEEKER }, + {"GF_SUPER_RAY", GF_SUPER_RAY }, + {"GF_STAR_HEAL", GF_STAR_HEAL }, + {"GF_WATER_FLOW", GF_WATER_FLOW }, + {"GF_CRUSADE", GF_CRUSADE }, {"GF_STASIS_EVIL", GF_STASIS_EVIL }, - {"GF_WOUNDS", GF_WOUNDS }, - {NULL, 0 } + {"GF_WOUNDS", GF_WOUNDS }, + {NULL, 0 } }; diff --git a/src/racial.c b/src/racial.c index f0607f438..3977cc7bc 100644 --- a/src/racial.c +++ b/src/racial.c @@ -1001,11 +1001,11 @@ static bool cmd_racial_power_aux(s32b command) if (command == -3) { if (!get_aim_dir(&dir)) return FALSE; - (void)fire_ball_hide(GF_CONTROL_LIVING, dir, p_ptr->lev, 0); + (void)fire_ball_hide(GF_CHARM_LIVING, dir, p_ptr->lev, 0); } else if (command == -4) { - project_hack(GF_CONTROL_LIVING, p_ptr->lev); + project_hack(GF_CHARM_LIVING, p_ptr->lev); } break; } diff --git a/src/spells1.c b/src/spells1.c index fa56627e3..db223d221 100644 --- a/src/spells1.c +++ b/src/spells1.c @@ -23,7 +23,7 @@ int project_length = 0; /*!< 投射の射程距離 */ /*! - * @brief モンスター魅了用セービングスロー共通部 + * @brief モンスター魅了用セービングスロー共通部(汎用系) * @param pow 魅了パワー * @param m_ptr 対象モンスター * @return 魅了に抵抗したらTRUE @@ -55,6 +55,33 @@ static bool_hack common_saving_throw_charm(player_type *player_ptr, HIT_POINT po } /*! + * @brief モンスター服従用セービングスロー共通部(部族依存系) + * @param pow 服従パワー + * @param m_ptr 対象モンスター + * @return 服従に抵抗したらTRUE + */ +static bool_hack common_saving_throw_control(player_type *player_ptr, HIT_POINT pow, monster_type *m_ptr) +{ + monster_race *r_ptr = &r_info[m_ptr->r_idx]; + + if (p_ptr->inside_arena) return TRUE; + + /* Memorize a flag */ + if (r_ptr->flagsr & RFR_RES_ALL) + { + if (is_original_ap_and_seen(m_ptr)) r_ptr->r_flagsr |= (RFR_RES_ALL); + return TRUE; + } + + if (r_ptr->flags1 & RF1_QUESTOR || m_ptr->mflag2 & MFLAG2_NOPET) return TRUE; + + pow += adj_chr_chm[player_ptr->stat_ind[A_CHR]] - 1; + if ((r_ptr->flags1 & RF1_UNIQUE) || (r_ptr->flags7 & RF7_NAZGUL)) pow = pow * 2 / 3; + return (r_ptr->level > randint1((pow - 10) < 1 ? 1 : (pow - 10)) + 5); +} + + +/*! * @brief 配置した鏡リストの次を取得する / * Get another mirror. for SEEKER * @param next_y 次の鏡のy座標を返す参照ポインタ @@ -3209,7 +3236,7 @@ static bool project_m(MONSTER_IDX who, POSITION r, POSITION y, POSITION x, HIT_P } /* Attempt a saving throw */ - if (common_saving_throw_charm(p_ptr, dam, m_ptr) || + if (common_saving_throw_control(p_ptr, dam, m_ptr) || !(r_ptr->flags3 & RF3_UNDEAD)) { /* No obvious effect */ @@ -3252,7 +3279,7 @@ static bool project_m(MONSTER_IDX who, POSITION r, POSITION y, POSITION x, HIT_P } /* Attempt a saving throw */ - if (common_saving_throw_charm(p_ptr, dam, m_ptr) || + if (common_saving_throw_control(p_ptr, dam, m_ptr) || !(r_ptr->flags3 & RF3_DEMON)) { /* No obvious effect */ @@ -3295,7 +3322,7 @@ static bool project_m(MONSTER_IDX who, POSITION r, POSITION y, POSITION x, HIT_P } /* Attempt a saving throw */ - if (common_saving_throw_charm(p_ptr, dam, m_ptr) || + if (common_saving_throw_control(p_ptr, dam, m_ptr) || !(r_ptr->flags3 & RF3_ANIMAL)) { /* Resist */ @@ -3323,7 +3350,7 @@ static bool project_m(MONSTER_IDX who, POSITION r, POSITION y, POSITION x, HIT_P } /* Tame animal */ - case GF_CONTROL_LIVING: + case GF_CHARM_LIVING: { int vir; diff --git a/src/spells2.c b/src/spells2.c index c84096a42..e7210fc82 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -4668,7 +4668,7 @@ bool fire_ball(int typ, int dir, HIT_POINT dam, int rad) BIT_FLAGS flg = PROJECT_STOP | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL; - if (typ == GF_CONTROL_LIVING) flg|= PROJECT_HIDE; + if (typ == GF_CHARM_LIVING) flg|= PROJECT_HIDE; /* Use the given direction */ tx = p_ptr->x + 99 * ddx[dir]; ty = p_ptr->y + 99 * ddy[dir]; diff --git a/src/wizard1.c b/src/wizard1.c index 332f56c8f..f9426c2c4 100644 --- a/src/wizard1.c +++ b/src/wizard1.c @@ -1834,16 +1834,19 @@ static void spoil_mon_desc(cptr fname) { monster_race *r_ptr = &r_info[who[i]]; + if (!(r_ptr->flags3 & (RF3_DEMON))) + { + continue; + } + cptr name = (r_name + r_ptr->name); if (r_ptr->flags7 & (RF7_KAGE)) continue; /* Get the "name" */ - /* - else if (r_ptr->flags1 & (RF1_QUESTOR)) + else if (r_ptr->flags3 & (RF3_NO_CONF)) { - sprintf(nam, "[Q] %s", name); + sprintf(nam, "[*] %s", name); } - */ else if (r_ptr->flags1 & (RF1_UNIQUE)) { sprintf(nam, "[U] %s", name); -- 2.11.0