From d62c67d9568caa26568e36476e15fdd8389e273f Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Fri, 3 Apr 2015 15:09:34 +0000 Subject: [PATCH] Updated Orbis Temple statue AI. --- trunk/dist/game/config/Custom.properties | 12 +++-- trunk/dist/game/data/doors.xml | 4 +- .../ai/group_template/OrbisTempleStatues.java | 46 ++++++++++++++----- 3 files changed, 46 insertions(+), 16 deletions(-) diff --git a/trunk/dist/game/config/Custom.properties b/trunk/dist/game/config/Custom.properties index 4c3a9a5ce0..4c489ddf9d 100644 --- a/trunk/dist/game/config/Custom.properties +++ b/trunk/dist/game/config/Custom.properties @@ -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 # --------------------------------------------------------------------------- diff --git a/trunk/dist/game/data/doors.xml b/trunk/dist/game/data/doors.xml index a49995908c..7473eb42b1 100644 --- a/trunk/dist/game/data/doors.xml +++ b/trunk/dist/game/data/doors.xml @@ -1369,8 +1369,8 @@ - - + + diff --git a/trunk/dist/game/data/scripts/ai/group_template/OrbisTempleStatues.java b/trunk/dist/game/data/scripts/ai/group_template/OrbisTempleStatues.java index 19197c153e..a27fcb1c94 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/OrbisTempleStatues.java +++ b/trunk/dist/game/data/scripts/ai/group_template/OrbisTempleStatues.java @@ -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); }