Skip to content
Snippets Groups Projects
Commit ab3c783d authored by malyelfik's avatar malyelfik
Browse files

BETA: Fix for '''!VarkaKetra''' AI

Reported by: lion
Tested by: St3eT
parent d7ec795b
No related branches found
No related tags found
No related merge requests found
...@@ -32,9 +32,10 @@ import quests.Q00615_MagicalPowerOfFirePart1.Q00615_MagicalPowerOfFirePart1; ...@@ -32,9 +32,10 @@ import quests.Q00615_MagicalPowerOfFirePart1.Q00615_MagicalPowerOfFirePart1;
import quests.Q00616_MagicalPowerOfFirePart2.Q00616_MagicalPowerOfFirePart2; import quests.Q00616_MagicalPowerOfFirePart2.Q00616_MagicalPowerOfFirePart2;
import ai.npc.AbstractNpcAI; import ai.npc.AbstractNpcAI;
import com.l2jserver.gameserver.ai.CtrlIntention;
import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Attackable;
import com.l2jserver.gameserver.model.actor.L2Character;
import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.L2Playable;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.util.Util; import com.l2jserver.gameserver.util.Util;
...@@ -141,10 +142,10 @@ public class VarkaKetra extends AbstractNpcAI ...@@ -141,10 +142,10 @@ public class VarkaKetra extends AbstractNpcAI
private VarkaKetra() private VarkaKetra()
{ {
super(VarkaKetra.class.getSimpleName(), "ai/group_template"); super(VarkaKetra.class.getSimpleName(), "ai/group_template");
addAggroRangeEnterId(KETRA);
addAggroRangeEnterId(VARKA);
addKillId(KETRA); addKillId(KETRA);
addKillId(VARKA); addKillId(VARKA);
addNpcHateId(KETRA);
addNpcHateId(VARKA);
} }
@Override @Override
...@@ -165,7 +166,7 @@ public class VarkaKetra extends AbstractNpcAI ...@@ -165,7 +166,7 @@ public class VarkaKetra extends AbstractNpcAI
} }
} }
private void decreaseAlliance(L2PcInstance player, int[] marks) private final void decreaseAlliance(L2PcInstance player, int[] marks)
{ {
for (int i = 0; i < marks.length; i++) for (int i = 0; i < marks.length; i++)
{ {
...@@ -181,7 +182,7 @@ public class VarkaKetra extends AbstractNpcAI ...@@ -181,7 +182,7 @@ public class VarkaKetra extends AbstractNpcAI
} }
} }
private void exitQuests(L2PcInstance player, String[] quests) private final void exitQuests(L2PcInstance player, String[] quests)
{ {
for (String quest : quests) for (String quest : quests)
{ {
...@@ -194,24 +195,21 @@ public class VarkaKetra extends AbstractNpcAI ...@@ -194,24 +195,21 @@ public class VarkaKetra extends AbstractNpcAI
} }
@Override @Override
public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{ {
if ((Util.contains(KETRA, npc.getId()) && hasAtLeastOneQuestItem(player, KETRA_MARKS)) || (Util.contains(VARKA, npc.getId()) && hasAtLeastOneQuestItem(player, VARKA_MARKS))) executeForEachPlayer(killer, npc, isSummon, true, false);
{ return super.onKill(npc, killer, isSummon);
if (((L2Attackable) npc).containsTarget(player))
{
((L2Attackable) npc).getAggroList().get(player).stopHate();
}
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
return super.onAggroRangeEnter(npc, player, isSummon);
} }
@Override @Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) public boolean onNpcHate(L2Attackable mob, L2Playable playable)
{ {
executeForEachPlayer(killer, npc, isSummon, true, false); return stopAttack(playable.getActingPlayer(), mob) ? false : super.onNpcHate(mob, playable);
return super.onKill(npc, killer, isSummon); }
private final boolean stopAttack(L2PcInstance player, L2Character monster)
{
return (Util.contains(KETRA, monster.getId()) && hasAtLeastOneQuestItem(player, KETRA_MARKS)) || (Util.contains(VARKA, monster.getId()) && hasAtLeastOneQuestItem(player, VARKA_MARKS));
} }
public static void main(String[] args) public static void main(String[] args)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment