ソースを参照

- Oops, it turns out the state is never reset from walking to idle automatically when a mob was random walking...

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10241 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 18 年 前
コミット
9810da7f62
1 ファイル変更5 行追加2 行削除
  1. 5 2
      src/map/mob.c

+ 5 - 2
src/map/mob.c

@@ -1003,6 +1003,11 @@ int mob_unlocktarget(struct mob_data *md,int tick)
 		mob_script_callback(md, map_id2bl(md->target_id), CALLBACK_UNLOCK);
 
 	switch (md->state.skillstate) {
+	case MSS_WALK:
+		if (md->ud.walktimer != -1)
+			break;
+		//Because it is not unset when the mob finishes walking.
+		md->state.skillstate = MSS_IDLE;
 	case MSS_IDLE:
 		// Idle skill.
 		if (!(++md->ud.walk_count%IDLE_SKILL_INTERVAL) &&
@@ -1015,8 +1020,6 @@ int mob_unlocktarget(struct mob_data *md,int tick)
 			//Delay next random walk when this one failed.
 			md->next_walktime=tick+rand()%3000;
 		break;
-	case MSS_WALK:
-		break;
 	default:
 		mob_stop_attack(md);
 		if (battle_config.mob_ai&0x8)