summaryrefslogtreecommitdiff
path: root/src/char
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2019-10-19 17:30:35 +0200
committerGitHub <noreply@github.com>2019-10-19 17:30:35 +0200
commit574e63d3e04e6b1cdb2d9d19fa164263ba5d5bf7 (patch)
tree18a7f8a353831055385aa9edc149719d20305a09 /src/char
parenta7f67d0513cc6f55056a37d2f6ae55bcf58af174 (diff)
parent36cb0a2410671bc940b6cdb0e6ff0716deb24175 (diff)
downloadhercules-574e63d3e04e6b1cdb2d9d19fa164263ba5d5bf7.tar.gz
hercules-574e63d3e04e6b1cdb2d9d19fa164263ba5d5bf7.tar.bz2
hercules-574e63d3e04e6b1cdb2d9d19fa164263ba5d5bf7.tar.xz
hercules-574e63d3e04e6b1cdb2d9d19fa164263ba5d5bf7.zip
Merge pull request #2562 from MishimaHaruna/cached-info-fixes
Clean up cached party/guild data when leaving/disbanding
Diffstat (limited to 'src/char')
-rw-r--r--src/char/int_party.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/char/int_party.c b/src/char/int_party.c
index c27d708f2..bf680c816 100644
--- a/src/char/int_party.c
+++ b/src/char/int_party.c
@@ -118,7 +118,6 @@ static void inter_party_calc_state(struct party_data *p)
p->party.exp = 0; //Set off even share.
mapif->party_optionchanged(0, &p->party, 0, 0);
}
- return;
}
// Save party to mysql
@@ -472,8 +471,11 @@ static bool inter_party_leave(int party_id, int account_id, int char_id)
mapif->party_withdraw(party_id, account_id, char_id);
j = p->party.member[i].lv;
- if (p->party.member[i].online > 0)
+ if (p->party.member[i].online > 0) {
+ p->party.member[i].online = 0;
p->party.count--;
+ }
+ inter_party->tosql(&p->party, PS_DELMEMBER, i);
memset(&p->party.member[i], 0, sizeof(struct party_member));
p->size--;
if (j == p->min_lv || j == p->max_lv || p->family) {
@@ -482,7 +484,6 @@ static bool inter_party_leave(int party_id, int account_id, int char_id)
}
if (inter_party->check_empty(p) == 0) {
- inter_party->tosql(&p->party, PS_DELMEMBER, i);
mapif->party_info(-1, &p->party, 0);
}
return true;