{
BIT_FLAGS result = 0L;
- result = FALSE;
if (creature_ptr->pclass == CLASS_MINDCRAFTER && creature_ptr->lev > 19)
result |= 0x01U << FLAG_CAUSE_CLASS;
{
BIT_FLAGS result = 0L;
- if (creature_ptr->muta3 & MUT3_WINGS)
- result = FLAG_CAUSE_MUTATION;
+ if (creature_ptr->muta3 & MUT3_WINGS) {
+ result |= 0x01U << FLAG_CAUSE_MUTATION;
+ }
if (creature_ptr->mimic_form == MIMIC_DEMON_LORD) {
- result = FLAG_CAUSE_RACE;
+ result |= 0x01U << FLAG_CAUSE_RACE;
}
if (is_specific_player_race(creature_ptr, RACE_DRACONIAN) || is_specific_player_race(creature_ptr, RACE_SPECTRE)
|| is_specific_player_race(creature_ptr, RACE_SPRITE) || is_specific_player_race(creature_ptr, RACE_ARCHON)
|| is_specific_player_race(creature_ptr, RACE_S_FAIRY)) {
- result = FLAG_CAUSE_RACE;
+ result |= 0x01U << FLAG_CAUSE_RACE;
}
if (creature_ptr->special_defense & KAMAE_SEIRYU || creature_ptr->special_defense & KAMAE_SUZAKU || (creature_ptr->special_defense & KATA_MUSOU)) {
- result = FLAG_CAUSE_BATTLE_FORM;
+ result |= 0x01U << FLAG_CAUSE_BATTLE_FORM;
}
- if (creature_ptr->ult_res) {
+ if (creature_ptr->ult_res || creature_ptr->magicdef) {
result |= 0x01U << FLAG_CAUSE_MAGIC_TIME_EFFECT;
}
BIT_FLAGS result = 0L;
if (creature_ptr->pclass == CLASS_NINJA) {
- result = FLAG_CAUSE_CLASS;
+ result |= 0x01U << FLAG_CAUSE_CLASS;
}
if (creature_ptr->lev > 14 && !creature_ptr->mimic_form && creature_ptr->prace == RACE_HALF_TROLL) {
if (creature_ptr->pclass == CLASS_WARRIOR || creature_ptr->pclass == CLASS_BERSERKER) {
- result = FLAG_CAUSE_CLASS;
+ result |= 0x01U << FLAG_CAUSE_CLASS;
/* Let's not make Regeneration
* a disadvantage for the poor warriors who can
* never learn a spell that satisfies hunger (actually
}
if (creature_ptr->special_defense & KATA_MUSOU) {
- result = FLAG_CAUSE_BATTLE_FORM;
+ result |= 0x01U << FLAG_CAUSE_BATTLE_FORM;
}
if (creature_ptr->ult_res) {
if (!creature_ptr->mimic_form
&& (creature_ptr->prace == RACE_GOLEM || creature_ptr->prace == RACE_ZOMBIE || creature_ptr->prace == RACE_SPECTRE
|| creature_ptr->prace == RACE_ANDROID)) {
- result = FLAG_CAUSE_RACE;
+ result |= 0x01U << FLAG_CAUSE_RACE;
}
result |= check_equipment_flags(creature_ptr, TR_SLOW_DIGEST);
object_type *o_ptr = &creature_ptr->inventory_list[INVEN_MAIN_HAND + i];
object_flags(creature_ptr, o_ptr, flgs);
- bool is_bare_hands = o_ptr->tval == TV_NONE;
+ bool has_no_weapon = (o_ptr->tval == TV_NONE) || (o_ptr->tval == TV_SHIELD);
if (creature_ptr->pclass == CLASS_PRIEST) {
bool is_suitable_weapon = has_flag(flgs, TR_BLESSED);
- is_suitable_weapon |= o_ptr->tval != TV_SWORD;
- is_suitable_weapon |= o_ptr->tval != TV_POLEARM;
- return !is_bare_hands && !is_suitable_weapon;
+ is_suitable_weapon |= (o_ptr->tval != TV_SWORD) && (o_ptr->tval != TV_POLEARM);
+ return !has_no_weapon && !is_suitable_weapon;
}
if (creature_ptr->pclass == CLASS_SORCERER) {
bool is_suitable_weapon = o_ptr->tval == TV_HAFTED;
is_suitable_weapon &= (o_ptr->sval == SV_WIZSTAFF) || (o_ptr->sval == SV_NAMAKE_HAMMER);
- return !is_bare_hands && !is_suitable_weapon;
+ return !has_no_weapon && !is_suitable_weapon;
}
if (has_not_monk_weapon(creature_ptr, i) || has_not_ninja_weapon(creature_ptr, i))