From af8421488eef950de05dda7109e195687613393e Mon Sep 17 00:00:00 2001 From: skotlex Date: Mon, 18 Sep 2006 18:36:36 +0000 Subject: - High-Jump is usable everywhere now, except that on maps where it previously failed, now will just make you jump in place. - Fixed TK_RUN as per packets provided by AuronX. - Corrected Ki Explosion to have range 1 and to take your weapon's element. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8797 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ db/Changelog.txt | 2 ++ db/skill_db.txt | 4 ++-- src/map/skill.c | 35 +++++++++++++++++++---------------- src/map/status.h | 5 +++-- src/map/unit.c | 3 +++ 6 files changed, 32 insertions(+), 20 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index bdbfdc111..89c810eb2 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -5,6 +5,9 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/09/18 + * High-Jump is usable everywhere now, except that on maps where it + previously failed, now will just make you jump in place. [Skotlex] + * Fixed TK_RUN as per packets provided by AuronX. [Skotlex] * Moved the equipment/card resistances to status ailments outside of status_get_sc_def, so that they are applied only to rate, not duration. [Skotlex] diff --git a/db/Changelog.txt b/db/Changelog.txt index ce8eb430b..e311a7a72 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -20,6 +20,8 @@ ========================= 09/18 + * Corrected Ki Explosion to have range 1 and to take your weapon's element. + [Skotlex] * Fixing Holden combo not draining sp correctly [Playtester] * Added official Rachel Sanctuary mob stats [Playtester] * Fixed the order of mob skills thanks to [Leon] [Playtester] diff --git a/db/skill_db.txt b/db/skill_db.txt index 97fbba41e..0ddc19ac8 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -1,7 +1,7 @@ //id,range,hit,inf,pl,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count // 01 ID // 02 range (combo skills do not check for range when used, if 0 and skill is -// not inf = 4, use base weapon's range) +// not inf = 4, use attack range) // 03 hit (8- repeated hitting, 6- single-hit) // 04 inf (0- passive, 1- enemy, 2- place, 4- self, 16- friend, 32- trap) // 05 pl attributes (0- nothing, 1- water, 2- earth, 3- fire, 4- wind, @@ -585,7 +585,7 @@ 1013,0,6,4,0,3,2,1,0,no,0,1,0,weapon,0 //BS_GREED#Greed# 1014,0,6,4,6,3,14,1,0,yes,0,1,0,magic,0 //PR_REDEMPTIO#Redemptio# 1015,9,6,16,0,1,0,1,1,no,0,1025,0,weapon,0 //MO_KITRANSLATION#Ki Translation# -1016,0,6,1,0,2,1,1,1,no,0,1,0,weapon,5 //MO_BALKYOUNG#Ki Explosion# +1016,-1,6,1,-1,2,1,1,1,no,0,1,0,weapon,5 //MO_BALKYOUNG#Ki Explosion# 1017,9,6,1,2,1,0,1,1,yes,0,1,0,magic,0 //SA_ELEMENTGROUND#Elemental Change Earth# 1018,9,6,1,3,1,0,1,1,yes,0,1,0,magic,0 //SA_ELEMENTFIRE#Elemental Change Fire# 1019,9,6,1,4,1,0,1,1,yes,0,1,0,magic,0 //SA_ELEMENTWIND#Elemental Change Wind# diff --git a/src/map/skill.c b/src/map/skill.c index 34d1740db..2003b89a5 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -883,13 +883,6 @@ int skillnotok (int skillid, struct map_session_data *sd) return 1; } return 0; - case TK_HIGHJUMP: - if(map[m].flag.noteleport && !map_flag_vs(m)) - { //Can't be used on noteleport maps, except for vs maps [Skotlex] - clif_skill_fail(sd,skillid,0,0); - return 1; - } - break; case WE_CALLPARTNER: case WE_CALLPARENT: case WE_CALLBABY: @@ -4162,13 +4155,17 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in clif_skill_nodamage(src,bl,skillid,-1,i); //Hide skill-scream animation. break; case TK_RUN: - if (tsc && tsc->data[type].timer != -1) - i = status_change_end(bl, type, -1); - else - i = sc_start4(bl,type,100,skilllv,unit_getdir(bl),0,0,0); -// If the client receives a skill-use packet inmediately before -// a walkok packet, it will discard the walk packet! [Skotlex] -// clif_skill_nodamage(src,bl,skillid,skilllv,i); + if (tsc && tsc->data[type].timer != -1) + clif_skill_nodamage(src,bl,skillid,skilllv, + status_change_end(bl, type, -1)); + else { + clif_skill_nodamage(src,bl,skillid,skilllv, + sc_start4(bl,type,100,skilllv,unit_getdir(bl),0,0,0)); +// If the client receives a skill-use packet inmediately before +// a walkok packet, it will discard the walk packet! [Skotlex] +// So aegis has to resend the walk ok. + if (sd) clif_walkok(sd); + } break; case AS_CLOAKING: if(tsc && tsc->data[type].timer!=-1 ) @@ -4680,8 +4677,14 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in { int x,y, dir = unit_getdir(src); - x = src->x + dirx[dir]*skilllv*2; - y = src->y + diry[dir]*skilllv*2; + //Fails on noteleport maps, except for vs maps [Skotlex] + if(map[src->m].flag.noteleport && !map_flag_vs(src->m)) { + x = src->x; + y = src->y; + } else { + x = src->x + dirx[dir]*skilllv*2; + y = src->y + diry[dir]*skilllv*2; + } clif_skill_nodamage(src,bl,TK_HIGHJUMP,skilllv,1); if(map_getcell(src->m,x,y,CELL_CHKPASS)) { diff --git a/src/map/status.h b/src/map/status.h index 2b74a41a5..df8adafc7 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -353,13 +353,14 @@ enum { SI_JOINTBEAT = 125, SI_DEVOTION = 130, SI_STEELBODY = 132, - //134 - Soullink-like effect which makes the character get wavy. + SI_RUN = 133, + SI_BUMP = 134, SI_READYSTORM = 135, SI_READYDOWN = 137, SI_READYTURN = 139, SI_READYCOUNTER = 141, SI_DODGE = 143, - SI_RUN = 144, + //SI_RUN = 144, //is not RUN. need info on what this is. SI_SPURT = 145, SI_SHADOWWEAPON = 146, SI_ADRENALINE2 = 147, diff --git a/src/map/unit.c b/src/map/unit.c index 9417115ed..751460c54 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -386,8 +386,11 @@ int unit_run(struct block_list *bl) if(to_x == bl->x && to_y == bl->y) { //If you can't run forward, you must be next to a wall, so bounce back. [Skotlex] + clif_status_change(bl, SI_BUMP, 1); status_change_end(bl,SC_RUN,-1); skill_blown(bl,bl,skill_get_blewcount(TK_RUN,sc->data[SC_RUN].val1)|0x10000); + clif_fixpos(bl); //Why is a clif_slide (skill_blown) AND a fixpos needed? Ask Aegis. + clif_status_change(bl, SI_BUMP, 0); return 0; } unit_walktoxy(bl, to_x, to_y, 1); -- cgit v1.2.3-70-g09d2