version 1.104 | | version 1.105 |
---|
| | |
/* | | /* |
* static char *rcsid_player_c = | | * static char *rcsid_player_c = |
* "$Id: player.c,v 1.104 2002/11/26 07:44:29 garbled Exp $"; | | * "$Id: player.c,v 1.105 2002/11/26 08:48:20 garbled Exp $"; |
*/ | | */ |
| | |
/* | | /* |
| | |
int key_change_class(object *op, char key) | | int key_change_class(object *op, char key) |
{ | | { |
int tmp_loop; | | int tmp_loop; |
#ifdef PLUGINS | | |
int evtid; | | int evtid; |
CFParm CFP; | | CFParm CFP; |
#endif | | |
| | |
if(key=='q'||key=='Q') { | | if(key=='q'||key=='Q') { |
remove_ob(op); | | remove_ob(op); |
| | |
/* this must before then initial items are given */ | | /* this must before then initial items are given */ |
esrv_new_player(op->contr, op->weight+op->carrying); | | esrv_new_player(op->contr, op->weight+op->carrying); |
create_treasure(find_treasurelist("starting_wealth"),op, 0, 0, 0); | | create_treasure(find_treasurelist("starting_wealth"),op, 0, 0, 0); |
#ifdef PLUGINS | | |
/* GROS : Here we handle the BORN global event */ | | /* GROS : Here we handle the BORN global event */ |
evtid = EVENT_BORN; | | evtid = EVENT_BORN; |
CFP.Value[0] = (void *)(&evtid); | | CFP.Value[0] = (void *)(&evtid); |
| | |
CFP.Value[1] = (void *)(op->contr); | | CFP.Value[1] = (void *)(op->contr); |
CFP.Value[2] = (void *)(op->contr->socket.host); | | CFP.Value[2] = (void *)(op->contr->socket.host); |
GlobalEvent(&CFP); | | GlobalEvent(&CFP); |
#endif | | |
op->contr->state=ST_PLAYING; | | op->contr->state=ST_PLAYING; |
| | |
if (op->msg) { | | if (op->msg) { |
| | |
int key_confirm_quit(object *op, char key) | | int key_confirm_quit(object *op, char key) |
{ | | { |
char buf[MAX_BUF]; | | char buf[MAX_BUF]; |
#ifdef PLUGINS | | |
CFParm CFP; | | CFParm CFP; |
int evtid; | | int evtid; |
#endif | | |
if(key!='y'&&key!='Y'&&key!='q'&&key!='Q') { | | if(key!='y'&&key!='Y'&&key!='q'&&key!='Q') { |
op->contr->state=ST_PLAYING; | | op->contr->state=ST_PLAYING; |
new_draw_info(NDI_UNIQUE, 0,op,"OK, continuing to play."); | | new_draw_info(NDI_UNIQUE, 0,op,"OK, continuing to play."); |
return 1; | | return 1; |
} | | } |
#ifdef PLUGINS | | |
/* GROS : Here we handle the REMOVE global event */ | | /* GROS : Here we handle the REMOVE global event */ |
evtid = EVENT_REMOVE; | | evtid = EVENT_REMOVE; |
CFP.Value[0] = (void *)(&evtid); | | CFP.Value[0] = (void *)(&evtid); |
CFP.Value[1] = (void *)(op); | | CFP.Value[1] = (void *)(op); |
GlobalEvent(&CFP); | | GlobalEvent(&CFP); |
#endif | | |
terminate_all_pets(op); | | terminate_all_pets(op); |
leave_map(op); | | leave_map(op); |
op->direction=0; | | op->direction=0; |
| | |
int lost_a_stat; | | int lost_a_stat; |
int lose_this_stat; | | int lose_this_stat; |
int this_stat; | | int this_stat; |
#ifdef PLUGINS | | |
int killed_script_rtn; /* GROS: For script return value */ | | int killed_script_rtn; /* GROS: For script return value */ |
CFParm CFP; | | CFParm CFP; |
int evtid; | | int evtid; |
#endif | | |
if(save_life(op)) | | if(save_life(op)) |
return; | | return; |
| | |
| | |
op->contr->braced=0; | | op->contr->braced=0; |
return; | | return; |
} | | } |
#ifdef PLUGINS | | |
/* GROS: Handle for plugin death event */ | | /* GROS: Handle for plugin death event */ |
if(op->event_hook[EVENT_DEATH] != NULL) | | if(op->event_hook[EVENT_DEATH] != NULL) |
{ | | { |
| | |
CFP.Value[1] = NULL; | | CFP.Value[1] = NULL; |
CFP.Value[2] = (void *)(op); | | CFP.Value[2] = (void *)(op); |
GlobalEvent(&CFP); | | GlobalEvent(&CFP); |
#endif | | |
if(op->stats.food<0) { | | if(op->stats.food<0) { |
if (op->contr->explore) { | | if (op->contr->explore) { |
new_draw_info(NDI_UNIQUE, 0,op,"You would have starved, but you are"); | | new_draw_info(NDI_UNIQUE, 0,op,"You would have starved, but you are"); |