switch (slot)
{
case INVEN_RARM:
- if (object_allow_two_hands_wielding(o_ptr) && (empty_hands(FALSE) == EMPTY_HAND_LARM) && CAN_TWO_HANDS_WIELDING())
+ if (object_allow_two_hands_wielding(o_ptr) && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_LARM) && CAN_TWO_HANDS_WIELDING())
act = STR_WIELD_ARMS;
else
act = (left_hander ? STR_WIELD_LARM : STR_WIELD_RARM);
break;
case INVEN_LARM:
- if (object_allow_two_hands_wielding(o_ptr) && (empty_hands(FALSE) == EMPTY_HAND_RARM) && CAN_TWO_HANDS_WIELDING())
+ if (object_allow_two_hands_wielding(o_ptr) && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_RARM) && CAN_TWO_HANDS_WIELDING())
act = STR_WIELD_ARMS;
else
act = (left_hander ? STR_WIELD_RARM : STR_WIELD_LARM);
if (object_allow_two_hands_wielding(o_ptr) && CAN_TWO_HANDS_WIELDING())
msg_format(_("%sを両手で構えた。", "You are wielding %s with both hands."), o_name);
}
- else if (!(empty_hands(FALSE) & EMPTY_HAND_RARM) && !object_is_cursed(o_ptr))
+ else if (!(empty_hands(p_ptr, FALSE) & EMPTY_HAND_RARM) && !object_is_cursed(o_ptr))
{
new_o_ptr = &p_ptr->inventory_list[INVEN_LARM];
object_copy(new_o_ptr, o_ptr);
if (p_ptr->riding)
{
- if ((p_ptr->migite && (empty_hands(FALSE) == EMPTY_HAND_LARM) &&
+ if ((p_ptr->migite && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_LARM) &&
object_allow_two_hands_wielding(&p_ptr->inventory_list[INVEN_RARM])) ||
- (p_ptr->hidarite && (empty_hands(FALSE) == EMPTY_HAND_RARM) &&
+ (p_ptr->hidarite && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_RARM) &&
object_allow_two_hands_wielding(&p_ptr->inventory_list[INVEN_LARM])))
{
if (p_ptr->pet_extra_flags & PF_RYOUTE)
case CLASS_MONK:
case CLASS_FORCETRAINER:
case CLASS_BERSERKER:
- if (empty_hands(FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))
+ if (empty_hands(p_ptr, FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))
{
if (p_ptr->pet_extra_flags & PF_RYOUTE)
{
powers[num++] = PET_RYOUTE;
}
- else if ((empty_hands(FALSE) != EMPTY_HAND_NONE) && !has_melee_weapon(INVEN_RARM) && !has_melee_weapon(INVEN_LARM))
+ else if ((empty_hands(p_ptr, FALSE) != EMPTY_HAND_NONE) && !has_melee_weapon(INVEN_RARM) && !has_melee_weapon(INVEN_LARM))
{
if (p_ptr->pet_extra_flags & PF_RYOUTE)
{
{
display_player_melee_bonus(1, left_hander ? ENTRY_RIGHT_HAND2: ENTRY_LEFT_HAND2);
}
- else if ((p_ptr->pclass == CLASS_MONK) && (empty_hands(TRUE) & EMPTY_HAND_RARM))
+ else if ((p_ptr->pclass == CLASS_MONK) && (empty_hands(p_ptr, TRUE) & EMPTY_HAND_RARM))
{
int i;
if (p_ptr->special_defense & KAMAE_MASK)
for(i = 0; i < 2; i++)
{
damage[i] = p_ptr->dis_to_d[i] * 100;
- if (((p_ptr->pclass == CLASS_MONK) || (p_ptr->pclass == CLASS_FORCETRAINER)) && (empty_hands(TRUE) & EMPTY_HAND_RARM))
+ if (((p_ptr->pclass == CLASS_MONK) || (p_ptr->pclass == CLASS_FORCETRAINER)) && (empty_hands(p_ptr, TRUE) & EMPTY_HAND_RARM))
{
PLAYER_LEVEL level = p_ptr->lev;
if (i)
case CLASS_MONK:
case CLASS_FORCETRAINER:
case CLASS_BERSERKER:
- if ((empty_hands(TRUE) & EMPTY_HAND_RARM) && !p_ptr->riding) monk_attack = TRUE;
+ if ((empty_hands(p_ptr, TRUE) & EMPTY_HAND_RARM) && !p_ptr->riding) monk_attack = TRUE;
break;
}
!(p_ptr->muta2 & (MUT2_HORNS | MUT2_BEAK | MUT2_SCOR_TAIL | MUT2_TRUNK | MUT2_TENTACLES)))
{
msg_format(_("%s攻撃できない。", "You cannot do attacking."),
- (empty_hands(FALSE) == EMPTY_HAND_NONE) ? _("両手がふさがって", "") : "");
+ (empty_hands(p_ptr, FALSE) == EMPTY_HAND_NONE) ? _("両手がふさがって", "") : "");
return FALSE;
}
int i, j, hold;
int new_speed;
int default_hand = 0;
- int empty_hands_status = empty_hands(TRUE);
+ int empty_hands_status = empty_hands(p_ptr, TRUE);
int extra_blows[2];
object_type *o_ptr;
BIT_FLAGS flgs[TR_FLAG_SIZE];
if (CAN_TWO_HANDS_WIELDING())
{
- if (p_ptr->migite && (empty_hands(FALSE) == EMPTY_HAND_LARM) &&
+ if (p_ptr->migite && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_LARM) &&
object_allow_two_hands_wielding(&p_ptr->inventory_list[INVEN_RARM]))
{
p_ptr->ryoute = TRUE;
}
- else if (p_ptr->hidarite && (empty_hands(FALSE) == EMPTY_HAND_RARM) &&
+ else if (p_ptr->hidarite && (empty_hands(p_ptr, FALSE) == EMPTY_HAND_RARM) &&
object_allow_two_hands_wielding(&p_ptr->inventory_list[INVEN_LARM]))
{
p_ptr->ryoute = TRUE;
case CLASS_MONK:
case CLASS_FORCETRAINER:
case CLASS_BERSERKER:
- if (empty_hands(FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))
+ if (empty_hands(p_ptr, FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))
{
p_ptr->migite = TRUE;
p_ptr->ryoute = TRUE;
p_ptr->riding_ryoute = FALSE;
- if (p_ptr->ryoute || (empty_hands(FALSE) == EMPTY_HAND_NONE)) p_ptr->riding_ryoute = TRUE;
+ if (p_ptr->ryoute || (empty_hands(p_ptr, FALSE) == EMPTY_HAND_NONE)) p_ptr->riding_ryoute = TRUE;
else if (p_ptr->pet_extra_flags & PF_RYOUTE)
{
switch (p_ptr->pclass)
case CLASS_MONK:
case CLASS_FORCETRAINER:
case CLASS_BERSERKER:
- if ((empty_hands(FALSE) != EMPTY_HAND_NONE) && !has_melee_weapon(INVEN_RARM) && !has_melee_weapon(INVEN_LARM))
+ if ((empty_hands(p_ptr, FALSE) != EMPTY_HAND_NONE) && !has_melee_weapon(INVEN_RARM) && !has_melee_weapon(INVEN_LARM))
p_ptr->riding_ryoute = TRUE;
break;
}
p_ptr->dis_to_d[default_hand] += MAX(bonus_to_d, 1);
}
- if (((p_ptr->pclass == CLASS_MONK) || (p_ptr->pclass == CLASS_FORCETRAINER) || (p_ptr->pclass == CLASS_BERSERKER)) && (empty_hands(FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))) p_ptr->ryoute = FALSE;
+ if (((p_ptr->pclass == CLASS_MONK) || (p_ptr->pclass == CLASS_FORCETRAINER) || (p_ptr->pclass == CLASS_BERSERKER)) && (empty_hands(p_ptr, FALSE) == (EMPTY_HAND_RARM | EMPTY_HAND_LARM))) p_ptr->ryoute = FALSE;
/* Affect Skill -- stealth (bonus one) */
p_ptr->skill_stl += 1;
if (p_ptr->riding_ryoute)
{
#ifdef JP
- msg_format("%s馬を操れない。", (empty_hands(FALSE) == EMPTY_HAND_NONE) ? "両手がふさがっていて" : "");
+ msg_format("%s馬を操れない。", (empty_hands(p_ptr, FALSE) == EMPTY_HAND_NONE) ? "両手がふさがっていて" : "");
#else
msg_print("You are using both hand for fighting, and you can't control a riding pet.");
#endif
else
{
#ifdef JP
- msg_format("%s馬を操れるようになった。", (empty_hands(FALSE) == EMPTY_HAND_NONE) ? "手が空いて" : "");
+ msg_format("%s馬を操れるようになった。", (empty_hands(p_ptr, FALSE) == EMPTY_HAND_NONE) ? "手が空いて" : "");
#else
msg_print("You began to control riding pet with one hand.");
#endif
* @param riding_control 乗馬中により片手を必要としている状態ならばTRUEを返す。
* @return 開いている手のビットフラグ
*/
-BIT_FLAGS16 empty_hands(bool riding_control)
+BIT_FLAGS16 empty_hands(player_type *creature_ptr, bool riding_control)
{
BIT_FLAGS16 status = EMPTY_HAND_NONE;
- if (!p_ptr->inventory_list[INVEN_RARM].k_idx) status |= EMPTY_HAND_RARM;
- if (!p_ptr->inventory_list[INVEN_LARM].k_idx) status |= EMPTY_HAND_LARM;
+ if (!creature_ptr->inventory_list[INVEN_RARM].k_idx) status |= EMPTY_HAND_RARM;
+ if (!creature_ptr->inventory_list[INVEN_LARM].k_idx) status |= EMPTY_HAND_LARM;
- if (riding_control && (status != EMPTY_HAND_NONE) && p_ptr->riding && !(p_ptr->pet_extra_flags & PF_RYOUTE))
+ if (riding_control && (status != EMPTY_HAND_NONE) && creature_ptr->riding && !(creature_ptr->pet_extra_flags & PF_RYOUTE))
{
if (status & EMPTY_HAND_LARM) status &= ~(EMPTY_HAND_LARM);
else if (status & EMPTY_HAND_RARM) status &= ~(EMPTY_HAND_RARM);
extern bool heavy_armor(player_type *creature_ptr);
extern void update_creature(player_type *creature_ptr);
-extern BIT_FLAGS16 empty_hands(bool riding_control);
+extern BIT_FLAGS16 empty_hands(player_type *creature_ptr, bool riding_control);
extern bool player_has_no_spellbooks(player_type *creature_ptr);
extern void take_turn(player_type *creature_ptr, PERCENTAGE need_cost);
}
case CLASS_MONK:
{
- if (!(empty_hands(TRUE) & EMPTY_HAND_RARM))
+ if (!(empty_hands(p_ptr, TRUE) & EMPTY_HAND_RARM))
{
msg_print(_("素手じゃないとできません。", "You need to be bare hand."));
return FALSE;
#ifdef JP
msg_print("あなたの武器が黒く輝いた。");
#else
- if (!empty_hands(FALSE))
+ if (!empty_hands(p_ptr, FALSE))
msg_print("Your weapons glow bright black.");
else
msg_print("Your weapon glows bright black.");
#ifdef JP
msg_print("武器の輝きが消え去った。");
#else
- msg_format("Brightness of weapon%s disappeared.", (empty_hands(FALSE)) ? "" : "s");
+ msg_format("Brightness of weapon%s disappeared.", (empty_hands(p_ptr, FALSE)) ? "" : "s");
#endif
}
break;
#ifdef JP
msg_print("あなたの武器が血を欲している。");
#else
- if (!empty_hands(FALSE))
+ if (!empty_hands(p_ptr, FALSE))
msg_print("Your weapons want more blood now.");
else
msg_print("Your weapon wants more blood now.");
#ifdef JP
msg_print("武器の渇望が消え去った。");
#else
- msg_format("Thirsty of weapon%s disappeared.", (empty_hands(FALSE)) ? "" : "s");
+ msg_format("Thirsty of weapon%s disappeared.", (empty_hands(p_ptr, FALSE)) ? "" : "s");
#endif
}
break;