version 1.60 | | version 1.61 |
---|
| | |
/* | | /* |
* static char *rcsid_apply_c = | | * static char *rcsid_apply_c = |
* "$Id: apply.c,v 1.60 2002/03/03 20:05:58 avogl Exp $"; | | * "$Id: apply.c,v 1.61 2002/03/20 06:27:46 mwedel Exp $"; |
*/ | | */ |
/* | | /* |
CrossFire, A Multiplayer game for X-windows | | CrossFire, A Multiplayer game for X-windows |
| | |
abil->last_eat = 0; | | abil->last_eat = 0; |
} | | } |
} | | } |
| | return 1; |
} | | } |
| | |
static void apply_savebed (object *player) | | static void apply_savebed (object *pl) |
{ | | { |
if(!player->contr->name_changed||!player->stats.exp) { | | if(!pl->contr->name_changed||!pl->stats.exp) { |
new_draw_info(NDI_UNIQUE, 0,player,"You don't deserve to save your character yet."); | | new_draw_info(NDI_UNIQUE, 0,pl,"You don't deserve to save your character yet."); |
return; | | return; |
} | | } |
if(QUERY_FLAG(player,FLAG_WAS_WIZ)) { | | if(QUERY_FLAG(pl,FLAG_WAS_WIZ)) { |
new_draw_info(NDI_UNIQUE, 0,player,"Since you have cheated you can't save."); | | new_draw_info(NDI_UNIQUE, 0,pl,"Since you have cheated you can't save."); |
return; | | return; |
} | | } |
remove_ob(player); | | remove_ob(pl); |
player->direction=0; | | pl->direction=0; |
player->contr->count_left=0; | | pl->contr->count_left=0; |
new_draw_info_format(NDI_UNIQUE | NDI_ALL, 5, player, | | new_draw_info_format(NDI_UNIQUE | NDI_ALL, 5, pl, |
"%s leaves the game.",player->name); | | "%s leaves the game.",pl->name); |
| | |
/* update respawn position */ | | /* update respawn position */ |
strcpy(player->contr->savebed_map, player->map->path); | | strcpy(pl->contr->savebed_map, pl->map->path); |
player->contr->bed_x = player->x; | | pl->contr->bed_x = pl->x; |
player->contr->bed_y = player->y; | | pl->contr->bed_y = pl->y; |
| | |
strcpy(player->contr->killer,"left"); | | strcpy(pl->contr->killer,"left"); |
check_score(player); /* Always check score */ | | check_score(pl); /* Always check score */ |
(void)save_player(player,0); | | (void)save_player(pl,0); |
play_again(player); | | play_again(pl); |
player->map->players--; | | pl->map->players--; |
#if MAP_MAXTIMEOUT | | #if MAP_MAXTIMEOUT |
MAP_SWAP_TIME(player->map) = MAP_TIMEOUT(player->map); | | MAP_SWAP_TIME(pl->map) = MAP_TIMEOUT(pl->map); |
#endif | | #endif |
player->speed = 0; | | pl->speed = 0; |
update_ob_speed(player); | | update_ob_speed(pl); |
} | | } |
| | |
| | |