Reactor Loot + Obstacles damage mob + Static calls from scripts
Revised starting AP, now working out with flags. To supply the 9AP shortage of 4/4/4/4, two options: one giving out 9 AP from the start, other giving 4/5 AP when changing jobs (1st, 2nd). This change would also work with the autoassign for beginners flag. Refactored several quest scripts, that would be glitching the player when doing quest start/complete and disposing under the same script status. Cleared some cases with the quest reward system where it would call out a "full inventory" even though new inventory slots could get discovered when doing the quest loot transaction. Fixed an issue with player stores being deployed overlapping in a few scenarios. Fixed reduced EXP gain from kills when triggering skill Mortal Blow. Added "open Duey" functionality when clicking "O" in the incoming package notification. Fixed packages without messages (a quirk from quick delivery) not accounting visually as a "quick" one. Fixed certain mounts (non-item skill mounts, such as Yeti or Spaceship) not showing up properly to other players when changing maps. Added handler for mob damage by environment objects (OrbisPQ jail storage area). Added a placeholder on mob's stolen items to prevent more steals to be placed as soon as the Steal mechanism is triggered. Patched boss logs not removing recent entries from the DB tables (the reset method is actually supposed to clear every entry). Revised a possible memory leak scenario happening due to an exception thrown midway monster kill method. Improved reactor drops, now placing loots visible for the acting player centered (similar as to how mob loots work). Refactored several issues in scripts, related to accessing static Java methods through an object, that would start appearing after transitioning to Java 8.
This commit is contained in:
@@ -31,7 +31,7 @@ var maxMapId = 108010101;
|
||||
|
||||
var eventTime = 20; //20 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -31,7 +31,7 @@ var maxMapId = 108010201;
|
||||
|
||||
var eventTime = 20; //20 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -33,7 +33,7 @@ var eventMaps = [923010000];
|
||||
|
||||
var eventTime = 5; //5 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -31,7 +31,7 @@ var maxMapId = 108010501;
|
||||
|
||||
var eventTime = 20; //20 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -31,7 +31,7 @@ var maxMapId = 108010401;
|
||||
|
||||
var eventTime = 20; //20 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -31,7 +31,7 @@ var maxMapId = 108010301;
|
||||
|
||||
var eventTime = 20; //20 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -30,7 +30,7 @@ var maxMapId = 912020000;
|
||||
|
||||
var eventTime = 2; //2 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -30,7 +30,7 @@ var maxMapId = 912010200;
|
||||
|
||||
var eventTime = 4; //4 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -30,7 +30,7 @@ var maxMapId = 912010200;
|
||||
|
||||
var eventTime = 4; //4 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -31,7 +31,7 @@ var maxMapId = 921110000;
|
||||
|
||||
var eventTime = 3; //3 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -31,7 +31,7 @@ var maxMapId = 914030000;
|
||||
|
||||
var eventTime = 3; //3 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -31,7 +31,7 @@ var maxMapId = 910520000;
|
||||
|
||||
var eventTime = 10; //10 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function setLobbyRange() {
|
||||
return lobbyRange;
|
||||
|
||||
@@ -35,7 +35,7 @@ var maxMapId = 925010300;
|
||||
|
||||
var eventTime = 6; // 6 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function init() {
|
||||
setEventRequirements();
|
||||
|
||||
@@ -36,7 +36,7 @@ var maxMapId = 922020100;
|
||||
|
||||
var eventTime = 20; // 20 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function init() {
|
||||
setEventRequirements();
|
||||
|
||||
@@ -33,7 +33,7 @@ var maxMapId = 914020000;
|
||||
|
||||
var eventTime = 10; // 10 minutes
|
||||
|
||||
var lobbyRange = [0, 0];
|
||||
var lobbyRange = [0, 7];
|
||||
|
||||
function init() {}
|
||||
|
||||
|
||||
@@ -57,8 +57,10 @@ function action(mode, type, selection) {
|
||||
if (cm.getPlayer().getGuildId() < 1 || cm.getPlayer().getGuildRank() != 1) {
|
||||
cm.sendOk("You can only increase your Guild's capacity if you are the leader.");
|
||||
cm.dispose();
|
||||
} else
|
||||
cm.sendYesNo("Increasing your Guild capacity by #b5#k costs #b " + cm.getPlayer().getGuild().getIncreaseGuildCost(cm.getPlayer().getGuild().getCapacity()) +" mesos#k, are you sure you want to continue?");
|
||||
} else {
|
||||
var MapleGuild = Java.type("net.server.guild.MapleGuild"); // thanks Conrad for noticing an issue due to call on a static method here
|
||||
cm.sendYesNo("Increasing your Guild capacity by #b5#k costs #b " + MapleGuild.getIncreaseGuildCost(cm.getPlayer().getGuild().getCapacity()) +" mesos#k, are you sure you want to continue?");
|
||||
}
|
||||
}
|
||||
} else if (status == 2) {
|
||||
if (sel == 0 && cm.getPlayer().getGuildId() <= 0) {
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
Marriage NPC
|
||||
*/
|
||||
|
||||
importPackage(Packages.net.server.channel);
|
||||
|
||||
var status;
|
||||
var wid;
|
||||
var isMarrying;
|
||||
@@ -176,7 +178,7 @@ function action(mode, type, selection) {
|
||||
if(resStatus > 0) {
|
||||
cm.gainItem((weddingType) ? weddingEntryTicketPremium : weddingEntryTicketCommon, -1);
|
||||
|
||||
var expirationTime = cserv.getRelativeWeddingTicketExpireTime(resStatus);
|
||||
var expirationTime = Channel.getRelativeWeddingTicketExpireTime(resStatus);
|
||||
cm.gainItem(weddingSendTicket,15,false,true,expirationTime);
|
||||
partner.getAbstractPlayerInteraction().gainItem(weddingSendTicket,15,false,true,expirationTime);
|
||||
|
||||
@@ -251,7 +253,7 @@ function action(mode, type, selection) {
|
||||
if(cm.canHold(weddingSendTicket, 3)) {
|
||||
cm.gainItem(5251100, -1);
|
||||
|
||||
var expirationTime = cserv.getRelativeWeddingTicketExpireTime(resStatus);
|
||||
var expirationTime = Channel.getRelativeWeddingTicketExpireTime(resStatus);
|
||||
cm.gainItem(weddingSendTicket,3,false,true,expirationTime);
|
||||
} else {
|
||||
cm.sendOk("Please have a free ETC slot available to get more invitations.");
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
Marriage NPC
|
||||
*/
|
||||
|
||||
importPackage(Packages.net.server.channel);
|
||||
|
||||
var status;
|
||||
var wid;
|
||||
var isMarrying;
|
||||
@@ -176,7 +178,7 @@ function action(mode, type, selection) {
|
||||
if(resStatus > 0) {
|
||||
cm.gainItem((weddingType) ? weddingEntryTicketPremium : weddingEntryTicketCommon, -1);
|
||||
|
||||
var expirationTime = cserv.getRelativeWeddingTicketExpireTime(resStatus);
|
||||
var expirationTime = Channel.getRelativeWeddingTicketExpireTime(resStatus);
|
||||
cm.gainItem(weddingSendTicket,15,false,true,expirationTime);
|
||||
partner.getAbstractPlayerInteraction().gainItem(weddingSendTicket,15,false,true,expirationTime);
|
||||
|
||||
@@ -251,7 +253,7 @@ function action(mode, type, selection) {
|
||||
if(cm.canHold(weddingSendTicket, 3)) {
|
||||
cm.gainItem(5251100, -1);
|
||||
|
||||
var expirationTime = cserv.getRelativeWeddingTicketExpireTime(resStatus);
|
||||
var expirationTime = Channel.getRelativeWeddingTicketExpireTime(resStatus);
|
||||
cm.gainItem(weddingSendTicket,3,false,true,expirationTime);
|
||||
} else {
|
||||
cm.sendOk("Please have a free ETC slot available to get more invitations.");
|
||||
|
||||
@@ -99,14 +99,14 @@ function action(mode, type, selection) {
|
||||
|
||||
if(status == 0) {
|
||||
if(!cm.isQuestStarted(100400)) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201023# the fairy of Love."); // thanks Periwinks (LuckyStory) for noticing Nana's introducing themselves as Nana (H)
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
nanaLoc = getNanaLocation(cm.getPlayer());
|
||||
if(nanaLoc == -1) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201023# the fairy of Love.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -99,14 +99,14 @@ function action(mode, type, selection) {
|
||||
|
||||
if(status == 0) {
|
||||
if(!cm.isQuestStarted(100400)) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201024# the fairy of Love.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
nanaLoc = getNanaLocation(cm.getPlayer());
|
||||
if(nanaLoc == -1) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201024# the fairy of Love.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -99,14 +99,14 @@ function action(mode, type, selection) {
|
||||
|
||||
if(status == 0) {
|
||||
if(!cm.isQuestStarted(100400)) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201025# the fairy of Love.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
nanaLoc = getNanaLocation(cm.getPlayer());
|
||||
if(nanaLoc == -1) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201025# the fairy of Love.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -99,14 +99,14 @@ function action(mode, type, selection) {
|
||||
|
||||
if(status == 0) {
|
||||
if(!cm.isQuestStarted(100400)) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201026# the fairy of Love.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
nanaLoc = getNanaLocation(cm.getPlayer());
|
||||
if(nanaLoc == -1) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201026# the fairy of Love.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -99,14 +99,14 @@ function action(mode, type, selection) {
|
||||
|
||||
if(status == 0) {
|
||||
if(!cm.isQuestStarted(100400)) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201027# the fairy of Love.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
nanaLoc = getNanaLocation(cm.getPlayer());
|
||||
if(nanaLoc == -1) {
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201001# the fairy of Love.");
|
||||
cm.sendOk("Hello #b#h0##k, I'm #p9201027# the fairy of Love.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -75,6 +75,7 @@ function writeFeatureTab_Quests() {
|
||||
addFeature("Rewarding system now looks up for item stacking.");
|
||||
addFeature("3rd job quiz with all 40-question pool available.");
|
||||
addFeature("Item raising functional.");
|
||||
addFeature("Cleared issue with player movement during NPC talk.");
|
||||
}
|
||||
|
||||
function writeFeatureTab_PlayerSocialNetwork() {
|
||||
@@ -295,7 +296,7 @@ function writeAllFeatures() {
|
||||
feature_cursor = [];
|
||||
|
||||
var tabName = (tabs[i]).replace(re, "");
|
||||
eval("writeFeatureTab_" + tabName)();
|
||||
this["writeFeatureTab_" + tabName]();
|
||||
|
||||
feature_tree.push(feature_cursor);
|
||||
}
|
||||
|
||||
@@ -1,46 +1,72 @@
|
||||
importPackage(Packages.tools);
|
||||
|
||||
function enter(pi) {
|
||||
var map = pi.getMap();
|
||||
var leverSequenceExit = false;
|
||||
|
||||
function enterLeverSequence(pi) {
|
||||
var map = pi.getMap();
|
||||
|
||||
var jailn = (pi.getMap().getId() / 10) % 10;
|
||||
var maxToggles = (jailn == 1) ? 7 : 6;
|
||||
|
||||
var mapProp = pi.getEventInstance().getProperty("jail" + jailn);
|
||||
|
||||
if(mapProp == null) {
|
||||
var seq = 0;
|
||||
|
||||
for(var i = 1; i <= maxToggles; i++) {
|
||||
if(Math.random() < 0.5) seq += (1 << i);
|
||||
}
|
||||
|
||||
pi.getEventInstance().setProperty("jail" + jailn, seq);
|
||||
mapProp = seq;
|
||||
var jailn = (pi.getMap().getId() / 10) % 10;
|
||||
var maxToggles = (jailn == 1) ? 7 : 6;
|
||||
|
||||
var mapProp = pi.getEventInstance().getProperty("jail" + jailn);
|
||||
|
||||
if(mapProp == null) {
|
||||
var seq = 0;
|
||||
|
||||
for(var i = 1; i <= maxToggles; i++) {
|
||||
if(Math.random() < 0.5) seq += (1 << i);
|
||||
}
|
||||
|
||||
mapProp = Number(mapProp);
|
||||
if(mapProp != 0) {
|
||||
var countMiss = 0;
|
||||
for(var i = 1; i <= maxToggles; i++) {
|
||||
if(!(pi.getMap().getReactorByName("lever" + i).getState() == (mapProp >> i) % 2)) {
|
||||
countMiss++;
|
||||
}
|
||||
|
||||
pi.getEventInstance().setProperty("jail" + jailn, seq);
|
||||
mapProp = seq;
|
||||
}
|
||||
|
||||
mapProp = Number(mapProp);
|
||||
if(mapProp != 0) {
|
||||
var countMiss = 0;
|
||||
for(var i = 1; i <= maxToggles; i++) {
|
||||
if(!(pi.getMap().getReactorByName("lever" + i).getState() == (mapProp >> i) % 2)) {
|
||||
countMiss++;
|
||||
}
|
||||
|
||||
if(countMiss > 0) {
|
||||
map.broadcastMessage(MaplePacketCreator.showEffect("quest/party/wrong_kor"));
|
||||
map.broadcastMessage(MaplePacketCreator.playSound("Party1/Failed"));
|
||||
|
||||
pi.playerMessage(5, "The right combination of levers is needed to pass. " + countMiss + " lever(s) are misplaced.");
|
||||
return false;
|
||||
}
|
||||
|
||||
map.broadcastMessage(MaplePacketCreator.showEffect("quest/party/clear"));
|
||||
map.broadcastMessage(MaplePacketCreator.playSound("Party1/Clear"));
|
||||
pi.getEventInstance().setProperty("jail" + jailn, "0");
|
||||
}
|
||||
|
||||
|
||||
if(countMiss > 0) {
|
||||
map.broadcastMessage(MaplePacketCreator.showEffect("quest/party/wrong_kor"));
|
||||
map.broadcastMessage(MaplePacketCreator.playSound("Party1/Failed"));
|
||||
|
||||
pi.playerMessage(5, "The right combination of levers is needed to pass. " + countMiss + " lever(s) are misplaced.");
|
||||
return false;
|
||||
}
|
||||
|
||||
map.broadcastMessage(MaplePacketCreator.showEffect("quest/party/clear"));
|
||||
map.broadcastMessage(MaplePacketCreator.playSound("Party1/Clear"));
|
||||
pi.getEventInstance().setProperty("jail" + jailn, "0");
|
||||
}
|
||||
|
||||
pi.playPortalSound(); pi.warp(pi.getMapId() + 2,0);
|
||||
return true;
|
||||
}
|
||||
|
||||
function enterNoMobs(pi) {
|
||||
var map = pi.getMap();
|
||||
var mobcount = map.countMonster(9300044);
|
||||
|
||||
if (mobcount > 0) {
|
||||
pi.playerMessage(5, "Please use the levers to defeat all the threats before you proceed.");
|
||||
return false;
|
||||
} else {
|
||||
pi.playPortalSound(); pi.warp(pi.getMapId() + 2,0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function enter(pi) {
|
||||
var ret;
|
||||
if (leverSequenceExit) {
|
||||
ret = enterLeverSequence(pi);
|
||||
} else {
|
||||
ret = enterNoMobs(pi);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -10,14 +10,15 @@ function start(mode, type, selection) {
|
||||
status++;
|
||||
else
|
||||
qm.dispose();
|
||||
if (status == 0)
|
||||
if (status == 0) {
|
||||
qm.sendAcceptDecline("Hello, #h0#. Welcome to Maple World. It's currently event season, and we're welcome new characters with a gift. Would you like your gift now?");
|
||||
else if (status == 1) {
|
||||
} else if (status == 1) {
|
||||
qm.sendOk("Open your inventory and double-click on it! These gifts will make you look stylish. Oh, one more thing! You'll get another gift at level 30. Good luck!");
|
||||
qm.forceStartQuest();
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainItem(2430191, 1, true);
|
||||
qm.sendOk("Open your inventory and double-click on it! These gifts will make you look stylish. Oh, one more thing! You'll get another gift at level 30. Good luck!");
|
||||
qm.dispose();
|
||||
} else if (status == 2) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,13 +44,16 @@ function start(mode, type, selection) {
|
||||
else if (status == 2)
|
||||
qm.sendAcceptDecline("Ah, I don't know if you are aware of this, but you won't find any monsters here in Ereve. Any form of evil will not be able to set foot on this island. Don't worry, you'll still have your opportunity to train here. Shinsoo created a fantasy creature called Mimi, which will be used as your training partners. Shall we begin?");
|
||||
else if (status == 3) {
|
||||
qm.forceStartQuest();
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.gainExp(60);
|
||||
qm.gainItem(2000020, 10); // Red Potion for Noblesse * 10
|
||||
qm.gainItem(2000021, 10); // Blue Potion for Noblesse * 10
|
||||
qm.gainItem(1002869, 1); // Elegant Noblesse Hat * 1
|
||||
|
||||
qm.sendOk("Ha, I like your enthusiasm, but you must prepare yourself for the training first before we start things off. Make sure that you are equipped with weapons, and that your skills are calibrated and ready to be used. I also gave you some potions, so have it ready just in case. Let me know when you're ready. You're going to wish that you didn't sign up to become a Cygnus Knight.");
|
||||
qm.forceStartQuest();
|
||||
qm.forceCompleteQuest();
|
||||
} else if (status == 4) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,17 +34,21 @@ function start(mode, type, selection) {
|
||||
if (mode < 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
if (mode > 0)
|
||||
else if (mode > 0)
|
||||
status++;
|
||||
if (status == 0)
|
||||
qm.sendSimple("Are you ready to take on a mission? If you can't pass this test, then you won't be able to call yourself a real Knight. Are you sure you can do this? If you are afraid to do this, let me know. I won't tell Neinheart. \r\n #L0#I'll try this later.#l \r\n #L1#I'm not afraid. Let's do this.#l");
|
||||
else if (selection == 0) {
|
||||
qm.sendNext("If you call yourself a Knight, then do not hesitate. Show everyone how much courage you have in you.");
|
||||
else if (status == 1) {
|
||||
if (selection == 0) {
|
||||
qm.sendNext("If you call yourself a Knight, then do not hesitate. Show everyone how much courage you have in you.");
|
||||
qm.dispose();
|
||||
} else if (selection == 1) {
|
||||
choice1 = selection;
|
||||
qm.sendSimple("I'm glad you didn't run away, but... are you sure you want to become a Knight-in-Training? What I am asking is whether you're okay with being a Cygnus Knight, and therefore being tied to the Empress at all times? She may be an Empress, but she's also still just a kid. Are you sure you can fight for her? I won't let Neinheart know so just tell me what you really feel. \r\n #L2#If the Empress wants peace in the Maple World, then I'm down for whatever.#l \r\n #L3#As long as I can become a knight I'll endure whatever #l");
|
||||
qm.forceStartQuest();
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
} else if (status == 2) {
|
||||
qm.dispose();
|
||||
} else if (selection == 1) {
|
||||
choice1 = selection;
|
||||
qm.sendSimple("I'm glad you didn't run away, but... are you sure you want to become a Knight-in-Training? What I am asking is whether you're okay with being a Cygnus Knight, and therefore being tied to the Empress at all times? She may be an Empress, but she's also still just a kid. Are you sure you can fight for her? I won't let Neinheart know so just tell me what you really feel. \r\n #L2#If the Empress wants peace in the Maple World, then I'm down for whatever.#l \r\n #L3#As long as I can become a knight I'll endure whatever #l");
|
||||
qm.forceStartQuest();
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
}
|
||||
@@ -50,9 +50,10 @@ function start(mode, type, selection) {
|
||||
} else if (status == 11) {
|
||||
qm.sendNextPrev("But no one starts as a strong Knight on day one. The Empress didn't want someone strong. She wanted someone with courage whom she could develop into a strong Knight through rigorous training. So, you should first become a Knight-in-Training. We'll talk about your missions when you get to that point.");
|
||||
} else if (status == 12) {
|
||||
qm.sendPrev("Take the portal on the left to reach the Training Forest. There, you will find #p1102000#, the Training Instructor, who will teach you how to become stronger. I don't want to find you wandering around aimlessly until you reach Lv. 10, you hear?");
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
qm.sendPrev("Take the portal on the left to reach the Training Forest. There, you will find #p1102000#, the Training Instructor, who will teach you how to become stronger. I don't want to find you wandering around aimlessly until you reach Lv. 10, you hear?");
|
||||
} else if (status == 13) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -39,9 +39,11 @@ function start(mode, type, selection) {
|
||||
if (status == 0)
|
||||
qm.sendAcceptDecline("Ahhh, you're back. I can see that you're at level 10 now. It looks like you're flashing a glimmer of hope towards becoming a Knight. The basic training has now ended, and it's time for you to make the decision.");
|
||||
else if (status == 1) {
|
||||
qm.sendOk("Now look to the left. The leaders of the Knights will be waiting for you. There will be 5 paths for you to choose from. All you need to do is choose one of them. All 5 of them will lead you to the path of a Knight, so... I suggest you pay attention to what each path offers, and select the one you'd most like to take.");
|
||||
qm.forceStartQuest();
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.sendOk("Now look to the left. The leaders of the Knights will be waiting for you. There will be 5 paths for you to choose from. All you need to do is choose one of them. All 5 of them will lead you to the path of a Knight, so... I suggest you pay attention to what each path offers, and select the one you'd most like to take.");
|
||||
} else if (status == 2) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -49,6 +49,7 @@ function end(mode, type, selection) {
|
||||
qm.sendNextPrev("Unlike your time as a Nobless, once you become the Dawn Warrior, you will lost a portion of your EXP when you run out of HP, okay?");
|
||||
} else if (status == 5) {
|
||||
qm.sendNextPrev("Now... I want you to go out there and show the world how the Knights of Cygnus operate.");
|
||||
qm.dispose();
|
||||
} else if (status == 6) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -49,6 +49,7 @@ function end(mode, type, selection) {
|
||||
qm.sendNextPrev("Unlike your time as a Nobless, once you become the Blaze Wizard, you will lost a portion of your EXP when you run out of HP, okay?");
|
||||
} else if (status == 5) {
|
||||
qm.sendNextPrev("Now... I want you to go out there and show the world how the Knights of Cygnus operate.");
|
||||
qm.dispose();
|
||||
} else if (status == 6) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -50,6 +50,7 @@ function end(mode, type, selection) {
|
||||
qm.sendNextPrev("Unlike your time as a Nobless, once you become the Wind Archer, you will lost a portion of your EXP when you run out of HP, okay?");
|
||||
} else if (status == 5) {
|
||||
qm.sendNextPrev("Now... I want you to go out there and show the world how the Knights of Cygnus operate.");
|
||||
qm.dispose();
|
||||
} else if (status == 6) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -50,6 +50,7 @@ function end(mode, type, selection) {
|
||||
qm.sendNextPrev("Unlike your time as a Nobless, once you become the Night Walker, you will lost a portion of your EXP when you run out of HP, okay?");
|
||||
} else if (status == 5) {
|
||||
qm.sendNextPrev("Now... I want you to go out there and show the world how the Knights of Cygnus operate.");
|
||||
qm.dispose();
|
||||
} else if (status == 6) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -49,6 +49,7 @@ function end(mode, type, selection) {
|
||||
qm.sendNextPrev("Unlike your time as a Nobless, once you become the Thunder Breaker, you will lost a portion of your EXP when you run out of HP, okay?");
|
||||
} else if (status == 5) {
|
||||
qm.sendNextPrev("Now... I want you to go out there and show the world how the Knights of Cygnus operate.");
|
||||
qm.dispose();
|
||||
} else if (status == 6) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -44,7 +44,9 @@ function start(mode, type, selection) {
|
||||
} else if (status == 1) {
|
||||
qm.startQuest();
|
||||
qm.completeQuest();
|
||||
|
||||
qm.sendOk("If you wish to take the Knighthood Exam, please come to Ereve. Each Chief Knight will test your abilities, and if you meet their standards, then you will officially become a Knight.");
|
||||
} else if (status == 2) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,19 +48,18 @@ function start(mode, type, selection) {
|
||||
nPSP = (qm.getPlayer().getLevel() - 70) * 3;
|
||||
if (qm.getPlayer().getRemainingSp() > nPSP) {
|
||||
qm.sendNext("You still have way too much #bSP#k with you. You can't earn a new title like that, I strongly urge you to use more SP on your 1st and 2nd level skills.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
if (!qm.canHold(1142068)) {
|
||||
qm.sendNext("If you wish to receive the medal befitting the title, you may want to make some room in your equipment inventory.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
qm.completeQuest();
|
||||
qm.gainItem(1142068, 1);
|
||||
qm.getPlayer().changeJob(Packages.client.MapleJob.DAWNWARRIOR3);
|
||||
qm.sendOk("#h #, as of this moment, you are an Advanced Knight. From this moment on, you shall carry yourself with dignity and respect befitting your new title, an Advanced Knight of Cygnus Knights. May your glory continue to shine as bright as this moment.");
|
||||
qm.completeQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,20 +48,18 @@ function start(mode, type, selection) {
|
||||
nPSP = (qm.getPlayer().getLevel() - 70) * 3;
|
||||
if (qm.getPlayer().getRemainingSp() > nPSP) {
|
||||
qm.sendNext("You still have way too much #bSP#k with you. You can't earn a new title like that, I strongly urge you to use more SP on your 1st and 2nd level skills.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
if (!qm.canHold(1142068)) {
|
||||
qm.sendNext("If you wish to receive the medal befitting the title, you may want to make some room in your equipment inventory.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
qm.completeQuest();
|
||||
qm.gainItem(1142068, 1);
|
||||
qm.getPlayer().changeJob(Packages.client.MapleJob.BLAZEWIZARD3);
|
||||
qm.sendOk("#h #, as of this moment, you are an Advanced Knight. From this moment on, you will train yourself with fervor as you will lead your group of Knights for the safety of this world. That fervor will provide you with plenty of courage.");
|
||||
qm.completeQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,20 +48,18 @@ function start(mode, type, selection) {
|
||||
nPSP = (qm.getPlayer().getLevel() - 70) * 3;
|
||||
if (qm.getPlayer().getRemainingSp() > nPSP) {
|
||||
qm.sendNext("You still have way too much #bSP#k with you. You can't earn a new title like that, I strongly urge you to use more SP on your 1st and 2nd level skills.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
if (!qm.canHold(1142068)) {
|
||||
qm.sendNext("If you wish to receive the medal befitting the title, you may want to make some room in your equipment inventory.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
qm.completeQuest();
|
||||
qm.gainItem(1142068, 1);
|
||||
qm.getPlayer().changeJob(Packages.client.MapleJob.WINDARCHER3);
|
||||
qm.sendOk("#h #, as of this moment, you are an Advanced Knight. From this moment on, you will be carrying a while lot of responsibility befitting your new title as an Advanced Knight of Cygnus Knights. You may view the world in a carefree mode, but please remember what your mission is.");
|
||||
qm.completeQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,20 +48,18 @@ function start(mode, type, selection) {
|
||||
nPSP = (qm.getPlayer().getLevel() - 70) * 3;
|
||||
if (qm.getPlayer().getRemainingSp() > nPSP) {
|
||||
qm.sendNext("You still have way too much #bSP#k with you. You can't earn a new title like that, I strongly urge you to use more SP on your 1st and 2nd level skills.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
if (!qm.canHold(1142068)) {
|
||||
qm.sendNext("If you wish to receive the medal befitting the title, you may want to make some room in your equipment inventory.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
qm.gainItem(1142068, 1);
|
||||
qm.getPlayer().changeJob(Packages.client.MapleJob.NIGHTWALKER3);
|
||||
qm.sendOk("#h #, from here on out, you are an Advanced Knight of Cygnus Knights. The title comes with a newfound broad view on everything. You may encounter temptations here and there, but I want you to keep your faith and beliefs intact and do not succumb to the darkness.");
|
||||
qm.completeQuest();
|
||||
qm.dispose();
|
||||
qm.sendOk("#h #, from here on out, you are an Advanced Knight of Cygnus Knights. The title comes with a newfound broad view on everything. You may encounter temptations here and there, but I want you to keep your faith and beliefs intact and do not succumb to the darkness.");
|
||||
}
|
||||
}
|
||||
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,20 +48,18 @@ function start(mode, type, selection) {
|
||||
nPSP = (qm.getPlayer().getLevel() - 70) * 3;
|
||||
if (qm.getPlayer().getRemainingSp() > nPSP) {
|
||||
qm.sendNext("You still have way too much #bSP#k with you. You can't earn a new title like that, I strongly urge you to use more SP on your 1st and 2nd level skills.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
if (!qm.canHold(1142068)) {
|
||||
qm.sendNext("If you wish to receive the medal befitting the title, you may want to make some room in your equipment inventory.");
|
||||
qm.dispose();
|
||||
} else {
|
||||
qm.gainItem(1142068, 1);
|
||||
qm.getPlayer().changeJob(Packages.client.MapleJob.THUNDERBREAKER3);
|
||||
qm.sendOk("#h #, from here on out, you will become an Advanced Knight of the Knights of Cygnus! As your standing rises, so does the difficulty of the tasks you will be receiving. But challenge is good, right? You have to enjoy life. Enjoy what's given to you!");
|
||||
qm.completeQuest();
|
||||
qm.dispose();
|
||||
qm.sendOk("#h #, from here on out, you will become an Advanced Knight of the Knights of Cygnus! As your standing rises, so does the difficulty of the tasks you will be receiving. But challenge is good, right? You have to enjoy life. Enjoy what's given to you!");
|
||||
}
|
||||
}
|
||||
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
importPackage(Packages.client);
|
||||
|
||||
var item;
|
||||
var stance;
|
||||
var status = -1;
|
||||
var item;
|
||||
|
||||
@@ -23,8 +22,7 @@ function end(mode, type, selection) {
|
||||
return;
|
||||
}
|
||||
|
||||
stance = qm.getPlayer().getJobStyle();
|
||||
|
||||
var stance = qm.getPlayer().getJobStyle();
|
||||
if(stance == Packages.client.MapleJob.WARRIOR) item = 1072003;
|
||||
else if(stance == Packages.client.MapleJob.MAGICIAN) item = 1072077;
|
||||
else if(stance == Packages.client.MapleJob.BOWMAN || stance == Packages.client.MapleJob.CROSSBOWMAN) item = 1072081;
|
||||
@@ -34,11 +32,13 @@ function end(mode, type, selection) {
|
||||
|
||||
qm.gainItem(item, 1);
|
||||
qm.gainItem(4000007, -150);
|
||||
|
||||
qm.gainExp(2200);
|
||||
qm.completeQuest();
|
||||
|
||||
qm.sendOk("Alright, if you need work sometime down the road, feel free to come back and see me. This town sure can use a person like you for help~");
|
||||
}
|
||||
|
||||
else if (status == 2) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,6 +44,7 @@ function start(mode, type, selection) {
|
||||
qm.forceStartQuest();
|
||||
qm.forceCompleteQuest();
|
||||
qm.sendOk("There's a special mount that only the Cygnus Knights can enjoy. If you are interested, visit #bEreve#k. I will give you more information on it.");
|
||||
qm.dispose();
|
||||
}
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -54,6 +54,7 @@ function start(mode, type, selection) {
|
||||
qm.forceStartQuest();
|
||||
if(!qm.haveItem(4220137)) qm.gainItem(4220137);
|
||||
qm.sendOk("Mimiana's egg can be raised by #bsharing your daily experiences with it#k. Once Mimiana fully grows up, please come see me.");
|
||||
} else if (status == 4) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -70,17 +71,15 @@ function end(mode, type, selection) {
|
||||
} else if (status == 1) { //pretty sure there would need to have an egg EXP condition... Whatever.
|
||||
if(!qm.haveItem(4220137)) {
|
||||
qm.sendOk("I see, you lost your egg... You need to be more careful when raising a baby Mimiana!");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
qm.sendOk("Oh, were you able to awaken Mimiana Egg? That's amazing... Most knights can't even dream of awakening it in such a short amount of time.");
|
||||
|
||||
qm.forceCompleteQuest();
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainItem(4220137, -1);
|
||||
qm.gainExp(37600);
|
||||
|
||||
qm.dispose();
|
||||
qm.sendOk("Oh, were you able to awaken Mimiana Egg? That's amazing... Most knights can't even dream of awakening it in such a short amount of time.");
|
||||
} else if (status == 2) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ function start(mode, type, selection) {
|
||||
|
||||
if(!qm.haveItem(4220137)) qm.gainItem(4220137);
|
||||
qm.sendOk("Mimiana's egg can be raised by #bsharing your daily experiences with it#k. Once Mimiana fully grows up, please come see me. One more thing, I talked with #p2060005# beforehand and retrieved the #b#t4032117##k for you. The price to charge remains the same: #r10,000,000 mesos#k.");
|
||||
} else if (status == 4) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -80,14 +81,13 @@ function end(mode, type, selection) {
|
||||
return;
|
||||
}
|
||||
|
||||
qm.sendOk("Okay, you now may mount Mimiana again. Take good care of it this time.");
|
||||
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainItem(1902005, 1);
|
||||
qm.gainItem(4220137, -1);
|
||||
qm.gainMeso(-10000000);
|
||||
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
qm.sendOk("Okay, you now may mount Mimiana again. Take good care of it this time.");
|
||||
} else if (status == 2) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,12 +38,12 @@ function start(mode, type, selection) {
|
||||
var mount = qm.getPlayer().getMount();
|
||||
|
||||
if(mount != null && mount.getLevel() >= 3) {
|
||||
qm.sendNext("Alright, I'll get you started in how to train Mimio, the next step for Mimianas. When you're ready, talk to me again.");
|
||||
qm.forceCompleteQuest();
|
||||
qm.sendNext("Alright, I'll get you started in how to train Mimio, the next step for Mimianas. When you're ready, talk to me again.");
|
||||
} else {
|
||||
qm.sendNext("It looks like your Mimiana haven't reached #rlevel 3#k yet. Please train it a bit more before trying to advance it.");
|
||||
}
|
||||
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ function start(mode, type, selection) {
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendAcceptDecline("#h0#. Have you been slacking off on training since reaching Level 100? We all know how powerful you are, but the training is not complete. Take a look at these Knight Commanders. They train day and night, preparing themselves for the possible encounter with the Black Mage.");
|
||||
} else {
|
||||
} else if (status == 1) {
|
||||
if (mode == 1) {
|
||||
qm.forceStartQuest();
|
||||
}
|
||||
|
||||
@@ -14,8 +14,10 @@ function start(mode, type, selection) {
|
||||
qm.sendOk("Well, what you're doing right now doesn't make you look like someone that's humble. You just look complacent by doing that, and that's never a good thing.");
|
||||
} else {
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
qm.dispose();
|
||||
} else if (status == 2) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -48,8 +48,9 @@ function start(mode, type, selection) {
|
||||
} else if (status == 4) {
|
||||
qm.forceStartQuest();
|
||||
qm.sendOk("My brother #bPuir #kis just down the street, and he's been dying to meet you! I know you're busy, but could you please stop by and say hello to Puir? Please...");
|
||||
} else if (status == 5) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
@@ -83,7 +84,7 @@ function end(mode, type, selection) {
|
||||
qm.sendNext("#b(Your skills are nowhere close to being hero-like... But a sword? Have you ever even held a sword in your lifetime? You can't remember... How do you even equip it?)", 3);
|
||||
}else
|
||||
qm.dropMessage(1,"Your inventory is full");
|
||||
} else if (status == 6) {
|
||||
} else if (status == 6) {
|
||||
qm.guideHint(16);
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
@@ -71,14 +71,16 @@ function end(mode, type, selection) {
|
||||
if(qm.isQuestCompleted(21012))
|
||||
qm.dropMessage(1,"Unknown Error");
|
||||
else if(qm.canHold(2000022) && qm.canHold(2000023)){
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(57);
|
||||
qm.gainItem(2000022, 10);
|
||||
qm.gainItem(2000023, 10);
|
||||
qm.forceCompleteQuest();
|
||||
qm.sendOk("#b(Even if you're really the hero everyone says you are... What good are you without any skills?)", 3);
|
||||
qm.dispose();
|
||||
}else
|
||||
} else {
|
||||
qm.dropMessage(1,"Your inventory is full");
|
||||
qm.dispose();
|
||||
qm.dispose();
|
||||
}
|
||||
} else if (status == 2) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -73,7 +73,7 @@ function end(mode, type, selection) {
|
||||
qm.gainItem(4032309, -1);
|
||||
qm.gainItem(4032310, -1);
|
||||
qm.gainItem(3010062, 1);
|
||||
qm.sendNextPrev("Here, a fully-assembled chair, just for you! I've always wanted to give you a chair as a gift, because I know a hero can occasionally use some good rest. Tee hee.", 9);
|
||||
qm.sendNext("Here, a fully-assembled chair, just for you! I've always wanted to give you a chair as a gift, because I know a hero can occasionally use some good rest. Tee hee.", 9);
|
||||
} else if (status == 2) {
|
||||
qm.sendNext("A hero is not invincible. A hero is human. I'm sure you will face challenges and even falter at times. But you are a hero because you have what it takes to overcome any obstacles you may encounter.", 9);
|
||||
} else if (status == 3) {
|
||||
|
||||
@@ -31,6 +31,7 @@ function start(mode, type, selection) {
|
||||
qm.sendOk("If the #p1201001# reacts to you, then we'll know that you're #bAran#k, the hero that wielded a #p1201001#.", 8);
|
||||
qm.showIntro("Effect/Direction1.img/aranTutorial/ClickPoleArm");
|
||||
}
|
||||
qm.dispose();
|
||||
}
|
||||
} else if (status == 8) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -35,6 +35,7 @@ function start(mode, type, selection) {
|
||||
qm.sendAcceptDecline("How is the training going? Wow, you've reached such a high level! That's amazing. I knew you would do just fine on Victoria Island... Oh, look at me. I'm wasting your time. I know you're busy, but you'll have to return to the island for a bit.");
|
||||
else if(status == 1){
|
||||
qm.sendOk("Your #b#p1201001##k in #b#m140000000##k is acting strange all of a sudden. According to the records, the Polearm acts this way when it is calling for its master. #bPerhaps it's calling for you#k. Please return to the island and check things out.");
|
||||
} else if(status == 2){
|
||||
qm.startQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
@@ -60,7 +60,6 @@ function end(mode, type, selection) {
|
||||
if(!qm.isQuestCompleted(21201)) {
|
||||
if(!qm.canHold(1142130)) {
|
||||
qm.sendOk("Wow, your #bequip#k inventory is full. I need you to make at least 1 empty slot to complete this quest."); // thanks MedicOP for finding an issue here
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -78,6 +77,7 @@ function end(mode, type, selection) {
|
||||
}
|
||||
|
||||
qm.sendNext("Your level isn't what it used to be back in your glory days, so I can't restore all of your old abilities. But the few I can restore should help you level up faster. Now hurry up and train so you can return to the old you.");
|
||||
} else if (status == 9) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ function start(mode, type, selection) {
|
||||
qm.sendAcceptDecline("I'm too old to make weapons now, but.. I do have a Polearm that I made way back when. It's still in excellent shape. But I can't give it to you because that Polearm is extremely sharp, so sharp it could hurt its master. Do you still want it?");
|
||||
} else if(status == 5) {
|
||||
qm.sendOk("Well, if you say so.. I can't object to that. I'll tell you what. I'll give you a quick test, and if you pass it, the Giant Polearm is yours. Head over to the #bTraining Center#k and take on the #rScarred Bears#k that are there. Your job is to bring back #b30 Sign of Acceptances#k.");
|
||||
} else {
|
||||
} else if(status == 6) {
|
||||
qm.startQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
@@ -24,15 +24,30 @@
|
||||
*/
|
||||
|
||||
function end(mode, type, selection) {
|
||||
|
||||
if(!qm.haveItem(4031619, 1)) {
|
||||
qm.sendOk("Please bring me the box with the supplies that lies with #b#p2012019##k...");
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
if(!qm.haveItem(4031619, 1)) {
|
||||
qm.sendOk("Please bring me the box with the supplies that lies with #b#p2012019##k...");
|
||||
}
|
||||
else {
|
||||
qm.gainItem(4031619, -1);
|
||||
qm.sendOk("Oh, you brought #p2012019#'s box! Thank you.");
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
else {
|
||||
qm.gainItem(4031619, -1);
|
||||
qm.sendOk("Oh, you brought #p2012019#'s box! Thank you.");
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
@@ -24,15 +24,30 @@
|
||||
*/
|
||||
|
||||
function end(mode, type, selection) {
|
||||
|
||||
if(!qm.haveItem(4031619, 1)) {
|
||||
qm.sendOk("Please bring me the box with the supplies that lies with #b#p2012019##k...");
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
if(!qm.haveItem(4031619, 1)) {
|
||||
qm.sendOk("Please bring me the box with the supplies that lies with #b#p2012019##k...");
|
||||
}
|
||||
else {
|
||||
qm.gainItem(4031619, -1);
|
||||
qm.sendOk("Oh, you brought #p2012019#'s box! Thank you.");
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
else {
|
||||
qm.gainItem(4031619, -1);
|
||||
qm.sendOk("Oh, you brought #p2012019#'s box! Thank you.");
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
@@ -24,8 +24,24 @@
|
||||
*/
|
||||
|
||||
function end(mode, type, selection) {
|
||||
qm.sendOk("I see you're ready for the task. Now, pay heed to the details of your mission...");
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.dispose();
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendOk("I see you're ready for the task. Now, pay heed to the details of your mission...");
|
||||
qm.forceCompleteQuest();
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,13 +11,14 @@ function start(mode, type, selection) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("How's the training going? Hmmm... Level 70... That's still not much, but you have really made some strides since the first time I met you fresh out of ice. Keep training, and I am sure one day you'll be able to regain your pre-battle form.");
|
||||
if (status == 0) {
|
||||
qm.sendNext("How's the training going? Hmmm... Level 70... That's still not much, but you have really made some strides since the first time I met you fresh out of ice. Keep training, and I am sure one day you'll be able to regain your pre-battle form.");
|
||||
} else if (status == 1) {
|
||||
qm.sendAcceptDecline("But before doing that, I'll need you back in Rein for a bit. #bYour pole arm is reacting strange once again. It looks like it has something it wants to tell you. #kIt might be able to awaken your hidden powers, so please come immediately.");
|
||||
} else if (status == 2) {
|
||||
qm.sendOk("Anyway, I thought it was really something that a weapon has its own identity, but seriously... this weapon does not stop talking. It first kept on crying because I wasn't really paying attention to its needs, and... ahh, please keep this a secret from the pole arm. I don't think it's a good idea to upset the weapon any further.");
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
qm.sendAcceptDecline("But before doing that, I'll need you back in Rein for a bit. #bYour pole arm is reacting strange once again. It looks like it has something it wants to tell you. #kIt might be able to awaken your hidden powers, so please come immediately.");
|
||||
} else if (status == 2) {
|
||||
qm.forceStartQuest();
|
||||
qm.sendOk("Anyway, I thought it was really something that a weapon has its own identity, but seriously... this weapon does not stop talking. It first kept on crying because I wasn't really paying attention to its needs, and... ahh, please keep this a secret from the pole arm. I don't think it's a good idea to upset the weapon any further.");
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -24,8 +24,9 @@ function end(mode, type, selection) {
|
||||
} else if (status == 5) {
|
||||
qm.sendNextPrev("...No hope, no dreams... Nooooo!!");
|
||||
} else if (status == 6) {
|
||||
qm.sendNextPrev("#b(Maha is beginning to really get hysterical. I better leave right this minute. Maybe Lirin can do something about it.)", 2);
|
||||
qm.completeQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
qm.sendNextPrev("#b(Maha is beginning to really get hysterical. I better leave right this minute. Maybe Lilin can do something about it.)", 2);
|
||||
} else if (status == 7) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -59,6 +59,7 @@ function end(mode, type, selection) {
|
||||
}
|
||||
|
||||
qm.sendNext("Come on, keep training so you can get all your abilities back, and that way we can explore together once more!");
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -14,8 +14,9 @@ function start(mode, type, selection) {
|
||||
if (status == 0) {
|
||||
qm.sendAcceptDecline("How is the training going? I know you're busy, but please come to #bRien#k immediately. The #bMaha#k has started to act weird again... But its even weirder now. It's different from before. It's... darker than usual.");
|
||||
} else if (status == 1) {
|
||||
qm.sendOk("I have a bad feeling about this. Please come back here. I've never seen or herd Maha like this, but I can sense the suffering its going through. #bOnly you, the master of Maha, can do something about it!");
|
||||
qm.startQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
qm.startQuest();
|
||||
qm.sendOk("I have a bad feeling about this. Please come back here. I've never seen or herd Maha like this, but I can sense the suffering its going through. #bOnly you, the master of Maha, can do something about it!");
|
||||
} else if (status == 2) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -68,7 +68,9 @@ function end(mode, type, selection) {
|
||||
qm.completeQuest();
|
||||
}
|
||||
qm.sendNext("Your skills have been restored. Those skills have been dormant for so long that you'll have to re-train yourself, but you'll be as good as new once you complete your training.");
|
||||
}
|
||||
} else if(status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function spawnMob(x, y, id, map) {
|
||||
|
||||
@@ -1,9 +1,26 @@
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
qm.sendNext("Some bats seems to accompany this tree wherever it goes. Creepy...");
|
||||
qm.forceCompleteQuest();
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Some bats seems to accompany this tree wherever it goes. Creepy...");
|
||||
qm.forceCompleteQuest();
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
function end(mode, type, selection) {
|
||||
qm.dispose();
|
||||
|
||||
@@ -1,10 +1,28 @@
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
qm.sendNext("It is said that a old tree gets alive whenever something sinister disturbs this land... We need a hero that fends our village of that creature!");
|
||||
qm.forceCompleteQuest();
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("It is said that a old tree gets alive whenever something sinister disturbs this land... We need a hero that fends our village of that creature!");
|
||||
qm.forceCompleteQuest();
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
qm.dispose();
|
||||
}
|
||||
@@ -1,10 +1,28 @@
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
qm.sendNext("The tree has a scarf upon its branches, I tell you.");
|
||||
qm.forceCompleteQuest();
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("The tree has a scarf upon its branches, I tell you.");
|
||||
qm.forceCompleteQuest();
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
qm.dispose();
|
||||
}
|
||||
@@ -1,10 +1,28 @@
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
qm.sendNext("The tree has a strange carving that resembles a scary face.");
|
||||
qm.forceCompleteQuest();
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("The tree has a strange carving that resembles a scary face.");
|
||||
qm.forceCompleteQuest();
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
qm.dispose();
|
||||
}
|
||||
@@ -1,10 +1,28 @@
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
qm.sendNext("That tree... I've heard of it before, I even studied its behavior! If I recall correctly, the #bStumpy#k comes alive when the soil deems infertile by some sort of magic, and those stumps who evolves under these conditions starts to drain these suspicious magical sources instead of water and minerals for living, which makes them very threathening to people and villages nearby.");
|
||||
qm.forceCompleteQuest();
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("That tree... I've heard of it before, I even studied its behavior! If I recall correctly, the #bStumpy#k comes alive when the soil deems infertile by some sort of magic, and those stumps who evolves under these conditions starts to drain these suspicious magical sources instead of water and minerals for living, which makes them very threathening to people and villages nearby.");
|
||||
qm.forceCompleteQuest();
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
qm.dispose();
|
||||
}
|
||||
@@ -39,9 +39,9 @@ function start(mode, type, selection) {
|
||||
} else if (status == 1) {
|
||||
qm.sendAcceptDecline("Picked your interest, huh? Very well, first you must make your way to #bAqua#k, there is a person there who makes #rfood for wolf cubs#k. Bring one portion to me, and I shall deem you able to tame and take care of one. What do you say, will you try for it?");
|
||||
} else if (status == 2) {
|
||||
qm.sendNext("Alright. The one you must meet is #bNanuke#k, she is on top of a #rsnowy whale#k, somewhere in the ocean. Good luck!");
|
||||
qm.forceStartQuest();
|
||||
|
||||
qm.sendNext("Alright. The one you must meet is #bNanuke#k, she is on top of a #rsnowy whale#k, somewhere in the ocean. Good luck!");
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,6 @@ function start(mode, type, selection) {
|
||||
var em = qm.getEventManager("Aran_3rdmount");
|
||||
if (em == null) {
|
||||
qm.sendOk("Sorry, but the 3rd mount quest (Wolves) is closed.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
@@ -54,9 +53,9 @@ function start(mode, type, selection) {
|
||||
} else {
|
||||
qm.forceStartQuest();
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
} else if (status == 4) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,11 +71,12 @@ function end(mode, type, selection) {
|
||||
}
|
||||
|
||||
qm.sendNext("Step aside, behold the mighty prowess of Maha!!");
|
||||
} else {
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.gainItem(1902017, -1);
|
||||
qm.gainItem(1902018, 1);
|
||||
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,8 +33,9 @@ function start(mode, type, selection) {
|
||||
qm.forceStartQuest();
|
||||
}
|
||||
} else if (status == 6) {
|
||||
qm.sendPrev("You'll find a Training Center if you exit to the #bleft#k. There, you'll meet #b#p1202006##k. I'm a bit worried because I think he may be struggling with bouts of Alzheimer's, but he spent a long time researching skills to help you. I'm sure you'll learn a thing or two from him.");
|
||||
qm.dispose();
|
||||
qm.sendPrev("You'll find a Training Center if you exit to the #bleft#k. There, you'll meet #b#p1202006##k. I'm a bit worried because I think he may be struggling with bouts of Alzheimer's, but he spent a long time researching skills to help you. I'm sure you'll learn a thing or two from him.");
|
||||
} else if (status == 7) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ function start(mode, type, selection) {
|
||||
} else if (status == 7) {
|
||||
qm.forceStartQuest();
|
||||
qm.sendOk("Now go and take on those monstrous #o9300343#s!");
|
||||
} else if (status == 8) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -70,6 +71,7 @@ function end(mode, type, selection) {
|
||||
qm.sendNext("(You remembered the #bCombo Ability#k skill! You were skeptical of the training at first, since the old man suffers from Alzheimer's and all, but boy, was it effective!)", 2);
|
||||
} else if (status == 4) {
|
||||
qm.sendPrev("Now report back to #p1201000#. I know she'll be ecstatic when she sees the progress you've made!");
|
||||
} else if (status == 5) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,8 @@ function start(mode, type, selection) {
|
||||
qm.sendNext("I wonder what triggered this in the first place. There is no way this puppet was naturally created, which means someone planned this. I should keep an eye on the #o1210102#s.", 9);
|
||||
} else if (status == 3) {
|
||||
qm.sendPrev("#b(You were able to find out what caused the changes in the #o1210102#s. You should report to #p1002104# and deliver the information you've gathered.)#k", 2);
|
||||
qm.dispose();
|
||||
} else if (status == 4) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ function end(mode, type, selection) {
|
||||
qm.gainExp(200);
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ function end(mode, type, selection) {
|
||||
qm.sendNext("Aran, thank you very much! Somehow the Puppeteer managed to bypass the security of Lith Harbor. He was trying to seek revenge because of the other day. Luckily, you came by. Nicely done!");
|
||||
} else if(status == 1) {
|
||||
qm.sendNext("I will teach you the #rPolearm Mastery#k skill, to reward your actions here. You will be able to improve your accuracy and the overall mastery of your polearm arts.");
|
||||
} else {
|
||||
} else if(status == 2) {
|
||||
qm.gainExp(8000);
|
||||
qm.teachSkill(21100000, 0, 20, -1); // polearm mastery
|
||||
|
||||
|
||||
@@ -63,11 +63,12 @@ function end(mode, type, selection) {
|
||||
qm.sendNext("They were after the #bcrystal seal of Victoria#k. These seals are what repels the Black Mage to further taking the continents into his grasp at once. Each continent has one, Victoria's now is safe and sound.");
|
||||
} else if(status == 2) {
|
||||
qm.sendNext("For your bravery inputted on these series of missions, I will now reward you properly. Behold, the #rCombo Drain#k Skill: that let's you heal back a portion of damage dealt to the monsters.");
|
||||
} else {
|
||||
} else if(status == 3) {
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.gainExp(12500);
|
||||
qm.teachSkill(21100005, 0, 20, -1); // combo drain
|
||||
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ function start(mode, type, selection) {
|
||||
qm.sendNextPrev("It seems like something strange is happening in Orbis in Ossyria. It's a bit different from when we were dealing with the puppeteer, but my instincts tell me it has to do with the Black Wings. Please head over to Orbis.");
|
||||
} else if(status == 3) {
|
||||
qm.sendAcceptDecline("#bLisa the Fairy#k in Orbis should know a thing or two. Go see Lisa first, she knows someone that knows the whereabouts of the sealing stone. That person #rwill require a password from you#k, when requested use the #bThere's something strange going on in Orbis....#k keyword to talk to her. Understood?");
|
||||
} else {
|
||||
} else if(status == 4) {
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ function start(mode, type, selection) {
|
||||
qm.sendAcceptDecline("I can't tell you about Sealed Garden. If you want to find out, I must first see whether you are worthy of the information. Do you mind if I look into your fate?", 9);
|
||||
} else if (status == 7) {
|
||||
qm.sendOk("Well, now let's look into your fate. Give me a second.");
|
||||
} else {
|
||||
} else if (status == 8) {
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
@@ -36,9 +36,9 @@ function end(mode, type, selection) {
|
||||
|
||||
if(status == 0) {
|
||||
qm.sendNext("So, have you defeated the giant? Oh, a Black Wing agent undercover? And he GOT THE SEAL STONE OF ORBIS?! Oh, no. That's horrible! We need to develop countermeasures as soon as possible! Tell the informant on Lith about the situation.");
|
||||
} else {
|
||||
qm.gainExp(29500);
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(29500);
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,10 +61,9 @@ function end(mode, type, selection) {
|
||||
qm.sendNext("Oh, hi #h0#! You won't believe what I just uncovered. It's one of your lost skills... What, the seal of Orbis got stolen by the Black Wings? Oh my...");
|
||||
} else if(status == 1) {
|
||||
qm.sendNext("For now, let me teach you the #bCombo Smash#k, with it you will be able to deal massive amount of damage to many monsters at once. We will need to use it if we want to stand a chance against the Black Wings now, so don't forget it!");
|
||||
} else {
|
||||
qm.teachSkill(21100004, 0, 20, -1); // combo smash
|
||||
|
||||
} else if(status == 2) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.teachSkill(21100004, 0, 20, -1); // combo smash
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,9 +38,9 @@ function start(mode, type, selection) {
|
||||
qm.sendNext("Have you been advancing your levels? I found an interesting piece of information about the Black Wings. This time, you'll have to travel quite a bit. Do you know a town called #bMu Lung#k? You'll have to head there.");
|
||||
} else if (status == 1) {
|
||||
qm.sendAcceptDecline("Apparently, #bMr. Do#k in Mu Lung somehow met with the Black Wings. I don't know the details. Please go and find out why the Black Wings contacted Mr. Do and what exactly happened between them.");
|
||||
} else {
|
||||
} else if (status == 2) {
|
||||
qm.sendNext("Mr. Do is known to be curt, so you are going to have to remain patient while talking to him. Talk to him with the #bI heard you met the Shadow Knight of the Black Wings#k keyword.");
|
||||
|
||||
} else if (status == 3) {
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
@@ -38,9 +38,9 @@ function start(mode, type, selection) {
|
||||
qm.sendNext("So we have lost #btwo seal stones#k so far, from the neighboring areas of #rOrbis#k and #rMu Lung#k... Things are starting to get out of control, it seems.");
|
||||
} else if (status == 1) {
|
||||
qm.sendNext("Aran, your next objective will be to use the #btime gate to Ellin#k again. This time you will be retrieving the long lost #rSeal Stone of Ellin Forest#k. According to informations our network have gathered, #b#p2131002##k of that time have a clue about that gem, #rfind her#k. Please be successful on this task, our world is relying on you more than ever!");
|
||||
} else {
|
||||
qm.gainExp(500);
|
||||
} else if (status == 2) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(500);
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ function end(mode, type, selection) {
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Aran, you're finally back!!! How you've been doing? Where did you go for so long? We have so much to catch up...");
|
||||
} else {
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
@@ -38,8 +38,8 @@ function start(mode, type, selection) {
|
||||
qm.sendNext("Aran, I've discovered some disturbing news... You said you've come from the eastern forest section, right? We traced and studied the magic being used to support the portal over there. It turns out that's of a #rtemporal#k-type. The garments you're using... They were never seen around before. That must mean, #ryou must have come from the future#k.");
|
||||
} else if (status == 1) {
|
||||
qm.sendNext("Now about the problem: the Seal Stone that seems to have been missing in your timeline... It is a powerful artifact, that prevents the army of the #rBlack Mage#k from laying siege on our world. If that stone goes away, nothing more can prevent him. As this is a matter of great importance, find the #rself of mine#k from the future. I'm actually a #rfairy#k with a great life expectancy, I must be alive even on your timeline. Got it, #rfetch the me from the future#k!");
|
||||
} else if (status == 2) {
|
||||
qm.forceStartQuest();
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,11 +36,10 @@ function end(mode, type, selection) {
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Oh, a letter for the #rempress#k? From the #bheroes#k?!");
|
||||
} else {
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(1000);
|
||||
qm.gainItem(4032330, -1);
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,14 +10,14 @@ function start(mode, type, selection) {
|
||||
qm.sendNext("I have a feeling there is a secret behind that wooden box. Could you stealthily look into the wooden box next to #p20000#?");
|
||||
} else if (status == 3) {
|
||||
qm.sendNext("You know where #p20000# is, right? He's to the right. Just keep going until you see where Vikin is, then head down past the hanging shark and octopus, and you''ll see John. The box should be right next to him.");
|
||||
} else {
|
||||
} else if (status == 4) {
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
qm.gainExp(200);
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(200);
|
||||
qm.dispose();
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
var status = -1;
|
||||
var canStart;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
@@ -8,12 +9,20 @@ function start(mode, type, selection) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
canStart = qm.canHold(4032423, 1);
|
||||
if(!canStart) {
|
||||
qm.sendNext("Please open a slot in your ETC inventory first.");
|
||||
return;
|
||||
}
|
||||
|
||||
qm.sendNext("#bHm, there's a medicinal substance in the box. What could this be? You better take this to John and ask him what it is.#k");
|
||||
} else {
|
||||
qm.gainItem(4032423,1);
|
||||
|
||||
qm.forceStartQuest();
|
||||
} else if (status == 1) {
|
||||
if(canStart) {
|
||||
qm.gainItem(4032423,1);
|
||||
qm.forceStartQuest();
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -4,37 +4,53 @@
|
||||
*/
|
||||
|
||||
function end(mode, type, selection){
|
||||
if(!qm.isQuestCompleted(2186)) {
|
||||
if(qm.haveItem(4031853)){
|
||||
if(qm.canHold(2030019)) {
|
||||
qm.gainItem(4031853, -1);
|
||||
qm.gainExp(1700);
|
||||
qm.gainItem(2030019, 10);
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
if(!qm.isQuestCompleted(2186)) {
|
||||
if(qm.haveItem(4031853)){
|
||||
if(qm.canHold(2030019)) {
|
||||
qm.gainItem(4031853, -1);
|
||||
qm.gainExp(1700);
|
||||
qm.gainItem(2030019, 10);
|
||||
|
||||
qm.sendOk("Geez, you found my glasses! Thank you, thank you so much. Now I'm able to see everything again!");
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
else {
|
||||
qm.sendOk("I need you to have an USE slot available to reward you properly!");
|
||||
}
|
||||
}else if(qm.haveItem(4031854) || qm.haveItem(4031855)){ //When I figure out how to make a completance with just a pickup xD
|
||||
if(qm.canHold(2030019)) {
|
||||
if(qm.haveItem(4031854))
|
||||
qm.gainItem(4031854, -1);
|
||||
else
|
||||
qm.gainItem(4031855, -1);
|
||||
|
||||
qm.gainExp(1000);
|
||||
qm.gainItem(2030019, 5);
|
||||
|
||||
qm.sendOk("Hm, those aren't my glasses... But alas, I'll take it anyway. Thanks.");
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
else {
|
||||
qm.sendOk("I need you to have an USE slot available to reward you properly!");
|
||||
qm.sendOk("Geez, you found my glasses! Thank you, thank you so much. Now I'm able to see everything again!");
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
else {
|
||||
qm.sendOk("I need you to have an USE slot available to reward you properly!");
|
||||
}
|
||||
}else if(qm.haveItem(4031854) || qm.haveItem(4031855)){ //When I figure out how to make a completance with just a pickup xD
|
||||
if(qm.canHold(2030019)) {
|
||||
if(qm.haveItem(4031854))
|
||||
qm.gainItem(4031854, -1);
|
||||
else
|
||||
qm.gainItem(4031855, -1);
|
||||
|
||||
qm.gainExp(1000);
|
||||
qm.gainItem(2030019, 5);
|
||||
|
||||
qm.sendOk("Hm, those aren't my glasses... But alas, I'll take it anyway. Thanks.");
|
||||
qm.forceCompleteQuest();
|
||||
}
|
||||
else {
|
||||
qm.sendOk("I need you to have an USE slot available to reward you properly!");
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (status == 1) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
@@ -1,12 +1,46 @@
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
qm.sendNext("Oh, you already have monster book. Good luck on your journey~!");
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Oh, you already have monster book. Good luck on your journey~!");
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
function end(mode, type, selection) {
|
||||
qm.sendNext("Oh, you already have monster book. Good luck on your journey~!");
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Oh, you already have monster book. Good luck on your journey~!");
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,8 @@ function start(mode, type, selection) {
|
||||
qm.sendNext("Hurry up and head #bleft#k to feed #b#p1013102##k. He's been barking to be fed all morning.");
|
||||
}
|
||||
} else if (status == 4) {
|
||||
qm.sendPrev("Feed #p1013102# and come back to see me.");
|
||||
qm.dispose();
|
||||
}
|
||||
qm.sendNextPrev("Feed #p1013102# and come back to see me.");
|
||||
} else if (status == 5) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -40,10 +40,10 @@ function end(mode, type, selection) {
|
||||
if (status == 0) {
|
||||
qm.sendNext("Did you eat your breakfast, Evan? Then, will you do me a favor? \r\n\r\n#fUI/UIWindow.img/QuestIcon/4/0# \r\n#i1003028# 1 #t1003028# \r\n#i2022621# 5 #t2022621#s \r\n#i2022622# 5 #t2022622# \r\n#fUI/UIWindow.img/QuestIcon/8/0# 60 exp");
|
||||
} else if (status == 1) {
|
||||
qm.gainItem(1003028, 1, true);
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainItem(1003028, 1, true);
|
||||
qm.gainItem(2022621, 5, true);
|
||||
qm.gainItem(2022622, 5, true);
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(60);
|
||||
qm.sendImage("UI/tutorial/evan/4/0");
|
||||
qm.dispose();
|
||||
|
||||
@@ -22,6 +22,7 @@ function end(mode, type, selection) {
|
||||
qm.gainExp(360);
|
||||
qm.sendImage("UI/tutorial/evan/9/0");
|
||||
}
|
||||
qm.dispose();
|
||||
}
|
||||
} else if (status == 3) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -69,6 +69,7 @@ function end(mode, type, selection) {
|
||||
qm.sendNextPrev("#bThis is a weapon that Magicians use. It's a Wand#k. You probably won't really need it, but it'll make you look important if you carry it around. Hahahahaha.");
|
||||
} else if (status == 13) {
|
||||
qm.sendPrev("Anyway, the Foxes have increased, right? How weird is that? Why are they growing day by day? We should really look into it and get to the bottom of this.");
|
||||
qm.dispose();
|
||||
}
|
||||
} else if (status == 14) {
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
@@ -26,6 +26,7 @@
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
var canComplete;
|
||||
|
||||
function end(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
@@ -45,20 +46,24 @@ function end(mode, type, selection) {
|
||||
var hourDay = qm.getHourOfDay();
|
||||
if(!(hourDay >= 17 && hourDay < 20)) {
|
||||
qm.sendNext("(Hmm, I'm searching the trash can but can't find the #t4031894# JM was talking about, maybe it's not time yet...)");
|
||||
qm.dispose();
|
||||
canComplete = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if(!qm.canHold(4031894, 1)) {
|
||||
qm.sendNext("(Eh, I can't hold the #t4031894# right now, I need an ETC slot available.)");
|
||||
qm.dispose();
|
||||
canComplete = false;
|
||||
return;
|
||||
}
|
||||
|
||||
canComplete = true;
|
||||
qm.sendNext("(Ah, there is a crumbled note here... Hm, it contains details about some scheme that is about to happen, that must be what #r#p1052002##k was talking about.)");
|
||||
qm.gainItem(4031894, 1);
|
||||
qm.gainExp(20000);
|
||||
qm.forceCompleteQuest();
|
||||
} else if (status == 1) {
|
||||
if (canComplete) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainItem(4031894, 1);
|
||||
qm.gainExp(20000);
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
var canComplete;
|
||||
|
||||
function end(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
@@ -45,26 +46,30 @@ function end(mode, type, selection) {
|
||||
var hourDay = qm.getHourOfDay();
|
||||
if(!(hourDay >= 17 && hourDay < 20)) {
|
||||
qm.sendNext("(Hmm, I'm searching the trash can but can't find the #t4031894# JM was talking about, maybe it's not time yet...)");
|
||||
qm.dispose();
|
||||
canComplete = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if(qm.getMeso() < 2000) {
|
||||
qm.sendNext("(Oh, I don't have the combined fee amount yet.)");
|
||||
qm.dispose();
|
||||
canComplete = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if(!qm.canHold(4031894, 1)) {
|
||||
qm.sendNext("(Eh, I can't hold the #t4031894# right now, I need an ETC slot available.)");
|
||||
qm.dispose();
|
||||
canComplete = false;
|
||||
return;
|
||||
}
|
||||
|
||||
canComplete = true;
|
||||
qm.sendNext("(Alright, now I will deposit the fee there and get the paper... That's it, yea, that's done.)");
|
||||
qm.gainItem(4031894, 1);
|
||||
qm.gainMeso(-2000);
|
||||
qm.forceCompleteQuest();
|
||||
} else if (status == 1) {
|
||||
if (canComplete) {
|
||||
qm.gainMeso(-2000);
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainItem(4031894, 1);
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
@@ -36,8 +36,9 @@ function start(mode, type, selection) {
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("I've just gathered an interesting information, #rDyle looks just like regular Ligators#k, but bigger.");
|
||||
qm.gainExp(7000);
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(7000);
|
||||
|
||||
if(isAllSubquestsDone() && qm.haveItem(4031894)) {
|
||||
qm.gainItem(4031894, -1);
|
||||
|
||||
@@ -36,8 +36,9 @@ function start(mode, type, selection) {
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Hey, did you notice already, it looks like some awful stench is emanating from the sewers... Ewww");
|
||||
qm.gainExp(7000);
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(7000);
|
||||
|
||||
if(isAllSubquestsDone() && qm.haveItem(4031894)) {
|
||||
qm.gainItem(4031894, -1);
|
||||
|
||||
@@ -36,8 +36,9 @@ function start(mode, type, selection) {
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Hey did you see how strange #rLakelis#k has been acting these days? We should see what's going on aabout her, her actions have been so weird lately...");
|
||||
qm.gainExp(7000);
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(7000);
|
||||
|
||||
if(isAllSubquestsDone() && qm.haveItem(4031894)) {
|
||||
qm.gainItem(4031894, -1);
|
||||
|
||||
@@ -36,8 +36,9 @@ function start(mode, type, selection) {
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Did you know, they say someone from the sewers has been trying to #rdevelop a magic powder that let's one to grow#k, isn't that nice?");
|
||||
qm.gainExp(7000);
|
||||
} else if (status == 1) {
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainExp(7000);
|
||||
|
||||
if(isAllSubquestsDone() && qm.haveItem(4031894)) {
|
||||
qm.gainItem(4031894, -1);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user