Masteria NPCs & Quests
Added more NPCs for the Phantom Woods and Crimsonwood areas. Enabled more quests on that area.
This commit is contained in:
61
scripts/quest/8219.js
Normal file
61
scripts/quest/8219.js
Normal file
@@ -0,0 +1,61 @@
|
||||
/* ===========================================================
|
||||
Ronan Lana
|
||||
NPC Name: Lukan
|
||||
Description: Quest - Storming the Castle
|
||||
=============================================================
|
||||
Version 1.0 - Script Done.(10/7/2017)
|
||||
=============================================================
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else{
|
||||
qm.sendOk("Okay, then. See you around.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("The time is now, kid. We have all the preparations complete to further research for why all these oddities have been happening lately. I also must introduce you to my brother, Jack. ");
|
||||
if (status == 1){
|
||||
qm.sendOk("He is currently wandering around the Crimsonwood Mountain, past the sinister Phantom Forest, in the track to the Crimsonwood Keep. Your next destination is there, may your journey be a safe one.");
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else{
|
||||
qm.sendOk("Okay, then. See you around.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendNext("Who are you? Oh, you came here by my brother John's stead? Great.");
|
||||
|
||||
else if (status == 1){
|
||||
qm.sendOk("It seems you helped the folks at the city at some errands, don't you? I shall appraise you nicely. Take a look on this: this is a map of the Phantom Forest, which I made myself after enough exploration. Take possession of that, and you #bwill be granted passage#k by paths other times undiscoverable. Remember well to #rnever lose it#k, you won't be having that again!\r\n\r\n#fUI/UIWindow.img/QuestIcon/4/0# \r\n#i3992040# #t3992040#\r\n\r\n#fUI/UIWindow.img/QuestIcon/8/0# 175000 EXP");
|
||||
}
|
||||
else if (status == 2){
|
||||
if(qm.canHold(3992040, 1)) {
|
||||
qm.gainItem(3992040, 1);
|
||||
qm.gainExp(175000 * qm.getPlayer().getExpRate());
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
else {
|
||||
qm.sendOk("Hey, you don't have a slot in your SETUP inventory for what I have to give to you. Solve that minor issue of yours then talk to me.");
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
30
scripts/quest/8223.js
Normal file
30
scripts/quest/8223.js
Normal file
@@ -0,0 +1,30 @@
|
||||
/* ===========================================================
|
||||
Ronan Lana
|
||||
NPC Name: Lukan
|
||||
Description: Quest - Storming the Castle
|
||||
=============================================================
|
||||
Version 1.0 - Script Done.(10/7/2017)
|
||||
=============================================================
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else{
|
||||
qm.sendOk("Okay, then. See you around.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("Oh, Jack sent you here? Good timing, I'm planning alongside Jack and others to storm the Keep and retake it from the Twisted Masters what is ours by right. You seem ready to fight alongside us, right?");
|
||||
if (status == 1){
|
||||
qm.sendOk("Great! Your mission now is to rack down some numbers of their army and weaken their defenses by all effects. Defeat 75 of each: Windraider, Firebrand and Nightshadow, then return to me to report.");
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
30
scripts/quest/8224.js
Normal file
30
scripts/quest/8224.js
Normal file
@@ -0,0 +1,30 @@
|
||||
/* ===========================================================
|
||||
Ronan Lana
|
||||
NPC Name: Taggrin
|
||||
Description: Quest - The Fallen Woods
|
||||
=============================================================
|
||||
Version 1.0 - Script Done.(10/7/2017)
|
||||
=============================================================
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else{
|
||||
qm.sendOk("Okay, then. See you around.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("Hey traveler, come here! I am Taggrin, leader of the Raven Ninja Clan. We are mercenaries currently under the payload of the New Leaf City county. Our job here is to hunt down those creatures that have been lurking around here these days. Are you interested to make a little errand for us? Of course, the pay off will be advantageous for both parties.");
|
||||
else if (status == 1){
|
||||
qm.sendOk("Ok. I need you to hunt down #bthose fake trees#k in the forest, and collect 50 of their drops as proof that you made your part on this.");
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
30
scripts/quest/8225.js
Normal file
30
scripts/quest/8225.js
Normal file
@@ -0,0 +1,30 @@
|
||||
/* ===========================================================
|
||||
Ronan Lana
|
||||
NPC Name: Taggrin
|
||||
Description: Quest - The Right Path
|
||||
=============================================================
|
||||
Version 1.0 - Script Done.(10/7/2017)
|
||||
=============================================================
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else{
|
||||
qm.sendOk("Okay, then. See you around.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("Hey, partner. Now that you make part of the Raven Claws team, I have a task for you. Are you up now?");
|
||||
else if (status == 1){
|
||||
qm.sendOk("Very well. To prove your valor among our ranks, you must first pass on a little challenge: you have to be able to move extraordinaly well around here, known of all secrets these woods holds. Trace a #bmap of the Phantom Forest#k, then come talk to me. I shall then evaluate if you're worth to be with us.");
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
30
scripts/quest/8226.js
Normal file
30
scripts/quest/8226.js
Normal file
@@ -0,0 +1,30 @@
|
||||
/* ===========================================================
|
||||
Ronan Lana
|
||||
NPC Name: Taggrin
|
||||
Description: Quest - The Right Path
|
||||
=============================================================
|
||||
Version 1.0 - Script Done.(10/7/2017)
|
||||
=============================================================
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else{
|
||||
qm.sendOk("Okay, then. See you around.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("Now that you are part of our team, listen to what I have to say. We, Raven Clan of Ninjas, are hired to take care of many issues, and to do so each one works on different sectors of the continent, solving problems for our employers. I'm about to talk about your mission, are you ready?");
|
||||
else if (status == 1){
|
||||
qm.sendOk("Your next mission is: defeat the Elderwraiths that roam this forest. These are a tough bunch though, so stay alert. I need you to bring me 100 #t4032010# as proof of your duty.");
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
59
scripts/quest/8227.js
Normal file
59
scripts/quest/8227.js
Normal file
@@ -0,0 +1,59 @@
|
||||
/* ===========================================================
|
||||
Ronan Lana
|
||||
NPC Name: Jack, John
|
||||
Description: Quest - Lost in Translation
|
||||
=============================================================
|
||||
Version 1.0 - Script Done.(10/7/2017)
|
||||
=============================================================
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else {
|
||||
qm.sendOk("Come on, the city really needs you cooperating on this one!");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("Hey buddy! Nice timing. There is this communique I've been able to swipe from the officials at the Keep, however it's information is encrypted. I have no use for this as it is like this. So, will you transport this to John and see if he can decode this?");
|
||||
else if (status == 1){
|
||||
if(qm.canHold(4032032, 1)) {
|
||||
qm.gainItem(4032032, 1);
|
||||
qm.sendOk("Very well, I'm counting on you on this one.");
|
||||
qm.forceStartQuest();
|
||||
} else {
|
||||
qm.sendOk("Hey. There's no slot on your ETC.");
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0){
|
||||
if(qm.haveItem(4032032, 1)) {
|
||||
qm.gainItem(4032032, -1);
|
||||
qm.sendOk("Oh you brought a letter from the Keep?! Neat! Let me check if I can decode that right now.");
|
||||
qm.forceCompleteQuest();
|
||||
} else {
|
||||
qm.sendOk("You don't brought the coded letter Jack said? Come on, kid, we need that to decipher our enemies' next step!");
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
64
scripts/quest/8228.js
Normal file
64
scripts/quest/8228.js
Normal file
@@ -0,0 +1,64 @@
|
||||
/* ===========================================================
|
||||
Ronan Lana
|
||||
NPC Name: John, Elpam
|
||||
Description: Quest - Lost in Translation
|
||||
=============================================================
|
||||
Version 1.0 - Script Done.(10/7/2017)
|
||||
=============================================================
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else {
|
||||
qm.sendOk("Come on, the city really needs you cooperating on this one!");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("Hm, that's no good. I can't seem to make these Hyper Glyphs work, dang it. ... Ah, yea, the outsider! He may know the language this paper is written on. Let Elpam try to read this, maybe he knows something.");
|
||||
else if (status == 1){
|
||||
if(qm.canHold(4032032, 1)) {
|
||||
qm.gainItem(4032032, 1);
|
||||
qm.sendOk("Very well, I'm counting on you on this one.");
|
||||
qm.forceStartQuest();
|
||||
} else {
|
||||
qm.sendOk("Hey. There's no slot on your ETC.");
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0){
|
||||
if(!qm.canHold(4032018, 1)) {
|
||||
qm.sendOk("I'm afraid you don't have a slot available on your ETC inventory.");
|
||||
}
|
||||
else if(qm.haveItem(4032032, 1)) {
|
||||
qm.gainItem(4032032, -1);
|
||||
qm.gainItem(4032018, 1);
|
||||
|
||||
qm.sendOk("Hello, native of this world. So you have a message that needs translation? My people back in Versal is known for mastering many foreign languages, this one may very well be some we know. Please stand by... Here, the translated transcript.");
|
||||
qm.forceCompleteQuest();
|
||||
} else {
|
||||
qm.sendOk("I'm afraid you don't have the letter you claimed to have with you.");
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
63
scripts/quest/8229.js
Normal file
63
scripts/quest/8229.js
Normal file
@@ -0,0 +1,63 @@
|
||||
/* ===========================================================
|
||||
Ronan Lana
|
||||
NPC Name: John, Jack
|
||||
Description: Quest - Lost in Translation
|
||||
=============================================================
|
||||
Version 1.0 - Script Done.(10/7/2017)
|
||||
=============================================================
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else {
|
||||
qm.sendOk("Come on, the city really needs you cooperating on this one!");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("I knew we could rely on the outsider on this matter! Now that we have the letter translated by him, head it to Jack, he knows what to do.");
|
||||
else if (status == 1){
|
||||
if(qm.haveItem(4032018, 1)) {
|
||||
qm.forceStartQuest();
|
||||
} else if (qm.canHold(4032018, 1)) {
|
||||
qm.gainItem(4032018, 1);
|
||||
qm.forceStartQuest();
|
||||
} else {
|
||||
qm.sendOk("Hey. There's no slot on your ETC.");
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0){
|
||||
if(qm.haveItem(4032018, 1)) {
|
||||
qm.sendOk("Oh, you brought it. Nicely done, the countermeasure process will be much easier now.\r\n\r\n#fUI/UIWindow.img/QuestIcon/4/0# \r\n\r\n#fUI/UIWindow.img/QuestIcon/8/0# 50000 EXP");
|
||||
} else {
|
||||
qm.sendOk("What's wrong? Why you didn't retrieved the translated message yet? Please bring me the letter's content for me to strategize a countermeasure ASAP.");
|
||||
qm.dispose();
|
||||
}
|
||||
} else if (status == 1){
|
||||
qm.gainItem(4032018, -1);
|
||||
qm.gainExp(50000 * qm.getPlayer().getExpRate());
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
47
scripts/quest/8230.js
Normal file
47
scripts/quest/8230.js
Normal file
@@ -0,0 +1,47 @@
|
||||
/* ===========================================================
|
||||
Ronan Lana
|
||||
NPC Name: Jack
|
||||
Description: Quest - Stemming the Tide
|
||||
=============================================================
|
||||
Version 1.0 - Script Done.(10/7/2017)
|
||||
=============================================================
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (mode != 1) {
|
||||
if(type == 1 && mode == 0)
|
||||
status -= 2;
|
||||
else{
|
||||
qm.sendOk("Okay, then. See you around.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("Hey, traveler! I need your help. A great threat is about to endanger the folks down there at the New Leaf City, the way I can see it right now. These creatures roaming around here suddenly... That can be no good. Care if you listen to what I have to say?");
|
||||
else if (status == 1) {
|
||||
qm.sendOk("That's the thing: the Twisted Masters, great figures that currently holds seize of the Crimsonwood Keep, have planned a large-scale attack to the New Leaf City, that may be happening on the next few days. I can't just stay here observing while they prepare for this attack. However, I can't just leave this position, I must keep an eye on their moves at all costs. There's where you enter: go find Lukan, knight of the past Crimsonwood Keep, that is currently wandering around the woods, and receive from him further orders, he knows what to do.");
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
status++;
|
||||
|
||||
if(status == 0) {
|
||||
if(qm.haveItem(3992041)) {
|
||||
qm.sendOk("Ah, you did accomplish the task I handed to you. Nicely done, now those guys are busy recovering from this offensive. Now, remember: #bthat key must be used to access#k the Inner Sanctum inside the Keep. Hold that with you at all times if you ever want to enter there.");
|
||||
qm.forceCompleteQuest();
|
||||
} else if(qm.getQuestStatus(8223) == 2) {
|
||||
qm.sendOk("You completed the mission but lost the key? That's bad, you NEED this key to enter the inner rooms of the Keep. Check out there with Lukan what you should be doing next, we need you inside the Keep.");
|
||||
} else {
|
||||
qm.sendOk("The folks back there on the city are counting on you on this one. Please hurry up.");
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user