… | |
… | |
457 | new_draw_info (NDI_UNIQUE, 0, op, "Something is in the way."); |
457 | new_draw_info (NDI_UNIQUE, 0, op, "Something is in the way."); |
458 | new_draw_info (NDI_UNIQUE, 0, op, "You cast it at your feet."); |
458 | new_draw_info (NDI_UNIQUE, 0, op, "You cast it at your feet."); |
459 | dir = 0; |
459 | dir = 0; |
460 | } |
460 | } |
461 | |
461 | |
|
|
462 | SET_FLAG (new_op, FLAG_IDENTIFIED); |
462 | op->map->insert (new_op, |
463 | op->map->insert (new_op, |
463 | op->x + freearr_x[dir], op->y + freearr_y[dir], |
464 | op->x + freearr_x[dir], op->y + freearr_y[dir], |
464 | op, |
465 | op, |
465 | dir ? 0 : INS_BELOW_ORIGINATOR); |
466 | dir ? 0 : INS_BELOW_ORIGINATOR); |
466 | |
467 | |
… | |
… | |
1134 | |
1135 | |
1135 | /* player/monster is trying to cast the spell. might fumble it */ |
1136 | /* player/monster is trying to cast the spell. might fumble it */ |
1136 | if (spell_ob->stats.grace && random_roll (0, 99, op, PREFER_HIGH) < |
1137 | if (spell_ob->stats.grace && random_roll (0, 99, op, PREFER_HIGH) < |
1137 | (spell_ob->level / (float) MAX (1, op->level) * cleric_chance[op->stats.Wis])) |
1138 | (spell_ob->level / (float) MAX (1, op->level) * cleric_chance[op->stats.Wis])) |
1138 | { |
1139 | { |
1139 | play_sound_player_only (op->contr, SOUND_FUMBLE_SPELL, 0, 0); |
1140 | op->contr->play_sound (sound_find ("fumble_spell")); |
1140 | new_draw_info (NDI_UNIQUE, 0, op, "You fumble the prayer."); |
1141 | new_draw_info (NDI_UNIQUE, 0, op, "You fumble the prayer."); |
1141 | |
1142 | |
1142 | op->stats.grace -= random_roll (1, SP_level_spellpoint_cost (caster, spell_ob, SPELL_GRACE), op, PREFER_LOW); |
1143 | op->stats.grace -= random_roll (1, SP_level_spellpoint_cost (caster, spell_ob, SPELL_GRACE), op, PREFER_LOW); |
1143 | return 0; |
1144 | return 0; |
1144 | } |
1145 | } |