From 37bd480be902aaa4c1357a7a42c9f95859b05a23 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Fri, 24 Jul 2015 21:26:08 +0000 Subject: [PATCH] Triol Priest AI. --- .../ai/group_template/PaganTemple.java | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/trunk/dist/game/data/scripts/ai/group_template/PaganTemple.java b/trunk/dist/game/data/scripts/ai/group_template/PaganTemple.java index 006adc12f7..3786d5d78d 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/PaganTemple.java +++ b/trunk/dist/game/data/scripts/ai/group_template/PaganTemple.java @@ -21,6 +21,7 @@ package ai.group_template; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; /** * Pagan Temple AI. @@ -29,18 +30,55 @@ import com.l2jserver.gameserver.model.actor.L2Npc; public class PaganTemple extends AbstractNpcAI { // Npc + private static final int TRIOL_HIGH_PRIEST = 19410; private static final int CHAPEL_GATEKEEPER = 22138; public PaganTemple() { super(PaganTemple.class.getSimpleName(), "ai/group_template"); - addSpawnId(CHAPEL_GATEKEEPER); + addSpawnId(TRIOL_HIGH_PRIEST, CHAPEL_GATEKEEPER); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAWN_TRIOL") && (npc != null)) + { + npc.setInvisible(false); + startQuestTimer("DESPAWN_TRIOL", 10000, npc, null, false); // 10 seconds delay + } + else if (event.equals("DESPAWN_TRIOL") && (npc != null)) + { + if (npc.isInCombat()) + { + startQuestTimer("DESPAWN_TRIOL", 10000, npc, null, false); // 10 seconds delay + } + else + { + npc.setInvisible(true); + startQuestTimer("SPAWN_TRIOL", 600000, npc, null, false); // 10 minutes delay + } + } + return super.onAdvEvent(event, npc, player); } @Override public String onSpawn(L2Npc npc) { - npc.setIsNoRndWalk(true); + switch (npc.getId()) + { + case CHAPEL_GATEKEEPER: + { + npc.setIsNoRndWalk(true); + break; + } + case TRIOL_HIGH_PRIEST: + { + npc.setInvisible(true); + startQuestTimer("SPAWN_TRIOL", 600000, npc, null, false); // 10 minutes delay + break; + } + } return super.onSpawn(npc); }