Aran skill & mount quests + New player IDs + MapleSkillMakerFetcher
Aran skill and mount questlines fixed. Player ID starts counting from 20mil now, preventing clashes with map objects oid's (trying to solve the NPC disappearing issue). New tool: MapleSkillMakerFetcher. It compiles a SQL script file containing updated Maker data info from the inputted ItemMake.wz.xml. Updated Maker tables on the DB.
This commit is contained in:
10
scripts/portal/enterBackStreet.js
Normal file
10
scripts/portal/enterBackStreet.js
Normal file
@@ -0,0 +1,10 @@
|
||||
function enter(pi) {
|
||||
if(pi.isQuestActive(21747) || pi.isQuestActive(21744) && pi.isQuestCompleted(21745)) {
|
||||
pi.warp(925040000,0);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
pi.message("You don't have permission to access this area.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
function enter(pi) {
|
||||
if(pi.isQuestCompleted(20730) || pi.isQuestCompleted(21731)) { // puppeteer defeated, newfound secret path
|
||||
if(pi.isQuestCompleted(20730) || pi.isQuestCompleted(21734)) { // puppeteer defeated, newfound secret path
|
||||
pi.warp(105070300,3);
|
||||
return true;
|
||||
} else if(pi.isQuestStarted(21731)) {
|
||||
} else if(pi.isQuestStarted(21734)) {
|
||||
pi.warp(910510100,0);
|
||||
return true;
|
||||
} else {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
function enter(pi) {
|
||||
if(pi.isQuestCompleted(20730) || pi.isQuestCompleted(21731)) { // puppeteer defeated, newfound secret path
|
||||
if(pi.isQuestCompleted(20730) || pi.isQuestCompleted(21734)) { // puppeteer defeated, newfound secret path
|
||||
pi.warp(105040201,2);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
function enter(pi) {
|
||||
var mapobj = pi.getWarpMap(104000004);
|
||||
if(pi.isQuestActive(21733) && pi.getQuestProgress(21733, 9300345) == 0 && mapobj.countMonsters() == 0) {
|
||||
mapobj.spawnMonsterOnGroundBelow(Packages.server.life.MapleLifeFactory.getMonster(9300345), new java.awt.Point(0, 0));
|
||||
}
|
||||
|
||||
pi.playPortalSound();
|
||||
pi.warp(104000004, 1);
|
||||
return true;
|
||||
|
||||
22
scripts/portal/enterNepenthes.js
Normal file
22
scripts/portal/enterNepenthes.js
Normal file
@@ -0,0 +1,22 @@
|
||||
function enter(pi) {
|
||||
if (pi.isQuestActive(21739)) {
|
||||
var mapobj1 = pi.getWarpMap(920030000);
|
||||
var mapobj2 = pi.getWarpMap(920030001);
|
||||
|
||||
if(mapobj1.countPlayers() == 0 && mapobj2.countPlayers() == 0) {
|
||||
mapobj1.resetPQ(1);
|
||||
mapobj2.resetPQ(1);
|
||||
|
||||
mapobj2.spawnMonsterOnGroundBelow(Packages.server.life.MapleLifeFactory.getMonster(9300348), new Packages.java.awt.Point(591, -34));
|
||||
|
||||
pi.warp(920030000,2);
|
||||
return true;
|
||||
} else {
|
||||
pi.message("Someone is already challenging the area.");
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
pi.warp(200060001,2);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
23
scripts/portal/enterRider.js
Normal file
23
scripts/portal/enterRider.js
Normal file
@@ -0,0 +1,23 @@
|
||||
function enter(pi) {
|
||||
if(pi.isQuestStarted(21610) && pi.haveItem(4001193, 1) == 0) {
|
||||
var em = pi.getEventManager("Aran_2ndmount");
|
||||
if (em == null) {
|
||||
pi.message("Sorry, but the 2nd mount quest (Scadur) is closed.");
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
if (em.getProperty("noEntry") == "false") {
|
||||
var eim = em.newInstance("Aran_2ndmount");
|
||||
eim.registerPlayer(pi.getPlayer());
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
pi.message("There is currently someone in this map, come back later.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
pi.playerMessage(5, "Only attendants of the 2nd Wolf Riding quest may enter this field.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
10
scripts/portal/outRider.js
Normal file
10
scripts/portal/outRider.js
Normal file
@@ -0,0 +1,10 @@
|
||||
function enter(pi) {
|
||||
if(pi.canHold(4001193, 1)) {
|
||||
pi.gainItem(4001193, 1);
|
||||
pi.warp(211050000, 4);
|
||||
return true;
|
||||
} else {
|
||||
pi.playerMessage(5, "Free a slot on your inventory before receiving the couse clear's token.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
25
scripts/portal/outSpecialSchool.js
Normal file
25
scripts/portal/outSpecialSchool.js
Normal 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 enter(pi) {
|
||||
pi.warp(925040000, 1);
|
||||
return true;
|
||||
}
|
||||
15
scripts/portal/outtestWolf.js
Normal file
15
scripts/portal/outtestWolf.js
Normal file
@@ -0,0 +1,15 @@
|
||||
function enter(pi) {
|
||||
if(pi.getMap().countMonsters() == 0) {
|
||||
if(pi.canHold(4001193, 1)) {
|
||||
pi.gainItem(4001193, 1);
|
||||
pi.warp(140010210, 0);
|
||||
return true;
|
||||
} else {
|
||||
pi.playerMessage(5, "Free a slot on your inventory before receiving the couse clear's token.");
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
pi.playerMessage(5, "Defeat all wolves before exiting the stage.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user