Updated Orbis Temple statue AI.

This commit is contained in:
MobiusDev
2015-04-03 15:09:34 +00:00
parent 7056fca34a
commit d62c67d956
3 changed files with 46 additions and 16 deletions

View File

@ -30,10 +30,17 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
public class OrbisTempleStatues extends AbstractNpcAI
{
// Npcs
private static final int VICTIM = 22913;
private static final int GUARD = 22916;
private static final int THROWER = 22919;
private static final int VICTIM_1 = 22911;
private static final int VICTIM_2 = 22912;
private static final int VICTIM_3 = 22913;
private static final int GUARD_1 = 22914;
private static final int GUARD_2 = 22915;
private static final int GUARD_3 = 22916;
private static final int THROWER_1 = 22917;
private static final int THROWER_2 = 22918;
private static final int THROWER_3 = 22919;
private static final int ANCIENT_HERO = 22925;
private static final int CHIEF_CURATOR = 22927;
// Items
private static final int SWORD = 15280;
private static final int SPEAR = 17372;
@ -41,8 +48,8 @@ public class OrbisTempleStatues extends AbstractNpcAI
public OrbisTempleStatues()
{
super(OrbisTempleStatues.class.getSimpleName(), "ai/group_template");
addSpawnId(VICTIM, GUARD, THROWER, ANCIENT_HERO);
addAttackId(VICTIM, GUARD, THROWER, ANCIENT_HERO);
addSpawnId(VICTIM_1, VICTIM_2, VICTIM_3, GUARD_1, GUARD_2, GUARD_3, THROWER_1, THROWER_2, THROWER_3, ANCIENT_HERO, CHIEF_CURATOR);
addAttackId(VICTIM_1, VICTIM_2, VICTIM_3, GUARD_1, GUARD_2, GUARD_3, THROWER_1, THROWER_2, THROWER_3);
}
@Override
@ -50,19 +57,32 @@ public class OrbisTempleStatues extends AbstractNpcAI
{
switch (npc.getId())
{
case VICTIM:
case GUARD:
case VICTIM_1:
case VICTIM_2:
case VICTIM_3:
case GUARD_1:
case GUARD_2:
case GUARD_3:
{
npc.setRHandId(SWORD); // TODO: Find better way to change animation.
if (npc.isImmobilized())
{
npc.setIsImmobilized(false);
npc.setRHandId(SWORD);
}
break;
}
case THROWER:
case THROWER_1:
case THROWER_2:
case THROWER_3:
{
npc.setRHandId(SPEAR);
if (npc.isImmobilized())
{
npc.setIsImmobilized(false);
npc.setRHandId(SPEAR);
}
break;
}
}
return super.onAttack(npc, attacker, damage, isPet);
}
@ -70,6 +90,10 @@ public class OrbisTempleStatues extends AbstractNpcAI
public String onSpawn(L2Npc npc)
{
npc.setIsNoRndWalk(true);
if (npc.getId() < ANCIENT_HERO)
{
npc.setIsImmobilized(true);
}
return super.onSpawn(npc);
}