From: nothere Date: Mon, 22 Dec 2003 10:26:31 +0000 (+0000) Subject: 忍者の超隠密は解かれる時は一瞬で解かれ, 超隠密に入る時は手間がかかる X-Git-Tag: v2.1.2~698 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b9c377871830f5a8f35ec2e1d84f229b40291691;p=hengbandforosx%2Fhengbandosx.git 忍者の超隠密は解かれる時は一瞬で解かれ, 超隠密に入る時は手間がかかる という実装方針に従い, CAVE_GLOWが落ちる部分ですぐには超隠密に入らない ように変更. また, ダンジョン生成時は超隠密が解除されるように変更. --- diff --git a/src/dungeon.c b/src/dungeon.c index 1c89502c1..e3a195878 100644 --- a/src/dungeon.c +++ b/src/dungeon.c @@ -4135,10 +4135,9 @@ msg_print(" /* Window stuff */ p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON); - if (p_ptr->pclass == CLASS_NINJA) + if (p_ptr->special_defense & NINJA_S_STEALTH) { if (cave[py][px].info & CAVE_GLOW) set_superstealth(FALSE); - else if (p_ptr->cur_lite <= 0) set_superstealth(TRUE); } } } @@ -6435,11 +6434,7 @@ msg_print(" #endif } - if (p_ptr->pclass == CLASS_NINJA) - { - if (cave[py][px].info & CAVE_GLOW) set_superstealth(FALSE); - else if (p_ptr->cur_lite <= 0) set_superstealth(TRUE); - } + if (p_ptr->special_defense & NINJA_S_STEALTH) set_superstealth(FALSE); /*** Process this dungeon level ***/ diff --git a/src/spells1.c b/src/spells1.c index 7bd0d6659..b6c46df2b 100644 --- a/src/spells1.c +++ b/src/spells1.c @@ -1114,11 +1114,6 @@ static bool project_f(int who, int r, int y, int x, int dam, int typ) /* Mega-Hack -- Update the monster in the affected grid */ /* This allows "spear of light" (etc) to work "correctly" */ if (c_ptr->m_idx) update_mon(c_ptr->m_idx, FALSE); - - if ((p_ptr->pclass == CLASS_NINJA) && (p_ptr->cur_lite <= 0)) - { - if (player_bold(y, x)) set_superstealth(TRUE); - } } /* All done */ diff --git a/src/spells2.c b/src/spells2.c index 677892ea6..71d4185e6 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -5437,11 +5437,6 @@ bool destroy_area(int y1, int x1, int r, bool in_generate) /* Become blind */ (void)set_blind(p_ptr->blind + 10 + randint1(10)); } - - if ((p_ptr->pclass == CLASS_NINJA) && (p_ptr->cur_lite <= 0)) - { - if (!(cave[py][px].info & CAVE_GLOW)) set_superstealth(TRUE); - } } forget_flow(); @@ -5686,11 +5681,6 @@ if (damage) take_hit(DAMAGE_ATTACK, damage, " } - if ((p_ptr->pclass == CLASS_NINJA) && (p_ptr->cur_lite <= 0)) - { - if (!(cave[py][px].info & CAVE_GLOW)) set_superstealth(TRUE); - } - /* Examine the quaked region */ for (dy = -r; dy <= r; dy++) { @@ -6382,11 +6372,6 @@ void unlite_room(int y1, int x1) /* Now, darken them all at once */ cave_temp_room_unlite(); - - if ((p_ptr->pclass == CLASS_NINJA) && (p_ptr->cur_lite <= 0)) - { - if (!(cave[py][px].info & CAVE_GLOW)) set_superstealth(TRUE); - } }