Browse Source

- 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).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12053 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 17 years ago
parent
commit
da34bd4811
3 changed files with 13 additions and 5 deletions
  1. 3 0
      Changelog-Trunk.txt
  2. 3 1
      src/map/battle.c
  3. 7 4
      src/map/skill.c

+ 3 - 0
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

+ 3 - 1
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;

+ 7 - 4
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) {