1 | /* |
1 | /* |
2 | * static char *rcsid_attack_c = |
2 | * static char *rcsid_attack_c = |
3 | * "$Id: attack.c,v 1.11 2006/04/24 05:54:31 root Exp $"; |
3 | * "$Id: attack.c,v 1.13 2006/05/11 18:42:29 root Exp $"; |
4 | */ |
4 | */ |
5 | /* |
5 | /* |
6 | CrossFire, A Multiplayer game for X-windows |
6 | CrossFire, A Multiplayer game for X-windows |
7 | |
7 | |
8 | Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
8 | Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
… | |
… | |
871 | * isn't available anymore. |
871 | * isn't available anymore. |
872 | */ |
872 | */ |
873 | object *hit_with_arrow (object *op, object *victim) |
873 | object *hit_with_arrow (object *op, object *victim) |
874 | { |
874 | { |
875 | object *container, *hitter; |
875 | object *container, *hitter; |
876 | int hit_something; |
876 | int hit_something = 0; |
877 | tag_t victim_tag, hitter_tag; |
877 | tag_t victim_tag, hitter_tag; |
878 | sint16 victim_x, victim_y; |
878 | sint16 victim_x, victim_y; |
879 | |
879 | |
880 | /* Disassemble missile */ |
880 | /* Disassemble missile */ |
881 | if (op->inv) { |
881 | if (op->inv) { |
… | |
… | |
1371 | if (get_owner (op) != NULL && op->owner->type == PLAYER && |
1371 | if (get_owner (op) != NULL && op->owner->type == PLAYER && |
1372 | op->owner->contr->ranges[range_golem] == op) { |
1372 | op->owner->contr->ranges[range_golem] == op) { |
1373 | op->owner->contr->ranges[range_golem]=NULL; |
1373 | op->owner->contr->ranges[range_golem]=NULL; |
1374 | op->owner->contr->golem_count=0; |
1374 | op->owner->contr->golem_count=0; |
1375 | } |
1375 | } |
1376 | else |
|
|
1377 | LOG (llevError, "BUG: hit_player(): Encountered golem without owner.\n"); |
|
|
1378 | |
1376 | |
1379 | remove_ob(op); |
1377 | remove_ob(op); |
1380 | free_object(op); |
1378 | free_object(op); |
1381 | return maxdam; |
1379 | return maxdam; |
1382 | } |
1380 | } |