summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/battle.c4
-rw-r--r--src/map/skill.c11
3 files changed, 13 insertions, 5 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 83e0cbec1..82bb3d58f 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2008/01/11
+ * Implemented the extra damage bonus to TK_JUMPKICK when it is used while
+ running (however what the bonus's equation is has been lost to time, so
+ someone else correct it).
* Corrected CR_CULTIVATION to cause summoned plants to expire after 5
minutes.
2008/01/10
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) {