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

@ -546,9 +546,15 @@ EnableRandomMonsterSpawns = True
# Default: 150
MaxSpawnMobRange = 150
# Example: No random spawns for Kasha's Eye.
# MobsSpawnNotRandom = 18812,18813,18814
MobsSpawnNotRandom = 18812,18813,18814,22138,22913,22916,22919,22925
# Kasha's Eye
# 18812,18813,18814
# Pagan Temple
# 22138
# Orbis Temple
# 22911,22912,22913,22914,22915,22916,22917,22918,22919,22925,22927
MobsSpawnNotRandom = 18812,18813,18814,\
22138,\
22911,22912,22913,22914,22915,22916,22917,22918,22919,22925,22927
# ---------------------------------------------------------------------------

View File

@ -1369,8 +1369,8 @@
<door id="26210002" name="Magmell_Orbis_S.B1F.Orbis_Passage_Door" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="209356;120575;-10023" node1="209338,120693" node2="209335,120456" node3="209373,120458" node4="209370,120695" nodeZ="-10034" default_status="close" />
<door id="26210003" name="Magmell_Orbis_S.B1F.Orbis_Passage_Door" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="219066;108704;-12577" node1="219048,108822" node2="219045,108585" node3="219083,108587" node4="219080,108824" nodeZ="-12588" default_status="close" />
<door id="26210004" name="Magmell_Orbis_S.B1F.Orbis_Passage_Door" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="209543;108704;-12578" node1="209525,108822" node2="209522,108585" node3="209560,108587" node4="209557,108824" nodeZ="-12589" default_status="close" />
<door id="26210005" name="Magmell_Orbis_S.B1F.Orbis_Passage_Door" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="208736;118131;-12516" node1="208860,118149" node2="208608,118151" node3="208611,118113" node4="208860,118113" nodeZ="-12527" default_status="close" />
<door id="26210006" name="Magmell_Orbis_S.B1F.Orbis_Passage_Door" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="219872;118125;-12514" node1="219996,118143" node2="219744,118145" node3="219747,118107" node4="219996,118107" nodeZ="-12525" default_status="close" />
<door id="26210005" name="Magmell_Orbis_S.B1F.Orbis_Passage_Door" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="208736;118131;-12516" node1="208860,118149" node2="208608,118151" node3="208611,118113" node4="208860,118113" nodeZ="-12527" default_status="open" />
<door id="26210006" name="Magmell_Orbis_S.B1F.Orbis_Passage_Door" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="219872;118125;-12514" node1="219996,118143" node2="219744,118145" node3="219747,118107" node4="219996,118107" nodeZ="-12525" default_status="open" />
<door id="26210020" name="Magmell_Genesis_S.Wall.Genesisdoor" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="217785;109234;-1322" node1="217610,109201" node2="217951,109195" node3="217954,109273" node4="217611,109277" nodeZ="-1336" default_status="close" />
<door id="26210021" name="Magmell_Genesis_S.Wall.Genesisdoor" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="219702;111149;-1323" node1="219656,110984" node2="219751,110983" node3="219751,111319" node4="219656,111322" nodeZ="-1334" default_status="close" />
<door id="26210022" name="Magmell_Genesis_S.Wall.Genesisdoor" open_method="0" height="150" baseHpMax="169710" hp_showable="0" basePDef="644" baseMDef="518" pos="217789;113074;-1322" node1="217967,113019" node2="217971,113130" node3="217618,113135" node4="217614,113018" nodeZ="-1333" default_status="close" />

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);
}