OSDN Git Service

[Refactor] #40653 Separated mind-chaos-warrior.c/h from spells-object.c/h
authorHourier <hourier@users.sourceforge.jp>
Fri, 21 Aug 2020 04:57:01 +0000 (13:57 +0900)
committerHourier <hourier@users.sourceforge.jp>
Fri, 21 Aug 2020 04:57:01 +0000 (13:57 +0900)
Hengband/Hengband/Hengband.vcxproj
Hengband/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/mind/mind-chaos-warrior.c [new file with mode: 0644]
src/mind/mind-chaos-warrior.h [new file with mode: 0644]
src/player/patron.c
src/spell/spells-object.c
src/spell/spells-object.h

index be76c04..91352a7 100644 (file)
     <ClCompile Include="..\..\src\mind\mind-archer.c" />\r
     <ClCompile Include="..\..\src\mind\mind-berserker.c" />\r
     <ClCompile Include="..\..\src\mind\mind-blue-mage.c" />\r
+    <ClCompile Include="..\..\src\mind\mind-chaos-warrior.c" />\r
     <ClCompile Include="..\..\src\mind\mind-explanations-table.c" />\r
     <ClCompile Include="..\..\src\mind\mind-info.c" />\r
     <ClCompile Include="..\..\src\mind\mind-mage.c" />\r
     <ClInclude Include="..\..\src\mind\mind-archer.h" />\r
     <ClInclude Include="..\..\src\mind\mind-berserker.h" />\r
     <ClInclude Include="..\..\src\mind\mind-blue-mage.h" />\r
+    <ClInclude Include="..\..\src\mind\mind-chaos-warrior.h" />\r
     <ClInclude Include="..\..\src\mind\mind-explanations-table.h" />\r
     <ClInclude Include="..\..\src\mind\mind-info.h" />\r
     <ClInclude Include="..\..\src\mind\mind-mage.h" />\r
index a4ba11c..a053e5d 100644 (file)
     <ClCompile Include="..\..\src\mind\mind-magic-eater.c">
       <Filter>mind</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\mind\mind-chaos-warrior.c">
+      <Filter>mind</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\combat\shoot.h">
     <ClInclude Include="..\..\src\mind\mind-magic-eater.h">
       <Filter>mind</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\mind\mind-chaos-warrior.h">
+      <Filter>mind</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index d17f64a..7e4d515 100644 (file)
@@ -423,6 +423,7 @@ hengband_SOURCES = \
        mind/mind-berserker.c mind/mind-berserker.h \
        mind/mind-blue-mage.c mind/mind-blue-mage.h \
        mind/mind-cavalry.c mind/mind-cavalry.h \
+       mind/mind-chaos-warrior.c mind/mind-chaos-warrior.h \
        mind/mind-explanations-table.c mind/mind-explanations-table.h \
        mind/mind-force-trainer.c mind/mind-force-trainer.h \
        mind/mind-info.c mind/mind-info.h \
