mirror of
https://github.com/moparisthebest/MoparClassic
synced 2024-12-21 23:18:52 -05:00
Update quest with more accurate Npc dialogues.
This commit is contained in:
parent
cbe085c05c
commit
5b347d3101
@ -8,9 +8,10 @@ import org.moparscape.msc.gs.quest.QuestAction;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Quest: Sheep Shearer (v1.0) Status: COMPLETE Start: Fred the farmer (id 77),
|
* Quest: Sheep Shearer (v1.0) Status: COMPLETE Start: Fred the farmer (id 77),
|
||||||
* 159, 619 Items: 207x20 Reward: 1 quest point, 60 gold, Crafting 350 xp
|
* 159, 619 Items: 207x20 Reward: 1 quest point, 330 gold, Crafting 350 xp
|
||||||
*
|
*
|
||||||
* @author Konijn
|
* @author Konijn
|
||||||
|
* edited by Latifundio
|
||||||
*/
|
*/
|
||||||
public class SheepShearer extends Quest {
|
public class SheepShearer extends Quest {
|
||||||
private final int FRED_ID = 77;
|
private final int FRED_ID = 77;
|
||||||
@ -18,9 +19,11 @@ public class SheepShearer extends Quest {
|
|||||||
private final int REWARD_XP = 350;
|
private final int REWARD_XP = 350;
|
||||||
private final int REWARD_GP = 330;
|
private final int REWARD_GP = 330;
|
||||||
private final String[] FIRST_MENU = new String[] {
|
private final String[] FIRST_MENU = new String[] {
|
||||||
"Sure, what do I need to do?", "No thanks, I'm good." };
|
"I'm lost.", "I'm looking for a quest.", "I'm looking for something to kill." };
|
||||||
private final String[] SECOND_MENU = new String[] {
|
private final String[] SECOND_MENU = new String[] {
|
||||||
"Sorry, I don't like the sound of that.", "I'd be happy to help." };
|
"That doesn't sound like an exciting quest.", "The thing? What do you mean?" };
|
||||||
|
private final String[] THIRD_MENU = new String[] {
|
||||||
|
"I'm not sure about this..", "Yes okay, I can do that." };
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
associateNpc(FRED_ID);
|
associateNpc(FRED_ID);
|
||||||
@ -55,7 +58,11 @@ public class SheepShearer extends Quest {
|
|||||||
player.setBusy(true);
|
player.setBusy(true);
|
||||||
npc.blockedBy(player);
|
npc.blockedBy(player);
|
||||||
|
|
||||||
sendChat("Hi there, traveller. Care to make some money?", npc,
|
sendChat("What are you doing on my land?", npc,
|
||||||
|
player);
|
||||||
|
sendChat("Aren't you the one who keeps all my gates open", npc,
|
||||||
|
player);
|
||||||
|
sendChat("and letting out all my sheep?", npc,
|
||||||
player);
|
player);
|
||||||
|
|
||||||
player.setBusy(false);
|
player.setBusy(false);
|
||||||
@ -63,54 +70,112 @@ public class SheepShearer extends Quest {
|
|||||||
sleep();
|
sleep();
|
||||||
player.setBusy(true);
|
player.setBusy(true);
|
||||||
switch (option) {
|
switch (option) {
|
||||||
case 1:
|
case 2:
|
||||||
|
sendChat("What on my land?",
|
||||||
|
npc, player);
|
||||||
|
sendChat("Leave my livestock alone you scoundrel.",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
player.setBusy(false);
|
||||||
|
npc.unblock();
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
sendChat("How can you be lost?",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
sendChat("Just follow the road east and south.",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
sendChat("You'll end up in Lundbridge fairly quickly.",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
player.setBusy(false);
|
player.setBusy(false);
|
||||||
npc.unblock();
|
npc.unblock();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 0:
|
case 1:
|
||||||
|
sendChat("You're after a quest, you say?",
|
||||||
sendChat(
|
|
||||||
"If you collect 20 balls of wool for me, I'll pay you 500 coins.",
|
|
||||||
npc, player);
|
npc, player);
|
||||||
|
|
||||||
sendChat(
|
sendChat("Actually I could do with a bit of help.",
|
||||||
"Maybe I'll teach you a thing or two about crafting, too.",
|
|
||||||
npc, player);
|
npc, player);
|
||||||
|
|
||||||
sendChat(
|
sendChat("My sheep are getting mighty woolly.",
|
||||||
"I'm afraid you'll have to find your own shears, but the sheep are outside.",
|
|
||||||
npc, player);
|
npc, player);
|
||||||
|
|
||||||
|
sendChat("Maybe you could sheer them",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
sendChat("and while you're at it, spin the wool for me too.",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
sendChat("Yes that's it, bring me 20 balls of wool.",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
sendChat("And I'm sure I could sort out some kind of payment.",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
sendChat("Of course, there's the small matter of the thing.",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
player.setBusy(false);
|
player.setBusy(false);
|
||||||
option = getMenuOption(player, SECOND_MENU);
|
option = getMenuOption(player, SECOND_MENU);
|
||||||
sleep();
|
sleep();
|
||||||
player.setBusy(true);
|
player.setBusy(true);
|
||||||
switch (option) {
|
switch (option) {
|
||||||
case 1:
|
|
||||||
sendChat(
|
|
||||||
"Great! Come back and see me when you're done.",
|
|
||||||
npc, player);
|
|
||||||
|
|
||||||
player.setQuestStage(getUniqueID(), 1);
|
|
||||||
player.setBusy(false);
|
|
||||||
npc.unblock();
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 0:
|
case 0:
|
||||||
|
sendChat("Well, what do you expect if you ask a farmer for a quest?",
|
||||||
sendChat(
|
|
||||||
"Suit yourself. Come and see me if you change your mind.",
|
|
||||||
npc, player);
|
npc, player);
|
||||||
|
|
||||||
player.setBusy(false);
|
player.setBusy(false);
|
||||||
npc.unblock();
|
npc.unblock();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
case 1:
|
||||||
|
sendChat("I wouldn't worry about it",
|
||||||
|
npc, player);
|
||||||
|
sendChat("Something eat all the previous shearers..",
|
||||||
|
npc, player);
|
||||||
|
sendChat("They probably just got unlucky",
|
||||||
|
npc, player);
|
||||||
|
sendChat("I'm sure it is nothing to worry about.",
|
||||||
|
npc, player);
|
||||||
|
sendChat("Now are you going to help me or not?",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
player.setBusy(false);
|
||||||
|
option = getMenuOption(player, THIRD_MENU);
|
||||||
|
sleep();
|
||||||
|
player.setBusy(true);
|
||||||
|
switch (option) {
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
sendChat("Okay, I will see you when you have some wool.",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
player.setQuestStage(getUniqueID(), 1);
|
||||||
|
player.setBusy(false);
|
||||||
|
npc.unblock();
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
sendChat("Why are you so worried?",
|
||||||
|
npc, player);
|
||||||
|
sendChat("Probably they're just hiding or somethig",
|
||||||
|
npc, player);
|
||||||
|
|
||||||
|
player.setBusy(false);
|
||||||
|
npc.unblock();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
player.setBusy(false);
|
||||||
|
npc.unblock();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
player.setBusy(false);
|
player.setBusy(false);
|
||||||
npc.unblock();
|
npc.unblock();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -134,12 +199,12 @@ public class SheepShearer extends Quest {
|
|||||||
|
|
||||||
player.setBusy(true);
|
player.setBusy(true);
|
||||||
npc.blockedBy(player);
|
npc.blockedBy(player);
|
||||||
sendChat("Ahh, you've returned! Do you have my wool?", npc,
|
sendChat("How are you doing getting those balls of wool?", npc,
|
||||||
player);
|
player);
|
||||||
|
|
||||||
player.setBusy(false);
|
player.setBusy(false);
|
||||||
int option = getMenuOption(player, "I'm afraid not.",
|
int option = getMenuOption(player, "I'm not sure how to do it",
|
||||||
"Yes, I do.");
|
"I got some here.");
|
||||||
|
|
||||||
if (option == -1) {
|
if (option == -1) {
|
||||||
npc.unblock();
|
npc.unblock();
|
||||||
@ -151,8 +216,7 @@ public class SheepShearer extends Quest {
|
|||||||
// SingleEvent
|
// SingleEvent
|
||||||
if (option == 0) {
|
if (option == 0) {
|
||||||
|
|
||||||
sendChat(
|
sendChat("Well, find a spinning wheel to spin the wool.",
|
||||||
"Well, come and see me when you do. The offer still stands",
|
|
||||||
npc, player);
|
npc, player);
|
||||||
player.setBusy(false);
|
player.setBusy(false);
|
||||||
npc.unblock();
|
npc.unblock();
|
||||||
@ -164,14 +228,12 @@ public class SheepShearer extends Quest {
|
|||||||
&& player.getInventory().countId(ITEM_WOOL) >= 20) {
|
&& player.getInventory().countId(ITEM_WOOL) >= 20) {
|
||||||
finishQuest(player, npc);
|
finishQuest(player, npc);
|
||||||
} else {
|
} else {
|
||||||
sendChat(
|
sendChat("Um, you still don't have all of them.",
|
||||||
"Um, no you don't. Get back to me when you do. The reward still stands!",
|
|
||||||
npc, player);
|
npc, player);
|
||||||
player.setBusy(false);
|
player.setBusy(false);
|
||||||
npc.unblock();
|
npc.unblock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else if (stage == 0) {
|
} else if (stage == 0) {
|
||||||
if (action == QuestAction.TALKED_NPC) {
|
if (action == QuestAction.TALKED_NPC) {
|
||||||
@ -185,7 +247,10 @@ public class SheepShearer extends Quest {
|
|||||||
|
|
||||||
player.setBusy(true);
|
player.setBusy(true);
|
||||||
npc.blockedBy(player);
|
npc.blockedBy(player);
|
||||||
sendChat("Hello " + player.getUsername() + "!", npc, player);
|
sendChat("What are you still doing in my land?",
|
||||||
|
npc, player);
|
||||||
|
sendChat("Err.. nothing.", player, npc);
|
||||||
|
|
||||||
player.setBusy(false);
|
player.setBusy(false);
|
||||||
npc.unblock();
|
npc.unblock();
|
||||||
}
|
}
|
||||||
@ -198,7 +263,7 @@ public class SheepShearer extends Quest {
|
|||||||
npc.unblock();
|
npc.unblock();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sendChat("Thank you very much! As promised, here's your reward.", npc,
|
sendChat("I guess I did better pay you then.", npc,
|
||||||
player);
|
player);
|
||||||
|
|
||||||
player.incExp(12, REWARD_XP, false);
|
player.incExp(12, REWARD_XP, false);
|
||||||
|
Loading…
Reference in New Issue
Block a user