Teleport Cube related additions.

Contributed by Horus.
This commit is contained in:
MobiusDevelopment
2021-08-03 00:17:14 +00:00
parent bcef5c23bd
commit 8cba0d9a54
18 changed files with 194 additions and 78 deletions

View File

@@ -23,17 +23,22 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
import quests.Q10589_WhereFatesIntersect.Q10589_WhereFatesIntersect;
import quests.Q10590_ReawakenedFate.Q10590_ReawakenedFate;
import quests.Q10591_NobleMaterial.Q10591_NobleMaterial;
import quests.Q11024_PathOfDestinyBeginning.Q11024_PathOfDestinyBeginning; import quests.Q11024_PathOfDestinyBeginning.Q11024_PathOfDestinyBeginning;
import quests.Q11025_PathOfDestinyProving.Q11025_PathOfDestinyProving; import quests.Q11025_PathOfDestinyProving.Q11025_PathOfDestinyProving;
import quests.Q11026_PathOfDestinyConviction.Q11026_PathOfDestinyConviction; import quests.Q11026_PathOfDestinyConviction.Q11026_PathOfDestinyConviction;
import quests.Q11027_PathOfDestinyOvercome.Q11027_PathOfDestinyOvercome; import quests.Q11027_PathOfDestinyOvercome.Q11027_PathOfDestinyOvercome;
/** /**
* @author Nasseka * @author Nasseka, Horus
*/ */
public class TeleportCube implements IItemHandler public class TeleportCube implements IItemHandler
{ {
private static final Location TARTI_TELEPORT = new Location(-14180, 123840, -3120); private static final Location TARTI_TELEPORT = new Location(-14180, 123840, -3120);
private static final Location HERPHAH_TELEPORT = new Location(146532, 26802, -2208);
private static final Location JOACHIM_TELEPORT = new Location(146524, 26722, -2208);
private static final Location SILVAN_TELEPORT = new Location(-19353, 136854, -3760); private static final Location SILVAN_TELEPORT = new Location(-19353, 136854, -3760);
private static final Location KALLESIN_TELEPORT = new Location(-41314, 122982, -2904); private static final Location KALLESIN_TELEPORT = new Location(-41314, 122982, -2904);
private static final Location ZENATH_TELEPORT = new Location(-46159, 109438, -3808); private static final Location ZENATH_TELEPORT = new Location(-46159, 109438, -3808);
@@ -58,12 +63,17 @@ public class TeleportCube implements IItemHandler
private static final Location QS3_TELEPORT6 = new Location(-88533, 104054, -3416); private static final Location QS3_TELEPORT6 = new Location(-88533, 104054, -3416);
private static final Location QS3_TELEPORT7 = new Location(-78669, 251000, -2971); private static final Location QS3_TELEPORT7 = new Location(-78669, 251000, -2971);
private static final Location QS3_TELEPORT8 = new Location(-14180, 123840, -3120); private static final Location QS3_TELEPORT8 = new Location(-14180, 123840, -3120);
private static final Location QS4_TELEPORT1 = new Location(-14088, 22168, -3621);
private static final Location QS5_TELEPORT1 = new Location(-14218, 44794, -3595);
private static final Location QS5_TELEPORT2 = new Location(147452, 22715, -1995);
private static final Location QS5_TELEPORT3 = new Location(146524, 26722, -2208);
private static final Location QS6_TELEPORT1 = new Location(111257, 221071, -3550);
@Override @Override
public boolean useItem(Playable playable, ItemInstance item, boolean forceUse) public boolean useItem(Playable playable, ItemInstance item, boolean forceUse)
{ {
final PlayerInstance player = playable.getActingPlayer(); final PlayerInstance player = playable.getActingPlayer();
if (!playable.isPlayer()) if (player == null)
{ {
return false; return false;
} }
@@ -72,7 +82,16 @@ public class TeleportCube implements IItemHandler
final QuestState qs11025 = player.getQuestState(Q11025_PathOfDestinyProving.class.getSimpleName()); final QuestState qs11025 = player.getQuestState(Q11025_PathOfDestinyProving.class.getSimpleName());
final QuestState qs11026 = player.getQuestState(Q11026_PathOfDestinyConviction.class.getSimpleName()); final QuestState qs11026 = player.getQuestState(Q11026_PathOfDestinyConviction.class.getSimpleName());
final QuestState qs11027 = player.getQuestState(Q11027_PathOfDestinyOvercome.class.getSimpleName()); final QuestState qs11027 = player.getQuestState(Q11027_PathOfDestinyOvercome.class.getSimpleName());
if (((qs11024 == null) || qs11024.isCond(0)) && ((qs11025 == null) || qs11025.isCond(0)) && ((qs11026 == null) || qs11026.isCond(0)) && ((qs11027 == null) || qs11027.isCond(0))) final QuestState qs10589 = player.getQuestState(Q10589_WhereFatesIntersect.class.getSimpleName());
final QuestState qs10590 = player.getQuestState(Q10590_ReawakenedFate.class.getSimpleName());
final QuestState qs10591 = player.getQuestState(Q10591_NobleMaterial.class.getSimpleName());
if (((qs11024 == null) || qs11024.isCond(0)) //
&& ((qs11025 == null) || qs11025.isCond(0)) //
&& ((qs11026 == null) || qs11026.isCond(0)) //
&& ((qs11027 == null) || qs11027.isCond(0)) //
&& ((qs10589 == null) || qs10589.isCond(0)) //
&& ((qs10590 == null) || qs10590.isCond(0)) //
&& ((qs10591 == null) || qs10591.isCond(0)))
{ {
return false; return false;
} }
@@ -252,6 +271,71 @@ public class TeleportCube implements IItemHandler
} }
} }
if (qs10589 != null)
{
switch (qs10589.getCond())
{
case 2:
case 3:
{
player.teleToLocation(QS4_TELEPORT1);
return true;
}
case 4:
{
player.teleToLocation(HERPHAH_TELEPORT);
return true;
}
}
}
if (qs10590 != null)
{
switch (qs10590.getCond())
{
case 1:
case 2:
{
player.teleToLocation(QS5_TELEPORT1);
return true;
}
case 3:
{
player.teleToLocation(JOACHIM_TELEPORT);
return true;
}
case 5:
{
player.teleToLocation(QS5_TELEPORT2);
return true;
}
case 7:
{
player.teleToLocation(QS5_TELEPORT3);
return true;
}
}
}
if (qs10591 != null)
{
switch (qs10591.getCond())
{
case 1:
case 2:
case 3:
{
player.teleToLocation(JOACHIM_TELEPORT);
return true;
}
case 5:
{
player.teleToLocation(QS6_TELEPORT1);
return true;
}
}
}
return false; return false;
} }
} }

