diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/npc.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/map/npc.c b/src/map/npc.c index 9447478f2..d87619382 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -776,9 +776,6 @@ int npc_touch_areanpc(struct map_session_data* sd, int m, int x, int y) if(sd->npc_id) return 1; - if (sd->sc.option&(OPTION_HIDE|OPTION_CLOAK|OPTION_CHASEWALK)) - return 0; - for(i=0;i<map[m].npc_num;i++) { if (map[m].npc[i]->sc.option&OPTION_INVISIBLE) { @@ -810,6 +807,8 @@ int npc_touch_areanpc(struct map_session_data* sd, int m, int x, int y) } switch(map[m].npc[i]->subtype) { case WARP: + if (sd->sc.option&(OPTION_HIDE|OPTION_CLOAK|OPTION_CHASEWALK)) + break; // hidden chars cannot use warps pc_setpos(sd,map[m].npc[i]->u.warp.mapindex,map[m].npc[i]->u.warp.x,map[m].npc[i]->u.warp.y,0); break; case SCRIPT: |