… | |
… | |
589 | return 0; |
589 | return 0; |
590 | |
590 | |
591 | if (OB_TYPE_MOVE_BLOCK (tmp, GET_MAP_MOVE_BLOCK (m, x, y))) |
591 | if (OB_TYPE_MOVE_BLOCK (tmp, GET_MAP_MOVE_BLOCK (m, x, y))) |
592 | { |
592 | { |
593 | new_draw_info (NDI_UNIQUE, 0, op, "You can't cast the spell on top of a wall!\n"); |
593 | new_draw_info (NDI_UNIQUE, 0, op, "You can't cast the spell on top of a wall!\n"); |
594 | tmp->destroy (0); |
594 | tmp->destroy (); |
595 | return 0; |
595 | return 0; |
596 | } |
596 | } |
597 | |
|
|
598 | |
|
|
599 | |
597 | |
600 | tmp->stats.dam = spell->stats.dam + SP_level_dam_adjust (caster, spell); |
598 | tmp->stats.dam = spell->stats.dam + SP_level_dam_adjust (caster, spell); |
601 | tmp->duration = spell->duration + SP_level_duration_adjust (caster, spell); |
599 | tmp->duration = spell->duration + SP_level_duration_adjust (caster, spell); |
602 | /* code in time.c uses food for some things, duration for others */ |
600 | /* code in time.c uses food for some things, duration for others */ |
603 | tmp->stats.food = tmp->duration; |
601 | tmp->stats.food = tmp->duration; |
… | |
… | |
957 | if (failure <= -20 && failure > -40) /* wonder */ |
955 | if (failure <= -20 && failure > -40) /* wonder */ |
958 | { |
956 | { |
959 | new_draw_info_format (NDI_UNIQUE, 0, op, "%s gives a sign to renew your faith.", godname); |
957 | new_draw_info_format (NDI_UNIQUE, 0, op, "%s gives a sign to renew your faith.", godname); |
960 | tmp = get_archetype (SPELL_WONDER); |
958 | tmp = get_archetype (SPELL_WONDER); |
961 | cast_cone (op, op, 0, tmp); |
959 | cast_cone (op, op, 0, tmp); |
962 | tmp->destroy (0); |
960 | tmp->destroy (); |
963 | } |
961 | } |
964 | |
962 | |
965 | else if (failure <= -40 && failure > -60) /* confusion */ |
963 | else if (failure <= -40 && failure > -60) /* confusion */ |
966 | { |
964 | { |
967 | new_draw_info (NDI_UNIQUE, 0, op, "Your diety touches your mind!"); |
965 | new_draw_info (NDI_UNIQUE, 0, op, "Your diety touches your mind!"); |
… | |
… | |
1001 | if (failure <= -20 && failure > -40) /* wonder */ |
999 | if (failure <= -20 && failure > -40) /* wonder */ |
1002 | { |
1000 | { |
1003 | new_draw_info (NDI_UNIQUE, 0, op, "Your spell causes an unexpected effect."); |
1001 | new_draw_info (NDI_UNIQUE, 0, op, "Your spell causes an unexpected effect."); |
1004 | tmp = get_archetype (SPELL_WONDER); |
1002 | tmp = get_archetype (SPELL_WONDER); |
1005 | cast_cone (op, op, 0, tmp); |
1003 | cast_cone (op, op, 0, tmp); |
1006 | tmp->destroy (0); |
1004 | tmp->destroy (); |
1007 | } |
1005 | } |
1008 | |
1006 | |
1009 | else if (failure <= -40 && failure > -60) /* confusion */ |
1007 | else if (failure <= -40 && failure > -60) /* confusion */ |
1010 | { |
1008 | { |
1011 | new_draw_info (NDI_UNIQUE, 0, op, "Your magic recoils on you, making you confused!"); |
1009 | new_draw_info (NDI_UNIQUE, 0, op, "Your magic recoils on you, making you confused!"); |
… | |
… | |
1682 | if (QUERY_FLAG (victim, FLAG_ALIVE)) |
1680 | if (QUERY_FLAG (victim, FLAG_ALIVE)) |
1683 | { |
1681 | { |
1684 | hit_player (victim, spell->stats.dam, spell, spell->attacktype, 1); |
1682 | hit_player (victim, spell->stats.dam, spell, spell->attacktype, 1); |
1685 | |
1683 | |
1686 | if (!spell->destroyed ()) |
1684 | if (!spell->destroyed ()) |
1687 | { |
|
|
1688 | spell->remove (); |
|
|
1689 | spell->destroy (0); |
1685 | spell->destroy (); |
1690 | } |
|
|
1691 | } |
1686 | } |
1692 | break; |
1687 | break; |
1693 | |
1688 | |
1694 | case SP_MOVING_BALL: |
1689 | case SP_MOVING_BALL: |
1695 | if (QUERY_FLAG (victim, FLAG_ALIVE)) |
1690 | if (QUERY_FLAG (victim, FLAG_ALIVE)) |