Browse Source

* Fixed invalid state running of TK_JUMPKICK (Flying Kick).
- This was causing wrong damages when use the ability with 1 cell difference of your target.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15176 54d463be-8e91-2dee-dedb-b68131a5f0ec

protimus 13 years ago
parent
commit
a9618a476e
2 changed files with 6 additions and 2 deletions
  1. 5 1
      src/map/skill.c
  2. 1 1
      src/map/unit.c

+ 5 - 1
src/map/skill.c

@@ -7300,8 +7300,12 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data)
 			break;
 
 		if (ud->state.running && ud->skillid == TK_JUMPKICK)
+        {
+            ud->state.running = 0;
+            status_change_end(src, SC_RUN, -1);
 			flag = 1;
-
+		}
+		
 		if (ud->walktimer != INVALID_TIMER && ud->skillid != TK_RUN && ud->skillid != RA_WUGDASH)
 			unit_stop_walking(src,1);
 

+ 1 - 1
src/map/unit.c

@@ -462,7 +462,7 @@ int unit_run(struct block_list *bl)
 		to_y += dir_y;
 	}
 
-	if(to_x == bl->x && to_y == bl->y) {
+	if(to_x == bl->x && to_y == bl->y || (to_x == (bl->x+1) || to_y == (bl->y+1)) || (to_x == (bl->x-1) || to_y == (bl->y-1))) {
 		//If you can't run forward, you must be next to a wall, so bounce back. [Skotlex]
 		clif_status_change(bl, SI_BUMP, 1, 0, 0, 0, 0);