summaryrefslogtreecommitdiff
path: root/src/map/party.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-03-12 19:02:20 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-03-12 19:02:20 +0000
commit93679be6f50e5117ac58b0b8f1b8fe0c7075924a (patch)
treef3d82044cad81f35e54bdb3de6769178e728fee3 /src/map/party.c
parent162a6d4e0cf5c6728d594dfb70f6f12ac40a63c1 (diff)
downloadhercules-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.c27
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;
}