Jump to content
  • 0

Change in skill High Jump


Question

3 answers to this question

Recommended Posts

  • 0
Posted

No problem,

I just added SC_HOVERING to high jump for 1 second when you cast it.

If thats not enough just make a new status a copy of sc_hovering but without the movement speed /ok

BTW im on hercules kill me whatever but its pretty much the same

jumptrap.png

here are your changes ,

1)Status.c

find

add_sc( MS_MAGNUM , SC_WATK_ELEMENT );

and add under it

	add_sc( MS_MAGNUM		, SC_WATK_ELEMENT	);
	add_sc( TK_HIGHJUMP		, SC_HOVERING	);

 

Now go to

2) Skill.c

find TK_HIGHJUMP

case TK_HIGHJUMP:
        {
            int x,y, dir = unit_getdir(src);

            //Fails on noteleport maps, except for GvG and BG maps [Skotlex]
            if( map_getmapflag(src->m, MF_NOTELEPORT) &&
                !(map_getmapflag(src->m, MF_BATTLEGROUND) || map_flag_gvg2(src->m) )
            ) {
                x = src->x;
                y = src->y;
            } else if(dir%2) {
                //Diagonal
                x = src->x + dirx[dir]*(skill_lv*4)/3;
                y = src->y + diry[dir]*(skill_lv*4)/3;
            } else {
                x = src->x + dirx[dir]*skill_lv*2;
                y = src->y + diry[dir]*skill_lv*2;
            }

            clif_skill_nodamage(src,bl,TK_HIGHJUMP,skill_lv,1);
            if(!map_count_oncell(src->m,x,y,BL_PC|BL_NPC|BL_MOB,0) && map_getcell(src->m,x,y,CELL_CHKREACH) && unit_movepos(src, x, y, 1, 0))
                clif_blown(src);
        }
        break;


and change it to this 

case TK_HIGHJUMP:
        {
            int x,y, dir = unit_getdir(src);

            //Fails on noteleport maps, except for GvG and BG maps [Skotlex]
            if( map_getmapflag(src->m, MF_NOTELEPORT) &&
                !(map_getmapflag(src->m, MF_BATTLEGROUND) || map_flag_gvg2(src->m) )
            ) {
                x = src->x;
                y = src->y;
            } else if(dir%2) {
				sc_start4(src,src,SC_HOVERING,100,3,20,0,0,skill_get_time2(skill_id, skill_lv));
                //Diagonal
                x = src->x + dirx[dir]*(skill_lv*4)/3;
                y = src->y + diry[dir]*(skill_lv*4)/3;
            } else {
				sc_start4(src,src,SC_HOVERING,100,3,20,0,0,skill_get_time2(skill_id, skill_lv));
                x = src->x + dirx[dir]*skill_lv*2;
                y = src->y + diry[dir]*skill_lv*2;
            }

            clif_skill_nodamage(src,bl,TK_HIGHJUMP,skill_lv,1);
            if(!map_count_oncell(src->m,x,y,BL_PC|BL_NPC|BL_MOB,0) && map_getcell(src->m,x,y,CELL_CHKREACH) && unit_movepos(src, x, y, 1, 0))
                clif_blown(src);
        }
        break;

i added 

sc_start4(src,src,SC_HOVERING,100,3,20,0,0,skill_get_time2(skill_id, skill_lv));

to before we jump

3) your skill DB in the PRE RE OR RE FOLDER , sorry im on hecrules and cant find the:

SkillData2: option that many skills use for their DURATIONS all you need to do is add 1 second, but SINCE I CANT DO IT DAMNIT do this

i added this 2 times to TK_HIGHJUMP, just change it to this

sc_start4(src,src,SC_HOVERING,100,3,20,0,0,skill_get_time2(WL_STASIS skill_lv));

i added wl_stasis to the time2 since its only 1 second..

 

good luck! 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...