Clean-up Patch
Bug correction on some quests.
This commit is contained in:
+4
-1
@@ -94,4 +94,7 @@ Correcao de bug.
|
||||
|
||||
18 Julho 2016,
|
||||
Bazaar NPC (Donation Box): venda automatica de um item designado e todos os itens que estiverem imediatamente após.
|
||||
Spindle: NPC scroll seller.
|
||||
Spindle: NPC scroll seller.
|
||||
|
||||
26 Julho 2016,
|
||||
Correcao de bug.
|
||||
@@ -3,33 +3,12 @@
|
||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/scripts/npc/world0/9000036.js</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/scripting/reactor/ReactorActionManager.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/scripting/npc/NPCConversationManager.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/client/inventory/MapleInventory.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/scripting/npc/NPCScriptManager.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/client/MapleClient.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/server/MapleItemInformationProvider.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/wz/Quest.wz/QuestInfo.img.xml</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/client/MonsterBook.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/scripting/event/EventInstanceManager.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/server/MapleStorage.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/server/MapleShop.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/client/inventory/MapleInventoryType.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/client/inventory/Item.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/server/maps/MapleReactorStats.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/scripting/AbstractScriptManager.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/provider/MapleData.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/provider/MapleDataProvider.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/net/MapleServerHandler.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/client/MapleCharacter.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/client/command/Commands.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/tools/MaplePacketCreator.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/logs/29-07-2015/error/saveToDB.txt</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/scripting/AbstractPlayerInteraction.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/net/server/RankingWorker.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/scripting/npc/NPCConversationManager.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/wz/Mob.wz/7220000.img.xml</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/server/MapleItemInformationProvider.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/scripting/quest/QuestActionManager.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/constants/ServerConstants.java</file>
|
||||
<file>file:/C:/Nexon/MapleSolaxia/src/server/maps/MapleReactor.java</file>
|
||||
</group>
|
||||
</open-files>
|
||||
</project-private>
|
||||
|
||||
@@ -24,10 +24,19 @@ function action(mode, type, selection) {
|
||||
cm.dispose();
|
||||
if (status == 0 && mode == 1) {
|
||||
if (cm.isQuestActive(3821)) {
|
||||
cm.forceCompleteQuest(3821);
|
||||
cm.sendNext("Quest complete.");
|
||||
cm.dispose();
|
||||
return;
|
||||
if(!cm.haveItem(4031554)) {
|
||||
if(cm.canHold(4031554)) {
|
||||
cm.sendNext("Oh, the boy wanted you to bring him a #t4031554#? No problem, I was on his debt anyway. Now, tell him I am repaying the debt, OK?");
|
||||
cm.gainItem(4031554, 1);
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
cm.sendNext("Make room at your ETC inventory first.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
var selStr = "I am a man of many talents. Let me know what you'd like to do. #b"
|
||||
var options = new Array("Make a medicine","Make a scroll","Donate medicine ingredients","I want to forfeit the restoration of Portrait Scroll...");
|
||||
|
||||
@@ -59,6 +59,7 @@ function start() {
|
||||
} else {
|
||||
cm.sendOk("Hey! Are you mocking my master? Who do you think you are to challenge him? This is a joke! You should at least be level #b25#k.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,16 +78,20 @@ function action(mode, type, selection) {
|
||||
} else if (status == 1) {
|
||||
if (mode == 0) {
|
||||
cm.sendNext("Haha! Who are you trying to impress with a heart like that?\r\nGo back home where you belong!");
|
||||
cm.dispose();
|
||||
return;
|
||||
} else {
|
||||
if(cm.getClient().getChannelServer().getMapFactory().getMap(925020010).getCharacters().size() > 0) {
|
||||
cm.sendOk("Someone is already in Dojo");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
cm.warp(925020010, 0);
|
||||
cm.getPlayer().setFinishedDojoTutorial();
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
cm.dispose();
|
||||
}
|
||||
} else if (cm.getPlayer().getDojoStage() > 0) {
|
||||
if (status == 0) {
|
||||
@@ -107,6 +112,7 @@ function action(mode, type, selection) {
|
||||
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).killAllMonsters();
|
||||
cm.warp(925020100, 0);
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
} else if (selectedMenu == 1) { //I want to challenge him with a party.
|
||||
var party = cm.getPlayer().getParty();
|
||||
@@ -128,10 +134,17 @@ function action(mode, type, selection) {
|
||||
if (party.getLeader().getId() != cm.getPlayer().getId()) {
|
||||
cm.sendNext("Where do you think you're going? You're not even the party leader! Go tell your party leader to talk to me.");
|
||||
cm.dispose();
|
||||
} else if (party.getMembers().size() == 1) {
|
||||
cm.sendNext("You're going to take on the challenge as a one-man party?");
|
||||
} else if (!isBetween30) {
|
||||
return;
|
||||
}
|
||||
|
||||
//else if (party.getMembers().size() == 1) {
|
||||
// cm.sendNext("You're going to take on the challenge as a one-man party?");
|
||||
//}
|
||||
|
||||
else if (!isBetween30) {
|
||||
cm.sendNext("Your partys level ranges are too broad to enter. Please make sure all of your party members are within #r30 levels#k of each other.");
|
||||
cm.dispose();
|
||||
return;
|
||||
} else {
|
||||
for (var i = 1 ; i < 39; i++) { //only 32 stages, but 38 maps
|
||||
if(cm.getClient().getChannelServer().getMapFactory().getMap(925020000 + 100 * i).getCharacters().size() > 0) {
|
||||
@@ -144,10 +157,16 @@ function action(mode, type, selection) {
|
||||
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).killAllMonsters();
|
||||
cm.warpParty(925020100);
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
cm.dispose();
|
||||
|
||||
} else if (selectedMenu == 2) { //I want to receive a belt.
|
||||
if (mode < 1) {
|
||||
if (!cm.canHold(belts[0])) {
|
||||
cm.sendNext("Make room in your EQUIP inventory before trying to claim a belt!");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (mode < 1) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
@@ -155,9 +174,9 @@ function action(mode, type, selection) {
|
||||
var selStr = "You have #b" + cm.getPlayer().getDojoPoints() + "#k training points. Master prefers those with great talent. If you obtain more points than the average, you can receive a belt depending on your score.\r\n";
|
||||
for (var i = 0; i < belts.length; i++) {
|
||||
if (cm.getPlayer().getItemQuantity(belts[i], true) > 0) {
|
||||
selStr += "\r\n #i" + belts[i] + "# #t" + belts[i] + "#(Obtain)";
|
||||
selStr += "\r\n#L" + i + "##i" + belts[i] + "# #t" + belts[i] + "# (Obtained)";
|
||||
} else
|
||||
selStr += "\r\n#L" + i + "##i" + belts[i] + "# #t" + belts[i] + "#l";
|
||||
selStr += "\r\n#L" + i + "##i" + belts[i] + "# #t" + belts[i] + "#";
|
||||
}
|
||||
cm.sendSimple(selStr);
|
||||
} else if (status == 1) {
|
||||
@@ -165,13 +184,17 @@ function action(mode, type, selection) {
|
||||
var level = belt_level[selection];
|
||||
var points = belt_points[selection];
|
||||
if (cm.getPlayer().getDojoPoints() > points) {
|
||||
if (cm.getPlayer().getLevel() > level)
|
||||
if (cm.getPlayer().getLevel() > level) {
|
||||
cm.gainItem(belt, 1);
|
||||
cm.sendNext("There is the #i" + belt + "# #b#t" + belt + "##k. You have proven your valor to ascend on the Dojo ranks. Well done!");
|
||||
}
|
||||
else
|
||||
cm.sendNext("In order to receive #i" + belt + "# #b#t" + belt + "##k, you have to be at least over level #b" + level + "#k and you need to have earned at least #b" + points + " training points#k.\r\n\r\nIf you want to obtain this belt, you need #r" + (points - cm.getPlayer().getDojoPoints()) + "#k more training points.");
|
||||
} else
|
||||
cm.sendNext("In order to receive #i" + belt + "# #b#t" + belt + "##k, you have to be at least over level #b" + level + "#k and you need to have earned at least #b" + points + " training points#k.\r\n\r\nIf you want to obtain this belt, you need #r" + (points - cm.getPlayer().getDojoPoints()) + "#k more training points.");
|
||||
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
} else if (selectedMenu == 3) { //I want to reset my training points.
|
||||
if (status == 0) {
|
||||
@@ -184,6 +207,7 @@ function action(mode, type, selection) {
|
||||
cm.sendNext("There! All your training points have been reset. Think of it as a new beginning and train hard!");
|
||||
}
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
} else if (selectedMenu == 4) { //I want to receive a medal.
|
||||
if (status == 0 && cm.getPlayer().getVanquisherStage() <= 0) {
|
||||
@@ -191,10 +215,9 @@ function action(mode, type, selection) {
|
||||
} else if (status == 1 || cm.getPlayer().getVanquisherStage() > 0) {
|
||||
if (mode == 0) {
|
||||
cm.sendNext("If you don't want to, that's fine.");
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (cm.getPlayer().getDojoStage() > 37) {
|
||||
cm.sendNext("You have complete all medals challenges.");
|
||||
cm.sendNext("You have completed all medals challenges.");
|
||||
} else if (cm.getPlayer().getVanquisherKills() < 100 && cm.getPlayer().getVanquisherStage() > 0)
|
||||
cm.sendNext("You still need #b" + (100 - cm.getPlayer().getVanquisherKills()) + "#k in order to obtain the #b#t" + (1142032 + cm.getPlayer().getVanquisherStage()) + "##k. Please try a little harder. As a reminder, only the mosnters that have been summoned by our Master in Mu Lung Dojo are considered. Oh, and make sure you're not hunting the monsters and exiting!#r If you don't go to the next level after defeating the monster, it doesn't count as a win#k.");
|
||||
else if (cm.getPlayer().getVanquisherStage() <= 0) {
|
||||
@@ -206,14 +229,23 @@ function action(mode, type, selection) {
|
||||
cm.getPlayer().setVanquisherKills(0);
|
||||
}
|
||||
}
|
||||
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
else {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
} else if (selectedMenu == 5) { //What is a Mu Lung Dojo?
|
||||
cm.sendNext("Our master is the strongest person in Mu Lung. The place he built is called the Mu Lung Dojo, a building that is 38 stories tall! You can train yourself as you go up each level. Of course, it'll be hard for someone at your level to reach the top.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
} else
|
||||
} else {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
} else if (isRestingSpot(cm.getPlayer().getMap().getId())) {
|
||||
if (selectedMenu == -1)
|
||||
selectedMenu = selection;
|
||||
@@ -221,6 +253,7 @@ function action(mode, type, selection) {
|
||||
if (selectedMenu == 0) {
|
||||
cm.warp(cm.getPlayer().getMap().getId() + 100, 0);
|
||||
cm.dispose();
|
||||
return;
|
||||
} else if (selectedMenu == 1) { //I want to leave
|
||||
if (status == 0) {
|
||||
cm.sendAcceptDecline("So, you're giving up? You're really going to leave?");
|
||||
@@ -229,6 +262,7 @@ function action(mode, type, selection) {
|
||||
cm.warp(925020002);
|
||||
}
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
} else if (selectedMenu == 2) { //I want to record my score up to this point
|
||||
if (status == 0) {
|
||||
@@ -243,6 +277,7 @@ function action(mode, type, selection) {
|
||||
cm.getPlayer().setDojoStage((cm.getMapId() - 925020000) / 100);
|
||||
}
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -0,0 +1,261 @@
|
||||
/*
|
||||
This file is part of the OdinMS Maple Story Server
|
||||
Copyright (C) 2008 Patrick Huy <[email protected]>
|
||||
Matthias Butz <[email protected]>
|
||||
Jan Christian Meyer <[email protected]>
|
||||
|
||||
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: Moogra, XxOsirisxX
|
||||
* @NPC: 2091005
|
||||
* @Name: So Gong
|
||||
* @Map(s): Dojo Hall
|
||||
*/
|
||||
importPackage(Packages.server.maps);
|
||||
|
||||
var disabled = false;
|
||||
var belts = Array(1132000, 1132001, 1132002, 1132003, 1132004);
|
||||
var belt_level = Array(25, 35, 45, 60, 75);
|
||||
|
||||
/* var belt_points = Array(200, 1800, 4000, 9200, 17000); */
|
||||
var belt_points = Array(5, 45, 100, 230, 425); /* Watered down version */
|
||||
|
||||
var status = -1;
|
||||
var selectedMenu = -1;
|
||||
|
||||
function start() {
|
||||
if(disabled) {
|
||||
cm.sendOk("My master has requested that the dojo be #rclosed#k at this time so I can't let you in.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (isRestingSpot(cm.getPlayer().getMap().getId())) {
|
||||
var text = "I'm surprised you made it this far! But it won't be easy from here on out. You still want the challenge?\r\n\r\n#b#L0#I want to continue#l\r\n#L1#I want to leave#l\r\n";
|
||||
if (!cm.getPlayer().getDojoParty()) {
|
||||
text += "#L2#I want to record my score up to this point#l";
|
||||
}
|
||||
cm.sendSimple(text);
|
||||
} else if (cm.getPlayer().getLevel() >= 25) {
|
||||
if (cm.getPlayer().getMap().getId() == 925020001) {
|
||||
cm.sendSimple("My master is the strongest person in Mu Lung, and you want to challenge him? Fine, but you'll regret it later.\r\n\r\n#b#L0#I want to challenge him alone.#l\r\n#L1#I want to challenge him with a party.#l\r\n\r\n#L2#I want to receive a belt.#l\r\n#L3#I want to reset my training points.#l\r\n#L4#I want to receive a medal.#l\r\n#L5#What is a Mu Lung Dojo?#l");
|
||||
} else {
|
||||
cm.sendYesNo("What, you're giving up? You just need to get to the next level! Do you really want to quit and leave?");
|
||||
}
|
||||
} else {
|
||||
cm.sendOk("Hey! Are you mocking my master? Who do you think you are to challenge him? This is a joke! You should at least be level #b25#k.");
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function action(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
cm.dispose();
|
||||
} else if (cm.getPlayer().getMap().getId() == 925020001) {
|
||||
if (mode >= 0) {
|
||||
if (status == -1)
|
||||
selectedMenu = selection;
|
||||
status++; //there is no prev.
|
||||
if (selectedMenu == 0) { //I want to challenge him alone.
|
||||
if (!cm.getPlayer().hasEntered("dojang_Msg") && !cm.getPlayer().getFinishedDojoTutorial()) { //kind of hackish...
|
||||
if (status == 0) {
|
||||
cm.sendYesNo("Hey there! You! This is your first time, huh? Well, my master doesn't just meet with anyone. He's a busy man. And judging by your looks, I don't think he'd bother. Ha! But, today's your lucky day... I tell you what, if you can defeat me, I'll allow you to see my Master. So what do you say?");
|
||||
} else if (status == 1) {
|
||||
if (mode == 0) {
|
||||
cm.sendNext("Haha! Who are you trying to impress with a heart like that?\r\nGo back home where you belong!");
|
||||
} else {
|
||||
if(cm.getClient().getChannelServer().getMapFactory().getMap(925020010).getCharacters().size() > 0) {
|
||||
cm.sendOk("Someone is already in Dojo");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
cm.warp(925020010, 0);
|
||||
cm.getPlayer().setFinishedDojoTutorial();
|
||||
}
|
||||
cm.dispose();
|
||||
}
|
||||
} else if (cm.getPlayer().getDojoStage() > 0) {
|
||||
if (status == 0) {
|
||||
cm.sendYesNo("The last time you took the challenge by yourself, you went up to level " + cm.getPlayer().getDojoStage() + ". I can take you there right now. Do you want to go there?");
|
||||
} else {
|
||||
cm.warp(mode == 1 ? 925020000 + cm.getPlayer().getDojoStage() * 100 : 925020100, 0);
|
||||
cm.dispose();
|
||||
}
|
||||
} else {
|
||||
for (var i = 1 ; i < 39; i++) { //only 32 stages, but 38 maps
|
||||
if(cm.getClient().getChannelServer().getMapFactory().getMap(925020000 + 100 * i).getCharacters().size() > 0) {
|
||||
cm.sendOk("Someone is already in the Dojo." + i);
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).resetReactors();
|
||||
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).killAllMonsters();
|
||||
cm.warp(925020100, 0);
|
||||
cm.dispose();
|
||||
}
|
||||
} else if (selectedMenu == 1) { //I want to challenge him with a party.
|
||||
var party = cm.getPlayer().getParty();
|
||||
if (party == null) {
|
||||
cm.sendNext("Where do you think you're going? You're not even the party leader! Go tell your party leader to talk to me.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
var lowest = cm.getPlayer().getLevel();
|
||||
var highest = lowest;
|
||||
for (var x = 0; x < party.getMembers().size(); x++) {
|
||||
var lvl = party.getMembers().get(x).getLevel();
|
||||
if (lvl > highest)
|
||||
highest = lvl;
|
||||
else if (lvl < lowest)
|
||||
lowest = lvl;
|
||||
}
|
||||
var isBetween30 = highest - lowest < 30;
|
||||
if (party.getLeader().getId() != cm.getPlayer().getId()) {
|
||||
cm.sendNext("Where do you think you're going? You're not even the party leader! Go tell your party leader to talk to me.");
|
||||
cm.dispose();
|
||||
} else if (party.getMembers().size() == 1) {
|
||||
cm.sendNext("You're going to take on the challenge as a one-man party?");
|
||||
} else if (!isBetween30) {
|
||||
cm.sendNext("Your partys level ranges are too broad to enter. Please make sure all of your party members are within #r30 levels#k of each other.");
|
||||
} else {
|
||||
for (var i = 1 ; i < 39; i++) { //only 32 stages, but 38 maps
|
||||
if(cm.getClient().getChannelServer().getMapFactory().getMap(925020000 + 100 * i).getCharacters().size() > 0) {
|
||||
cm.sendOk("Someone is already in the Dojo.");
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
}
|
||||
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).resetReactors();
|
||||
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).killAllMonsters();
|
||||
cm.warpParty(925020100);
|
||||
cm.dispose();
|
||||
}
|
||||
cm.dispose();
|
||||
} else if (selectedMenu == 2) { //I want to receive a belt.
|
||||
if (mode < 1) {
|
||||
cm.dispose();
|
||||
return;
|
||||
}
|
||||
if (status == 0) {
|
||||
var selStr = "You have #b" + cm.getPlayer().getDojoPoints() + "#k training points. Master prefers those with great talent. If you obtain more points than the average, you can receive a belt depending on your score.\r\n";
|
||||
for (var i = 0; i < belts.length; i++) {
|
||||
if (cm.getPlayer().getItemQuantity(belts[i], true) > 0) {
|
||||
selStr += "\r\n #i" + belts[i] + "# #t" + belts[i] + "#(Obtain)";
|
||||
} else
|
||||
selStr += "\r\n#L" + i + "##i" + belts[i] + "# #t" + belts[i] + "#l";
|
||||
}
|
||||
cm.sendSimple(selStr);
|
||||
} else if (status == 1) {
|
||||
var belt = belts[selection];
|
||||
var level = belt_level[selection];
|
||||
var points = belt_points[selection];
|
||||
if (cm.getPlayer().getDojoPoints() > points) {
|
||||
if (cm.getPlayer().getLevel() > level)
|
||||
cm.gainItem(belt, 1);
|
||||
else
|
||||
cm.sendNext("In order to receive #i" + belt + "# #b#t" + belt + "##k, you have to be at least over level #b" + level + "#k and you need to have earned at least #b" + points + " training points#k.\r\n\r\nIf you want to obtain this belt, you need #r" + (points - cm.getPlayer().getDojoPoints()) + "#k more training points.");
|
||||
} else
|
||||
cm.sendNext("In order to receive #i" + belt + "# #b#t" + belt + "##k, you have to be at least over level #b" + level + "#k and you need to have earned at least #b" + points + " training points#k.\r\n\r\nIf you want to obtain this belt, you need #r" + (points - cm.getPlayer().getDojoPoints()) + "#k more training points.");
|
||||
cm.dispose();
|
||||
}
|
||||
} else if (selectedMenu == 3) { //I want to reset my training points.
|
||||
if (status == 0) {
|
||||
cm.sendYesNo("You do know that if you reset your training points, it returns to 0, right? Although, that's not always a bad thing. If you can start earning training points again after you reset, you can receive the belts once more. Do you want to reset your training points now?");
|
||||
} else if (status == 1) {
|
||||
if (mode == 0) {
|
||||
cm.sendNext("Do you need to gather yourself or something? Come back after you take a deep breath.");
|
||||
} else {
|
||||
cm.getPlayer().setDojoPoints(0);
|
||||
cm.sendNext("There! All your training points have been reset. Think of it as a new beginning and train hard!");
|
||||
}
|
||||
cm.dispose();
|
||||
}
|
||||
} else if (selectedMenu == 4) { //I want to receive a medal.
|
||||
if (status == 0 && cm.getPlayer().getVanquisherStage() <= 0) {
|
||||
cm.sendYesNo("You haven't attempted the medal yet? If you defeat one type of monster in Mu Lung Dojo #b100 times#k you can receive a title called #b#t" + (1142033 + cm.getPlayer().getVanquisherStage()) + "##k. It looks like you haven't even earned the #b#t" + (1142033 + cm.getPlayer().getVanquisherStage()) + "##k... Do you want to try out for the #b#t" + (1142033 + cm.getPlayer().getVanquisherStage()) + "##k?");
|
||||
} else if (status == 1 || cm.getPlayer().getVanquisherStage() > 0) {
|
||||
if (mode == 0) {
|
||||
cm.sendNext("If you don't want to, that's fine.");
|
||||
cm.dispose();
|
||||
} else {
|
||||
if (cm.getPlayer().getDojoStage() > 37) {
|
||||
cm.sendNext("You have complete all medals challenges.");
|
||||
} else if (cm.getPlayer().getVanquisherKills() < 100 && cm.getPlayer().getVanquisherStage() > 0)
|
||||
cm.sendNext("You still need #b" + (100 - cm.getPlayer().getVanquisherKills()) + "#k in order to obtain the #b#t" + (1142032 + cm.getPlayer().getVanquisherStage()) + "##k. Please try a little harder. As a reminder, only the mosnters that have been summoned by our Master in Mu Lung Dojo are considered. Oh, and make sure you're not hunting the monsters and exiting!#r If you don't go to the next level after defeating the monster, it doesn't count as a win#k.");
|
||||
else if (cm.getPlayer().getVanquisherStage() <= 0) {
|
||||
cm.getPlayer().setVanquisherStage(1);
|
||||
} else {
|
||||
cm.sendNext("You have obtained #b#t" + (1142032 + cm.getPlayer().getVanquisherStage()) + "##k.");
|
||||
cm.gainItem(1142033 + cm.getPlayer().getVanquisherStage(), 1);
|
||||
cm.getPlayer().setVanquisherStage(cm.c.getPlayer().getVanquisherStage() + 1);
|
||||
cm.getPlayer().setVanquisherKills(0);
|
||||
}
|
||||
}
|
||||
cm.dispose();
|
||||
}
|
||||
} else if (selectedMenu == 5) { //What is a Mu Lung Dojo?
|
||||
cm.sendNext("Our master is the strongest person in Mu Lung. The place he built is called the Mu Lung Dojo, a building that is 38 stories tall! You can train yourself as you go up each level. Of course, it'll be hard for someone at your level to reach the top.");
|
||||
cm.dispose();
|
||||
}
|
||||
} else
|
||||
cm.dispose();
|
||||
} else if (isRestingSpot(cm.getPlayer().getMap().getId())) {
|
||||
if (selectedMenu == -1)
|
||||
selectedMenu = selection;
|
||||
status++;
|
||||
if (selectedMenu == 0) {
|
||||
cm.warp(cm.getPlayer().getMap().getId() + 100, 0);
|
||||
cm.dispose();
|
||||
} else if (selectedMenu == 1) { //I want to leave
|
||||
if (status == 0) {
|
||||
cm.sendAcceptDecline("So, you're giving up? You're really going to leave?");
|
||||
} else {
|
||||
if (mode == 1) {
|
||||
cm.warp(925020002);
|
||||
}
|
||||
cm.dispose();
|
||||
}
|
||||
} else if (selectedMenu == 2) { //I want to record my score up to this point
|
||||
if (status == 0) {
|
||||
cm.sendYesNo("If you record your score, you can start where you left off the next time. Isn't that convenient? Do you want to record your current score?");
|
||||
} else {
|
||||
if (mode == 0) {
|
||||
cm.sendNext("You think you can go even higher? Good luck!");
|
||||
} else if (925020000 + cm.getPlayer().getDojoStage() * 100 == cm.getMapId()) {
|
||||
cm.sendOk("Looks like you came all the way up here without recording your score. Sorry, but you can't record now.");
|
||||
} else {
|
||||
cm.sendNext("I recorded your score. If you tell me the next time you go up, you'll be able to start where you left off.");
|
||||
cm.getPlayer().setDojoStage((cm.getMapId() - 925020000) / 100);
|
||||
}
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mode == 0) {
|
||||
cm.sendNext("Stop changing your mind! Soon, you'll be crying, begging me to go back.");
|
||||
} else if (mode == 1) {
|
||||
cm.warp(925020002, 0);
|
||||
cm.getPlayer().message("Can you make up your mind please?");
|
||||
}
|
||||
cm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function isRestingSpot(id) {
|
||||
return (id / 100 - 9250200) % 6 == 0;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
if(mode == 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
status++;
|
||||
|
||||
if(status == 0) {
|
||||
if(!qm.canHold(4220046)) {
|
||||
qm.sendNext("You need a slot on your ETC inventory to receive the egg to hatch.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
qm.gainItem(4220046, 1);
|
||||
qm.sendNext("Go bring me 30 #b#i4031992# #t4031992# #kASAP!");
|
||||
qm.startQuest();
|
||||
}
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
if(mode == 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
status++;
|
||||
|
||||
if(status == 0) {
|
||||
qm.sendNext("Alright, it seems you brought the items I needed. Great job!");
|
||||
}
|
||||
|
||||
else if(status == 1) {
|
||||
qm.gainFame(11);
|
||||
qm.gainItem(4220046, -1);
|
||||
qm.gainItem(4031992, -30);
|
||||
|
||||
qm.completeQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -10381,7 +10381,7 @@ INSERT IGNORE INTO `temp_data` (`id`, `dropperid`, `itemid`, `minimum_quantity`,
|
||||
(10168, 210100, 4031273, 1, 1, 2104, 500000),
|
||||
(10169, 2220100, 2022016, 1, 1, 8164, 100000),
|
||||
(10170, 2130100, 4031153, 1, 1, 2070, 10000),
|
||||
(10171, 2230106, 4031268, 1, 1, 3629, 30000),
|
||||
(10171, 5100003, 4031268, 1, 1, 3629, 30000),
|
||||
(10172, 2230105, 4031259, 1, 1, 3080, 30000),
|
||||
(10173, 2230106, 4031260, 1, 1, 3080, 30000),
|
||||
(10174, 2230108, 4031261, 1, 1, 3080, 30000),
|
||||
@@ -12789,7 +12789,7 @@ INSERT INTO `drop_data_global` (`id`, `continent`, `dropType`, `itemid`, `minimu
|
||||
(1, 0, 0, 4031865, 1, 1, 0, 150000, 'NX Card 100 PTS'),
|
||||
(2, 0, 0, 4031866, 1, 1, 0, 90000, 'NX Card 250 PTS'),
|
||||
(3, 0, 0, 4001126, 1, 2, 0, 10000, 'Maple Leaves'),
|
||||
(4, 0, 0, 5072000, 1, 1, 0, 3000, 'Super Megaphones.');
|
||||
(4, 0, 0, 2049100, 1, 1, 0, 2000, 'Chaos Scroll 60%');
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `dueyitems` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
|
||||
+14
-1
@@ -2,6 +2,7 @@
|
||||
|
||||
INSERT IGNORE INTO temp_data (`dropperid`, `itemid`, `minimum_quantity`, `maximum_quantity`, `questid`, `chance`) VALUES
|
||||
#-- copy+paste inside here as many drop data as possible from the spider (drop generator) files --
|
||||
(5100004, 2383034, 1, 1, 0, 10000),
|
||||
|
||||
(100100, 4000019, 1, 1, 0, 200000),
|
||||
(100100, 2000000, 1, 1, 0, 40000),
|
||||
@@ -18711,11 +18712,18 @@
|
||||
|
||||
#--------------------------------------------------------------------------------------------
|
||||
|
||||
#insert things that should have been present already.
|
||||
|
||||
INSERT IGNORE INTO temp_data (`dropperid`, `itemid`, `minimum_quantity`, `maximum_quantity`, `questid`, `chance`) VALUES
|
||||
(2386010, 8143000, 1, 1, 0, 10000),
|
||||
(3230100, 4001004, 1, 1, 0, 5000),
|
||||
(3000002, 4000068, 1, 1, 0, 40000),
|
||||
(3000003, 4000068, 1, 1, 0, 40000),
|
||||
(3000004, 4000068, 1, 1, 0, 40000),
|
||||
|
||||
(8141000, 2386002, 1, 1, 0, 10000),
|
||||
(8141100, 2386009, 1, 1, 0, 10000),
|
||||
|
||||
(4230116, 2382042, 1, 1, 0, 10000),
|
||||
(4230117, 2382055, 1, 1, 0, 10000),
|
||||
(4230118, 2382067, 1, 1, 0, 10000),
|
||||
@@ -18742,7 +18750,11 @@
|
||||
(9400578, 1032013, 1, 1, 0, 1200),
|
||||
(9400578, 1372009, 1, 1, 0, 1200),
|
||||
(9400578, 1372009, 1, 1, 0, 1200),
|
||||
(9300011, 4031130, 1, 1, 0, 10000);
|
||||
(9300011, 4031130, 1, 1, 0, 10000),
|
||||
(7160000, 2385015, 1, 1, 0, 10000),
|
||||
(3230306, 2022355, 1, 1, 3248, 4000),
|
||||
(4230113, 2022354, 1, 1, 3248, 4000),
|
||||
(5220003, 4031991, 1, 1, 3248, 15000);
|
||||
|
||||
UPDATE IGNORE temp_data SET dropperid=9000002 WHERE dropperid=9000000;
|
||||
|
||||
@@ -18810,6 +18822,7 @@
|
||||
UPDATE reactordrops SET questid=2067 WHERE itemid=4031150;
|
||||
UPDATE reactordrops SET questid=3239 WHERE itemid=4031092;
|
||||
UPDATE reactordrops SET questid=6002 WHERE itemid=4031508;
|
||||
UPDATE reactordrops SET questid=9351 WHERE itemid=4031258;
|
||||
INSERT INTO `reactordrops` (`reactorid`, `itemid`, `chance`, `questid`) VALUES
|
||||
(9102000, 4031157, 1, 2074),
|
||||
(9102001, 4031158, 1, 2074),
|
||||
|
||||
+17
-5
@@ -63,9 +63,21 @@ INSERT IGNORE INTO `shopitems` (`shopitemid`, `shopid`, `itemid`, `price`, `pitc
|
||||
(995083, 9201082, 2043002, 50000, 0, 52),
|
||||
(995084, 9201082, 2043802, 50000, 0, 53),
|
||||
(995085, 9201082, 2044602, 50000, 0, 54),
|
||||
(996196, 9201082, 2070016, 100000000, 0, 55),
|
||||
(996197, 9201082, 2070018, 175000000, 0, 56),
|
||||
(994782, 9201082, 2030007, 700000, 0, 57),
|
||||
(994783, 9201082, 4001017, 30000000, 0, 58);
|
||||
(996000, 9201082, 2049200, 170000, 0, 55),
|
||||
(996001, 9201082, 2049201, 220000, 0, 56),
|
||||
(996002, 9201082, 2049202, 170000, 0, 57),
|
||||
(996003, 9201082, 2049203, 220000, 0, 58),
|
||||
(996004, 9201082, 2049204, 170000, 0, 59),
|
||||
(996005, 9201082, 2049205, 220000, 0, 60),
|
||||
(996006, 9201082, 2049206, 170000, 0, 61),
|
||||
(996007, 9201082, 2049207, 220000, 0, 62),
|
||||
(996008, 9201082, 2049208, 140000, 0, 63),
|
||||
(996009, 9201082, 2049209, 170000, 0, 64),
|
||||
(996010, 9201082, 2049210, 140000, 0, 65),
|
||||
(996011, 9201082, 2049211, 170000, 0, 66),
|
||||
(996196, 9201082, 2070016, 100000000, 0, 67),
|
||||
(996197, 9201082, 2070018, 175000000, 0, 68),
|
||||
(994782, 9201082, 2030007, 700000, 0, 69),
|
||||
(994783, 9201082, 4001017, 30000000, 0, 70);
|
||||
|
||||
UPDATE shopitems SET price = 11*price WHERE (`position` >= 27 and `position` <= 54);
|
||||
UPDATE shopitems SET price = 11*price WHERE (`position` >= 27 and `position` <= 66);
|
||||
+152
-141
@@ -1319,11 +1319,10 @@
|
||||
<int name="28" value="2061000" />
|
||||
<int name="29" value="2381002" />
|
||||
<int name="30" value="4000009" />
|
||||
<int name="31" value="4001368" />
|
||||
<int name="32" value="4010006" />
|
||||
<int name="33" value="4020005" />
|
||||
<int name="34" value="4020006" />
|
||||
<int name="35" value="4030012" />
|
||||
<int name="31" value="4010006" />
|
||||
<int name="32" value="4020005" />
|
||||
<int name="33" value="4020006" />
|
||||
<int name="34" value="4030012" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 20\nForm : Plant\n\nA mushroom monster with a blue cap. Is the fattest looking mushroom of all the mushrooms in that family of monsters. For a mushroom, which are just about everywhere throughout Maple World, it is one of the rarer breeds. But go nearby Henesys and you'll find yourself entering into the Blue Mushroom Forest! These mushrooms will give up some gold at times, enriching the lives of many happy adventurers. " />
|
||||
</imgdir>
|
||||
@@ -1439,6 +1438,7 @@
|
||||
<int name="36" value="4010002" />
|
||||
<int name="37" value="4010003" />
|
||||
<int name="38" value="4020003" />
|
||||
<int name="39" value="4032399" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 24\nForm : Immortal\nSpecial Trait : Vulnerable to Sanctity Attribute Attack.\n\nA mushroom monster that was reincarnated from previously dead mushrooms that were destroyed by adventurers by attaching a charmed amulet on its head. Who knows why anyone would do such a thing? In any case, these mushrooms have strong attacks, defenses as well as speed, but are extremely vulnerable to light. " />
|
||||
</imgdir>
|
||||
@@ -1661,8 +1661,7 @@
|
||||
<int name="26" value="4010003" />
|
||||
<int name="27" value="4020004" />
|
||||
<int name="28" value="4031260" />
|
||||
<int name="29" value="4031268" />
|
||||
<int name="30" value="4031269" />
|
||||
<int name="29" value="4031269" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 25\nForm : Fish\nSpecial Trait : Vulnerable to Poison Attribute Attacks. -50% Fire Attribute Damage.\n\nA small sea-horse-like monster that lives near Aqua Road. It lives only in clean sea water where no signs of contamination can be seen. Its tail is coiled back while it has a flashy crown-like ornament on its head, which makes it more difficult for the people to spot when it is hiding in between the corals. " />
|
||||
</imgdir>
|
||||
@@ -2514,18 +2513,19 @@
|
||||
<int name="29" value="2382011" />
|
||||
<int name="30" value="4000021" />
|
||||
<int name="31" value="4000073" />
|
||||
<int name="32" value="4003004" />
|
||||
<int name="33" value="4004000" />
|
||||
<int name="34" value="4006000" />
|
||||
<int name="35" value="4007000" />
|
||||
<int name="36" value="4007001" />
|
||||
<int name="37" value="4007006" />
|
||||
<int name="38" value="4020000" />
|
||||
<int name="39" value="4020001" />
|
||||
<int name="40" value="4030012" />
|
||||
<int name="41" value="4130007" />
|
||||
<int name="42" value="4130016" />
|
||||
<int name="43" value="4130021" />
|
||||
<int name="32" value="4001006" />
|
||||
<int name="33" value="4003004" />
|
||||
<int name="34" value="4004000" />
|
||||
<int name="35" value="4006000" />
|
||||
<int name="36" value="4007000" />
|
||||
<int name="37" value="4007001" />
|
||||
<int name="38" value="4007006" />
|
||||
<int name="39" value="4020000" />
|
||||
<int name="40" value="4020001" />
|
||||
<int name="41" value="4030012" />
|
||||
<int name="42" value="4130007" />
|
||||
<int name="43" value="4130016" />
|
||||
<int name="44" value="4130021" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 33\nForm : Mammal\nSpecial Trait : -50% Fire Attribute Damage. Vulnerable to Ice Attribute Attacks.\n\nA monster that lives in the Garden of Red in Orbis. Stay away from its inviting coat of soft white fur that is red at the tips, as it is deceivingly hot! It is still young to know how to attack with its small horn, but it has the attribute of fire which can be dangerous in the future." />
|
||||
</imgdir>
|
||||
@@ -2555,17 +2555,18 @@
|
||||
<int name="17" value="2382012" />
|
||||
<int name="18" value="4000021" />
|
||||
<int name="19" value="4000073" />
|
||||
<int name="20" value="4003004" />
|
||||
<int name="21" value="4004001" />
|
||||
<int name="22" value="4006000" />
|
||||
<int name="23" value="4006001" />
|
||||
<int name="24" value="4010002" />
|
||||
<int name="25" value="4020003" />
|
||||
<int name="26" value="4020007" />
|
||||
<int name="27" value="4030012" />
|
||||
<int name="28" value="4130003" />
|
||||
<int name="29" value="4130004" />
|
||||
<int name="30" value="4130012" />
|
||||
<int name="20" value="4001006" />
|
||||
<int name="21" value="4003004" />
|
||||
<int name="22" value="4004001" />
|
||||
<int name="23" value="4006000" />
|
||||
<int name="24" value="4006001" />
|
||||
<int name="25" value="4010002" />
|
||||
<int name="26" value="4020003" />
|
||||
<int name="27" value="4020007" />
|
||||
<int name="28" value="4030012" />
|
||||
<int name="29" value="4130003" />
|
||||
<int name="30" value="4130004" />
|
||||
<int name="31" value="4130012" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 33\nForm : Mammal\nSpecial Trait : -50% Electricity Attribute Damage. Vulnerable to Ice Attribute Attacks.\n\nA monster that lives in the Garden of Yellow in Orbis. Stay away from its inviting coat of soft white fur that is gold at the tips, as it is saturated with the attribute of electricity! It is still young to know how to attack with its small horn, but it has the attribute of lightning and is resistant to attacks of electricity attribute, so use attacks of ice attribute. " />
|
||||
</imgdir>
|
||||
@@ -3605,27 +3606,28 @@
|
||||
<int name="18" value="2000002" />
|
||||
<int name="19" value="2000003" />
|
||||
<int name="20" value="2002006" />
|
||||
<int name="21" value="2043702" />
|
||||
<int name="22" value="2044201" />
|
||||
<int name="23" value="2044901" />
|
||||
<int name="24" value="2044902" />
|
||||
<int name="25" value="2060000" />
|
||||
<int name="26" value="2061000" />
|
||||
<int name="27" value="2070003" />
|
||||
<int name="28" value="2070004" />
|
||||
<int name="29" value="2382032" />
|
||||
<int name="30" value="4000115" />
|
||||
<int name="31" value="4004002" />
|
||||
<int name="32" value="4006000" />
|
||||
<int name="33" value="4007000" />
|
||||
<int name="34" value="4007005" />
|
||||
<int name="35" value="4010001" />
|
||||
<int name="36" value="4010006" />
|
||||
<int name="37" value="4031159" />
|
||||
<int name="38" value="4031203" />
|
||||
<int name="39" value="4031992" />
|
||||
<int name="40" value="4130000" />
|
||||
<int name="41" value="4130010" />
|
||||
<int name="21" value="2022355" />
|
||||
<int name="22" value="2043702" />
|
||||
<int name="23" value="2044201" />
|
||||
<int name="24" value="2044901" />
|
||||
<int name="25" value="2044902" />
|
||||
<int name="26" value="2060000" />
|
||||
<int name="27" value="2061000" />
|
||||
<int name="28" value="2070003" />
|
||||
<int name="29" value="2070004" />
|
||||
<int name="30" value="2382032" />
|
||||
<int name="31" value="4000115" />
|
||||
<int name="32" value="4004002" />
|
||||
<int name="33" value="4006000" />
|
||||
<int name="34" value="4007000" />
|
||||
<int name="35" value="4007005" />
|
||||
<int name="36" value="4010001" />
|
||||
<int name="37" value="4010006" />
|
||||
<int name="38" value="4031159" />
|
||||
<int name="39" value="4031203" />
|
||||
<int name="40" value="4031992" />
|
||||
<int name="41" value="4130000" />
|
||||
<int name="42" value="4130010" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 37\nForm : Spirit\nSpecial Trait : Vulnerable to Sanctity Attribute Attacks.\n\nIt once was a useful creature that told time, until the time stopped ticking in Ludibrium and all the wall clocks were thrown away. A force of darkness that loomed over the Dimensional Schism consumed the wall clocks, turning them into monsters controlled by the cursed windup spring. As the force still lingers, you can feel the cold air even when you're just near this monster. " />
|
||||
</imgdir>
|
||||
@@ -4768,22 +4770,23 @@
|
||||
<int name="16" value="1452016" />
|
||||
<int name="17" value="2000002" />
|
||||
<int name="18" value="2000003" />
|
||||
<int name="19" value="2040401" />
|
||||
<int name="20" value="2043102" />
|
||||
<int name="21" value="2044701" />
|
||||
<int name="22" value="2060000" />
|
||||
<int name="23" value="2061000" />
|
||||
<int name="24" value="2382041" />
|
||||
<int name="25" value="4000114" />
|
||||
<int name="26" value="4004003" />
|
||||
<int name="27" value="4007004" />
|
||||
<int name="28" value="4010003" />
|
||||
<int name="29" value="4031098" />
|
||||
<int name="30" value="4031675" />
|
||||
<int name="31" value="4031992" />
|
||||
<int name="32" value="4130008" />
|
||||
<int name="33" value="4130013" />
|
||||
<int name="34" value="4130017" />
|
||||
<int name="19" value="2022354" />
|
||||
<int name="20" value="2040401" />
|
||||
<int name="21" value="2043102" />
|
||||
<int name="22" value="2044701" />
|
||||
<int name="23" value="2060000" />
|
||||
<int name="24" value="2061000" />
|
||||
<int name="25" value="2382041" />
|
||||
<int name="26" value="4000114" />
|
||||
<int name="27" value="4004003" />
|
||||
<int name="28" value="4007004" />
|
||||
<int name="29" value="4010003" />
|
||||
<int name="30" value="4031098" />
|
||||
<int name="31" value="4031675" />
|
||||
<int name="32" value="4031992" />
|
||||
<int name="33" value="4130008" />
|
||||
<int name="34" value="4130013" />
|
||||
<int name="35" value="4130017" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 40\nForm : Spirit\n\nThere are particular entities that linger the infinitude of the space-time continuum, where no ordinary creature can reach by ordinary means; Tick is one of them. Capitalizing on the Dimensional Schism, Tick-Tock can be found in the deserted Ludibrium Clocktower, feeding on time. Some researchers say the Tick-Tock is the full-grown form of Tick, but a dominant opinion suggests that these monsters cannot undergo the similar process of growth as regular orgnisms, given that they are creatures of fractured and enmeshed space-time." />
|
||||
</imgdir>
|
||||
@@ -6035,9 +6038,10 @@
|
||||
<int name="22" value="4004002" />
|
||||
<int name="23" value="4010002" />
|
||||
<int name="24" value="4020001" />
|
||||
<int name="25" value="4130003" />
|
||||
<int name="26" value="4130008" />
|
||||
<int name="27" value="4130016" />
|
||||
<int name="25" value="4031268" />
|
||||
<int name="26" value="4130003" />
|
||||
<int name="27" value="4130008" />
|
||||
<int name="28" value="4130016" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 50\nForm : Mammal\nSpecial Trait : -50% Fire Attribute Damage. Vulnerable to Ice Attribute Attacks.\n\nA cub found in the mountainside of the Black Mountain. It skips around cheerfully, but it is still a tiger, which means it can turn fierce and predatory and catch you off guard. Occasionally, you can earn a paw-print stamp when you hunt the Hodoris. " />
|
||||
</imgdir>
|
||||
@@ -6067,18 +6071,19 @@
|
||||
<int name="16" value="2040420" />
|
||||
<int name="17" value="2043701" />
|
||||
<int name="18" value="2043801" />
|
||||
<int name="19" value="4000021" />
|
||||
<int name="20" value="4000172" />
|
||||
<int name="21" value="4004002" />
|
||||
<int name="22" value="4004004" />
|
||||
<int name="23" value="4007000" />
|
||||
<int name="24" value="4007006" />
|
||||
<int name="25" value="4010005" />
|
||||
<int name="26" value="4020004" />
|
||||
<int name="27" value="4031790" />
|
||||
<int name="28" value="4130003" />
|
||||
<int name="29" value="4130005" />
|
||||
<int name="30" value="4130011" />
|
||||
<int name="19" value="2383034" />
|
||||
<int name="20" value="4000021" />
|
||||
<int name="21" value="4000172" />
|
||||
<int name="22" value="4004002" />
|
||||
<int name="23" value="4004004" />
|
||||
<int name="24" value="4007000" />
|
||||
<int name="25" value="4007006" />
|
||||
<int name="26" value="4010005" />
|
||||
<int name="27" value="4020004" />
|
||||
<int name="28" value="4031790" />
|
||||
<int name="29" value="4130003" />
|
||||
<int name="30" value="4130005" />
|
||||
<int name="31" value="4130011" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 56\nForm : Mammal\nSpecial Trait : Vulnerable to Fire Attribute Attacks. Vulnerable to Sanctity Attribute Attacks.\n\nA Three-Tailed Fox that can be found near the Korean Folk Town. It is striving to become a Nine-Tailed Fox, but only has three tails as it is still in the process of training. It has taken over an entire valley of the Black Mountain, practicing magic by casting a curse on the passersby; hence, the adventurers exploring the Fox Ridge should always remain alert and cautious. " />
|
||||
</imgdir>
|
||||
@@ -7565,6 +7570,7 @@
|
||||
<int name="59" value="4004001" />
|
||||
<int name="60" value="4010003" />
|
||||
<int name="61" value="4020006" />
|
||||
<int name="62" value="4031991" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 59\nForm : Enchanted\n\nThe ghost of the past that originated from the deserted land in Ludibrium. It was brought back to life due to the Dimensional Schism, and has been a follower of Papulatus ever since, pestering anyone that attempts to go near the lowest level of the Clocktower. It appears in the form of an owl clock, and it tries to cling onto the past by turning back the time. " />
|
||||
</imgdir>
|
||||
@@ -8070,10 +8076,11 @@
|
||||
<int name="40" value="2383044" />
|
||||
<int name="41" value="4000014" />
|
||||
<int name="42" value="4000030" />
|
||||
<int name="43" value="4010005" />
|
||||
<int name="44" value="4020007" />
|
||||
<int name="45" value="4130004" />
|
||||
<int name="46" value="4130014" />
|
||||
<int name="43" value="4001006" />
|
||||
<int name="44" value="4010005" />
|
||||
<int name="45" value="4020007" />
|
||||
<int name="46" value="4130004" />
|
||||
<int name="47" value="4130014" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 60\nForm : Reptile\nSpecial Trait : -50% Fire Attribute Damage. Vulnerable to Ice Attribute Attacks.\n\nA dragon that lives in mountainous desert highlands. Is from a very weak and unintelligent breed of dragons as compared to regular dragons of that family of monsters. The Red Drake used to have its nest set in Sleepywood, but was banished by the other dragons due to its weaknesses. It has since been training in the desert highlands, adjusting to the heat of the sun and practicing launching powerful fireballs into a far distance. There aren't very many adventurers who'll be able to hunt this thick-coated, fireball-throwing dragon known as Red Drake. " />
|
||||
</imgdir>
|
||||
@@ -10340,19 +10347,20 @@
|
||||
<int name="32" value="2044401" />
|
||||
<int name="33" value="2070005" />
|
||||
<int name="34" value="2330003" />
|
||||
<int name="35" value="4000133" />
|
||||
<int name="36" value="4001110" />
|
||||
<int name="37" value="4004000" />
|
||||
<int name="38" value="4006001" />
|
||||
<int name="39" value="4007001" />
|
||||
<int name="40" value="4010003" />
|
||||
<int name="41" value="4020008" />
|
||||
<int name="42" value="4031171" />
|
||||
<int name="43" value="4130003" />
|
||||
<int name="44" value="4130004" />
|
||||
<int name="45" value="4130007" />
|
||||
<int name="46" value="4130011" />
|
||||
<int name="47" value="4131007" />
|
||||
<int name="35" value="2385015" />
|
||||
<int name="36" value="4000133" />
|
||||
<int name="37" value="4001110" />
|
||||
<int name="38" value="4004000" />
|
||||
<int name="39" value="4006001" />
|
||||
<int name="40" value="4007001" />
|
||||
<int name="41" value="4010003" />
|
||||
<int name="42" value="4020008" />
|
||||
<int name="43" value="4031171" />
|
||||
<int name="44" value="4130003" />
|
||||
<int name="45" value="4130004" />
|
||||
<int name="46" value="4130007" />
|
||||
<int name="47" value="4130011" />
|
||||
<int name="48" value="4131007" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 87\nForm : Devil\nSpecial Trait : -50% Ice Attribute Damage. Vulnerable to Fire Attribute Attacks.\n\nThere are particular entities that linger the infinitude of the space-time continuum, where no ordinary creature can reach by ordinary means; Duel Ghost Pirate is one of them. The Duel Ghost Pirate rides a flying boat that has a huge clock, allowing this monster to find its ways even through the Temporal Schism and pillage the lost adventurers. As one of the most powerful pirate monster, its ship has a powerful propeller that can penetrate the gap in time. Although highly resistant against attacks of coldness attribute, it fears fire, for fire can burn its ship in flames. " />
|
||||
</imgdir>
|
||||
@@ -11472,17 +11480,18 @@
|
||||
<int name="33" value="2070006" />
|
||||
<int name="34" value="2290082" />
|
||||
<int name="35" value="2290097" />
|
||||
<int name="36" value="4000134" />
|
||||
<int name="37" value="4004000" />
|
||||
<int name="38" value="4007002" />
|
||||
<int name="39" value="4010001" />
|
||||
<int name="40" value="4020008" />
|
||||
<int name="41" value="4031170" />
|
||||
<int name="42" value="4031171" />
|
||||
<int name="43" value="4031175" />
|
||||
<int name="44" value="4031193" />
|
||||
<int name="45" value="4031873" />
|
||||
<int name="46" value="4130013" />
|
||||
<int name="36" value="2386002" />
|
||||
<int name="37" value="4000134" />
|
||||
<int name="38" value="4004000" />
|
||||
<int name="39" value="4007002" />
|
||||
<int name="40" value="4010001" />
|
||||
<int name="41" value="4020008" />
|
||||
<int name="42" value="4031170" />
|
||||
<int name="43" value="4031171" />
|
||||
<int name="44" value="4031175" />
|
||||
<int name="45" value="4031193" />
|
||||
<int name="46" value="4031873" />
|
||||
<int name="47" value="4130013" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 93\nForm : Devil\nSpecial Trait : -50% Fire Attribute Damage. Vulnerable to Electricity Attribute Attacks.\n\nThere are particular entities that linger the infinitude of the space-time continuum, where no ordinary creature can reach by ordinary means; Spirit Viking is one of them. The Spirit Viking has reached the Clocktower while wandering in the lost time, and wishes to go back to the world from which it came. It attacks people, believing that they are the ones responsible for the confusion which the Temporal Schism has created. " />
|
||||
</imgdir>
|
||||
@@ -11516,22 +11525,23 @@
|
||||
<int name="22" value="2040427" />
|
||||
<int name="23" value="2040902" />
|
||||
<int name="24" value="2043002" />
|
||||
<int name="25" value="4000135" />
|
||||
<int name="26" value="4004004" />
|
||||
<int name="27" value="4006001" />
|
||||
<int name="28" value="4020008" />
|
||||
<int name="29" value="4031170" />
|
||||
<int name="30" value="4031171" />
|
||||
<int name="31" value="4031175" />
|
||||
<int name="32" value="4031176" />
|
||||
<int name="33" value="4031177" />
|
||||
<int name="34" value="4031178" />
|
||||
<int name="35" value="4031874" />
|
||||
<int name="36" value="4130000" />
|
||||
<int name="37" value="4130010" />
|
||||
<int name="38" value="4130011" />
|
||||
<int name="39" value="4130016" />
|
||||
<int name="40" value="4131003" />
|
||||
<int name="25" value="2386009" />
|
||||
<int name="26" value="4000135" />
|
||||
<int name="27" value="4004004" />
|
||||
<int name="28" value="4006001" />
|
||||
<int name="29" value="4020008" />
|
||||
<int name="30" value="4031170" />
|
||||
<int name="31" value="4031171" />
|
||||
<int name="32" value="4031175" />
|
||||
<int name="33" value="4031176" />
|
||||
<int name="34" value="4031177" />
|
||||
<int name="35" value="4031178" />
|
||||
<int name="36" value="4031874" />
|
||||
<int name="37" value="4130000" />
|
||||
<int name="38" value="4130010" />
|
||||
<int name="39" value="4130011" />
|
||||
<int name="40" value="4130016" />
|
||||
<int name="41" value="4131003" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 98\nForm : Devil\n\nThere are particular entities that linger the infinitude of the space-time continuum, where no ordinary creature can reach by ordinary means; Gigantic Spirit Viking is one of them. The Spirit Viking has reached the Clocktower while wandering in the lost time, and wishes to go back to the world from which it came. It wears a flag on its back to find its lost family and attacks any person it encounters, believing that people are responsible for the confusion which the Temporal Schism has created." />
|
||||
</imgdir>
|
||||
@@ -11714,21 +11724,22 @@
|
||||
<int name="26" value="2040401" />
|
||||
<int name="27" value="2043019" />
|
||||
<int name="28" value="2044702" />
|
||||
<int name="29" value="4000150" />
|
||||
<int name="30" value="4001107" />
|
||||
<int name="31" value="4006001" />
|
||||
<int name="32" value="4007002" />
|
||||
<int name="33" value="4010001" />
|
||||
<int name="34" value="4010002" />
|
||||
<int name="35" value="4031170" />
|
||||
<int name="36" value="4031171" />
|
||||
<int name="37" value="4031175" />
|
||||
<int name="38" value="4031176" />
|
||||
<int name="39" value="4031177" />
|
||||
<int name="40" value="4031178" />
|
||||
<int name="41" value="4130011" />
|
||||
<int name="42" value="4130016" />
|
||||
<int name="43" value="4130017" />
|
||||
<int name="29" value="2386010" />
|
||||
<int name="30" value="4000150" />
|
||||
<int name="31" value="4001107" />
|
||||
<int name="32" value="4006001" />
|
||||
<int name="33" value="4007002" />
|
||||
<int name="34" value="4010001" />
|
||||
<int name="35" value="4010002" />
|
||||
<int name="36" value="4031170" />
|
||||
<int name="37" value="4031171" />
|
||||
<int name="38" value="4031175" />
|
||||
<int name="39" value="4031176" />
|
||||
<int name="40" value="4031177" />
|
||||
<int name="41" value="4031178" />
|
||||
<int name="42" value="4130011" />
|
||||
<int name="43" value="4130016" />
|
||||
<int name="44" value="4130017" />
|
||||
</imgdir>
|
||||
<string name="episode" value=" Lv. : 99\nForm : Devil\nSpecial Trait : Vulnerable to Sanctity Attribute Attacks. Vulnerable to Fire Attribute Attacks. Ice Attribute Attacks Cancelled.\n\nA long time ago, the king of Ludibrium punished the sinners of heinous crimes by locking them inside a clock, forcing them to reflect on their sins for eternity. However, the evil spirits that were locked inside the clocks were awoken during the Temporal Schism, and rather than seeking forgiveness and redemption, the evil spirits grew even more vengeful against Ludibrium. Although said evil spirits are still imprisoned in the clock, their escape is becoming more and more plausible, not to mention that Grim Phantom Watch has already begun to freely attack the adventurers. " />
|
||||
</imgdir>
|
||||
|
||||
Reference in New Issue
Block a user