}\r
\r
project(0, 0, y, x, damroll(6 + lev / 8, 10), GF_LITE_WEAK,\r
- (PROJECT_BEAM | PROJECT_THRU | PROJECT_GRID | PROJECT_KILL), -1);\r
+ (PROJECT_BEAM | PROJECT_THRU | PROJECT_GRID | PROJECT_KILL | PROJECT_LOS), -1);\r
}\r
ident = TRUE;\r
break;\r
\r
case SV_STAFF_CURE_LIGHT:\r
{\r
- if (hp_player(damroll((powerful ? 4 : 2), 8))) ident = TRUE;\r
- if (powerful) {\r
- if (set_blind(0)) ident = TRUE;\r
- if (set_poisoned(0)) ident = TRUE;\r
- if (set_cut(p_ptr->cut - 10)) ident = TRUE;\r
- }\r
- if (set_shero(0, TRUE)) ident = TRUE;\r
+ ident = cure_light_wounds((powerful ? 4 : 2), 8);\r
break;\r
}\r
\r
case SV_STAFF_CURING:\r
{\r
- if (set_blind(0)) ident = TRUE;\r
- if (set_poisoned(0)) ident = TRUE;\r
- if (set_confused(0)) ident = TRUE;\r
- if (set_stun(0)) ident = TRUE;\r
- if (set_cut(0)) ident = TRUE;\r
- if (set_image(0)) ident = TRUE;\r
+ ident = true_healing(0);\r
if (set_shero(0, TRUE)) ident = TRUE;\r
break;\r
}\r
\r
case SV_STAFF_HEALING:\r
{\r
- if (hp_player(powerful ? 500 : 300)) ident = TRUE;\r
- if (set_stun(0)) ident = TRUE;\r
- if (set_cut(0)) ident = TRUE;\r
- if (set_shero(0, TRUE)) ident = TRUE;\r
+ if (cure_critical_wounds(powerful ? 500 : 300)) ident = TRUE;\r
break;\r
}\r
\r
case SV_STAFF_THE_MAGI:\r
{\r
if (do_res_stat(A_INT)) ident = TRUE;\r
- if (p_ptr->csp < p_ptr->msp)\r
- {\r
- p_ptr->csp = p_ptr->msp;\r
- p_ptr->csp_frac = 0;\r
- ident = TRUE;\r
- msg_print(_("頭がハッキリとした。", "You feel your head clear."));\r
-\r
- p_ptr->redraw |= (PR_MANA);\r
- p_ptr->window |= (PW_PLAYER);\r
- p_ptr->window |= (PW_SPELL);\r
- }\r
+ ident |= restore_mana(FALSE);\r
if (set_shero(0, TRUE)) ident = TRUE;\r
break;\r
}\r