paid = TRUE;
break;
case BACT_IDENT_ONE: /* needs work */
- paid = ident_spell(FALSE);
+ paid = ident_spell(p_ptr, FALSE);
break;
case BACT_LEARN:
do_cmd_study(p_ptr);
case ACT_ID_PLAIN:
{
- if (!ident_spell(FALSE)) return FALSE;
+ if (!ident_spell(user_ptr, FALSE)) return FALSE;
break;
}
case SV_SCROLL_IDENTIFY:
{
- if (!ident_spell(FALSE)) used_up = FALSE;
+ if (!ident_spell(creature_ptr, FALSE)) used_up = FALSE;
ident = TRUE;
break;
}
if (!identify_fully(FALSE)) *use_charge = FALSE;
}
else {
- if (!ident_spell(FALSE)) *use_charge = FALSE;
+ if (!ident_spell(creature_ptr, FALSE)) *use_charge = FALSE;
}
ident = TRUE;
break;
if (!identify_fully(FALSE)) *use_charge = FALSE;
}
else {
- if (!ident_spell(FALSE)) *use_charge = FALSE;
+ if (!ident_spell(creature_ptr, FALSE)) *use_charge = FALSE;
}
ident = TRUE;
break;
if (plev < 25)
return psychometry();
else
- return ident_spell(FALSE);
+ return ident_spell(caster_ptr, FALSE);
case 8:
/* Mindwave */
msg_print(_("精神を捻じ曲げる波動を発生させた!", "Mind-warping forces emanate from your brain!"));
break;
}
case 7:
- return ident_spell(FALSE);
+ return ident_spell(caster_ptr, FALSE);
case 8:
set_tim_levitation(caster_ptr, randint1(20) + 20, FALSE);
break;
}
else
{
- if (!ident_spell(TRUE)) return FALSE;
+ if (!ident_spell(creature_ptr, TRUE)) return FALSE;
}
break;
}
{
if (cast)
{
- if (!ident_spell(FALSE)) return NULL;
+ if (!ident_spell(caster_ptr, FALSE)) return NULL;
}
}
break;
{
if (randint1(50) > plev)
{
- if (!ident_spell(FALSE)) return NULL;
+ if (!ident_spell(caster_ptr, FALSE)) return NULL;
}
else
{
}
else
{
- if (!ident_spell(TRUE)) return NULL;
+ if (!ident_spell(caster_ptr, TRUE)) return NULL;
}
}
break;
{
if (cast)
{
- if (!ident_spell(FALSE)) return NULL;
+ if (!ident_spell(caster_ptr, FALSE)) return NULL;
}
}
break;
{
if (cast)
{
- if (!ident_spell(FALSE)) return NULL;
+ if (!ident_spell(caster_ptr, FALSE)) return NULL;
}
}
break;
bool perilous_secrets(player_type *user_ptr)
{
- if (!ident_spell(FALSE)) return FALSE;
+ if (!ident_spell(user_ptr, FALSE)) return FALSE;
if (mp_ptr->spell_book)
{
extern bool alchemy(void);
extern bool artifact_scroll(void);
-extern bool ident_spell(bool only_equip);
+extern bool ident_spell(player_type *caster_ptr, bool only_equip);
extern bool mundane_spell(bool only_equip);
extern bool identify_item(object_type *o_ptr);
extern bool identify_fully(bool only_equip);
* This routine does *not* automatically combine objects.
* Returns TRUE if something was identified, else FALSE.
*/
-bool ident_spell(bool only_equip)
+bool ident_spell(player_type *caster_ptr, bool only_equip)
{
OBJECT_IDX item;
object_type *o_ptr;
GAME_TEXT o_name[MAX_NLEN];
- concptr q, s;
+ concptr q, s;
bool old_known;
if (only_equip)
s = _("鑑定するべきアイテムがない。", "You have nothing to identify.");
- o_ptr = choose_object(p_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), 0);
+ o_ptr = choose_object(caster_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), 0);
if (!o_ptr) return (FALSE);
old_known = identify_item(o_ptr);
/* Identify */
case 'i':
- (void)ident_spell(FALSE);
+ (void)ident_spell(creature_ptr, FALSE);
break;
/* Go up or down in the dungeon */