X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fcmd6.c;h=ecd16c9168d6aa592060c2d5c2a2099db5bf9dce;hb=d0853df098d67e14cec78d105e9edacd9bfdd700;hp=9ad37af9c616206d42c4bcc3ae11a8024928f59d;hpb=ba75f79b8f5b97001f755ea29a31d1b1111d1c30;p=hengband%2Fhengband.git diff --git a/src/cmd6.c b/src/cmd6.c index 9ad37af9c..ecd16c916 100644 --- a/src/cmd6.c +++ b/src/cmd6.c @@ -1026,7 +1026,7 @@ static void do_cmd_quaff_potion_aux(int item) } for (; i < EATER_EXT*3; i++) { - int k_idx = lookup_kind(TV_ROD, i-EATER_EXT*2); + KIND_OBJECT_IDX 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; } @@ -1184,15 +1184,7 @@ static void do_cmd_quaff_potion_aux(int item) do_cmd_rerate(FALSE); get_max_stats(); p_ptr->update |= PU_BONUS; - if (p_ptr->muta1 || p_ptr->muta2 || p_ptr->muta3) - { - chg_virtue(V_CHANCE, -5); - msg_print(_("全ての突然変異が治った。", "You are cured of all mutations.")); - p_ptr->muta1 = p_ptr->muta2 = p_ptr->muta3 = 0; - p_ptr->update |= PU_BONUS; - handle_stuff(); - mutant_regenerate_mod = calc_mutant_regenerate_mod(); - } + lose_all_mutations(); ident = TRUE; break; @@ -1217,11 +1209,7 @@ static void do_cmd_quaff_potion_aux(int item) case SV_POTION_POLYMORPH: if ((p_ptr->muta1 || p_ptr->muta2 || p_ptr->muta3) && one_in_(23)) { - chg_virtue(V_CHANCE, -5); - msg_print(_("全ての突然変異が治った。", "You are cured of all mutations.")); - p_ptr->muta1 = p_ptr->muta2 = p_ptr->muta3 = 0; - p_ptr->update |= PU_BONUS; - handle_stuff(); + lose_all_mutations(); } else { @@ -2609,7 +2597,7 @@ static int wand_effect(OBJECT_SUBTYPE_VALUE sval, int dir, bool powerful, bool m { case SV_WAND_HEAL_MONSTER: { - int dam = damroll((powerful ? 20 : 10), 10); + HIT_POINT dam = damroll((powerful ? 20 : 10), 10); if (heal_monster(dir, dam)) ident = TRUE; break; } @@ -2649,14 +2637,14 @@ static int wand_effect(OBJECT_SUBTYPE_VALUE sval, int dir, bool powerful, bool m case SV_WAND_STONE_TO_MUD: { - int dam = powerful ? 40 + randint1(60) : 20 + randint1(30); + HIT_POINT dam = powerful ? 40 + randint1(60) : 20 + randint1(30); if (wall_to_mud(dir, dam)) ident = TRUE; break; } case SV_WAND_LITE: { - int dam = damroll((powerful ? 12 : 6), 8); + HIT_POINT dam = damroll((powerful ? 12 : 6), 8); msg_print(_("青く輝く光線が放たれた。", "A line of blue shimmering light appears.")); (void)lite_line(dir, dam); ident = TRUE; @@ -2687,9 +2675,9 @@ static int wand_effect(OBJECT_SUBTYPE_VALUE sval, int dir, bool powerful, bool m break; } - case SV_WAND_DRAIN_LIFE: + case SV_WAND_HYPODYNAMIA: { - if (drain_life(dir, 80 + lev)) ident = TRUE; + if (hypodynamic_bolt(dir, 80 + lev)) ident = TRUE; break; } @@ -2777,21 +2765,21 @@ static int wand_effect(OBJECT_SUBTYPE_VALUE sval, int dir, bool powerful, bool m case SV_WAND_DRAGON_FIRE: { - fire_ball(GF_FIRE, dir, (powerful ? 300 : 200), -3); + fire_breath(GF_FIRE, dir, (powerful ? 300 : 200), 3); ident = TRUE; break; } case SV_WAND_DRAGON_COLD: { - fire_ball(GF_COLD, dir, (powerful ? 270 : 180), -3); + fire_breath(GF_COLD, dir, (powerful ? 270 : 180), 3); ident = TRUE; break; } case SV_WAND_DRAGON_BREATH: { - int dam; + HIT_POINT dam; int typ; switch (randint1(5)) @@ -3182,7 +3170,7 @@ static int rod_effect(OBJECT_SUBTYPE_VALUE sval, int dir, bool *use_charge, bool case SV_ROD_LITE: { - int dam = damroll((powerful ? 12 : 6), 8); + HIT_POINT dam = damroll((powerful ? 12 : 6), 8); msg_print(_("青く輝く光線が放たれた。", "A line of blue shimmering light appears.")); (void)lite_line(dir, dam); ident = TRUE; @@ -3201,9 +3189,9 @@ static int rod_effect(OBJECT_SUBTYPE_VALUE sval, int dir, bool *use_charge, bool break; } - case SV_ROD_DRAIN_LIFE: + case SV_ROD_HYPODYNAMIA: { - if (drain_life(dir, 70 + 3 * lev / 2)) ident = TRUE; + if (hypodynamic_bolt(dir, 70 + 3 * lev / 2)) ident = TRUE; break; } @@ -3278,7 +3266,7 @@ static int rod_effect(OBJECT_SUBTYPE_VALUE sval, int dir, bool *use_charge, bool case SV_ROD_STONE_TO_MUD: { - int dam = powerful ? 40 + randint1(60) : 20 + randint1(30); + HIT_POINT dam = powerful ? 40 + randint1(60) : 20 + randint1(30); if (wall_to_mud(dir, dam)) ident = TRUE; break; } @@ -3791,9 +3779,9 @@ static void do_cmd_activate_aux(int item) if(fire_ball(GF_CAPTURE, dir, 0, 0)) { o_ptr->pval = (PARAMETER_VALUE)cap_mon; - o_ptr->xtra3 = cap_mspeed; - o_ptr->xtra4 = cap_hp; - o_ptr->xtra5 = cap_maxhp; + o_ptr->xtra3 = (XTRA8)cap_mspeed; + o_ptr->xtra4 = (XTRA16)cap_hp; + o_ptr->xtra5 = (XTRA16)cap_maxhp; if (cap_nickname) { cptr t; @@ -4281,7 +4269,7 @@ static OBJECT_SUBTYPE_VALUE select_magic_eater(bool only_browse) { byte y, x = 0; OBJECT_SUBTYPE_VALUE ctr; - int chance; + PERCENTAGE chance; IDX k_idx; char dummy[80]; POSITION x1, y1; @@ -4584,7 +4572,8 @@ static OBJECT_SUBTYPE_VALUE select_magic_eater(bool only_browse) bool do_cmd_magic_eater(bool only_browse, bool powerful) { OBJECT_SUBTYPE_VALUE item; - int chance, level; + PERCENTAGE chance; + DEPTH level; IDX k_idx; OBJECT_TYPE_VALUE tval; OBJECT_SUBTYPE_VALUE sval;