version 1.14 | | version 1.15 |
---|
| | |
/* | | /* |
* static char *rcsid_spell_util_c = | | * static char *rcsid_spell_util_c = |
* "$Id: spell_util.c,v 1.14 2000/05/26 12:36:49 jec Exp $"; | | * "$Id: spell_util.c,v 1.15 2000/05/29 16:31:26 jec Exp $"; |
*/ | | */ |
| | |
/* | | /* |
| | |
} | | } |
} | | } |
| | |
void fire_a_ball(object *op,int dir,int strength) { | | void fire_a_ball (object *op, int dir, int strength) |
object *tmp=clone_arch(FBULLET); | | { |
| | object *tmp; |
| | |
if(!dir) | | if ( ! op->other_arch) { |
LOG(llevError,"Tried to fire a ball without direction.\n"); | | LOG (llevError, "BUG: fire_a_ball(): no other_arch\n"); |
| | return; |
| | } |
| | if ( ! dir) { |
| | LOG (llevError, "BUG: fire_a_ball(): no direction\n"); |
| | return; |
| | } |
| | tmp = arch_to_object (op->other_arch); |
set_owner(tmp,op); | | set_owner(tmp,op); |
tmp->direction=dir; | | tmp->direction=dir; |
tmp->x=op->x,tmp->y=op->y; | | tmp->x=op->x,tmp->y=op->y; |
tmp->speed = 1; | | tmp->speed = 1; |
update_ob_speed(tmp); | | update_ob_speed(tmp); |
tmp->stats.hp=strength; | | tmp->stats.hp=strength; |
| | tmp->level = op->level; |
SET_ANIMATION(tmp, dir); | | SET_ANIMATION(tmp, dir); |
SET_FLAG(tmp, FLAG_FLYING); | | SET_FLAG(tmp, FLAG_FLYING); |
insert_ob_in_map(tmp,op->map,op); | | if ((tmp = insert_ob_in_map (tmp, op->map, op)) != NULL) |
move_fired_arch(tmp); | | move_fired_arch(tmp); |
} | | } |
| | |