OSDN Git Service

[Refactor] #40634 Moved get_bloody_moon_flags() from spells-object.c/h to bloody...
authorHourier <hourier@users.sourceforge.jp>
Wed, 19 Aug 2020 04:57:12 +0000 (13:57 +0900)
committerHourier <hourier@users.sourceforge.jp>
Wed, 19 Aug 2020 05:00:53 +0000 (14:00 +0900)
src/artifact/fixed-art-generator.c
src/specific-object/bloody-moon.c
src/specific-object/bloody-moon.h
src/spell/spells-object.c
src/spell/spells-object.h

index 29aa13c..3364ded 100644 (file)
@@ -24,7 +24,7 @@
 #include "object/object-generator.h"
 #include "object/object-kind-hook.h"
 #include "object/object-kind.h"
-#include "spell/spells-object.h"
+#include "specific-object/bloody-moon.h"
 #include "system/artifact-type-definition.h"
 #include "system/floor-type-definition.h"
 #include "system/system-variables.h"
index d135533..2c3beb6 100644 (file)
@@ -1,11 +1,57 @@
 #include "specific-object/bloody-moon.h"
 #include "art-definition/art-weapon-types.h"
 #include "core/player-update-types.h"
+#include "object-enchant/object-boost.h"
+#include "object-enchant/tr-types.h"
 #include "racial/racial-android.h"
-#include "spell/spells-object.h" // get_bloody_moon_flags() \82ª\88Ë\91\81A\8cã\82Å\88ø\82Á\89z\82·.
+#include "system/artifact-type-definition.h"
 #include "system/object-type-definition.h"
+#include "util/bit-flags-calculator.h"
 #include "view/display-messages.h"
 
+/*!
+ * @brief \8cÅ\92è\83A\81[\83e\83B\83t\83@\83N\83g\81w\83u\83\89\83b\83f\83B\83\80\81[\83\93\81x\82Ì\93Á\90«\82ð\95Ï\8dX\82·\82é\81B
+ * @details \83X\83\8c\83C2d2\8eí\81A\8by\82Ñone_resistance()\82É\82æ\82é\91Ï\90«1d2\8eí\81Apval2\8eí\82ð\93¾\82é\81B
+ * @param o_ptr \91Î\8fÛ\82Ì\83I\83u\83W\83F\83N\83g\8d\\91¢\91Ì (\83u\83\89\83b\83f\83B\83\80\81[\83\93)\82Ì\83|\83C\83\93\83^
+ * @return \82È\82µ
+ */
+void get_bloody_moon_flags(object_type *o_ptr)
+{
+    for (int i = 0; i < TR_FLAG_SIZE; i++)
+        o_ptr->art_flags[i] = a_info[ART_BLOOD].flags[i];
+
+    int dummy = randint1(2) + randint1(2);
+    for (int i = 0; i < dummy; i++) {
+        int flag = randint0(26);
+        if (flag >= 20)
+            add_flag(o_ptr->art_flags, TR_KILL_UNDEAD + flag - 20);
+        else if (flag == 19)
+            add_flag(o_ptr->art_flags, TR_KILL_ANIMAL);
+        else if (flag == 18)
+            add_flag(o_ptr->art_flags, TR_SLAY_HUMAN);
+        else
+            add_flag(o_ptr->art_flags, TR_CHAOTIC + flag);
+    }
+
+    dummy = randint1(2);
+    for (int i = 0; i < dummy; i++)
+        one_resistance(o_ptr);
+
+    for (int i = 0; i < 2; i++) {
+        int tmp = randint0(11);
+        if (tmp < A_MAX)
+            add_flag(o_ptr->art_flags, TR_STR + tmp);
+        else
+            add_flag(o_ptr->art_flags, TR_STEALTH + tmp - 6);
+    }
+}
+
+/*!
+ * @brief Let's dance a RONDO!!
+ * @param user_ptr \83v\83\8c\81[\83\84\81[\82Ö\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
+ * @param o_ptr \83u\83\89\83b\83f\83B\81E\83\80\81[\83\93\82Ö\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
+ * @return \83I\83u\83W\83F\83N\83g\8fî\95ñ\82É\88Ù\8fí\82ª\82È\82¢\8cÀ\82èTRUE
+ */
 bool activate_bloody_moon(player_type *user_ptr, object_type *o_ptr)
 {
     if (o_ptr->name1 != ART_BLOOD)
index 993be28..1a9dcf7 100644 (file)
@@ -2,4 +2,5 @@
 
 #include "system/angband.h"
 
+void get_bloody_moon_flags(object_type *o_ptr);
 bool activate_bloody_moon(player_type *user_ptr, object_type *o_ptr);
index ca96125..00d9db7 100644 (file)
@@ -6,7 +6,6 @@
 
 #include "spell/spells-object.h"
 #include "action/action-limited.h"
-#include "art-definition/art-weapon-types.h"
 #include "autopick/autopick.h"
 #include "core/asking-player.h"
 #include "core/player-redraw-types.h"
@@ -833,43 +832,6 @@ bool perilous_secrets(player_type *user_ptr)
 }
 
 /*!
- * @brief 固定アーティファクト『ブラッディムーン』の特性を変更する。
- * @details スレイ2d2種、及びone_resistance()による耐性1d2種、pval2種を得る。
- * @param o_ptr 対象のオブジェクト構造体(ブラッディムーン)のポインタ
- * @return なし
- */
-void get_bloody_moon_flags(object_type *o_ptr)
-{
-    for (int i = 0; i < TR_FLAG_SIZE; i++)
-        o_ptr->art_flags[i] = a_info[ART_BLOOD].flags[i];
-
-    int dummy = randint1(2) + randint1(2);
-    for (int i = 0; i < dummy; i++) {
-        int flag = randint0(26);
-        if (flag >= 20)
-            add_flag(o_ptr->art_flags, TR_KILL_UNDEAD + flag - 20);
-        else if (flag == 19)
-            add_flag(o_ptr->art_flags, TR_KILL_ANIMAL);
-        else if (flag == 18)
-            add_flag(o_ptr->art_flags, TR_SLAY_HUMAN);
-        else
-            add_flag(o_ptr->art_flags, TR_CHAOTIC + flag);
-    }
-
-    dummy = randint1(2);
-    for (int i = 0; i < dummy; i++)
-        one_resistance(o_ptr);
-
-    for (int i = 0; i < 2; i++) {
-        int tmp = randint0(11);
-        if (tmp < A_MAX)
-            add_flag(o_ptr->art_flags, TR_STR + tmp);
-        else
-            add_flag(o_ptr->art_flags, TR_STEALTH + tmp - 6);
-    }
-}
-
-/*!
  * @brief 寿命つき光源の燃素追加処理 /
  * Charge a lite (torch or latern)
  * @return なし
index 92c8520..021fe6f 100644 (file)
@@ -13,7 +13,6 @@ bool curse_weapon_object(player_type *creature_ptr, bool force, object_type *o_p
 bool rustproof(player_type *caster_ptr);
 void brand_bolts(player_type *caster_ptr);
 bool perilous_secrets(player_type *user_ptr);
-void get_bloody_moon_flags(object_type *o_ptr);
 void phlogiston(player_type *caster_ptr);
 bool bless_weapon(player_type *caster_ptr);
 bool pulish_shield(player_type *caster_ptr);