case ACT_DISP_CURSE_XTRA:
{
msg_format(_("%sが真実を照らし出す...", "The %s exhibits the truth..."), name);
- (void)remove_all_curse();
+ (void)remove_all_curse(user_ptr);
(void)probing();
break;
}
case SV_SCROLL_REMOVE_CURSE:
{
- if (remove_curse())
+ if (remove_curse(creature_ptr))
{
ident = TRUE;
}
case SV_SCROLL_STAR_REMOVE_CURSE:
{
- if (remove_all_curse())
+ if (remove_all_curse(creature_ptr))
{
ident = TRUE;
}
case SV_STAFF_REMOVE_CURSE:
{
- bool result = powerful ? remove_all_curse() : remove_curse();
+ bool result = powerful ? remove_all_curse(creature_ptr) : remove_curse(creature_ptr);
if (result)
{
ident = TRUE;
if (desc) return _("アイテムにかかった弱い呪いを解除する。", "Removes normal curses from equipped items.");
{
- if (cast) (void)remove_curse();
+ if (cast) (void)remove_curse(caster_ptr);
}
break;
if (desc) return _("アイテムにかかった強力な呪いを解除する。", "Removes normal and heavy curse from equipped items.");
{
- if (cast) (void)remove_all_curse();
+ if (cast) (void)remove_all_curse(caster_ptr);
}
break;
if (name) return _("解呪", "Remove Curse");
if (desc) return _("アイテムにかかった弱い呪いを解除する。", "Removes normal curses from equipped items.");
{
- if (cast) (void)remove_curse();
+ if (cast) (void)remove_curse(caster_ptr);
}
break;
if (desc) return _("アイテムにかかった強力な呪いを解除する。", "Removes normal and heavy curse from equipped items.");
{
- if (cast) (void)remove_all_curse();
+ if (cast) (void)remove_all_curse(caster_ptr);
}
break;
if (name) return _("解呪", "Remove Curse");
if (desc) return _("アイテムにかかった弱い呪いを解除する。", "Removes normal curses from equipped items.");
{
- if (cast) (void)remove_curse();
+ if (cast) (void)remove_curse(caster_ptr);
}
break;
if (name) return _("*解呪*", "Dispel Curse");
if (desc) return _("アイテムにかかった強力な呪いを解除する。", "Removes normal and heavy curse from equipped items.");
{
- if (cast) (void)remove_all_curse();
+ if (cast) (void)remove_all_curse(caster_ptr);
}
break;
extern void fetch(player_type *caster_ptr, DIRECTION dir, WEIGHT wgt, bool require_los);
extern void alter_reality(void);
extern void identify_pack(void);
-extern int remove_curse(void);
-extern int remove_all_curse(void);
+extern int remove_curse(player_type *caster_ptr);
+extern int remove_all_curse(player_type *caster_ptr);
extern bool alchemy(void);
extern bool artifact_scroll(void);
* will not be uncursed.
* </pre>
*/
-static int remove_curse_aux(int all)
+static int remove_curse_aux(player_type *creature_ptr, int all)
{
int i, cnt = 0;
/* Attempt to uncurse items being worn */
for (i = INVEN_RARM; i < INVEN_TOTAL; i++)
{
- object_type *o_ptr = &p_ptr->inventory_list[i];
+ object_type *o_ptr = &creature_ptr->inventory_list[i];
if (!o_ptr->k_idx) continue;
/* Uncursed already */
o_ptr->ident |= (IDENT_SENSE);
o_ptr->feeling = FEEL_NONE;
- p_ptr->update |= (PU_BONUS);
- p_ptr->window |= (PW_EQUIP);
+ creature_ptr->update |= (PU_BONUS);
+ creature_ptr->window |= (PW_EQUIP);
/* Count the uncursings */
cnt++;
* Remove most curses
* @return 解呪に成功した装備数
*/
-int remove_curse(void)
+int remove_curse(player_type *caster_ptr)
{
- return (remove_curse_aux(FALSE));
+ return (remove_curse_aux(caster_ptr, FALSE));
}
/*!
* Remove all curses
* @return 解呪に成功した装備数
*/
-int remove_all_curse(void)
+int remove_all_curse(player_type *caster_ptr)
{
- return (remove_curse_aux(TRUE));
+ return (remove_curse_aux(caster_ptr, TRUE));
}