OSDN Git Service

Changed another English message about pets affecting concentration. Had missed it...
[hengbandforosx/hengbandosx.git] / src / rooms-special.c
index 159ac9b..cf3a9d1 100644 (file)
@@ -5,6 +5,7 @@
 #include "monster.h"
 #include "monsterrace-hook.h"
 #include "objectkind-hook.h"
+#include "feature.h"
 
 
 /*!
@@ -17,7 +18,7 @@ bool build_type15(void)
        POSITION y1, x1, xsize, ysize;
        bool light;
 
-       grid_type *c_ptr;
+       grid_type *g_ptr;
 
        /* Pick a room size */
        xsize = rand_range(9, 13);
@@ -27,7 +28,7 @@ bool build_type15(void)
        if (!find_space(&yval, &xval, ysize + 2, xsize + 2)) return FALSE;
 
        /* Choose lite or dark */
-       light = ((dun_level <= randint1(25)) && !(d_info[p_ptr->dungeon_idx].flags1 & DF1_DARKNESS));
+       light = ((current_floor_ptr->dun_level <= randint1(25)) && !(d_info[p_ptr->dungeon_idx].flags1 & DF1_DARKNESS));
 
        /* Get corner values */
        y1 = yval - ysize / 2;
@@ -40,45 +41,45 @@ bool build_type15(void)
        {
                for (x = x1 - 1; x <= x2 + 1; x++)
                {
-                       c_ptr = &grid_array[y][x];
-                       place_floor_grid(c_ptr);
-                       c_ptr->feat = feat_glass_floor;
-                       c_ptr->info |= (CAVE_ROOM);
-                       if (light) c_ptr->info |= (CAVE_GLOW);
+                       g_ptr = &current_floor_ptr->grid_array[y][x];
+                       place_floor_grid(g_ptr);
+                       g_ptr->feat = feat_glass_floor;
+                       g_ptr->info |= (CAVE_ROOM);
+                       if (light) g_ptr->info |= (CAVE_GLOW);
                }
        }
 
        /* Walls around the room */
        for (y = y1 - 1; y <= y2 + 1; y++)
        {
-               c_ptr = &grid_array[y][x1 - 1];
-               place_outer_grid(c_ptr);
-               c_ptr->feat = feat_glass_wall;
-               c_ptr = &grid_array[y][x2 + 1];
-               place_outer_grid(c_ptr);
-               c_ptr->feat = feat_glass_wall;
+               g_ptr = &current_floor_ptr->grid_array[y][x1 - 1];
+               place_outer_grid(g_ptr);
+               g_ptr->feat = feat_glass_wall;
+               g_ptr = &current_floor_ptr->grid_array[y][x2 + 1];
+               place_outer_grid(g_ptr);
+               g_ptr->feat = feat_glass_wall;
        }
        for (x = x1 - 1; x <= x2 + 1; x++)
        {
-               c_ptr = &grid_array[y1 - 1][x];
-               place_outer_grid(c_ptr);
-               c_ptr->feat = feat_glass_wall;
-               c_ptr = &grid_array[y2 + 1][x];
-               place_outer_grid(c_ptr);
-               c_ptr->feat = feat_glass_wall;
+               g_ptr = &current_floor_ptr->grid_array[y1 - 1][x];
+               place_outer_grid(g_ptr);
+               g_ptr->feat = feat_glass_wall;
+               g_ptr = &current_floor_ptr->grid_array[y2 + 1][x];
+               place_outer_grid(g_ptr);
+               g_ptr->feat = feat_glass_wall;
        }
 
        switch (randint1(3))
        {
        case 1: /* 4 lite breathers + potion */
        {
-               int dir1, dir2;
+               DIRECTION dir1, dir2;
                get_mon_num_prep(vault_aux_lite, NULL);
 
                /* Place fixed lite berathers */
                for (dir1 = 4; dir1 < 8; dir1++)
                {
-                       MONRACE_IDX r_idx = get_mon_num(dun_level);
+                       MONRACE_IDX r_idx = get_mon_num(current_floor_ptr->dun_level);
 
                        y = yval + 2 * ddy_ddd[dir1];
                        x = xval + 2 * ddx_ddd[dir1];
@@ -87,9 +88,9 @@ bool build_type15(void)
                        /* Walls around the breather */
                        for (dir2 = 0; dir2 < 8; dir2++)
                        {
-                               c_ptr = &grid_array[y + ddy_ddd[dir2]][x + ddx_ddd[dir2]];
-                               place_inner_grid(c_ptr);
-                               c_ptr->feat = feat_glass_wall;
+                               g_ptr = &current_floor_ptr->grid_array[y + ddy_ddd[dir2]][x + ddx_ddd[dir2]];
+                               place_inner_grid(g_ptr);
+                               g_ptr->feat = feat_glass_wall;
                        }
                }
 
@@ -98,10 +99,10 @@ bool build_type15(void)
                {
                        y = yval + 2 * ddy_ddd[dir1];
                        x = xval + 2 * ddx_ddd[dir1];
-                       c_ptr = &grid_array[y][x];
-                       place_inner_perm_grid(c_ptr);
-                       c_ptr->feat = feat_permanent_glass_wall;
-                       grid_array[yval + ddy_ddd[dir1]][xval + ddx_ddd[dir1]].info |= (CAVE_ICKY);
+                       g_ptr = &current_floor_ptr->grid_array[y][x];
+                       place_inner_perm_grid(g_ptr);
+                       g_ptr->feat = feat_permanent_glass_wall;
+                       current_floor_ptr->grid_array[yval + ddy_ddd[dir1]][xval + ddx_ddd[dir1]].info |= (CAVE_ICKY);
                }
 
                /* Glass door */
@@ -109,13 +110,13 @@ bool build_type15(void)
                y = yval + 2 * ddy_ddd[dir1];
                x = xval + 2 * ddx_ddd[dir1];
                place_secret_door(y, x, DOOR_GLASS_DOOR);
-               c_ptr = &grid_array[y][x];
-               if (is_closed_door(c_ptr->feat)) c_ptr->mimic = feat_glass_wall;
+               g_ptr = &current_floor_ptr->grid_array[y][x];
+               if (is_closed_door(g_ptr->feat)) g_ptr->mimic = feat_glass_wall;
 
                /* Place a potion */
                get_obj_num_hook = kind_is_potion;
                place_object(yval, xval, AM_NO_FIXED_ART);
-               grid_array[yval][xval].info |= (CAVE_ICKY);
+               current_floor_ptr->grid_array[yval][xval].info |= (CAVE_ICKY);
        }
        break;
 
@@ -125,32 +126,32 @@ bool build_type15(void)
                DIRECTION dir1;
 
                /* Pillars */
-               c_ptr = &grid_array[y1 + 1][x1 + 1];
-               place_inner_grid(c_ptr);
-               c_ptr->feat = feat_glass_wall;
+               g_ptr = &current_floor_ptr->grid_array[y1 + 1][x1 + 1];
+               place_inner_grid(g_ptr);
+               g_ptr->feat = feat_glass_wall;
 
-               c_ptr = &grid_array[y1 + 1][x2 - 1];
-               place_inner_grid(c_ptr);
-               c_ptr->feat = feat_glass_wall;
+               g_ptr = &current_floor_ptr->grid_array[y1 + 1][x2 - 1];
+               place_inner_grid(g_ptr);
+               g_ptr->feat = feat_glass_wall;
 
-               c_ptr = &grid_array[y2 - 1][x1 + 1];
-               place_inner_grid(c_ptr);
-               c_ptr->feat = feat_glass_wall;
+               g_ptr = &current_floor_ptr->grid_array[y2 - 1][x1 + 1];
+               place_inner_grid(g_ptr);
+               g_ptr->feat = feat_glass_wall;
 
-               c_ptr = &grid_array[y2 - 1][x2 - 1];
-               place_inner_grid(c_ptr);
-               c_ptr->feat = feat_glass_wall;
+               g_ptr = &current_floor_ptr->grid_array[y2 - 1][x2 - 1];
+               place_inner_grid(g_ptr);
+               g_ptr->feat = feat_glass_wall;
                get_mon_num_prep(vault_aux_lite, NULL);
 
-               r_idx = get_mon_num(dun_level);
+               r_idx = get_mon_num(current_floor_ptr->dun_level);
                if (r_idx) place_monster_aux(0, yval, xval, r_idx, 0L);
 
                /* Walls around the breather */
                for (dir1 = 0; dir1 < 8; dir1++)
                {
-                       c_ptr = &grid_array[yval + ddy_ddd[dir1]][xval + ddx_ddd[dir1]];
-                       place_inner_grid(c_ptr);
-                       c_ptr->feat = feat_glass_wall;
+                       g_ptr = &current_floor_ptr->grid_array[yval + ddy_ddd[dir1]][xval + ddx_ddd[dir1]];
+                       place_inner_grid(g_ptr);
+                       g_ptr->feat = feat_glass_wall;
                }
 
                /* Curtains around the breather */
@@ -167,7 +168,7 @@ bool build_type15(void)
 
                /* Place an object */
                place_object(yval, xval, AM_NO_FIXED_ART);
-               grid_array[yval][xval].info |= (CAVE_ICKY);
+               current_floor_ptr->grid_array[yval][xval].info |= (CAVE_ICKY);
        }
        break;
 
