version 1.10 | | version 1.11 |
---|
| | |
/* | | /* |
* static char *rcsid_spell_attack_c = | | * static char *rcsid_spell_attack_c = |
* "$Id: spell_attack.c,v 1.10 2004/04/04 16:37:02 temitchell Exp $"; | | * "$Id: spell_attack.c,v 1.11 2004/05/04 07:14:53 mwedel Exp $"; |
*/ | | */ |
| | |
| | |
| | |
void explode_bullet(object *op) | | void explode_bullet(object *op) |
{ | | { |
tag_t op_tag = op->count; | | tag_t op_tag = op->count; |
object *tmp; | | object *tmp, *owner; |
| | |
if (op->other_arch == NULL) { | | if (op->other_arch == NULL) { |
LOG (llevError, "BUG: explode_bullet(): op without other_arch\n"); | | LOG (llevError, "BUG: explode_bullet(): op without other_arch\n"); |
| | |
if (tmp->skill) FREE_AND_CLEAR_STR(tmp->skill); | | if (tmp->skill) FREE_AND_CLEAR_STR(tmp->skill); |
if (op->skill) tmp->skill = add_refcount(op->skill); | | if (op->skill) tmp->skill = add_refcount(op->skill); |
| | |
| | owner = get_owner(op); |
if ((tmp->attacktype & AT_HOLYWORD || tmp->attacktype & AT_GODPOWER) && | | if ((tmp->attacktype & AT_HOLYWORD || tmp->attacktype & AT_GODPOWER) && owner && |
!tailor_god_spell(tmp, op)) { | | !tailor_god_spell(tmp, owner)) { |
remove_ob (op); | | remove_ob (op); |
free_object (op); | | free_object (op); |
return; | | return; |