diff --git a/trunk/dist/game/data/scripts/ai/individual/Beleth.java b/trunk/dist/game/data/scripts/ai/individual/Beleth.java index ef4ab716b6..e5926c5b3b 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Beleth.java +++ b/trunk/dist/game/data/scripts/ai/individual/Beleth.java @@ -61,7 +61,7 @@ public final class Beleth extends AbstractNpcAI { // NPCs private static final int BELETH_ID_1 = 29118; - private static final int BELETH_ID_2 = 29119; + private static final int BELETH_ID_2 = 29119; // Fake Beleth protected static L2Npc CAMERA; protected static L2Npc CAMERA2; protected static L2Npc CAMERA3; @@ -119,28 +119,6 @@ public final class Beleth extends AbstractNpcAI ThreadPoolManager.getInstance().scheduleGeneral(new Spawn(1), DEBUG ? 10000 : 300000); } - private static class Cast implements Runnable - { - SkillHolder _skill; - L2Npc _npc; - - public Cast(SkillHolder skill, L2Npc npc) - { - _skill = skill; - _npc = npc; - } - - @Override - public void run() - { - if ((_npc != null) && !_npc.isDead() && !_npc.isCastingNow()) - { - _npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); - _npc.doCast(_skill.getSkill()); - } - } - } - private static class Spawn implements Runnable { private int _taskId = 0; @@ -225,7 +203,7 @@ public final class Beleth extends AbstractNpcAI int y = (int) ((150 * Math.sin(i * 1.046666667)) + 213059); L2Npc minion = addSpawn(BELETH_ID_2, new Location(x, y, -9357, 49152, BELETH.getInstanceId())); minion.setShowSummonAnimation(true); - minion.decayMe(); + minion.deleteMe(); MINIONS.add(minion); } ThreadPoolManager.getInstance().scheduleGeneral(new Spawn(12), 6800); @@ -261,9 +239,9 @@ public final class Beleth extends AbstractNpcAI break; case 19: ZONE.broadcastPacket(new SpecialCamera(CAMERA3, 40, 260, 0, 0, 4000, 0, 0, 1, 0, 0)); - for (L2Npc blth : MINIONS) + for (L2Npc fakeBeleth : MINIONS) { - blth.spawnMe(); + fakeBeleth.spawnMe(); } ThreadPoolManager.getInstance().scheduleGeneral(new Spawn(20), 3000); break; @@ -285,9 +263,9 @@ public final class Beleth extends AbstractNpcAI break; case 24: BELETH.deleteMe(); - for (L2Npc bel : MINIONS) + for (L2Npc fakeBeleth : MINIONS) { - bel.deleteMe(); + fakeBeleth.deleteMe(); } MINIONS.clear(); ThreadPoolManager.getInstance().scheduleGeneral(new Spawn(25), 1000); @@ -376,6 +354,15 @@ public final class Beleth extends AbstractNpcAI DoorData.getInstance().getDoor(20240001).openMe(); break; } + case "CAST": + { + if (!npc.isDead() && !npc.isCastingNow()) + { + npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); + npc.doCast(FIREBALL.getSkill()); + } + break; + } } return super.onAdvEvent(event, npc, player); } @@ -527,7 +514,7 @@ public final class Beleth extends AbstractNpcAI npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player); double speed = npc.isRunning() ? npc.getRunSpeed() : npc.getWalkSpeed(); int time = (int) (((distance2 - 890) / speed) * 1000); - ThreadPoolManager.getInstance().scheduleGeneral(new Cast(FIREBALL, npc), time); + startQuestTimer("CAST", time, npc, null); } else if (distance2 < 890) { @@ -697,28 +684,28 @@ public final class Beleth extends AbstractNpcAI xm[i] = (int) ((1700 * Math.cos((i * 1.57) + 0.78)) + 16323); ym[i] = (int) ((1700 * Math.sin((i * 1.57) + 0.78)) + 213170); npc = addSpawn(BELETH_ID_2, new Location(xm[i], ym[i], -9357, 49152)); - npc.setIsOverloaded(true); + npc.setIsImmobilized(true); MINIONS.add(npc); } xm[4] = (xm[0] + xm[1]) / 2; ym[4] = (ym[0] + ym[1]) / 2; npc = addSpawn(BELETH_ID_2, new Location(xm[4], ym[4], -9357, 49152)); - npc.setIsOverloaded(true); + npc.setIsImmobilized(true); MINIONS.add(npc); xm[5] = (xm[1] + xm[2]) / 2; ym[5] = (ym[1] + ym[2]) / 2; npc = addSpawn(BELETH_ID_2, new Location(xm[5], ym[5], -9357, 49152)); - npc.setIsOverloaded(true); + npc.setIsImmobilized(true); MINIONS.add(npc); xm[6] = (xm[2] + xm[3]) / 2; ym[6] = (ym[2] + ym[3]) / 2; npc = addSpawn(BELETH_ID_2, new Location(xm[6], ym[6], -9357, 49152)); - npc.setIsOverloaded(true); + npc.setIsImmobilized(true); MINIONS.add(npc); xm[7] = (xm[3] + xm[0]) / 2; ym[7] = (ym[3] + ym[0]) / 2; npc = addSpawn(BELETH_ID_2, new Location(xm[7], ym[7], -9357, 49152)); - npc.setIsOverloaded(true); + npc.setIsImmobilized(true); MINIONS.add(npc); xm[8] = (xm[0] + xm[4]) / 2; ym[8] = (ym[0] + ym[4]) / 2; diff --git a/trunk/dist/game/data/stats/items/16000-16099.xml b/trunk/dist/game/data/stats/items/16000-16099.xml index c04c0392d8..345b2b3333 100644 --- a/trunk/dist/game/data/stats/items/16000-16099.xml +++ b/trunk/dist/game/data/stats/items/16000-16099.xml @@ -1513,7 +1513,7 @@ - + @@ -1547,7 +1547,7 @@ - + diff --git a/trunk/dist/game/data/stats/skills/01000-01099.xml b/trunk/dist/game/data/stats/skills/01000-01099.xml index e45e6211d3..725f34ad99 100644 --- a/trunk/dist/game/data/stats/skills/01000-01099.xml +++ b/trunk/dist/game/data/stats/skills/01000-01099.xml @@ -792,7 +792,7 @@ - + diff --git a/trunk/java/com/l2jserver/gameserver/data/xml/IXmlReader.java b/trunk/java/com/l2jserver/gameserver/data/xml/IXmlReader.java index bede3135c2..bc3f0889c5 100644 --- a/trunk/java/com/l2jserver/gameserver/data/xml/IXmlReader.java +++ b/trunk/java/com/l2jserver/gameserver/data/xml/IXmlReader.java @@ -621,7 +621,7 @@ public interface IXmlReader * Simple XML error handler. * @author Zoey76 */ - class XMLErrorHandler implements ErrorHandler + static class XMLErrorHandler implements ErrorHandler { @Override public void warning(SAXParseException e) throws SAXParseException diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java b/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java index 4af35096d6..fd530fb093 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java @@ -2535,10 +2535,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe stopAllEffectsExceptThoseThatLastThroughDeath(); - if (isPlayer() && (getActingPlayer().getAgathionId() != 0)) - { - getActingPlayer().setAgathionId(0); - } calculateRewards(killer); // Send the Server->Client packet StatusUpdate with current HP and MP to all other L2PcInstance to inform diff --git a/trunk/java/com/l2jserver/gameserver/model/olympiad/AbstractOlympiadGame.java b/trunk/java/com/l2jserver/gameserver/model/olympiad/AbstractOlympiadGame.java index 50c6616c69..cb1cfc5907 100644 --- a/trunk/java/com/l2jserver/gameserver/model/olympiad/AbstractOlympiadGame.java +++ b/trunk/java/com/l2jserver/gameserver/model/olympiad/AbstractOlympiadGame.java @@ -410,7 +410,7 @@ public abstract class AbstractOlympiadGame { return; } - + player.setIsPendingRevive(false); player.setInstanceId(0); player.teleToLocation(loc); player.unsetLastLocation(); diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExOlympiadSpelledInfo.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExOlympiadSpelledInfo.java index 4433f53263..27960455ed 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExOlympiadSpelledInfo.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExOlympiadSpelledInfo.java @@ -53,8 +53,8 @@ public class ExOlympiadSpelledInfo extends L2GameServerPacket { if ((info != null) && info.isInUse()) { - writeD(info.getSkill().getId()); - writeH(info.getSkill().getLevel()); + writeD(info.getSkill().getDisplayId()); + writeH(info.getSkill().getDisplayLevel()); writeD(0x00); writeH(info.getTime()); } diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/PartySpelled.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/PartySpelled.java index a748408d1c..5c795a46f7 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/PartySpelled.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/PartySpelled.java @@ -50,8 +50,8 @@ public class PartySpelled extends L2GameServerPacket { if ((info != null) && info.isInUse()) { - writeD(info.getSkill().getId()); - writeH(info.getSkill().getLevel()); + writeD(info.getSkill().getDisplayId()); + writeH(info.getSkill().getDisplayLevel()); writeD(0x00); writeH(info.getTime()); }