void effect_player_missile(player_type *target_ptr, effect_player_type *ep_ptr)
{
if (target_ptr->blind) msg_print(_("\89½\82©\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by something!"));
+
ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam, ep_ptr->killer, ep_ptr->monspell);
}
void effect_player_holy_file(player_type *target_ptr, effect_player_type *ep_ptr)
{
if (target_ptr->blind) msg_print(_("\89½\82©\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by something!"));
+
if (target_ptr->align > 10)
ep_ptr->dam /= 2;
else if (target_ptr->align < -10)
void effect_player_hell_fire(player_type *target_ptr, effect_player_type *ep_ptr)
{
if (target_ptr->blind) msg_print(_("\89½\82©\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by something!"));
+
if (target_ptr->align > 10)
ep_ptr->dam *= 2;
}
+void effect_player_arrow(player_type *target_ptr, effect_player_type *ep_ptr)
+{
+ if (target_ptr->blind)
+ {
+ msg_print(_("\89½\82©\89s\82¢\82à\82Ì\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by something sharp!"));
+ ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam, ep_ptr->killer, ep_ptr->monspell);
+ return;
+ }
+
+ if ((target_ptr->inventory_list[INVEN_RARM].name1 == ART_ZANTETSU) || (target_ptr->inventory_list[INVEN_LARM].name1 == ART_ZANTETSU))
+ {
+ msg_print(_("\96î\82ð\8ea\82è\8eÌ\82Ä\82½\81I", "You cut down the arrow!"));
+ return;
+ }
+
+ ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam, ep_ptr->killer, ep_ptr->monspell);
+}
+
+
+void effect_player_plasma(player_type *target_ptr, effect_player_type *ep_ptr)
+{
+ if (target_ptr->blind) msg_print(_("\89½\82©\82Æ\82Ä\82à\94M\82¢\82à\82Ì\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by something *HOT*!"));
+
+ ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam, ep_ptr->killer, ep_ptr->monspell);
+
+ if (!target_ptr->resist_sound && !CHECK_MULTISHADOW(target_ptr))
+ {
+ int plus_stun = (randint1((ep_ptr->dam > 40) ? 35 : (ep_ptr->dam * 3 / 4 + 5)));
+ (void)set_stun(target_ptr, target_ptr->stun + plus_stun);
+ }
+
+ if (!(target_ptr->resist_fire || is_oppose_fire(target_ptr) || target_ptr->immune_fire))
+ inventory_damage(target_ptr, set_acid_destroy, 3);
+}
+
+
+void effect_player_nether(player_type *target_ptr, effect_player_type *ep_ptr)
+{
+ if (target_ptr->blind) msg_print(_("\92n\8d\96\82Ì\97Í\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by nether forces!"));
+
+ if (target_ptr->resist_neth)
+ {
+ if (!PRACE_IS_(target_ptr, RACE_SPECTRE))
+ ep_ptr->dam *= 6; ep_ptr->dam /= (randint1(4) + 7);
+ }
+ else if (!CHECK_MULTISHADOW(target_ptr)) drain_exp(target_ptr, 200 + (target_ptr->exp / 100), 200 + (target_ptr->exp / 1000), 75);
+
+ if (!PRACE_IS_(target_ptr, RACE_SPECTRE) || CHECK_MULTISHADOW(target_ptr))
+ {
+ ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam, ep_ptr->killer, ep_ptr->monspell);
+ return;
+ }
+
+ msg_print(_("\8bC\95ª\82ª\82æ\82\82È\82Á\82½\81B", "You feel invigorated!"));
+ hp_player(target_ptr, ep_ptr->dam / 4);
+ learn_spell(target_ptr, ep_ptr->monspell);
+}
+
+
/*!
* @brief \96\82\96@\82Ì\8cø\89Ê\82É\82æ\82Á\82Ä\97l\81X\82È\83\81\83b\83Z\81[\82ð\8fo\97Í\82µ\82½\82è\97^\82¦\82é\83_\83\81\81[\83W\82Ì\91\9d\8c¸\82ð\8ds\82Á\82½\82è\82·\82é
* @param target_ptr \83v\83\8c\81[\83\84\81[\82Ö\82Ì\8eQ\8fÆ\83|\83C\83\93\83^
case GF_HELL_FIRE:
effect_plyaer_hell_fire(target_ptr, ep_ptr);
case GF_ARROW:
- {
- if (target_ptr->blind)
- {
- msg_print(_("\89½\82©\89s\82¢\82à\82Ì\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by something sharp!"));
- }
- else if ((target_ptr->inventory_list[INVEN_RARM].name1 == ART_ZANTETSU) || (target_ptr->inventory_list[INVEN_LARM].name1 == ART_ZANTETSU))
- {
- msg_print(_("\96î\82ð\8ea\82è\8eÌ\82Ä\82½\81I", "You cut down the arrow!"));
- break;
- }
-
- ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam, ep_ptr->killer, ep_ptr->monspell);
- break;
- }
+ effect_player_arrow(target_ptr, ep_ptr);
case GF_PLASMA:
- {
- if (target_ptr->blind) msg_print(_("\89½\82©\82Æ\82Ä\82à\94M\82¢\82à\82Ì\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by something *HOT*!"));
- ep_ptr->get_damage = take_hit(target_ptr, DAMAGE_ATTACK, ep_ptr->dam, ep_ptr->killer, ep_ptr->monspell);
-
- if (!target_ptr->resist_sound && !CHECK_MULTISHADOW(target_ptr))
- {
- int plus_stun = (randint1((ep_ptr->dam > 40) ? 35 : (ep_ptr->dam * 3 / 4 + 5)));
- (void)set_stun(target_ptr, target_ptr->stun + plus_stun);
- }
-
- if (!(target_ptr->resist_fire || is_oppose_fire(target_ptr) || target_ptr->immune_fire))
- {
- inventory_damage(target_ptr, set_acid_destroy, 3);
- }
-
- break;
- }
+ effect_player_plasma(target_ptr, ep_ptr);
case GF_NETHER:
- {
- if (target_ptr->blind) msg_print(_("\92n\8d\96\82Ì\97Í\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by nether forces!"));
- if (target_ptr->resist_neth)
- {
- if (!PRACE_IS_(target_ptr, RACE_SPECTRE))
- {
- ep_ptr->dam *= 6; ep_ptr->dam /= (randint1(4) + 7);
- }
- }
- else if (!CHECK_MULTISHADOW(target_ptr)) drain_exp(target_ptr, 200 + (target_ptr->exp / 100), 200 + (target_ptr->exp / 1000), 75);
-
- if (PRACE_IS_(target_ptr, RACE_SPECTRE) && !CHECK_MULTISHADOW(target_ptr))
- {
- msg_print(_("\8bC\95ª\82ª\82æ\82\82È\82Á\82½\81B", "You feel invigorated!"));
- hp_player(target_ptr, ep_ptr->dam / 4);
- 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);
- }
-
- break;
- }
+ effect_player_nether(target_ptr, ep_ptr);
case GF_WATER:
{
if (target_ptr->blind) msg_print(_("\89½\82©\8e¼\82Á\82½\82à\82Ì\82Å\8dU\8c\82\82³\82ê\82½\81I", "You are hit by something wet!"));