diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index b3d27631ce..2a8700c1e1 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/04/01 + * Added a exp-even-share check when someone leaves a party. [Skotlex] * Added function clif_changetraplook to handle changing the appearance of traps as they are triggered. Fixes all the nullpos related to trap usage. [Skotlex] diff --git a/src/char/int_party.c b/src/char/int_party.c index 1226da6507..99c568a500 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 010abdc8f9..2bdb13aa9d 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)