Final Emperial Tomb improvements.

This commit is contained in:
MobiusDevelopment 2020-02-07 14:13:27 +00:00
parent cf07420fbb
commit 5d2e2eb5ea
11 changed files with 644 additions and 638 deletions

View File

@ -81,7 +81,6 @@ public class LastImperialTomb extends AbstractInstance
18337,
18338,
18339
};
// Items
private static final int DEWDROP_OF_DESTRUCTION_ITEM_ID = 8556;
@ -175,7 +174,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -209,7 +208,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -223,9 +222,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -250,7 +249,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -258,7 +257,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -266,8 +265,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -275,7 +274,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -285,8 +284,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -296,8 +295,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -309,9 +308,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -321,7 +320,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -329,7 +328,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -337,9 +336,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -347,7 +346,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -355,7 +354,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -364,9 +363,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -380,8 +379,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -389,7 +388,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -397,7 +396,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -500,9 +499,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -511,8 +510,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -520,7 +519,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -540,8 +539,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -551,7 +550,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -574,7 +573,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -582,7 +581,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -601,9 +600,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -611,15 +610,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -627,7 +626,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -707,10 +706,13 @@ public class LastImperialTomb extends AbstractInstance
startQuestTimer("SCARLET_SECOND_MORPH", 1000, npc, null, false);
}
}
// When Dewdrop of Destruction is used on Portraits they suicide.
if ((skill != null) && CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
if (skill != null)
{
npc.doDie(attacker);
// When Dewdrop of Destruction is used on Portraits they suicide.
if (CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
{
npc.doDie(attacker);
}
}
return null;
}
@ -747,8 +749,8 @@ public class LastImperialTomb extends AbstractInstance
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -828,8 +830,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -870,7 +872,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -81,7 +81,6 @@ public class LastImperialTomb extends AbstractInstance
18337,
18338,
18339
};
// Items
private static final int DEWDROP_OF_DESTRUCTION_ITEM_ID = 8556;
@ -175,7 +174,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -209,7 +208,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -223,9 +222,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -250,7 +249,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -258,7 +257,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -266,8 +265,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -275,7 +274,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -285,8 +284,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -296,8 +295,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -309,9 +308,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -321,7 +320,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -329,7 +328,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -337,9 +336,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -347,7 +346,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -355,7 +354,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -364,9 +363,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -380,8 +379,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -389,7 +388,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -397,7 +396,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -500,9 +499,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -511,8 +510,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -520,7 +519,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -540,8 +539,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -551,7 +550,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -574,7 +573,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -582,7 +581,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -601,9 +600,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -611,15 +610,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -627,7 +626,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -707,10 +706,13 @@ public class LastImperialTomb extends AbstractInstance
startQuestTimer("SCARLET_SECOND_MORPH", 1000, npc, null, false);
}
}
// When Dewdrop of Destruction is used on Portraits they suicide.
if ((skill != null) && CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
if (skill != null)
{
npc.doDie(attacker);
// When Dewdrop of Destruction is used on Portraits they suicide.
if (CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
{
npc.doDie(attacker);
}
}
return null;
}
@ -747,8 +749,8 @@ public class LastImperialTomb extends AbstractInstance
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -828,8 +830,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -870,7 +872,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -81,7 +81,6 @@ public class LastImperialTomb extends AbstractInstance
18337,
18338,
18339
};
// Items
private static final int DEWDROP_OF_DESTRUCTION_ITEM_ID = 8556;
@ -175,7 +174,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -209,7 +208,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -223,9 +222,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -250,7 +249,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -258,7 +257,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -266,8 +265,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -275,7 +274,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -285,8 +284,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -296,8 +295,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -309,9 +308,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -321,7 +320,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -329,7 +328,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -337,9 +336,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -347,7 +346,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -355,7 +354,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -364,9 +363,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -380,8 +379,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -389,7 +388,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -397,7 +396,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -500,9 +499,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -511,8 +510,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -520,7 +519,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -540,8 +539,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -551,7 +550,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -574,7 +573,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -582,7 +581,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -601,9 +600,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -611,15 +610,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -627,7 +626,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -707,10 +706,13 @@ public class LastImperialTomb extends AbstractInstance
startQuestTimer("SCARLET_SECOND_MORPH", 1000, npc, null, false);
}
}
// When Dewdrop of Destruction is used on Portraits they suicide.
if ((skill != null) && CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
if (skill != null)
{
npc.doDie(attacker);
// When Dewdrop of Destruction is used on Portraits they suicide.
if (CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
{
npc.doDie(attacker);
}
}
return null;
}
@ -747,8 +749,8 @@ public class LastImperialTomb extends AbstractInstance
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -828,8 +830,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -870,7 +872,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -81,7 +81,6 @@ public class LastImperialTomb extends AbstractInstance
18337,
18338,
18339
};
// Items
private static final int DEWDROP_OF_DESTRUCTION_ITEM_ID = 8556;
@ -175,7 +174,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -209,7 +208,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -223,9 +222,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -250,7 +249,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -258,7 +257,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -266,8 +265,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -275,7 +274,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -285,8 +284,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -296,8 +295,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -309,9 +308,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -321,7 +320,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -329,7 +328,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -337,9 +336,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -347,7 +346,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -355,7 +354,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -364,9 +363,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -380,8 +379,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -389,7 +388,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -397,7 +396,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -500,9 +499,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -511,8 +510,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -520,7 +519,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -540,8 +539,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -551,7 +550,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -574,7 +573,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -582,7 +581,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -601,9 +600,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -611,15 +610,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -627,7 +626,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -707,10 +706,13 @@ public class LastImperialTomb extends AbstractInstance
startQuestTimer("SCARLET_SECOND_MORPH", 1000, npc, null, false);
}
}
// When Dewdrop of Destruction is used on Portraits they suicide.
if ((skill != null) && CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
if (skill != null)
{
npc.doDie(attacker);
// When Dewdrop of Destruction is used on Portraits they suicide.
if (CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
{
npc.doDie(attacker);
}
}
return null;
}
@ -747,8 +749,8 @@ public class LastImperialTomb extends AbstractInstance
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -828,8 +830,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -870,7 +872,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -81,7 +81,6 @@ public class LastImperialTomb extends AbstractInstance
18337,
18338,
18339
};
// Items
private static final int DEWDROP_OF_DESTRUCTION_ITEM_ID = 8556;
@ -175,7 +174,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -209,7 +208,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -223,9 +222,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -250,7 +249,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -258,7 +257,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -266,8 +265,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -275,7 +274,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -285,8 +284,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -296,8 +295,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -309,9 +308,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -321,7 +320,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -329,7 +328,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -337,9 +336,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -347,7 +346,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -355,7 +354,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -364,9 +363,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -380,8 +379,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -389,7 +388,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -397,7 +396,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -500,9 +499,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -511,8 +510,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -520,7 +519,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -540,8 +539,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -551,7 +550,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -574,7 +573,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -582,7 +581,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -601,9 +600,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -611,15 +610,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -627,7 +626,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -707,10 +706,13 @@ public class LastImperialTomb extends AbstractInstance
startQuestTimer("SCARLET_SECOND_MORPH", 1000, npc, null, false);
}
}
// When Dewdrop of Destruction is used on Portraits they suicide.
if ((skill != null) && CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
if (skill != null)
{
npc.doDie(attacker);
// When Dewdrop of Destruction is used on Portraits they suicide.
if (CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
{
npc.doDie(attacker);
}
}
return null;
}
@ -747,8 +749,8 @@ public class LastImperialTomb extends AbstractInstance
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -828,8 +830,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -870,7 +872,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -81,7 +81,6 @@ public class LastImperialTomb extends AbstractInstance
18337,
18338,
18339
};
// Items
private static final int DEWDROP_OF_DESTRUCTION_ITEM_ID = 8556;
@ -175,7 +174,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -209,7 +208,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -223,9 +222,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -250,7 +249,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -258,7 +257,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -266,8 +265,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -275,7 +274,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -285,8 +284,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -296,8 +295,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -309,9 +308,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -321,7 +320,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -329,7 +328,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -337,9 +336,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -347,7 +346,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -355,7 +354,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -364,9 +363,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -380,8 +379,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -389,7 +388,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -397,7 +396,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -500,9 +499,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -511,8 +510,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -520,7 +519,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -540,8 +539,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -551,7 +550,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -574,7 +573,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -582,7 +581,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -601,9 +600,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -611,15 +610,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -627,7 +626,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -707,10 +706,13 @@ public class LastImperialTomb extends AbstractInstance
startQuestTimer("SCARLET_SECOND_MORPH", 1000, npc, null, false);
}
}
// When Dewdrop of Destruction is used on Portraits they suicide.
if ((skill != null) && CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
if (skill != null)
{
npc.doDie(attacker);
// When Dewdrop of Destruction is used on Portraits they suicide.
if (CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
{
npc.doDie(attacker);
}
}
return null;
}
@ -747,8 +749,8 @@ public class LastImperialTomb extends AbstractInstance
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -828,8 +830,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -870,7 +872,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -81,7 +81,6 @@ public class LastImperialTomb extends AbstractInstance
18337,
18338,
18339
};
// Items
private static final int DEWDROP_OF_DESTRUCTION_ITEM_ID = 8556;
@ -175,7 +174,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -209,7 +208,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -223,9 +222,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -250,7 +249,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -258,7 +257,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -266,8 +265,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -275,7 +274,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -285,8 +284,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -296,8 +295,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -309,9 +308,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -321,7 +320,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -329,7 +328,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -337,9 +336,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -347,7 +346,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -355,7 +354,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -364,9 +363,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -380,8 +379,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -389,7 +388,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -397,7 +396,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -500,9 +499,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -511,8 +510,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -520,7 +519,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -540,8 +539,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -551,7 +550,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -574,7 +573,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -582,7 +581,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -601,9 +600,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -611,15 +610,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -627,7 +626,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -707,10 +706,13 @@ public class LastImperialTomb extends AbstractInstance
startQuestTimer("SCARLET_SECOND_MORPH", 1000, npc, null, false);
}
}
// When Dewdrop of Destruction is used on Portraits they suicide.
if ((skill != null) && CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
if (skill != null)
{
npc.doDie(attacker);
// When Dewdrop of Destruction is used on Portraits they suicide.
if (CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
{
npc.doDie(attacker);
}
}
return null;
}
@ -747,8 +749,8 @@ public class LastImperialTomb extends AbstractInstance
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -828,8 +830,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -870,7 +872,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -81,7 +81,6 @@ public class LastImperialTomb extends AbstractInstance
18337,
18338,
18339
};
// Items
private static final int DEWDROP_OF_DESTRUCTION_ITEM_ID = 8556;
@ -175,7 +174,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -209,7 +208,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -223,9 +222,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -250,7 +249,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -258,7 +257,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -266,8 +265,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -275,7 +274,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -285,8 +284,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -296,8 +295,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -309,9 +308,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -321,7 +320,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -329,7 +328,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -337,9 +336,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -347,7 +346,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -355,7 +354,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -364,9 +363,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -380,8 +379,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -389,7 +388,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -397,7 +396,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -500,9 +499,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -511,8 +510,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -520,7 +519,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -540,8 +539,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -551,7 +550,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -574,7 +573,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -582,7 +581,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -601,9 +600,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -611,15 +610,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -627,7 +626,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -707,10 +706,13 @@ public class LastImperialTomb extends AbstractInstance
startQuestTimer("SCARLET_SECOND_MORPH", 1000, npc, null, false);
}
}
// When Dewdrop of Destruction is used on Portraits they suicide.
if ((skill != null) && CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
if (skill != null)
{
npc.doDie(attacker);
// When Dewdrop of Destruction is used on Portraits they suicide.
if (CommonUtil.contains(PORTRAITS, npc.getId()) && (skill.getId() == DEWDROP_OF_DESTRUCTION_SKILL_ID))
{
npc.doDie(attacker);
}
}
return null;
}
@ -747,8 +749,8 @@ public class LastImperialTomb extends AbstractInstance
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -828,8 +830,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -870,7 +872,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -176,7 +176,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -210,7 +210,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -224,9 +224,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
// broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -251,7 +251,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -259,7 +259,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -267,8 +267,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -276,7 +276,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -286,8 +286,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -297,8 +297,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -310,9 +310,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -322,7 +322,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -330,7 +330,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -338,9 +338,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -348,7 +348,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -356,7 +356,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -365,9 +365,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -381,8 +381,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -390,7 +390,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -398,7 +398,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -501,9 +501,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -512,8 +512,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -521,7 +521,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -541,8 +541,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -552,7 +552,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -575,7 +575,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -583,7 +583,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -602,9 +602,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -612,15 +612,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -628,7 +628,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -745,16 +745,14 @@ public class LastImperialTomb extends AbstractInstance
}
for (Npc monster : monsters)
{
monster.setRunning();
// monster.moveToLocation(-87959, -141247, -9168, 0);
monster.reduceCurrentHp(1, killer, null); // TODO: Find better way for attack
}
}
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -796,11 +794,8 @@ public class LastImperialTomb extends AbstractInstance
{
world.openCloseDoor(doorId, true);
}
for (Npc monster : monsters)
{
monster.setRunning();
// monster.moveToLocation(-87935, -147062, -9184, 0);
monster.reduceCurrentHp(1, killer, null); // TODO: Find better way for attack
}
break;
@ -833,8 +828,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -875,7 +870,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -176,7 +176,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -210,7 +210,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -224,9 +224,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
// broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -251,7 +251,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -259,7 +259,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -267,8 +267,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -276,7 +276,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -286,8 +286,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -297,8 +297,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -310,9 +310,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -322,7 +322,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -330,7 +330,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -338,9 +338,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -348,7 +348,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -356,7 +356,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -365,9 +365,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -381,8 +381,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -390,7 +390,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -398,7 +398,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -501,9 +501,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -512,8 +512,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -521,7 +521,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -541,8 +541,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -552,7 +552,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -575,7 +575,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -583,7 +583,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -602,9 +602,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -612,15 +612,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -628,7 +628,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -745,16 +745,14 @@ public class LastImperialTomb extends AbstractInstance
}
for (Npc monster : monsters)
{
monster.setRunning();
// monster.moveToLocation(-87959, -141247, -9168, 0);
monster.reduceCurrentHp(1, killer, null); // TODO: Find better way for attack
}
}
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -796,11 +794,8 @@ public class LastImperialTomb extends AbstractInstance
{
world.openCloseDoor(doorId, true);
}
for (Npc monster : monsters)
{
monster.setRunning();
// monster.moveToLocation(-87935, -147062, -9184, 0);
monster.reduceCurrentHp(1, killer, null); // TODO: Find better way for attack
}
break;
@ -833,8 +828,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -875,7 +870,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{

View File

@ -174,7 +174,7 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
startQuestTimer("FRINTEZZA_INTRO_1", 17000, null, player, false);
startQuestTimer("FRINTEZZA_INTRO_2", 20000, null, player, false);
broadCastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
broadcastPacket(world, new Earthquake(-87784, -155083, -9087, 45, 27));
break;
}
case "FRINTEZZA_INTRO_1":
@ -208,7 +208,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc overheadDummy = addSpawn(DUMMY, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
overheadDummy.setCollisionHeight(600);
broadCastPacket(world, new NpcInfo(overheadDummy));
broadcastPacket(world, new NpcInfo(overheadDummy));
world.setParameter("overheadDummy", overheadDummy);
final Npc portraitDummy1 = addSpawn(DUMMY, -89566, -153168, -9165, 16048, false, 0, false, world.getId());
@ -222,9 +222,9 @@ public class LastImperialTomb extends AbstractInstance
disablePlayers(world);
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 300, 90, -10, 6500, 7000, 0, 0, 1, 0, 0));
final Npc frintezza = addSpawn(FRINTEZZA, -87780, -155086, -9080, 16384, false, 0, false, world.getId());
frintezza.setImmobilized(true);
@ -249,7 +249,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 1800, 90, 8, 6500, 7000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_4", 900, null, player, false);
break;
}
@ -257,7 +257,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezzaDummy, 140, 90, 10, 2500, 4500, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_5", 4000, null, player, false);
break;
}
@ -265,8 +265,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 40, 75, -10, 0, 12000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_6", 1350, null, player, false);
break;
}
@ -274,7 +274,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 2));
final Npc frintezzaDummy = world.getParameters().getObject("frintezzaDummy", Npc.class);
frintezzaDummy.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_7", 8000, null, player, false);
@ -284,8 +284,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(1).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(2).getObjectId(), 1));
startQuestTimer("FRINTEZZA_INTRO_8", 400, null, player, false);
break;
}
@ -295,8 +295,8 @@ public class LastImperialTomb extends AbstractInstance
final List<Npc> demons = world.getParameters().getList("demons", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadCastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(0).getObjectId(), 1));
broadcastPacket(world, new SocialAction(demons.get(3).getObjectId(), 1));
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 1000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 1000, 0, 0, 1, 0, 0), -87784);
sendPacketX(world, new SpecialCamera(portraitDummy1, 1000, 118, 0, 0, 10000, 0, 0, 1, 0, 0), new SpecialCamera(portraitDummy3, 1000, 62, 0, 0, 10000, 0, 0, 1, 0, 0), -87784);
startQuestTimer("FRINTEZZA_INTRO_9", 2000, null, player, false);
@ -308,9 +308,9 @@ public class LastImperialTomb extends AbstractInstance
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
final Npc portraitDummy1 = world.getParameters().getObject("portraitDummy1", Npc.class);
final Npc portraitDummy3 = world.getParameters().getObject("portraitDummy3", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 0, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 240, 90, 25, 5500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 3));
portraitDummy1.deleteMe();
portraitDummy3.deleteMe();
startQuestTimer("FRINTEZZA_INTRO_10", 4500, null, player, false);
@ -320,7 +320,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_11", 700, null, player, false);
break;
}
@ -328,7 +328,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 195, 35, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_12", 1300, null, player, false);
break;
}
@ -336,9 +336,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadCastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new ExShowScreenMessage(NpcStringId.MOURNFUL_CHORALE_PRELUDE, 2, 5000));
broadcastPacket(world, new SpecialCamera(frintezza, 120, 180, 45, 1500, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
startQuestTimer("FRINTEZZA_INTRO_13", 1500, null, player, false);
break;
}
@ -346,7 +346,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 520, 135, 45, 8000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_14", 7500, null, player, false);
break;
}
@ -354,7 +354,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 1500, 110, 25, 10000, 13000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_15", 9500, null, player, false);
break;
}
@ -363,9 +363,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = player.getInstanceWorld();
final Npc overheadDummy = world.getParameters().getObject("overheadDummy", Npc.class);
final Npc scarletDummy = world.getParameters().getObject("scarletDummy", Npc.class);
broadCastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadCastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 930, 160, -20, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(overheadDummy, 600, 180, -25, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(scarletDummy, overheadDummy, 5004, 1, 5800, 0));
startQuestTimer("FRINTEZZA_INTRO_16", 5000, null, player, false);
break;
}
@ -379,8 +379,8 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadCastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 3));
broadcastPacket(world, new SpecialCamera(scarletDummy, 800, 180, 10, 1000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_17", 2100, null, player, false);
break;
}
@ -388,7 +388,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, 60, 8, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FRINTEZZA_INTRO_18", 2000, null, player, false);
break;
}
@ -396,7 +396,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = player.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 500, 90, 10, 3000, 5000, 0, 0, 1, 0, 0));
world.setParameter("isPlayingSong", false);
playRandomSong(world);
startQuestTimer("FRINTEZZA_INTRO_19", 3000, null, player, false);
@ -499,9 +499,9 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break;
@ -510,8 +510,8 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, 5006, 1, 34000, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 500, 70, 15, 3000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_3", 3000, npc, null, false);
break;
}
@ -519,7 +519,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 2500, 90, 12, 6000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_4", 3000, npc, null, false);
break;
}
@ -539,8 +539,8 @@ public class LastImperialTomb extends AbstractInstance
}
world.setParameter("scarletLocation", scarletLocation);
world.setParameter("newHeading", newHeading);
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 250, newHeading, 12, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_5", 500, npc, null, false);
break;
}
@ -550,7 +550,7 @@ public class LastImperialTomb extends AbstractInstance
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
activeScarlet.doDie(activeScarlet);
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 14, 8000, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_6", 6250, npc, null, false);
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_7", 7200, npc, null, false);
break;
@ -573,7 +573,7 @@ public class LastImperialTomb extends AbstractInstance
activeScarlet.setInvul(true);
activeScarlet.setImmobilized(true);
activeScarlet.disableAllSkills();
broadCastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 450, newHeading, 12, 500, 14000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_8", 8100, npc, null, false);
break;
}
@ -581,7 +581,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
broadCastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
broadcastPacket(world, new SocialAction(activeScarlet.getObjectId(), 2));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_9", 9000, npc, null, false);
break;
}
@ -600,9 +600,9 @@ public class LastImperialTomb extends AbstractInstance
final Instance world = npc.getInstanceWorld();
final Npc activeScarlet = world.getParameters().getObject("activeScarlet", Npc.class);
final int newHeading = world.getParameters().getInt("newHeading");
broadCastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, null, false);
broadcastPacket(world, new SpecialCamera(activeScarlet, 300, newHeading - 180, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(activeScarlet, 200, newHeading, 85, 4000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_2", 7400, npc, player, false);
startQuestTimer("FINISH_CAMERA_3", 7500, npc, null, false);
break;
}
@ -610,15 +610,15 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
frintezza.doDie(frintezza);
frintezza.doDie(player);
break;
}
case "FINISH_CAMERA_3":
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadCastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 120, 5, 0, 7000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 100, 90, 5, 5000, 15000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_4", 7000, npc, null, false);
break;
}
@ -626,7 +626,7 @@ public class LastImperialTomb extends AbstractInstance
{
final Instance world = npc.getInstanceWorld();
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 900, 90, 25, 7000, 10000, 0, 0, 1, 0, 0));
startQuestTimer("FINISH_CAMERA_5", 9000, npc, null, false);
break;
}
@ -695,12 +695,12 @@ public class LastImperialTomb extends AbstractInstance
{
if (npc.getId() == SCARLET1)
{
if ((npc.getScriptValue() == 0) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.80)))
if (npc.isScriptValue(0) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.80)))
{
npc.setScriptValue(1);
startQuestTimer("SCARLET_FIRST_MORPH", 1000, npc, null, false);
}
if ((npc.getScriptValue() == 1) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.20)))
if (npc.isScriptValue(1) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.20)))
{
npc.setScriptValue(2);
startQuestTimer("SCARLET_SECOND_MORPH", 1000, npc, null, false);
@ -749,8 +749,8 @@ public class LastImperialTomb extends AbstractInstance
else if (npc.getId() == SCARLET2)
{
final Npc frintezza = world.getParameters().getObject("frintezza", Npc.class);
broadCastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, null, false);
broadcastPacket(world, new MagicSkillCanceld(frintezza.getObjectId()));
startQuestTimer("FINISH_CAMERA_1", 500, npc, killer, false);
}
else if (CommonUtil.contains(DEMONS, npc.getId()))
{
@ -830,8 +830,8 @@ public class LastImperialTomb extends AbstractInstance
final int random = getRandom(1, 5);
final SkillHolder skill = new SkillHolder(5007, random);
final SkillHolder skillEffect = new SkillHolder(5008, random);
broadCastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadCastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
broadcastPacket(world, new ExShowScreenMessage(2, -1, 2, 0, 0, 0, 0, true, 4000, false, null, SKILL_MSG.get(random), null));
broadcastPacket(world, new MagicSkillUse(frintezza, frintezza, skill.getSkillId(), skill.getSkillLevel(), skill.getSkill().getHitTime(), 0));
for (PlayerInstance player : world.getPlayers())
{
if ((player != null) && player.isOnline())
@ -872,7 +872,7 @@ public class LastImperialTomb extends AbstractInstance
}
}
void broadCastPacket(Instance world, IClientOutgoingPacket packet)
void broadcastPacket(Instance world, IClientOutgoingPacket packet)
{
for (PlayerInstance player : world.getPlayers())
{