diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-04-01 23:47:24 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-04-01 23:47:24 +0000 |
commit | c253ebc35ad9ff85631e2c35a968b6001856479b (patch) | |
tree | 4df2cc58f81c572073673db57c81d1098db293ce /src | |
parent | 6c8639e84d348cc6fb39e74fce5dcc4132673562 (diff) | |
download | hercules-c253ebc35ad9ff85631e2c35a968b6001856479b.tar.gz hercules-c253ebc35ad9ff85631e2c35a968b6001856479b.tar.bz2 hercules-c253ebc35ad9ff85631e2c35a968b6001856479b.tar.xz hercules-c253ebc35ad9ff85631e2c35a968b6001856479b.zip |
- Added a check to remove exp-even-share when someone leaves a party.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5855 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/char/int_party.c | 6 | ||||
-rw-r--r-- | src/char_sql/int_party.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/char/int_party.c b/src/char/int_party.c index 1226da650..99c568a50 100644 --- a/src/char/int_party.c +++ b/src/char/int_party.c @@ -541,6 +541,12 @@ int mapif_parse_PartyLeave(int fd, int party_id, int account_id, int char_id) { {
mapif_party_leaved(party_id, account_id, char_id);
memset(&p->member[i], 0, sizeof(struct party_member));
+ //Normally unneeded except when a family is even-sharing
+ //and one of the three leaves the party.
+ if(p->exp && !party_check_exp_share(p)){
+ p->exp=0;
+ mapif_party_optionchanged(fd,p,0,0);
+ }
if (party_check_empty(p) == 0)
mapif_party_info(-1, p);// まだ人がいるのでデ?タ送信
return 0;
diff --git a/src/char_sql/int_party.c b/src/char_sql/int_party.c index 010abdc8f..2bdb13aa9 100644 --- a/src/char_sql/int_party.c +++ b/src/char_sql/int_party.c @@ -633,6 +633,12 @@ int mapif_parse_PartyLeave(int fd, int party_id, int account_id, int char_id) } else {
inter_party_tosql(p,PS_DELMEMBER,i);
memset(&p->member[i], 0, sizeof(struct party_member));
+ //Normally unneeded except when a family is even-sharing
+ //and one of the three leaves the party.
+ if(p->exp && !party_check_exp_share(p) ){
+ p->exp=0;
+ mapif_party_optionchanged(fd,p,0,0);
+ }
}
if (party_check_empty(p) == 0)
|