Add Shield of Arrav (#120)

* change it up

* eh

* Add Shield of Arrav quest

* Add comment
This commit is contained in:
Danial
2019-10-28 07:15:12 +13:00
committed by Daniel Ginovker
parent e9480ee890
commit 8262512bf6
16 changed files with 655 additions and 71 deletions
+2 -1
View File
@@ -1,3 +1,4 @@
// itemID itemName itemExamine
item = 0 Dwarf_remains The_body_of_a_Dwarf_savaged_by_Goblins. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
item = 1 Tool_kit These_could_be_handy. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
item = 2 Cannonball Ammo_for_the_Dwarf_Cannon. 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0
@@ -755,7 +756,7 @@ item = 757 Book The_Shield_of_Arrav_by_A_R_Wright. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
item = 758 Key The_key_to_get_into_the_Phoenix_Gang_HQ. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
item = 759 Key The_key_to_the_Phoenix_Gang's_weapons_store. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
item = 760 Key Swap_this_note_at_any_bank_for_the_equivalent_item. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
item = 761 Scroll An_intelligence_report. 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0
item = 761 Intel_report An_intelligence_report. 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0
item = 762 Scroll Swap_this_note_at_any_bank_for_the_equivalent_item. 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0
item = 763 Broken_shield Half_of_the_Shield_of_Arrav. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
item = 764 Broken_shield Swap_this_note_at_any_bank_for_the_equivalent_item. 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+2 -2
View File
@@ -687,8 +687,8 @@ npc = 642 Katrine 0 0
npc = 643 Weaponsmaster 23 0
//------------------------Not In DB------------------------
npc = 644 Straven 23 20
npc = 645 Jonny_the_beard 0 0
npc = 644 Straven 0 0
npc = 645 Jonny_the_beard 2 10
npc = 646 Curator 0 0
npc = 647 Reldo 0 0
npc = 648 King_Roald 0 0
@@ -2440,4 +2440,9 @@ spawn = 604 3000 3144 0 1 0 0 0 Thurgo
spawn = 647 3209 3496 0 1 0 0 0 Reldo
spawn = 9 3204 3496 0 1 0 0 0 Guard
spawn = 606 2977 3343 0 1 0 0 0 Squire
//PHEONIX GANG HIDEOUT
spawn = 644 3246 9780 0 0 0 0 0 Straven
spawn = 645 3224 3398 0 1 1 2 2 Jonny the beard
//VARROCK MUSEUM
spawn = 646 3256 3448 0 1 0 0 0 Curator Haig Halen
[ENDOFSPAWNLIST]
@@ -1,6 +1,7 @@
package redone.game.content.quests;
import redone.game.content.quests.impl.KnightsSword;
import redone.game.content.quests.impl.ShieldArrav;
import redone.game.players.Client;
/**
@@ -10,7 +11,7 @@ import redone.game.players.Client;
public class QuestAssistant {
public static final int MAXIMUM_QUESTPOINTS = 22;
public static final int MAXIMUM_QUESTPOINTS = 23;
public static void sendStages(Client client) {
client.getPlayerAssistant().sendFrame126("QP: " + client.questPoints + " ", 3985);
@@ -112,6 +113,13 @@ public class QuestAssistant {
} else {
client.getPlayerAssistant().sendFrame126("@yel@Black Knights' Fortress", 7332);
}
if (client.shieldArrav == 0) {
client.getPlayerAssistant().sendFrame126("Shield of Arrav", 7345);
} else if (client.shieldArrav == 8) {
client.getPlayerAssistant().sendFrame126("@gre@Shield of Arrav", 7345);
} else {
client.getPlayerAssistant().sendFrame126("@yel@Shield of Arrav", 7345);
}
}
public enum Quests {
@@ -130,7 +138,7 @@ public class QuestAssistant {
ROMEO_JULIET(28175, 7343, "Romeo Juliet", false),
RUNE_MYSTERIES(28167, 7335, "Rune Mysteries", true),
SHEEP_SHEARER(28176, 7344, "Sheep Shearer", true),
SHIELD_OF_ARRAV(28177, 7345, "Shield of Arrav", false),
SHIELD_OF_ARRAV(28177, 7345, "Shield of Arrav", true),
VAMPYRE_SLAYER(28179, 7347, "Vampyre Slayer", true),
WITCHS_POTION(28180, 7348, "Witchs Potion", true),
BETWEEN_A_ROCK(49228, 12772, "Between A Rock", false),
@@ -284,6 +292,9 @@ public class QuestAssistant {
case 28176:
client.getSheepShearer().showInformation();
break;
case 28177:
ShieldArrav.showInformation(client);
break;
case 28178:
KnightsSword.showInformation(client);
break;
@@ -39,7 +39,7 @@ public class QuestRewards {
}
public static void gertFinish(Client client) {
QuestReward(client, "Gertrude's Cat", "1 Quest Point", "1,525 Cooking XP", "A kitten!", "Ability to raise cats", "A choclate cake", "A bowl of stew", 1897);
QuestReward(client, "Gertrude's Cat", "1 Quest Point", "1,525 Cooking XP", "A kitten!", "Ability to raise cats", "A chocolate cake", "A bowl of stew", 1897);
QUEST_NAME = "Gertrude's Cat";
client.getPlayerAssistant().sendFrame126("@gre@" + QUEST_NAME + "", 7360);
client.getItemAssistant().addItem(1897, 1);
@@ -95,7 +95,7 @@ public class QuestRewards {
}
public static void runeFinish(Client client) {
QuestReward(client, "Rune Mysteries", "1 Quest Points", "Air Talisman", "", "", "", "", 1438);
QuestReward(client, "Rune Mysteries", "1 Quest Point", "Air Talisman", "", "", "", "", 1438);
QUEST_NAME = "Rune Mysteries";
client.getPlayerAssistant().sendFrame126("@gre@" + QUEST_NAME + "", 7335);
client.getItemAssistant().addItem(1438, 1);
@@ -142,12 +142,22 @@ public class QuestRewards {
client.questPoints++;
client.cookAss = 3;
}
public static void blackKnightReward(Client client) {
QuestReward(client, "Black Knights' Fortress", "3 Quest Point", "2500 Coins", "", "", "", "", 0);
QuestReward(client, "Black Knights' Fortress", "3 Quest Points", "2,500 Coins", "", "", "", "", 0);
QUEST_NAME = "Black Knights' Fortress";
client.getPlayerAssistant().sendFrame126("@gre@" + QUEST_NAME + "", 7332);
client.getItemAssistant().addItem(995, 2500);
client.questPoints += 3;
client.blackKnight = 3;
}
public static void shieldArravReward(Client client) {
QuestReward(client, "Shield of Arrav", "1 Quest Point", "1,200 Coins", "", "", "", "", 767);
QUEST_NAME = "Shield of Arrav";
client.getPlayerAssistant().sendFrame126("@gre@" + QUEST_NAME + "", 7345);
client.getItemAssistant().addItem(995, 1200);
client.questPoints++;
client.shieldArrav = 8;
}
}
@@ -93,7 +93,7 @@ public class PiratesTreasure {
"@str@I went to falador and killed the gardener", 8150);
client.getPlayerAssistant().sendFrame126("@str@I found the casket ",
8181);
client.getPlayerAssistant().sendFrame126("@red@ QUEST COMPLETE",
client.getPlayerAssistant().sendFrame126("@red@QUEST COMPLETE",
8152);
client.getPlayerAssistant().sendFrame126(
"As a reward, I gained a casket.", 8153);
@@ -0,0 +1,113 @@
package redone.game.content.quests.impl;
import redone.game.players.Client;
/**
* Shield of Arrav
* @author RedSparr0w
*/
public class ShieldArrav {
Client client;
private static String[] lines = new String[]{};
public ShieldArrav(Client client) {
this.client = client;
}
public static void showInformation(Client client) {
// Clear all lines
for (int i = 8144; i < 8195; i++) client.getPlayerAssistant().sendFrame126("", i);
// Set the title
client.getPlayerAssistant().sendFrame126("Shield of Arrav", 8144);
// Add content
if (client.shieldArrav == 0) {
lines = new String[]{
"I can start this quest by speaking to @red@Reldo @bla@in @red@Varrock's",
"@red@Palace Library@bla@, or by speaking to @red@Charlie the Tramp @bla@near",
"the @red@Blue Moon Inn @bla@in @red@Varrock.",
"I will need a friend to help me and some combat experience",
"may be an advantage.",
};
} else if (client.shieldArrav == 1) {
lines = new String[]{
"I need to find @red@'The Shield of Arrav' @bla@book",
"in @red@Varrock's Palace Library",
};
} else if (client.shieldArrav == 2) {
lines = new String[]{
"@str@I found 'The Shield of Arrav' book",
"I should speak to @red@Reldo",
};
} else if (client.shieldArrav == 3) {
lines = new String[]{
"@str@I found 'The Shield of Arrav' book",
"@str@I've spoken with Raldo",
"Lets go speak with @red@Baraek",
};
} else if (client.shieldArrav == 4) {
lines = new String[]{
"@str@I found 'The Shield of Arrav' book",
"@str@I've spoken with Raldo",
"@str@I've spoken with Baraek",
"He told me where I can find the Phoenix Gang hideout,",
"He said it was located in the South Eastern side of Varrock,",
"I should check it out.",
};
} else if (client.shieldArrav == 5) {
lines = new String[]{
"@str@I found 'The Shield of Arrav' book",
"@str@I've spoken with Raldo",
"@str@I've spoken with Baraek",
"@str@I found the hideout",
"I need to goto the @red@Blue Moon Inn",
"and obtain the intelligence report.",
};
} else if (client.shieldArrav == 6) {
lines = new String[]{
"@str@I found 'The Shield of Arrav' book",
"@str@I've spoken with Raldo",
"@str@I've spoken with Baraek",
"@str@I found the hideout",
"@str@I obtained the intelligence report",
"I need to find the Shield",
"and take it to @red@Curator Haig Halen",
"he should be at @red@Varrock Museum"
};
} else if (client.shieldArrav == 7) {
lines = new String[]{
"@str@I found 'The Shield of Arrav' book",
"@str@I've spoken with Raldo",
"@str@I've spoken with Baraek",
"@str@I found the hideout",
"@str@I obtained the intelligence report",
"@str@I turned in the shield",
"I need to take this certificate",
"to @red@King Roald @bla@for my reward",
};
} else if (client.shieldArrav == 8) {
lines = new String[]{
"@str@I found 'The Shield of Arrav' book",
"@str@I've spoken with Raldo",
"@str@I've spoken with Baraek",
"@str@I found the hideout",
"@str@I obtained the intelligence report",
"@str@I turned in the shield",
"@str@I got a certificate and",
"@str@turned it in for my reward",
"",
"@red@QUEST COMPLETE",
"",
"REWARDS:",
"1,200 coins",
"1 Quest Point",
};
}
// Send the lines to the client
int lineNumber = 8147;
for (String line : lines) client.getPlayerAssistant().sendFrame126(line, lineNumber++);
client.getPlayerAssistant().showInterface(8134);
}
}
@@ -11,59 +11,65 @@ public class VampyreSlayer {
Client client;
public String[] lines = new String[]{};
public VampyreSlayer(Client client) {
this.client = client;
}
public void showInformation() {
for (int i = 8144; i < 8195; i++) {
client.getPlayerAssistant().sendFrame126("", i);
}
client.getPlayerAssistant().sendFrame126("@dre@Vampyre Slayer", 8144);
client.getPlayerAssistant().sendFrame126("", 8145);
// Clear all lines
for (int i = 8144; i < 8195; i++) client.getPlayerAssistant().sendFrame126("", i);
// Set the title
client.getPlayerAssistant().sendFrame126("Vampyre Slayer", 8144);
// Add content
if (client.vampSlayer == 0) {
client.getPlayerAssistant().sendFrame126("Vampyre Slayer", 8144);
client.getPlayerAssistant().sendFrame126("I can start this quest by speaking to Morgan in", 8147);
client.getPlayerAssistant().sendFrame126("Draynor Village.", 8148);
client.getPlayerAssistant().sendFrame126("Minimum Requirments:", 8149);
client.getPlayerAssistant().sendFrame126("Be able to kill a level 37 monster.", 8150);
lines = new String[]{
"I can start this quest by speaking to Morgan in",
"Draynor Village.",
"Minimum Requirements:",
"Be able to kill a level 37 monster.",
};
} else if (client.vampSlayer == 1) {
client.getPlayerAssistant().sendFrame126("Vampyre Slayer", 8144);
client.getPlayerAssistant().sendFrame126("@str@I've talked to the Morgan", 8147);
client.getPlayerAssistant().sendFrame126("I should speak to Doctor Harlow", 8148);
lines = new String[]{
"@str@I've talked to Morgan",
"I should speak to Doctor Harlow",
};
} else if (client.vampSlayer == 2) {
client.getPlayerAssistant().sendFrame126("Vampyre Slayer", 8144);
client.getPlayerAssistant().sendFrame126("@str@I've talked to Doctor Harlow", 8147);
client.getPlayerAssistant().sendFrame126("I need to him a beer.", 8148);
client.getPlayerAssistant().sendFrame126("I should speak to the bartender", 8149);
lines = new String[]{
"@str@I've talked to Doctor Harlow",
"I need to bring him a beer.",
"I should speak to the bartender",
};
} else if (client.vampSlayer == 3) {
client.getPlayerAssistant().sendFrame126("Vampyre Slayer", 8144);
client.getPlayerAssistant().sendFrame126(
"@str@I've talked to the bartender", 8147);
client.getPlayerAssistant().sendFrame126(
"@str@I gave Doctor Harlow the beer", 8148);
client.getPlayerAssistant().sendFrame126(
"@str@Doctor Harlow talked to me and", 8149);
client.getPlayerAssistant().sendFrame126(
"@str@Gave me a stake and hammer.", 8150);
client.getPlayerAssistant().sendFrame126("Get everything you need and go to Draynor Village.", 8151);
client.getPlayerAssistant().sendFrame126("Begin your battle.", 8152);
lines = new String[]{
"@str@I've talked to the bartender",
"@str@I gave Doctor Harlow the beer",
"@str@Doctor Harlow talked to me and",
"@str@Gave me a stake and hammer.",
"Get everything you need and go to Draynor Village.",
"Begin your battle.",
};
} else if (client.vampSlayer == 4) {
client.getPlayerAssistant().sendFrame126("Vampyre Slayer", 8144);
client.getPlayerAssistant().sendFrame126("@str@I've killed the Vampire", 8147);
client.getPlayerAssistant().sendFrame126("I need to talk to Morgan to complete the quest.", 8148);
lines = new String[]{
"@str@I've killed the Vampire",
"I need to talk to Morgan to complete the quest.",
};
} else if (client.vampSlayer == 5) {
client.getPlayerAssistant().sendFrame126("Vampyre Slayer", 8144);
client.getPlayerAssistant().sendFrame126(
"@str@I've Talked to Morgan", 8148);
client.getPlayerAssistant().sendFrame126("@red@ QUEST COMPLETE",
8150);
client.getPlayerAssistant().sendFrame126(
"As a reward, I gained 4825 Attack Exp.", 8151);
client.getPlayerAssistant().sendFrame126("And 1 Quest Point", 8152);
client.getPlayerAssistant().sendFrame126("", 8152);
lines = new String[]{
"@str@I've killed the Vampire",
"@str@I've Talked to Morgan",
"",
"@red@QUEST COMPLETE",
"",
"REWARDS:",
"4,825 Attack Exp.",
"1 Quest Point",
};
}
// Send the lines to the client
int lineNumber = 8147;
for (String line : lines) client.getPlayerAssistant().sendFrame126(line, lineNumber++);
client.getPlayerAssistant().showInterface(8134);
}
}
@@ -2950,8 +2950,8 @@ public class DialogueHandler {
case 575:
if (player.getItemAssistant().playerHasItem(431, 1)) {
sendStatement("Frank happily takes the rum... and hands you a key");
player.getItemAssistant().addOrDropItem(432, 1);
player.getItemAssistant().deleteItem2(431, 1);
player.getItemAssistant().addOrDropItem(432, 1);
player.nextChat = 576;
} else {
sendPlayerChat1("I still need to get some rum.");
@@ -3206,7 +3206,7 @@ public class DialogueHandler {
// reldo starts here
case 626:
sendNpcChat1("Hello stranger.", player.talkingNpc, "Reldo");
player.nextChat = 630;
player.nextChat = 627;
break;
case 627:
sendOption3("Do you have anything to trade?", "What do you do?", "What do you know about the Imcando Dwarves?");
@@ -3417,24 +3417,17 @@ public class DialogueHandler {
}
break;
case 671:
if (player.knightS == 7) {
if (player.knightS == 7 || player.knightS == 8) {
sendStatement2("You give the blurite ore and two bars to Thurgo. Thurgo starts", "to make the sword. Thurgo hands you a sword.");
player.getItemAssistant().deleteItem2(2351, 1);
player.getItemAssistant().deleteItem2(2351, 1);
player.getItemAssistant().deleteItem2(668, 1);
player.getItemAssistant().addItem(667, 1);
player.knightS = 8;
player.getItemAssistant().addItem(667, 1);
player.nextChat = 672;
} else if (player.knightS == 8) {
sendStatement2("You give the blurite ore and two bars to Thurgo. Thurgo starts", "to make the sword. Thurgo hands you a sword.");
player.getItemAssistant().deleteItem2(2351, 1);
player.getItemAssistant().deleteItem2(2351, 1);
player.getItemAssistant().deleteItem2(668, 1);
player.getItemAssistant().addItem(667, 1);
player.nextChat = 672;
} else {
sendNpcChat1("You are not on this part of the quest right now.", player.talkingNpc, "Thurgo");
player.nextChat = 0;/*DIALOGUE ACTION*/
player.nextChat = 0;
}
break;
case 672:
@@ -3515,6 +3508,380 @@ public class DialogueHandler {
QuestRewards.knightsReward(player);
break;
//Shield of Arrav Quest line:
//Reldo
case 690:
sendOption3("Do you have anything to trade?", "What do you do?", "I'm in search of a quest.");
player.dialogueAction = 186;/*DIALOGUE ACTION*/
break;
case 691:
sendNpcChat1("Hmmm. I don't... believe there are any here...", player.talkingNpc, "Reldo");
player.nextChat = 692;
break;
case 692:
sendNpcChat1("Let me think actually...", player.talkingNpc, "Reldo");
player.nextChat = 693;
break;
case 693:
sendNpcChat2("Ah yes. I know. If you look in a book called 'The Shield", "of Arrav', you'll find a quest in there.", player.talkingNpc, "Reldo");
player.nextChat = 694;
break;
case 694:
sendNpcChat2("I'm not sure where the book is mind you... but I'm", "sure it's around here somewhere.", player.talkingNpc, "Reldo");
player.nextChat = 695;
break;
case 695:
sendPlayerChat1("Thank you.");
player.shieldArrav = 1;
player.nextChat = 0;
break;
//bookcase
case 696:
sendPlayerChat2("Aha! 'The Shield of Arrav'! Exactly what I was looking", "for");
player.getItemAssistant().addOrDropItem(757, 1);
player.shieldArrav = 2;
player.nextChat = 0;
break;
//reldo
case 697:
sendPlayerChat2("Ok. I've read the book. Do you know where I can find", "the Phoenix Gang?");
player.nextChat = 698;
break;
case 698:
sendNpcChat2("No, I don't. I think I know someone who might", "however.", player.talkingNpc, "Reldo");
player.nextChat = 699;
break;
case 699:
sendNpcChat3("If i were you I would talk to Baraek, the fur trader in", "the market place. I've heard he has connections with the", "Phoenix Gang.", player.talkingNpc, "Reldo");
player.shieldArrav = 3;
player.nextChat = 700;
break;
case 700:
sendPlayerChat1("Thanks, I'll try that!");
player.nextChat = 0;
break;
//Baraek
case 701:
sendPlayerChat1("Can you tell me where I can find the Phoenix Gang?");
player.nextChat = 702;
break;
case 702:
sendNpcChat2("Sh sh sh, not so loud! You don't want to get me in", "trouble!", player.talkingNpc, "Baraek");
player.nextChat = 703;
break;
case 703:
sendPlayerChat1("So DO you know where they are?");
player.nextChat = 704;
break;
case 704:
sendNpcChat1("I may do.", player.talkingNpc, "Baraek");
player.nextChat = 705;
break;
case 705:
sendNpcChat2("But I don't want to get into trouble for revealing their", "hideout.", player.talkingNpc, "Baraek");
player.nextChat = 706;
break;
case 706:
sendNpcChat2("Of course, if I was, say 20 gold coins richer I may", "happen to be more inclined to take that sort of risk...", player.talkingNpc, "Baraek");
player.nextChat = 707;
break;
case 707:
if (player.getItemAssistant().playerHasItem(995, 20)) {
sendPlayerChat1("Okay. Have 20 gold coins.");
player.nextChat = 708;
} else {
sendPlayerChat1("I'm a little short on gold coins right now..");
player.nextChat = 0;
}
break;
case 708:
sendNpcChat4("Ok, to get to the gang hideout, enter Varrock through",
"the south gate. Then, if you take the first turn east,",
"somewhere along there is an alleyway to the south. The",
"door at the end of there is the entrance to the Phoenix",
player.talkingNpc, "Baraek");
player.shieldArrav = 4;
player.nextChat = 709;
break;
case 709:
sendNpcChat3("Gang. They're operating there under the name of",
"VTAM Corporation. Be careful. The Pheonixes ain't",
"the types to be messed about.",
player.talkingNpc, "Baraek");
player.nextChat = 710;
break;
case 710:
sendPlayerChat1("Thanks!");
player.nextChat = 0;
break;
//Straven
case 711:
sendPlayerChat1("What's through that door?");
player.nextChat = 712;
break;
case 712:
sendNpcChat2("Hey! You can't go in there. Only authorised personnel",
"of the VTAM Corporation are allowed beyond this point.",
player.talkingNpc, "Straven");
if (player.shieldArrav < 4)
player.nextChat = 0;
else if (player.shieldArrav == 4)
player.nextChat = 713;
break;
case 713:
sendPlayerChat1("I know who you are!");
player.nextChat = 714;
break;
case 714:
sendNpcChat1("Really.", player.talkingNpc, "Straven");
player.nextChat = 715;
break;
case 715:
sendNpcChat1("Well?", player.talkingNpc, "Straven");
player.nextChat = 716;
break;
case 716:
sendNpcChat1("Who are we then?", player.talkingNpc, "Straven");
player.nextChat = 717;
break;
case 717:
sendPlayerChat2("This is the headquarters of the Phoenix Gang, the most", "powerful crime syndicate this city has ever seen!");
player.nextChat = 718;
break;
case 718:
sendNpcChat2("No, this is a legitimate business run by legitimate", "businessmen.", player.talkingNpc, "Straven");
player.nextChat = 719;
break;
case 719:
sendNpcChat2("Supposing we were this crime gang however, what would", "you want with us?", player.talkingNpc, "Straven");
player.nextChat = 720;
break;
case 720:
sendPlayerChat1("I'd like to offer you my services.");
player.nextChat = 721;
break;
case 721:
sendNpcChat1("You mean you'd like to join the Phoenix Gang?", player.talkingNpc, "Straven");
player.nextChat = 722;
break;
case 722:
sendNpcChat2("Well, obviously I can't speak for them, but the Phoenix", "Gang doesn't let people join just like that.", player.talkingNpc, "Straven");
player.nextChat = 723;
break;
case 723:
sendNpcChat1("You can't be too careful, you understand.", player.talkingNpc, "Straven");
player.nextChat = 724;
break;
case 724:
sendNpcChat2("Generally someone has to prove their loyalty before", "they can join.", player.talkingNpc, "Straven");
player.nextChat = 725;
break;
case 725:
sendPlayerChat1("How would I go about doing that?");
player.nextChat = 726;
break;
case 726:
sendNpcChat1("Obviously, I would have no idea about that.", player.talkingNpc, "Straven");
player.nextChat = 727;
break;
case 727:
sendNpcChat4("Although having said that, a rival gang of ours, er,",
"theirs, called the Black Arm Gang is supposedly meeting",
"a contact from Port Sarim today in the Blue Moon",
"Inn.",
player.talkingNpc, "Straven");
player.nextChat = 728;
break;
case 728:
sendNpcChat4("OBVIOUSLY I know NOTHING about the dealings",
"of the Phoenix Gang, but I bet if SOMEBODY were",
"to kill him and bring back his intelligence report, they",
"would be considered loyal enough to join.",
player.talkingNpc, "Straven");
player.nextChat = 729;
break;
case 729:
sendPlayerChat1("Ok, I'll get right on it.");
player.shieldArrav = 5;
player.nextChat = 0;
break;
case 730:
sendNpcChat1("How's your little mission going?", player.talkingNpc, "Straven");
if (player.getItemAssistant().playerHasItem(761, 1))
player.nextChat = 733;
else
player.nextChat = 731;
break;
case 731:
sendPlayerChat1("I haven't managed to find the report yet...");
player.nextChat = 732;
break;
case 732:
sendNpcChat3("You need to kill Jonny the Beard, who should be in",
"the Blue Moon Inn ...I would guess.",
"Not being a member of the Phoenix Gang and all.",
player.talkingNpc, "Straven");
player.nextChat = 0;
break;
case 733:
sendPlayerChat1("I have the intelligence report!");
player.nextChat = 734;
break;
case 734:
sendNpcChat1("Let's see it then.", player.talkingNpc, "Straven");
player.nextChat = 735;
break;
case 735:
sendStatement("You hand over the report. The man reads the report.");
player.getItemAssistant().deleteItem(761, 1);
player.nextChat = 736;
break;
case 736:
sendNpcChat1("Yes. Yes, this is very good.", player.talkingNpc, "Straven");
player.nextChat = 737;
break;
case 737:
sendNpcChat2("Ok! You can join the Phoenix Gang! I am Straven, one", "of the gang leaders.", player.talkingNpc, "Straven");
player.nextChat = 738;
break;
case 738:
sendPlayerChat1("Nice to meet you.");
player.nextChat = 739;
break;
case 739:
sendNpcChat1("Take this key.", player.talkingNpc, "Straven");
player.nextChat = 740;
break;
case 740:
sendItemChat1(player, "", "Straven hands you a key", 759, 150);
player.getItemAssistant().addOrDropItem(759, 1);
player.shieldArrav = 6;
player.nextChat = 0;
break;
case 741:
sendNpcChat1("Greetings, fellow gang member.", player.talkingNpc, "Straven");
player.nextChat = 0;
break;
//Phoenix gang weapons chest
case 742:
sendStatement("You search the chest.");
if (player.getItemAssistant().playerHasItem(763) || player.shieldArrav < 6)
player.nextChat = 743;
else
player.nextChat = 744;
break;
case 743:
sendStatement("It's empty.");
break;
case 744:
sendItemChat1(player, "", "You find half of a shield, which you take.", 763, 150);
player.getItemAssistant().addOrDropItem(763, 1);
player.nextChat = 0;
break;
//Curator Haig Halen
case 745:
sendNpcChat1("Welcome to the museum of Varrock.", player.talkingNpc, "Curator Haig Halen");
if (player.shieldArrav == 6 && (player.getItemAssistant().playerHasItem(763) || player.getItemAssistant().playerHasItem(765)))
player.nextChat = 746;
else
player.nextChat = 0;
break;
case 746:
sendPlayerChat2("I have half the shield of Arrav here. Can I get a", "reward?");
player.nextChat = 747;
break;
case 747:
sendNpcChat3("The Shield of Arrav! Goodness, the Museum has been",
"searching for that for years! The late King Roald II",
"offered a reward for it years ago!",
player.talkingNpc, "Curator Haig Halen");
player.nextChat = 748;
break;
case 748:
sendPlayerChat1("Well, I'm here to claim it.");
player.nextChat = 749;
break;
case 749:
sendNpcChat1("Let me have a look at it first.", player.talkingNpc, "Curator Haig Halen");
player.nextChat = 750;
break;
case 750:
if (player.getItemAssistant().playerHasItem(763))
sendItemChat1(player, "", "The curator peers at the shield", 763, 150);
else if (player.getItemAssistant().playerHasItem(765))
sendItemChat1(player, "", "The curator peers at the shield", 765, 150);
player.nextChat = 751;
break;
case 751:
sendNpcChat1("This is incredible!", player.talkingNpc, "Curator Haig Halen");
player.nextChat = 752;
break;
case 752:
sendNpcChat1("That shield has been missing for over twenty-fice years!", player.talkingNpc, "Curator Haig Halen");
player.nextChat = 753;
break;
case 753:
sendNpcChat3("Leave the shield here with me and I'll write you out a",
"certificate saying that you have returned the shield, so",
"that you can claim your reward from the King.",
player.talkingNpc, "Curator Haig Halen");
player.nextChat = 754;
break;
case 754:
if (player.getItemAssistant().playerHasItem(763)) {
sendItemChat1(player, "", "You hand over the shield half.", 763, 150);
player.getItemAssistant().deleteItem(763, 1);
} else if (player.getItemAssistant().playerHasItem(765)) {
sendItemChat1(player, "", "You hand over the shield half.", 765, 150);
player.getItemAssistant().deleteItem(765, 1);
}
player.nextChat = 755;
break;
case 755:
sendItemChat1(player, "", "The curator writes out a certificate.", 769, 150);
player.getItemAssistant().addOrDropItem(769, 1);
player.shieldArrav = 7;
player.nextChat = 0;
break;
//King Roald
case 756:
sendPlayerChat1("Greetings, your majesty.");
player.nextChat = 757;
break;
case 757:
sendPlayerChat2("Your majesty, I have come to claim the reward for the", "return of the Shield of Arrav.");
player.nextChat = 758;
break;
case 758:
sendItemChat1(player, "", "You show the certificate to the king.", 769, 150);
player.nextChat = 759;
break;
case 759:
sendNpcChat2("My goodness! This claim is for the reward offered by",
"my father many years ago!",
player.talkingNpc, "King Roald");
player.nextChat = 760;
break;
case 760:
sendNpcChat2("I never thought I would live to see the day when",
"someone came forward to claim this reward",
player.talkingNpc, "King Roald");
player.nextChat = 761;
break;
case 761:
sendItemChat1(player, "", "You hand over the certificate, The king gives you 1,200gp.", 995, 150);
player.nextChat = 762;
break;
case 762:
player.getItemAssistant().deleteItem(769, 1);
QuestRewards.shieldArravReward(player);
player.nextChat = 0;
break;
case 908:
sendPlayerChat1("Hello there " + NpcHandler.getNpcListName(player.talkingNpc) + "!");
player.nextChat = 909;
@@ -61,6 +61,15 @@ public class NpcActions {
if (c.knightS == 1) {
c.getDialogueHandler().sendDialogues(626, 647);
}
else if (c.shieldArrav == 0) {
c.getDialogueHandler().sendDialogues(690, 647);
}
else if (c.shieldArrav == 1) {
c.getDialogueHandler().sendDialogues(694, 647);
}
else if (c.shieldArrav == 2) {
c.getDialogueHandler().sendDialogues(697, 647);
}
break;
case 604://thurgo
if (c.knightS == 2) {
@@ -99,10 +108,37 @@ public class NpcActions {
}
break;
case 547: //Baraek
if (c.shieldArrav == 3) {
c.getDialogueHandler().sendDialogues(701, npcType);
}
break;
case 599:
c.getDialogueHandler().sendDialogues(1369, npcType);
break;
case 644: //Straven
if (c.shieldArrav <= 4) {
c.getDialogueHandler().sendDialogues(711, npcType);
}
else if (c.shieldArrav == 5) {
c.getDialogueHandler().sendDialogues(730, npcType);
}
else if (c.shieldArrav > 5) {
c.getDialogueHandler().sendDialogues(741, npcType);
}
break;
case 646: //Curator Haig Halen
c.getDialogueHandler().sendDialogues(745, npcType);
break;
case 648: //King Roald
if (c.shieldArrav == 7 && c.getItemAssistant().playerHasItem(769))
c.getDialogueHandler().sendDialogues(756, npcType);
break;
case 663:
c.getDialogueHandler().sendDialogues(3189, npcType);
break;
@@ -927,6 +927,11 @@ public class NpcHandler {
Server.itemHandler.createGroundItem(c, 300, npcs[i].absX, npcs[i].absY, 1, c.playerId);
}
break;
case 645:
if (c.shieldArrav == 5) {
Server.itemHandler.createGroundItem(c, 761, npcs[i].absX, npcs[i].absY, 1, c.playerId);
}
break;
}
}
}
@@ -2108,16 +2108,22 @@ public class ObjectsActions {
player.getPlayerAssistant().openUpBank();
break;
case 2604:
if (player.objectX == 3235 && player.objectY == 9761) {
return;
} else {
player.getPlayerAssistant().openUpBank();
case 2403:// should be 2418 but not working
if (player.shieldArrav >= 6 && player.getItemAssistant().playerHasItem(759)) {
Server.objectHandler.createAnObject(player, 2604, objectX, objectY, 0);
Region.addObject(2604, objectX, objectY, 0, 0, 0, false);
}
else {
player.getActionSender().sendMessage("It's locked, maybe I can get the key from somewhere.");
}
break;
case 2403:// should be 2418 but not working
Server.objectHandler.createAnObject(player, 2604, objectX, objectY, -1);
case 2604:
if (player.objectX == 3235 && player.objectY == 9761 && player.shieldArrav >= 6) {
player.getDialogueHandler().sendDialogues(742, -1);
} else {
player.getPlayerAssistant().openUpBank();
}
break;
case 3193:
@@ -2608,6 +2614,14 @@ public class ObjectsActions {
player.getActionSender().sendMessage("You have already finished this quest.");
}
break;
case 2402:
if (player.shieldArrav == 1)
player.getDialogueHandler().sendDialogues(696, -1);
else
player.getActionSender().sendMessage("The bookcase is empty.");
break;
case 2550:
ThieveOther.pickLock(player, 1, 3.5, 2674, 3306, 1, false);
break;
@@ -930,7 +930,7 @@ public class Client extends Player {
@Override
public void process() {
if (playerEnergy < 100&& System.currentTimeMillis() - lastIncrease >= getPlayerAssistant().raiseTimer()) {
if (playerEnergy < 100 && System.currentTimeMillis() - lastIncrease >= getPlayerAssistant().raiseTimer()) {
playerEnergy += 1;
lastIncrease = System.currentTimeMillis();
}
@@ -85,7 +85,7 @@ public abstract class Player {
randomEventsEnabled = false, debugMode = false, clickToTele = false;
public int votePoints, thankedForDonation, saveDelay, playerKilled, gertCat, restGhost,
romeojuliet, runeMist, vampSlayer, cookAss, doricQuest, blackKnight,
romeojuliet, runeMist, vampSlayer, cookAss, doricQuest, blackKnight, shieldArrav,
dragonSlayerQuestStage, sheepShear, impsC, randomActions, pkPoints,
totalPlayerDamageDealt, killedBy, lastChatId = 1, privateChat,
friendSlot = 0, dialogueId, randomCoffin, newLocation, specEffect,
@@ -260,6 +260,9 @@ public class PlayerSave {
case "blackKnight":
player.blackKnight = Integer.parseInt(token2);
break;
case "shieldArrav":
player.shieldArrav = Integer.parseInt(token2);
break;
case "pirateTreasure":
player.pirateTreasure = Integer.parseInt(token2);
break;
@@ -832,6 +835,10 @@ public class PlayerSave {
characterfile.write(Integer.toString(player.blackKnight), 0, Integer
.toString(player.blackKnight).length());
characterfile.newLine();
characterfile.write("shieldArrav = ", 0, 14);
characterfile.write(Integer.toString(player.shieldArrav), 0, Integer
.toString(player.shieldArrav).length());
characterfile.newLine();
characterfile.write("cookAss = ", 0, 10);
characterfile.write(Integer.toString(player.cookAss), 0, Integer
.toString(player.cookAss).length());
@@ -1096,6 +1096,9 @@ public class ClickingButtons implements PacketType {
case 185:
player.getDialogueHandler().sendDialogues(629, player.npcType);
return;
case 186: // Shield of Arrav
player.getDialogueHandler().sendDialogues(629, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPlayerAssistant().removeAllWindows();
@@ -1171,6 +1174,9 @@ public class ClickingButtons implements PacketType {
case 185:
player.getDialogueHandler().sendDialogues(628, player.npcType);
return;
case 186: // Shield of Arrav
player.getDialogueHandler().sendDialogues(628, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPlayerAssistant().removeAllWindows();
@@ -1249,6 +1255,9 @@ public class ClickingButtons implements PacketType {
case 185:
player.getDialogueHandler().sendDialogues(630, player.npcType);
return;
case 186: // Shield of Arrav
player.getDialogueHandler().sendDialogues(691, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPlayerAssistant().removeAllWindows();