diff options
Diffstat (limited to 'src/char/int_party.h')
-rw-r--r-- | src/char/int_party.h | 39 |
1 files changed, 33 insertions, 6 deletions
diff --git a/src/char/int_party.h b/src/char/int_party.h index 2b24b1d1a..68fae32a8 100644 --- a/src/char/int_party.h +++ b/src/char/int_party.h @@ -4,6 +4,8 @@ #ifndef CHAR_INT_PARTY_H #define CHAR_INT_PARTY_H +#include "../common/mmo.h" + //Party Flags on what to save/delete. enum { PS_CREATE = 0x01, //Create a new party entry (index holds leader's info) @@ -14,11 +16,36 @@ enum { PS_BREAK = 0x20, //Specify that this party must be deleted. }; -int inter_party_parse_frommap(int fd); -int inter_party_sql_init(void); -void inter_party_sql_final(void); -int inter_party_leave(int party_id,int account_id, int char_id); -int inter_party_CharOnline(int char_id, int party_id); -int inter_party_CharOffline(int char_id, int party_id); +struct party_data { + struct party party; + unsigned int min_lv, max_lv; + int family; //Is this party a family? if so, this holds the child id. + unsigned char size; //Total size of party. +}; + +void inter_party_defaults(void); + +/** + * inter_party interface + **/ +struct inter_party_interface { + struct party_data *pt; + DBMap* db; // int party_id -> struct party_data* + int (*check_lv) (struct party_data *p); + void (*calc_state) (struct party_data *p); + int (*tosql) (struct party *p, int flag, int index); + struct party_data* (*fromsql) (int party_id); + int (*sql_init) (void); + void (*sql_final) (void); + struct party_data* (*search_partyname) (const char *str); + int (*check_exp_share) (struct party_data *p); + int (*check_empty) (struct party_data *p); + int (*parse_frommap) (int fd); + int (*leave) (int party_id,int account_id, int char_id); + int (*CharOnline) (int char_id, int party_id); + int (*CharOffline) (int char_id, int party_id); +}; + +struct inter_party_interface *inter_party; #endif /* CHAR_INT_PARTY_H */ |