diff options
author | shennetsind <ind@henn.et> | 2013-06-15 05:29:58 -0300 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-06-15 05:29:58 -0300 |
commit | 1edc31980be653e6482e4920862ac5d6ab0dd916 (patch) | |
tree | c7ec9afca830cd8c83c839e34ca02728ad2b727b /src/map/battleground.c | |
parent | 8fb06fb0d7d89b31204519bacd72ab078bb8480d (diff) | |
download | hercules-1edc31980be653e6482e4920862ac5d6ab0dd916.tar.gz hercules-1edc31980be653e6482e4920862ac5d6ab0dd916.tar.bz2 hercules-1edc31980be653e6482e4920862ac5d6ab0dd916.tar.xz hercules-1edc31980be653e6482e4920862ac5d6ab0dd916.zip |
bg queue minor progress
Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/battleground.c')
-rw-r--r-- | src/map/battleground.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/map/battleground.c b/src/map/battleground.c index 64bc25269..88cc323bf 100644 --- a/src/map/battleground.c +++ b/src/map/battleground.c @@ -420,9 +420,20 @@ int bg_id2pos ( int queue_id, int account_id ) { } return 0; } +void bg_queue_ready_ack (struct bg_arena *arena, struct map_session_data *sd, bool response) { + if( arena->begin_timer == INVALID_TIMER || !sd->bg_queue.arena || sd->bg_queue.arena != arena ) { + bg->queue_pc_cleanup(sd); + return; + } + if( response ) { + sd->bg_queue.ready = 1; + /* check if all are ready then cancell timer, and start game */ + } else + bg->queue_pc_cleanup(sd); +} void bg_queue_player_cleanup(struct map_session_data *sd) { if ( sd->bg_queue.client_has_bg_data ) { - clif->bgqueue_notice_delete(sd,BGQND_CLOSEWINDOW, sd->bg_queue.arena->id); + clif->bgqueue_notice_delete(sd,BGQND_CLOSEWINDOW, sd->bg_queue.arena ? sd->bg_queue.arena->id : 0); } script->queue_remove(sd->bg_queue.arena->queue_id,sd->status.account_id); sd->bg_queue.arena = NULL; @@ -726,6 +737,7 @@ void battleground_defaults(void) { bg->begin_timer = bg_begin_timer; bg->queue_pregame = bg_queue_pregame; bg->fillup_timer = bg_fillup_timer; + bg->queue_ready_ack = bg_queue_ready_ack; /* */ bg->config_read = bg_config_read; } |