summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-04-01 23:47:24 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-04-01 23:47:24 +0000
commitc253ebc35ad9ff85631e2c35a968b6001856479b (patch)
tree4df2cc58f81c572073673db57c81d1098db293ce
parent6c8639e84d348cc6fb39e74fce5dcc4132673562 (diff)
downloadhercules-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
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/char/int_party.c6
-rw-r--r--src/char_sql/int_party.c6
3 files changed, 13 insertions, 0 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index b3d27631c..2a8700c1e 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 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)