OSDN Git Service

忍者の超隠密は解かれる時は一瞬で解かれ, 超隠密に入る時は手間がかかる
authornothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Mon, 22 Dec 2003 10:26:31 +0000 (10:26 +0000)
committernothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Mon, 22 Dec 2003 10:26:31 +0000 (10:26 +0000)
という実装方針に従い, CAVE_GLOWが落ちる部分ですぐには超隠密に入らない
ように変更. また, ダンジョン生成時は超隠密が解除されるように変更.

src/dungeon.c
src/spells1.c
src/spells2.c

index 1c89502..e3a1958 100644 (file)
@@ -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 ***/
 
index 7bd0d66..b6c46df 100644 (file)
@@ -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 */
index 677892e..71d4185 100644 (file)
@@ -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);
-       }
 }