diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/battle.c | 4 | ||||
-rw-r--r-- | src/map/skill.c | 11 |
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) { |