Slot Max & Wind Walk fix + reviewed scripted portals

Fixed slotMax function caching up dirtied player data.
Fixed many portals not supposed to warp players to "random spawnpoints".
Fixed Wind Walk not being cancellable by attacking.
This commit is contained in:
ronancpl
2017-11-03 17:06:48 -02:00
parent 64af2cfa00
commit 1fead59c57
145 changed files with 3139 additions and 2726 deletions

View File

@@ -1,4 +1,4 @@
#Tue, 31 Oct 2017 11:20:58 -0200 #Fri, 03 Nov 2017 14:56:01 -0200
C\:\\Nexon\\MapleSolaxia\\MapleSolaxiaV2= C\:\\Nexon\\MapleSolaxia\\MapleSolaxiaV2=

Binary file not shown.

BIN
dist/MapleSolaxia.jar vendored

Binary file not shown.

View File

@@ -57,6 +57,7 @@ Monsters & Maps:
* Added Boss HP Bar for dozens of bosses (needs provided custom wz). * Added Boss HP Bar for dozens of bosses (needs provided custom wz).
* If multiple bosses are on the same area, client will prioritize Boss HP bar of the target of the player. * If multiple bosses are on the same area, client will prioritize Boss HP bar of the target of the player.
* Boats, elevator and other travelling mechanics fully working. * Boats, elevator and other travelling mechanics fully working.
* PQs, Taxis and other event-driven situations warps players at random spawnpoints, GMS-like.
PQ potentials: PQ potentials:
* Lobby system - Multiple PQ instances on same channel. * Lobby system - Multiple PQ instances on same channel.

View File

@@ -1,7 +1,18 @@
/* /*
* To change this license header, choose License Headers in Project Properties. This program is free software: you can redistribute it and/or modify
* To change this template file, choose Tools | Templates it under the terms of the GNU Affero General Public License as
* and open the template in the editor. 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/>.
*/ */
package server.partyquest.mcpq; package server.partyquest.mcpq;

View File

@@ -1,7 +1,18 @@
/* /*
* To change this license header, choose License Headers in Project Properties. This program is free software: you can redistribute it and/or modify
* To change this template file, choose Tools | Templates it under the terms of the GNU Affero General Public License as
* and open the template in the editor. 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/>.
*/ */
package server.partyquest.mcpq; package server.partyquest.mcpq;

View File

@@ -1,7 +1,18 @@
/* /*
* To change this license header, choose License Headers in Project Properties. This program is free software: you can redistribute it and/or modify
* To change this template file, choose Tools | Templates it under the terms of the GNU Affero General Public License as
* and open the template in the editor. 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/>.
*/ */
package server.partyquest.mcpq; package server.partyquest.mcpq;

View File

@@ -1,7 +1,18 @@
/* /*
* To change this license header, choose License Headers in Project Properties. This program is free software: you can redistribute it and/or modify
* To change this template file, choose Tools | Templates it under the terms of the GNU Affero General Public License as
* and open the template in the editor. 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/>.
*/ */
package server.partyquest.mcpq; package server.partyquest.mcpq;

View File

@@ -1,9 +1,20 @@
package server.partyquest.mcpq; package server.partyquest.mcpq;
/* /*
* To change this license header, choose License Headers in Project Properties. This program is free software: you can redistribute it and/or modify
* To change this template file, choose Tools | Templates it under the terms of the GNU Affero General Public License as
* and open the template in the editor. 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/>.
*/ */
/** /**

View File

@@ -1,7 +1,18 @@
/* /*
* To change this license header, choose License Headers in Project Properties. This program is free software: you can redistribute it and/or modify
* To change this template file, choose Tools | Templates it under the terms of the GNU Affero General Public License as
* and open the template in the editor. 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/>.
*/ */
package server.partyquest.mcpq; package server.partyquest.mcpq;

View File

@@ -1,7 +1,18 @@
/* /*
* To change this license header, choose License Headers in Project Properties. This program is free software: you can redistribute it and/or modify
* To change this template file, choose Tools | Templates it under the terms of the GNU Affero General Public License as
* and open the template in the editor. 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/>.
*/ */
package server.partyquest.mcpq; package server.partyquest.mcpq;

View File

@@ -1,7 +1,18 @@
/* /*
* To change this license header, choose License Headers in Project Properties. This program is free software: you can redistribute it and/or modify
* To change this template file, choose Tools | Templates it under the terms of the GNU Affero General Public License as
* and open the template in the editor. 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/>.
*/ */
package server.partyquest.mcpq; package server.partyquest.mcpq;

View File

@@ -1,7 +1,18 @@
/* /*
* To change this license header, choose License Headers in Project Properties. This program is free software: you can redistribute it and/or modify
* To change this template file, choose Tools | Templates it under the terms of the GNU Affero General Public License as
* and open the template in the editor. 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/>.
*/ */
package server.partyquest.mcpq; package server.partyquest.mcpq;

View File

