Quest Start of Fate (10331) rework.

Contributed by gyo.
This commit is contained in:
MobiusDev
2016-04-09 15:48:27 +00:00
parent 0c88432928
commit 2e4f0a9e30
137 changed files with 1582 additions and 378 deletions

View File

@@ -1,7 +1,7 @@
<html><body>Terian:<br>
Lakcis spoke of you.<br>
I am Terian, and I have come to help you through the Labyrinth of Belis.<br>
Now, when we open this door, enemies win rush toward us. We must defeat them and go on to the next room.<br>
Now, when we open this door, enemies will rush toward us. We must defeat them and go on to the next room.<br>
Ready?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis room_1">"Yes, I'm ready."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis room_1">"Yes, I'm ready."</Button>
</body></html>

View File

@@ -2,6 +2,6 @@
You're better than you look!<br>
Now, this is the second room. I've already checked the place out, and I think they did something to the device in the middle of the room.<br>
If we activate it, I'm sure the door will open.<br>
Ready?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis room_2">"Yes, I'm ready."</button>
Ready?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis room_2">"Yes, I'm ready."</Button>
</body></html>

View File

@@ -1,8 +1,8 @@
<html><body>Terian:<br>
We reached the final room! Excellent!<br>
We reached the final room! Excellent!<br>
This will be the most difficult challenge, and will test us both to our limits.<br>
There is a powerful current flowing through this room, which you cannot pass. I can, but only with special equipment, and even then, I can only last a little while.<br>
I want you to watch over me while I destroy the circuit breaker, ok? As soon as I start, enemies will come pouring in, so keep them off me!<br>
Ready?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis room_3">"Ready!"</button>
Ready?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis room_3">"Ready!"</Button>
</body></html>

View File

@@ -2,5 +2,5 @@
Alright!<br>
One door left, and I have no idea what's behind it. Good luck, friend.<br>
Are you ready?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis room_4">"Let's do this."</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis room_4">"Let's do this."</Button>
</body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Terian:<br>
What happened?<br>
Someone scary has been resurrected. Let's go back to town! I'll move you.<br>
Are you ready?
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis exit_instance">"Ready!"</button>
Are you ready?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis exit_instance">"Ready!"</Button>
</body></html>

View File

@@ -1,5 +1,5 @@
<html><body>Belis Verification System:<br>
To open the door to the next room, you will need to insert Belis' Mark in order to confirm authorization.<br>
To open the door to the next room, you will need to insert Belis' Mark in order to confirm authorization.<br1>
3 Marks of Belis Required.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis insert_belis_marks">"Insert Belis' Marks"</button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest LabyrinthOfBelis insert_belis_marks">Insert Belis' Mark</Button>
</body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Belis Verification System:<br>
3 Belis' Mark required.
%BELISE_MARKS_LEFT% Belis' Marks required.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Belis Verification System:<br>
The hologram has started operating.
</body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Electricity Generator:<br>
-Intrusion Alert-
<html><body>Belis Verification System:<br>
Intruder detected!
</body></html>

View File

