From 6fd7604c1f5ec973c0fd72fee56694134649da13 Mon Sep 17 00:00:00 2001 From: mogami Date: Wed, 20 Mar 2002 10:59:54 +0000 Subject: [PATCH] =?utf8?q?EATER=5FCHARGE=20(=3D=200x10000L)=20=E7=AD=89?= =?utf8?q?=E3=81=AE=E3=83=9E=E3=82=AF=E3=83=AD=E3=82=92=E5=AE=9A=E7=BE=A9?= =?utf8?q?=E3=81=97=E3=81=A6=E9=AD=94=E9=81=93=E5=85=B7=E8=A1=93=E5=B8=AB?= =?utf8?q?=E3=81=AE=E3=82=B3=E3=83=BC=E3=83=89=E3=82=92=E6=95=B4=E7=90=86?= =?utf8?q?=E3=80=82=20=E3=81=95=E3=82=89=E3=81=AB=E3=80=81=E3=83=AD?= =?utf8?q?=E3=83=83=E3=83=89=E3=81=AE=E5=85=85=E5=A1=AB=E7=8A=B6=E6=85=8B?= =?utf8?q?=E3=81=AE=E6=95=B0=E5=80=A4=E3=82=92=E3=83=87=E3=83=8E=E3=83=9F?= =?utf8?q?=E3=81=97=E3=81=A6=E4=BD=93=E5=8A=9B=E5=9B=9E=E5=BE=A9=E3=81=AE?= =?utf8?q?=E3=83=AD=E3=83=83=E3=83=89=E3=82=9299=E6=9C=AC=E3=81=A8?= =?utf8?q?=E3=81=8B=E6=8C=81=E3=81=A3=E3=81=A6=20=E3=81=84=E3=81=A6?= =?utf8?q?=E3=82=82=E3=82=AA=E3=83=BC=E3=83=90=E3=83=BC=E3=83=95=E3=83=AD?= =?utf8?q?=E3=83=BC=E3=81=97=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB?= =?utf8?q?=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/bldg.c | 2 +- src/cmd6.c | 68 +++++++++++++++++++++++++++++------------------------------ src/defines.h | 4 ++++ src/dungeon.c | 12 +++++------ 4 files changed, 45 insertions(+), 41 deletions(-) diff --git a/src/bldg.c b/src/bldg.c index c7b6c6ff7..720fafd8d 100644 --- a/src/bldg.c +++ b/src/bldg.c @@ -2765,7 +2765,7 @@ msg_print(" int i; for (i = 0; i < 72; i++) { - p_ptr->magic_num1[i] = p_ptr->magic_num2[i]*0x10000; + p_ptr->magic_num1[i] = p_ptr->magic_num2[i]*EATER_CHARGE; } for (; i < 108; i++) { diff --git a/src/cmd6.c b/src/cmd6.c index 1a38b4689..e8e11a4d4 100644 --- a/src/cmd6.c +++ b/src/cmd6.c @@ -1052,15 +1052,15 @@ msg_print(" if (p_ptr->pclass == CLASS_MAGIC_EATER) { int i; - for (i = 0; i < 72; i++) + for (i = 0; i < EATER_EXT*2; i++) { - p_ptr->magic_num1[i] += (p_ptr->magic_num2[i] < 10) ? 0x30000 : p_ptr->magic_num2[i]*0x05555; - if (p_ptr->magic_num1[i] > p_ptr->magic_num2[i]*0x10000) p_ptr->magic_num1[i] = p_ptr->magic_num2[i]*0x10000L; + p_ptr->magic_num1[i] += (p_ptr->magic_num2[i] < 10) ? EATER_CHARGE * 3 : p_ptr->magic_num2[i]*EATER_CHARGE/3; + if (p_ptr->magic_num1[i] > p_ptr->magic_num2[i]*EATER_CHARGE) p_ptr->magic_num1[i] = p_ptr->magic_num2[i]*EATER_CHARGE; } - for (; i < 108; i++) + for (; i < EATER_EXT*3; i++) { - int k_idx = lookup_kind(TV_ROD, i-72); - p_ptr->magic_num1[i] -= ((p_ptr->magic_num2[i] < 10) ? 0x30000 : p_ptr->magic_num2[i]*0x5555)*k_info[k_idx].pval; + int k_idx = lookup_kind(TV_ROD, i-EATER_EXT*2); + p_ptr->magic_num1[i] -= ((p_ptr->magic_num2[i] < 10) ? EATER_ROD_CHARGE*3 : p_ptr->magic_num2[i]*EATER_ROD_CHARGE/3)*k_info[k_idx].pval; if (p_ptr->magic_num1[i] < 0) p_ptr->magic_num1[i] = 0; } #ifdef JP @@ -6596,9 +6596,9 @@ static bool select_magic_eater(int mode) if (repeat_pull(&sn)) { /* Verify the spell */ - if (sn > 71 && !(p_ptr->magic_num1[sn] > k_info[lookup_kind(TV_ROD, sn-72)].pval * (p_ptr->magic_num2[sn] - 1) * 0x10000L)) + if (sn >= EATER_EXT*2 && !(p_ptr->magic_num1[sn] > k_info[lookup_kind(TV_ROD, sn-EATER_EXT*2)].pval * (p_ptr->magic_num2[sn] - 1) * EATER_ROD_CHARGE)) return sn; - else if (sn < 72 && !(p_ptr->magic_num1[sn] < 0x10000)) + else if (sn < EATER_EXT*2 && !(p_ptr->magic_num1[sn] < EATER_CHARGE)) return sn; } @@ -6656,7 +6656,7 @@ static bool select_magic_eater(int mode) case '\r': case 'x': case 'X': - ext = (menu_line-1)*36; + ext = (menu_line-1)*EATER_EXT; if (menu_line == 1) tval = TV_STAFF; else if (menu_line == 2) tval = TV_WAND; else tval = TV_ROD; @@ -6686,19 +6686,19 @@ static bool select_magic_eater(int mode) } if (choice == 'B' || choice == 'b') { - ext = 36; + ext = EATER_EXT; tval = TV_WAND; break; } if (choice == 'C' || choice == 'c') { - ext = 72; + ext = EATER_EXT*2; tval = TV_ROD; break; } } } - for (i = ext; i < ext + 36; i++) + for (i = ext; i < ext + EATER_EXT; i++) { if (p_ptr->magic_num2[i]) { @@ -6706,7 +6706,7 @@ static bool select_magic_eater(int mode) break; } } - if (i == ext+36) + if (i == ext+EATER_EXT) { #ifdef JP msg_print("¤½¤Î¼ïÎà¤ÎËâË¡¤Ï³Ð¤¨¤Æ¤¤¤Ê¤¤¡ª"); @@ -6755,8 +6755,8 @@ static bool select_magic_eater(int mode) { do { - menu_line += 35; - if (menu_line > 36) menu_line -= 36; + menu_line += EATER_EXT - 1; + if (menu_line > EATER_EXT) menu_line -= EATER_EXT; } while(!p_ptr->magic_num2[menu_line+ext-1]); break; } @@ -6768,7 +6768,7 @@ static bool select_magic_eater(int mode) do { menu_line++; - if (menu_line > 36) menu_line -= 36; + if (menu_line > EATER_EXT) menu_line -= EATER_EXT; } while(!p_ptr->magic_num2[menu_line+ext-1]); break; } @@ -6782,12 +6782,12 @@ static bool select_magic_eater(int mode) { bool reverse = FALSE; if ((choice == '4') || (choice == 'h') || (choice == 'H')) reverse = TRUE; - if (menu_line > 18) + if (menu_line > EATER_EXT/2) { - menu_line -= 18; + menu_line -= EATER_EXT/2; reverse = TRUE; } - else menu_line+=18; + else menu_line+=EATER_EXT/2; while(!p_ptr->magic_num2[menu_line+ext-1]) { if (reverse) @@ -6798,7 +6798,7 @@ static bool select_magic_eater(int mode) else { menu_line++; - if (menu_line > 35) reverse = TRUE; + if (menu_line > EATER_EXT-1) reverse = TRUE; } } break; @@ -6848,7 +6848,7 @@ static bool select_magic_eater(int mode) #endif /* Print list */ - for (ctr = 0; ctr < 36; ctr++) + for (ctr = 0; ctr < EATER_EXT; ctr++) { if (!p_ptr->magic_num2[ctr+ext]) continue; @@ -6875,8 +6875,8 @@ static bool select_magic_eater(int mode) letter = '0' + ctr - 26; sprintf(dummy, "%c)",letter); } - x1 = ((ctr < 18) ? x : x + 40); - y1 = ((ctr < 18) ? y + ctr : y + ctr - 18); + x1 = ((ctr < EATER_EXT/2) ? x : x + 40); + y1 = ((ctr < EATER_EXT/2) ? y + ctr : y + ctr - EATER_EXT/2); level = (tval == TV_ROD ? k_info[k_idx].level * 5 / 6 - 5 : k_info[k_idx].level); chance = level * 4 / 5 + 20; chance -= 3 * (adj_mag_stat[p_ptr->stat_ind[mp_ptr->spell_stat]] - 1); @@ -6914,14 +6914,14 @@ strcat(dummy, format( #endif k_name + k_info[k_idx].name, p_ptr->magic_num1[ctr+ext] ? - (p_ptr->magic_num1[ctr+ext] - 1) / (0x10000L * k_info[k_idx].pval) +1 : 0, + (p_ptr->magic_num1[ctr+ext] - 1) / (EATER_ROD_CHARGE * k_info[k_idx].pval) +1 : 0, p_ptr->magic_num2[ctr+ext], chance)); - if (p_ptr->magic_num1[ctr+ext] > k_info[k_idx].pval * (p_ptr->magic_num2[ctr+ext]-1) * 0x10000L) col = TERM_RED; + if (p_ptr->magic_num1[ctr+ext] > k_info[k_idx].pval * (p_ptr->magic_num2[ctr+ext]-1) * EATER_ROD_CHARGE) col = TERM_RED; } else { - strcat(dummy, format(" %-22.22s %2d/%2d %3d%%", k_name + k_info[k_idx].name, (s16b)(p_ptr->magic_num1[ctr+ext]/0x10000), p_ptr->magic_num2[ctr+ext], chance)); - if (p_ptr->magic_num1[ctr+ext] < 0x10000L) col = TERM_RED; + strcat(dummy, format(" %-22.22s %2d/%2d %3d%%", k_name + k_info[k_idx].name, (s16b)(p_ptr->magic_num1[ctr+ext]/EATER_CHARGE), p_ptr->magic_num2[ctr+ext], chance)); + if (p_ptr->magic_num1[ctr+ext] < EATER_CHARGE) col = TERM_RED; } } else @@ -6966,7 +6966,7 @@ strcat(dummy, format( } /* Totally Illegal */ - if ((i < 0) || (i > 36) || !p_ptr->magic_num2[i+ext]) + if ((i < 0) || (i > EATER_EXT) || !p_ptr->magic_num2[i+ext]) { bell(); continue; @@ -6991,7 +6991,7 @@ strcat(dummy, format( } if (tval == TV_ROD) { - if (p_ptr->magic_num1[ext+i] > k_info[lookup_kind(tval, i)].pval * (p_ptr->magic_num2[ext+i] - 1) * 0x10000L) + if (p_ptr->magic_num1[ext+i] > k_info[lookup_kind(tval, i)].pval * (p_ptr->magic_num2[ext+i] - 1) * EATER_ROD_CHARGE) { #ifdef JP msg_print("¤½¤ÎËâË¡¤Ï¤Þ¤À½¼Å¶¤·¤Æ¤¤¤ëºÇÃæ¤À¡£"); @@ -7005,7 +7005,7 @@ strcat(dummy, format( } else { - if (p_ptr->magic_num1[ext+i] < 0x10000L) + if (p_ptr->magic_num1[ext+i] < EATER_CHARGE) { #ifdef JP msg_print("¤½¤ÎËâË¡¤Ï»ÈÍѲó¿ô¤¬ÀÚ¤ì¤Æ¤¤¤ë¡£"); @@ -7057,8 +7057,8 @@ msg_print(" energy_use = 0; return; } - if (item > 71) {tval = TV_ROD;sval = item - 72;} - else if (item > 35) {tval = TV_WAND;sval = item - 36;} + if (item >= EATER_EXT*2) {tval = TV_ROD;sval = item - EATER_EXT*2;} + else if (item >= EATER_EXT) {tval = TV_WAND;sval = item - EATER_EXT;} else {tval = TV_STAFF;sval = item;} k_idx = lookup_kind(tval, sval); @@ -7125,6 +7125,6 @@ msg_print(" chg_virtue(V_CHANCE,1); } energy_use = 100; - if (tval == TV_ROD) p_ptr->magic_num1[item] += k_info[k_idx].pval * 0x10000L; - else p_ptr->magic_num1[item] -= 0x10000L; + if (tval == TV_ROD) p_ptr->magic_num1[item] += k_info[k_idx].pval * EATER_ROD_CHARGE; + else p_ptr->magic_num1[item] -= EATER_CHARGE; } diff --git a/src/defines.h b/src/defines.h index 0af50574d..752b8a8c0 100644 --- a/src/defines.h +++ b/src/defines.h @@ -4317,6 +4317,10 @@ extern int PlayerUID; #define MAX_MANE 16 #define MAX_MONSPELLS 96 +#define EATER_EXT 36 +#define EATER_CHARGE 0x10000L +#define EATER_ROD_CHARGE 0x10L + #define MAX_KUBI 20 #define DETECT_RAD_DEFAULT 30 diff --git a/src/dungeon.c b/src/dungeon.c index 9e68db669..cb35549be 100644 --- a/src/dungeon.c +++ b/src/dungeon.c @@ -921,7 +921,7 @@ static void regenmagic(int percent) s32b new_mana; int i; - for (i = 0; i < 72; i++) + for (i = 0; i < EATER_EXT*2; i++) { if (!p_ptr->magic_num2[i]) continue; if (p_ptr->magic_num1[i] == ((long)p_ptr->magic_num2[i] << 16)) continue; @@ -935,11 +935,11 @@ static void regenmagic(int percent) } wild_regen = 20; } - for (i = 72; i < 108; i++) + for (i = EATER_EXT*2; i < EATER_EXT*3; i++) { if (!p_ptr->magic_num1[i]) continue; if (!p_ptr->magic_num2[i]) continue; - p_ptr->magic_num1[i] -= (long)(p_ptr->magic_num2[i] * (adj_mag_mana[A_INT] + 10)) * 0x1000; + p_ptr->magic_num1[i] -= (long)(p_ptr->magic_num2[i] * (adj_mag_mana[A_INT] + 10)) * EATER_ROD_CHARGE/16; if (p_ptr->magic_num1[i] < 0) p_ptr->magic_num1[i] = 0; wild_regen = 20; } @@ -6656,11 +6656,11 @@ msg_print(" if (p_ptr->pclass == CLASS_MAGIC_EATER) { - for (i = 0; i < 72; i++) + for (i = 0; i < EATER_EXT*2; i++) { - p_ptr->magic_num1[i] = p_ptr->magic_num2[i]*0x10000; + p_ptr->magic_num1[i] = p_ptr->magic_num2[i]*EATER_CHARGE; } - for (; i < 108; i++) + for (; i < EATER_EXT*3; i++) { p_ptr->magic_num1[i] = 0; } -- 2.11.0