@@ -178,34 +179,34 @@ bool build_type15(void)
                /* Walls around the potion */
                for (y = yval - 2; y <= yval + 2; y++)
                {
-                       c_ptr = &grid_array[y][xval - 3];
-                       place_inner_grid(c_ptr);
-                       c_ptr->feat = feat_glass_wall;
-                       c_ptr = &grid_array[y][xval + 3];
-                       place_inner_grid(c_ptr);
-                       c_ptr->feat = feat_glass_wall;
+                       g_ptr = &current_floor_ptr->grid_array[y][xval - 3];
+                       place_inner_grid(g_ptr);
+                       g_ptr->feat = feat_glass_wall;
+                       g_ptr = &current_floor_ptr->grid_array[y][xval + 3];
+                       place_inner_grid(g_ptr);
+                       g_ptr->feat = feat_glass_wall;
                }
                for (x = xval - 2; x <= xval + 2; x++)
                {
-                       c_ptr = &grid_array[yval - 3][x];
-                       place_inner_grid(c_ptr);
-                       c_ptr->feat = feat_glass_wall;
-                       c_ptr = &grid_array[yval + 3][x];
-                       place_inner_grid(c_ptr);
-                       c_ptr->feat = feat_glass_wall;
+                       g_ptr = &current_floor_ptr->grid_array[yval - 3][x];
+                       place_inner_grid(g_ptr);
+                       g_ptr->feat = feat_glass_wall;
+                       g_ptr = &current_floor_ptr->grid_array[yval + 3][x];
+                       place_inner_grid(g_ptr);
+                       g_ptr->feat = feat_glass_wall;
                }
                for (dir1 = 4; dir1 < 8; dir1++)
                {
-                       c_ptr = &grid_array[yval + 2 * ddy_ddd[dir1]][xval + 2 * ddx_ddd[dir1]];
-                       place_inner_grid(c_ptr);
-                       c_ptr->feat = feat_glass_wall;
+                       g_ptr = &current_floor_ptr->grid_array[yval + 2 * ddy_ddd[dir1]][xval + 2 * ddx_ddd[dir1]];
+                       place_inner_grid(g_ptr);
+                       g_ptr->feat = feat_glass_wall;
                }
                get_mon_num_prep(vault_aux_shards, NULL);
 
                /* Place shard berathers */
                for (dir1 = 4; dir1 < 8; dir1++)
                {
-                       MONRACE_IDX r_idx = get_mon_num(dun_level);
+                       MONRACE_IDX r_idx = get_mon_num(current_floor_ptr->dun_level);
 
                        y = yval + ddy_ddd[dir1];
                        x = xval + ddx_ddd[dir1];
@@ -230,7 +231,7 @@ bool build_type15(void)
 
                for (y = yval - 2; y <= yval + 2; y++)
                        for (x = xval - 2; x <= xval + 2; x++)
-                               grid_array[y][x].info |= (CAVE_ICKY);
+                               current_floor_ptr->grid_array[y][x].info |= (CAVE_ICKY);
 
        }
        break;