<ClCompile Include="..\..\src\effect\effect-monster-switcher.c" />\r
<ClCompile Include="..\..\src\effect\effect-monster-util.c" />\r
<ClCompile Include="..\..\src\effect\effect-monster.c" />\r
+ <ClCompile Include="..\..\src\effect\effect-player-curse.c" />\r
<ClCompile Include="..\..\src\effect\effect-player-oldies.c" />\r
<ClCompile Include="..\..\src\effect\effect-player-resist-hurt.c" />\r
<ClCompile Include="..\..\src\effect\effect-player-switcher.c" />\r
<ClInclude Include="..\..\src\effect\effect-monster-switcher.h" />\r
<ClInclude Include="..\..\src\effect\effect-monster-util.h" />\r
<ClInclude Include="..\..\src\effect\effect-monster.h" />\r
+ <ClInclude Include="..\..\src\effect\effect-player-curse.h" />\r
<ClInclude Include="..\..\src\effect\effect-player-oldies.h" />\r
<ClInclude Include="..\..\src\effect\effect-player-resist-hurt.h" />\r
<ClInclude Include="..\..\src\effect\effect-player-switcher.h" />\r
<ClCompile Include="..\..\src\effect\effect-player-oldies.c">
<Filter>effect</Filter>
</ClCompile>
+ <ClCompile Include="..\..\src\effect\effect-player-curse.c">
+ <Filter>effect</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\gamevalue.h" />
<ClInclude Include="..\..\src\effect\effect-player-oldies.h">
<Filter>effect</Filter>
</ClInclude>
+ <ClInclude Include="..\..\src\effect\effect-player-curse.h">
+ <Filter>effect</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\src\wall.bmp" />
effect/effect-player-util.h \
effect/effect-player-resist-hurt.c effect/effect-player-resist-hurt.h \
effect/effect-player-oldies.c effect/effect-player-oldies.h \
+ effect/effect-player-curse.c effect/effect-player-curse.h \
effect/effect-player-switcher.c effect/effect-player-switcher.h \
\
spell/technic-info-table.c spell/technic-info-table.h \
--- /dev/null
+#include "angband.h"
+#include "effect/effect-player-util.h"
+#include "effect/effect-player-curse.h"
+#include "player-damage.h"
+#include "world.h"
+#include "monster-spell.h"
+#include "object-curse.h"
+#include "player-effects.h"
+
+void effect_player_curse_1(player_type *target_ptr,
+ effect_player_type *ep_ptr) {
+ if ((randint0(100 + ep_ptr->rlev / 2) < target_ptr->skill_sav) &&
+ !CHECK_MULTISHADOW(target_ptr)) {
+ msg_print(_("しかし効力を跳ね返した!", "You resist the effects!"));
+ learn_spell(target_ptr, ep_ptr->monspell);
+ } else {
+ if (!CHECK_MULTISHADOW(target_ptr))
+ curse_equipment(target_ptr, 15, 0);
+ ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam,
+ ep_ptr->killer, ep_ptr->monspell);
+ }
+}
+
+void effect_player_curse_2(player_type *target_ptr,
+ effect_player_type *ep_ptr) {
+ if ((randint0(100 + ep_ptr->rlev / 2) < target_ptr->skill_sav) &&
+ !CHECK_MULTISHADOW(target_ptr)) {
+ msg_print(_("しかし効力を跳ね返した!", "You resist the effects!"));
+ learn_spell(target_ptr, ep_ptr->monspell);
+ } else {
+ if (!CHECK_MULTISHADOW(target_ptr))
+ curse_equipment(target_ptr, 25, MIN(ep_ptr->rlev / 2 - 15, 5));
+ ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam,
+ ep_ptr->killer, ep_ptr->monspell);
+ }
+}
+
+void effect_player_curse_3(player_type *target_ptr,
+ effect_player_type *ep_ptr) {
+ if ((randint0(100 + ep_ptr->rlev / 2) < target_ptr->skill_sav) &&
+ !CHECK_MULTISHADOW(target_ptr)) {
+ msg_print(_("しかし効力を跳ね返した!", "You resist the effects!"));
+ learn_spell(target_ptr, ep_ptr->monspell);
+ } else {
+ if (!CHECK_MULTISHADOW(target_ptr))
+ curse_equipment(target_ptr, 33, MIN(ep_ptr->rlev / 2 - 15, 15));
+ ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam,
+ ep_ptr->killer, ep_ptr->monspell);
+ }
+}
+
+void effect_player_curse_4(player_type *target_ptr,
+ effect_player_type *ep_ptr) {
+ if ((randint0(100 + ep_ptr->rlev / 2) < target_ptr->skill_sav) &&
+ !(ep_ptr->m_ptr->r_idx == MON_KENSHIROU) &&
+ !CHECK_MULTISHADOW(target_ptr)) {
+ msg_print(_("しかし秘孔を跳ね返した!", "You resist the effects!"));
+ learn_spell(target_ptr, ep_ptr->monspell);
+ } else {
+ ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam,
+ ep_ptr->killer, ep_ptr->monspell);
+ if (!CHECK_MULTISHADOW(target_ptr))
+ (void)set_cut(target_ptr, target_ptr->cut + damroll(10, 10));
+ }
+}
--- /dev/null
+#pragma once
+
+void effect_player_curse_1(player_type *target_ptr, effect_player_type *ep_ptr);
+void effect_player_curse_2(player_type *target_ptr, effect_player_type *ep_ptr);
+void effect_player_curse_3(player_type *target_ptr, effect_player_type *ep_ptr);
+void effect_player_curse_4(player_type *target_ptr, effect_player_type *ep_ptr);
#include "angband.h"
#include "effect-player-util.h"
+#include "effect/effect-player-curse.h"
#include "effect/effect-player-switcher.h"
#include "effect/effect-player-oldies.h"
#include "effect/effect-player-resist-hurt.h"
}
}
-void effect_player_curse_1(player_type *target_ptr,
- effect_player_type *ep_ptr) {
- if ((randint0(100 + ep_ptr->rlev / 2) < target_ptr->skill_sav) &&
- !CHECK_MULTISHADOW(target_ptr)) {
- msg_print(_("\82µ\82©\82µ\8cø\97Í\82ð\92µ\82Ë\95Ô\82µ\82½\81I", "You resist the effects!"));
- learn_spell(target_ptr, ep_ptr->monspell);
- } else {
- if (!CHECK_MULTISHADOW(target_ptr))
- curse_equipment(target_ptr, 15, 0);
- ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam,
- ep_ptr->killer, ep_ptr->monspell);
- }
-}
-
-void effect_player_curse_2(player_type *target_ptr,
- effect_player_type *ep_ptr) {
- if ((randint0(100 + ep_ptr->rlev / 2) < target_ptr->skill_sav) &&
- !CHECK_MULTISHADOW(target_ptr)) {
- msg_print(_("\82µ\82©\82µ\8cø\97Í\82ð\92µ\82Ë\95Ô\82µ\82½\81I", "You resist the effects!"));
- learn_spell(target_ptr, ep_ptr->monspell);
- } else {
- if (!CHECK_MULTISHADOW(target_ptr))
- curse_equipment(target_ptr, 25, MIN(ep_ptr->rlev / 2 - 15, 5));
- ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam,
- ep_ptr->killer, ep_ptr->monspell);
- }
-}
-
-void effect_player_curse_3(player_type *target_ptr,
- effect_player_type *ep_ptr) {
- if ((randint0(100 + ep_ptr->rlev / 2) < target_ptr->skill_sav) &&
- !CHECK_MULTISHADOW(target_ptr)) {
- msg_print(_("\82µ\82©\82µ\8cø\97Í\82ð\92µ\82Ë\95Ô\82µ\82½\81I", "You resist the effects!"));
- learn_spell(target_ptr, ep_ptr->monspell);
- } else {
- if (!CHECK_MULTISHADOW(target_ptr))
- curse_equipment(target_ptr, 33, MIN(ep_ptr->rlev / 2 - 15, 15));
- ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam,
- ep_ptr->killer, ep_ptr->monspell);
- }
-}
-
-void effect_player_curse_4(player_type *target_ptr,
- effect_player_type *ep_ptr) {
- if ((randint0(100 + ep_ptr->rlev / 2) < target_ptr->skill_sav) &&
- !(ep_ptr->m_ptr->r_idx == MON_KENSHIROU) &&
- !CHECK_MULTISHADOW(target_ptr)) {
- msg_print(_("\82µ\82©\82µ\94é\8dE\82ð\92µ\82Ë\95Ô\82µ\82½\81I", "You resist the effects!"));
- learn_spell(target_ptr, ep_ptr->monspell);
- } else {
- ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam,
- ep_ptr->killer, ep_ptr->monspell);
- if (!CHECK_MULTISHADOW(target_ptr))
- (void)set_cut(target_ptr, target_ptr->cut + damroll(10, 10));
- }
-}
-
void effect_player_hand_doom(player_type *target_ptr,
effect_player_type *ep_ptr) {
if ((randint0(100 + ep_ptr->rlev / 2) < target_ptr->skill_sav) &&