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