소스 검색

Two fixes in L2AttackableAI. If mob is not mage/healer than it should not use constantly atk skill if target is running.

Gigiikun 14 년 전
부모
커밋
d21a7b25b1
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      L2_GameServer/java/com/l2jserver/gameserver/ai/L2AttackableAI.java

+ 4 - 2
L2_GameServer/java/com/l2jserver/gameserver/ai/L2AttackableAI.java

@@ -49,6 +49,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2RaidBossInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2RiftInvaderInstance;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.templates.chars.L2NpcTemplate;
+import com.l2jserver.gameserver.templates.chars.L2NpcTemplate.AIType;
 import com.l2jserver.gameserver.templates.skills.L2EffectType;
 import com.l2jserver.gameserver.templates.skills.L2SkillType;
 import com.l2jserver.gameserver.util.Util;
@@ -1093,7 +1094,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
 								return;
 					}
 				}
-				if (npc.hasLSkill() && dist2 > 150 && Rnd.get(100) <= npc.getSSkillChance())
+				if (npc.hasLSkill() && dist2 > 150 && Rnd.get(100) <= npc.getLSkillChance())
 				{
 					lSkillRender();
 					if (_skillrender._Lrangeskills != null)
@@ -1809,7 +1810,8 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
 				}
 				//-------------------------------------------------------------
 				//Start ATK SKILL when nothing can be done
-				if (_skillrender.hasAtkSkill())
+				if (_skillrender.hasAtkSkill() && (npc.isMovementDisabled()
+						|| npc.getAiType() == AIType.MAGE || npc.getAiType() == AIType.HEALER))
 				{
 					for (L2Skill sk : _skillrender._atkskills)
 					{