Ninja Shadow Leap

Find any advantageous bugs someone probably didn't want you to find? Tell us. This is designated for in-game issues.
Post Reply
moshimoochi
Poring
Poring
Posts: 8
Joined: Thu Dec 10, 2009 5:17 am

Ninja Shadow Leap

Post by moshimoochi »

the skill doesn't ignore obstacles like it's supposed to. I've seen it on other servers ignore obstacles; wanted to know when it'd be implemented :D

*EDIT* upon some research this has been a bug for over a year now;

http://www.eathena.ws/board/index.php?a ... howbug=852" TARGET="_blank

is there any hope for the ninjas out there in the world!
User avatar
Kiana
Administrator
Administrator
Posts: 473
Joined: Sat Jul 25, 2009 7:09 pm

Re: Ninja Shadow Leap

Post by Kiana »

Thank you for the report, We will look into this.
Image
User avatar
Koma
Administrator
Administrator
Posts: 708
Joined: Sat Jul 25, 2009 7:05 pm

Re: Ninja Shadow Leap

Post by Koma »

Considering this is related to the recent High Jump report, looking at the code, it really should be ignoring obstacles.

skill.c (note the values Shadow Jump sends to movepos):
case NJ_SHADOWJUMP:
if( !map_flag_gvg(src->m) && !map[src->m].flag.battleground )
{ //You don't move on GVG grounds.
unit_movepos(src, x, y, 1, 0);
clif_slide(src,x,y);
}
if (sc && sc->data[SC_HIDING])
status_change_end(src, SC_HIDING, -1);
break;
The movepos function works like this:
int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int easy, bool checkpath)
If you look at the skill.c code, it is sending a 0 for the boolean value for checkpath, meaning it's saying that it shouldn't be checking path.

If it was checking path, it would follow this pair of lines:
if( checkpath && (map_getcell(bl->m,dst_x,dst_y,CELL_CHKNOPASS) || !path_search(NULL,bl->m,bl->x,bl->y,dst_x,dst_y,easy,CELL_CHKNOREACH)) )
return 0; // unreachable
TK High Jump works the same way (unit_movepos(src, x, y, 1, 0);), but Flying Kick sends a (1 -- unit_movepos(src, bl->x, bl->y, 1, 1)) to give you an idea of the differences.

Will investigate this further if it still isn't working.
Post Reply