OSDN Git Service

鏡を置くとその場所は光る. ただし暗闇の洞窟では鏡が消えるとその場所は光っていな
authorhenkma <henkma@0568b783-4c39-0410-ac80-bf13821ea2a2>
Tue, 25 Jun 2002 06:50:46 +0000 (06:50 +0000)
committerhenkma <henkma@0568b783-4c39-0410-ac80-bf13821ea2a2>
Tue, 25 Jun 2002 06:50:46 +0000 (06:50 +0000)
い状態に戻る.

src/cave.c
src/dungeon.c
src/spells1.c
src/spells2.c
src/spells3.c

index e7d5531..3f611b2 100644 (file)
@@ -4838,6 +4838,11 @@ void remove_mirror(int y, int x)
        /* Remove the mirror */
        cave[y][x].info &= ~(CAVE_IN_MIRROR);
 
+       if (d_info[dungeon_type].flags1 & DF1_DARKNESS)
+       {
+               cave[y][x].info &= ~(CAVE_GLOW);
+               if( !view_torch_grids )cave[y][x].info &= ~(CAVE_MARK);
+       }
        /* Notice */
        note_spot(y, x);
 
index 5607382..a976091 100644 (file)
@@ -1733,7 +1733,7 @@ msg_print("
                                                    (y == 0) || (y == cur_hgt-1))
                                                {
                                                        /* Forget the grid */
-                                                       c_ptr->info &= ~(CAVE_GLOW | CAVE_MARK);
+                                                       if (!(c_ptr->info & CAVE_IN_MIRROR)) c_ptr->info &= ~(CAVE_GLOW | CAVE_MARK);
 
                                                        /* Hack -- Notice spot */
                                                        note_spot(y, x);
index 9a5d2ae..d838af3 100644 (file)
@@ -1182,7 +1182,7 @@ msg_print("
                                if (player_can_see_bold(y, x)) obvious = TRUE;
 
                                /* Turn off the light. */
-                               c_ptr->info &= ~(CAVE_GLOW);
+                               if(!(c_ptr->info & CAVE_IN_MIRROR))c_ptr->info &= ~(CAVE_GLOW);
 
                                /* Hack -- Forget "boring" grids */
                                if ((c_ptr->feat <= FEAT_INVIS) || (c_ptr->feat == FEAT_DIRT) || (c_ptr->feat == FEAT_GRASS))
index 1bdbe67..d67cd74 100644 (file)
@@ -5970,7 +5970,7 @@ static void cave_temp_room_unlite(void)
                c_ptr->info &= ~(CAVE_TEMP);
 
                /* Darken the grid */
-               c_ptr->info &= ~(CAVE_GLOW);
+               if (!(c_ptr->info & CAVE_IN_MIRROR ))c_ptr->info &= ~(CAVE_GLOW);
 
                /* Hack -- Forget "boring" grids */
                if ((c_ptr->feat <= FEAT_INVIS) || (c_ptr->feat == FEAT_DIRT) || (c_ptr->feat == FEAT_GRASS))
index 0bb824f..86c0d46 100644 (file)
@@ -1686,7 +1686,14 @@ msg_print("
 
        /* Create a mirror */
        cave[py][px].info |= CAVE_IN_MIRROR;
+
+       /* Turn on the light */
+       cave[py][px].info |= CAVE_GLOW;
+
+       /* Notice */
        note_spot(py, px);
+       
+       /* Redraw */
        lite_spot(py, px);
 
        return TRUE;