From c144e008b7149d501ee04306a011181d339f31c9 Mon Sep 17 00:00:00 2001 From: deskull Date: Thu, 2 Jan 2020 20:07:00 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#38997=20choose=5Frandom=5Ftrap()?= =?utf8?q?=20=E3=81=AB=20floor=5Ftype=20*=20=E5=BC=95=E6=95=B0=E3=82=92?= =?utf8?q?=E8=BF=BD=E5=8A=A0=EF=BC=8E=20/=20Add=20floor=5Ftype=20*=20argum?= =?utf8?q?ent=20to=20choose=5Frandom=5Ftrap().?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/load.c | 2 +- src/trap.c | 8 ++++---- src/trap.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/load.c b/src/load.c index d1086e6d7..345195e79 100644 --- a/src/load.c +++ b/src/load.c @@ -2804,7 +2804,7 @@ static errr rd_dungeon_old(floor_type *floor_ptr) { g_ptr->info &= ~CAVE_TRAP; g_ptr->mimic = g_ptr->feat; - g_ptr->feat = choose_random_trap(); + g_ptr->feat = choose_random_trap(floor_ptr); } /* Another hidden trap */ diff --git a/src/trap.c b/src/trap.c index e0d756c54..817c8597f 100644 --- a/src/trap.c +++ b/src/trap.c @@ -144,7 +144,7 @@ void init_normal_traps(void) * Actually, it is not this routine, but the "trap instantiation"\n * code, which should also check for "trap doors" on quest levels.\n */ -FEAT_IDX choose_random_trap(void) +FEAT_IDX choose_random_trap(floor_type *floor_ptr) { FEAT_IDX feat; @@ -158,10 +158,10 @@ FEAT_IDX choose_random_trap(void) if (!have_flag(f_info[feat].flags, FF_MORE)) break; /* Hack -- no trap doors on special levels */ - if (p_ptr->current_floor_ptr->inside_arena || quest_number(p_ptr->current_floor_ptr->dun_level)) continue; + if (floor_ptr->inside_arena || quest_number(floor_ptr->dun_level)) continue; /* Hack -- no trap doors on the deepest level */ - if (p_ptr->current_floor_ptr->dun_level >= d_info[p_ptr->dungeon_idx].maxdepth) continue; + if (floor_ptr->dun_level >= d_info[floor_ptr->dungeon_idx].maxdepth) continue; break; } @@ -217,7 +217,7 @@ void place_trap(floor_type *floor_ptr, POSITION y, POSITION x) /* Place an invisible trap */ g_ptr->mimic = g_ptr->feat; - g_ptr->feat = choose_random_trap(); + g_ptr->feat = choose_random_trap(floor_ptr); } diff --git a/src/trap.h b/src/trap.h index d2f8943e6..5283f4675 100644 --- a/src/trap.h +++ b/src/trap.h @@ -1,6 +1,6 @@  extern void init_normal_traps(void); -extern FEAT_IDX choose_random_trap(void); +extern FEAT_IDX choose_random_trap(floor_type *floor_ptr); extern void disclose_grid(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); -- 2.11.0