summaryrefslogtreecommitdiff
path: root/src/map/battleground.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/battleground.h')
-rw-r--r--src/map/battleground.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/map/battleground.h b/src/map/battleground.h
index ed7347566..05c4eb060 100644
--- a/src/map/battleground.h
+++ b/src/map/battleground.h
@@ -26,6 +26,12 @@ enum bg_queue_types {
BGQT_GUILD = 0x4,
};
+enum bg_team_leave_type {
+ BGTL_LEFT = 0x0,
+ BGTL_QUIT = 0x1,
+ BGTL_AFK = 0x2,
+};
+
struct battleground_member_data {
unsigned short x, y;
struct map_session_data *sd;
@@ -62,12 +68,13 @@ struct bg_arena {
unsigned short fillup_duration;
unsigned short pregame_duration;
bool ongoing;
+ enum bg_queue_types allowed_types;
};
struct battleground_interface {
bool queue_on;
/* */
- int mafksec;
+ int mafksec, afk_timer_id;
char gdelay_var[BG_DELAY_VAR_LENGTH];
/* */
struct bg_arena **arena;
@@ -97,13 +104,16 @@ struct battleground_interface {
bool (*team_warp) (int bg_id, unsigned short map_index, short x, short y);
void (*send_dot_remove) (struct map_session_data *sd);
bool (*team_join) (int bg_id, struct map_session_data *sd);
- int (*team_leave) (struct map_session_data *sd, int flag);
+ int (*team_leave) (struct map_session_data *sd, enum bg_team_leave_type flag);
bool (*member_respawn) (struct map_session_data *sd);
int (*create) (unsigned short map_index, short rx, short ry, const char *ev, const char *dev);
int (*team_get_id) (struct block_list *bl);
bool (*send_message) (struct map_session_data *sd, const char *mes, int len);
int (*send_xy_timer_sub) (DBKey key, DBData *data, va_list ap);
- int (*send_xy_timer) (int tid, int64 tick, int id, intptr_t data);
+ int (*send_xy_timer) (int tid, int64 tick, int id, intptr_t data);
+ int (*afk_timer) (int tid, int64 tick, int id, intptr_t data);
+ /* */
+ enum bg_queue_types (*str2teamtype) (const char *str);
/* */
void (*config_read) (void);
};