Updated Orbis Temple statue AI.
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user