summaryrefslogtreecommitdiff
path: root/src/map/script.c
diff options
context:
space:
mode:
authorLemongrass3110 <lemongrass@kstp.at>2016-12-01 13:28:34 +0100
committerLemongrass3110 <lemongrass@kstp.at>2016-12-01 14:09:05 +0100
commit9c2d186e524e436aa6e26bc6358dfaf67e038119 (patch)
tree72b45abcaf3105ff3b6705bc19ce63251e5c70a9 /src/map/script.c
parentcadfd69b1f8199d11eed5d303880cd847ad736da (diff)
downloadhercules-9c2d186e524e436aa6e26bc6358dfaf67e038119.tar.gz
hercules-9c2d186e524e436aa6e26bc6358dfaf67e038119.tar.bz2
hercules-9c2d186e524e436aa6e26bc6358dfaf67e038119.tar.xz
hercules-9c2d186e524e436aa6e26bc6358dfaf67e038119.zip
Fixed areawarp cell check
The script command areawarp has been checking the wrong target map for ages. It has been checking the mapindex rather than the mapid and therefore returned a wrong result. Original commit: rathena/rathena@ac2ba09
Diffstat (limited to 'src/map/script.c')
-rw-r--r--src/map/script.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/map/script.c b/src/map/script.c
index 5ebbf2100..3a81c8075 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -6391,6 +6391,9 @@ int buildin_areawarp_sub(struct block_list *bl, va_list ap)
pc->randomwarp(sd, CLR_TELEPORT);
} else if (x3 != 0 && y3 != 0) {
int max, tx, ty, j = 0;
+ int16 m;
+
+ m = map->mapindex2mapid(index);
// choose a suitable max number of attempts
if( (max = (y3-y2+1)*(x3-x2+1)*3) > 1000 )
@@ -6401,7 +6404,7 @@ int buildin_areawarp_sub(struct block_list *bl, va_list ap)
tx = rnd()%(x3-x2+1)+x2;
ty = rnd()%(y3-y2+1)+y2;
j++;
- } while (map->getcell(index, bl, tx, ty, CELL_CHKNOPASS) && j < max);
+ } while (map->getcell(m, bl, tx, ty, CELL_CHKNOPASS) && j < max);
pc->setpos(sd, index, tx, ty, CLR_OUTSIGHT);
} else {