… | |
… | |
218 | if (op->inv && op->inv->type == DISEASE) |
218 | if (op->inv && op->inv->type == DISEASE) |
219 | { |
219 | { |
220 | object *disease = op->inv; |
220 | object *disease = op->inv; |
221 | |
221 | |
222 | infect_object (victim, disease, 1); |
222 | infect_object (victim, disease, 1); |
223 | disease->destroy (true); |
223 | disease->destroy (); |
224 | } |
224 | } |
225 | } |
225 | } |
226 | else |
226 | else |
227 | hit_map (op, 0, op->attacktype, 1); |
227 | hit_map (op, 0, op->attacktype, 1); |
228 | } |
228 | } |
… | |
… | |
297 | else |
297 | else |
298 | { |
298 | { |
299 | object *spell = arch_to_object (trap->other_arch); |
299 | object *spell = arch_to_object (trap->other_arch); |
300 | |
300 | |
301 | cast_spell (env, trap, trap->direction, spell, NULL); |
301 | cast_spell (env, trap, trap->direction, spell, NULL); |
302 | spell->destroy (true); |
302 | spell->destroy (); |
303 | } |
303 | } |
304 | } |
304 | } |
305 | } |
305 | } |
306 | else |
306 | else |
307 | { |
307 | { |
… | |
… | |
355 | * if you fail, no point on that. I suppose we could do a level |
355 | * if you fail, no point on that. I suppose we could do a level |
356 | * comparison so low level players can't erase high level players runes. |
356 | * comparison so low level players can't erase high level players runes. |
357 | */ |
357 | */ |
358 | if (tmp->type == SIGN && !strcmp (tmp->arch->archname, "rune_mark")) |
358 | if (tmp->type == SIGN && !strcmp (tmp->arch->archname, "rune_mark")) |
359 | { |
359 | { |
360 | tmp->destroy (true); |
360 | tmp->destroy (); |
361 | new_draw_info (NDI_UNIQUE, 0, op, "You wipe out the rune of marking!"); |
361 | new_draw_info (NDI_UNIQUE, 0, op, "You wipe out the rune of marking!"); |
362 | return 1; |
362 | return 1; |
363 | } |
363 | } |
364 | |
364 | |
365 | /* now search tmp's inventory for traps |
365 | /* now search tmp's inventory for traps |
… | |
… | |
432 | / skill->level; |
432 | / skill->level; |
433 | |
433 | |
434 | if (!(random_roll (0, (MAX (2, MIN (20, trap->level - skill->level + 5 - disarmer->stats.Dex / 2)) - 1), disarmer, PREFER_LOW))) |
434 | if (!(random_roll (0, (MAX (2, MIN (20, trap->level - skill->level + 5 - disarmer->stats.Dex / 2)) - 1), disarmer, PREFER_LOW))) |
435 | { |
435 | { |
436 | new_draw_info_format (NDI_UNIQUE, 0, disarmer, "You successfully disarm the %s!", &trap->name); |
436 | new_draw_info_format (NDI_UNIQUE, 0, disarmer, "You successfully disarm the %s!", &trap->name); |
437 | trap->destroy (true); |
437 | trap->destroy (); |
438 | |
438 | |
439 | /* If it is your own trap, (or any players trap), don't you don't |
439 | /* If it is your own trap, (or any players trap), don't you don't |
440 | * get exp for it. |
440 | * get exp for it. |
441 | */ |
441 | */ |
442 | if (trap->owner && trap->owner->type != PLAYER && risk) |
442 | if (trap->owner && trap->owner->type != PLAYER && risk) |