diff --git a/src/mind/mind-chaos-warrior.c b/src/mind/mind-chaos-warrior.c
new file mode 100644 (file)
index 0000000..739bf11
--- /dev/null
@@ -0,0 +1,121 @@
+#include "mind/mind-chaos-warrior.h"
+#include "floor/floor-object.h"
+#include "object-enchant/object-boost.h"
+#include "object-enchant/object-ego.h"
+#include "object/object-generator.h"
+#include "object/object-kind-hook.h"
+#include "sv-definition/sv-weapon-types.h"
+#include "system/floor-type-definition.h"
+#include "system/object-type-definition.h"
+
+void acquire_chaos_weapon(player_type *creature_ptr)
+{
+    object_type forge;
+    object_type *q_ptr = &forge;
+    tval_type dummy = TV_SWORD;
+    OBJECT_SUBTYPE_VALUE dummy2;
+    switch (randint1(creature_ptr->lev)) {
+    case 0:
+    case 1:
+        dummy2 = SV_DAGGER;
+        break;
+    case 2:
+    case 3:
+        dummy2 = SV_MAIN_GAUCHE;
+        break;
+    case 4:
+        dummy2 = SV_TANTO;
+        break;
+    case 5:
+    case 6:
+        dummy2 = SV_RAPIER;
+        break;
+    case 7:
+    case 8:
+        dummy2 = SV_SMALL_SWORD;
+        break;
+    case 9:
+    case 10:
+        dummy2 = SV_BASILLARD;
+        break;
+    case 11:
+    case 12:
+    case 13:
+        dummy2 = SV_SHORT_SWORD;
+        break;
+    case 14:
+    case 15:
+        dummy2 = SV_SABRE;
+        break;
+    case 16:
+    case 17:
+        dummy2 = SV_CUTLASS;
+        break;
+    case 18:
+        dummy2 = SV_WAKIZASHI;
+        break;
+    case 19:
+        dummy2 = SV_KHOPESH;
+        break;
+    case 20:
+        dummy2 = SV_TULWAR;
+        break;
+    case 21:
+        dummy2 = SV_BROAD_SWORD;
+        break;
+    case 22:
+    case 23:
+        dummy2 = SV_LONG_SWORD;
+        break;
+    case 24:
+    case 25:
+        dummy2 = SV_SCIMITAR;
+        break;
+    case 26:
+        dummy2 = SV_NINJATO;
+        break;
+    case 27:
+        dummy2 = SV_KATANA;
+        break;
+    case 28:
+    case 29:
+        dummy2 = SV_BASTARD_SWORD;
+        break;
+    case 30:
+        dummy2 = SV_GREAT_SCIMITAR;
+        break;
+    case 31:
+        dummy2 = SV_CLAYMORE;
+        break;
+    case 32:
+        dummy2 = SV_ESPADON;
+        break;
+    case 33:
+        dummy2 = SV_TWO_HANDED_SWORD;
+        break;
+    case 34:
+        dummy2 = SV_FLAMBERGE;
+        break;
+    case 35:
+        dummy2 = SV_NO_DACHI;
+        break;
+    case 36:
+        dummy2 = SV_EXECUTIONERS_SWORD;
+        break;
+    case 37:
+        dummy2 = SV_ZWEIHANDER;
+        break;
+    case 38:
+        dummy2 = SV_HAYABUSA;
+        break;
+    default:
+        dummy2 = SV_BLADE_OF_CHAOS;
+    }
+
+    object_prep(creature_ptr, q_ptr, lookup_kind(dummy, dummy2));
+    q_ptr->to_h = 3 + randint1(creature_ptr->current_floor_ptr->dun_level) % 10;
+    q_ptr->to_d = 3 + randint1(creature_ptr->current_floor_ptr->dun_level) % 10;
+    one_resistance(q_ptr);
+    q_ptr->name2 = EGO_CHAOTIC;
+    (void)drop_near(creature_ptr, q_ptr, -1, creature_ptr->y, creature_ptr->x);
+}
diff --git a/src/mind/mind-chaos-warrior.h b/src/mind/mind-chaos-warrior.h
new file mode 100644 (file)
index 0000000..22f7909
--- /dev/null
@@ -0,0 +1,5 @@
+#pragma once
+
+#include "system/angband.h"
+
+void acquire_chaos_weapon(player_type *creature_ptr);
index 14b68c4..06c63a4 100644 (file)
@@ -5,6 +5,7 @@
 #include "flavor/object-flavor-types.h"
 #include "inventory/inventory-slot-types.h"
 #include "io/write-diary.h"
+#include "mind/mind-chaos-warrior.h"
 #include "monster-floor/monster-summon.h"
 #include "monster-floor/place-monster-types.h"
 #include "monster-race/monster-race-hook.h"
index c6d67b1..95b5d20 100644 (file)
@@ -228,118 +228,6 @@ void acquirement(player_type *caster_ptr, POSITION y1, POSITION x1, int num, boo
     }
 }
 
