summaryrefslogtreecommitdiff
path: root/src/map/intif.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/intif.c')
-rw-r--r--src/map/intif.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/map/intif.c b/src/map/intif.c
index 1a8e5e75b..e6b5768b4 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -423,17 +423,25 @@ int intif_party_leave(int party_id,int account_id, int char_id)
// パーティ移動要求
int intif_party_changemap(struct map_session_data *sd,int online)
{
+ int m, mapindex;
+
if (CheckForCharServer())
return 0;
if(!sd)
return 0;
+ if( (m=map_mapindex2mapid(sd->mapindex)) >= 0 && map[m].instance_id )
+ mapindex = map[map[m].instance_map[0]].index;
+ else
+ mapindex = sd->mapindex;
+
+
WFIFOHEAD(inter_fd,19);
WFIFOW(inter_fd,0)=0x3025;
WFIFOL(inter_fd,2)=sd->status.party_id;
WFIFOL(inter_fd,6)=sd->status.account_id;
WFIFOL(inter_fd,10)=sd->status.char_id;
- WFIFOW(inter_fd,14)=sd->mapindex;
+ WFIFOW(inter_fd,14)=mapindex;
WFIFOB(inter_fd,16)=online;
WFIFOW(inter_fd,17)=sd->status.base_level;
WFIFOSET(inter_fd,19);