summaryrefslogtreecommitdiff
path: root/src/char/int_guild.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/char/int_guild.h')
-rw-r--r--src/char/int_guild.h47
1 files changed, 37 insertions, 10 deletions
diff --git a/src/char/int_guild.h b/src/char/int_guild.h
index bc457d86b..c72856709 100644
--- a/src/char/int_guild.h
+++ b/src/char/int_guild.h
@@ -4,6 +4,8 @@
#ifndef CHAR_INT_GUILD_H
#define CHAR_INT_GUILD_H
+#include "../common/mmo.h"
+
enum {
GS_BASIC = 0x0001,
GS_MEMBER = 0x0002,
@@ -20,15 +22,40 @@ enum {
GS_REMOVE = 0x8000,
};
-int inter_guild_parse_frommap(int fd);
-int inter_guild_sql_init(void);
-void inter_guild_sql_final(void);
-int inter_guild_leave(int guild_id,int account_id,int char_id);
-int mapif_parse_BreakGuild(int fd,int guild_id);
-int inter_guild_broken(int guild_id);
-int inter_guild_sex_changed(int guild_id,int account_id,int char_id, short gender);
-int inter_guild_charname_changed(int guild_id,int account_id, int char_id, char *name);
-int inter_guild_CharOnline(int char_id, int guild_id);
-int inter_guild_CharOffline(int char_id, int guild_id);
+void inter_guild_defaults(void);
+
+/**
+ * inter_guild interface
+ **/
+struct inter_guild_interface {
+ DBMap* guild_db; // int guild_id -> struct guild*
+ DBMap* castle_db;
+ unsigned int exp[MAX_GUILDLEVEL];
+
+ int (*save_timer) (int tid, int64 tick, int id, intptr_t data);
+ int (*removemember_tosql) (int account_id, int char_id);
+ int (*tosql) (struct guild *g, int flag);
+ struct guild* (*fromsql) (int guild_id);
+ int (*castle_tosql) (struct guild_castle *gc);
+ struct guild_castle* (*castle_fromsql) (int castle_id);
+ bool (*exp_parse_row) (char* split[], int column, int current);
+ int (*CharOnline) (int char_id, int guild_id);
+ int (*CharOffline) (int char_id, int guild_id);
+ int (*sql_init) (void);
+ int (*db_final) (DBKey key, DBData *data, va_list ap);
+ void (*sql_final) (void);
+ int (*search_guildname) (char *str);
+ bool (*check_empty) (struct guild *g);
+ unsigned int (*nextexp) (int level);
+ int (*checkskill) (struct guild *g, int id);
+ int (*calcinfo) (struct guild *g);
+ int (*sex_changed) (int guild_id, int account_id, int char_id, short gender);
+ int (*charname_changed) (int guild_id, int account_id, int char_id, char *name);
+ int (*parse_frommap) (int fd);
+ int (*leave) (int guild_id, int account_id, int char_id);
+ int (*broken) (int guild_id);
+};
+
+struct inter_guild_interface *inter_guild;
#endif /* CHAR_INT_GUILD_H */