Nihal quests + Reactor's mapitem detection + MapleQuestMesoFetcher
Improved quests and game progression in the Nihal Desert region. Reactors that uses map items now automatically detects those already on the ground after changing states. New tool: MapleQuestMesoFetcher. This tool parses the Quest.wz XML files, detecting and reporting quest ids from quests that does not properly checks for mesos to take from the player before completing the quest.
This commit is contained in:
@@ -22,7 +22,7 @@ function action(mode, type, selection) {
|
||||
} else if (status == 2) {
|
||||
if (!cm.canHold(itemids[selection], 1)) {
|
||||
cm.sendOk("Please make room");
|
||||
} else if (cm.itemQuantity(4001261) < 1) {
|
||||
} else if (cm.getItemQuantity(4001261) < 1) {
|
||||
cm.sendOk("You don't have enough leathers.");
|
||||
} else {
|
||||
cm.gainItem(4001261, -1);
|
||||
|
||||
56
scripts/npc/1092018.js
Normal file
56
scripts/npc/1092018.js
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
var qs = cm.getQuestStatus(2162);
|
||||
|
||||
if((qs == 0 || qs == 1) && !cm.haveItem(4031839, 1)) {
|
||||
if(cm.canHold(4031839, 1)) {
|
||||
cm.gainItem(4031839, 1);
|
||||
cm.sendNext("(You retrieved a Crumpled Paper standing out of the trash can. It's content seems important.)", 2);
|
||||
} else {
|
||||
cm.sendNext("(You see a Crumpled Paper standing out of the trash can. It's content seems important, but you can't retrieve it since your inventory is full.)", 2);
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,8 +30,8 @@
|
||||
**/
|
||||
|
||||
var status = 0;
|
||||
var questid = new Array(3615,3616,3617,3618,3630,3633,3639);
|
||||
var questitem = new Array(4031235,4031236,4031237,4031238,4031270,4031280,4031298);
|
||||
var questid = new Array(3615,3616,3617,3618,3630,3633,3639,3920);
|
||||
var questitem = new Array(4031235,4031236,4031237,4031238,4031270,4031280,4031298,4031591);
|
||||
var counter = 0;
|
||||
var books;
|
||||
var i;
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
/*
|
||||
This file is part of the OdinMS Maple Story Server
|
||||
Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
|
||||
Matthias Butz <matze@odinms.de>
|
||||
Jan Christian Meyer <vimes@odinms.de>
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
@@ -19,11 +17,15 @@
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/* NPC Base
|
||||
Map Name (Map ID)
|
||||
Extra NPC info.
|
||||
/* Oasis near Ariant Castle
|
||||
*/
|
||||
|
||||
importPackage(Packages.client);
|
||||
|
||||
function isTigunMorphed(ch) {
|
||||
return ch.getBuffSource(MapleBuffStat.MORPH) == 2210005;
|
||||
}
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
@@ -38,12 +40,30 @@ function action(mode, type, selection) {
|
||||
else
|
||||
status--;
|
||||
if (status == 0 && mode == 1) {
|
||||
if(cm.isQuestStarted(3900) && cm.getPlayer().getQuestInfo(3900) != 5) {
|
||||
cm.sendOk("#b(You drink the water from the oasis and feel refreshed.)", 2);
|
||||
//TODO: Update quest progress.
|
||||
cm.getPlayer().updateQuestInfo(3900, "5");
|
||||
}
|
||||
cm.dispose();
|
||||
}
|
||||
if(cm.isQuestStarted(3900) && cm.getPlayer().getQuestInfo(3900) != 5) {
|
||||
cm.sendOk("#b(You drink the water from the oasis and feel refreshed.)", 2);
|
||||
cm.getPlayer().updateQuestInfo(3900, "5");
|
||||
} else if(cm.isQuestCompleted(3938)) {
|
||||
if(cm.canHold(2210005)) {
|
||||
if(!cm.haveItem(2210005) && !isTigunMorphed(cm.getPlayer())) {
|
||||
cm.gainItem(2210005, 1);
|
||||
cm.sendOk("You found a lock of hair (probably Tigun's) floating by the water and catched it. Remembering how #bJano#k made it last time, you crafted a new #t2210005#", 2);
|
||||
}
|
||||
} else {
|
||||
cm.sendOk("You don't have a USE slot available.", 2);
|
||||
}
|
||||
} else if(cm.isQuestStarted(3934) || (cm.isQuestCompleted(3934) && !cm.isQuestCompleted(3935))) {
|
||||
if(cm.canHold(2210005)) {
|
||||
if(!cm.haveItem(2210005) && !isTigunMorphed(cm.getPlayer())) {
|
||||
cm.gainItem(2210005, 1);
|
||||
cm.sendOk("You managed to find a strange flask floating on the river. It seems like a transformation bottle mimicking one of the guards of the castle, maybe with it you will be able to roam inside freely.", 2);
|
||||
}
|
||||
} else {
|
||||
cm.sendOk("You found a strange flask floating on the river. But you decided to ignore it since you don't have a USE slot available.", 2);
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
56
scripts/npc/2103002.js
Normal file
56
scripts/npc/2103002.js
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/* Queen's treasure chest
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3923) && !cm.haveItem(4031578, 1)) {
|
||||
if(cm.canHold(4031578, 1)) {
|
||||
cm.sendOk("You have just swiped the ring. Clear the area asap.", 2);
|
||||
cm.gainItem(4031578, 1);
|
||||
} else {
|
||||
cm.sendOk("You don't have a ETC slot available.", 2);
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2103003.js
Normal file
57
scripts/npc/2103003.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
Food depot on Ariant Residential area
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3929)) {
|
||||
if(cm.getQuestProgress(3929, 0) != 1) {
|
||||
if(cm.haveItem(4031580)) {
|
||||
cm.gainItem(4031580, -1);
|
||||
cm.setQuestProgress(3929, 0, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2103004.js
Normal file
57
scripts/npc/2103004.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
Food depot on Ariant Residential area
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3929)) {
|
||||
if(cm.getQuestProgress(3929, 2) != 1) {
|
||||
if(cm.haveItem(4031580)) {
|
||||
cm.gainItem(4031580, -1);
|
||||
cm.setQuestProgress(3929, 2, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2103005.js
Normal file
57
scripts/npc/2103005.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
Food depot on Ariant Residential area
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3929)) {
|
||||
if(cm.getQuestProgress(3929, 1) != 1) {
|
||||
if(cm.haveItem(4031580)) {
|
||||
cm.gainItem(4031580, -1);
|
||||
cm.setQuestProgress(3929, 1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2103006.js
Normal file
57
scripts/npc/2103006.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
Food depot on Ariant Residential area
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3929)) {
|
||||
if(cm.getQuestProgress(3929, 3) != 1) {
|
||||
if(cm.haveItem(4031580)) {
|
||||
cm.gainItem(4031580, -1);
|
||||
cm.setQuestProgress(3929, 3, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2103009.js
Normal file
57
scripts/npc/2103009.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
Jewel depot on Ariant Residential area
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3926)) {
|
||||
if(cm.getQuestProgress(3926, 0) != 1) {
|
||||
if(cm.haveItem(4031579)) {
|
||||
cm.gainItem(4031579, -1);
|
||||
cm.setQuestProgress(3926, 0, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2103010.js
Normal file
57
scripts/npc/2103010.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
Jewel depot on Ariant Residential area
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3926)) {
|
||||
if(cm.getQuestProgress(3926, 2) != 1) {
|
||||
if(cm.haveItem(4031579)) {
|
||||
cm.gainItem(4031579, -1);
|
||||
cm.setQuestProgress(3926, 2, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2103011.js
Normal file
57
scripts/npc/2103011.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
Jewel depot on Ariant Residential area
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3926)) {
|
||||
if(cm.getQuestProgress(3926, 1) != 1) {
|
||||
if(cm.haveItem(4031579)) {
|
||||
cm.gainItem(4031579, -1);
|
||||
cm.setQuestProgress(3926, 1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2103012.js
Normal file
57
scripts/npc/2103012.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/*
|
||||
Jewel depot on Ariant Residential area
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3926)) {
|
||||
if(cm.getQuestProgress(3926, 3) != 1) {
|
||||
if(cm.haveItem(4031579)) {
|
||||
cm.gainItem(4031579, -1);
|
||||
cm.setQuestProgress(3926, 3, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,11 +23,17 @@
|
||||
-- Odin JavaScript --------------------------------------------------------------------------------
|
||||
Carson - Magatia (GMS Like)
|
||||
-- Version Info -----------------------------------------------------------------------------------
|
||||
1.2 - Improved by Ronan
|
||||
1.1 - Shortened by Moogra
|
||||
1.0 - First Version by Maple4U
|
||||
---------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
function start() {
|
||||
cm.sendNext("Alchemy....and Alchemist.....both of them are important. But more importantly, it is the Magatia that tolerate everything. The honor of Magatia should be protected by me.");
|
||||
if(cm.isQuestStarted(3310) && !cm.haveItem(4031709, 1)) {
|
||||
cm.warp(926120100);
|
||||
} else {
|
||||
cm.sendNext("Alchemy....and Alchemist.....both of them are important. But more importantly, it is the Magatia that tolerate everything. The honor of Magatia should be protected by me.");
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
|
||||
@@ -25,12 +25,18 @@
|
||||
-- By ---------------------------------------------------------------------------------------------
|
||||
Maple4U
|
||||
-- Version Info -----------------------------------------------------------------------------------
|
||||
1.2 - With quest feature by Ronan
|
||||
1.1 - Shortened 3x by Moogra
|
||||
1.0 - First Version by Maple4U
|
||||
---------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
function start() {
|
||||
cm.sendOk("Emotion that I feel is real? Or just illusion coming from mechanical error?");
|
||||
cm.dispose();
|
||||
if(cm.isQuestStarted(3335) && !cm.haveItem(4031695, 1)) {
|
||||
cm.warp(926120300);
|
||||
cm.dispose();
|
||||
} else {
|
||||
cm.sendOk("Emotion that I feel is real? Or just illusion coming from mechanical error?");
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,12 +23,18 @@
|
||||
-- Odin JavaScript --------------------------------------------------------------------------------
|
||||
Parwen - Magatia (GMS Like)
|
||||
-- Version Info -----------------------------------------------------------------------------------
|
||||
1.2 - Improved by Ronan
|
||||
1.1 - Shortened by Moogra
|
||||
1.0 - First Version by Maple4U
|
||||
---------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
function start() {
|
||||
cm.sendOk("uuuuhuk...Why only Ghost are around here?...");
|
||||
if(cm.isQuestStarted(3320) || cm.isQuestCompleted(3320)) {
|
||||
cm.warp(926120200, 1);
|
||||
} else {
|
||||
cm.sendOk("uuuuhuk...Why only Ghost are around here?...");
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
|
||||
53
scripts/npc/2111010.js
Normal file
53
scripts/npc/2111010.js
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3309) && !cm.haveItem(4031708, 1)) {
|
||||
if(cm.canHold(4031708, 1)) {
|
||||
cm.gainItem(4031708, 1);
|
||||
} else {
|
||||
cm.sendOk("Have a ETC slot available to get the Alcadno's secret document.");
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
50
scripts/npc/2111013.js
Normal file
50
scripts/npc/2111013.js
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3311)) {
|
||||
cm.setQuestProgress(3311, 0, 1);
|
||||
cm.sendOk("This is a mug picture of Dr. De Lang. It seems he is adorning a locket with the emblem of the Alcadno academy, he is a retainer of the Alcadno society.", 2);
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
55
scripts/npc/2111014.js
Normal file
55
scripts/npc/2111014.js
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3311)) {
|
||||
cm.setQuestProgress(3311, 1, 1);
|
||||
cm.sendOk("The diary of Dr. De Lang. A lot of formulas and pompous scientific texts can be found all way through the pages, but it is worth noting that in the last entry (3 weeks ago), it is written that he concluded the researches on an improvement on the blueprints for the Neo Huroids, thus making the last preparations to show it to the 'society'... No words after this...", 2);
|
||||
} else if(cm.isQuestStarted(3322) && !cm.haveItem(4031697, 1)) {
|
||||
if(cm.canHold(4031697, 1))
|
||||
cm.gainItem(4031697, 1);
|
||||
else
|
||||
cm.sendNext("Your inventory is full, make sure a ETC slot is available for the item.");
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
60
scripts/npc/2111015.js
Normal file
60
scripts/npc/2111015.js
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
importPackage(Packages.client);
|
||||
|
||||
var status;
|
||||
|
||||
function isPillUsed(ch) {
|
||||
return ch.getBuffSource(MapleBuffStat.HPREC) == 2022198;
|
||||
}
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3314) && !cm.haveItem(2022198, 1) && !isPillUsed(cm.getPlayer())) {
|
||||
if(cm.canHold(2022198, 1)) {
|
||||
cm.gainItem(2022198, 1);
|
||||
cm.sendOk("You took the pills that were laying on the desk.", 2);
|
||||
} else {
|
||||
cm.sendOk("You don't have a USE slot available to get Russellon's pills.", 2);
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
76
scripts/npc/2111017.js
Normal file
76
scripts/npc/2111017.js
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3339)) {
|
||||
var progress = cm.getQuestProgress(3339, 0);
|
||||
|
||||
if(progress == 3) {
|
||||
cm.sendGetText("The pipe reacts as the water starts flowing. A secret compartment with a keypad shows up. #bPassword#k!");
|
||||
} else if(progress == 0) {
|
||||
cm.setQuestProgress(3339, 0, 1);
|
||||
cm.dispose();
|
||||
} else if(progress < 3) {
|
||||
cm.setQuestProgress(3339, 0, 0);
|
||||
cm.dispose();
|
||||
} else {
|
||||
cm.warp(261000001, 1);
|
||||
cm.dispose();
|
||||
}
|
||||
} else {
|
||||
if(cm.isQuestCompleted(3339)) {
|
||||
cm.warp(261000001, 1);
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
} else if(status == 1) {
|
||||
if(cm.getText() == "my love Phyllia") {
|
||||
cm.setQuestProgress(3339, 0, 4);
|
||||
cm.warp(261000001, 1);
|
||||
cm.dispose();
|
||||
}
|
||||
else{
|
||||
cm.sendOk("#rWrong!");
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
76
scripts/npc/2111018.js
Normal file
76
scripts/npc/2111018.js
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3339)) {
|
||||
var progress = cm.getQuestProgress(3339, 0);
|
||||
|
||||
if(progress == 3) {
|
||||
cm.sendGetText("The pipe reacts as the water starts flowing. A secret compartment with a keypad shows up. #bPassword#k!");
|
||||
} else if(progress == 2) {
|
||||
cm.setQuestProgress(3339, 0, 3);
|
||||
cm.sendGetText("The pipe reacts as the water starts flowing. A secret compartment with a keypad shows up. #bPassword#k!");
|
||||
} else if(progress < 3) {
|
||||
cm.setQuestProgress(3339, 0, 0);
|
||||
cm.dispose();
|
||||
} else {
|
||||
cm.warp(261000001, 1);
|
||||
cm.dispose();
|
||||
}
|
||||
} else {
|
||||
if(cm.isQuestCompleted(3339)) {
|
||||
cm.warp(261000001, 1);
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
} else if(status == 1) {
|
||||
if(cm.getText() == "my love Phyllia") {
|
||||
cm.setQuestProgress(3339, 0, 4);
|
||||
cm.warp(261000001, 1);
|
||||
cm.dispose();
|
||||
}
|
||||
else{
|
||||
cm.sendOk("#rWrong!");
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
76
scripts/npc/2111019.js
Normal file
76
scripts/npc/2111019.js
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3339)) {
|
||||
var progress = cm.getQuestProgress(3339, 0);
|
||||
|
||||
if(progress == 3) {
|
||||
cm.sendGetText("The pipe reacts as the water starts flowing. A secret compartment with a keypad shows up. #bPassword#k!");
|
||||
} else if(progress == 1) {
|
||||
cm.setQuestProgress(3339, 0, 2);
|
||||
cm.dispose();
|
||||
} else if(progress < 3) {
|
||||
cm.setQuestProgress(3339, 0, 0);
|
||||
cm.dispose();
|
||||
} else {
|
||||
cm.warp(261000001, 1);
|
||||
cm.dispose();
|
||||
}
|
||||
} else {
|
||||
if(cm.isQuestCompleted(3339)) {
|
||||
cm.warp(261000001, 1);
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
} else if(status == 1) {
|
||||
if(cm.getText() == "my love Phyllia") {
|
||||
cm.setQuestProgress(3339, 0, 4);
|
||||
cm.warp(261000001, 1);
|
||||
cm.dispose();
|
||||
}
|
||||
else{
|
||||
cm.sendOk("#rWrong!");
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2111020.js
Normal file
57
scripts/npc/2111020.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3345)) {
|
||||
var progress = cm.getQuestProgress(3345, 0);
|
||||
|
||||
if(progress == 0) {
|
||||
cm.setQuestProgress(3345, 0, 1);
|
||||
cm.dispose();
|
||||
} else if(progress < 4) {
|
||||
cm.setQuestProgress(3345, 0, 0);
|
||||
cm.dispose();
|
||||
} else {
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2111021.js
Normal file
57
scripts/npc/2111021.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3345)) {
|
||||
var progress = cm.getQuestProgress(3345, 0);
|
||||
|
||||
if(progress == 1) {
|
||||
cm.setQuestProgress(3345, 0, 2);
|
||||
cm.dispose();
|
||||
} else if(progress < 4) {
|
||||
cm.setQuestProgress(3345, 0, 0);
|
||||
cm.dispose();
|
||||
} else {
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
57
scripts/npc/2111022.js
Normal file
57
scripts/npc/2111022.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3345)) {
|
||||
var progress = cm.getQuestProgress(3345, 0);
|
||||
|
||||
if(progress == 2) {
|
||||
cm.setQuestProgress(3345, 0, 3);
|
||||
cm.dispose();
|
||||
} else if(progress < 4) {
|
||||
cm.setQuestProgress(3345, 0, 0);
|
||||
cm.dispose();
|
||||
} else {
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
62
scripts/npc/2111023.js
Normal file
62
scripts/npc/2111023.js
Normal file
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status;
|
||||
|
||||
function start() {
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (mode == 0 && type > 0) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if(status == 0) {
|
||||
if(cm.isQuestStarted(3345)) {
|
||||
var progress = cm.getQuestProgress(3345, 0);
|
||||
|
||||
if(progress == 3 && cm.haveItem(4031739, 1) && cm.haveItem(4031740, 1) && cm.haveItem(4031741, 1)) {
|
||||
cm.setQuestProgress(3345, 0, 4);
|
||||
cm.gainItem(4031739, -1);
|
||||
cm.gainItem(4031740, -1);
|
||||
cm.gainItem(4031741, -1);
|
||||
|
||||
cm.sendOk("(As you place the shards a light shines over the circle, repelling whatever omens were brewing inside the artifact.)", 2);
|
||||
cm.dispose();
|
||||
} else if(progress < 4) {
|
||||
cm.setQuestProgress(3345, 0, 0);
|
||||
cm.dispose();
|
||||
} else {
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
/*
|
||||
This file is part of the OdinMS Maple Story Server
|
||||
Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
|
||||
Matthias Butz <matze@odinms.de>
|
||||
Jan Christian Meyer <vimes@odinms.de>
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
|
||||
60
scripts/npc/2112016.js
Normal file
60
scripts/npc/2112016.js
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @author: Ronan
|
||||
* @npc: Hidden Documents
|
||||
* @func: Yulete lab 2 quest
|
||||
*/
|
||||
|
||||
function start() {
|
||||
if(cm.isQuestStarted(3367)) {
|
||||
var c = cm.getQuestProgress(3367, 30);
|
||||
if(c == 30) {
|
||||
cm.sendNext("(All files have been organized. Report the found files to Yulete.)", 2);
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
var book = (cm.getNpcObjectId() % 30);
|
||||
var prog = cm.getQuestProgress(3367, book);
|
||||
if(prog == 0) {
|
||||
c++;
|
||||
|
||||
if(book < 20) {
|
||||
if(!cm.canHold(4031797, 1)) {
|
||||
cm.sendNext("(You found a report file, but since your ETC is full you choose to put the file in the place you've found.)");
|
||||
cm.dispose();
|
||||
return;
|
||||
} else {
|
||||
cm.gainItem(4031797, 1);
|
||||
cm.setQuestProgress(3367, 31, cm.getQuestProgress(3367, 31) + 1);
|
||||
}
|
||||
}
|
||||
|
||||
cm.sendNext("(Organized file. #r" + (30 - c) + "#k left.)", 2);
|
||||
|
||||
cm.setQuestProgress(3367, book, 1);
|
||||
cm.setQuestProgress(3367, 30, c);
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
@@ -48,7 +48,7 @@ function action(mode, type, selection){
|
||||
if (status == 0) {
|
||||
cm.sendNext("To return back to the city, follow this way.");
|
||||
} else {
|
||||
cm.getPlayer().warp(103000000, cm.getClient().getChannelServer().getMapFactory().getMap(103000000).getRandomPlayerSpawnpoint());
|
||||
cm.warp(103000000);
|
||||
cm.dispose();
|
||||
}
|
||||
} else {
|
||||
|
||||
32
scripts/npc/MagatiaPassword.js
Normal file
32
scripts/npc/MagatiaPassword.js
Normal file
@@ -0,0 +1,32 @@
|
||||
var status;
|
||||
|
||||
function start(){
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection){
|
||||
if(mode == -1 || (mode == 0 && status == 0)){
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
else if(mode == 0)
|
||||
status--;
|
||||
else
|
||||
status++;
|
||||
|
||||
if(status == 0){
|
||||
cm.sendGetText("The door reacts to the entry pass inserted. #bPassword#k!");
|
||||
}
|
||||
else if(status == 1){
|
||||
if(cm.getText() == cm.getStringQuestProgress(3360, 0)){
|
||||
cm.setQuestProgress(3360, 1, 1);
|
||||
cm.warp((cm.getMapId() == 261010000) ? 261020200 : 261010000, "secret00");
|
||||
}
|
||||
else {
|
||||
cm.sendOk("#rWrong!");
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
39
scripts/npc/ThiefPassword.js
Normal file
39
scripts/npc/ThiefPassword.js
Normal file
@@ -0,0 +1,39 @@
|
||||
var status;
|
||||
|
||||
function start(){
|
||||
status = -1;
|
||||
action(1, 0, 0);
|
||||
}
|
||||
|
||||
function action(mode, type, selection){
|
||||
if(mode == -1 || (mode == 0 && status == 0)){
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
else if(mode == 0)
|
||||
status--;
|
||||
else
|
||||
status++;
|
||||
|
||||
|
||||
|
||||
if(status == 0){
|
||||
cm.sendGetText("A suspicious voice pierces through the silence. #bPassword#k!");
|
||||
}
|
||||
else if(status == 1){
|
||||
if(cm.getText() == "Open Sesame"){
|
||||
if(cm.isQuestCompleted(3925))
|
||||
cm.warp(260010402);
|
||||
else
|
||||
cm.playerMessage(5, "Although you said the right answer, the door will not budge.");
|
||||
|
||||
cm.dispose();
|
||||
}
|
||||
else{
|
||||
cm.sendOk("#rWrong!");
|
||||
}
|
||||
}
|
||||
else if(status == 2){
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user