View File

@@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
@@ -56,7 +55,6 @@ public class Q10589_WhereFatesIntersect extends Quest
}; };
// Items // Items
private static final int MONSTER_DROP = 80853; // Undead Blood private static final int MONSTER_DROP = 80853; // Undead Blood
private static final ItemHolder SOE_HERPHAH = new ItemHolder(80857, 1); // Scroll of Escape: Herphah
// Misc // Misc
private static final int REQUIRED_DROP_COUNT = 200; private static final int REQUIRED_DROP_COUNT = 200;
private static final int KILLING_NPCSTRING_ID1 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_IN_PROGRESS.getId(); private static final int KILLING_NPCSTRING_ID1 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_IN_PROGRESS.getId();
@@ -269,7 +267,6 @@ public class Q10589_WhereFatesIntersect extends Quest
if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95)) if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95))
{ {
qs.setCond(FINISH_COND, true); qs.setCond(FINISH_COND, true);
giveItems(player, SOE_HERPHAH);
} }
sendNpcLogList(player); sendNpcLogList(player);
} }

View File

@@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
@@ -57,7 +56,6 @@ public class Q10590_ReawakenedFate extends Quest
}; };
// Items // Items
private static final int VAMPIRE_ICHOR = 80854; // Vampire Ichor - monster drop private static final int VAMPIRE_ICHOR = 80854; // Vampire Ichor - monster drop
private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1);
// Rewards // Rewards
private static final int ACHIEVEMENT_BOX = 80909; private static final int ACHIEVEMENT_BOX = 80909;
private static final int RUBIN_LV2 = 38856; private static final int RUBIN_LV2 = 38856;
@@ -298,7 +296,6 @@ public class Q10590_ReawakenedFate extends Quest
if ((getQuestItemsCount(player, VAMPIRE_ICHOR) >= 500) && (player.getLevel() >= 99)) if ((getQuestItemsCount(player, VAMPIRE_ICHOR) >= 500) && (player.getLevel() >= 99))
{ {
qs.setCond(3, true); qs.setCond(3, true);
giveItems(player, SOE_JOACHIM);
} }
sendNpcLogList(player); sendNpcLogList(player);
} }

View File

@@ -1,4 +1,6 @@
<html><body>Dual Class Master Joachim:<br> <html><body>Dual Class Master Joachim:<br>
Then go to the <font color="LEVEL">Bloody Swampland</font> and complete the mission from <font color="LEVEL">Black Wizard Lapathia</font>.<br> Then go to the <font color="LEVEL">Bloody Swampland</font> and complete the mission from <font color="LEVEL">Black Wizard Lapathia</font>.<br>
I'll send you there once you are ready. I'll send you there once you are ready.<br><br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10591_NobleMaterial teleportWP"><font color="LEVEL">"Teleport to the War-Torn Plains(recommended)"</font></button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10591_NobleMaterial teleportBS">"Teleport to Blasing Swamp"</button>
</body></html> </body></html>

View File

