Further improvements and a bug fix.

- Improved DesertGuard Dialog
- Journal stage 70 bug fix
- More facial improvements.
- Commented Code removal
- Anna improvements.
This commit is contained in:
SkalFate 2026-07-09 20:38:47 -06:00
parent 6baa59ec89
commit 72fcc0c798
8 changed files with 217 additions and 234 deletions

View file

@ -140,7 +140,7 @@ public final class AlShabimDialogue extends DialoguePlugin {
stage++;
break;
case 29:
quest.setStage(player, 54);
quest.setStage(player, 45);
player.getInventory().remove(TouristTrap.PROTOTYPE_DART);
player.getInventory().add(TouristTrap.TENTI_PINEAPPLE);
interpreter.sendItemMessage(806, "<col=08088A>*** Dart Construction ***", "Congratulations! You can now construct darts.");
@ -148,7 +148,7 @@ public final class AlShabimDialogue extends DialoguePlugin {
break;
}
break;
case 50:
case 40:
switch (stage) {
case 0:
npc(FacialExpression.NEUTRAL,"I am Al Shabim, greetings on behalf of the Bedabin", "nomads. Now... what can I do for you?");
@ -187,7 +187,7 @@ public final class AlShabimDialogue extends DialoguePlugin {
stage++;
break;
case 9:
quest.setStage(player, 51);
quest.setStage(player, 41);
player.getInventory().add(TouristTrap.BEDABIN_KEY, player);
interpreter.sendItemMessage(TouristTrap.BEDABIN_KEY, "Al Shabim gives you a key.");
stage++;
@ -249,7 +249,7 @@ public final class AlShabimDialogue extends DialoguePlugin {
stage++;
break;
case 23:
quest.setStage(player, 52);
quest.setStage(player, 43);
end();
break;
}
@ -261,7 +261,7 @@ public final class AlShabimDialogue extends DialoguePlugin {
case 90:
switch (stage) {
case 0:
if (quest.getStage(player) == 54 && !player.hasItem(TouristTrap.TENTI_PINEAPPLE)) {
if (quest.getStage(player) == 45 && !player.hasItem(TouristTrap.TENTI_PINEAPPLE)) {
player.getInventory().add(TouristTrap.TENTI_PINEAPPLE, player);
interpreter.sendItemMessage(TouristTrap.TENTI_PINEAPPLE, "You receive a tasty looking pineapple from Al Shabim.");
stage = 32;

View file

@ -180,16 +180,16 @@ public final class AnaDialogue extends DialoguePlugin {
stage++;
break;
case 12:
npc(FacialExpression.AMAZED,"There is no way you are getting me into a barrel. No", "WAY! Do you understand?");
npc(FacialExpression.AMAZED,"There is no way you are getting me into a barrel. No", "WAY! DO you understand?");
stage++;
break;
case 13:
player(FacialExpression.HALF_ASKING,"Well, we'll see, it might be the only way.");
player(FacialExpression.ASKING,"Well, we'll see, it might be the only way.");
stage++;
break;
case 14:
npc(FacialExpression.AMAZED,"No there has to be a better way! Anyway, I have to","get back to work. The guards will come along soon and", "give us some trouble else");
end();
npc(FacialExpression.ASKING,"No there has to be a better way! Anyway, I have to","get back to work. The guards will come along soon and", "give us some trouble else");
stage = 21;
break;
case 20:// barrel dialogue.
if (player.getInventory().remove(TouristTrap.BARREL)) {

View file

@ -118,11 +118,11 @@ public final class BedabinNomadDialogue extends DialoguePlugin {
case 1:
switch (buttonId) {
case 1:
player("What is this place?");
player(FacialExpression.NEUTRAL,"What is this place?");
stage = 10;
break;
case 2:
player("Where is Shantay pass?");
player(FacialExpression.NEUTRAL,"Where is Shantay pass?");
stage = 20;
break;
case 3:

View file

@ -2,6 +2,7 @@ package content.region.desert.quest.thetouristrap;
import content.data.Quests;
import core.game.dialogue.DialoguePlugin;
import core.game.dialogue.FacialExpression;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.quest.Quest;
@ -47,7 +48,7 @@ public final class CaptainSiadDialogue extends DialoguePlugin {
switch (quest.getStage(player)) {
default:
player.getPacketDispatch().sendMessage("The captain looks up from his work as you address him.");
npc("What are you doing in here?");
npc(FacialExpression.NEUTRAL,"What are you doing in here?");
break;
}
return true;
@ -59,23 +60,23 @@ public final class CaptainSiadDialogue extends DialoguePlugin {
case 52:
switch (stage) {
case 0:
player("I wanted to have a chat?");
player(FacialExpression.NEUTRAL,"I wanted to have a chat?");
stage++;
break;
case 1:
npc("You don't belong in here, get out!");
npc(FacialExpression.NEUTRAL,"You don't belong in here, get out!");
stage++;
break;
case 2:
player("You seem to have a lot of books!");
player(FacialExpression.NEUTRAL,"You seem to have a lot of books!");
stage++;
break;
case 3:
npc("Yes, I do. Now please get to the point?");
npc(FacialExpression.NEUTRAL,"Yes, I do. Now please get to the point?");
stage++;
break;
case 4:
player("So, you're interested in sailing?");
player(FacialExpression.NEUTRAL,"So, you're interested in sailing?");
stage++;
break;
case 5:
@ -83,19 +84,19 @@ public final class CaptainSiadDialogue extends DialoguePlugin {
stage++;
break;
case 6:
npc("Well, yes actually... It's been a passion of mine for", "some years...");
npc(FacialExpression.NEUTRAL,"Well, yes actually... It's been a passion of mine for", "some years...");
stage++;
break;
case 7:
player("I could tell by the cut of your jib.");
player(FacialExpression.NEUTRAL,"I could tell by the cut of your jib.");
stage++;
break;
case 8:
npc("Oh yes? Really?");
npc(FacialExpression.NEUTRAL,"Oh yes? Really?");
stage++;
break;
case 9:
npc("Well, I was quite a catch in my day you know!");
npc(FacialExpression.NEUTRAL,"Well, I was quite a catch in my day you know!");
stage++;
break;
case 10:
@ -104,18 +105,18 @@ public final class CaptainSiadDialogue extends DialoguePlugin {
break;
case 11:
end();
quest.setStage(player, 53);
quest.setStage(player, 42);
break;
}
break;
default:
switch (stage) {
case 0:
player("I wanted to have a chat?");
player(FacialExpression.NEUTRAL,"I wanted to have a chat?");
stage++;
break;
case 1:
npc("You don't belong in here, get out!");
npc(FacialExpression.ANGRY,"You don't belong in here, get out!");
stage++;
break;
case 2:

View file

@ -61,44 +61,37 @@ public final class DesertGuardDialogue extends DialoguePlugin {
npc = (NPC) args[0];
quest = player.getQuestRepository().getQuest(Quests.THE_TOURIST_TRAP);
switch (npc.getId()) {
case 5001:
case 5001: // Guard NPC ID
switch (quest.getStage(player)) {
default:
if (quest.getStage(player) >= 50){
npc(FacialExpression.HAPPY, "That pineapple was just delicious, many thanks. I don't",
"suppose you could get me another? <col=08088A>-- The guard looks at", "<col=08088A>you pleadingly.");
stage = 100;
break;
}
npc(FacialExpression.ANGRY,"What are you looking at?");
break;
case 40:
case 35:
npc(FacialExpression.ANGRY,"Yeah, what do you want?");
stage = 0;
break;
case 50:
case 51:
case 52:
case 53:
case 54:
if (player.getInventory().containsItem(TouristTrap.TENTI_PINEAPPLE)) {
case 40:
case 41:
case 42:
case 43:
case 45:
if (quest.getStage(player) < 45 || !player.getInventory().containsItem(TouristTrap.TENTI_PINEAPPLE)) {
npc(FacialExpression.NEUTRAL,"Do you have my tenti pineapple yet?");
stage = 4;
} else {
player(FacialExpression.SUSPICIOUS,"Hey... I have something for you!");
stage = 0;
} else {
npc(FacialExpression.NEUTRAL,"Do you have my tenti pineapple yet?");
stage = 10;
}
break;
case 60:
case 70:
case 80:
case 90:
case 100:
if (stage == 60) {
end();
return true;
}
npc(FacialExpression.HAPPY,
"That pineapple was just delicious, many thanks. I don't",
"suppose you could get me another? <col=08088A>-- The guard looks at",
"<col=08088A>you pleadingly.");
break;
}
break;
default:
default: // For all other npcs
switch (quest.getStage(player)) {
default:
npc(FacialExpression.ANGRY,"What are you looking at?");
@ -112,143 +105,132 @@ public final class DesertGuardDialogue extends DialoguePlugin {
@Override
public boolean handle(int interfaceId, int buttonId) {
switch (npc.getId()) {
case 5001:
case 5001: // Guard NPC ID
switch (quest.getStage(player)) {
case 51:
case 52:
case 53:
case 54:
switch (stage) {
case 0:
interpreter.sendItemMessage(TouristTrap.TENTI_PINEAPPLE, "You show the Tenti pineapple to the guard.");
stage++;
break;
case 1:
if (player.getInventory().remove(TouristTrap.TENTI_PINEAPPLE)) {
quest.setStage(player, 60);
npc(FacialExpression.HAPPY,"Great! Just what I've been looking for! Mmmmmmm...", "Delicious! This is so nice! Mmmmm, *SLURP*", "Yummmm... Oh yes, this is great.");
stage = 10;
case 35: // First meet up with the Guards after Male Slave Miner gives you slave robes
switch (stage) {
case 0:
player(FacialExpression.NEUTRAL,"I'd like to mine in a different area.");
stage++;
break;
case 1:
npc(FacialExpression.HAPPY,"Oh, you want to work in another area of the mine eh?", "<col=08088A>-- The guard seems pleased with his rhetorical question.--", "Well, I can understand that! A change is as good as a", "rest they say.");
stage++;
break;
case 2:
player(FacialExpression.NEUTRAL,"Yes sir, you're quite right sir.");
stage++;
break;
case 3:
npc(FacialExpression.HAPPY,"Of course I'm right. And what goes around comes", "around as they say. And it's been absolutely ages since", "I've had anything different to eat.");
stage++;
break;
case 4:
npc(FacialExpression.HAPPY,"What I wouldn't give for some whole, fresh, ripe and", "juicy pineapple for a change. And those Tenti's have the", "best pineapple in this entire area.");
stage++;
break;
case 5:
interpreter.sendDialogue("The guard winks at you.");
stage++;
break;
case 6:
npc(FacialExpression.NEUTRAL,"I'm sure you get my meaning...");
stage++;
break;
case 7:
player(FacialExpression.NEUTRAL,"Yes sir, we understand each other perfectly.");
stage++;
break;
case 8:
npc(FacialExpression.NEUTRAL,"Okay, good then. And remember, I prefer my", "pineapples whole, not chopped up with all the juice gone.");
stage++;
break;
case 9:
interpreter.sendDialogue("The guard moves back to his post and winks at you knowingly.");
stage++;
break;
case 10:
quest.setStage(player, 40);
end();
break;
}
break;
case -10:
player("Sorry, I don't have it yet.");
stage = -11;
break;
case -11:
end();
break;
case 10:
player(FacialExpression.HALF_ASKING,"So, can I go through now please?");
stage++;
break;
case 11:
npc(FacialExpression.HAPPY,"Yes, yes, of course... a deal's a deal!");
stage++;
break;
case 12:
end();
break;
}
break;
case 50:
switch (stage) {
case 0:
interpreter.sendItemMessage(TouristTrap.TENTI_PINEAPPLE, "You show the Tenti pineapple to the guard.");
stage++;
break;
case 1:
if (player.getInventory().remove(TouristTrap.TENTI_PINEAPPLE)) {
quest.setStage(player, 60);
npc(FacialExpression.HAPPY,"Great! Just what I've been looking for! Mmmmmmm...", "Delicious!! This is so nice! Mmmmm, *SLURP*", "Yummmm... Oh yes, this is great.");
stage = 10;
case 40:
case 41:
case 42:
case 43:
switch (stage) {
case 4:
player(FacialExpression.NEUTRAL,"Sorry, I don't have it yet.");
stage++;
break;
case 5:
end();
break;
}
break;
case 10:
player("Sorry, I don't have it yet.");
stage++;
case 45: // Meet up after the player gets the pineapple.
switch (stage) {
case 0:
interpreter.sendItemMessage(TouristTrap.TENTI_PINEAPPLE, "You show the Tenti pineapple to the guard.");
stage++;
break;
case 1:
if (player.getInventory().remove(TouristTrap.TENTI_PINEAPPLE)) {
quest.setStage(player, 60);
npc(FacialExpression.HAPPY,"Great! Just what I've been looking for! Mmmmmmm...", "Delicious! This is so nice! Mmmmm, *SLURP*", "Yummmm... Oh yes, this is great.");
stage++;
}
break;
case 2:
player(FacialExpression.HALF_ASKING,"So, can I go through now please?");
stage++;
break;
case 3:
npc(FacialExpression.HAPPY,"Yes, yes, of course... a deal's a deal!");
stage = 5;
break;
case 4:
player(FacialExpression.NEUTRAL,"Sorry, I don't have it yet.");
stage++;
break;
case 5:
end();
break;
}
break;
case 11:
end();
case 100: // Completed quest after dialog
switch (stage) {
case 100:
player(FacialExpression.ANGRY,"You must be joking! The last one I got you cost me",
"double shifts working copper ore! You should be", "grateful you got one at all.");
stage++;
break;
case 101:
end();
break;
}
break;
default:
if (quest.getStage(player) >= 50) {
switch (stage) {
case 100:
player(FacialExpression.ANGRY,"You must be joking! The last one I got you cost me",
"double shifts working copper ore! You should be", "grateful you got one at all.");
stage++;
break;
case 101:
end();
break;
}
}
else {
end();
}
}
break;
case 40:
switch (stage) {
case 0:
player(FacialExpression.NEUTRAL,"I'd like to mine in a different area.");
stage++;
break;
case 1:
npc(FacialExpression.HAPPY,"Oh, you want to work in another area of the mine eh?", "<col=08088A>-- The guard seems pleased with his rhetorical question.--", "Well, I can understand that! A change is as good as a", "rest they say.");
stage++;
break;
case 2:
player(FacialExpression.NEUTRAL,"Yes sir, you're quite right sir.");
stage++;
break;
case 3:
npc(FacialExpression.HAPPY,"Of course I'm right. And what goes around comes", "around as they say. And it's been absolutely ages since", "I've had anything different to eat.");
stage++;
break;
case 4:
npc(FacialExpression.HAPPY,"What I wouldn't give for some whole, fresh, ripe and", "juicy pineapple for a change. And those Tenti's have the", "best pineapple in this entire area.");
stage++;
break;
case 5:
interpreter.sendDialogue("The guard winks at you.");
stage++;
break;
case 6:
npc(FacialExpression.NEUTRAL,"I'm sure you get my meaning...");
stage++;
break;
case 7:
player(FacialExpression.NEUTRAL,"Yes sir, we understand each other perfectly.");
stage++;
break;
case 8:
npc(FacialExpression.NEUTRAL,"Okay, good then. And remember, I prefer my", "pineapples whole, not chopped up with all the juice gone.");
stage++;
break;
case 9:
interpreter.sendDialogue("The guard moves back to his post and winks at you knowingly.");
stage++;
break;
case 10:
quest.setStage(player, 50);
end();
break;
}
break;
case 100:
case 60:
switch (stage) {
case 0:
player(FacialExpression.ANGRY,"You must be joking! The last one I got you cost me", "double shifts working copper ore! You should be", "grateful you got one at all.");
stage++;
break;
case 1:
end();
break;
case 10:
player(FacialExpression.HALF_ASKING,"So, can I go through now please?");
stage++;
break;
case 11:
npc(FacialExpression.HAPPY,"Yes, yes, of course... a deal's a deal!");
stage++;
break;
case 12:
end();
break;
}
break;
default:
end();
break;
}
break;
default:
default: // Applies all other NPCs if guard id doesn't match
switch (quest.getStage(player)) {
default:
end();

View file

@ -87,22 +87,22 @@ public final class MaleSlaveDialogue extends DialoguePlugin {
public boolean handle(int interfaceId, int buttonId) {
switch (npc.getShownNPC(player).getId()) {
case 4985:
case 825:
case 825: // Slave male miner in slave robes
switch (quest.getStage(player)) {
case 30:
case 30: // This is when the player gets caught and jailed and that code sets the stage to 30.
switch (stage) {
case 0:
player(FacialExpression.NEUTRAL,"Yeah, okay, let's give it a go.");
stage++;
break;
case 1:
quest.setStage(player, 40);
quest.setStage(player, 35);
npc(FacialExpression.HAPPY,"Great! You did it! Do you want to trade clothes now?");
stage = 0;
break;
}
break;
case 40:
case 35: // Second meet up with the slave miner
switch (stage) {
case 0:
player(FacialExpression.NEUTRAL,"Yes, I'll trade.");
@ -137,16 +137,6 @@ public final class MaleSlaveDialogue extends DialoguePlugin {
}
indx_SlaveClothes++;
}
/* if (player.getEquipment().remove(TouristTrap.DESERT_CLOTHES)) {
for (Item item : TouristTrap.SLAVE_CLOTHES) {
player.getEquipment().add(item, true, false);
}
} else if (player.getInventory().remove(TouristTrap.DESERT_CLOTHES)){
for (Item item : TouristTrap.SLAVE_CLOTHES) {
player.getInventory().add(item, true);
}
}
*/
stage++;
break;
case 14:
@ -168,7 +158,7 @@ public final class MaleSlaveDialogue extends DialoguePlugin {
break;
}
break;
case 20:
case 20: // First meetup with the miner in slave robes
switch (stage) {
case 0:
player(FacialExpression.ASKING,"I've just arrived.");
@ -267,7 +257,7 @@ public final class MaleSlaveDialogue extends DialoguePlugin {
interpreter.sendDialogue("A nearby guard spots you!");
stage = 24;
} else {
quest.setStage(player, 40);
quest.setStage(player, 35);
npc(FacialExpression.NEUTRAL,"Great! You did it! Do you want to trade clothes now?");
stage = 0;
}
@ -313,7 +303,7 @@ public final class MaleSlaveDialogue extends DialoguePlugin {
break;
}
break;
case 100:
case 100: // this is for when the quest is complete to get a new pair of slave robes
switch (stage) {
case 0:
player(FacialExpression.NEUTRAL,"Yes, I'll trade.");
@ -322,16 +312,13 @@ public final class MaleSlaveDialogue extends DialoguePlugin {
case 1:
if (!TouristTrap.hasDesertClothes(player)) {
npc(FacialExpression.NEUTRAL,"I need desert boots, a desert robe and a desert", "shirt if you want these clothes off me.");
stage++;
end();
break;
}
npc(FacialExpression.HAPPY,"Great! You have the Desert Clothes! <col=08088A>-- the slave starts", "<col=08088A>undressing right in front of you --</col> Okay, here's the", "clothes, I won't need them anymore.");
stage = 13;
stage = 3;
break;
case 2:
end();
break;
case 13:
case 3:
interpreter.sendItemMessage(1845, "The slave gives you his dirty, flea infested robe.");
/**
* This action has to be done at this point for authenticity and should handle both options of
@ -350,21 +337,21 @@ public final class MaleSlaveDialogue extends DialoguePlugin {
}
stage++;
break;
case 14:
case 4:
interpreter.sendItemMessage(1844, "The slave gives you his muddy, sweat soaked shirt.");
stage++;
break;
case 15:
case 5:
interpreter.sendItemMessage(1846, "The slave gives you a smelly pair of decomposing boots.");
stage++;
break;
case 16:
case 6:
npc(FacialExpression.NEUTRAL,"Right, I'm off! Good luck!");
TouristTrap.addConfig(player, (1 << 4));
player.getPacketDispatch().sendMessages("The slave takes your desert robe.", "The slave takes your desert shirt.", "The slave takes your desert boots.");
stage++;
break;
case 17:
case 7:
player(FacialExpression.NEUTRAL,"Yeah, good luck to you too!");
break;
}
@ -378,11 +365,10 @@ public final class MaleSlaveDialogue extends DialoguePlugin {
break;
}
break;
// Prisoner with desert robes. Good place to prevent soft locks by putting checks here for slave robes.
case 826:
case 826: // Freed Slave male miner in dessert robes
switch (quest.getStage(player)) {
default:
if (!quest.isCompleted(player) && quest.getStage(player) < 50 && !TouristTrap.hasSlaveClothes(player)) {
if (!quest.isCompleted(player) && quest.getStage(player) < 40 && !TouristTrap.hasSlaveClothes(player)) {
TouristTrap.addConfig(player, (1));
quest.setStage(player, 30);
}

View file

@ -130,45 +130,59 @@ public final class TouristTrap extends Quest {
case 11:
case 30:
case 40:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I need to head into <red>the desert<blue> and search for <red>Ana", 11);
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I need to find the guard a <red>Tenti Pineapple<blue> for the guard.", 11);
break;
case 41:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I have found a way to get <red>Tenti Pineapple<blue> I need to find<br><br><blue>the research plans that <red>Captain Siad<blue> has.", 11);
break;
case 42:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I have found a way to get <red>Tenti Pineapple<blue><br><br><blue>I found the technical plans <red>Al Shabim<blue> was looking for.", 11);
break;
case 43:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I have found a way to get <red>Tenti Pineapple<blue><br><br><blue>I need to manufacture the <red>Prototype<blue> weapon for <red>Al Shabim<blue>.", 11);
break;
case 45:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I manufactured the <red>Prototype<blue> weapon and received<br><br><blue>a tasty <red>Tenti Pineapple<blue>.", 11);
break;
case 50:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I need to find the guard a <red>Tenti Pineapple<blue> for the guard.", 11);
break;
case 51:
case 52:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I have found a way to get <red>Tenti Pineapple<blue> I need to find<br><br><blue>the research plans that <red>Captain Siad<blue> has.", 11);
break;
case 53:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I have found a way to get <red>Tenti Pineapple<blue><br><br><blue>I found the technical plans <red>Al Shabim<blue> was looking for.", 11);
break;
case 54:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I have found a way to get <red>Tenti Pineapple<blue><br><br><blue>I need to manufacture the <red>Prototype<blue> weapon for <red>Al Shabim<blue>.", 11);
break;
case 60:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I manufactured the <red>Prototype<blue> weapon and received<br><br><blue>a tasty <red>Tenti Pineapple<blue>.", 11);
break;
case 61:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I finally found <red>Anna<blue>. I just need to find a way to smuggle<br><br><blue>her out of here.", 11);
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I finally found <red>Anna<blue>. I just need to find a way to smuggle<br><br><blue>her out of here.", 11);
break;
case 70: // Authentic Entry needed for when Anna is in a barrel and need to be lifted on the Winch.
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I finally found <red>Anna<blue>. I just need to find a way to smuggle<br><br><blue>her out of here.", 11);
break;
case 71:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I need to operate the <red>Winch<blue> to lift <red>Ana<blue> back up here.", 11);
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I need to operate the <red>Winch<blue> to lift <red>Ana<blue> back up here.", 11);
break;
case 72:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I need to get <red>Ana<blue> from one of the barrels lifted.", 11);
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I need to get <red>Ana<blue> from one of the barrels lifted.", 11);
break;
case 80:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I loaded <red>Ana<blue> into the <red>Cart<blue> I now need to get the <red>cart driver<blue> <br><br><blue>to transport it.", 11);
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I loaded <red>Ana<blue> into the <red>Cart<blue> I now need to get the <red>cart driver<blue> <br><br><blue>to transport it.", 11);
break;
case 90:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I payed the <red>Mine cart driver<blue> and he agreed to smuggle me and <red>Anna<blue><br><br><blue>out of the <red>Mining camp<blue>.", 11);
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I payed the <red>Mine cart driver<blue> and he agreed to smuggle me and <red>Anna<blue><br><br><blue>out of the <red>Mining camp<blue>.", 11);
break;
case 95:
case 98:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I smuggled both me and <red>Anna<blue> from the <red>Mining camp<blue>. I should<br><br><blue>go tell <red>Irena<blue> straight away.", 11);
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>" +
"I smuggled both me and <red>Anna<blue> from the <red>Mining camp<blue>. I should<br><br><blue>go tell <red>Irena<blue> straight away.", 11);
break;
case 100:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><str>I returned <str>Ana<str> back to her mother and was rewarded<br><br><str>with a <str>key<str> and the knowledge in two skills.<br><br><br><br><col=FF0000>QUEST COMPLETE!", 11);
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><str>" +
"I returned <str>Ana<str> back to her mother and was rewarded<br><br><str>with a <str>key<str> and the knowledge in two skills.<br><br><br><br><col=FF0000>QUEST COMPLETE!", 11);
break;
default:
line(player, "<str>Irena was distraught that her daughter Ana had vanished<br><br><str>somewhere in the desert, and I agreed to help find her.<br><br><blue>I need to head into <red>the desert<blue> and search for <red>Ana", 11);

View file

@ -206,7 +206,7 @@ public final class TouristTrapPlugin extends OptionHandler {
return true;
}
});
} else if (quest.getStage(player) == 53) {
} else if (quest.getStage(player) == 42) {
if (!player.hasItem(TouristTrap.TECHNICAL_PLANS)) {
player.getDialogueInterpreter().sendItemMessage(TouristTrap.TECHNICAL_PLANS, "While the Captain's distracted, you quickly unlock the", "chest with the Bedabins' copy of the key. You take out", "the plans.");
player.getInventory().add(TouristTrap.TECHNICAL_PLANS, player);
@ -253,7 +253,7 @@ public final class TouristTrapPlugin extends OptionHandler {
player.unlock();
player.getInventory().remove(TouristTrap.ANNA_BARREL);
TouristTrap.addConfig(player, (1 << 4));
quest.setStage(player, 61);
quest.setStage(player, 61); // Sets the stage to after talking to Anna for he first time.
player.getProperties().setTeleportLocation(Location.create(3285, 3034, 0));
return true;
}
@ -330,8 +330,8 @@ public final class TouristTrapPlugin extends OptionHandler {
player.getDialogueInterpreter().open("cart dialogue", node);
break;
case 2678:
if (quest.getStage(player) == 51) {
quest.setStage(player, 52);
if (quest.getStage(player) == 40) {
quest.setStage(player, 41);
}
player.getDialogueInterpreter().sendItemMessage(9904, "You notice several books on the subject of sailing.");
break;