@@ -632,3 +632,13 @@ Adicionado drop data de mesos para o restante dos mobs que dropam 4 ou mais iten
31 Outubro 2017, 31 Outubro 2017,
Corrigido bug ao mudar classe de Aran desconectando o jogador. Corrigido bug ao mudar classe de Aran desconectando o jogador.
Corrigido drop data de flechas agora dropando bundles ao invés de uma quantidade unitária. Corrigido drop data de flechas agora dropando bundles ao invés de uma quantidade unitária.
01 - 02 Novembro 2017,
Modificado licenças do projeto.
Corrigido um bug no sistema que calcula slotMax dos itens.
Corrigido npcs/portais/reatores e outros mecanismos enviando jogadores para spawnpoints aleatórios onde não deveria.
Corrigido buff Wind Walk não cancelando quando atacando.
03 Novembro 2017,
Modificado custom questline: recompensa deixa de ser PAC com chaos scrolls p/ map chair skill com itens de Maple.
Adicionado quest de Horus' Eye.

View File

@@ -3,8 +3,8 @@ annotation.processing.enabled.in.editor=false
annotation.processing.processors.list= annotation.processing.processors.list=
annotation.processing.run.all.processors=true annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.title=MapleSolaxia application.title=MapleSolaxiaV2
application.vendor=Tyler application.vendor=Ronan
auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
build.classes.dir=${build.dir}/classes build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form build.classes.excludes=**/*.java,**/*.form
@@ -85,6 +85,8 @@ manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=false mkdist.disabled=false
platform.active=JDK_1.7 platform.active=JDK_1.7
project.license=gpl30_msv2
project.licensePath=./nbproject/licenseheader.txt
run.classpath=\ run.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir} ${build.classes.dir}

View File

@@ -49,10 +49,7 @@ function start() {
return; return;
} }
var posX; thicketAroundTheBeach3.spawnMonsterOnGroundBelow(mano, new Packages.java.awt.Point(279, -496));
var posY = 455;
posX = Math.floor((Math.random() * 605) + 110);
thicketAroundTheBeach3.spawnMonsterOnGroundBelow(mano, new Packages.java.awt.Point(posX, posY));
thicketAroundTheBeach3.broadcastMessage(Packages.tools.MaplePacketCreator.serverNotice(6, "A cool breeze was felt when Mano appeared.")); thicketAroundTheBeach3.broadcastMessage(Packages.tools.MaplePacketCreator.serverNotice(6, "A cool breeze was felt when Mano appeared."));
em.schedule("start", 3 * 60 *60 * 1000); em.schedule("start", 3 * 60 *60 * 1000);
} }

25
scripts/npc/1002006.js Normal file
View File

@@ -0,0 +1,25 @@
/*
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 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/>.
*/
function start() {
cm.sendNext("Hi, I'm #b#p1002006##k. Nice to meet you.")
cm.dispose();
}

View File

@@ -18,7 +18,7 @@ function action(mode, type, selection) {
} else if (status == 1) { } else if (status == 1) {
cm.sendNextPrev("Go and fulfill your duties as the Dragon Master...", 1); cm.sendNextPrev("Go and fulfill your duties as the Dragon Master...", 1);
} else if (status == 2) { } else if (status == 2) {
cm.warp(900090101); cm.warp(900090101, 0);
cm.dispose(); cm.dispose();
} }
} }

View File

@@ -1,6 +1,6 @@
function start() { function start() {
cm.forceCompleteQuest(22011); cm.forceCompleteQuest(22011);
cm.playerMessage(5, "You have acquired a Dragon Egg.");//actually getInfoMessage cm.playerMessage(5, "You have acquired a Dragon Egg.");//actually getInfoMessage
cm.warp(900090103); cm.warp(900090103, 0);
cm.dispose(); cm.dispose();
} }

View File

