Bläddra i källkod

- Added back the "you can't walk delay while attacking" to unit_attack_timer, now when you want to walk during your attack animation, you will only stop attacking, you will have to click again to move.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6185 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 19 år sedan
förälder
incheckning
8c6c2841f8
3 ändrade filer med 8 tillägg och 7 borttagningar
  1. 4 0
      Changelog-Trunk.txt
  2. 3 4
      src/map/clif.c
  3. 1 3
      src/map/unit.c

+ 4 - 0
Changelog-Trunk.txt

@@ -4,6 +4,10 @@ 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.
 
 2006/04/19
+	* Added back the "you can't walk delay while attacking" to
+	  unit_attack_timer, now when you want to walk during your attack animation,
+	  you will only stop attacking, you will have to click again to move.
+	  [Skotlex]
 	* Fixed a pair of wrong mapflag lines in nopvp.txt [Skotlex]
 	* Removed the max cap of autoloot so you are now allowed to set autoloot
 	  values above 100. [Skotlex]

+ 3 - 4
src/map/clif.c

@@ -8158,17 +8158,16 @@ void clif_parse_WalkToXY(int fd, struct map_session_data *sd) {
 	if (clif_cant_act(sd) && sd->sc.opt1 != OPT1_STONEWAIT)
 		return;
 
-	if (!unit_can_move(&sd->bl))
+	if(sd->sc.count && sd->sc.data[SC_RUN].timer != -1)
 		return;
 
-	if(sd->sc.count && sd->sc.data[SC_RUN].timer != -1)
+	pc_stop_attack(sd);
+	if (!unit_can_move(&sd->bl))
 		return;
 
 	if (sd->invincible_timer != -1)
 		pc_delinvincibletimer(sd);
 
-	pc_stop_attack(sd);
-
 	cmd = RFIFOW(fd,0);
 	x = RFIFOB(fd,packet_db[sd->packet_ver][cmd].pos[0]) * 4 +
 		(RFIFOB(fd,packet_db[sd->packet_ver][cmd].pos[0] + 1) >> 6);

+ 1 - 3
src/map/unit.c

@@ -1302,9 +1302,7 @@ static int unit_attack_timer_sub(struct block_list* src, int tid, unsigned int t
 			ud->attackabletime = tick + status_get_adelay(src);
 
 //		You can't move if you can't attack neither.
-//		Only for non-players, since it makes it near impossible to run away when you are on auto-attack.
-		if (src->type != BL_PC)	
-			unit_set_walkdelay(src, tick, status_get_amotion(src), 1);
+		unit_set_walkdelay(src, tick, status_get_amotion(src), 1);
 	}
 
 	if(ud->state.attack_continue)