Parcourir la source

- Fixed pc_setpos using unit_remove_map with type 0 instead of 3, which confuses clients and makes them think the character in question is still standing on the spot where it was removed.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5897 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex il y a 19 ans
Parent
commit
fa1d4e5bf8
2 fichiers modifiés avec 7 ajouts et 3 suppressions
  1. 4 0
      Changelog-Trunk.txt
  2. 3 3
      src/map/pc.c

+ 4 - 0
Changelog-Trunk.txt

@@ -4,6 +4,10 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 2006/04/03
+	* Fixed pc_setpos using unit_remove_map with type 0 instead of 3, which
+	  confuses clients and makes them think the character in question is still
+	  standing on the spot where it was removed. This should fix the warp-portal
+	  issue. [Skotlex]
 	* Fixed script command mapwarp. [Skotlex]
 	* Fixed Auto-counter. [Skotlex]
 	* Modified Rude-Attacked behaviour so that such skills only triggers when

+ 3 - 3
src/map/pc.c

@@ -3054,7 +3054,7 @@ int pc_setpos(struct map_session_data *sd,unsigned short mapindex,int x,int y,in
 		if(sd->mapindex){
 			int ip,port;
 			if(map_mapname2ipport(mapindex,&ip,&port)==0){
-				unit_remove_map(&sd->bl,0);
+				unit_remove_map(&sd->bl,3);
 				sd->mapindex = mapindex;
 				sd->bl.x=x;
 				sd->bl.y=y;
@@ -3093,9 +3093,9 @@ int pc_setpos(struct map_session_data *sd,unsigned short mapindex,int x,int y,in
 	}
 
 	if(sd->bl.prev != NULL){
-		unit_remove_map(&sd->bl, 0);
+		unit_remove_map(&sd->bl, 3);
 		if(sd->status.pet_id > 0 && sd->pd)
-			unit_remove_map(&sd->pd->bl, 0);
+			unit_remove_map(&sd->pd->bl, 3);
 		clif_changemap(sd,map[m].index,x,y); // [MouseJstr]
 	}