From: deskull Date: Thu, 2 Jan 2020 11:07:00 +0000 (+0900) Subject: [Refactor] #38997 choose_random_trap() に floor_type * 引数を追加. / Add floor_type * argum... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c144e008b7149d501ee04306a011181d339f31c9;p=hengband%2Fhengband.git [Refactor] #38997 choose_random_trap() に floor_type * 引数を追加. / Add floor_type * argument to choose_random_trap(). --- 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);