Fixed an issue with warp "Random",0,0;

* Replaced warp "Random",0,0; by itemskill "AL_TELEPORT",1; in the items script functions (#5774)
* Added an exception to bypass the mapflag MF_NOTELEPORT in pc_randomwarp for some script commands
* Fixed #5764

Thanks to @limitro !
This commit is contained in:
Atemo
2021-04-02 18:18:49 +02:00
committed by GitHub
parent 6d89b53fb0
commit 195b21d4a8
5 changed files with 9 additions and 9 deletions

View File

@@ -5583,7 +5583,7 @@ BUILDIN_FUNC(warp)
y = script_getnum(st,4);
if(strcmp(str,"Random")==0)
ret = pc_randomwarp(sd,CLR_TELEPORT);
ret = pc_randomwarp(sd,CLR_TELEPORT,true);
else if(strcmp(str,"SavePoint")==0 || strcmp(str,"Save")==0)
ret = pc_setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT);
else
@@ -5611,7 +5611,7 @@ static int buildin_areawarp_sub(struct block_list *bl,va_list ap)
y3 = va_arg(ap,int);
if(index == 0)
pc_randomwarp((TBL_PC *)bl,CLR_TELEPORT);
pc_randomwarp((TBL_PC *)bl,CLR_TELEPORT,true);
else if(x3 && y3) {
int max, tx, ty, j = 0;
int16 m;
@@ -12563,7 +12563,7 @@ BUILDIN_FUNC(warpwaitingpc)
mapreg_setreg(reference_uid(add_str("$@warpwaitingpc"), i), sd->bl.id);
if( strcmp(map_name,"Random") == 0 )
pc_randomwarp(sd,CLR_TELEPORT);
pc_randomwarp(sd,CLR_TELEPORT,true);
else if( strcmp(map_name,"SavePoint") == 0 )
pc_setpos(sd, sd->status.save_point.map, sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT);
else