diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-03-12 19:02:20 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-03-12 19:02:20 +0000 |
commit | 93679be6f50e5117ac58b0b8f1b8fe0c7075924a (patch) | |
tree | f3d82044cad81f35e54bdb3de6769178e728fee3 /src/map/party.c | |
parent | 162a6d4e0cf5c6728d594dfb70f6f12ac40a63c1 (diff) | |
download | hercules-93679be6f50e5117ac58b0b8f1b8fe0c7075924a.tar.gz hercules-93679be6f50e5117ac58b0b8f1b8fe0c7075924a.tar.bz2 hercules-93679be6f50e5117ac58b0b8f1b8fe0c7075924a.tar.xz hercules-93679be6f50e5117ac58b0b8f1b8fe0c7075924a.zip |
- Cleaned up the implementation of party_send_movemap, it should fix the client receiving the party-mate positions before receiving the party information when you first log on.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9994 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/party.c')
-rw-r--r-- | src/map/party.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/src/map/party.c b/src/map/party.c index 51408c79d..777a2ab3b 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -520,22 +520,9 @@ void party_send_movemap(struct map_session_data *sd) intif_party_changemap(sd,1); p=party_search(sd->status.party_id); - if (p && sd->fd) { - //Send dots of other party members to this char. [Skotlex] - for(i=0; i < MAX_PARTY; i++) { - if (!p->data[i].sd || p->data[i].sd == sd || - p->data[i].sd->bl.m != sd->bl.m) - continue; - clif_party_xy_single(sd->fd, p->data[i].sd); - } - } - - if( sd->state.party_sent ) - return; + if (!p) return; - party_check_conflict(sd); - - if(p){ + if(!sd->state.party_sent) { party_check_member(&p->party); if(sd->status.party_id==p->party.party_id){ clif_party_member_info(p,sd); @@ -544,7 +531,15 @@ void party_send_movemap(struct map_session_data *sd) sd->state.party_sent=1; } } - + + if (sd->fd) { //Send dots of other party members to this char. [Skotlex] + for(i=0; i < MAX_PARTY; i++) { + if (p->data[i].sd && + p->data[i].sd != sd && + p->data[i].sd->bl.m == sd->bl.m) + clif_party_xy_single(sd->fd, p->data[i].sd); + } + } return; } |