summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/battle.c4
-rw-r--r--src/map/skill.c11
2 files changed, 10 insertions, 5 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 122688a1a..0ada71a5e 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -1485,7 +1485,9 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
case TK_JUMPKICK:
skillratio += -70 + 10*skill_lv;
if (sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == skill_num)
- skillratio += 10*status_get_lv(src)/3;
+ skillratio += 10*status_get_lv(src)/3; //Tumble bonus
+ if (wflag)
+ skillratio += 10*status_get_lv(src)/3; //Running bonus (TODO: What is the real bonus?)
break;
case GS_TRIPLEACTION:
skillratio += 50*skill_lv;
diff --git a/src/map/skill.c b/src/map/skill.c
index 4ccda7030..a7516a6eb 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -5168,7 +5168,7 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data)
struct mob_data* md = NULL;
struct unit_data* ud = unit_bl2ud(src);
struct status_change *sc = NULL;
- int inf,inf2;
+ int inf,inf2,flag=0;
nullpo_retr(0, ud);
@@ -5297,7 +5297,10 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data)
if(hd && !skill_check_condition_hom(hd,ud->skillid, ud->skilllv,1)) //[orn]
break;
-
+
+ if (ud->state.running && ud->skillid == TK_JUMPKICK)
+ flag = 1;
+
if (ud->walktimer != -1 && ud->skillid != TK_RUN)
unit_stop_walking(src,1);
@@ -5312,9 +5315,9 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data)
map_freeblock_lock();
if (skill_get_casttype(ud->skillid) == CAST_NODAMAGE)
- skill_castend_nodamage_id(src,target,ud->skillid,ud->skilllv,tick,0);
+ skill_castend_nodamage_id(src,target,ud->skillid,ud->skilllv,tick,flag);
else
- skill_castend_damage_id(src,target,ud->skillid,ud->skilllv,tick,0);
+ skill_castend_damage_id(src,target,ud->skillid,ud->skilllv,tick,flag);
sc = status_get_sc(src);
if(sc && sc->count) {