@@ -67,7 +67,7 @@ public class Q10591_NobleMaterial extends Quest
}; };
// Items // Items
private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop
private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1); private static final ItemHolder TELEPORT_CUBE = new ItemHolder(81875, 1);
// Rewards // Rewards
private static final int ADENA_AMOUNT = 5050; private static final int ADENA_AMOUNT = 5050;
private static final int ACHIEVEMENT_BOX_LV_100 = 80910; private static final int ACHIEVEMENT_BOX_LV_100 = 80910;
@@ -187,6 +187,7 @@ public class Q10591_NobleMaterial extends Quest
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1); giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1); giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1);
giveItems(player, WARRIOR_CICLET_BOX_LV5, 1); giveItems(player, WARRIOR_CICLET_BOX_LV5, 1);
takeItem(player, TELEPORT_CUBE);
player.setNobleLevel(1); player.setNobleLevel(1);
player.broadcastInfo(); player.broadcastInfo();
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000);
@@ -204,6 +205,7 @@ public class Q10591_NobleMaterial extends Quest
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1); giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1); giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1);
giveItems(player, WIZARD_CICLET_BOX_LV5, 1); giveItems(player, WIZARD_CICLET_BOX_LV5, 1);
takeItem(player, TELEPORT_CUBE);
player.setNobleLevel(1); player.setNobleLevel(1);
player.broadcastInfo(); player.broadcastInfo();
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000);
@@ -221,6 +223,7 @@ public class Q10591_NobleMaterial extends Quest
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1); giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1); giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1);
giveItems(player, KNIGHT_CICLET_BOX_LV5, 1); giveItems(player, KNIGHT_CICLET_BOX_LV5, 1);
takeItem(player, TELEPORT_CUBE);
player.setNobleLevel(1); player.setNobleLevel(1);
player.broadcastInfo(); player.broadcastInfo();
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000);
@@ -363,7 +366,6 @@ public class Q10591_NobleMaterial extends Quest
if ((getQuestItemsCount(player, FLAME_ENERGY) >= 1000) && (player.getLevel() >= MIN_LEVEL)) if ((getQuestItemsCount(player, FLAME_ENERGY) >= 1000) && (player.getLevel() >= MIN_LEVEL))
{ {
qs.setCond(3, true); qs.setCond(3, true);
giveItems(player, SOE_JOACHIM);
} }
} }
} }

View File

