summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--db/Changelog.txt2
-rw-r--r--db/skill_db.txt4
-rw-r--r--src/map/skill.c35
-rw-r--r--src/map/status.h5
-rw-r--r--src/map/unit.c3
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);