diff options
Diffstat (limited to 'src/map/battleground.h')
-rw-r--r-- | src/map/battleground.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/map/battleground.h b/src/map/battleground.h new file mode 100644 index 000000000..c2b74a534 --- /dev/null +++ b/src/map/battleground.h @@ -0,0 +1,45 @@ +// Copyright (c) Athena Dev Teams - Licensed under GNU GPL +// For more information, see LICENCE in the main folder + +#ifndef _BATTLEGROUND_H_ +#define _BATTLEGROUND_H_ + +#include "../common/mmo.h" // struct party +#include "guild.h" + +#define MAX_BG_MEMBERS 30 + +struct battleground_member_data { + unsigned short x, y; + struct map_session_data *sd; + unsigned afk : 1; +}; + +struct battleground_data { + unsigned int bg_id; + unsigned char count; + struct battleground_member_data members[MAX_BG_MEMBERS]; + // BG Cementery + unsigned short mapindex, x, y; + // Logout Event + char logout_event[EVENT_NAME_LENGTH]; + char die_event[EVENT_NAME_LENGTH]; +}; + +void do_init_battleground(void); +void do_final_battleground(void); + +struct battleground_data* bg_team_search(int bg_id); +int bg_send_dot_remove(struct map_session_data *sd); +int bg_team_get_id(struct block_list *bl); +struct map_session_data* bg_getavailablesd(struct battleground_data *bg); + +int bg_create(unsigned short mapindex, short rx, short ry, const char *ev, const char *dev); +int bg_team_join(int bg_id, struct map_session_data *sd); +int bg_team_delete(int bg_id); +int bg_team_leave(struct map_session_data *sd, int flag); +int bg_team_warp(int bg_id, unsigned short mapindex, short x, short y); +int bg_member_respawn(struct map_session_data *sd); +int bg_send_message(struct map_session_data *sd, const char *mes, int len); + +#endif /* _BATTLEGROUND_H_ */ |