root/src/map/party.h @ 22

Revision 1, 3.0 kB (checked in by jinshiro, 17 years ago)
Line 
1// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
2// For more information, see LICENCE in the main folder
3
4#ifndef _PARTY_H_
5#define _PARTY_H_
6
7#include "../common/mmo.h" // struct party
8struct block_list;
9struct map_session_data;
10struct party;
11struct item;
12
13#include <stdarg.h>
14
15struct party_member_data {
16        struct map_session_data *sd;
17        unsigned int hp; //For HP,x,y refreshing.
18        unsigned short x, y;
19};
20
21struct party_data {
22        struct party party;
23        struct party_member_data data[MAX_PARTY];
24        uint8 itemc; //For item distribution, position of last picker in party
25        struct {
26                unsigned monk : 1; //There's at least one monk in party?
27                unsigned sg : 1;        //There's at least one Star Gladiator in party?
28                unsigned snovice :1; //There's a Super Novice
29                unsigned tk : 1; //There's a taekwon
30        } state;
31};
32
33
34extern int party_share_level;
35
36void do_init_party(void);
37void do_final_party(void);
38struct party_data* party_search(int party_id);
39struct party_data* party_searchname(const char* str);
40
41int party_create(struct map_session_data *sd,char *name, int item, int item2);
42void party_created(int account_id,int char_id,int fail,int party_id,char *name);
43int party_request_info(int party_id);
44int party_invite(struct map_session_data *sd,struct map_session_data *tsd);
45void party_member_joined(struct map_session_data *sd);
46int party_member_added(int party_id,int account_id,int char_id,int flag);
47int party_leave(struct map_session_data *sd);
48int party_removemember(struct map_session_data *sd,int account_id,char *name);
49int party_member_leaved(int party_id,int account_id,int char_id);
50void party_reply_invite(struct map_session_data *sd,int account_id,int flag);
51int party_recv_noinfo(int party_id);
52int party_recv_info(struct party *sp);
53int party_recv_movemap(int party_id,int account_id,int char_id, unsigned short map,int online,int lv);
54int party_broken(int party_id);
55int party_optionchanged(int party_id,int account_id,int exp,int item,int flag);
56int party_changeoption(struct map_session_data *sd,int exp,int item);
57void party_send_movemap(struct map_session_data *sd);
58void party_send_levelup(struct map_session_data *sd);
59int party_send_logout(struct map_session_data *sd);
60int party_send_message(struct map_session_data *sd,const char *mes,int len);
61int party_recv_message(int party_id,int account_id,const char *mes,int len);
62int party_check_conflict(struct map_session_data *sd);
63int party_skill_check(struct map_session_data *sd, int party_id, int skillid, int skilllv);
64int party_send_xy_clear(struct party_data *p);
65int party_exp_share(struct party_data *p,struct block_list *src,unsigned int base_exp,unsigned int job_exp,int zeny);
66int party_share_loot(struct party_data* p, struct map_session_data* sd, struct item* item_data, int first_charid);
67int party_send_dot_remove(struct map_session_data *sd);
68int party_sub_count(struct block_list *bl, va_list ap);
69int party_foreachsamemap(int (*func)(struct block_list *,va_list),struct map_session_data *sd,int range,...);
70
71#endif /* _PARTY_H_ */
Note: See TracBrowser for help on using the browser.