summaryrefslogtreecommitdiff
path: root/src/map/npc.c
diff options
context:
space:
mode:
authorLance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-14 12:57:50 +0000
committerLance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-14 12:57:50 +0000
commit3b800b8ffa7b6d2a21e4c66d830871a8cf51eaf1 (patch)
tree2d37f74ab98fd5d953b2f6e57ca4aca49d2f2d03 /src/map/npc.c
parent8add7789e56d8f40024cd68f2fdf647245f33a11 (diff)
downloadhercules-3b800b8ffa7b6d2a21e4c66d830871a8cf51eaf1.tar.gz
hercules-3b800b8ffa7b6d2a21e4c66d830871a8cf51eaf1.tar.bz2
hercules-3b800b8ffa7b6d2a21e4c66d830871a8cf51eaf1.tar.xz
hercules-3b800b8ffa7b6d2a21e4c66d830871a8cf51eaf1.zip
* Bugfix on fake npc
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6585 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/npc.c')
-rw-r--r--src/map/npc.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/map/npc.c b/src/map/npc.c
index c463b0282..931a205c8 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -1076,14 +1076,19 @@ int npc_scriptcont(struct map_session_data *sd,int id)
ShowWarning("npc_scriptcont: sd->npc_id (%d) is not id (%d).\n", sd->npc_id, id);
return 1;
}
- if (npc_checknear(sd,id)){
- ShowWarning("npc_scriptcont: failed npc_checknear test.\n");
- return 1;
- }
- nd=(struct npc_data *)map_id2bl(id);
+ if(sd->npc_id != fake_npc_id){ // Not item script
+ if (npc_checknear(sd,id)){
+ ShowWarning("npc_scriptcont: failed npc_checknear test.\n");
+ return 1;
+ }
+
+ nd=(struct npc_data *)map_id2bl(id);
- sd->npc_pos=run_script(nd->u.scr.script,sd->npc_pos,sd->bl.id,id);
+ sd->npc_pos=run_script(nd->u.scr.script,sd->npc_pos,sd->bl.id,id);
+ } else { // Item script, continue execution...
+ sd->npc_pos=run_script(sd->npc_scriptroot,sd->npc_pos,sd->bl.id,id);
+ }
return 0;
}
@@ -2920,7 +2925,7 @@ int do_init_npc(void)
add_timer_func_list(npc_timerevent,"npc_timerevent");
// Init dummy NPC
- //dummy_npc_id = npc_get_new_npc_id();
+ fake_npc_id = npc_get_new_npc_id();
return 0;
}