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.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/map/battleground.h b/src/map/battleground.h
new file mode 100644
index 000000000..0218de160
--- /dev/null
+++ b/src/map/battleground.h
@@ -0,0 +1,50 @@
+// 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];
+ // Fake Guild Link
+ struct guild *g;
+ // BG Cementery
+ unsigned short mapindex, x, y;
+ // Logout Event
+ char logout_event[50];
+ char die_event[50];
+};
+
+extern struct guild bg_guild[];
+
+void do_init_battleground(void);
+void do_final_battleground(void);
+
+struct battleground_data* bg_team_search(int bg_id);
+struct guild* bg_guild_get(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, int guild_index, 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_ */