1 | /* |
1 | /* |
2 | * CrossFire, A Multiplayer game for X-windows |
2 | * CrossFire, A Multiplayer game |
3 | * |
3 | * |
4 | * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team |
4 | * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team |
5 | * Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
5 | * Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
6 | * Copyright (C) 1992 Frank Tore Johansen |
6 | * Copyright (C) 1992 Frank Tore Johansen |
7 | * |
7 | * |
… | |
… | |
734 | if (QUERY_FLAG (tmp, FLAG_UNAGGRESSIVE)) |
734 | if (QUERY_FLAG (tmp, FLAG_UNAGGRESSIVE)) |
735 | CLEAR_FLAG (tmp, FLAG_UNAGGRESSIVE); |
735 | CLEAR_FLAG (tmp, FLAG_UNAGGRESSIVE); |
736 | |
736 | |
737 | if (QUERY_FLAG (tmp, FLAG_FRIENDLY)) |
737 | if (QUERY_FLAG (tmp, FLAG_FRIENDLY)) |
738 | { |
738 | { |
739 | remove_friendly_object (tmp); |
|
|
740 | |
|
|
741 | tmp->attack_movement = 0; |
739 | tmp->attack_movement = 0; |
742 | /* lots of checks here, but want to make sure we don't |
740 | /* lots of checks here, but want to make sure we don't |
743 | * dereference a null value |
741 | * dereference a null value |
744 | */ |
742 | */ |
745 | if (tmp->type == GOLEM && tmp->owner && tmp->owner->type == PLAYER && tmp->owner->contr->ranges[range_golem] == tmp) |
743 | if (tmp->type == GOLEM |
|
|
744 | && tmp->owner |
|
|
745 | && tmp->owner->type == PLAYER |
|
|
746 | && tmp->owner->contr->ranges[range_golem] == tmp) |
746 | tmp->owner->contr->ranges[range_golem] = 0; |
747 | tmp->owner->contr->ranges[range_golem] = 0; |
747 | |
748 | |
748 | tmp->owner = 0; |
749 | tmp->owner = 0; |
|
|
750 | |
|
|
751 | remove_friendly_object (tmp); |
749 | } |
752 | } |
750 | break; |
753 | break; |
751 | |
754 | |
752 | case 1: /* angry -- get neutral monsters mad */ |
755 | case 1: /* angry -- get neutral monsters mad */ |
753 | if (QUERY_FLAG (tmp, FLAG_UNAGGRESSIVE) && !QUERY_FLAG (tmp, FLAG_FRIENDLY)) |
756 | if (QUERY_FLAG (tmp, FLAG_UNAGGRESSIVE) && !QUERY_FLAG (tmp, FLAG_FRIENDLY)) |