summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/char/int_party.c9
-rw-r--r--src/char_sql/int_party.c9
2 files changed, 10 insertions, 8 deletions
diff --git a/src/char/int_party.c b/src/char/int_party.c
index e26e659f6..5d9ab9123 100644
--- a/src/char/int_party.c
+++ b/src/char/int_party.c
@@ -554,12 +554,13 @@ int mapif_parse_PartyAddMember(int fd, int party_id, struct party_member *member
p->party.member[i].leader = 0;
if (p->party.member[i].online) p->party.count++;
p->size++;
- if (member->lv < p->min_lv || member->lv > p->max_lv || p->family)
- {
+ if (p->size == 3) //Check family state.
+ int_party_calc_state(p);
+ else //Check even share range.
+ if (member->lv < p->min_lv || member->lv > p->max_lv || p->family) {
if (p->family) p->family = 0; //Family state broken.
int_party_check_lv(p);
- } else if (p->size == 3) //Check family state.
- int_party_calc_state(p);
+ }
mapif_party_memberadded(fd, party_id, member->account_id, member->char_id, 0);
mapif_party_info(-1, &p->party);
return 0;
diff --git a/src/char_sql/int_party.c b/src/char_sql/int_party.c
index e3056f8d5..79fb57a95 100644
--- a/src/char_sql/int_party.c
+++ b/src/char_sql/int_party.c
@@ -617,12 +617,13 @@ int mapif_parse_PartyAddMember(int fd, int party_id, struct party_member *member
p->party.member[i].leader=0;
if (p->party.member[i].online) p->party.count++;
p->size++;
- if (member->lv < p->min_lv || member->lv > p->max_lv || p->family)
- {
+ if (p->size == 3) //Check family state.
+ int_party_calc_state(p);
+ else //Check even share range.
+ if (member->lv < p->min_lv || member->lv > p->max_lv || p->family) {
if (p->family) p->family = 0; //Family state broken.
int_party_check_lv(p);
- } else if (p->size == 3) //Check family state.
- int_party_calc_state(p);
+ }
mapif_party_memberadded(fd,party_id,member->account_id,member->char_id,0);
mapif_party_info(-1,&p->party);