summaryrefslogtreecommitdiff
path: root/src/map/script.c
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2014-09-20 18:18:07 -0300
committershennetsind <ind@henn.et>2014-09-20 18:18:07 -0300
commit34624b97980e256256897832eda4c7a8c00ca725 (patch)
treeabcceb5b2e77f0d5e4be874701249c73336fb0b7 /src/map/script.c
parenta9cbfd803a82464e9d715f806409526cedb25537 (diff)
downloadhercules-34624b97980e256256897832eda4c7a8c00ca725.tar.gz
hercules-34624b97980e256256897832eda4c7a8c00ca725.tar.bz2
hercules-34624b97980e256256897832eda4c7a8c00ca725.tar.xz
hercules-34624b97980e256256897832eda4c7a8c00ca725.zip
Fixed Bug 8301
reloadscript now clears npc-spawned (by warpportal script command) warps properly. Special Thanks to Emistry, Cydh http://hercules.ws/board/tracker/issue-8301-warpportal-reloadscript-map-server-error/ Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/script.c')
-rw-r--r--src/map/script.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/map/script.c b/src/map/script.c
index 3b5264de9..f46ee78fe 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -15909,8 +15909,7 @@ BUILDIN(warpportal) {
struct block_list* bl;
bl = map->id2bl(st->oid);
- if( bl == NULL )
- {
+ if( bl == NULL ) {
ShowError("script:warpportal: npc is needed\n");
return false;
}
@@ -15924,6 +15923,9 @@ BUILDIN(warpportal) {
if( map_index == 0 )
return true;// map not found
+ if( bl->type == BL_NPC )
+ unit->bl2ud2(bl); // ensure nd->ud is safe to edit
+
group = skill->unitsetting(bl, AL_WARP, 4, spx, spy, 0);
if( group == NULL )
return true;// failed