if (hex_spelling_any(creature_ptr))
pow -= (1 + casting_hex_num(creature_ptr));
}
- if ((is_specific_player_race(creature_ptr, RACE_S_FAIRY)) && (creature_ptr->pseikaku != PERSONALITY_SEXY) && (creature_ptr->cursed & TRC_AGGRAVATE)) {
+ if (player_aggravate_state(creature_ptr) == AGGRAVATE_S_FAIRY) {
pow = MIN(pow - 3, (pow + 2) / 2);
}
pow -= 7;
}
- if (creature_ptr->pclass == CLASS_NINJA && heavy_armor(creature_ptr)) {
- pow -= (creature_ptr->lev) / 10;
- } else if ((!creature_ptr->inventory_list[INVEN_RARM].k_idx || has_right_hand_weapon(creature_ptr))
- && (!creature_ptr->inventory_list[INVEN_LARM].k_idx || has_left_hand_weapon(creature_ptr))) {
- pow += (creature_ptr->lev) / 10;
+ if (creature_ptr->pclass == CLASS_NINJA) {
+ if (heavy_armor(creature_ptr)) {
+ pow -= (creature_ptr->lev) / 10;
+ } else if ((!creature_ptr->inventory_list[INVEN_RARM].k_idx || has_right_hand_weapon(creature_ptr))
+ && (!creature_ptr->inventory_list[INVEN_LARM].k_idx || has_left_hand_weapon(creature_ptr))) {
+ pow += (creature_ptr->lev) / 10;
+ }
}
if (is_time_limit_stealth(creature_ptr))
{
object_type *o_ptr;
BIT_FLAGS flgs[TR_FLAG_SIZE];
- s16b num_blow = 0;
+ s16b num_blow = 1;
o_ptr = &creature_ptr->inventory_list[INVEN_RARM + i];
object_flags(creature_ptr, o_ptr, flgs);
creature_ptr->heavy_wield[i] = FALSE;
- if (!has_melee_weapon(creature_ptr, INVEN_RARM + i)) {
- num_blow = 1;
- } else {
+ if (has_melee_weapon(creature_ptr, INVEN_RARM + i)) {
if (calc_weapon_weight_limit(creature_ptr) < o_ptr->weight / 10) {
creature_ptr->heavy_wield[i] = TRUE;
}
bonus_to_d = (o_ptr->to_d + 1) / 2;
}
- if ((i == INVEN_LEFT || i == INVEN_RIGHT) && !has_two_handed_weapons(creature_ptr)) {
+ if ((i == INVEN_LEFT || i == INVEN_RIGHT) && has_two_handed_weapons(creature_ptr)) {
damage += (s16b)bonus_to_d;
- } else if (has_right_hand_weapon(creature_ptr) && has_left_hand_weapon(creature_ptr)) {
- if (id == 0)
- damage += (bonus_to_d > 0) ? (bonus_to_d + 1) / 2 : bonus_to_d;
- if (id == 1)
- damage += (bonus_to_d > 0) ? bonus_to_d / 2 : bonus_to_d;
- } else if (id == get_default_hand(creature_ptr)) {
+ } else if ((has_right_hand_weapon(creature_ptr) && id == 0 && i == INVEN_RIGHT)) {// || (has_left_hand_weapon(creature_ptr) && id == 1 && i == INVEN_LEFT)) {
damage += (s16b)bonus_to_d;
}
}