@@ -40,7 +40,7 @@ import quests.Q10331_StartOfFate.Q10331_StartOfFate;
/**
* Labyrinth of Belis Instance Zone.
* @author Mobius
* @author Mobius, gyo
*/
public final class LabyrinthOfBelis extends AbstractInstance
{
@@ -80,6 +80,8 @@ public final class LabyrinthOfBelis extends AbstractInstance
private static final int DOOR_7 = 16240007;
private static final int DOOR_8 = 16240008;
private static final int DAMAGE_ZONE_ID = 10331;
private static final int REQUIRED_BELIS_MARK = 3;
LOBWorld world = null;
class LOBWorld extends InstanceWorld
{
@@ -87,6 +89,7 @@ public final class LabyrinthOfBelis extends AbstractInstance
L2Npc generator = null;
List<L2Npc> savedSpawns = null;
boolean assistPlayer = false;
int insertedBelisMark = 0;
}
public LabyrinthOfBelis()
@@ -116,7 +119,7 @@ public final class LabyrinthOfBelis extends AbstractInstance
{
return null;
}
final LOBWorld world = (LOBWorld) tmpworld;
world = (LOBWorld) tmpworld;
switch (event)
{
@@ -124,7 +127,7 @@ public final class LabyrinthOfBelis extends AbstractInstance
{
if (world.getStatus() == 1)
{
showOnScreenMsg(player, NpcStringId.LET_ME_KNOW_WHEN_YOU_RE_ALL_READY, ExShowScreenMessage.TOP_CENTER, 4000);
showOnScreenMsg(player, NpcStringId.LET_ME_KNOW_WHEN_YOU_RE_ALL_READY, ExShowScreenMessage.TOP_CENTER, 10000);
broadcastNpcSay(world.terian, ChatType.NPC_GENERAL, NpcStringId.LET_ME_KNOW_WHEN_YOU_RE_ALL_READY, 1000);
startQuestTimer("officer_wait_1", 5000, world.terian, player);
}
@@ -197,23 +200,29 @@ public final class LabyrinthOfBelis extends AbstractInstance
{
world.setStatus(5);
openDoor(DOOR_4, player.getInstanceId());
showOnScreenMsg(player, NpcStringId.MARK_OF_BELIS_CAN_BE_ACQUIRED_FROM_ENEMIES_NUSE_THEM_IN_THE_BELIS_VERIFICATION_SYSTEM, ExShowScreenMessage.TOP_CENTER, 5000);
showOnScreenMsg(player, NpcStringId.MARK_OF_BELIS_CAN_BE_ACQUIRED_FROM_ENEMIES_NUSE_THEM_IN_THE_BELIS_VERIFICATION_SYSTEM, ExShowScreenMessage.TOP_CENTER, 8000);
world.assistPlayer = true;
startQuestTimer("assist_player", 3000, world.terian, player);
return null;
}
case "insert_belis_marks":
{
if (getQuestItemsCount(player, BELIS_MARK) > 2)
if (getQuestItemsCount(player, BELIS_MARK) > 0)
{
takeItems(player, BELIS_MARK, 3);
openDoor(DOOR_5, player.getInstanceId());
world.assistPlayer = false;
broadcastNpcSay(world.terian, ChatType.NPC_GENERAL, NpcStringId.COME_ON_ONTO_THE_NEXT_PLACE, 1000);
startQuestTimer("officer_goto_3", 5000, world.terian, player);
return "33215-02.html";
takeItems(player, BELIS_MARK, 1);
world.insertedBelisMark++;
if (world.insertedBelisMark >= REQUIRED_BELIS_MARK)
{
openDoor(DOOR_5, player.getInstanceId());
world.assistPlayer = false;
broadcastNpcSay(world.terian, ChatType.NPC_GENERAL, NpcStringId.COME_ON_ONTO_THE_NEXT_PLACE, 1000);
startQuestTimer("officer_goto_3", 5000, world.terian, player);
return "33215-02.html";
}
}
return "33215-03.html";
String htmltext = getHtm(player.getHtmlPrefix(), "33215-03.html");
htmltext = htmltext.replace("%BELISE_MARKS_LEFT%", String.valueOf(REQUIRED_BELIS_MARK - world.insertedBelisMark));
return htmltext;
}
case "officer_goto_3":
{
@@ -263,13 +272,15 @@ public final class LabyrinthOfBelis extends AbstractInstance
}
case "room_3_spawns":
{
showOnScreenMsg(player, NpcStringId.BEHIND_YOU_THE_ENEMY_IS_AMBUSHING_YOU, ExShowScreenMessage.TOP_CENTER, 4000);
broadcastNpcSay(world.terian, ChatType.NPC_GENERAL, NpcStringId.DON_T_COME_BACK_HERE, 1000);
// TODO:
/*
* if (getRandomBoolean()) { showOnScreenMsg(player, NpcStringId.IF_TERAIN_DIES_THE_MISSION_WILL_FAIL, ExShowScreenMessage.TOP_CENTER, 4000); }
*/
if (getRandomBoolean())
{
showOnScreenMsg(player, NpcStringId.BEHIND_YOU_THE_ENEMY_IS_AMBUSHING_YOU, ExShowScreenMessage.TOP_CENTER, 10000);
}
else
{
showOnScreenMsg(player, NpcStringId.IF_TERAIN_DIES_THE_MISSION_WILL_FAIL, ExShowScreenMessage.TOP_CENTER, 10000);
}
final L2Npc invader;
if (getRandomBoolean())
{
@@ -300,7 +311,7 @@ public final class LabyrinthOfBelis extends AbstractInstance
world.generator.deleteMe();
}
openDoor(DOOR_7, player.getInstanceId());
showOnScreenMsg(player, NpcStringId.ELECTRONIC_DEVICE_HAS_BEEN_DESTROYED, ExShowScreenMessage.TOP_CENTER, 4000);
showOnScreenMsg(player, NpcStringId.ELECTRONIC_DEVICE_HAS_BEEN_DESTROYED, ExShowScreenMessage.TOP_CENTER, 7000);
broadcastNpcSay(world.terian, ChatType.NPC_GENERAL, NpcStringId.DEVICE_DESTROYED_LET_S_GO_ONTO_THE_NEXT, 1000);
startQuestTimer("officer_goto_4", 1000, world.terian, player);
}
@@ -414,7 +425,16 @@ public final class LabyrinthOfBelis extends AbstractInstance
}
case VERIFICATION_SYSTEM:
{
return "33215-01.html";
String htmltext = null;
if (world.insertedBelisMark < REQUIRED_BELIS_MARK)
{
htmltext = "33215-01.html";
}
else
{
htmltext = "33215-04.html";
}
return htmltext;
}
case ELECTRICITY_GENERATOR:
{