OSDN Git Service

[Refactor] #40647 Separated resistance-info.c/h from self-info.c
authorHourier <hourier@users.sourceforge.jp>
Fri, 21 Aug 2020 03:10:13 +0000 (12:10 +0900)
committerHourier <hourier@users.sourceforge.jp>
Fri, 21 Aug 2020 03:36:19 +0000 (12:36 +0900)
Hengband/Hengband/Hengband.vcxproj
Hengband/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/player-info/resistance-info.c [new file with mode: 0644]
src/player-info/resistance-info.h [new file with mode: 0644]
src/player-info/self-info.c

index 6d40cdf..081b5eb 100644 (file)
     <ClCompile Include="..\..\src\player-info\class-ability-info.c" />\r
     <ClCompile Include="..\..\src\player-info\mutation-info.c" />\r
     <ClCompile Include="..\..\src\player-info\race-ability-info.c" />\r
+    <ClCompile Include="..\..\src\player-info\resistance-info.c" />\r
     <ClCompile Include="..\..\src\player-info\self-info-util.c" />\r
     <ClCompile Include="..\..\src\room\vault-builder.c" />\r
     <ClCompile Include="..\..\src\specific-object\blade-turner.c" />\r
     <ClInclude Include="..\..\src\player-info\class-ability-info.h" />\r
     <ClInclude Include="..\..\src\player-info\mutation-info.h" />\r
     <ClInclude Include="..\..\src\player-info\race-ability-info.h" />\r
+    <ClInclude Include="..\..\src\player-info\resistance-info.h" />\r
     <ClInclude Include="..\..\src\player-info\self-info-util.h" />\r
     <ClInclude Include="..\..\src\room\vault-builder.h" />\r
     <ClInclude Include="..\..\src\specific-object\blade-turner.h" />\r
index 1bbdd4d..01b989b 100644 (file)
     <ClCompile Include="..\..\src\player-info\body-improvement-info.c">
       <Filter>player-info</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\player-info\resistance-info.c">
+      <Filter>player-info</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\combat\shoot.h">
     <ClInclude Include="..\..\src\player-info\body-improvement-info.h">
       <Filter>player-info</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\player-info\resistance-info.h">
+      <Filter>player-info</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 421337b..cb6b3dc 100644 (file)
@@ -636,6 +636,7 @@ hengband_SOURCES = \
        player-info/class-ability-info.c player-info/class-ability-info.h \
        player-info/mutation-info.c player-info/mutation-info.h \
        player-info/race-ability-info.c player-info/race-ability-info.h \
+       player-info/resistance-info.c player-info/resistance-info.h \
        player-info/self-info.c player-info/self-info.h \
        player-info/self-info-util.c player-info/self-info-util.h \
        \
