Nevit's Herald improvement.
This commit is contained in:
@@ -34,7 +34,7 @@ import ai.AbstractNpcAI;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Nevit's Herald AI.
|
* Nevit's Herald AI.
|
||||||
* @author Sacrifice
|
* @author Sacrifice, Mobius
|
||||||
*/
|
*/
|
||||||
public final class NevitsHerald extends AbstractNpcAI
|
public final class NevitsHerald extends AbstractNpcAI
|
||||||
{
|
{
|
||||||
@@ -62,7 +62,6 @@ public final class NevitsHerald extends AbstractNpcAI
|
|||||||
NpcStringId.SHOUT_TO_CELEBRATE_THE_VICTORY_OF_THE_HEROES,
|
NpcStringId.SHOUT_TO_CELEBRATE_THE_VICTORY_OF_THE_HEROES,
|
||||||
NpcStringId.PRAISE_THE_ACHIEVEMENT_OF_THE_HEROES_AND_RECEIVE_NEVIT_S_BLESSING
|
NpcStringId.PRAISE_THE_ACHIEVEMENT_OF_THE_HEROES_AND_RECEIVE_NEVIT_S_BLESSING
|
||||||
};
|
};
|
||||||
private static boolean isActive = false;
|
|
||||||
// Skill
|
// Skill
|
||||||
private static final SkillHolder FALL_OF_THE_DRAGON = new SkillHolder(23312, 1);
|
private static final SkillHolder FALL_OF_THE_DRAGON = new SkillHolder(23312, 1);
|
||||||
|
|
||||||
@@ -84,8 +83,6 @@ public final class NevitsHerald extends AbstractNpcAI
|
|||||||
@Override
|
@Override
|
||||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||||
{
|
{
|
||||||
String htmltext = event;
|
|
||||||
|
|
||||||
if (npc.getId() == NEVITS_HERALD)
|
if (npc.getId() == NEVITS_HERALD)
|
||||||
{
|
{
|
||||||
if (event.equalsIgnoreCase("buff"))
|
if (event.equalsIgnoreCase("buff"))
|
||||||
@@ -96,25 +93,27 @@ public final class NevitsHerald extends AbstractNpcAI
|
|||||||
}
|
}
|
||||||
npc.setTarget(player);
|
npc.setTarget(player);
|
||||||
npc.doCast(FALL_OF_THE_DRAGON.getSkill());
|
npc.doCast(FALL_OF_THE_DRAGON.getSkill());
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (event.equalsIgnoreCase("text_spam"))
|
else if (event.equalsIgnoreCase("text_spam"))
|
||||||
{
|
{
|
||||||
cancelQuestTimer("text_spam", npc, player);
|
|
||||||
npc.broadcastSay(ChatType.SHOUT, SPAM[Rnd.get(0, SPAM.length - 1)]);
|
npc.broadcastSay(ChatType.SHOUT, SPAM[Rnd.get(0, SPAM.length - 1)]);
|
||||||
startQuestTimer("text_spam", 60000, npc, player);
|
startQuestTimer("text_spam", 60000, npc, null);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
else if (event.equalsIgnoreCase("despawn"))
|
else if (event.equalsIgnoreCase("despawn"))
|
||||||
{
|
{
|
||||||
despawnHeralds();
|
for (L2Npc spawn : SPAWNS)
|
||||||
|
{
|
||||||
|
cancelQuestTimer("text_spam", spawn, null);
|
||||||
|
spawn.deleteMe();
|
||||||
|
}
|
||||||
|
SPAWNS.clear();
|
||||||
}
|
}
|
||||||
return htmltext;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
|
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||||
{
|
{
|
||||||
ExShowScreenMessage message = null;
|
ExShowScreenMessage message = null;
|
||||||
|
|
||||||
@@ -136,36 +135,18 @@ public final class NevitsHerald extends AbstractNpcAI
|
|||||||
onlinePlayer.sendPacket(message);
|
onlinePlayer.sendPacket(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isActive)
|
if (SPAWNS.isEmpty())
|
||||||
{
|
{
|
||||||
isActive = true;
|
|
||||||
|
|
||||||
SPAWNS.clear();
|
|
||||||
|
|
||||||
for (Location loc : NEVITS_HERALD_LOC)
|
for (Location loc : NEVITS_HERALD_LOC)
|
||||||
{
|
{
|
||||||
L2Npc herald = addSpawn(NEVITS_HERALD, loc, false, 0);
|
L2Npc herald = addSpawn(NEVITS_HERALD, loc, false, 0);
|
||||||
if (herald != null)
|
startQuestTimer("text_spam", 3000, herald, null);
|
||||||
{
|
SPAWNS.add(herald);
|
||||||
SPAWNS.add(herald);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
startQuestTimer("despawn", 14400000, npc, killer);
|
startQuestTimer("despawn", 14400000, null, null);
|
||||||
startQuestTimer("text_spam", 3000, npc, killer);
|
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
}
|
return super.onKill(npc, killer, isSummon);
|
||||||
|
|
||||||
private void despawnHeralds()
|
|
||||||
{
|
|
||||||
if (!SPAWNS.isEmpty())
|
|
||||||
{
|
|
||||||
for (L2Npc npc : SPAWNS)
|
|
||||||
{
|
|
||||||
npc.deleteMe();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SPAWNS.clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
|
Reference in New Issue
Block a user