* @param mode エッセンスの大別ID
* @return なし
*/
-static void add_essence(ESSENCE_IDX mode)
+static void add_essence(player_type *creature_ptr, ESSENCE_IDX mode)
{
OBJECT_IDX item;
int max_num = 0;
if (es_ptr->essence != -1)
{
strcat(dummy, format("(%s)", essence_name[es_ptr->essence]));
- if (p_ptr->magic_num1[es_ptr->essence] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[es_ptr->essence] < es_ptr->value) able[ctr] = FALSE;
}
else
{
{
case ESSENCE_SH_FIRE:
strcat(dummy, _("(焼棄+耐火炎)", "(brand fire + res.fire)"));
- if (p_ptr->magic_num1[TR_BRAND_FIRE] < es_ptr->value) able[ctr] = FALSE;
- if (p_ptr->magic_num1[TR_RES_FIRE] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_BRAND_FIRE] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_FIRE] < es_ptr->value) able[ctr] = FALSE;
break;
case ESSENCE_SH_ELEC:
strcat(dummy, _("(電撃+耐電撃)", "(brand elec. + res. elec.)"));
- if (p_ptr->magic_num1[TR_BRAND_ELEC] < es_ptr->value) able[ctr] = FALSE;
- if (p_ptr->magic_num1[TR_RES_ELEC] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_BRAND_ELEC] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_ELEC] < es_ptr->value) able[ctr] = FALSE;
break;
case ESSENCE_SH_COLD:
strcat(dummy, _("(凍結+耐冷気)", "(brand cold + res. cold)"));
- if (p_ptr->magic_num1[TR_BRAND_COLD] < es_ptr->value) able[ctr] = FALSE;
- if (p_ptr->magic_num1[TR_RES_COLD] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_BRAND_COLD] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_COLD] < es_ptr->value) able[ctr] = FALSE;
break;
case ESSENCE_RESISTANCE:
strcat(dummy, _("(耐火炎+耐冷気+耐電撃+耐酸)", "(r.fire+r.cold+r.elec+r.acid)"));
- if (p_ptr->magic_num1[TR_RES_FIRE] < es_ptr->value) able[ctr] = FALSE;
- if (p_ptr->magic_num1[TR_RES_COLD] < es_ptr->value) able[ctr] = FALSE;
- if (p_ptr->magic_num1[TR_RES_ELEC] < es_ptr->value) able[ctr] = FALSE;
- if (p_ptr->magic_num1[TR_RES_ACID] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_FIRE] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_COLD] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_ELEC] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_ACID] < es_ptr->value) able[ctr] = FALSE;
break;
case ESSENCE_SUSTAIN:
strcat(dummy, _("(耐火炎+耐冷気+耐電撃+耐酸)", "(r.fire+r.cold+r.elec+r.acid)"));
- if (p_ptr->magic_num1[TR_RES_FIRE] < es_ptr->value) able[ctr] = FALSE;
- if (p_ptr->magic_num1[TR_RES_COLD] < es_ptr->value) able[ctr] = FALSE;
- if (p_ptr->magic_num1[TR_RES_ELEC] < es_ptr->value) able[ctr] = FALSE;
- if (p_ptr->magic_num1[TR_RES_ACID] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_FIRE] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_COLD] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_ELEC] < es_ptr->value) able[ctr] = FALSE;
+ if (creature_ptr->magic_num1[TR_RES_ACID] < es_ptr->value) able[ctr] = FALSE;
break;
}
}
if (es_ptr->essence != -1)
{
- sprintf(dummy2, "%-49s %3d/%d", dummy, es_ptr->value, (int)p_ptr->magic_num1[es_ptr->essence]);
+ sprintf(dummy2, "%-49s %3d/%d", dummy, es_ptr->value, (int)creature_ptr->magic_num1[es_ptr->essence]);
}
else
{
q = _("どのアイテムを改良しますか?", "Improve which item? ");
s = _("改良できるアイテムがありません。", "You have nothing to improve.");
- o_ptr = choose_object(p_ptr, &item, q, s, (USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), tval);
+ o_ptr = choose_object(creature_ptr, &item, q, s, (USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), tval);
if (!o_ptr) return;
if ((mode != 10) && (object_is_artifact(o_ptr) || object_is_smith(o_ptr)))
if (es_ptr->essence != -1)
{
- if (p_ptr->magic_num1[es_ptr->essence] < use_essence)
+ if (creature_ptr->magic_num1[es_ptr->essence] < use_essence)
{
msg_print(_("エッセンスが足りない。", "You don't have enough essences."));
return;
char tmp[80];
char tmp_val[160];
PARAMETER_VALUE pval;
- PARAMETER_VALUE limit = MIN(5, p_ptr->magic_num1[es_ptr->essence] / es_ptr->value);
+ PARAMETER_VALUE limit = MIN(5, creature_ptr->magic_num1[es_ptr->essence] / es_ptr->value);
sprintf(tmp, _("いくつ付加しますか? (1-%d): ", "Enchant how many? (1-%d): "), limit);
strcpy(tmp_val, "1");
msg_format(_("エッセンスを%d個使用します。", "It will take %d essences."), use_essence);
}
- if (p_ptr->magic_num1[es_ptr->essence] < use_essence)
+ if (creature_ptr->magic_num1[es_ptr->essence] < use_essence)
{
msg_print(_("エッセンスが足りない。", "You don't have enough essences."));
return;
HIT_POINT get_to_d;
strcpy(tmp_val, "1");
- if (!get_string(format(_("いくつ付加しますか? (1-%d):", "Enchant how many? (1-%d):"), p_ptr->lev / 7 + 3), tmp_val, 2)) return;
+ if (!get_string(format(_("いくつ付加しますか? (1-%d):", "Enchant how many? (1-%d):"), creature_ptr->lev / 7 + 3), tmp_val, 2)) return;
val = atoi(tmp_val);
- if (val > p_ptr->lev / 7 + 3) val = p_ptr->lev / 7 + 3;
+ if (val > creature_ptr->lev / 7 + 3) val = creature_ptr->lev / 7 + 3;
else if (val < 1) val = 1;
use_essence *= val;
msg_format(_("エッセンスを%d個使用します。", "It will take %d essences."), use_essence);
- if (p_ptr->magic_num1[es_ptr->essence] < use_essence)
+ if (creature_ptr->magic_num1[es_ptr->essence] < use_essence)
{
msg_print(_("エッセンスが足りない。", "You don't have enough essences."));
return;
o_ptr->to_h += get_to_h;
o_ptr->to_d += get_to_d;
}
- p_ptr->magic_num1[es_ptr->essence] -= use_essence;
+ creature_ptr->magic_num1[es_ptr->essence] -= use_essence;
if (es_ptr->add == ESSENCE_ATTACK)
{
- if ((o_ptr->to_h >= p_ptr->lev / 5 + 5) && (o_ptr->to_d >= p_ptr->lev / 5 + 5))
+ if ((o_ptr->to_h >= creature_ptr->lev / 5 + 5) && (o_ptr->to_d >= creature_ptr->lev / 5 + 5))
{
msg_print(_("改良に失敗した。", "You failed to enchant."));
- take_turn(p_ptr, 100);
+ take_turn(creature_ptr, 100);
return;
}
else
{
- if (o_ptr->to_h < p_ptr->lev / 5 + 5) o_ptr->to_h++;
- if (o_ptr->to_d < p_ptr->lev / 5 + 5) o_ptr->to_d++;
+ if (o_ptr->to_h < creature_ptr->lev / 5 + 5) o_ptr->to_h++;
+ if (o_ptr->to_d < creature_ptr->lev / 5 + 5) o_ptr->to_d++;
}
}
else if (es_ptr->add == ESSENCE_AC)
{
- if (o_ptr->to_a >= p_ptr->lev / 5 + 5)
+ if (o_ptr->to_a >= creature_ptr->lev / 5 + 5)
{
msg_print(_("改良に失敗した。", "You failed to enchant."));
- take_turn(p_ptr, 100);
+ take_turn(creature_ptr, 100);
return;
}
else
{
- if (o_ptr->to_a < p_ptr->lev / 5 + 5) o_ptr->to_a++;
+ if (o_ptr->to_a < creature_ptr->lev / 5 + 5) o_ptr->to_a++;
}
}
else
switch (es_ptr->add)
{
case ESSENCE_SH_FIRE:
- if ((p_ptr->magic_num1[TR_BRAND_FIRE] < use_essence) || (p_ptr->magic_num1[TR_RES_FIRE] < use_essence))
+ if ((creature_ptr->magic_num1[TR_BRAND_FIRE] < use_essence) || (creature_ptr->magic_num1[TR_RES_FIRE] < use_essence))
{
success = FALSE;
break;
}
- p_ptr->magic_num1[TR_BRAND_FIRE] -= use_essence;
- p_ptr->magic_num1[TR_RES_FIRE] -= use_essence;
+ creature_ptr->magic_num1[TR_BRAND_FIRE] -= use_essence;
+ creature_ptr->magic_num1[TR_RES_FIRE] -= use_essence;
break;
case ESSENCE_SH_ELEC:
- if ((p_ptr->magic_num1[TR_BRAND_ELEC] < use_essence) || (p_ptr->magic_num1[TR_RES_ELEC] < use_essence))
+ if ((creature_ptr->magic_num1[TR_BRAND_ELEC] < use_essence) || (creature_ptr->magic_num1[TR_RES_ELEC] < use_essence))
{
success = FALSE;
break;
}
- p_ptr->magic_num1[TR_BRAND_ELEC] -= use_essence;
- p_ptr->magic_num1[TR_RES_ELEC] -= use_essence;
+ creature_ptr->magic_num1[TR_BRAND_ELEC] -= use_essence;
+ creature_ptr->magic_num1[TR_RES_ELEC] -= use_essence;
break;
case ESSENCE_SH_COLD:
- if ((p_ptr->magic_num1[TR_BRAND_COLD] < use_essence) || (p_ptr->magic_num1[TR_RES_COLD] < use_essence))
+ if ((creature_ptr->magic_num1[TR_BRAND_COLD] < use_essence) || (creature_ptr->magic_num1[TR_RES_COLD] < use_essence))
{
success = FALSE;
break;
}
- p_ptr->magic_num1[TR_BRAND_COLD] -= use_essence;
- p_ptr->magic_num1[TR_RES_COLD] -= use_essence;
+ creature_ptr->magic_num1[TR_BRAND_COLD] -= use_essence;
+ creature_ptr->magic_num1[TR_RES_COLD] -= use_essence;
break;
case ESSENCE_RESISTANCE:
case ESSENCE_SUSTAIN:
- if ((p_ptr->magic_num1[TR_RES_ACID] < use_essence) || (p_ptr->magic_num1[TR_RES_ELEC] < use_essence) || (p_ptr->magic_num1[TR_RES_FIRE] < use_essence) || (p_ptr->magic_num1[TR_RES_COLD] < use_essence))
+ if ((creature_ptr->magic_num1[TR_RES_ACID] < use_essence) || (creature_ptr->magic_num1[TR_RES_ELEC] < use_essence) || (creature_ptr->magic_num1[TR_RES_FIRE] < use_essence) || (creature_ptr->magic_num1[TR_RES_COLD] < use_essence))
{
success = FALSE;
break;
}
- p_ptr->magic_num1[TR_RES_ACID] -= use_essence;
- p_ptr->magic_num1[TR_RES_ELEC] -= use_essence;
- p_ptr->magic_num1[TR_RES_FIRE] -= use_essence;
- p_ptr->magic_num1[TR_RES_COLD] -= use_essence;
+ creature_ptr->magic_num1[TR_RES_ACID] -= use_essence;
+ creature_ptr->magic_num1[TR_RES_ELEC] -= use_essence;
+ creature_ptr->magic_num1[TR_RES_FIRE] -= use_essence;
+ creature_ptr->magic_num1[TR_RES_COLD] -= use_essence;
break;
}
if (!success)
}
}
- take_turn(p_ptr, 100);
+ take_turn(creature_ptr, 100);
msg_format(_("%sに%sの能力を付加しました。", "You have added ability of %s to %s."), o_name, es_ptr->add_name);
- p_ptr->update |= (PU_COMBINE | PU_REORDER);
- p_ptr->window |= (PW_INVEN);
+ creature_ptr->update |= (PU_COMBINE | PU_REORDER);
+ creature_ptr->window |= (PW_INVEN);
}
/*!
mode = choose_essence();
if (mode == 0)
break;
- add_essence(mode);
+ add_essence(p_ptr, mode);
break;
- case 5: add_essence(10); break;
+ case 5: add_essence(p_ptr, 10); break;
}
}