@@ -34,6 +34,7 @@ import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
import org.l2jmobius.gameserver.model.events.annotations.RegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
@@ -60,10 +61,9 @@ public class Q11024_PathOfDestinyBeginning extends Quest
private static final int NASTY_ZOMBIE = 24382; private static final int NASTY_ZOMBIE = 24382;
private static final int NASTY_ZOMBIE_LORD = 24383; private static final int NASTY_ZOMBIE_LORD = 24383;
// Items // Items
private static final int SOE_SILVAN = 80678;
private static final int SOE_TARTI = 80677;
private static final int SS_NG_NOVICE = 5789; private static final int SS_NG_NOVICE = 5789;
private static final int BSS_NG_NOVICE = 5790; private static final int BSS_NG_NOVICE = 5790;
private static final ItemHolder TELEPORT_CUBE = new ItemHolder(81875, 1);
// Locations // Locations
private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-17916, 143630, -3904); private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-17916, 143630, -3904);
private static final Location TRAINING_GROUNDS_TELEPORT2 = new Location(-16744, 140209, -3872); private static final Location TRAINING_GROUNDS_TELEPORT2 = new Location(-16744, 140209, -3872);
@@ -106,6 +106,7 @@ public class Q11024_PathOfDestinyBeginning extends Quest
qs.startQuest(); qs.startQuest();
qs.setCond(1, true); qs.setCond(1, true);
htmltext = event; htmltext = event;
giveItems(player, TELEPORT_CUBE);
player.sendPacket(new ExTutorialShowId(9)); // Quest player.sendPacket(new ExTutorialShowId(9)); // Quest
break; break;
} }
@@ -352,7 +353,6 @@ public class Q11024_PathOfDestinyBeginning extends Quest
{ {
qs.setCond(4, true); qs.setCond(4, true);
qs.unset(KILL_COUNT_VAR); qs.unset(KILL_COUNT_VAR);
giveItems(killer, SOE_SILVAN, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_SILVAN_IN_YOUR_INVENTORY_NTALK_TO_SILVAN_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_SILVAN_IN_YOUR_INVENTORY_NTALK_TO_SILVAN_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -374,7 +374,6 @@ public class Q11024_PathOfDestinyBeginning extends Quest
{ {
qs.setCond(7, true); qs.setCond(7, true);
qs.unset(KILL_COUNT_VAR2); qs.unset(KILL_COUNT_VAR2);
giveItems(killer, SOE_TARTI, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }

View File

@@ -68,10 +68,6 @@ public class Q11025_PathOfDestinyProving extends Quest
private static final int RAGING_SPARTOI = 24390; private static final int RAGING_SPARTOI = 24390;
private static final int SKELETON_WARRIOR_2 = 27528; private static final int SKELETON_WARRIOR_2 = 27528;
private static final int SKELETON_SCOUT_2 = 27529; private static final int SKELETON_SCOUT_2 = 27529;
// Items
private static final int SOE_KALLESIN = 80679;
private static final int SOE_ZENATH = 80680;
private static final int SOE_TARTI = 80677;
// Quest Item // Quest Item
private static final int WIND_SPIRIT_REALM_RELIC = 39535; private static final int WIND_SPIRIT_REALM_RELIC = 39535;
private static final int SECRET_MATERIAL = 80671; private static final int SECRET_MATERIAL = 80671;
@@ -535,7 +531,6 @@ public class Q11025_PathOfDestinyProving extends Quest
{ {
giveItems(killer, SECRET_MATERIAL, 1); giveItems(killer, SECRET_MATERIAL, 1);
qs.setCond(2, true); qs.setCond(2, true);
giveItems(killer, SOE_KALLESIN, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_KALLESIN_IN_YOUR_INVENTORY_NTALK_TO_KALLESIN_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_KALLESIN_IN_YOUR_INVENTORY_NTALK_TO_KALLESIN_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -558,7 +553,6 @@ public class Q11025_PathOfDestinyProving extends Quest
{ {
qs.setCond(5, true); qs.setCond(5, true);
qs.unset(KILL_COUNT_VAR); qs.unset(KILL_COUNT_VAR);
giveItems(killer, SOE_ZENATH, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_ZENATH_IN_YOUR_INVENTORY_NTALK_TO_ZENATH_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_ZENATH_IN_YOUR_INVENTORY_NTALK_TO_ZENATH_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -577,7 +571,6 @@ public class Q11025_PathOfDestinyProving extends Quest
else if (getQuestItemsCount(killer, BREATH_OF_DEATH) == 14) else if (getQuestItemsCount(killer, BREATH_OF_DEATH) == 14)
{ {
qs.setCond(8, true); qs.setCond(8, true);
giveItems(killer, SOE_TARTI, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }

View File

@@ -67,9 +67,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
private static final int FUSSY_ARBOR = 24400; private static final int FUSSY_ARBOR = 24400;
private static final int TINY_WINDIMA = 24401; private static final int TINY_WINDIMA = 24401;
private static final int GIANT_WINDIMA = 24402; private static final int GIANT_WINDIMA = 24402;
// Item
private static final int SOE_TARTI = 80677;
private static final int SOE_PIO = 80681;
// Quest Item // Quest Item
private static final int KAIN_PROPHECY_MACHINE_FRAGMENT = 39538; private static final int KAIN_PROPHECY_MACHINE_FRAGMENT = 39538;
private static final int CORRUPTED_ENERGY = 80673; private static final int CORRUPTED_ENERGY = 80673;
@@ -533,7 +530,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
{ {
qs.setCond(2, true); qs.setCond(2, true);
qs.unset(KILL_COUNT_VAR); qs.unset(KILL_COUNT_VAR);
giveItems(killer, SOE_PIO, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -555,7 +551,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
{ {
qs.setCond(5, true); qs.setCond(5, true);
qs.unset(KILL_COUNT_VAR2); qs.unset(KILL_COUNT_VAR2);
giveItems(killer, SOE_PIO, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -575,7 +570,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
if (getQuestItemsCount(killer, CORRUPTED_ENERGY) >= 15) if (getQuestItemsCount(killer, CORRUPTED_ENERGY) >= 15)
{ {
qs.setCond(8, true); qs.setCond(8, true);
giveItems(killer, SOE_PIO, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -594,7 +588,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
if (getQuestItemsCount(killer, EMBEDDED_SHARD) >= 15) if (getQuestItemsCount(killer, EMBEDDED_SHARD) >= 15)
{ {
qs.setCond(11, true); qs.setCond(11, true);
giveItems(killer, SOE_PIO, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -616,7 +609,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
{ {
qs.setCond(14, true); qs.setCond(14, true);
qs.unset(KILL_COUNT_VAR3); qs.unset(KILL_COUNT_VAR3);
giveItems(killer, SOE_TARTI, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }

View File

@@ -63,8 +63,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
// Items // Items
private static final int PROPHECY_MACHINE = 39540; private static final int PROPHECY_MACHINE = 39540;
private static final int ATELIA = 39542; private static final int ATELIA = 39542;
private static final int SOE_RECLOUS = 80682;
private static final int SOE_TARTI = 80677;
private static final int ORC_EMPOWERING_POTION = 80675; private static final int ORC_EMPOWERING_POTION = 80675;
private static final int KETRA_ORDER = 80676; private static final int KETRA_ORDER = 80676;
// Monsters // Monsters
@@ -658,7 +656,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
{ {
qs.setCond(2, true); qs.setCond(2, true);
qs.unset(KILL_COUNT_VAR); qs.unset(KILL_COUNT_VAR);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -680,7 +677,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
{ {
qs.setCond(5, true); qs.setCond(5, true);
qs.unset(KILL_COUNT_VAR2); qs.unset(KILL_COUNT_VAR2);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -699,7 +695,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
if (getQuestItemsCount(killer, ORC_EMPOWERING_POTION) >= 15) if (getQuestItemsCount(killer, ORC_EMPOWERING_POTION) >= 15)
{ {
qs.setCond(8, true); qs.setCond(8, true);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -721,7 +716,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
{ {
qs.setCond(11, true); qs.setCond(11, true);
qs.unset(KILL_COUNT_VAR3); qs.unset(KILL_COUNT_VAR3);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -740,7 +734,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
if (getQuestItemsCount(killer, KETRA_ORDER) >= 15) if (getQuestItemsCount(killer, KETRA_ORDER) >= 15)
{ {
qs.setCond(14, true); qs.setCond(14, true);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -762,7 +755,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
{ {
qs.setCond(17, true); qs.setCond(17, true);
qs.unset(KILL_COUNT_VAR4); qs.unset(KILL_COUNT_VAR4);
giveItems(killer, SOE_TARTI, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }

View File

@@ -23,17 +23,22 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
import quests.Q10589_WhereFatesIntersect.Q10589_WhereFatesIntersect;
import quests.Q10590_ReawakenedFate.Q10590_ReawakenedFate;
import quests.Q10591_NobleMaterial.Q10591_NobleMaterial;
import quests.Q11024_PathOfDestinyBeginning.Q11024_PathOfDestinyBeginning; import quests.Q11024_PathOfDestinyBeginning.Q11024_PathOfDestinyBeginning;
import quests.Q11025_PathOfDestinyProving.Q11025_PathOfDestinyProving; import quests.Q11025_PathOfDestinyProving.Q11025_PathOfDestinyProving;
import quests.Q11026_PathOfDestinyConviction.Q11026_PathOfDestinyConviction; import quests.Q11026_PathOfDestinyConviction.Q11026_PathOfDestinyConviction;
import quests.Q11027_PathOfDestinyOvercome.Q11027_PathOfDestinyOvercome; import quests.Q11027_PathOfDestinyOvercome.Q11027_PathOfDestinyOvercome;
/** /**
* @author Nasseka * @author Nasseka, Horus
*/ */
public class TeleportCube implements IItemHandler public class TeleportCube implements IItemHandler
{ {
private static final Location TARTI_TELEPORT = new Location(-14180, 123840, -3120); private static final Location TARTI_TELEPORT = new Location(-14180, 123840, -3120);
private static final Location HERPHAH_TELEPORT = new Location(146532, 26802, -2208);
private static final Location JOACHIM_TELEPORT = new Location(146524, 26722, -2208);
private static final Location SILVAN_TELEPORT = new Location(-19353, 136854, -3760); private static final Location SILVAN_TELEPORT = new Location(-19353, 136854, -3760);
private static final Location KALLESIN_TELEPORT = new Location(-41314, 122982, -2904); private static final Location KALLESIN_TELEPORT = new Location(-41314, 122982, -2904);
private static final Location ZENATH_TELEPORT = new Location(-46159, 109438, -3808); private static final Location ZENATH_TELEPORT = new Location(-46159, 109438, -3808);
@@ -58,12 +63,17 @@ public class TeleportCube implements IItemHandler
private static final Location QS3_TELEPORT6 = new Location(-88533, 104054, -3416); private static final Location QS3_TELEPORT6 = new Location(-88533, 104054, -3416);
private static final Location QS3_TELEPORT7 = new Location(-78669, 251000, -2971); private static final Location QS3_TELEPORT7 = new Location(-78669, 251000, -2971);
private static final Location QS3_TELEPORT8 = new Location(-14180, 123840, -3120); private static final Location QS3_TELEPORT8 = new Location(-14180, 123840, -3120);
private static final Location QS4_TELEPORT1 = new Location(-14088, 22168, -3621);
private static final Location QS5_TELEPORT1 = new Location(-14218, 44794, -3595);
private static final Location QS5_TELEPORT2 = new Location(147452, 22715, -1995);
private static final Location QS5_TELEPORT3 = new Location(146524, 26722, -2208);
private static final Location QS6_TELEPORT1 = new Location(111257, 221071, -3550);
@Override @Override
public boolean useItem(Playable playable, ItemInstance item, boolean forceUse) public boolean useItem(Playable playable, ItemInstance item, boolean forceUse)
{ {
final PlayerInstance player = playable.getActingPlayer(); final PlayerInstance player = playable.getActingPlayer();
if (!playable.isPlayer()) if (player == null)
{ {
return false; return false;
} }
@@ -72,7 +82,16 @@ public class TeleportCube implements IItemHandler
final QuestState qs11025 = player.getQuestState(Q11025_PathOfDestinyProving.class.getSimpleName()); final QuestState qs11025 = player.getQuestState(Q11025_PathOfDestinyProving.class.getSimpleName());
final QuestState qs11026 = player.getQuestState(Q11026_PathOfDestinyConviction.class.getSimpleName()); final QuestState qs11026 = player.getQuestState(Q11026_PathOfDestinyConviction.class.getSimpleName());
final QuestState qs11027 = player.getQuestState(Q11027_PathOfDestinyOvercome.class.getSimpleName()); final QuestState qs11027 = player.getQuestState(Q11027_PathOfDestinyOvercome.class.getSimpleName());
if (((qs11024 == null) || qs11024.isCond(0)) && ((qs11025 == null) || qs11025.isCond(0)) && ((qs11026 == null) || qs11026.isCond(0)) && ((qs11027 == null) || qs11027.isCond(0))) final QuestState qs10589 = player.getQuestState(Q10589_WhereFatesIntersect.class.getSimpleName());
final QuestState qs10590 = player.getQuestState(Q10590_ReawakenedFate.class.getSimpleName());
final QuestState qs10591 = player.getQuestState(Q10591_NobleMaterial.class.getSimpleName());
if (((qs11024 == null) || qs11024.isCond(0)) //
&& ((qs11025 == null) || qs11025.isCond(0)) //
&& ((qs11026 == null) || qs11026.isCond(0)) //
&& ((qs11027 == null) || qs11027.isCond(0)) //
&& ((qs10589 == null) || qs10589.isCond(0)) //
&& ((qs10590 == null) || qs10590.isCond(0)) //
&& ((qs10591 == null) || qs10591.isCond(0)))
{ {
return false; return false;
} }
@@ -252,6 +271,71 @@ public class TeleportCube implements IItemHandler
} }
} }
if (qs10589 != null)
{
switch (qs10589.getCond())
{
case 2:
case 3:
{
player.teleToLocation(QS4_TELEPORT1);
return true;
}
case 4:
{
player.teleToLocation(HERPHAH_TELEPORT);
return true;
}
}
}
if (qs10590 != null)
{
switch (qs10590.getCond())
{
case 1:
case 2:
{
player.teleToLocation(QS5_TELEPORT1);
return true;
}
case 3:
{
player.teleToLocation(JOACHIM_TELEPORT);
return true;
}
case 5:
{
player.teleToLocation(QS5_TELEPORT2);
return true;
}
case 7:
{
player.teleToLocation(QS5_TELEPORT3);
return true;
}
}
}
if (qs10591 != null)
{
switch (qs10591.getCond())
{
case 1:
case 2:
case 3:
{
player.teleToLocation(JOACHIM_TELEPORT);
return true;
}
case 5:
{
player.teleToLocation(QS6_TELEPORT1);
return true;
}
}
}
return false; return false;
} }
} }

View File

@@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
@@ -56,7 +55,6 @@ public class Q10589_WhereFatesIntersect extends Quest
}; };
// Items // Items
private static final int MONSTER_DROP = 80853; // Undead Blood private static final int MONSTER_DROP = 80853; // Undead Blood
private static final ItemHolder SOE_HERPHAH = new ItemHolder(80857, 1); // Scroll of Escape: Herphah
// Misc // Misc
private static final int REQUIRED_DROP_COUNT = 200; private static final int REQUIRED_DROP_COUNT = 200;
private static final int KILLING_NPCSTRING_ID1 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_IN_PROGRESS.getId(); private static final int KILLING_NPCSTRING_ID1 = NpcStringId.LV_85_WHERE_FATES_INTERSECT_IN_PROGRESS.getId();
@@ -269,7 +267,6 @@ public class Q10589_WhereFatesIntersect extends Quest
if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95)) if ((getQuestItemsCount(player, MONSTER_DROP) >= REQUIRED_DROP_COUNT) && (player.getLevel() >= 95))
{ {
qs.setCond(FINISH_COND, true); qs.setCond(FINISH_COND, true);
giveItems(player, SOE_HERPHAH);
} }
sendNpcLogList(player); sendNpcLogList(player);
} }

View File

@@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.enums.QuestSound;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
@@ -57,7 +56,6 @@ public class Q10590_ReawakenedFate extends Quest
}; };
// Items // Items
private static final int VAMPIRE_ICHOR = 80854; // Vampire Ichor - monster drop private static final int VAMPIRE_ICHOR = 80854; // Vampire Ichor - monster drop
private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1);
// Rewards // Rewards
private static final int ACHIEVEMENT_BOX = 80909; private static final int ACHIEVEMENT_BOX = 80909;
private static final int RUBIN_LV2 = 38856; private static final int RUBIN_LV2 = 38856;
@@ -298,7 +296,6 @@ public class Q10590_ReawakenedFate extends Quest
if ((getQuestItemsCount(player, VAMPIRE_ICHOR) >= 500) && (player.getLevel() >= 99)) if ((getQuestItemsCount(player, VAMPIRE_ICHOR) >= 500) && (player.getLevel() >= 99))
{ {
qs.setCond(3, true); qs.setCond(3, true);
giveItems(player, SOE_JOACHIM);
} }
sendNpcLogList(player); sendNpcLogList(player);
} }

View File

@@ -1,4 +1,6 @@
<html><body>Dual Class Master Joachim:<br> <html><body>Dual Class Master Joachim:<br>
Then go to the <font color="LEVEL">Bloody Swampland</font> and complete the mission from <font color="LEVEL">Black Wizard Lapathia</font>.<br> Then go to the <font color="LEVEL">Bloody Swampland</font> and complete the mission from <font color="LEVEL">Black Wizard Lapathia</font>.<br>
I'll send you there once you are ready. I'll send you there once you are ready.<br><br><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10591_NobleMaterial teleportWP"><font color="LEVEL">"Teleport to the War-Torn Plains(recommended)"</font></button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10591_NobleMaterial teleportBS">"Teleport to Blasing Swamp"</button>
</body></html> </body></html>

View File

@@ -67,7 +67,7 @@ public class Q10591_NobleMaterial extends Quest
}; };
// Items // Items
private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop private static final int FLAME_ENERGY = 80856; // Flame Energy - monster drop
private static final ItemHolder SOE_JOACHIM = new ItemHolder(80858, 1); private static final ItemHolder TELEPORT_CUBE = new ItemHolder(81875, 1);
// Rewards // Rewards
private static final int ADENA_AMOUNT = 5050; private static final int ADENA_AMOUNT = 5050;
private static final int ACHIEVEMENT_BOX_LV_100 = 80910; private static final int ACHIEVEMENT_BOX_LV_100 = 80910;
@@ -187,6 +187,7 @@ public class Q10591_NobleMaterial extends Quest
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1); giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1); giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1);
giveItems(player, WARRIOR_CICLET_BOX_LV5, 1); giveItems(player, WARRIOR_CICLET_BOX_LV5, 1);
takeItem(player, TELEPORT_CUBE);
player.setNobleLevel(1); player.setNobleLevel(1);
player.broadcastInfo(); player.broadcastInfo();
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000);
@@ -204,6 +205,7 @@ public class Q10591_NobleMaterial extends Quest
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1); giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1); giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1);
giveItems(player, WIZARD_CICLET_BOX_LV5, 1); giveItems(player, WIZARD_CICLET_BOX_LV5, 1);
takeItem(player, TELEPORT_CUBE);
player.setNobleLevel(1); player.setNobleLevel(1);
player.broadcastInfo(); player.broadcastInfo();
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000);
@@ -221,6 +223,7 @@ public class Q10591_NobleMaterial extends Quest
giveItems(player, ACHIEVEMENT_BOX_LV_100, 1); giveItems(player, ACHIEVEMENT_BOX_LV_100, 1);
giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1); giveItems(player, ACQUIRE_NOBLESSE_PRIVILEGES, 1);
giveItems(player, KNIGHT_CICLET_BOX_LV5, 1); giveItems(player, KNIGHT_CICLET_BOX_LV5, 1);
takeItem(player, TELEPORT_CUBE);
player.setNobleLevel(1); player.setNobleLevel(1);
player.broadcastInfo(); player.broadcastInfo();
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 10000);
@@ -363,7 +366,6 @@ public class Q10591_NobleMaterial extends Quest
if ((getQuestItemsCount(player, FLAME_ENERGY) >= 1000) && (player.getLevel() >= MIN_LEVEL)) if ((getQuestItemsCount(player, FLAME_ENERGY) >= 1000) && (player.getLevel() >= MIN_LEVEL))
{ {
qs.setCond(3, true); qs.setCond(3, true);
giveItems(player, SOE_JOACHIM);
} }
} }
} }

View File

@@ -34,6 +34,7 @@ import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
import org.l2jmobius.gameserver.model.events.annotations.RegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.QuestState;
@@ -60,10 +61,9 @@ public class Q11024_PathOfDestinyBeginning extends Quest
private static final int NASTY_ZOMBIE = 24382; private static final int NASTY_ZOMBIE = 24382;
private static final int NASTY_ZOMBIE_LORD = 24383; private static final int NASTY_ZOMBIE_LORD = 24383;
// Items // Items
private static final int SOE_SILVAN = 80678;
private static final int SOE_TARTI = 80677;
private static final int SS_NG_NOVICE = 5789; private static final int SS_NG_NOVICE = 5789;
private static final int BSS_NG_NOVICE = 5790; private static final int BSS_NG_NOVICE = 5790;
private static final ItemHolder TELEPORT_CUBE = new ItemHolder(81875, 1);
// Locations // Locations
private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-17916, 143630, -3904); private static final Location TRAINING_GROUNDS_TELEPORT = new Location(-17916, 143630, -3904);
private static final Location TRAINING_GROUNDS_TELEPORT2 = new Location(-16744, 140209, -3872); private static final Location TRAINING_GROUNDS_TELEPORT2 = new Location(-16744, 140209, -3872);
@@ -106,6 +106,7 @@ public class Q11024_PathOfDestinyBeginning extends Quest
qs.startQuest(); qs.startQuest();
qs.setCond(1, true); qs.setCond(1, true);
htmltext = event; htmltext = event;
giveItems(player, TELEPORT_CUBE);
player.sendPacket(new ExTutorialShowId(9)); // Quest player.sendPacket(new ExTutorialShowId(9)); // Quest
break; break;
} }
@@ -352,7 +353,6 @@ public class Q11024_PathOfDestinyBeginning extends Quest
{ {
qs.setCond(4, true); qs.setCond(4, true);
qs.unset(KILL_COUNT_VAR); qs.unset(KILL_COUNT_VAR);
giveItems(killer, SOE_SILVAN, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_SILVAN_IN_YOUR_INVENTORY_NTALK_TO_SILVAN_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_SILVAN_IN_YOUR_INVENTORY_NTALK_TO_SILVAN_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -374,7 +374,6 @@ public class Q11024_PathOfDestinyBeginning extends Quest
{ {
qs.setCond(7, true); qs.setCond(7, true);
qs.unset(KILL_COUNT_VAR2); qs.unset(KILL_COUNT_VAR2);
giveItems(killer, SOE_TARTI, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }

View File

@@ -68,10 +68,6 @@ public class Q11025_PathOfDestinyProving extends Quest
private static final int RAGING_SPARTOI = 24390; private static final int RAGING_SPARTOI = 24390;
private static final int SKELETON_WARRIOR_2 = 27528; private static final int SKELETON_WARRIOR_2 = 27528;
private static final int SKELETON_SCOUT_2 = 27529; private static final int SKELETON_SCOUT_2 = 27529;
// Items
private static final int SOE_KALLESIN = 80679;
private static final int SOE_ZENATH = 80680;
private static final int SOE_TARTI = 80677;
// Quest Item // Quest Item
private static final int WIND_SPIRIT_REALM_RELIC = 39535; private static final int WIND_SPIRIT_REALM_RELIC = 39535;
private static final int SECRET_MATERIAL = 80671; private static final int SECRET_MATERIAL = 80671;
@@ -535,7 +531,6 @@ public class Q11025_PathOfDestinyProving extends Quest
{ {
giveItems(killer, SECRET_MATERIAL, 1); giveItems(killer, SECRET_MATERIAL, 1);
qs.setCond(2, true); qs.setCond(2, true);
giveItems(killer, SOE_KALLESIN, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_KALLESIN_IN_YOUR_INVENTORY_NTALK_TO_KALLESIN_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_KALLESIN_IN_YOUR_INVENTORY_NTALK_TO_KALLESIN_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -558,7 +553,6 @@ public class Q11025_PathOfDestinyProving extends Quest
{ {
qs.setCond(5, true); qs.setCond(5, true);
qs.unset(KILL_COUNT_VAR); qs.unset(KILL_COUNT_VAR);
giveItems(killer, SOE_ZENATH, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_ZENATH_IN_YOUR_INVENTORY_NTALK_TO_ZENATH_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_ZENATH_IN_YOUR_INVENTORY_NTALK_TO_ZENATH_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -577,7 +571,6 @@ public class Q11025_PathOfDestinyProving extends Quest
else if (getQuestItemsCount(killer, BREATH_OF_DEATH) == 14) else if (getQuestItemsCount(killer, BREATH_OF_DEATH) == 14)
{ {
qs.setCond(8, true); qs.setCond(8, true);
giveItems(killer, SOE_TARTI, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }

View File

@@ -67,9 +67,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
private static final int FUSSY_ARBOR = 24400; private static final int FUSSY_ARBOR = 24400;
private static final int TINY_WINDIMA = 24401; private static final int TINY_WINDIMA = 24401;
private static final int GIANT_WINDIMA = 24402; private static final int GIANT_WINDIMA = 24402;
// Item
private static final int SOE_TARTI = 80677;
private static final int SOE_PIO = 80681;
// Quest Item // Quest Item
private static final int KAIN_PROPHECY_MACHINE_FRAGMENT = 39538; private static final int KAIN_PROPHECY_MACHINE_FRAGMENT = 39538;
private static final int CORRUPTED_ENERGY = 80673; private static final int CORRUPTED_ENERGY = 80673;
@@ -533,7 +530,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
{ {
qs.setCond(2, true); qs.setCond(2, true);
qs.unset(KILL_COUNT_VAR); qs.unset(KILL_COUNT_VAR);
giveItems(killer, SOE_PIO, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -555,7 +551,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
{ {
qs.setCond(5, true); qs.setCond(5, true);
qs.unset(KILL_COUNT_VAR2); qs.unset(KILL_COUNT_VAR2);
giveItems(killer, SOE_PIO, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -575,7 +570,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
if (getQuestItemsCount(killer, CORRUPTED_ENERGY) >= 15) if (getQuestItemsCount(killer, CORRUPTED_ENERGY) >= 15)
{ {
qs.setCond(8, true); qs.setCond(8, true);
giveItems(killer, SOE_PIO, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -594,7 +588,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
if (getQuestItemsCount(killer, EMBEDDED_SHARD) >= 15) if (getQuestItemsCount(killer, EMBEDDED_SHARD) >= 15)
{ {
qs.setCond(11, true); qs.setCond(11, true);
giveItems(killer, SOE_PIO, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_PIO_IN_YOUR_INVENTORY_NTALK_TO_PIO_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -616,7 +609,6 @@ public class Q11026_PathOfDestinyConviction extends Quest
{ {
qs.setCond(14, true); qs.setCond(14, true);
qs.unset(KILL_COUNT_VAR3); qs.unset(KILL_COUNT_VAR3);
giveItems(killer, SOE_TARTI, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }

View File

@@ -63,8 +63,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
// Items // Items
private static final int PROPHECY_MACHINE = 39540; private static final int PROPHECY_MACHINE = 39540;
private static final int ATELIA = 39542; private static final int ATELIA = 39542;
private static final int SOE_RECLOUS = 80682;
private static final int SOE_TARTI = 80677;
private static final int ORC_EMPOWERING_POTION = 80675; private static final int ORC_EMPOWERING_POTION = 80675;
private static final int KETRA_ORDER = 80676; private static final int KETRA_ORDER = 80676;
// Monsters // Monsters
@@ -658,7 +656,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
{ {
qs.setCond(2, true); qs.setCond(2, true);
qs.unset(KILL_COUNT_VAR); qs.unset(KILL_COUNT_VAR);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -680,7 +677,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
{ {
qs.setCond(5, true); qs.setCond(5, true);
qs.unset(KILL_COUNT_VAR2); qs.unset(KILL_COUNT_VAR2);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -699,7 +695,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
if (getQuestItemsCount(killer, ORC_EMPOWERING_POTION) >= 15) if (getQuestItemsCount(killer, ORC_EMPOWERING_POTION) >= 15)
{ {
qs.setCond(8, true); qs.setCond(8, true);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -721,7 +716,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
{ {
qs.setCond(11, true); qs.setCond(11, true);
qs.unset(KILL_COUNT_VAR3); qs.unset(KILL_COUNT_VAR3);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -740,7 +734,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
if (getQuestItemsCount(killer, KETRA_ORDER) >= 15) if (getQuestItemsCount(killer, KETRA_ORDER) >= 15)
{ {
qs.setCond(14, true); qs.setCond(14, true);
giveItems(killer, SOE_RECLOUS, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_RECLOUS_IN_YOUR_INVENTORY_NTALK_TO_RECLOUS_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }
@@ -762,7 +755,6 @@ public class Q11027_PathOfDestinyOvercome extends Quest
{ {
qs.setCond(17, true); qs.setCond(17, true);
qs.unset(KILL_COUNT_VAR4); qs.unset(KILL_COUNT_VAR4);
giveItems(killer, SOE_TARTI, 1);
showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000); showOnScreenMsg(killer, NpcStringId.USE_SCROLL_OF_ESCAPE_TARTI_IN_YOUR_INVENTORY_NTALK_TO_TARTI_TO_COMPLETE_THE_QUEST, ExShowScreenMessage.TOP_CENTER, 10000);
} }
} }