1 | /* |
1 | /* |
2 | * static char *rcsid_move_c = |
2 | * static char *rcsid_move_c = |
3 | * "$Id: move.c,v 1.2 2006/02/03 07:25:25 root Exp $"; |
3 | * "$Id: move.c,v 1.3 2006/02/09 02:11:26 root Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
29 | #include <global.h> |
29 | #include <global.h> |
30 | #ifndef __CEXTRACT__ |
30 | #ifndef __CEXTRACT__ |
31 | #include <sproto.h> |
31 | #include <sproto.h> |
32 | #endif |
32 | #endif |
33 | |
33 | |
|
|
34 | #ifdef COZY_SERVER |
|
|
35 | // use a ptotoype |
34 | extern int same_party (partylist *a, partylist *b); |
36 | extern int same_party (partylist *a, partylist *b); |
|
|
37 | #endif |
35 | |
38 | |
36 | /* |
39 | /* |
37 | * move_object() tries to move object op in the direction "dir". |
40 | * move_object() tries to move object op in the direction "dir". |
38 | * If it fails (something blocks the passage), it returns 0, |
41 | * If it fails (something blocks the passage), it returns 0, |
39 | * otherwise 1. |
42 | * otherwise 1. |
… | |
… | |
398 | CLEAR_FLAG(who,FLAG_SLEEP); |
401 | CLEAR_FLAG(who,FLAG_SLEEP); |
399 | |
402 | |
400 | /* player change place with his pets or summoned creature */ |
403 | /* player change place with his pets or summoned creature */ |
401 | /* TODO: allow multi arch pushing. Can't be very difficult */ |
404 | /* TODO: allow multi arch pushing. Can't be very difficult */ |
402 | if (who->more == NULL |
405 | if (who->more == NULL |
|
|
406 | #ifdef COZY_SERVER |
403 | && |
407 | && |
404 | ( |
408 | ( |
405 | (owner && owner->contr && pusher->contr |
409 | (owner && owner->contr && pusher->contr |
406 | && same_party (owner->contr->party, pusher->contr->party)) |
410 | && same_party (owner->contr->party, pusher->contr->party)) |
407 | || owner == pusher |
411 | || owner == pusher |
408 | ) |
412 | ) |
|
|
413 | #else |
|
|
414 | && owner == pusher |
|
|
415 | #endif |
409 | ) { |
416 | ) { |
410 | int temp; |
417 | int temp; |
411 | mapstruct *m; |
418 | mapstruct *m; |
412 | |
419 | |
413 | remove_ob(who); |
420 | remove_ob(who); |