OSDN Git Service

[Refactor] BIT演算マクロへの置換を進める。racial-switcher.c
[hengbandforosx/hengbandosx.git] / src / racial / racial-switcher.c
index ee58f6d..e158a10 100644 (file)
 #include "mind/mind-archer.h"
 #include "mind/mind-cavalry.h"
 #include "mind/mind-force-trainer.h"
+#include "mind/mind-hobbit.h"
 #include "mind/mind-mage.h"
 #include "mind/mind-magic-eater.h"
 #include "mind/mind-mirror-master.h"
 #include "mind/mind-monk.h"
 #include "mind/mind-ninja.h"
+#include "mind/mind-priest.h"
 #include "mind/mind-samurai.h"
 #include "mind/mind-warrior-mage.h"
 #include "mind/mind-warrior.h"
 #include "spell-kind/spells-world.h"
 #include "spell-realm/spells-hex.h"
 #include "spell/spell-types.h"
-#include "spell/spells-object.h"
 #include "spell/spells-status.h"
 #include "status/action-setter.h"
 #include "status/bad-status-setter.h"
 #include "status/buff-setter.h"
 #include "status/experience.h"
 #include "target/target-getter.h"
+#include "util/bit-flags-calculator.h"
 #include "util/int-char-converter.h"
 #include "view/display-messages.h"
 
@@ -127,7 +129,7 @@ bool switch_class_racial_execution(player_type *creature_ptr, const s32b command
     case CLASS_CHAOS_WARRIOR:
         return confusing_light(creature_ptr);
     case CLASS_MONK:
-        if (!(empty_hands(creature_ptr, TRUE) & EMPTY_HAND_RARM)) {
+        if (none_bits(empty_hands(creature_ptr, TRUE), EMPTY_HAND_MAIN)) {
             msg_print(_("素手じゃないとできません。", "You need to be barehanded."));
             return FALSE;
         }
@@ -141,7 +143,7 @@ bool switch_class_racial_execution(player_type *creature_ptr, const s32b command
             if (!choose_monk_stance(creature_ptr))
                 return FALSE;
 
-            creature_ptr->update |= PU_BONUS;
+            set_bits(creature_ptr->update, PU_BONUS);
             return TRUE;
         }
 
@@ -213,7 +215,7 @@ bool switch_class_racial_execution(player_type *creature_ptr, const s32b command
         if (command != -4)
             return TRUE;
 
-        if (!has_melee_weapon(creature_ptr, INVEN_RARM) && !has_melee_weapon(creature_ptr, INVEN_LARM)) {
+        if (!has_melee_weapon(creature_ptr, INVEN_MAIN_HAND) && !has_melee_weapon(creature_ptr, INVEN_SUB_HAND)) {
             msg_print(_("武器を持たないといけません。", "You need to wield a weapon."));
             return FALSE;
         }
@@ -221,7 +223,7 @@ bool switch_class_racial_execution(player_type *creature_ptr, const s32b command
         if (!choose_kata(creature_ptr))
             return FALSE;
 
-        creature_ptr->update |= PU_BONUS;
+        set_bits(creature_ptr->update, PU_BONUS);
         return TRUE;
     case CLASS_BLUE_MAGE:
         set_action(creature_ptr, creature_ptr->action == ACTION_LEARN ? ACTION_NONE : ACTION_LEARN);
@@ -295,10 +297,10 @@ bool switch_race_racial_execution(player_type *creature_ptr, const s32b command)
     case RACE_AMBERITE:
         if (command == -1) {
             msg_print(_("あなたは歩き周り始めた。", "You start walking around. "));
-            reserve_alter_reality(creature_ptr);
+            reserve_alter_reality(creature_ptr, randint0(21) + 15);
             return TRUE;
         }
-        
+
         if (command != -2)
             return TRUE;
 
@@ -313,7 +315,7 @@ bool switch_race_racial_execution(player_type *creature_ptr, const s32b command)
         return TRUE;
     case RACE_HALF_OGRE:
         msg_print(_("爆発のルーンを慎重に仕掛けた...", "You carefully set an explosive rune..."));
-        (void)explosive_rune(creature_ptr, creature_ptr->y, creature_ptr->x);
+        (void)create_rune_explosion(creature_ptr, creature_ptr->y, creature_ptr->x);
         return TRUE;
     case RACE_HALF_GIANT:
         if (!get_aim_dir(creature_ptr, &dir))
@@ -356,7 +358,7 @@ bool switch_race_racial_execution(player_type *creature_ptr, const s32b command)
         if (!get_aim_dir(creature_ptr, &dir))
             return FALSE;
 
-        msg_print(_("毒のダーツを投げた。", "You throw a dart of poison."));
+        msg_print(_("毒のダーツを投げた。", "You throw a poisoned dart."));
         (void)fire_bolt(creature_ptr, GF_POIS, dir, creature_ptr->lev);
         return TRUE;
     case RACE_NIBELUNG: