OSDN Git Service

#37353 軽傷の治癒の効果をcure_light_wounds()にまとめる。
[hengband/hengband.git] / src / spells2.c
index aa6b805..766af0a 100644 (file)
@@ -13,6 +13,7 @@
 
 #include "angband.h"
 #include "grid.h"
+#include "trap.h"
 
 
 /*!
@@ -4974,3 +4975,52 @@ void cast_shuffle(void)
        }
 }
 
+bool_hack life_stream(bool_hack message, bool_hack virtue)
+{
+       if(virtue)
+       {
+               chg_virtue(V_VITALITY, 1);
+               chg_virtue(V_UNLIFE, -5);
+       }
+       if(message)
+       {
+               msg_print(_("体中に生命力が満ちあふれてきた!", "You feel life flow through your body!"));
+       }
+       restore_level();
+       (void)set_poisoned(0);
+       (void)set_blind(0);
+       (void)set_confused(0);
+       (void)set_image(0);
+       (void)set_stun(0);
+       (void)set_cut(0);
+       (void)do_res_stat(A_STR);
+       (void)do_res_stat(A_CON);
+       (void)do_res_stat(A_DEX);
+       (void)do_res_stat(A_WIS);
+       (void)do_res_stat(A_INT);
+       (void)do_res_stat(A_CHR);
+       (void)set_shero(0, TRUE);
+       update_stuff();
+       hp_player(5000);
+
+       return TRUE;
+}
+
+bool_hack heroism(int base)
+{
+       bool_hack ident = FALSE;
+       if(set_afraid(0)) ident = TRUE;
+       if(set_hero(p_ptr->hero + randint1(base) + base, FALSE)) ident = TRUE;
+       if(hp_player(10)) ident = TRUE;
+       return ident;
+}
+
+bool_hack cure_light_wound(int dice, int sides)
+{
+       bool_hack ident = FALSE;
+       if (hp_player(damroll(dice, sides))) ident = TRUE;
+       if (set_blind(0)) ident = TRUE;
+       if (set_cut(p_ptr->cut - 10)) ident = TRUE;
+       if (set_shero(0, TRUE)) ident = TRUE;
+       return ident;
+}
\ No newline at end of file