Autoassigner patch
Fixed autoassigner handler not reading the client's packet properly when using USE_SERVER_AUTOASSIGNER = false. Updated questid for some drops on the DB. Added scripts for some quests on the Aran's Full Swing skill questline.
This commit is contained in:
+16
-16
@@ -5,66 +5,66 @@
|
||||
|
||||
/build/
|
||||
/dist/
|
||||
/nbproject/private/
|
||||
/nbproject/
|
||||
|
||||
/tools/MapleArrowFetcher/build/
|
||||
/tools/MapleArrowFetcher/dist/
|
||||
/tools/MapleArrowFetcher/nbproject/private/
|
||||
/tools/MapleArrowFetcher/nbproject/
|
||||
|
||||
/tools/MapleBossHpBarFetcher/nbproject/private/
|
||||
/tools/MapleBossHpBarFetcher/nbproject/
|
||||
/tools/MapleBossHpBarFetcher/build/
|
||||
/tools/MapleBossHpBarFetcher/dist/
|
||||
|
||||
/tools/MapleCashDropFetcher/nbproject/private/
|
||||
/tools/MapleCashDropFetcher/nbproject/
|
||||
/tools/MapleCashDropFetcher/build/
|
||||
/tools/MapleCashDropFetcher/dist/
|
||||
|
||||
/tools/MapleCouponInstaller/build/
|
||||
/tools/MapleCouponInstaller/dist/
|
||||
/tools/MapleCouponInstaller/nbproject/private/
|
||||
/tools/MapleCouponInstaller/nbproject/
|
||||
|
||||
/tools/MapleIdRetriever/build/
|
||||
/tools/MapleIdRetriever/dist/
|
||||
/tools/MapleIdRetriever/nbproject/private/
|
||||
/tools/MapleIdRetriever/nbproject/
|
||||
|
||||
/tools/MapleInvalidItemIdFetcher/build/
|
||||
/tools/MapleInvalidItemIdFetcher/dist/
|
||||
/tools/MapleInvalidItemIdFetcher/nbproject/private/
|
||||
/tools/MapleInvalidItemIdFetcher/nbproject/
|
||||
|
||||
/tools/MapleMapInfoRetriever/build/
|
||||
/tools/MapleMapInfoRetriever/dist/
|
||||
/tools/MapleMapInfoRetriever/nbproject/private/
|
||||
/tools/MapleMapInfoRetriever/nbproject/
|
||||
|
||||
/tools/MapleMesoFetcher/build/
|
||||
/tools/MapleMesoFetcher/dist/
|
||||
/tools/MapleMesoFetcher/nbproject/private/
|
||||
/tools/MapleMesoFetcher/nbproject/
|
||||
|
||||
/tools/MapleMobBookIndexer/build/
|
||||
/tools/MapleMobBookIndexer/dist/
|
||||
/tools/MapleMobBookIndexer/nbproject/private/
|
||||
/tools/MapleMobBookIndexer/nbproject/
|
||||
|
||||
/tools/MapleMobBookUpdate/build/
|
||||
/tools/MapleMobBookUpdate/dist/
|
||||
/tools/MapleMobBookUpdate/nbproject/private/
|
||||
/tools/MapleMobBookUpdate/nbproject/
|
||||
|
||||
/tools/MapleQuestItemCountFetcher/nbproject/private/
|
||||
/tools/MapleQuestItemCountFetcher/nbproject/
|
||||
/tools/MapleQuestItemCountFetcher/build/
|
||||
/tools/MapleQuestItemCountFetcher/dist/
|
||||
|
||||
/tools/MapleQuestItemFetcher/build/
|
||||
/tools/MapleQuestItemFetcher/dist/
|
||||
/tools/MapleQuestItemFetcher/nbproject/private/
|
||||
/tools/MapleQuestItemFetcher/nbproject/
|
||||
|
||||
/tools/MapleQuestMesoFetcher/build/
|
||||
/tools/MapleQuestMesoFetcher/dist/
|
||||
/tools/MapleQuestMesoFetcher/nbproject/private/
|
||||
/tools/MapleQuestMesoFetcher/nbproject/
|
||||
|
||||
/tools/MapleSkillMakerFetcher/build/
|
||||
/tools/MapleSkillMakerFetcher/dist/
|
||||
/tools/MapleSkillMakerFetcher/nbproject/private/
|
||||
/tools/MapleSkillMakerFetcher/nbproject/
|
||||
|
||||
/tools/MapleSkillMakerReagentIndexer/build/
|
||||
/tools/MapleSkillMakerReagentIndexer/dist/
|
||||
/tools/MapleSkillMakerReagentIndexer/nbproject/private/
|
||||
/tools/MapleSkillMakerReagentIndexer/nbproject/
|
||||
|
||||
/out
|
||||
|
||||
@@ -863,7 +863,9 @@ Implementado questline do Dyle.
|
||||
Corrigido possível exploit com sistema de quests, onde jogador podia começar e completar quaisquer quests livremente.
|
||||
Nova ferramenta: MapleCashDropFetcher. Aplicação busca por drop data de cash na DB e reporta.
|
||||
|
||||
13 Merço 2018,
|
||||
13 - 14 Março 2018,
|
||||
Adicionado feature de anúncio de mudança de classe.
|
||||
Adicionado drops faltando da questline Puppeteer de Aran.
|
||||
Movimentação de GM rank para alguns comandos.
|
||||
Movimentação de GM rank para alguns comandos.
|
||||
Corrigido autoassigner inesperadamente desconectando jogadores, quando o autoassigner do cliente está sendo utilizado.
|
||||
Adicionado scripts para a questline de Full Swing de Aran.
|
||||
@@ -8,6 +8,9 @@
|
||||
|
||||
var status;
|
||||
|
||||
var common_heading = "@";
|
||||
var staff_heading = "!";
|
||||
|
||||
var comm_lv6 = [];
|
||||
var desc_lv6 = [];
|
||||
|
||||
@@ -220,9 +223,9 @@ function writeSolaxiaCommandsLv0() { //Common
|
||||
addCommand("leaveevent", "");
|
||||
addCommand("ranks", "");
|
||||
addCommand("str", "");
|
||||
addCommand("dex", "");
|
||||
addCommand("int", "");
|
||||
addCommand("luk", "");
|
||||
addCommand("dex", "");
|
||||
}
|
||||
|
||||
function writeSolaxiaCommands() {
|
||||
@@ -262,7 +265,7 @@ function action(mode, type, selection) {
|
||||
|
||||
cm.sendSimple(sendStr);
|
||||
} else if(status == 1) {
|
||||
var lvComm, lvDesc;
|
||||
var lvComm, lvDesc, lvHead = (cm.getPlayer().gmLevel() < 2) ? common_heading : staff_heading;
|
||||
|
||||
if(selection == 0) {
|
||||
lvComm = comm_lv0;
|
||||
@@ -289,7 +292,7 @@ function action(mode, type, selection) {
|
||||
|
||||
var sendStr = "The following commands are available for #b" + levels[selection] + "#k:\r\n\r\n";
|
||||
for(var i = 0; i < lvComm.length; i++) {
|
||||
sendStr += " #L" + i + "# " + lvComm[i] + " - " + lvDesc[i];
|
||||
sendStr += " #L" + i + "# " + lvHead + lvComm[i] + " - " + lvDesc[i];
|
||||
sendStr += "#l\r\n";
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function end(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Aran, you're finally back!!! How you've been doing? Where did you go for so long? We have so much to catch up...");
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Aran, I've discovered some disturbing news... You said you've come from the eastern forest section, right? We traced and studied the magic being used to support the portal over there. It turns out that's of a #rtemporal#k-type. The garments you're using... They were never seen around before. That must mean, #ryou must have come from the future#k.");
|
||||
} else if (status == 1) {
|
||||
qm.sendNext("Now about the problem: the Seal Stone that seems to have been missing in your timeline... It is a powerful artifact, that prevents the army of the #rBlack Mage#k from laying siege on our world. If that stone goes away, nothing more can prevent him. As this is a matter of great importance, find the #rself of mine#k from the future. I'm actually a #rfairy#k with a great life expectancy, I must be alive even on your timeline. Got it, #rfetch the me from the future#k!");
|
||||
qm.forceStartQuest();
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function start(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
if(!qm.canHold(4032328, 1)) {
|
||||
qm.sendNext("Hm, I will need you to prepare a ETC slot for a letter I need to give you.");
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
qm.sendNext("Here, take this. Send it to #r#p1002104##k, it contains a relevant matter for protecting this world. Please comply to this request.");
|
||||
} else if (status == 1) {
|
||||
qm.forceStartQuest();
|
||||
|
||||
qm.gainItem(4032328, 1);
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
This file is part of the HeavenMS (MapleSolaxiaV2) MapleStory Server
|
||||
Copyleft (L) 2017 RonanLana
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation version 3 as published by
|
||||
the Free Software Foundation. You may not use, modify or distribute
|
||||
this program under any other version of the GNU Affero General Public
|
||||
License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var status = -1;
|
||||
|
||||
function end(mode, type, selection) {
|
||||
if (mode == -1) {
|
||||
qm.dispose();
|
||||
} else {
|
||||
if(mode == 0 && type > 0) {
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mode == 1)
|
||||
status++;
|
||||
else
|
||||
status--;
|
||||
|
||||
if (status == 0) {
|
||||
qm.sendNext("Oh, a letter for the #rempress#k? From the #bheroes#k?!");
|
||||
qm.gainExp(1000 * qm.getPlayer().getExpRate());
|
||||
qm.gainItem(4032330, -1);
|
||||
qm.forceCompleteQuest();
|
||||
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,11 +8,12 @@ function start(mode, type, selection) {
|
||||
qm.sendNext("He used to scowl and whine about his arthritis until just recently, but he''s suddenly become all happy and smiley!!");
|
||||
} else if (status == 2) {
|
||||
qm.sendNext("I have a feeling there is a secret behind that wooden box. Could you stealthily look into the wooden box next to #p20000#?");
|
||||
} else if (status == 3) {
|
||||
qm.sendNext("You know where #p20000# is, right? Hes to the right. Just keep going until you see where Vikin is, then head down past the hanging shark and octopus, and you''ll see John. The box should be right next to him.");
|
||||
} else {
|
||||
qm.sendNext("You know where #p20000# is, right? He''s to the right. Just keep going until you see where Vikin is, then head down past the hanging shark and octopus, and you''ll see John. The box should be right next to him.");
|
||||
qm.forceStartQuest();
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
|
||||
@@ -3,14 +3,17 @@ var status = -1;
|
||||
function start(mode, type, selection) {
|
||||
status++;
|
||||
if (status == 0) {
|
||||
if(qm.haveItem(4032423, 1)) {
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
return;
|
||||
}
|
||||
|
||||
qm.sendNext("#bHm, there's a medicinal substance in the box. What could this be? You better take this to John and ask him what it is.#k");
|
||||
} else {
|
||||
qm.gainItem(4032423,1);
|
||||
qm.forceCompleteQuest();
|
||||
qm.gainItem(4032423,1);
|
||||
|
||||
qm.forceStartQuest();
|
||||
qm.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
function end(mode, type, selection) {
|
||||
qm.dispose();
|
||||
}
|
||||
+6
-6
@@ -11429,11 +11429,11 @@ INSERT IGNORE INTO `temp_data` (`id`, `dropperid`, `itemid`, `minimum_quantity`,
|
||||
(11210, 9001002, 4031059, 1, 1, 0, 999999),
|
||||
(11211, 9001003, 4031059, 1, 1, 0, 999999),
|
||||
(11212, 9001004, 4031059, 1, 1, 0, 999999),
|
||||
(11213, 9001005, 4031857, 1, 1, 0, 300000),
|
||||
(11213, 9001005, 4031857, 1, 1, 2192, 300000),
|
||||
(11214, 9001012, 4032311, 1, 1, 0, 300000),
|
||||
(11215, 9001012, 4032311, 1, 1, 0, 300000),
|
||||
(11216, 9001013, 4032312, 1, 1, 0, 999999),
|
||||
(11217, 9001013, 4032339, 1, 1, 0, 999999),
|
||||
(11217, 9001013, 4032339, 1, 1, 21303, 999999),
|
||||
(11219, 4230113, 1452016, 1, 1, 0, 700),
|
||||
(11220, 4230103, 1452016, 1, 1, 0, 700),
|
||||
(11221, 2230102, 1452016, 1, 1, 0, 700),
|
||||
@@ -11628,7 +11628,7 @@ INSERT IGNORE INTO `temp_data` (`id`, `dropperid`, `itemid`, `minimum_quantity`,
|
||||
(11628, 6220000, 1472055, 1, 1, 0, 1250),
|
||||
(11627, 5120500, 1472055, 1, 1, 0, 750),
|
||||
(11626, 5120000, 1472055, 1, 1, 0, 750),
|
||||
(11625, 9001006, 4031856, 1, 1, 0, 400000),
|
||||
(11625, 9001006, 4031856, 1, 1, 2191, 400000),
|
||||
(11624, 8190003, 4031461, 1, 1, 6169, 1000),
|
||||
(11623, 9400218, 4001106, 25, 50, 0, 999999),
|
||||
(11622, 9400217, 4001106, 1, 3, 0, 999999),
|
||||
@@ -16584,8 +16584,8 @@ INSERT INTO `reactordrops` (`reactordropid`, `reactorid`, `itemid`, `chance`, `q
|
||||
(37, 2212002, 2000002, 3, -1),
|
||||
(38, 2212001, 4031141, 2, -1),
|
||||
(39, 2212002, 4031143, 2, -1),
|
||||
(40, 2212003, 4031107, 2, -1),
|
||||
(41, 2212004, 4031116, 2, -1),
|
||||
(40, 2212003, 4031107, 2, 3409),
|
||||
(41, 2212004, 4031116, 2, 3419),
|
||||
(42, 2212004, 2000001, 2, -1),
|
||||
(43, 2212005, 4031136, 8, 3439),
|
||||
(44, 2222000, 4031231, 2, 3620),
|
||||
@@ -16669,7 +16669,7 @@ INSERT INTO `reactordrops` (`reactordropid`, `reactorid`, `itemid`, `chance`, `q
|
||||
(122, 2201001, 4001022, 1, -1),
|
||||
(123, 1402000, 4032309, 1, 21013),
|
||||
(124, 1402000, 4032310, 1, 21013),
|
||||
(125, 1022001, 4032319, 7, -1),
|
||||
(125, 1022001, 4032319, 7, 21723),
|
||||
(126, 1022002, 4001340, 1, 28167),
|
||||
(127, 1202000, 4001366, 1, 28194),
|
||||
(128, 1202003, 4001346, 3, 28225),
|
||||
|
||||
+13
-10
@@ -2850,9 +2850,9 @@ USE `heavenms`;
|
||||
(3110100, 4000032, 1, 1, 0, 200000),
|
||||
(9300234, 4000032, 1, 1, 0, 200000),
|
||||
(9500108, 4000032, 1, 1, 0, 200000),
|
||||
(3110100, 4031164, 1, 1, 0, 7000),
|
||||
(9300234, 4031164, 1, 1, 0, 7000),
|
||||
(9500108, 4031164, 1, 1, 0, 7000),
|
||||
(3110100, 4031164, 1, 1, 2084, 7000),
|
||||
(9300234, 4031164, 1, 1, 2084, 7000),
|
||||
(9500108, 4031164, 1, 1, 2084, 7000),
|
||||
(3110100, 4031405, 1, 1, 0, 7000),
|
||||
(9300234, 4031405, 1, 1, 0, 7000),
|
||||
(9500108, 4031405, 1, 1, 0, 7000),
|
||||
@@ -9148,8 +9148,8 @@ USE `heavenms`;
|
||||
(9420530, 1002212, 1, 1, 0, 700),
|
||||
(9420530, 1472013, 1, 1, 0, 700),
|
||||
(9420530, 1051006, 1, 1, 0, 700),
|
||||
(5130107, 4031218, 1, 1, 0, 7000),
|
||||
(9400504, 4031218, 1, 1, 0, 7000),
|
||||
(5130107, 4031218, 1, 1, 3071, 7000),
|
||||
(9400504, 4031218, 1, 1, 3071, 7000),
|
||||
(5130107, 2000002, 1, 1, 0, 40000),
|
||||
(9400504, 2000002, 1, 1, 0, 40000),
|
||||
(5130107, 2000003, 1, 1, 0, 40000),
|
||||
@@ -9202,7 +9202,7 @@ USE `heavenms`;
|
||||
(9400504, 1060083, 1, 1, 0, 700),
|
||||
(5130107, 1482008, 1, 1, 0, 700),
|
||||
(9400504, 1482008, 1, 1, 0, 700),
|
||||
(5130108, 4031218, 1, 1, 0, 7000),
|
||||
(5130108, 4031218, 1, 1, 3071, 7000),
|
||||
(5130108, 2000002, 1, 1, 0, 40000),
|
||||
(5130108, 2000003, 1, 1, 0, 40000),
|
||||
(5130108, 2000004, 1, 1, 0, 40000),
|
||||
@@ -11082,8 +11082,8 @@ USE `heavenms`;
|
||||
(9420534, 1061102, 1, 1, 0, 700),
|
||||
(6230300, 4000129, 1, 1, 0, 200000),
|
||||
(9300317, 4000129, 1, 1, 0, 200000),
|
||||
(6230300, 4031189, 1, 1, 0, 7000),
|
||||
(9300317, 4031189, 1, 1, 0, 7000),
|
||||
(6230300, 4031189, 1, 1, 3448, 7000),
|
||||
(9300317, 4031189, 1, 1, 3448, 7000),
|
||||
(6230300, 2000002, 1, 1, 0, 40000),
|
||||
(9300317, 2000002, 1, 4, 0, 40000),
|
||||
(6230300, 2043701, 1, 1, 0, 750),
|
||||
@@ -19239,7 +19239,7 @@ USE `heavenms`;
|
||||
(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, 3238, 10000),
|
||||
(7160000, 2385015, 1, 1, 0, 10000),
|
||||
(3230306, 2022355, 1, 1, 3248, 100000),
|
||||
(4230113, 2022354, 1, 1, 3248, 100000),
|
||||
@@ -20185,7 +20185,10 @@ USE `heavenms`;
|
||||
(1110130, 4032317, 1, 1, 21717, 40000),
|
||||
(1110130, 4032318, 1, 1, 21718, 40000),
|
||||
(1140130, 4032319, 1, 1, 21723, 100000),
|
||||
(2230131, 4032321, 1, 1, 21727, 20000);
|
||||
(2230131, 4032321, 1, 1, 21727, 20000),
|
||||
(5250002, 4032326, 1, 1, 21752, 100000),
|
||||
(2110301, 4032401, 1, 1, 2261, 100000),
|
||||
(2110300, 4032402, 1, 1, 2263, 100000);
|
||||
|
||||
# (dropperid, itemid, minqty, maxqty, questid, chance)
|
||||
|
||||
|
||||
@@ -594,9 +594,9 @@ public class Commands {
|
||||
|
||||
// stat autoassigning command credited to HeliosMS dev team
|
||||
case "str":
|
||||
case "dex":
|
||||
case "int":
|
||||
case "luk":
|
||||
case "dex":
|
||||
int amount = (sub.length > 1) ? Integer.parseInt(sub[1]) : player.getRemainingAp();
|
||||
boolean str = sub[0].equalsIgnoreCase("str");
|
||||
boolean Int = sub[0].equalsIgnoreCase("int");
|
||||
@@ -764,7 +764,7 @@ public class Commands {
|
||||
|
||||
case "goto":
|
||||
if (sub.length < 2){
|
||||
player.yellowMessage("Syntax: !goto <map name>");
|
||||
player.yellowMessage("Syntax: @goto <map name>");
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ public class ServerConstants {
|
||||
public static final boolean USE_PARTY_FOR_STARTERS = true; //Players level 10 or below can create/invite other players on the given level range.
|
||||
public static final boolean USE_AUTOBAN = false; //Commands the server to detect infractors automatically.
|
||||
public static final boolean USE_AUTOSAVE = true; //Enables server autosaving feature (saves characters to DB each 1 hour).
|
||||
public static final boolean USE_SERVER_AUTOASSIGNER = true; //Server-builtin autoassigner, uses algorithm based on distributing AP accordingly with required secondary stat on equipments.
|
||||
public static final boolean USE_SERVER_AUTOASSIGNER = true; //HeavenMS-builtin autoassigner, uses algorithm based on distributing AP accordingly with required secondary stat on equipments.
|
||||
public static final boolean USE_REFRESH_RANK_MOVE = true;
|
||||
public static final boolean USE_ENFORCE_HPMP_SWAP = false; //Forces players to reuse stats (via AP Resetting) located on HP/MP pool only inside the HP/MP stats.
|
||||
public static final boolean USE_ENFORCE_MOB_LEVEL_RANGE = true; //Players N levels below the killed mob will gain no experience from defeating it.
|
||||
|
||||
@@ -52,19 +52,18 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler {
|
||||
@Override
|
||||
public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
||||
MapleCharacter chr = c.getPlayer();
|
||||
if (chr.getRemainingAp() < 1) return;
|
||||
|
||||
int[] statGain = new int[4];
|
||||
int[] statEqpd = new int[4];
|
||||
|
||||
statGain[0] = 0; statGain[1] = 0; statGain[2] = 0; statGain[3] = 0;
|
||||
|
||||
slea.skip(8);
|
||||
byte opt = slea.readByte(); // useful for pirate autoassigning
|
||||
|
||||
if (chr.getRemainingAp() < 1) return;
|
||||
|
||||
if(ServerConstants.USE_SERVER_AUTOASSIGNER) {
|
||||
// --------- Ronan Lana's AUTOASSIGNER ---------
|
||||
// This method excels for assigning APs in such a way to cover all equipments AP requirements.
|
||||
byte opt = slea.readByte(); // useful for pirate autoassigning
|
||||
|
||||
int str = 0, dex = 0, luk = 0, int_ = 0;
|
||||
List<Short> eqpStrList = new ArrayList<>();
|
||||
@@ -324,16 +323,13 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler {
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
c.announce(MaplePacketCreator.serverNotice(1, "Better AP applications detected:\r\nSTR: +" + statGain[0] + "\r\nDEX: +" + statGain[1] + "\r\nINT: +" + statGain[3] + "\r\nLUK: +" + statGain[2]));
|
||||
}
|
||||
else {
|
||||
int total = 0;
|
||||
int extras = 0;
|
||||
} else {
|
||||
if(slea.available() < 16) {
|
||||
AutobanFactory.PACKET_EDIT.alert(chr, "Didn't send full packet for Auto Assign.");
|
||||
c.disconnect(false, false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
MapleInventory iv = chr.getInventory(MapleInventoryType.EQUIPPED);
|
||||
Collection<Item> equippedC = iv.list();
|
||||
for (Item item : equippedC) { //selecting the biggest AP value of each stat from each equipped item.
|
||||
@@ -345,6 +341,8 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler {
|
||||
statEqpd[3] += nEquip.getInt();
|
||||
}
|
||||
|
||||
int total = 0;
|
||||
int extras = 0;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
int type = slea.readInt();
|
||||
int tempVal = slea.readInt();
|
||||
|
||||
@@ -22876,12 +22876,6 @@
|
||||
<int name="npc" value="2131000"/>
|
||||
<int name="lvmin" value="63"/>
|
||||
<string name="startscript" value="q21753s"/>
|
||||
<int name="infoNumber" value="21764"/>
|
||||
<imgdir name="infoex">
|
||||
<imgdir name="0">
|
||||
<string name="value" value="1"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="quest">
|
||||
<imgdir name="0">
|
||||
<int name="id" value="21751"/>
|
||||
@@ -22903,12 +22897,6 @@
|
||||
<int name="npc" value="1012100"/>
|
||||
<int name="lvmin" value="63"/>
|
||||
<string name="startscript" value="q21754s"/>
|
||||
<int name="infoNumber" value="21765"/>
|
||||
<imgdir name="infoex">
|
||||
<imgdir name="0">
|
||||
<string name="value" value="2"/>
|
||||
</imgdir>
|
||||
</imgdir>
|
||||
<imgdir name="quest">
|
||||
<imgdir name="0">
|
||||
<int name="id" value="21753"/>
|
||||
|
||||
Reference in New Issue
Block a user