From b11660b6e42a6aa31ec2db2349329493972a565d Mon Sep 17 00:00:00 2001 From: deskull Date: Sun, 3 Mar 2019 19:44:48 +0900 Subject: [PATCH 1/1] =?utf8?q?[Refactor]=20#38995=20world=5Ftype=20?= =?utf8?q?=E6=A7=8B=E9=80=A0=E4=BD=93=E3=81=AB=20kubi=5Fr=5Fidx=20?= =?utf8?q?=E3=82=92=20bounty=5Fr=5Fidx=20=E3=81=AB=E6=94=B9=E5=90=8D?= =?utf8?q?=E3=81=97=E3=81=A6=E5=8F=96=E3=82=8A=E8=BE=BC=E3=82=80=E3=80=82?= =?utf8?q?=20/=20=20Move=20kubi=5Fr=5Fidx=20to=20world=5Ftype=20structure?= =?utf8?q?=20and=20rename=20to=20bounty=5Fr=5Fidx.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/bldg.c | 16 ++++++++-------- src/cmd4.c | 6 +++--- src/dungeon.c | 16 ++++++++-------- src/externs.h | 1 - src/load.c | 4 ++-- src/monster-status.c | 2 +- src/object-hook.c | 2 +- src/save.c | 2 +- src/types.h | 2 ++ src/variable.c | 1 - src/view-mainwindow.c | 2 +- 11 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/bldg.c b/src/bldg.c index 7c7f30d61..b6688dd99 100644 --- a/src/bldg.c +++ b/src/bldg.c @@ -1637,9 +1637,9 @@ static void shoukinkubi(void) { byte color; concptr done_mark; - monster_race *r_ptr = &r_info[(kubi_r_idx[i] > 10000 ? kubi_r_idx[i] - 10000 : kubi_r_idx[i])]; + monster_race *r_ptr = &r_info[(current_world_ptr->bounty_r_idx[i] > 10000 ? current_world_ptr->bounty_r_idx[i] - 10000 : current_world_ptr->bounty_r_idx[i])]; - if (kubi_r_idx[i] > 10000) + if (current_world_ptr->bounty_r_idx[i] > 10000) { color = TERM_RED; done_mark = _("(済)", "(done)"); @@ -1829,7 +1829,7 @@ static bool kankin(void) for (i = INVEN_PACK-1; i >= 0; i--) { o_ptr = &inventory[i]; - if ((o_ptr->tval == TV_CORPSE) && (o_ptr->pval == kubi_r_idx[j])) + if ((o_ptr->tval == TV_CORPSE) && (o_ptr->pval == current_world_ptr->bounty_r_idx[j])) { char buf[MAX_NLEN+20]; int num, k; @@ -1841,14 +1841,14 @@ static bool kankin(void) if (!get_check(buf)) continue; #if 0 /* Obsoleted */ - msg_format(_("賞金 %ld$を手に入れた。", "You get %ldgp."), (r_info[kubi_r_idx[j]].level + 1) * 300 * o_ptr->number); - p_ptr->au += (r_info[kubi_r_idx[j]].level+1) * 300 * o_ptr->number; + msg_format(_("賞金 %ld$を手に入れた。", "You get %ldgp."), (r_info[current_world_ptr->bounty_r_idx[j]].level + 1) * 300 * o_ptr->number); + p_ptr->au += (r_info[current_world_ptr->bounty_r_idx[j]].level+1) * 300 * o_ptr->number; p_ptr->redraw |= (PR_GOLD); inven_item_increase(i, -o_ptr->number); inven_item_describe(i); inven_item_optimize(i); chg_virtue(V_JUSTICE, 5); - kubi_r_idx[j] += 10000; + current_world_ptr->bounty_r_idx[j] += 10000; change = TRUE; #endif /* Obsoleted */ @@ -1859,12 +1859,12 @@ static bool kankin(void) inven_item_optimize(i); chg_virtue(V_JUSTICE, 5); - kubi_r_idx[j] += 10000; + current_world_ptr->bounty_r_idx[j] += 10000; /* Count number of unique corpses already handed */ for (num = 0, k = 0; k < MAX_KUBI; k++) { - if (kubi_r_idx[k] >= 10000) num++; + if (current_world_ptr->bounty_r_idx[k] >= 10000) num++; } msg_format(_("これで合計 %d ポイント獲得しました。" ,"You earned %d point%s total."), num, (num > 1 ? "s" : "")); diff --git a/src/cmd4.c b/src/cmd4.c index 4f58a5fad..061cf49ad 100644 --- a/src/cmd4.c +++ b/src/cmd4.c @@ -4181,7 +4181,7 @@ static IDX collect_monsters(IDX grp_cur, IDX mon_idx[], BIT_FLAGS8 mode) int j; for (j = 0; j < MAX_KUBI; j++) { - if (kubi_r_idx[j] == i || kubi_r_idx[j] - 10000 == i || + if (current_world_ptr->bounty_r_idx[j] == i || current_world_ptr->bounty_r_idx[j] - 10000 == i || (p_ptr->today_mon && p_ptr->today_mon == i)) { wanted = TRUE; @@ -7535,9 +7535,9 @@ static void do_cmd_knowledge_kubi(void) for (i = 0; i < MAX_KUBI; i++) { - if (kubi_r_idx[i] <= 10000) + if (current_world_ptr->bounty_r_idx[i] <= 10000) { - fprintf(fff,"%s\n", r_name + r_info[kubi_r_idx[i]].name); + fprintf(fff,"%s\n", r_name + r_info[current_world_ptr->bounty_r_idx[i]].name); listed = TRUE; } diff --git a/src/dungeon.c b/src/dungeon.c index b76a645b8..b890d2b41 100644 --- a/src/dungeon.c +++ b/src/dungeon.c @@ -5651,8 +5651,8 @@ void determine_bounty_uniques(void) { while (1) { - kubi_r_idx[i] = get_mon_num(MAX_DEPTH - 1); - r_ptr = &r_info[kubi_r_idx[i]]; + current_world_ptr->bounty_r_idx[i] = get_mon_num(MAX_DEPTH - 1); + r_ptr = &r_info[current_world_ptr->bounty_r_idx[i]]; if (!(r_ptr->flags1 & RF1_UNIQUE)) continue; @@ -5660,10 +5660,10 @@ void determine_bounty_uniques(void) if (r_ptr->rarity > 100) continue; - if (no_questor_or_bounty_uniques(kubi_r_idx[i])) continue; + if (no_questor_or_bounty_uniques(current_world_ptr->bounty_r_idx[i])) continue; for (j = 0; j < i; j++) - if (kubi_r_idx[i] == kubi_r_idx[j]) break; + if (current_world_ptr->bounty_r_idx[i] == current_world_ptr->bounty_r_idx[j]) break; if (j == i) break; } @@ -5674,11 +5674,11 @@ void determine_bounty_uniques(void) { for (j = i; j < MAX_KUBI; j++) { - if (r_info[kubi_r_idx[i]].level > r_info[kubi_r_idx[j]].level) + if (r_info[current_world_ptr->bounty_r_idx[i]].level > r_info[current_world_ptr->bounty_r_idx[j]].level) { - tmp = kubi_r_idx[i]; - kubi_r_idx[i] = kubi_r_idx[j]; - kubi_r_idx[j] = tmp; + tmp = current_world_ptr->bounty_r_idx[i]; + current_world_ptr->bounty_r_idx[i] = current_world_ptr->bounty_r_idx[j]; + current_world_ptr->bounty_r_idx[j] = tmp; } } } diff --git a/src/externs.h b/src/externs.h index bc1eeffb1..38470516f 100644 --- a/src/externs.h +++ b/src/externs.h @@ -339,7 +339,6 @@ extern PRICE kakekin; extern u32b mon_odds[4]; extern MONSTER_IDX pet_t_m_idx; extern MONSTER_IDX riding_t_m_idx; -extern MONRACE_IDX kubi_r_idx[MAX_KUBI]; extern MONRACE_IDX today_mon; extern bool write_level; extern u32b playtime; diff --git a/src/load.c b/src/load.c index 0ef109679..8a62a1814 100644 --- a/src/load.c +++ b/src/load.c @@ -1899,14 +1899,14 @@ static void rd_extra(void) for (i = 0; i < MAX_KUBI; i++) { /* Is this bounty unique already dead? */ - if (!r_info[kubi_r_idx[i]].max_num) kubi_r_idx[i] += 10000; + if (!r_info[current_world_ptr->bounty_r_idx[i]].max_num) current_world_ptr->bounty_r_idx[i] += 10000; } } else { for (i = 0; i < MAX_KUBI; i++) { - rd_s16b(&kubi_r_idx[i]); + rd_s16b(¤t_world_ptr->bounty_r_idx[i]); } } diff --git a/src/monster-status.c b/src/monster-status.c index 3c0429fea..3cd495f1c 100644 --- a/src/monster-status.c +++ b/src/monster-status.c @@ -1301,7 +1301,7 @@ bool mon_take_hit(MONSTER_IDX m_idx, HIT_POINT dam, bool *fear, concptr note) { for (i = 0; i < MAX_KUBI; i++) { - if ((kubi_r_idx[i] == m_ptr->r_idx) && !(m_ptr->mflag2 & MFLAG2_CHAMELEON)) + if ((current_world_ptr->bounty_r_idx[i] == m_ptr->r_idx) && !(m_ptr->mflag2 & MFLAG2_CHAMELEON)) { msg_format(_("%sの首には賞金がかかっている。", "There is a price on %s's head."), m_name); break; diff --git a/src/object-hook.c b/src/object-hook.c index 5f451a4e2..7e6cfec76 100644 --- a/src/object-hook.c +++ b/src/object-hook.c @@ -546,7 +546,7 @@ bool object_is_shoukinkubi(object_type *o_ptr) /* Unique monster */ for (i = 0; i < MAX_KUBI; i++) - if (o_ptr->pval == kubi_r_idx[i]) break; + if (o_ptr->pval == current_world_ptr->bounty_r_idx[i]) break; if (i < MAX_KUBI) return TRUE; /* Not wanted */ diff --git a/src/save.c b/src/save.c index 09e9cb451..34be71821 100644 --- a/src/save.c +++ b/src/save.c @@ -664,7 +664,7 @@ static void wr_extra(void) for (i = 0; i < MAX_KUBI; i++) { - wr_s16b(kubi_r_idx[i]); + wr_s16b(current_world_ptr->bounty_r_idx[i]); } for (i = 0; i < 4; i++) diff --git a/src/types.h b/src/types.h index 8abebc291..4d85d1c9c 100644 --- a/src/types.h +++ b/src/types.h @@ -1927,4 +1927,6 @@ typedef struct { GAME_TURN dungeon_turn_limit; /*!< dungeon_turnの最大値 / Limit of game_turn in dungeon */ MONSTER_IDX timewalk_m_idx; /*!< 現在時間停止を行っているモンスターのID */ + MONRACE_IDX bounty_r_idx[MAX_KUBI]; + } world_type; diff --git a/src/variable.c b/src/variable.c index ddf3a75ae..4a2f38235 100644 --- a/src/variable.c +++ b/src/variable.c @@ -788,7 +788,6 @@ u32b mon_odds[4]; MONSTER_IDX pet_t_m_idx; MONSTER_IDX riding_t_m_idx; -MONSTER_IDX kubi_r_idx[MAX_KUBI]; MONSTER_IDX today_mon; bool write_level; diff --git a/src/view-mainwindow.c b/src/view-mainwindow.c index 823b54082..932856324 100644 --- a/src/view-mainwindow.c +++ b/src/view-mainwindow.c @@ -1652,7 +1652,7 @@ static void print_monster_line(TERM_LEN x, TERM_LEN y, monster_type* m_ptr, int if(r_ptr->flags1&RF1_UNIQUE){//unique bool is_kubi = FALSE; for(i=0;ibounty_r_idx[i] == r_idx){ is_kubi = TRUE; break; } -- 2.11.0