-void acquire_chaos_weapon(player_type *creature_ptr)
-{
-    object_type forge;
-    object_type *q_ptr = &forge;
-    tval_type dummy = TV_SWORD;
-    OBJECT_SUBTYPE_VALUE dummy2;
-    switch (randint1(creature_ptr->lev)) {
-    case 0:
-    case 1:
-        dummy2 = SV_DAGGER;
-        break;
-    case 2:
-    case 3:
-        dummy2 = SV_MAIN_GAUCHE;
-        break;
-    case 4:
-        dummy2 = SV_TANTO;
-        break;
-    case 5:
-    case 6:
-        dummy2 = SV_RAPIER;
-        break;
-    case 7:
-    case 8:
-        dummy2 = SV_SMALL_SWORD;
-        break;
-    case 9:
-    case 10:
-        dummy2 = SV_BASILLARD;
-        break;
-    case 11:
-    case 12:
-    case 13:
-        dummy2 = SV_SHORT_SWORD;
-        break;
-    case 14:
-    case 15:
-        dummy2 = SV_SABRE;
-        break;
-    case 16:
-    case 17:
-        dummy2 = SV_CUTLASS;
-        break;
-    case 18:
-        dummy2 = SV_WAKIZASHI;
-        break;
-    case 19:
-        dummy2 = SV_KHOPESH;
-        break;
-    case 20:
-        dummy2 = SV_TULWAR;
-        break;
-    case 21:
-        dummy2 = SV_BROAD_SWORD;
-        break;
-    case 22:
-    case 23:
-        dummy2 = SV_LONG_SWORD;
-        break;
-    case 24:
-    case 25:
-        dummy2 = SV_SCIMITAR;
-        break;
-    case 26:
-        dummy2 = SV_NINJATO;
-        break;
-    case 27:
-        dummy2 = SV_KATANA;
-        break;
-    case 28:
-    case 29:
-        dummy2 = SV_BASTARD_SWORD;
-        break;
-    case 30:
-        dummy2 = SV_GREAT_SCIMITAR;
-        break;
-    case 31:
-        dummy2 = SV_CLAYMORE;
-        break;
-    case 32:
-        dummy2 = SV_ESPADON;
-        break;
-    case 33:
-        dummy2 = SV_TWO_HANDED_SWORD;
-        break;
-    case 34:
-        dummy2 = SV_FLAMBERGE;
-        break;
-    case 35:
-        dummy2 = SV_NO_DACHI;
-        break;
-    case 36:
-        dummy2 = SV_EXECUTIONERS_SWORD;
-        break;
-    case 37:
-        dummy2 = SV_ZWEIHANDER;
-        break;
-    case 38:
-        dummy2 = SV_HAYABUSA;
-        break;
-    default:
-        dummy2 = SV_BLADE_OF_CHAOS;
-    }
-
-    object_prep(creature_ptr, q_ptr, lookup_kind(dummy, dummy2));
-    q_ptr->to_h = 3 + randint1(creature_ptr->current_floor_ptr->dun_level) % 10;
-    q_ptr->to_d = 3 + randint1(creature_ptr->current_floor_ptr->dun_level) % 10;
-    one_resistance(q_ptr);
-    q_ptr->name2 = EGO_CHAOTIC;
-    (void)drop_near(creature_ptr, q_ptr, -1, creature_ptr->y, creature_ptr->x);
-}
-
 /*!
  * todo 元のreturnは間違っているが、修正後の↓文がどれくらい正しいかは要チェック
  * @brief 防具呪縛処理 /
index bb1df75..33b83d1 100644 (file)
@@ -4,7 +4,6 @@
 
 void amusement(player_type *creature_ptr, POSITION y1, POSITION x1, int num, bool known);
 void acquirement(player_type *caster_ptr, POSITION y1, POSITION x1, int num, bool great, bool special, bool known);
-void acquire_chaos_weapon(player_type *creature_ptr);
 bool curse_armor(player_type *owner_ptr);
 bool curse_weapon_object(player_type *creature_ptr, bool force, object_type *o_ptr);
 bool rustproof(player_type *caster_ptr);