OSDN Git Service

[Refactor] #38997 place_trap() に floor_type * 引数を追加. / Add floor_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Tue, 3 Dec 2019 09:39:47 +0000 (18:39 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Tue, 3 Dec 2019 09:39:47 +0000 (18:39 +0900)
src/dungeon-file.c
src/floor-generate.c
src/grid.c
src/rooms-vault.c
src/rooms.c
src/spells1.c
src/trap.c
src/trap.h

index 8170d30..82f8265 100644 (file)
@@ -4026,7 +4026,7 @@ static errr process_dungeon_file_aux(char *buf, int ymin, int xmin, int ymax, in
                                }
                                else
                                {
-                                       place_trap(*y, *x);
+                                       place_trap(p_ptr->current_floor_ptr, *y, *x);
                                }
 
                                p_ptr->current_floor_ptr->object_level = p_ptr->current_floor_ptr->base_level;
@@ -4048,7 +4048,7 @@ static errr process_dungeon_file_aux(char *buf, int ymin, int xmin, int ymax, in
                        /* Random trap */
                        else if (random & RANDOM_TRAP)
                        {
-                               place_trap(*y, *x);
+                               place_trap(p_ptr->current_floor_ptr, *y, *x);
                        }
                        /* Hidden trap (or door) */
                        else if (letter[idx].trap)
index 2c70b08..95423b5 100644 (file)
@@ -367,7 +367,7 @@ static void alloc_object(floor_type *floor_ptr, int set, EFFECT_ID typ, int num)
 
                        case ALLOC_TYP_TRAP:
                        {
-                               place_trap(y, x);
+                               place_trap(floor_ptr, y, x);
                                floor_ptr->grid_array[y][x].info &= ~(CAVE_FLOOR);
                                break;
                        }
index 4417b1d..918a779 100644 (file)
@@ -659,7 +659,7 @@ void vault_trap_aux(POSITION y, POSITION x, POSITION yd, POSITION xd)
                if (!is_floor_grid(g_ptr) || g_ptr->o_idx || g_ptr->m_idx) continue;
 
                /* Place the trap */
-               place_trap(y1, x1);
+               place_trap(p_ptr->current_floor_ptr, y1, x1);
 
                break;
        }
index 3703ee0..b8eca2e 100644 (file)
@@ -407,7 +407,7 @@ static void build_vault(floor_type *floor_ptr, POSITION yval, POSITION xval, POS
                                }
                                else
                                {
-                                       place_trap(y, x);
+                                       place_trap(floor_ptr, y, x);
                                }
                                break;
 
@@ -439,7 +439,7 @@ static void build_vault(floor_type *floor_ptr, POSITION yval, POSITION xval, POS
 
                                /* Trap */
                        case '^':
-                               place_trap(y, x);
+                               place_trap(floor_ptr, y, x);
                                break;
 
                                /* Black market in a dungeon */
index 209d827..b0502fd 100644 (file)
@@ -1454,7 +1454,7 @@ void fill_treasure(floor_type *floor_ptr, POSITION x1, POSITION x2, POSITION y1,
                                        }
                                        else
                                        {
-                                               place_trap(y, x);
+                                               place_trap(floor_ptr, y, x);
                                        }
                                }
                                else if (value < 30)
@@ -1463,7 +1463,7 @@ void fill_treasure(floor_type *floor_ptr, POSITION x1, POSITION x2, POSITION y1,
                                        floor_ptr->monster_level = floor_ptr->base_level + 5;
                                        place_monster(y, x, (PM_ALLOW_SLEEP | PM_ALLOW_GROUP));
                                        floor_ptr->monster_level = floor_ptr->base_level;
-                                       place_trap(y, x);
+                                       place_trap(floor_ptr, y, x);
                                }
                                else if (value < 40)
                                {
@@ -1484,7 +1484,7 @@ void fill_treasure(floor_type *floor_ptr, POSITION x1, POSITION x2, POSITION y1,
                                else if (value < 50)
                                {
                                        /* Trap */
-                                       place_trap(y, x);
+                                       place_trap(floor_ptr, y, x);
                                }
                                else
                                {
@@ -1497,7 +1497,7 @@ void fill_treasure(floor_type *floor_ptr, POSITION x1, POSITION x2, POSITION y1,
                                        }
                                        else if (randint0(100) < 50)
                                        {
-                                               place_trap(y, x);
+                                               place_trap(floor_ptr, y, x);
                                        }
                                        else if (randint0(100) < 50)
                                        {
index 06d6de9..e057bfd 100644 (file)
@@ -503,7 +503,7 @@ static bool project_f(floor_type *floor_ptr, MONSTER_IDX who, POSITION r, POSITI
 
                case GF_MAKE_TRAP:
                {
-                       place_trap(y, x);
+                       place_trap(p_ptr->current_floor_ptr, y, x);
                        break;
                }
 
index fb89f05..6af902a 100644 (file)
@@ -205,15 +205,15 @@ void disclose_grid(POSITION y, POSITION x)
 * when they are "discovered" (by detecting them or setting them off),\n
 * the trap is "instantiated" as a visible, "typed", trap.\n
 */
-void place_trap(POSITION y, POSITION x)
+void place_trap(floor_type *floor_ptr, POSITION y, POSITION x)
 {
-       grid_type *g_ptr = &p_ptr->current_floor_ptr->grid_array[y][x];
+       grid_type *g_ptr = &floor_ptr->grid_array[y][x];
 
        /* Paranoia -- verify location */
-       if (!in_bounds(p_ptr->current_floor_ptr, y, x)) return;
+       if (!in_bounds(floor_ptr, y, x)) return;
 
        /* Require empty, clean, floor grid */
-       if (!cave_clean_bold(p_ptr->current_floor_ptr, y, x)) return;
+       if (!cave_clean_bold(floor_ptr, y, x)) return;
 
        /* Place an invisible trap */
        g_ptr->mimic = g_ptr->feat;
index 060bfae..d2f8943 100644 (file)
@@ -2,7 +2,7 @@
 extern void init_normal_traps(void);
 extern FEAT_IDX choose_random_trap(void);
 extern void disclose_grid(POSITION y, POSITION x);
-extern void place_trap(POSITION y, POSITION x);
+extern void place_trap(floor_type *floor_ptr, POSITION y, POSITION x);
 extern void hit_trap(player_type *trapped_ptr, bool break_trap);
 
 extern const int chest_traps[64];