|
@@ -554,12 +554,13 @@ int mapif_parse_PartyAddMember(int fd, int party_id, struct party_member *member
|
|
p->party.member[i].leader = 0;
|
|
p->party.member[i].leader = 0;
|
|
if (p->party.member[i].online) p->party.count++;
|
|
if (p->party.member[i].online) p->party.count++;
|
|
p->size++;
|
|
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.
|
|
if (p->family) p->family = 0; //Family state broken.
|
|
int_party_check_lv(p);
|
|
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_memberadded(fd, party_id, member->account_id, member->char_id, 0);
|
|
mapif_party_info(-1, &p->party);
|
|
mapif_party_info(-1, &p->party);
|
|
return 0;
|
|
return 0;
|