@@ -35,7 +35,7 @@ function action(mode, type, selection){
cm.sendOk("The Order of the Altair is a group of elite mercenaries that oversee the world's economy and battle operations. It was founded 40 years ago right after Black Mage was defeated in hopes of forseeing the next possible attack."); cm.sendOk("The Order of the Altair is a group of elite mercenaries that oversee the world's economy and battle operations. It was founded 40 years ago right after Black Mage was defeated in hopes of forseeing the next possible attack.");
cm.dispose(); cm.dispose();
} else if(status == 3){ } else if(status == 3){
cm.warp(105100300); cm.warp(105100300, 0);
cm.dispose(); cm.dispose();
} }
} else { } else {
@@ -44,7 +44,7 @@ function action(mode, type, selection){
status++; status++;
} else if(status == 2){ } else if(status == 2){
if(cm.getPlayer().getLevel() > 60 && cm.getPlayer().getClient().getChannel() == BalrogPQ.channel){ if(cm.getPlayer().getLevel() > 60 && cm.getPlayer().getClient().getChannel() == BalrogPQ.channel){
cm.warp(105100300); cm.warp(105100300, 0);
cm.dispose(); cm.dispose();
} else { } else {
cm.sendOk("You may not battle the balrog when you are below Lv60! \r\n\r\n Or maybe you are not on the right channel.. Try CH" + BalrogPQ.channel + "."); cm.sendOk("You may not battle the balrog when you are below Lv60! \r\n\r\n Or maybe you are not on the right channel.. Try CH" + BalrogPQ.channel + ".");

View File

@@ -46,7 +46,7 @@ function action(mode, type, selection){
else if (status == 2){ else if (status == 2){
if (cm.canHold(4031847)){ if (cm.canHold(4031847)){
cm.gainItem(4031847, 1); cm.gainItem(4031847, 1);
cm.warp(912000100); cm.warp(912000100, 0);
} }
else{ else{
cm.sendOk("I can't give you the empty bottle because your inventory is full. Please make some room in your Etc window."); cm.sendOk("I can't give you the empty bottle because your inventory is full. Please make some room in your Etc window.");

View File

@@ -44,7 +44,7 @@ function action(mode, type, selection){
} }
} }
else if (status == 1){ else if (status == 1){
cm.warp(100000006); cm.warp(100000006, 0);
cm.dispose(); cm.dispose();
} }
} }

View File

@@ -25,7 +25,7 @@ function action(mode, type, selection) {
cm.sendDirectionInfo("Effect/Direction4.img/effect/cannonshooter/flying1/0", 7000, 0, 0, -1, -1); cm.sendDirectionInfo("Effect/Direction4.img/effect/cannonshooter/flying1/0", 7000, 0, 0, -1, -1);
cm.sendDirectionInfo(1, 800); cm.sendDirectionInfo(1, 800);
} else if (status == 2) { } else if (status == 2) {
cm.warp(912060300); cm.warp(912060300, 0);
} else if (status == 3) { } else if (status == 3) {
cm.sendDirectionInfo("Effect/Direction4.img/effect/cannonshooter/balloon/1", 9000, 0, 0, 0, -1); cm.sendDirectionInfo("Effect/Direction4.img/effect/cannonshooter/balloon/1", 9000, 0, 0, 0, -1);
cm.sendDirectionInfo(1, 1500); cm.sendDirectionInfo(1, 1500);

View File

@@ -12,8 +12,12 @@
var menu = new Array("Victoria Island"); var menu = new Array("Victoria Island");
var method; var method;
var hasCoupon = false;
function start() { function start() {
status = -1; status = -1;
if(cm.haveItem(4032288)) hasCoupon = true;
action(1, 0, 0); action(1, 0, 0);
} }
@@ -32,13 +36,21 @@ function action(mode, type, selection) {
} }
status++; status++;
if (status == 0) { if (status == 0) {
if(!hasCoupon) {
for(var i=0; i < menu.length; i++) { for(var i=0; i < menu.length; i++) {
var display = "\r\n#L"+i+"##b Victoria Island (1000 mesos)#k"; var display = "\r\n#L"+i+"##b Victoria Island (1000 mesos)#k";
} }
cm.sendSimple("Eh, Hello...again. Do you want to leave Ereve and go somewhere else? If so, you've come to the right place. I operate a ferry that goes from #bEreve#k to #bVictoria Island#k, I can take you to #bVictoria Island#k if you want... You'll have to pay a fee of #b1000#k Mesos.\r\n"+display); cm.sendSimple("Eh, Hello...again. Do you want to leave Ereve and go somewhere else? If so, you've come to the right place. I operate a ferry that goes from #bEreve#k to #bVictoria Island#k, I can take you to #bVictoria Island#k if you want... You'll have to pay a fee of #b1000#k Mesos.\r\n"+display);
} else {
cm.sendYesNo("Hmm, hi there. I see you have been recommended by Neinheart to go to Victoria Island to improve your knightly skills. Well, just this time the ride will be free of charges. Will you embark?");
}
} else if(status == 1) { } else if(status == 1) {
if(cm.getMeso() < 1000) { if(hasCoupon) {
cm.gainItem(4032288, -1);
cm.warp(200090031);
cm.dispose();
} else if(cm.getMeso() < 1000) {
cm.sendNext("Hmm... Are you sure you have #b1000#k Mesos? Check your Inventory and make sure you have enough. You must pay the fee or I can't let you get on..."); cm.sendNext("Hmm... Are you sure you have #b1000#k Mesos? Check your Inventory and make sure you have enough. You must pay the fee or I can't let you get on...");
cm.dispose(); cm.dispose();
} else { } else {

View File

@@ -38,7 +38,7 @@ function action(mode, type, selection) {
cm.sendSimple("This ship will head towards #bEreve#k, an island where you'll find crimson leaves soaking up the sun, the gentle breeze that glides past the stream, and the Empress of Maple Cygnus. If you're interested in joining the Cygnus Knights, Then you should definitly pay a visit here. Are you interested in visiting Ereve?, The Trip will cost you #b1000#k Mesos\r\n"+display); cm.sendSimple("This ship will head towards #bEreve#k, an island where you'll find crimson leaves soaking up the sun, the gentle breeze that glides past the stream, and the Empress of Maple Cygnus. If you're interested in joining the Cygnus Knights, Then you should definitly pay a visit here. Are you interested in visiting Ereve?, The Trip will cost you #b1000#k Mesos\r\n"+display);
} else if(status == 1) { } else if(status == 1) {
{ if(cm.getMeso() < 1000) { if(cm.getMeso() < 1000) {
cm.sendNext("Hmm... Are you sure you have #b1000#k Mesos? Check your Inventory and make sure you have enough. You must pay the fee or I can't let you get on..."); cm.sendNext("Hmm... Are you sure you have #b1000#k Mesos? Check your Inventory and make sure you have enough. You must pay the fee or I can't let you get on...");
cm.dispose(); cm.dispose();
} else { } else {
@@ -49,4 +49,3 @@ function action(mode, type, selection) {
} }
} }
} }
}

View File

@@ -40,7 +40,7 @@ function action(mode, type, selection) {
if (status == 0 && mode == 1) { if (status == 0 && mode == 1) {
cm.sendYesNo("Would you like to exit the drill hall?"); cm.sendYesNo("Would you like to exit the drill hall?");
} else if(status == 1) { } else if(status == 1) {
cm.warp(130020000); cm.warp(130020000, 0);
cm.dispose(); cm.dispose();
} else { } else {
cm.dispose(); cm.dispose();

View File

@@ -69,7 +69,7 @@ function action(mode, type, selection) {
cm.sendNextPrev("I've said too much. It's okay if you don't really understand everything I just told you. You'll get it eventually. For now, #byou should head to town#k. I'll stay by your side and help you until you get there.", 8); cm.sendNextPrev("I've said too much. It's okay if you don't really understand everything I just told you. You'll get it eventually. For now, #byou should head to town#k. I'll stay by your side and help you until you get there.", 8);
} else if (status == 7) { } else if (status == 7) {
cm.spawnGuide(); cm.spawnGuide();
cm.warp(140090100); cm.warp(140090100, 0);
cm.dispose(); cm.dispose();
} }
} }

View File

@@ -19,7 +19,7 @@ function action(mode, type, selection) {
if (status == 0) if (status == 0)
cm.sendYesNo("Would you like to skip the tutorials and head straight to Lith Harbor?"); cm.sendYesNo("Would you like to skip the tutorials and head straight to Lith Harbor?");
else if (status == 1) { else if (status == 1) {
cm.warp(104000000); cm.warp(104000000, 0);
cm.dispose(); cm.dispose();
} }
} }

View File

@@ -31,7 +31,7 @@ function start() {
cm.sendOk("There is someone currently in this map, come back later."); cm.sendOk("There is someone currently in this map, come back later.");
else { else {
cm.resetMapObjects(921100300); cm.resetMapObjects(921100300);
cm.warp(921100300); cm.warp(921100300, 0);
} }
cm.dispose(); cm.dispose();

View File

@@ -120,7 +120,7 @@ function action(mode, type, selection) {
} }
} }
else if (status == 2) { else if (status == 2) {
cm.warp(280020000); cm.warp(280020000, 0);
cm.dispose(); cm.dispose();
} }
} }

View File

@@ -23,7 +23,7 @@
function start(){ function start(){
if(cm.isQuestStarted(6301)) { if(cm.isQuestStarted(6301)) {
if (cm.haveItem(4000175)) if (cm.haveItem(4000175))
cm.warp(923000000) cm.warp(923000000, 0);
else else
cm.sendOk("In order to open the crack of dimension you will have to posess one piece of Miniature Pianus. Those could be gained by defeating a Pianus."); cm.sendOk("In order to open the crack of dimension you will have to posess one piece of Miniature Pianus. Those could be gained by defeating a Pianus.");
} else } else

View File

@@ -47,7 +47,7 @@ function action(mode, type, selection) {
} }
else if(status == 1) { else if(status == 1) {
cm.warp(924000001); cm.warp(924000001, 0);
cm.sendOk("Have your shield equipped until the end of the quest, or else you will need to start all over again!"); cm.sendOk("Have your shield equipped until the end of the quest, or else you will need to start all over again!");
cm.resetQuestProgress(6180,9300096); cm.resetQuestProgress(6180,9300096);

View File

@@ -55,10 +55,10 @@ function action(mode, type, selection) {
}else if(status == 1 && type == 1){ }else if(status == 1 && type == 1){
cm.sendNext("It seems like you want to start your journey without taking the training program. Then, I will let you move on to the training ground. Be careful~"); cm.sendNext("It seems like you want to start your journey without taking the training program. Then, I will let you move on to the training ground. Be careful~");
}else if(status == 1){ }else if(status == 1){
cm.warp(1); cm.warp(1, 0);
dispose(); dispose();
}else{ }else{
cm.warp(40000); cm.warp(40000, 0);
dispose(); dispose();
} }
}else }else

View File

@@ -36,7 +36,7 @@ function action(mode, type, selection) {
if (status == 0) if (status == 0)
cm.sendNext("Then, I will send you out from here. Good job."); cm.sendNext("Then, I will send you out from here. Good job.");
else{ else{
cm.warp(40000); cm.warp(40000, 0);
cm.dispose(); cm.dispose();
} }
} }