diff --git a/src/player-info/resistance-info.c b/src/player-info/resistance-info.c
new file mode 100644 (file)
index 0000000..a031de7
--- /dev/null
@@ -0,0 +1,53 @@
+#include "player-info/resistance-info.h"
+#include "player-info/self-info-util.h"
+#include "player/player-race.h"
+#include "status/element-resistance.h"
+
+void set_element_resistance_info(player_type* creature_ptr, self_info_type* si_ptr)
+{
+    if (creature_ptr->immune_acid) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\8e_\82É\91Î\82·\82é\8a®\91S\82È\82é\96Æ\89u\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You are completely immune to acid.");
+    } else if (creature_ptr->resist_acid && is_oppose_acid(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\8e_\82Ö\82Ì\8b­\97Í\82È\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You resist acid exceptionally well.");
+    } else if (creature_ptr->resist_acid || is_oppose_acid(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\8e_\82Ö\82Ì\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You are resistant to acid.");
+    }
+
+    if (creature_ptr->immune_elec) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\93d\8c\82\82É\91Î\82·\82é\8a®\91S\82È\82é\96Æ\89u\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You are completely immune to lightning.");
+    } else if (creature_ptr->resist_elec && is_oppose_elec(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\93d\8c\82\82Ö\82Ì\8b­\97Í\82È\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You resist lightning exceptionally well.");
+    } else if (creature_ptr->resist_elec || is_oppose_elec(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\93d\8c\82\82Ö\82Ì\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You are resistant to lightning.");
+    }
+
+    if (is_specific_player_race(creature_ptr, RACE_ANDROID) && !creature_ptr->immune_elec) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\93d\8c\82\82É\8eã\82¢\81B", "You are susceptible to damage from lightning.");
+    }
+
+    if (creature_ptr->immune_fire) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\89Î\82É\91Î\82·\82é\8a®\91S\82È\82é\96Æ\89u\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You are completely immune to fire.");
+    } else if (creature_ptr->resist_fire && is_oppose_fire(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\89Î\82Ö\82Ì\8b­\97Í\82È\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You resist fire exceptionally well.");
+    } else if (creature_ptr->resist_fire || is_oppose_fire(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\89Î\82Ö\82Ì\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You are resistant to fire.");
+    }
+
+    if (is_specific_player_race(creature_ptr, RACE_ENT) && !creature_ptr->immune_fire) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\89Î\82É\8eã\82¢\81B", "You are susceptible to damage from fire.");
+    }
+
+    if (creature_ptr->immune_cold) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\97â\8bC\82É\91Î\82·\82é\8a®\91S\82È\82é\96Æ\89u\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You are completely immune to cold.");
+    } else if (creature_ptr->resist_cold && is_oppose_cold(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\97â\8bC\82Ö\82Ì\8b­\97Í\82È\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You resist cold exceptionally well.");
+    } else if (creature_ptr->resist_cold || is_oppose_cold(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\97â\8bC\82Ö\82Ì\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You are resistant to cold.");
+    }
+
+    if (creature_ptr->resist_pois && is_oppose_pois(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\93Å\82Ö\82Ì\8b­\97Í\82È\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You resist poison exceptionally well.");
+    } else if (creature_ptr->resist_pois || is_oppose_pois(creature_ptr)) {
+        si_ptr->info[si_ptr->line++] = _("\82 \82È\82½\82Í\93Å\82Ö\82Ì\91Ï\90«\82ð\8e\9d\82Á\82Ä\82¢\82é\81B", "You are resistant to poison.");
+    }
+}
diff --git a/src/player-info/resistance-info.h b/src/player-info/resistance-info.h
new file mode 100644 (file)
index 0000000..8b6fa74
--- /dev/null
@@ -0,0 +1,6 @@
+#pragma once
+
+#include "system/angband.h"
+
+typedef struct self_info_type self_info_type;
+void set_element_resistance_info(player_type *creature_ptr, self_info_type *si_ptr);
index ae0efc0..f2af6b9 100644 (file)
@@ -22,6 +22,7 @@
 #include "player-info/class-ability-info.h"
 #include "player-info/mutation-info.h"
 #include "player-info/race-ability-info.h"
+#include "player-info/resistance-info.h"
 #include "player-info/self-info-util.h"
 #include "player/attack-defense-types.h"
 #include "player/player-class.h"
@@ -364,52 +365,7 @@ void self_knowledge(player_type *creature_ptr)
     set_body_improvement_info_2(creature_ptr, si_ptr);
     set_esp_info(creature_ptr, si_ptr);
     set_body_improvement_info_3(creature_ptr, si_ptr);
-    if (creature_ptr->immune_acid) {
-        si_ptr->info[si_ptr->line++] = _("あなたは酸に対する完全なる免疫を持っている。", "You are completely immune to acid.");
-    } else if (creature_ptr->resist_acid && is_oppose_acid(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは酸への強力な耐性を持っている。", "You resist acid exceptionally well.");
-    } else if (creature_ptr->resist_acid || is_oppose_acid(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは酸への耐性を持っている。", "You are resistant to acid.");
-    }
-
-    if (creature_ptr->immune_elec) {
-        si_ptr->info[si_ptr->line++] = _("あなたは電撃に対する完全なる免疫を持っている。", "You are completely immune to lightning.");
-    } else if (creature_ptr->resist_elec && is_oppose_elec(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは電撃への強力な耐性を持っている。", "You resist lightning exceptionally well.");
-    } else if (creature_ptr->resist_elec || is_oppose_elec(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは電撃への耐性を持っている。", "You are resistant to lightning.");
-    }
-
-    if (is_specific_player_race(creature_ptr, RACE_ANDROID) && !creature_ptr->immune_elec) {
-        si_ptr->info[si_ptr->line++] = _("あなたは電撃に弱い。", "You are susceptible to damage from lightning.");
-    }
-
-    if (creature_ptr->immune_fire) {
-        si_ptr->info[si_ptr->line++] = _("あなたは火に対する完全なる免疫を持っている。", "You are completely immune to fire.");
-    } else if (creature_ptr->resist_fire && is_oppose_fire(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは火への強力な耐性を持っている。", "You resist fire exceptionally well.");
-    } else if (creature_ptr->resist_fire || is_oppose_fire(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは火への耐性を持っている。", "You are resistant to fire.");
-    }
-
-    if (is_specific_player_race(creature_ptr, RACE_ENT) && !creature_ptr->immune_fire) {
-        si_ptr->info[si_ptr->line++] = _("あなたは火に弱い。", "You are susceptible to damage from fire.");
-    }
-
-    if (creature_ptr->immune_cold) {
-        si_ptr->info[si_ptr->line++] = _("あなたは冷気に対する完全なる免疫を持っている。", "You are completely immune to cold.");
-    } else if (creature_ptr->resist_cold && is_oppose_cold(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは冷気への強力な耐性を持っている。", "You resist cold exceptionally well.");
-    } else if (creature_ptr->resist_cold || is_oppose_cold(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは冷気への耐性を持っている。", "You are resistant to cold.");
-    }
-
-    if (creature_ptr->resist_pois && is_oppose_pois(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは毒への強力な耐性を持っている。", "You resist poison exceptionally well.");
-    } else if (creature_ptr->resist_pois || is_oppose_pois(creature_ptr)) {
-        si_ptr->info[si_ptr->line++] = _("あなたは毒への耐性を持っている。", "You are resistant to poison.");
-    }
-
+    set_element_resistance_info(creature_ptr, si_ptr);
     if (creature_ptr->resist_lite) {
         si_ptr->info[si_ptr->line++] = _("あなたは閃光への耐性を持っている。", "You are resistant to bright light.");
     }