View File

@@ -35,6 +35,7 @@ function action(mode, type, selection) {
status++; status++;
else else
status--; status--;
if (status == 0) { if (status == 0) {
cm.sendNext("Bam bam bam bam!! You have won the game from the \r\n#bEVENT#k. Congratulations on making it this far!"); cm.sendNext("Bam bam bam bam!! You have won the game from the \r\n#bEVENT#k. Congratulations on making it this far!");
} else if (status == 1) { } else if (status == 1) {

View File

@@ -59,7 +59,7 @@ function action(mode, type, selection) {
if (cm.getEvent() != null) { if (cm.getEvent() != null) {
cm.getEvent().addLimit(); cm.getEvent().addLimit();
} }
cm.warp(109050001); cm.warp(109050001, 0);
cm.dispose(); cm.dispose();
} }
} }

View File

@@ -58,7 +58,7 @@ function action(m,t,s) {
} else if (status == 2) } else if (status == 2)
cm.sendNext("Thank you so much. Please rescue Gaga! Grandpa from the moon will help you."); cm.sendNext("Thank you so much. Please rescue Gaga! Grandpa from the moon will help you.");
else if (status == 3) { else if (status == 3) {
cm.warp(922240200); cm.warp(922240200, 0);
cm.dispose(); cm.dispose();
} }
} else if (cm.getPlayer().getMapId() == 922240200) { } else if (cm.getPlayer().getMapId() == 922240200) {
@@ -94,7 +94,7 @@ function action(m,t,s) {
cm.dispose(); cm.dispose();
} }
} else if ((cm.getPlayer().getMapId() >= 922240000 && cm.getPlayer().getMapId() <= 922240019) || (cm.getPlayer().getMapId() >= 922240100 && cm.getPlayer().getMapId() <= 922240119)) { } else if ((cm.getPlayer().getMapId() >= 922240000 && cm.getPlayer().getMapId() <= 922240019) || (cm.getPlayer().getMapId() >= 922240100 && cm.getPlayer().getMapId() <= 922240119)) {
cm.warp(922240200); cm.warp(922240200, 0);
cm.dispose(); cm.dispose();
} }
} else if (m < 1) { } else if (m < 1) {

View File

@@ -90,11 +90,11 @@ function action(mode, type, selection) {
break; break;
case 3: case 3:
if (cm.haveItem(4000313)) { if (cm.haveItem(4000313)) {
cm.warp(680000210); cm.warp(680000210, 0);
cm.sendOk("Enjoy the wedding. Don't drop your Gold Maple Leaf or you won't be able to finish the whole wedding."); cm.sendOk("Enjoy the wedding. Don't drop your Gold Maple Leaf or you won't be able to finish the whole wedding.");
cm.dispose(); cm.dispose();
} else { } else {
cm.sendOk("You do not have a Gold Maple Leaf"); cm.sendOk("You do not have a Gold Maple Leaf.");
cm.dispose(); cm.dispose();
} }
break; break;

View File

@@ -79,7 +79,7 @@ function action(mode, type, selection) {
} else if (status == 1) { } else if (status == 1) {
switch(selection) { switch(selection) {
case 0: case 0:
cm.warp(680000300); cm.warp(680000300, 0);
cm.sendOk("Enjoy! Cherish your Photos Forever!"); cm.sendOk("Enjoy! Cherish your Photos Forever!");
cm.dispose(); cm.dispose();
break; break;

View File

@@ -27,7 +27,7 @@ function start() {
function action(mode, type, selection) { function action(mode, type, selection) {
if (mode < 1) { if (mode < 1) {
cm.sendOk("Goodbye then"); cm.sendOk("Goodbye then.");
cm.dispose(); cm.dispose();
return; return;
} }
@@ -37,14 +37,14 @@ function action(mode, type, selection) {
status--; status--;
if (status == 1) { if (status == 1) {
if (selection < 1) if (selection < 1)
cm.warp(680000400); cm.warp(680000400, 0);
else if (selection < 2) { else if (selection < 2) {
if (cm.haveItem(4031217,7)) if (cm.haveItem(4031217,7))
cm.gainItem(4031217, -7); cm.gainItem(4031217, -7);
else else
cm.sendOk("It seems like you don't have 7 Keys. Kill the cakes and candles in the Untamed Heart Hunting Ground to get keys. "); cm.sendOk("It seems like you don't have 7 Keys. Kill the cakes and candles in the Untamed Heart Hunting Ground to get keys. ");
} else if (selection > 1) { } else if (selection > 1) {
cm.warp(680000500); cm.warp(680000500, 0);
cm.sendOk("Goodbye. I hope you enjoyed the wedding!"); cm.sendOk("Goodbye. I hope you enjoyed the wedding!");
} }
cm.dispose(); cm.dispose();

View File

@@ -54,7 +54,7 @@ function start() {
function action(mode, type, selection) { function action(mode, type, selection) {
if (mode < 1) { if (mode < 1) {
cm.sendOk("Goodbye then"); cm.sendOk("Goodbye then.");
cm.dispose(); cm.dispose();
} else { } else {
status++; status++;

View File

@@ -2,10 +2,10 @@
function enter(pi) { function enter(pi) {
if (pi.getPlayer().getEvents().getGagaRescue().fallAndGet() > 3) { if (pi.getPlayer().getEvents().getGagaRescue().fallAndGet() > 3) {
pi.warp(922240200); pi.warp(922240200, 0);
pi.getPlayer().cancelEffect(2360002); pi.getPlayer().cancelEffect(2360002);
} else } else
pi.warp(pi.getPlayer().getMapId()); pi.warp(pi.getPlayer().getMapId(), 0);
return true; return true;
} }

View File

@@ -2,10 +2,10 @@
function enter(pi) { function enter(pi) {
if (pi.getPlayer().getEvents().getGagaRescue().fallAndGet() > 3) { if (pi.getPlayer().getEvents().getGagaRescue().fallAndGet() > 3) {
pi.warp(922240200); pi.warp(922240200, 0);
pi.getPlayer().cancelEffect(2360002); pi.getPlayer().cancelEffect(2360002);
} else } else
pi.warp(pi.getPlayer().getMapId()); pi.warp(pi.getPlayer().getMapId(), 0);
return true; return true;
} }

View File

@@ -2,10 +2,10 @@
function enter(pi) { function enter(pi) {
if (pi.getPlayer().getEvents().getGagaRescue().fallAndGet() > 3) { if (pi.getPlayer().getEvents().getGagaRescue().fallAndGet() > 3) {
pi.warp(922240200); pi.warp(922240200, 0);
pi.getPlayer().cancelEffect(2360002); pi.getPlayer().cancelEffect(2360002);
} else } else
pi.warp(pi.getPlayer().getMapId()); pi.warp(pi.getPlayer().getMapId(), 0);
return true; return true;
} }

View File

@@ -2,10 +2,10 @@
function enter(pi) { function enter(pi) {
if (pi.getPlayer().getEvents().getGagaRescue().fallAndGet() > 3) { if (pi.getPlayer().getEvents().getGagaRescue().fallAndGet() > 3) {
pi.warp(922240200); pi.warp(922240200, 0);
pi.getPlayer().cancelEffect(2360002); pi.getPlayer().cancelEffect(2360002);
} else } else
pi.warp(pi.getPlayer().getMapId()); pi.warp(pi.getPlayer().getMapId(), 0);
return true; return true;
} }

View File

@@ -20,6 +20,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
function enter(pi) { function enter(pi) {
pi.warp(980010020); pi.warp(980010020, 0);
return true; return true;
} }

View File

@@ -20,6 +20,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
function enter(pi) { function enter(pi) {
pi.warp(980010000); pi.warp(980010000, 0);
return true; return true;
} }

View File

@@ -32,7 +32,7 @@
function enter(pi) { function enter(pi) {
if (pi.getPlayer().haveItem(4031582) == true) { if (pi.getPlayer().haveItem(4031582) == true) {
pi.playPortalSound(); pi.playPortalSound();
pi.warp(260000301); pi.warp(260000301, 0);
return true; return true;
} else { } else {
pi.playerMessage(5, "You can enter only if you have a Entry Pass to the Palace."); pi.playerMessage(5, "You can enter only if you have a Entry Pass to the Palace.");

View File

@@ -1,6 +1,6 @@
function enter(pi) { function enter(pi) {
if (pi.isQuestStarted(2570)) { if (pi.isQuestStarted(2570)) {
pi.warp(120000101); pi.warp(120000101, 0);
return true; return true;
} }
pi.earnTitle("You still got some stuff to take care of. I can see it in your eyes. Wait...no, those are eye boogers."); pi.earnTitle("You still got some stuff to take care of. I can see it in your eyes. Wait...no, those are eye boogers.");

View File

@@ -2,6 +2,6 @@
function enter(pi) { function enter(pi) {
pi.playPortalSound(); pi.playPortalSound();
pi.warp(900090100); pi.warp(900090100, 0);
return true; return true;
} }

View File

@@ -20,6 +20,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
function enter(pi){ function enter(pi){
pi.warp(920020000); pi.warp(920020000, 0);
return true; return true;
} }

View File

@@ -1,5 +1,5 @@
function enter(pi) { function enter(pi) {
pi.playPortalSound(); pi.playPortalSound();
pi.warp(100030100); pi.warp(100030100, 0);
return true; return true;
} }

View File

@@ -13,11 +13,16 @@ function enter(pi) {
var mapp = pi.getMap(map); var mapp = pi.getMap(map);
mapp.resetFully(); mapp.resetFully();
mapp.respawn(true); mapp.respawn(true);
pi.playPortalSound();
pi.warp(map, 0); pi.warp(map, 0);
return true;
} else { } else {
pi.playerMessage(5, "Someone is already in this map."); pi.playerMessage(5, "Someone is already in this map.");
return false;
} }
} else { } else {
pi.playerMessage(5, "Hall #1 can only be entered if you're engaged in Kiku's Acclimation Training."); pi.playerMessage(5, "Hall #1 can only be entered if you're engaged in Kiku's Acclimation Training.");
return false;
} }
} }

View File

@@ -3,16 +3,22 @@ function enter(pi) {
pi.playerMessage(5, "You already have the proof of ability."); pi.playerMessage(5, "You already have the proof of ability.");
return false; return false;
} }
if (pi.isQuestStarted(20611) || pi.isQuestStarted(20612) || pi.isQuestStarted(20613) || pi.isQuestStarted(20614) || pi.isQuestStarted(20615)) { if (pi.isQuestStarted(20611) || pi.isQuestStarted(20612) || pi.isQuestStarted(20613) || pi.isQuestStarted(20614) || pi.isQuestStarted(20615)) {
if (pi.getPlayerCount(913020300) == 0) { if (pi.getPlayerCount(913020300) == 0) {
var map = pi.getMap(913020300); var map = pi.getMap(913020300);
map.killAllMonsters(); map.killAllMonsters();
pi.playPortalSound();
pi.warp(913020300, 0); pi.warp(913020300, 0);
pi.spawnMonster(9300294, 87,88); pi.spawnMonster(9300294, 87,88);
return true;
} else { } else {
pi.playerMessage(5, "Someone is already attempting to defeat the boss. Better come back later."); pi.playerMessage(5, "Someone is already attempting to defeat the boss. Better come back later.");
return false;
} }
} else { } else {
pi.playerMessage(5, "You cannot access this hall."); pi.playerMessage(5, "You cannot access this hall.");
return false;
} }
} }

View File

@@ -1,5 +1,5 @@
function enter(pi) { function enter(pi) {
pi.playPortalSound(); pi.playPortalSound();
pi.warp(900090102); pi.warp(900090102, 0);
return true; return true;
} }

View File

@@ -1,6 +1,6 @@
function enter(pi) { function enter(pi) {
if(pi.isQuestStarted(22010) || pi.getPlayer().getJob().getId() != 2001) { if(pi.isQuestStarted(22010) || pi.getPlayer().getJob().getId() != 2001) {
pi.warp(100030310); pi.warp(100030310, 0);
} else { } else {
pi.playerMessage(5, "Cannot enter the Lush Forest without a reason."); pi.playerMessage(5, "Cannot enter the Lush Forest without a reason.");
} }

View File

@@ -27,7 +27,7 @@ Sharen III's Grave Exit - Guild Quest
function enter(pi) { function enter(pi) {
if (pi.getPlayer().getMap().getReactorByName("ghostgate").getState() == 1) { if (pi.getPlayer().getMap().getReactorByName("ghostgate").getState() == 1) {
pi.warp(990000800); pi.warp(990000800, 0);
return true; return true;
} }
else { else {

View File

@@ -32,7 +32,7 @@ function enter(pi) {
var timeLeft = Math.ceil((entryTime - timeNow) / 1000); var timeLeft = Math.ceil((entryTime - timeNow) / 1000);
if(timeLeft <= 0) { if(timeLeft <= 0) {
pi.warp(990000100); pi.warp(990000100, 0);
return true; return true;
} }
else { //cannot proceed while allies can still enter else { //cannot proceed while allies can still enter

View File

@@ -32,7 +32,7 @@ function enter(pi) {
pi.getPlayer().dropMessage(6, "You cannot pass to the next map holding the 1st Crystal Key in your inventory."); pi.getPlayer().dropMessage(6, "You cannot pass to the next map holding the 1st Crystal Key in your inventory.");
return false; return false;
} }
pi.warp(240050101); pi.warp(240050101, 0);
return true; return true;
} }
} }

View File

@@ -1,9 +1,9 @@
function enter(pi) { function enter(pi) {
pi.playPortalSound(); pi.playPortalSound();
if(pi.isQuestStarted(22005)){ if(pi.isQuestStarted(22005)){
pi.warp(900020100); pi.warp(900020100, 0);
} else{ } else{
pi.warp(100030301); pi.warp(100030301, 0);
} }
return true; return true;
} }

View File

@@ -20,6 +20,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
function enter(pi) { function enter(pi) {
pi.warp(101000400, 0); pi.warp(101000400, 2);
return true; return true;
} }

View File

@@ -24,7 +24,7 @@ function enter(pi) {
var toMap = pi.getPlayer().getSavedLocation("FREE_MARKET"); var toMap = pi.getPlayer().getSavedLocation("FREE_MARKET");
pi.warp(toMap, pi.getMarketPortalId(toMap)); pi.warp(toMap, pi.getMarketPortalId(toMap));
} catch(err) { } catch(err) {
pi.warp(100000000); pi.warp(100000000, 0);
} }
return true; return true;
} }

View File

@@ -27,7 +27,7 @@ Stage 2: Door guarded by Dark Muscle Golems - Guild Quest
function enter(pi) { function enter(pi) {
if (pi.getPlayer().getMap().getReactorByName("metalgate").getState() == 1) { if (pi.getPlayer().getMap().getReactorByName("metalgate").getState() == 1) {
pi.warp(990000431); pi.warp(990000431, 0);
return true; return true;
} }
pi.playerMessage(5, "This way forward is not open yet."); pi.playerMessage(5, "This way forward is not open yet.");

View File

@@ -20,6 +20,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
function enter(pi) { function enter(pi) {
pi.warp(140000000); pi.warp(140000000, 0);
return true; return true;
} }

View File

@@ -1,4 +1,4 @@
function enter(pi) { function enter(pi) {
pi.warp(105100000); pi.warp(105100000, 0);
return(true); return(true);
} }

View File

@@ -21,6 +21,6 @@
*/ */
function enter(pi) { function enter(pi) {
pi.useItem(2210016); pi.useItem(2210016);
pi.warp(200090510); pi.warp(200090510, 0);
return true; return true;
} }

View File

@@ -1,6 +1,6 @@
function enter(pi) { function enter(pi) {
if (pi.getMap().getReactorByName("rnj6_out").getState() == 1) { if (pi.getMap().getReactorByName("rnj6_out").getState() == 1) {
pi.warp(926100300); pi.warp(926100300, 0);
return(true); return(true);
} else { } else {
pi.playerMessage(5, "The portal is not opened yet."); pi.playerMessage(5, "The portal is not opened yet.");

View File

@@ -24,7 +24,7 @@
*/ */
function enter(pi) { function enter(pi) {
if (pi.getPlayer().getMap().getReactorByName("stonegate").getState() == 1) { if (pi.getPlayer().getMap().getReactorByName("stonegate").getState() == 1) {
pi.warp(990000430); pi.warp(990000430, 0);
return true; return true;
} else { } else {
pi.getPlayer().dropMessage(5, "The door is still blocked."); pi.getPlayer().dropMessage(5, "The door is still blocked.");

View File

@@ -1,16 +1,16 @@
function enter(pi) { function enter(pi) {
if(pi.getPlayer().getMapId() == 130030001){ if(pi.getPlayer().getMapId() == 130030001){
if(pi.isQuestStarted(20010)){ if(pi.isQuestStarted(20010)){
pi.warp(130030002); pi.warp(130030002, 0);
} else { } else {
pi.message("Please click on the NPC first to receive a quest"); pi.message("Please click on the NPC first to receive a quest.");
} }
} else if(pi.getPlayer().getMapId() == 130030002){ } else if(pi.getPlayer().getMapId() == 130030002){
pi.warp(130030003); pi.warp(130030003, 0);
} else if(pi.getPlayer().getMapId() == 130030003){ } else if(pi.getPlayer().getMapId() == 130030003){
pi.warp(130030004); pi.warp(130030004, 0);
} else if(pi.getPlayer().getMapId() == 130030004){ } else if(pi.getPlayer().getMapId() == 130030004){
pi.warp(130030005); pi.warp(130030005, 0);
} }
return true; return true;
} }

View File

@@ -20,7 +20,7 @@ function end(mode, type, selection) {
if (status == 0) { if (status == 0) {
qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Soul Master?"); qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Soul Master?");
} else if (status == 1) { } else if (status == 1) {
qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you arn't sure what to raise, just click on #bAuto#k."); qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you aren't sure what to raise, just click on #bAuto#k.");
if (qm.getPlayer().getJob().getId() != 1100) { if (qm.getPlayer().getJob().getId() != 1100) {
qm.gainItem(1302077, 1); qm.gainItem(1302077, 1);
qm.gainItem(1142066, 1); qm.gainItem(1142066, 1);

View File

@@ -20,7 +20,7 @@ function end(mode, type, selection) {
if (status == 0) { if (status == 0) {
qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Flame Wizard?"); qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Flame Wizard?");
} else if (status == 1) { } else if (status == 1) {
qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you arn't sure what to raise, just click on #bAuto#k."); qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you aren't sure what to raise, just click on #bAuto#k.");
if (qm.getPlayer().getJob().getId() != 1200) { if (qm.getPlayer().getJob().getId() != 1200) {
qm.gainItem(1372043, 1); qm.gainItem(1372043, 1);
qm.gainItem(1142066, 1); qm.gainItem(1142066, 1);

View File

@@ -19,7 +19,7 @@ function end(mode, type, selection) {
if (status == 0) { if (status == 0) {
qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Wind Breaker?"); qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Wind Breaker?");
} else if (status == 1) { } else if (status == 1) {
qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you arn't sure what to raise, just click on #bAuto#k."); qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you aren't sure what to raise, just click on #bAuto#k.");
if (qm.getPlayer().getJob().getId() != 1300) { if (qm.getPlayer().getJob().getId() != 1300) {
qm.gainItem(2060000, 2000); qm.gainItem(2060000, 2000);
qm.gainItem(1452051, 1); qm.gainItem(1452051, 1);

View File

@@ -19,7 +19,7 @@ function end(mode, type, selection) {
if (status == 0) { if (status == 0) {
qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Night Walker?"); qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Night Walker?");
} else if (status == 1) { } else if (status == 1) {
qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you arn't sure what to raise, just click on #bAuto#k."); qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you aren't sure what to raise, just click on #bAuto#k.");
if (qm.getPlayer().getJob().getId() != 1400) { if (qm.getPlayer().getJob().getId() != 1400) {
qm.gainItem(1472061, 1); qm.gainItem(1472061, 1);
qm.gainItem(2070015, 800); qm.gainItem(2070015, 800);

View File

@@ -20,7 +20,7 @@ function end(mode, type, selection) {
if (status == 0) { if (status == 0) {
qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Striker?"); qm.sendYesNo("Have you made your decision? The decision will be final, so think carefully before deciding what to do. Are you sure you want to become a Striker?");
} else if (status == 1) { } else if (status == 1) {
qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you arn't sure what to raise, just click on #bAuto#k."); qm.sendNext("I have just molded your body to make it perfect for a Soul Master. If you wish to become more powerful, use Stat Window (S) to raise the appropriate stats. If you aren't sure what to raise, just click on #bAuto#k.");
if (qm.getplayer().getJob().getId() != 1500) { if (qm.getplayer().getJob().getId() != 1500) {
qm.gainItem(1482014, 1); qm.gainItem(1482014, 1);
qm.gainItem(1142066, 1); qm.gainItem(1142066, 1);

View File

@@ -42,7 +42,7 @@ function start(mode, type, selection) {
} else if (status == 1) { } else if (status == 1) {
qm.gainItem(4001271, 1); qm.gainItem(4001271, 1);
qm.forceStartQuest(); qm.forceStartQuest();
qm.warp(914000300); qm.warp(914000300, 0);
qm.dispose(); qm.dispose();
} }
} }
@@ -79,7 +79,7 @@ function end(mode, type, selection) {
qm.removeEquipFromSlot(-11); qm.removeEquipFromSlot(-11);
qm.forceCompleteQuest(); qm.forceCompleteQuest();
qm.warp(914090010); // Initialize Aran Tutorial Scenes qm.warp(914090010, 0); // Initialize Aran Tutorial Scenes
qm.dispose(); qm.dispose();
} }
} }

View File

@@ -58,7 +58,7 @@ function start(mode, type, selection) {
qm.sendNextPrev("#b(You might be starting to remember something...)#k", 3); qm.sendNextPrev("#b(You might be starting to remember something...)#k", 3);
} }
} else if (status == 2) { } else if (status == 2) {
//qm.warp(914090100); //qm.warp(914090100, 0);
qm.dispose(); qm.dispose();
} }
} }

Some files were not shown because too many files have changed in this diff Show More