Mystic Doors review + Togglable SrvMessage-BossHP + Map-Event patch

Reviewed Mystic Doors.
Fixed several issues showing up on Duey in uncommon scenarios.
Fixed a concurrency issue with XMLDomMapleData.
Scheduled forward the "lock disposal" action within the source. Now, it's expected that, after a set while, no method should require usage of a disposed lock and, during that while, a supposed "disposed lock" is still available to run (although no new processes is expected to require use of these locks).
Fixed concurrency issues with player's current event instance, generating several inconsistencies when swiftly registering/unregistering from events.
Implemented a mutually exclusive approach for server message - Boss HPbar.
Fixed item-making Kage requiring lv71~80 ETC instead of the expected 81~90.
Removed the possibility to buy cosmetic coupons with mesos through the NPCs.
Sleepywood JQ's no longer gives cash items when they finish the quest repeatedly.
Added Duey trucks in several maps lacking it. Added NPC Duey in New Leaf City.
Fixed scripted quests not calculating QUEST_RATE (if applied) when rewarding experience and meso.
This commit is contained in:
ronancpl
2018-08-07 23:37:24 -03:00
parent cc541f39d5
commit 4c25c07e28
173 changed files with 38064 additions and 37254 deletions

View File

@@ -2,29 +2,23 @@ var minPlayers = 1;
var timeLimit = 20; //20 minutes
var eventTimer = 1000 * 60 * timeLimit;
var exitMap = 106021400;
var eventMap = 106021500;
function init(){}
function setup(difficulty, lobbyId){
var eim = em.newInstance("KingPepe_" +lobbyId);
eim.getInstanceMap(106021500).resetFully();
eim.getInstanceMap(106021500).allowSummonState(false);
respawn(eim);
eim.getInstanceMap(eventMap).resetFully();
eim.getInstanceMap(eventMap).allowSummonState(false);
eim.startEventTimer(eventTimer);
return eim;
}
function afterSetup(eim){}
function respawn(eim){
var map = eim.getMapInstance(exitMap);
map.allowSummonState(true);
map.instanceMapRespawn();
eim.schedule("respawn", 10000);
}
function playerEntry(eim, player){
var yetiMap = eim.getMapInstance(106021500);
var yetiMap = eim.getMapInstance(eventMap);
player.changeMap(yetiMap, yetiMap.getPortal(1));
}
@@ -37,46 +31,31 @@ function scheduledTimeout(eim){
eim.dispose();
}
function playerRevive(eim, player){
player.setHp(50);
player.setStance(0);
eim.unregisterPlayer(player);
player.changeMap(exitMap);
return false;
}
function playerDead(eim, player){}
function playerDisconnected(eim, player){
var party = eim.getPlayers();
for(var i = 0; i < party.size(); i++){
if(party.get(i).equals(player))
removePlayer(eim, player);
else
playerExit(eim, party.get(i));
}
eim.dispose();
if (eim.isEventTeamLackingNow(true, minPlayers, player)) {
eim.unregisterPlayer(player);
end(eim);
}
else
eim.unregisterPlayer(player);
}
function monsterValue(eim, mobId){
return -1;
}
function leftParty(eim, player){
var party = eim.getPlayers();
if(party.size() < minPlayers){
for(var i = 0; i < party.size(); i++){
playerExit(eim, party.get(i));
}
eim.dispose();
}
else{
playerExit(eim, player);
}
function end(eim) {
var party = eim.getPlayers();
for (var i = 0; i < party.size(); i++) {
playerExit(eim, party.get(i));
}
eim.dispose();
}
function leftParty(eim, player){}
function disbandParty(eim){}
function playerUnregistered(eim, player){}
@@ -86,17 +65,15 @@ function playerExit(eim, player){
player.changeMap(exitMap, 2);
}
function moveMap(eim, player){
if(player.getMap().getId() == exitMap){
removePlayer(eim, player);
eim.dispose();
}
}
function removePlayer(eim, player){
eim.unregisterPlayer(player);
player.getMap().removePlayer(player);
player.setMap(exitMap);
function changedMap(eim, chr, mapid) {
if (mapid != eventMap) {
if (eim.isEventTeamLackingNow(true, minPlayers, chr)) {
eim.unregisterPlayer(chr);
end(eim);
}
else
eim.unregisterPlayer(chr);
}
}
function cancelSchedule(){}

View File

@@ -41,12 +41,9 @@ function action(mode, type, selection) {
} else {
status++;
if (status == 0)
cm.sendSimple("I'm the head of this hair salon. If you have a #b#t5150001##k or a #b#t5151001##k allow me to take care of your hairdo. Please choose the one you want.\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150001##t5150001##l\r\n#L2#Dye your hair: #i5151001##t5151001##l");
cm.sendSimple("I'm the head of this hair salon. If you have a #b#t5150001##k or a #b#t5151001##k allow me to take care of your hairdo. Please choose the one you want.\r\n#L1#Haircut: #i5150001##t5150001##l\r\n#L2#Dye your hair: #i5151001##t5151001##l");
else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150001##t5150001##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151001##t5151001##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0)

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("I'm Brittany the assistant. If you have #b#t5150010##k or #b#t5151000##k by any chance, then how about letting me change your hairdo?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150010##t5150010##l\r\n#L2#Dye your hair: #i5151000##t5151000##l");
cm.sendSimple("I'm Brittany the assistant. If you have #b#t5150010##k or #b#t5151000##k by any chance, then how about letting me change your hairdo?\r\n#L1#Haircut: #i5150010##t5150010##l\r\n#L2#Dye your hair: #i5151000##t5151000##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150010##t5150010##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151000##t5151000##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -47,17 +47,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Well, hello! Welcome to the Henesys Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152001##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L1#I would like to buy a #b#t5152001##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Well, hello! Welcome to the Henesys Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152001##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152001, 1);
cm.sendOk("Enjoy!");
} else
cm.sendOk("You don't have enough mesos to buy a coupon!");
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0) {
for(var i = 0; i < mface.length; i++)

View File

@@ -47,18 +47,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hi, I pretty much shouldn't be doing this, but with a #b#t5152000##k, I will do it anyways for you. But don't forget, it will be random!\r\n#L1#I would like to buy a #b#t5152000##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Hi, I pretty much shouldn't be doing this, but with a #b#t5152000##k, I will do it anyways for you. But don't forget, it will be random!\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152000, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0) {
for(var i = 0; i < mface.length; i++) {

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hello! I'm Don Giovanni, head of the beauty salon! If you have either #b#t5150003##k or #b#t5151003##k, why don't you let me take care of the rest? Decide what you want to do with your hair...\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150003##t5150003##l\r\n#L2#Dye your hair: #i5151003##t5151003##l");
cm.sendSimple("Hello! I'm Don Giovanni, head of the beauty salon! If you have either #b#t5150003##k or #b#t5151003##k, why don't you let me take care of the rest? Decide what you want to do with your hair...\r\n#L1#Haircut: #i5150003##t5150003##l\r\n#L2#Dye your hair: #i5151003##t5151003##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150003##t5150003##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151003##t5151003##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("I'm Andre, Don's assistant. Everyone calls me Andre, though. If you have a #b#t5150011##k or a #b#t5151002##k, please let me change your hairdo!\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150011##t5150011##l\r\n#L2#Dye your hair: #i5151002##t5151002##l");
cm.sendSimple("I'm Andre, Don's assistant. Everyone calls me Andre, though. If you have a #b#t5150011##k or a #b#t5151002##k, please let me change your hairdo!\r\n#L1#Haircut: #i5150011##t5150011##l\r\n#L2#Dye your hair: #i5151002##t5151002##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150011##t5150011##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151002##t5151002##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -27,11 +27,11 @@ var selectedMap = -1;
function start() {
cm.sendNext("You feel a mysterious force surrounding this statue.");
if (cm.isQuestStarted(2054))
if (cm.isQuestStarted(2054) || cm.isQuestCompleted(2054))
zones = 3;
else if (cm.isQuestStarted(2053))
else if (cm.isQuestStarted(2053) || cm.isQuestCompleted(2053))
zones = 2;
else if (cm.isQuestStarted(2052))
else if (cm.isQuestStarted(2052) || cm.isQuestCompleted(2052))
zones = 1;
else
zones = 0;

View File

@@ -21,29 +21,29 @@
*/
/* John JQ Flower pile #1
*/
var repeatablePrizes = [[4010000, 3], [4010001, 3], [4010002, 3], [4010003, 3], [4010004, 3], [4010005, 3]];
function start() {
var prizes = Array(1040051, 1040127, 1040128, 1040133, 1040138, 1041000, 1041001, 1041110, 1041130, 1041139, 1042015, 1042017, 1042023, 1702001, 1702025);
var chances = Array(10, 10, 10, 10, 5, 10, 10, 10, 10, 5, 8, 8, 8, 9, 7);
var totalodds = 0;
var choice = 0;
for (var i = 0; i < chances.length; i++) {
var itemGender = (Math.floor(prizes[i]/1000)%10);
if ((cm.getPlayer().getGender() != itemGender) && (itemGender != 2))
chances[i] = 0;
}
for (var i = 0; i < chances.length; i++)
totalodds += chances[i];
var randomPick = Math.floor(Math.random()*totalodds)+1;
for (var i = 0; i < chances.length; i++) {
randomPick -= chances[i];
if (randomPick <= 0) {
choice = i;
randomPick = totalodds + 100;
if (cm.isQuestStarted(2052) && !cm.haveItem(4031025,10)) {
if(!cm.canHold(4031025,10)) {
cm.sendNext("Check for a available slot on your ETC inventory.");
cm.dispose();
return;
}
}
if (cm.isQuestStarted(2052))
cm.gainItem(4031025,10);
else cm.gainItem(prizes[choice],1);
} else {
if(cm.getPlayer().getInventory(Packages.client.inventory.MapleInventoryType.ETC).getNumFreeSlot() < 1) {
cm.sendNext("Check for a available slot on your ETC inventory.");
cm.dispose();
return;
}
var itemPrize = repeatablePrizes[Math.floor((Math.random() * repeatablePrizes.length))];
cm.gainItem(itemPrize[0], itemPrize[1]);
}
cm.warp(105040300, 0);
cm.dispose();
}

View File

@@ -21,29 +21,29 @@
/* John JQ Flower pile #2
*/
var repeatablePrizes = [[4020000, 4], [4020002, 4], [4020006, 4]];
function start() {
var prizes = Array(1060034, 1060040, 1060049, 1060113, 1060121, 1061000, 1061001, 1061073, 1061089, 1061142, 1062010, 1062020, 1702140, 1702115);
var chances = Array(10, 10, 10, 10, 5, 10, 10, 10, 10, 5, 8, 8, 8, 8);
var totalodds = 0;
var choice = 0;
for (var i = 0; i < chances.length; i++) {
var itemGender = (Math.floor(prizes[i]/1000)%10);
if ((cm.getPlayer().getGender() != itemGender) && (itemGender != 2))
chances[i] = 0;
}
for (var i = 0; i < chances.length; i++)
totalodds += chances[i];
var randomPick = Math.floor(Math.random()*totalodds)+1;
for (var i = 0; i < chances.length; i++) {
randomPick -= chances[i];
if (randomPick <= 0) {
choice = i;
randomPick = totalodds + 100;
if (cm.isQuestStarted(2053) && !cm.haveItem(4031026,20)) {
if(!cm.canHold(4031026,20)) {
cm.sendNext("Check for a available slot on your ETC inventory.")
cm.dispose();
return;
}
}
if (cm.isQuestStarted(2053))
cm.gainItem(4031026,20);
else cm.gainItem(prizes[choice],1);
} else {
if(cm.getPlayer().getInventory(Packages.client.inventory.MapleInventoryType.ETC).getNumFreeSlot() < 1) {
cm.sendNext("Check for a available slot on your ETC inventory.");
cm.dispose();
return;
}
var itemPrize = repeatablePrizes[Math.floor((Math.random() * repeatablePrizes.length))];
cm.gainItem(itemPrize[0], itemPrize[1]);
}
cm.warp(105040300, 0);
cm.dispose();
}

View File

@@ -19,31 +19,31 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// John JQ Flower pile #3
/* John JQ Flower pile #3
*/
var repeatablePrizes = [[4010006, 4], [4010007, 4], [4020007, 4]];
function start() {
var prizes = Array(1050004, 1050015, 1050041, 1050044, 1050124, 1051021, 1051036, 1051075, 1051111, 1051138, 1052003, 1052006, 1052011, 1702024, 1702026);
var chances = Array(10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 8, 8);
var totalodds = 0;
var choice = 0;
for (var i = 0; i < chances.length; i++) {
var itemGender = (Math.floor(prizes[i]/1000)%10);
if (cm.getPlayer().getGender() != itemGender && itemGender != 2)
chances[i] = 0;
}
for (var i = 0; i < chances.length; i++)
totalodds += chances[i];
var randomPick = Math.floor(Math.random()*totalodds)+1;
for (var i = 0; i < chances.length; i++) {
randomPick -= chances[i];
if (randomPick <= 0) {
choice = i;
randomPick = totalodds + 100;
if (cm.isQuestStarted(2054) && !cm.haveItem(4031028,30)) {
if(!cm.canHold(4031028,30)) {
cm.sendNext("Check for a available slot on your ETC inventory.")
cm.dispose();
return;
}
}
if (cm.isQuestStarted(2054))
cm.gainItem(4031028,30);
else cm.gainItem(prizes[choice],1);
} else {
if(cm.getPlayer().getInventory(Packages.client.inventory.MapleInventoryType.ETC).getNumFreeSlot() < 1) {
cm.sendNext("Check for a available slot on your ETC inventory.");
cm.dispose();
return;
}
var itemPrize = repeatablePrizes[Math.floor((Math.random() * repeatablePrizes.length))];
cm.gainItem(itemPrize[0], itemPrize[1]);
}
cm.warp(105040300, 0);
cm.dispose();
}

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hello I'm Mino. If you have either a #b#t5150005##k or a #b#t5151005##k, then please let me take care of your hair. Choose what you want to do with it.\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150005##t5150005##l\r\n#L2#Dye your hair: #i5151005##t5151005##l");
cm.sendSimple("Hello I'm Mino. If you have either a #b#t5150005##k or a #b#t5151005##k, then please let me take care of your hair. Choose what you want to do with it.\r\n#L1#Haircut: #i5150005##t5150005##l\r\n#L2#Dye your hair: #i5151005##t5151005##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150005##t5150005##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151005##t5151005##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -47,18 +47,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Well well well, welcome to the Orbis Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152005##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L1#I would like to buy a #b#t5152005##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Well well well, welcome to the Orbis Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152005##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152005, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0) {
for(var i = 0; i < mface.length; i++) {

View File

@@ -31,7 +31,7 @@ var fhair = Array(31040, 31000, 31250, 31220, 31260, 31240, 31110, 31270, 31030,
var hairnew = Array();
function start() {
cm.sendSimple("I'm Rinz, the assistant. Do you have #b#t5150013##k or #b#t5151004##k with you? If so, what do you think about letting me take care of your hairdo? What do you want to do with your hair?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150013##t5150013##l\r\n#L2#Dye your hair: #i5151004##t5151004##l");
cm.sendSimple("I'm Rinz, the assistant. Do you have #b#t5150013##k or #b#t5151004##k with you? If so, what do you think about letting me take care of your hairdo? What do you want to do with your hair?\r\n#L1#Haircut: #i5150013##t5150013##l\r\n#L2#Dye your hair: #i5151004##t5151004##l");
}
function action(mode, type, selection) {
@@ -40,10 +40,7 @@ function action(mode, type, selection) {
else {
status++;
if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150013##t5150013##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151004##t5151004##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0)

View File

@@ -27,7 +27,7 @@ var price = 1000000;
var skin = Array(0, 1, 2, 3, 4);
function start() {
cm.sendSimple("Well, hello! Welcome to the Orbis Skin-Care~! Would you like to have a firm, tight, healthy looking skin like mine? With #b#t5153001##k, you can let us take care of the rest and have the kind of skin you've always wanted~!\r\n#L1#I would like to buy a #b#t5153001##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Well, hello! Welcome to the Orbis Skin-Care~! Would you like to have a firm, tight, healthy looking skin like mine? With #b#t5153001##k, you can let us take care of the rest and have the kind of skin you've always wanted~!\r\n#L2#I already have a Coupon!#l");
}
function action(mode, type, selection) {
@@ -43,15 +43,7 @@ function action(mode, type, selection) {
else
status--;
if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5153001, 1);
cm.sendOk("Enjoy!");
} else
cm.sendOk("You don't have enough mesos to buy a coupon!");
cm.dispose();
} else if (selection == 2)
if (selection == 2)
cm.sendStyle("With our specialized machine, you can see the way you'll look after the treatment PRIOR to the procedure. What kind of a look are you looking for? Go ahead and choose the style of your liking~!", skin);
}
else if (status == 2){

View File

@@ -30,7 +30,7 @@ var fface = Array(21000, 21001, 21002, 21003, 21004, 21005, 21006, 21007, 21008,
var facenew = Array();
function start() {
cm.sendSimple("Hi, I pretty much shouldn't be doing this, but with a #b#t5152004##k, I will do it anyways for you. But don't forget, it will be random!\r\n#L1#I would like to buy a #b#t5152004##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Hi, I pretty much shouldn't be doing this, but with a #b#t5152004##k, I will do it anyways for you. But don't forget, it will be random!\r\n#L2#I already have a Coupon!#l");
}
function action(mode, type, selection) {
@@ -39,15 +39,7 @@ function action(mode, type, selection) {
} else {
status++;
if (status == 1) {
if (selection == 1) {
if (cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152004, 1);
cm.sendOk("Enjoy!");
} else
cm.sendOk("You don't have enough mesos to buy a coupon!");
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0)
for (var i = 0; i < mface.length; i++)
@@ -59,13 +51,15 @@ function action(mode, type, selection) {
}
}
else if (status == 2){
cm.dispose();
if (cm.haveItem(5152004)){
cm.gainItem(5152004, -1);
cm.setFace(facenew[Math.floor(Math.random() * facenew.length)]);
cm.sendOk("Enjoy your new and improved face!");
} else
} else {
cm.sendOk("Hmm ... it looks like you don't have the coupon specifically for this place. Sorry to say this, but without the coupon, there's no plastic surgery for you...");
}
cm.dispose();
}
}
}

View File

@@ -47,18 +47,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Well, I'm bored, so I'll help out the doctor. For a #b#t5152006##k, I will change the way you look. But don't forget, it will be random!\r\n#L1#I would like to buy a #b#t5152006##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Well, I'm bored, so I'll help out the doctor. For a #b#t5152006##k, I will change the way you look. But don't forget, it will be random!\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152006, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0) {
for(var i = 0; i < mface.length; i++) {

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Welcome, welcome, welcome to the Ludibrium Hair Salon! Do you, by any chance, have a #b#t5150007##k or a #b#t5151007##k? If so, how about letting me take care of your hair? Please choose what you want to do with it...\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150007##t5150007##l\r\n#L2#Dye your hair: #i5151007##t5151007##l");
cm.sendSimple("Welcome, welcome, welcome to the Ludibrium Hair Salon! Do you, by any chance, have a #b#t5150007##k or a #b#t5151007##k? If so, how about letting me take care of your hair? Please choose what you want to do with it...\r\n#L1#Haircut: #i5150007##t5150007##l\r\n#L2#Dye your hair: #i5151007##t5151007##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150007##t5150007##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151007##t5151007##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hi, I'm the assistant here. Don't worry, I'm plenty good enough for this. If you have #b#t5150012##k or #b#t5151006##k by any chance, then allow me to take care of the rest, alright?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150012##t5150012##l\r\n#L2#Dye your hair: #i5151006##t5151006##l");
cm.sendSimple("Hi, I'm the assistant here. Don't worry, I'm plenty good enough for this. If you have #b#t5150012##k or #b#t5151006##k by any chance, then allow me to take care of the rest, alright?\r\n#L1#Haircut: #i5150012##t5150012##l\r\n#L2#Dye your hair: #i5151006##t5151006##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150012##t5150012##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151006##t5151006##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -47,18 +47,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Well, hello! Welcome to the Ludibrium Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152007##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L1#I would like to buy a #b#t5152007##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Well, hello! Welcome to the Ludibrium Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152007##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152007, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0) {
for(var i = 0; i < mface.length; i++) {

View File

@@ -41,18 +41,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Oh, hello! Welcome to the Ludibrium Skin-Care! Are you interested in getting tanned and looking sexy? How about a beautiful, snow-white skin? If you have #b#t5153002##k, you can let us take care of the rest and have the kind of skin you've always dreamed of!\r\n#L1#I would like to buy a #b#t5153002##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5153002, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
cm.sendSimple("Oh, hello! Welcome to the Ludibrium Skin-Care! Are you interested in getting tanned and looking sexy? How about a beautiful, snow-white skin? If you have #b#t5153002##k, you can let us take care of the rest and have the kind of skin you've always dreamed of!\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 2) {
cm.sendStyle("With our specialized machine, you can see the way you'll look after the treatment PRIOR to the procedure. What kind of a look are you looking for? Go ahead and choose the style of your liking~!", skin);
}
}

View File

@@ -31,7 +31,7 @@ var fhair = Array(31040, 31250, 31310, 31220, 31300, 31680, 31160, 31030, 31230)
var hairnew = Array();
function start() {
cm.sendSimple("Welcome to the Mu Lung hair shop. If you have a #b#t5150025##k, or a #b#t5151020##k, allow me to take care of your hairdo. Please choose the one you want.\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150025##t5150025##l\r\n#L2#Dye your hair: #i5151020##t5151020##l");
cm.sendSimple("Welcome to the Mu Lung hair shop. If you have a #b#t5150025##k, or a #b#t5151020##k, allow me to take care of your hairdo. Please choose the one you want.\r\n#L1#Haircut: #i5150025##t5150025##l\r\n#L2#Dye your hair: #i5151020##t5151020##l");
}
function action(mode, type, selection) {
@@ -47,10 +47,7 @@ function action(mode, type, selection) {
else
status--;
if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150025##t5150025##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151020##t5151020##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("I'm a hair assistant in this shop. If you have #b#t5150024##k or #b#t5151019##k by any chance, then how about letting me change your hairdo?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150024##t5150024##l\r\n#L2#Dye your hair: #i5151019##t5151019##l");
cm.sendSimple("I'm a hair assistant in this shop. If you have #b#t5150024##k or #b#t5151019##k by any chance, then how about letting me change your hairdo?\r\n#L1#Haircut: #i5150024##t5150024##l\r\n#L2#Dye your hair: #i5151019##t5151019##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150024##t5150024##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151019##t5151019##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -44,18 +44,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Well, hello! Welcome to the Mu Lung Skin-Care! Would you like to have a firm, tight, healthy looking skin like mine? With #b#t5153006##k, you can let us take care of the rest and have the kind of skin you've always wanted~!\r\n#L1#I would like to buy a #b#t5153006##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Well, hello! Welcome to the Mu Lung Skin-Care! Would you like to have a firm, tight, healthy looking skin like mine? With #b#t5153006##k, you can let us take care of the rest and have the kind of skin you've always wanted~!\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5153006, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
cm.sendStyle("With our specialized machine, you can see the way you'll look after the treatment PRIOR to the procedure. What kind of a look are you looking for? Go ahead and choose the style of your liking~!", skin);
}
}

View File

@@ -46,12 +46,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hey, I'm Pata, and I am a cosmetic lens expert here in Mu Lung. I believe your eyes are the most important feature in your body, and with #b#t5152042##k or #b#t5152041##k, I can prescribe the right kind of cosmetic lenses for you. Now, what would you like to use?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Cosmetic Lenses: #i5152042##t5152042##l\r\n#L2#Cosmetic Lenses: #i5152041##t5152041##l");
cm.sendSimple("Hey, I'm Pata, and I am a cosmetic lens expert here in Mu Lung. I believe your eyes are the most important feature in your body, and with #b#t5152042##k or #b#t5152041##k, I can prescribe the right kind of cosmetic lenses for you. Now, what would you like to use?\r\n#L1#Cosmetic Lenses: #i5152042##t5152042##l\r\n#L2#Cosmetic Lenses: #i5152041##t5152041##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Cosmetic Lenses for " + regprice + " mesos: #i5152042##t5152042##l\r\n#L1#Cosmetic Lenses for " + vipprice + " mesos: #i5152041##t5152041##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
if (cm.getPlayer().getGender() == 0) {
var current = cm.getPlayer().getFace()

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hey, I'm Noma, and I am assiting Pata in changing faces into beautiful things here in Mu Lung. With #b#t5152027##k or #b#t5152028##k, I can change the way you look. Now, what would you like to use?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Plastic Surgery: #i5152027##t5152027##l\r\n#L2#Plastic Surgery: #i5152028##t5152028##l");
cm.sendSimple("Hey, I'm Noma, and I am assiting Pata in changing faces into beautiful things here in Mu Lung. With #b#t5152027##k or #b#t5152028##k, I can change the way you look. Now, what would you like to use?\r\n#L1#Plastic Surgery: #i5152027##t5152027##l\r\n#L2#Plastic Surgery: #i5152028##t5152028##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Plastic Surgery for " + regprice + " mesos: #i5152027##t5152027##l\r\n#L1#Plastic Surgery for " + vipprice + " mesos: #i5152028##t5152028##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
facenew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -111,8 +111,8 @@ function action(mode, type, selection) {
var matQtySet = [[5,5],[5,5,5],[5,5,5,5,1],[5,5],[5,5,5],[5,5,5,5,1],[1,1],[1,1],[1,1],[1,1]];
var costSet = [100000,200000,300000,125000,250000,375000,500000,500000,500000,500000, 25000, 25000, 25000, 25000];
}else if (selectedType == 2) { //eye accessory refine
var matSet = [[4001006, 4003002, 4000082, 4031203], [4000073, 4011008], [4000073, 4011008], [4000073, 4011008, 4000082], [4001006, 4003002, 4003000, 4003001]];
var matQtySet = [[2, 2, 5, 10], [50, 2], [75, 3], [75, 3, 10], [2, 2, 10, 5]];
var matSet = [[4001006, 4003002, 4000082, 4031203], [4001005, 4011008], [4001005, 4011008], [4001005, 4011008, 4000082], [4001006, 4003002, 4003000, 4003001]];
var matQtySet = [[2, 2, 5, 10], [3, 2], [4, 3], [5, 3, 10], [2, 2, 10, 5]];
var costSet = [250000, 250000, 300000, 400000, 200000];
}else if (selectedType == 3) { //belt & medals refine
var matSet = [[4001006, 4003005, 4003004], [7777, 7777]];

View File

@@ -68,7 +68,7 @@ function action(m,t,s) {
cm.sendNext("Welcome! I heard what happened from Baby Moon Bunny I'm glad you came since I was Planning on requesting some help. Gaga is a friend of mine who has helped me before and often stops by to say hello. Unfortunaley, he was kidnapped by aliens.");
} else {
selected = 2;
cm.sendYesNo("At the Space Mine, you can find special ores called #bKrypto Crystals#k that contain the mysterious power of space. #bKrypto Crystals#l are usually emerald in color, but will turn brown if hit with the Spaceship's #bSpace Beam#k. Remember, in order to thwart this alien conspracy, #b10 Brown Krypto Crystal's and 10 Emerald Krypto Crystal's are needed. But since even #b1 Krypto Crystal#k can be of help, brign me as many as possible. Oh, and one more thing! The Space Mines are protected by the Space Mateons. They are extemely strong due to the power of the #Krypto Crystals#k, so don't try to defeat them. Simply concentrate on quickly collecting the crystals.");
cm.sendYesNo("At the Space Mine, you can find special ores called #bKrypto Crystals#k that contains the mysterious power of space. #bKrypto Crystals#l are usually emerald in color, but will turn brown if hit with the Spaceship's #bSpace Beam#k. Remember, in order to thwart this alien conspracy, #b10 Brown Krypto Crystal's and 10 Emerald Krypto Crystal's are needed. But since even #b1 Krypto Crystal#k can be of help, brign me as many as possible. Oh, and one more thing! The Space Mines are protected by the Space Mateons. They are extemely strong due to the power of the #Krypto Crystals#k, so don't try to defeat them. Simply concentrate on quickly collecting the crystals.");
}
} else if (status == 2) {
if(selected == 1) {

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Welcome to the Showa hair shop. If you have a #b#t5150009##k, or a #b#t5151009##k, allow me to take care of your hairdo. Please choose the one you want.\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150009##t5150009##l\r\n#L2#Dye your hair: #i5151009##t5151009##l");
cm.sendSimple("Welcome to the Showa hair shop. If you have a #b#t5150009##k, or a #b#t5151009##k, allow me to take care of your hairdo. Please choose the one you want.\r\n#L1#Haircut: #i5150009##t5150009##l\r\n#L2#Dye your hair: #i5151009##t5151009##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150009##t5150009##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151009##t5151009##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("I'm the head of Showa hair salon. If you have a #b#t5150009##k or a #b#t5151009##k allow me to take care of your hairdo. Please choose the one you want.\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150009##t5150009##l\r\n#L2#Dye your hair: #i5151009##t5151009##l");
cm.sendSimple("I'm the head of Showa hair salon. If you have a #b#t5150009##k or a #b#t5151009##k allow me to take care of your hairdo. Please choose the one you want.\r\n#L1#Haircut: #i5150009##t5150009##l\r\n#L2#Dye your hair: #i5151009##t5151009##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150009##t5150009##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151009##t5151009##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -44,12 +44,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0)
cm.sendSimple("Hi, there~! I'm Dr. Lenu, in charge of the cosmetic lenses here at the Henesys Plastic Surgery Shop! With #b#t5152010##k or #b#t5152013##k, you can let us take care of the rest and have the kind of beautiful look you've always craved~! Remember, the first thing everyone notices about you is the eyes, and we can help you find the cosmetic lens that most fits you! Now, what would you like to use?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Cosmetic Lenses: #i5152010##t5152010##l\r\n#L2#Cosmetic Lenses: #i5152013##t5152013##l");
cm.sendSimple("Hi, there~! I'm Dr. Lenu, in charge of the cosmetic lenses here at the Henesys Plastic Surgery Shop! With #b#t5152010##k or #b#t5152013##k, you can let us take care of the rest and have the kind of beautiful look you've always craved~! Remember, the first thing everyone notices about you is the eyes, and we can help you find the cosmetic lens that most fits you! Now, what would you like to use?\r\n#L1#Cosmetic Lenses: #i5152010##t5152010##l\r\n#L2#Cosmetic Lenses: #i5152013##t5152013##l");
else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Cosmetic Lenses for " + regprice + " mesos: #i5152010##t5152010##l\r\n#L1#Cosmetic Lenses for " + vipprice + " mesos: #i5152013##t5152013##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
if (cm.getPlayer().getGender() == 0)
var current = cm.getPlayer().getFace()% 100 + 20000;

View File

@@ -46,12 +46,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hello, I'm Dr. Rhomes, head of the cosmetic lens department here at the Orbis Plastic Surgery Shop.\r\nMy goal here is to add personality to everyone's eyes through the wonders of cosmetic lenses, and with #b#t5152011##k or #b#t5152014##k, I can do the same for you, too! Now, what would you like to use?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Cosmetic Lenses: #i5152011##t5152011##l\r\n#L2#Cosmetic Lenses: #i5152014##t5152014##l");
cm.sendSimple("Hello, I'm Dr. Rhomes, head of the cosmetic lens department here at the Orbis Plastic Surgery Shop.\r\nMy goal here is to add personality to everyone's eyes through the wonders of cosmetic lenses, and with #b#t5152011##k or #b#t5152014##k, I can do the same for you, too! Now, what would you like to use?\r\n#L1#Cosmetic Lenses: #i5152011##t5152011##l\r\n#L2#Cosmetic Lenses: #i5152014##t5152014##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Cosmetic Lenses for " + regprice + " mesos: #i5152011##t5152011##l\r\n#L1#Cosmetic Lenses for " + vipprice + " mesos: #i5152014##t5152014##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
if (cm.getPlayer().getGender() == 0) {
var current = cm.getPlayer().getFace()

View File

@@ -46,12 +46,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Um... hi, I'm Dr. Bosch, and I am a cosmetic lens expert here at the Ludibrium Plastic Surgery Shop. I believe your eyes are the most important feature in your body, and with #b#t5152012##k or #b#t5152015##k, I can prescribe the right kind of cosmetic lenses for you. Now, what would you like to use?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Cosmetic Lenses: #i5152012##t5152012##l\r\n#L2#Cosmetic Lenses: #i5152015##t5152015##l");
cm.sendSimple("Um... hi, I'm Dr. Bosch, and I am a cosmetic lens expert here at the Ludibrium Plastic Surgery Shop. I believe your eyes are the most important feature in your body, and with #b#t5152012##k or #b#t5152015##k, I can prescribe the right kind of cosmetic lenses for you. Now, what would you like to use?\r\n#L1#Cosmetic Lenses: #i5152012##t5152012##l\r\n#L2#Cosmetic Lenses: #i5152015##t5152015##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Cosmetic Lenses for " + regprice + " mesos: #i5152012##t5152012##l\r\n#L1#Cosmetic Lenses for " + vipprice + " mesos: #i5152015##t5152015##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
if (cm.getPlayer().getGender() == 0) {
var current = cm.getPlayer().getFace() % 100 + 20000;

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Welcome to the Amoria hair shop. If you have a #b#t5150020##k, or a #b#t5151017##k, allow me to take care of your hairdo. Please choose the one you want.\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150020##t5150020##l\r\n#L2#Dye your hair: #i5151017##t5151017##l");
cm.sendSimple("Welcome to the Amoria hair shop. If you have a #b#t5150020##k, or a #b#t5151017##k, allow me to take care of your hairdo. Please choose the one you want.\r\n#L1#Haircut: #i5150020##t5150020##l\r\n#L2#Dye your hair: #i5151017##t5151017##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150020##t5150020##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151017##t5151017##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("I'm Salon Seamus. If you have #b#t5150019##k or #b#t5151016##k by any chance, then how about letting me change your hairdo?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150019##t5150019##l\r\n#L2#Dye your hair: #i5151016##t5151016##l");
cm.sendSimple("I'm Salon Seamus. If you have #b#t5150019##k or #b#t5151016##k by any chance, then how about letting me change your hairdo?\r\n#L1#Haircut: #i5150019##t5150019##l\r\n#L2#Dye your hair: #i5151016##t5151016##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150019##t5150019##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151016##t5151016##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {
@@ -145,12 +142,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("I'm Salon Seamus. If you have #b#t5150019##k or #b#t5151016##k by any chance, then how about letting me change your hairdo?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150019##t5150019##l\r\n#L2#Dye your hair: #i5151016##t5151016##l");
cm.sendSimple("I'm Salon Seamus. If you have #b#t5150019##k or #b#t5151016##k by any chance, then how about letting me change your hairdo?\r\n#L1#Haircut: #i5150019##t5150019##l\r\n#L2#Dye your hair: #i5151016##t5151016##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150019##t5150019##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151016##t5151016##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -46,12 +46,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hi, there~! I'm Dr.Roberts, in charge of the cosmetic lenses here at the Amoria Plastic Surgery Shop! With #b#t5152025##k or #b#t5152026##k, you can let us take care of the rest and have the kind of beautiful look you've always craved~! Remember, the first thing everyone notices about you is the eyes, and we can help you find the cosmetic lens that most fits you! Now, what would you like to use?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Cosmetic Lenses: #i5152025##t5152025##l\r\n#L2#Cosmetic Lenses: #i5152026##t5152026##l");
cm.sendSimple("Hi, there~! I'm Dr.Roberts, in charge of the cosmetic lenses here at the Amoria Plastic Surgery Shop! With #b#t5152025##k or #b#t5152026##k, you can let us take care of the rest and have the kind of beautiful look you've always craved~! Remember, the first thing everyone notices about you is the eyes, and we can help you find the cosmetic lens that most fits you! Now, what would you like to use?\r\n#L1#Cosmetic Lenses: #i5152025##t5152025##l\r\n#L2#Cosmetic Lenses: #i5152026##t5152026##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Cosmetic Lenses for " + regprice + " mesos: #i5152025##t5152025##l\r\n#L1#Cosmetic Lenses for " + vipprice + " mesos: #i5152026##t5152026##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
if (cm.getPlayer().getGender() == 0) {
var current = cm.getPlayer().getFace() % 100 + 20000;

View File

@@ -47,18 +47,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Well, hello! Welcome to Amoria Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152022##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L1#I would like to buy a #b#t5152022##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Well, hello! Welcome to Amoria Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152022##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152022, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0) {
for(var i = 0; i < mface.length; i++) {

View File

@@ -47,18 +47,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hi, I pretty much shouldn't be doing this, but with a #b#t5152021##k, I will do it anyways for you. But don't forget, it will be random!\r\n#L1#I would like to buy a #b#t5152021##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Hi, I pretty much shouldn't be doing this, but with a #b#t5152021##k, I will do it anyways for you. But don't forget, it will be random!\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152021, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0) {
for(var i = 0; i < mface.length; i++) {

View File

@@ -44,18 +44,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hi, there~! I'm Bomack. If you have a #b#t5152035##k, I can prescribe the right kind of cosmetic lenses for you. Now, what would you like to do?\r\n#L1#I would like to buy a #b#t5152035##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Hi, there~! I'm Bomack. If you have a #b#t5152035##k, I can prescribe the right kind of cosmetic lenses for you. Now, what would you like to do?\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152035, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
if (cm.getPlayer().getGender() == 0) {
var current = cm.getPlayer().getFace() % 100 + 20000;
}

View File

@@ -44,18 +44,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("Hey, there~! I'm J.J.! I'm in charge of the cosmetic lenses here at NLC Shop! If you have a #b#t5152036##k, I can get you the best cosmetic lenses you have ever had! Now, what would you like to do?\r\n#L1#I would like to buy a #b#t5152036##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Hey, there~! I'm J.J.! I'm in charge of the cosmetic lenses here at NLC Shop! If you have a #b#t5152036##k, I can get you the best cosmetic lenses you have ever had! Now, what would you like to do?\r\n#L2#I already have a Coupon!#l");
} else if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152036, 1);
cm.sendOk("Enjoy!");
} else {
cm.sendOk("You don't have enough mesos to buy a coupon!");
}
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
if (cm.getPlayer().getGender() == 0) {
var current = cm.getPlayer().getFace() % 100 + 20000;
}

View File

@@ -48,12 +48,9 @@ function action(mode, type, selection) {
else
status--;
if (status == 0) {
cm.sendSimple("I'm Ari the assistant. If you have #b#t5150030##k or #b#t5151025##k by any chance, then how about letting me change your hairdo?\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150030##t5150030##l\r\n#L2#Dye your hair: #i5151025##t5151025##l");
cm.sendSimple("I'm Ari the assistant. If you have #b#t5150030##k or #b#t5151025##k by any chance, then how about letting me change your hairdo?\r\n#L1#Haircut: #i5150030##t5150030##l\r\n#L2#Dye your hair: #i5151025##t5151025##l");
} else if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150030##t5150030##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151025##t5151025##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0) {

View File

@@ -31,7 +31,7 @@ var fhair = Array(31150, 31310, 31220, 31300, 31260, 31160, 31730, 31410, 31410)
var hairnew = Array();
function start() {
cm.sendSimple("I'm the head of this hair salon Mani. If you have a #b#t5150031##k or a #b#t5151026##k, allow me to take care of your hairdo. Please choose the one you want.\r\n#L0#I want to buy a coupon!#l\r\n#L1#Haircut: #i5150031##t5150031##l\r\n#L2#Dye your hair: #i5151026##t5151026##l");
cm.sendSimple("I'm the head of this hair salon Mani. If you have a #b#t5150031##k or a #b#t5151026##k, allow me to take care of your hairdo. Please choose the one you want.\r\n#L1#Haircut: #i5150031##t5150031##l\r\n#L2#Dye your hair: #i5151026##t5151026##l");
}
function action(mode, type, selection) {
@@ -47,10 +47,7 @@ function action(mode, type, selection) {
else
status--;
if (status == 1) {
if (selection == 0) {
beauty = 0;
cm.sendSimple("Which coupon would you like to buy?\r\n#L0#Haircut for " + hairprice + " mesos: #i5150031##t5150031##l\r\n#L1#Dye your hair for " + haircolorprice + " mesos: #i5151026##t5151026##l");
} else if (selection == 1) {
if (selection == 1) {
beauty = 1;
hairnew = Array();
if (cm.getPlayer().getGender() == 0)

View File

@@ -27,7 +27,7 @@ var price = 1000000;
var skin = Array(0, 1, 2, 3, 4);
function start() {
cm.sendSimple("Well, hello! Welcome to the NLC Skin-Care! Would you like to have a firm, tight, healthy looking skin like mine? With #b#t5153009##k, you can let us take care of the rest and have the kind of skin you've always wanted~!\r\n#L1#I would like to buy a #b#t5153009##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Well, hello! Welcome to the NLC Skin-Care! Would you like to have a firm, tight, healthy looking skin like mine? With #b#t5153009##k, you can let us take care of the rest and have the kind of skin you've always wanted~!\r\n#L2#I already have a Coupon!#l");
}
function action(mode, type, selection) {
@@ -43,25 +43,19 @@ function action(mode, type, selection) {
else
status--;
if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5153009, 1);
cm.sendOk("Enjoy!");
} else
cm.sendOk("You don't have enough mesos to buy a coupon!");
cm.dispose();
} else if (selection == 2)
if (selection == 2)
cm.sendStyle("With our specialized machine, you can see the way you'll look after the treatment PRIOR to the procedure. What kind of a look are you looking for? Go ahead and choose the style of your liking~!", skin);
}
else if (status == 2){
cm.dispose();
if (cm.haveItem(5153009)){
cm.gainItem(5153009, -1);
cm.setSkin(skin[selection]);
cm.sendOk("Enjoy your new and improved skin!");
} else
} else {
cm.sendOk("Um...you don't have the skin-care coupon you need to receive the treatment. Sorry, but I am afraid we can't do it for you...");
}
cm.dispose();
}
}
}

View File

@@ -30,7 +30,7 @@ var fface = Array(21001, 21002, 21003, 21004, 21005, 21006, 21008, 21012, 21014,
var facenew = Array();
function start() {
cm.sendSimple("Well, hello! Welcome to the New Leaf City Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152034##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L1#I would like to buy a #b#t5152034##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Well, hello! Welcome to the New Leaf City Plastic Surgery! Would you like to transform your face into something new? With a #b#t5152034##k, you can let us take care of the rest and have the face you've always wanted~!\r\n#L2#I already have a Coupon!#l");
}
function action(mode, type, selection) {
@@ -46,15 +46,7 @@ function action(mode, type, selection) {
else
status--;
if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152034, 1);
cm.sendOk("Enjoy!");
} else
cm.sendOk("You don't have enough mesos to buy a coupon!");
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0)
for(var i = 0; i < mface.length; i++)
@@ -66,13 +58,15 @@ function action(mode, type, selection) {
}
}
else if (status == 2){
cm.dispose();
if (cm.haveItem(5152034)){
cm.gainItem(5152034, -1);
cm.setFace(facenew[selection]);
cm.sendOk("Enjoy your new and improved face!");
} else
cm.sendOk("Hmm ... it looks like you don't have the coupon specifically for this place. Sorry to say this, but without the coupon, there's no plastic surgery for you...");
} else {
cm.sendOk("Hmm ... it looks like you don't have the coupon specifically for this place. Sorry to say this, but without the coupon, there's no plastic surgery for you...");
}
cm.dispose();
}
}
}

View File

@@ -31,7 +31,7 @@ var fface = Array(21001, 21002, 21003, 21004, 21005, 21006, 21008, 21012, 21014,
var facenew = Array();
function start() {
cm.sendSimple("Hi, I pretty much shouldn't be doing this, but with a #b#t5152033##k, I will do it anyways for you. But don't forget, it will be random!\r\n#L1#I would like to buy a #b#t5152033##k for " + price + " mesos, please!#l\r\n\#L2#I already have a Coupon!#l");
cm.sendSimple("Hi, I pretty much shouldn't be doing this, but with a #b#t5152033##k, I will do it anyways for you. But don't forget, it will be random!\r\n#L2#I already have a Coupon!#l");
}
function action(mode, type, selection) {
@@ -47,15 +47,7 @@ function action(mode, type, selection) {
else
status--;
if (status == 1) {
if (selection == 1) {
if(cm.getMeso() >= price) {
cm.gainMeso(-price);
cm.gainItem(5152033, 1);
cm.sendOk("Enjoy!");
} else
cm.sendOk("You don't have enough mesos to buy a coupon!");
cm.dispose();
} else if (selection == 2) {
if (selection == 2) {
facenew = Array();
if (cm.getPlayer().getGender() == 0)
for(var i = 0; i < mface.length; i++)
@@ -66,13 +58,15 @@ function action(mode, type, selection) {
cm.sendYesNo("If you use the regular coupon, your face may transform into a random new look...do you still want to do it using #b#t5152033##k?");
}
} else if (status == 2){
cm.dispose();
if (cm.haveItem(5152033)){
cm.gainItem(5152033, -1);
cm.setFace(facenew[Math.floor(Math.random() * facenew.length)]);
cm.sendOk("Enjoy your new and improved face!");
} else
} else {
cm.sendOk("Hmm ... it looks like you don't have the coupon specifically for this place. Sorry to say this, but without the coupon, there's no plastic surgery for you...");
}
cm.dispose();
}
}
}

View File

@@ -47,6 +47,7 @@ function start() {
if (inMap[i] == cm.getPlayer().getMap().getId()) {
if(inMap[i] == 550000000) {
toMap[1][1] = cm.getPlayer().peekSavedLocation("WORLDTOUR");
if(toMap[1][1] == -1) toMap[1][1] = 541000000;
}
location = i;
@@ -116,6 +117,7 @@ function action(mode, type, selection) {
}
else {
travelMap = cm.getPlayer().getSavedLocation("WORLDTOUR");
if(travelMap == -1) travelMap = toMap[1][1];
}
cm.warp(travelMap, travelSp);

View File

@@ -115,6 +115,7 @@ function writeFeatureTab_MonstersMapsReactors() {
addFeature("Implemented Zombify disease status.");
addFeature("Added Boss HP Bar for dozens of bosses.");
addFeature("Game will favor showing the targeted boss HPbar.");
addFeature("Boss HPBar & Srv Message toggle - GabrielSin's idea.");
addFeature("Dmg overtime on maps and neutralizers functional.");
addFeature("Items will consistently stay within the walking area.");
addFeature("Boats, elevator and other travel mechanics functional.");

View File

@@ -44,8 +44,8 @@ function end(mode, type, selection) {
qm.gainItem(4003000, -30);
qm.gainItem(4003001, -30);
qm.gainItem(4001004, -1);
qm.gainExp(20000 * qm.getPlayer().getExpRate());
qm.gainMeso(15000 * qm.getPlayer().getMesoRate());
qm.gainExp(20000);
qm.gainMeso(15000);
qm.gainFame(2);
qm.completeQuest();

View File

@@ -35,7 +35,7 @@ function end(mode, type, selection) {
qm.gainItem(item, 1);
qm.gainItem(4000007, -150);
qm.gainExp(2200 * qm.getPlayer().getExpRate());
qm.gainExp(2200);
qm.completeQuest();
qm.sendOk("Alright, if you need work sometime down the road, feel free to come back and see me. This town sure can use a person like you for help~");

View File

@@ -78,7 +78,7 @@ function end(mode, type, selection) {
qm.forceCompleteQuest();
qm.gainItem(4220137, -1);
qm.gainExp(37600 * qm.getPlayer().getExpRate());
qm.gainExp(37600);
qm.dispose();
}

View File

@@ -65,7 +65,7 @@ function end(mode, type, selection) {
if (qm.isQuestStarted(21703)) {
qm.forceCompleteQuest();
qm.teachSkill(21000000, qm.getPlayer().getSkillLevel(21000000), 10, -1); // Combo Ability Skill
qm.gainExp(2800 * qm.getPlayer().getExpRate());
qm.gainExp(2800);
}
qm.sendNext("(You remembered the #bCombo Ability#k skill! You were skeptical of the training at first, since the old man suffers from Alzheimer's and all, but boy, was it effective!)", 2);
qm.showInfo("Effect/BasicEff.img/AranGetSkill");

View File

@@ -37,7 +37,7 @@ function end(mode, type, selection) {
if (qm.getQuestStatus(21720) == 1) {
qm.forceCompleteQuest();
qm.teachSkill(21001003, qm.getPlayer().getSkillLevel(21001003), 20, -1);
qm.gainExp(3900 * qm.getPlayer().getExpRate());
qm.gainExp(3900);
}
qm.showIntro("Effect/BasicEff.img/AranGetSkill");
qm.sendNext('#b(You remembered the Polearm Booster skill!)#k', 2);

View File

@@ -39,7 +39,7 @@ function end(mode, type, selection) {
qm.sendNext("You haven't found the #rPuppeteer's cave#k yet, did you?");
} else {
qm.sendNext("Hm, so the entrance is blocked by a powerful force? I see, gimme a time to think now...");
qm.gainExp(200 * qm.getPlayer().getExpRate());
qm.gainExp(200);
qm.forceCompleteQuest();
}

View File

@@ -62,7 +62,7 @@ function end(mode, type, selection) {
} else if(status == 1) {
qm.sendNext("I will teach you the #rPolearm Mastery#k skill, to reward your actions here. You will be able to improve your accuracy and the overall mastery of your polearm arts.");
} else {
qm.gainExp(8000 * qm.getPlayer().getExpRate());
qm.gainExp(8000);
qm.teachSkill(21100000, 0, 20, -1); // polearm mastery
qm.forceCompleteQuest();

View File

@@ -64,7 +64,7 @@ function end(mode, type, selection) {
} else if(status == 2) {
qm.sendNext("For your bravery inputted on these series of missions, I will now reward you properly. Behold, the #rCombo Drain#k Skill: that let's you heal back a portion of damage dealt to the monsters.");
} else {
qm.gainExp(12500 * qm.getPlayer().getExpRate());
qm.gainExp(12500);
qm.teachSkill(21100005, 0, 20, -1); // combo drain
qm.forceCompleteQuest();

View File

@@ -72,7 +72,7 @@ function end(mode, type, selection) {
}
} else if (status == 1) {
qm.gainItem(4032323, -1);
qm.gainExp(6037 * qm.getPlayer().getExpRate());
qm.gainExp(6037);
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -37,7 +37,7 @@ function end(mode, type, selection) {
if(status == 0) {
qm.sendNext("So, have you defeated the giant? Oh, a Black Wing agent undercover? And he GOT THE SEAL STONE OF ORBIS?! Oh, no. That's horrible! We need to develop countermeasures as soon as possible! Tell the informant on Lith about the situation.");
} else {
qm.gainExp(29500 * qm.getPlayer().getExpRate());
qm.gainExp(29500);
qm.forceCompleteQuest();
qm.dispose();
}

View File

@@ -88,7 +88,7 @@ function end(mode, type, selection) {
} else if (status == 1) {
qm.gainItem(4032342, -8);
qm.gainItem(4220151, -1);
qm.gainExp(10000 * qm.getPlayer().getExpRate());
qm.gainExp(10000);
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -73,7 +73,7 @@ function end(mode, type, selection) {
} else if (status == 1) {
qm.gainItem(4032342, -8);
qm.gainItem(4220151, -1);
qm.gainExp(10000 * qm.getPlayer().getExpRate());
qm.gainExp(10000);
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -64,7 +64,7 @@ function end(mode, type, selection) {
} else if (status == 1) {
qm.sendNext("But yet, something made you unhappy. What could it be? ... No... Black Wings took away the Seal stone? I'm afraid nothing can be done anymore. I suggest you return to your group tactician, Tru is it?, and tell him about the situation now. Tell him about the loss here in Mu Lung. There's no time to lose, hurry!");
} else if (status == 2) {
qm.gainExp(16000 * qm.getPlayer().getExpRate());
qm.gainExp(16000);
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -39,7 +39,7 @@ function end(mode, type, selection) {
} else if (status == 1) {
qm.sendNext("I've researched some skill books, trying to trace any lost skills of yours. Good news I found one of them: it's the #rFinal Charge#k! With it you will be able to draw closer opposing monsters at each swipe. It's a fine improvement for your arsenal, isn't it?");
} else if (status == 2) {
qm.gainExp(20000 * qm.getPlayer().getExpRate());
qm.gainExp(20000);
qm.teachSkill(21100002, 0, 30, -1); // final charge
qm.forceCompleteQuest();

View File

@@ -39,7 +39,7 @@ function start(mode, type, selection) {
} else if (status == 1) {
qm.sendNext("Aran, your next objective will be to use the #btime gate to Ellin#k again. This time you will be retrieving the long lost #rSeal Stone of Ellin Forest#k. According to informations our network have gathered, #b#p2131002##k of that time have a clue about that gem, #rfind her#k. Please be successful on this task, our world is relying on you more than ever!");
} else {
qm.gainExp(500 * qm.getPlayer().getExpRate());
qm.gainExp(500);
qm.forceCompleteQuest();
qm.dispose();
}

View File

@@ -37,7 +37,7 @@ function end(mode, type, selection) {
if (status == 0) {
qm.sendNext("Oh, a letter for the #rempress#k? From the #bheroes#k?!");
} else {
qm.gainExp(1000 * qm.getPlayer().getExpRate());
qm.gainExp(1000);
qm.gainItem(4032330, -1);
qm.forceCompleteQuest();

View File

@@ -17,7 +17,7 @@ function start(mode, type, selection) {
}
function end(mode, type, selection) {
qm.gainExp(200 * qm.getPlayer().getExpRate());
qm.gainExp(200);
qm.forceCompleteQuest();
qm.dispose();
}

View File

@@ -8,7 +8,7 @@ function end(mode, type, selection){
if(qm.haveItem(4031853)){
if(qm.canHold(2030019)) {
qm.gainItem(4031853, -1);
qm.gainExp(1700 * qm.getPlayer().getExpRate());
qm.gainExp(1700);
qm.gainItem(2030019, 10);
qm.sendOk("Geez, you found my glasses! Thank you, thank you so much. Now I'm able to see everything again!");
@@ -24,7 +24,7 @@ function end(mode, type, selection){
else
qm.gainItem(4031855, -1);
qm.gainExp(1000 * qm.getPlayer().getExpRate());
qm.gainExp(1000);
qm.gainItem(2030019, 5);
qm.sendOk("Hm, those aren't my glasses... But alas, I'll take it anyway. Thanks.");

View File

@@ -57,7 +57,7 @@ function end(mode, type, selection) {
qm.sendNext("(Ah, there is a crumbled note here... Hm, it contains details about some scheme that is about to happen, that must be what #r#p1052002##k was talking about.)");
qm.gainItem(4031894, 1);
qm.gainExp(20000 * qm.getPlayer().getExpRate());
qm.gainExp(20000);
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -36,7 +36,7 @@ function start(mode, type, selection) {
if (status == 0) {
qm.sendNext("I've just gathered an interesting information, #rDyle looks just like regular Ligators#k, but bigger.");
qm.gainExp(7000 * qm.getPlayer().getExpRate());
qm.gainExp(7000);
qm.forceCompleteQuest();
if(isAllSubquestsDone() && qm.haveItem(4031894)) {

View File

@@ -36,7 +36,7 @@ function start(mode, type, selection) {
if (status == 0) {
qm.sendNext("Hey, did you notice already, it looks like some awful stench is emanating from the sewers... Ewww");
qm.gainExp(7000 * qm.getPlayer().getExpRate());
qm.gainExp(7000);
qm.forceCompleteQuest();
if(isAllSubquestsDone() && qm.haveItem(4031894)) {

View File

@@ -36,7 +36,7 @@ function start(mode, type, selection) {
if (status == 0) {
qm.sendNext("Hey did you see how strange #rLakelis#k has been acting these days? We should see what's going on aabout her, her actions have been so weird lately...");
qm.gainExp(7000 * qm.getPlayer().getExpRate());
qm.gainExp(7000);
qm.forceCompleteQuest();
if(isAllSubquestsDone() && qm.haveItem(4031894)) {

View File

@@ -36,7 +36,7 @@ function start(mode, type, selection) {
if (status == 0) {
qm.sendNext("Did you know, they say someone from the sewers has been trying to #rdevelop a magic powder that let's one to grow#k, isn't that nice?");
qm.gainExp(7000 * qm.getPlayer().getExpRate());
qm.gainExp(7000);
qm.forceCompleteQuest();
if(isAllSubquestsDone() && qm.haveItem(4031894)) {

View File

@@ -38,7 +38,7 @@ function end(mode, type, selection) {
if(status == 0) {
if(qm.getQuestProgress(2236) == 63) { //111111
qm.sendOk("I, too, felt it. The force of the Shaman Rocks began to overpower the forces of evil. I think Sleepywood is safe now. The evil has been eliminated.");
qm.gainExp(60000 * qm.getPlayer().getExpRate());
qm.gainExp(60000);
qm.forceCompleteQuest();
}
else {

View File

@@ -13,7 +13,7 @@ function end(mode, type, selection) {
else {
qm.gainItem(4032399, -20);
qm.sendOk("Oh, you brought 20 #b#t4032399##k! Thank you.");
qm.gainExp(8000 * qm.getPlayer().getExpRate());
qm.gainExp(8000);
qm.forceCompleteQuest();
}

View File

@@ -102,7 +102,7 @@ function end(mode, type, selection)
else if(selection == 3)
{
qm.sendOk("So that was the song he was playing... Well, it wasn't my song after all, but I'm glad I can know that now with certainty. Thank you so much.");
qm.gainExp(32500 * qm.getPlayer().getExpRate());
qm.gainExp(32500);
qm.forceCompleteQuest();
qm.dispose();
}

View File

@@ -57,6 +57,7 @@ function end(mode, type, selection) {
qm.sendNextPrev("Hmmm... okay. Since the letter is from the job instructor, I suppose you are really the one. I apologize for not introducing myself to you earlier. I'm the #bHead Security Officer#k in charge of protecting King Mush. As you can see, this temporary hideout is protected by the team of security and soldiers. Our situation may be dire, but nevertheless, welcome to Kingdom of Mushroom.");
if(status == 2){
qm.gainItem(4032375, -1);
qm.gainExp(6000);
qm.forceCompleteQuest();
qm.forceStartQuest(2312);
qm.dispose();

View File

@@ -46,7 +46,7 @@ function end(mode, type, selection) {
qm.sendOk("Did you teach those Renegade Spores a lesson?");
if (status == 1){
qm.forceCompleteQuest();
qm.gainExp(11500 * qm.getPlayer().getExpRate());
qm.gainExp(11500);
qm.gainItem(4000499, -50);
qm.sendOk("That was amazing. I apologize for doubting your abilities. Please save our Kingdom of Mushroom from this crisis!");
qm.dispose();

View File

@@ -44,7 +44,7 @@ function end(mode, type, selection) {
}
if (status == 0) {
qm.forceCompleteQuest();
qm.gainExp(4000 * qm.getPlayer().getExpRate());
qm.gainExp(4000);
qm.dispose();
}
}

View File

@@ -28,7 +28,7 @@ function start(mode, type, selection) {
if(status == 2){
//qm.forceStartQuest();
//qm.forceStartQuest(2314,"1");
qm.gainExp(8300 * qm.getPlayer().getExpRate());
qm.gainExp(8300);
qm.sendOk("I see, so it was indeed not a regular barrier by any means. Great work there. If not for you help, we wouldn't have had a clue as to what that was all about.");
qm.forceCompleteQuest();
qm.dispose();
@@ -48,7 +48,7 @@ function end(mode, type, selection) {
if (status == 0)
qm.sendOk("I see that you have thoroughly investigated the barrier at the Mushroom Forest. What was it like?");
if (status == 1){
qm.gainExp(8300 * qm.getPlayer().getExpRate());
qm.gainExp(8300);
qm.sendOk("I see, so it was indeed not a regular barrier by any means. Great work there. If not for you help, we wouldn't have had a clue as to what that was all about.");
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -45,7 +45,7 @@ function end(mode, type, selection) {
if (status == 0)
qm.sendOk("What? You investigated the barrier at the Mushroom Forest?");
if (status == 1){
qm.gainExp(4000 * qm.getPlayer().getExpRate());
qm.gainExp(4000);
qm.sendOk("Hmmm...this is interesting. It's a barrier set up by someone with a powerful force of magic, which means there's no way we can manually break through it.");
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -45,7 +45,7 @@ function end(mode, type, selection) {
if (status == 0)
qm.sendOk("Ah, so you're the explorer people were talking about. I'm #bScarrs, the Royal Mushroom Scholar#k representing the Kingdom of Mushroom. So you need some #kKiller Mushroom Spores#k?");
if (status == 1){
qm.gainExp(4200 * qm.getPlayer().getExpRate());
qm.gainExp(4200);
qm.sendOk("#kKiller Mushroom Spores#k... I think i've heard of them before...");
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -45,7 +45,7 @@ function end(mode, type, selection) {
if (status == 0)
qm.sendOk("Have you gathered up the 100 Poison Mushroom Caps like I asked you to get?");
if (status == 1){
qm.gainExp(13500 * qm.getPlayer().getExpRate());
qm.gainExp(13500);
qm.gainItem(4000500, -100);
qm.sendOk("I am amazed that you were able to gather up these 100 Poison Mushroom Caps, which is considered a difficult feat. I think I'll be able to make #bKiller Mushroom Spores#k our of these.");
qm.forceCompleteQuest();

View File

@@ -45,7 +45,7 @@ function end(mode, type, selection) {
if (status == 0)
qm.sendOk("Did you gather up all the necessary ingredients for it?")
if (status == 1){
qm.gainExp(11500 * qm.getPlayer().getExpRate());
qm.gainExp(11500);
qm.gainItem(4000499, -50);
qm.sendNext("Okay, these should be enough for me to make the #bKiller Mushroom Spores.#k Please hold on for a bit.");
qm.forceCompleteQuest();

View File

@@ -46,7 +46,7 @@ function end(mode, type, selection) {
if (status == 0)
qm.sendOk("Are the #bKiller Mushroom Spores#k finally completed?");
if (status == 1){
qm.gainExp(4200 * qm.getPlayer().getExpRate());
qm.gainExp(4200);
qm.gainItem(4032389, -1);
qm.sendOk("Okay, so this is the #bKiller Mushroom Spores.#k Thank you, thank you, and please tell #bScarrs#k the same.");
qm.forceCompleteQuest();

View File

@@ -46,7 +46,7 @@ function end(mode, type, selection) {
if (status == 0)
qm.sendOk("Oh! You're here on behalf of #bScarrs#k? \r\n\r\n#fUI/UIWindow.img/QuestIcon/4/0# \r\n#fUI/UIWindow.img/QuestIcon/8/0# 8800 exp");
if (status == 1){
qm.gainExp(8800 * qm.getPlayer().getExpRate());
qm.gainExp(8800);
qm.gainItem(4032389, -1);
qm.sendOk("Ahh, so this is the #bKiller Mushroom Spores#k that I was working on in the past. I had a tough time gathering up the ingredients, so I left it in theory only, but he was able to complete it, with a sample to show for as well. Please tell him I appreciate his good work.");
qm.forceCompleteQuest();

View File

@@ -45,7 +45,7 @@ function end(mode, type, selection) {
if (status == 0)
qm.sendOk("I have been keeping up on your fabulour work. I am aware that you have successfully created the #bKiller Mushroom Spores#k, which penetrates through the unpenetrable barrier of the forest. Congratulations!");
if (status == 1){
qm.gainExp(2500 * qm.getPlayer().getExpRate());
qm.gainExp(2500);
qm.sendOk("The problem now is to figure out how to enter the castle.");
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -30,7 +30,7 @@ function start(mode, type, selection) {
if (status == 2){
//qm.forceStartQuest();
//qm.forceStartQuest(2322, "1");
qm.gainExp(11000 * qm.getPlayer().getExpRate());
qm.gainExp(11000);
qm.sendOk("Good job navigating through the area.");
qm.forceCompleteQuest();
qm.dispose();
@@ -50,7 +50,7 @@ function end(mode, type, selection) {
if (status == 0)
qm.sendOk("Hmmm I see... so they have completely shut off the entrance and everything.");
if (status == 1){
qm.gainExp(11000 * qm.getPlayer().getExpRate());
qm.gainExp(11000);
qm.sendOk("Good job navigating through the area.");
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -24,7 +24,7 @@ function end(mode, type, selection){
else if(status == 2){
qm.sendOk("What? My brother sent you here? Ahhh... I am safe now. Thank you so much...");
qm.forceCompleteQuest();
qm.gainExp(6000 * qm.getPlayer().getExpRate());
qm.gainExp(6000);
qm.dispose();
}
}

View File

@@ -51,7 +51,7 @@ function end(mode, type, selection){
qm.sendNext("Hurray! #b#h ##k you defeated the #bPrime Minister#k.");
}
else if(status == 1){
qm.gainExp(15000 * qm.getPlayer().getExpRate());
qm.gainExp(15000);
qm.forceCompleteQuest();
var eim = qm.getEventInstance();

View File

@@ -37,7 +37,7 @@ function start(mode, type, selection){
}
else if(status == 6){
qm.forceStartQuest();
qm.gainExp(1000 * qm.getPlayer().getExpRate());
qm.gainExp(1000);
qm.forceCompleteQuest();
qm.dispose();
}

View File

@@ -17,7 +17,7 @@ function end(mode, type, selection) {
else if(rnd == 2) qm.gainItem(2040707, 1);
else qm.gainItem(2040708, 1);
qm.gainExp(2700 * qm.getPlayer().getExpRate());
qm.gainExp(2700);
qm.forceCompleteQuest();
}
else {

View File

@@ -37,7 +37,7 @@ function end(mode, type, selection) {
if (status == 0) {
if(qm.getQuestProgress(3311, 0) == 1 && qm.getQuestProgress(3311, 1) == 1) {
qm.sendNext("Hmm, so the Alcadno doctor wrote something about researching some vanguardist Neo Huroid machine, that could beat by far the existing one, and was about to prepare the last steps of his rehearsal? We don't have a word about him for about three weeks now, something must have gone wrong...");
qm.gainExp(60000 * qm.getPlayer().getExpRate());
qm.gainExp(60000);
qm.forceCompleteQuest();
} else {
qm.sendNext("Found nothing yet? Please check out Dr. De Lang's house properly, something there may give out a clue about what is going on.");

View File

@@ -45,7 +45,7 @@ function end(mode, type, selection) {
if(qm.canHoldAll([2050004, 2022224], [10, 20])) {
qm.sendNext("You did took my experiments. Hmm, so THAT is the result of it, hehehehe... Ok, take that as compensation will you? And oh, you can #rspew that#k right away (#bright-click on the pill icon at the top-right corner of the screen#k), no worries.");
qm.gainExp(12500 * qm.getPlayer().getExpRate());
qm.gainExp(12500);
qm.gainItem(2050004, 10);
var i = Math.floor(Math.random() * 5);

View File

@@ -39,7 +39,7 @@ function end(mode, type, selection) {
qm.sendNext("So, you have succeeded. With this, Magatia's upfront demise has been averted, well done brave adventurer!");
qm.forceCompleteQuest();
qm.gainExp(20000 * qm.getPlayer().getExpRate());
qm.gainExp(20000);
} else {
qm.sendNext("Did you not seal the #rmagic circle beneath Magatia#k yet? It is a matter of great importance, please haste yourself.");
}

View File

@@ -44,7 +44,7 @@ function end(mode, type, selection) {
qm.gainItem(4031104, -1);
qm.gainItem(4031105, -1);
qm.gainItem(4031106, -1);
qm.gainExp(12000 * qm.getPlayer().getExpRate());
qm.gainExp(12000);
qm.completeQuest();
qm.dispose();

View File

@@ -36,7 +36,7 @@ function end(mode, type, selection) {
item = qm.gainItem(item, 1);
if (item != null) {
qm.gainExp(12000 * qm.getPlayer().getExpRate());
qm.gainExp(12000);
qm.completeQuest();
}

View File

@@ -40,7 +40,7 @@ function end(mode, type, selection) {
qm.gainItem(item, 1);
qm.gainItem(4000122, -120);
qm.gainExp(6100 * qm.getPlayer().getExpRate());
qm.gainExp(6100);
qm.completeQuest();
qm.sendOk("Thank you so much for fulfilling your missions as one of the Mesorangers. I've told the Sector about your successful story, and the Sector seems to be very pleased with you, too. Hopefully you'll keep working with us. Bye~");

View File

@@ -15,7 +15,7 @@ function end(mode, type, selection) {
if(qm.getPlayer().getInventory(Packages.client.inventory.MapleInventoryType.USE).getNumFreeSlot() >= 1) {
qm.gainItem(4000099, -1);
qm.gainItem(2000011, 50);
qm.gainExp(8000 * qm.getPlayer().getExpRate());
qm.gainExp(8000);
qm.forceCompleteQuest();
}
else {

View File

@@ -78,7 +78,7 @@ function end(mode, type, selection) {
qm.sendOk("It seems the potion worked and your emotions are no longer frozen. And, oh, my... You're ailing bad, #bpurge#k that out quickly.");
}
} else if(status == 1) {
qm.gainExp(891500 * qm.getPlayer().getExpRate());
qm.gainExp(891500);
qm.completeQuest(3514);
qm.dispose();
}

View File

@@ -44,7 +44,7 @@ function start(mode, type, selection) {
qm.sendNext("You have brought a #b#t4001094##k, thank you for the effort!");
} else if (status == 1) {
qm.gainItem(4001094, -1);
qm.gainExp(42000 * qm.getPlayer().getExpRate());
qm.gainExp(42000);
qm.forceCompleteQuest();
qm.dispose();

View File

@@ -15,40 +15,40 @@ function end(mode, type, selection) {
qm.gainItem(4000294, -1000);
qm.gainItem(2040501, 1);
qm.gainItem(2000005, 50);
qm.gainExp(54000 * qm.getPlayer().getExpRate());
qm.gainExp(54000);
qm.forceCompleteQuest();
}
else if(qm.haveItem(4000294, 600)) {
qm.gainItem(4000294, -600);
qm.gainItem(2020013, 50);
qm.gainExp(54000 * qm.getPlayer().getExpRate());
qm.gainExp(54000);
qm.forceCompleteQuest();
}
else if(qm.haveItem(4000294, 500)) {
qm.gainItem(4000294, -500);
qm.gainExp(54000 * qm.getPlayer().getExpRate());
qm.gainExp(54000);
qm.forceCompleteQuest();
}
else if(qm.haveItem(4000294, 100)) {
qm.gainItem(4000294, -100);
qm.gainExp(45000 * qm.getPlayer().getExpRate());
qm.gainExp(45000);
qm.forceCompleteQuest();
}
else if(qm.haveItem(4000294, 50)) {
qm.gainItem(4000294, -50);
qm.gainItem(2020007, 50);
qm.gainExp(10000 * qm.getPlayer().getExpRate());
qm.gainExp(10000);
qm.forceCompleteQuest();
}
else if(qm.haveItem(4000294, 1)) {
qm.gainItem(4000294, -1);
qm.gainItem(2000000, 1);
qm.gainExp(10 * qm.getPlayer().getExpRate());
qm.gainExp(10);
qm.forceCompleteQuest();
}
}

View File

@@ -47,7 +47,7 @@ function end(mode, type, selection) {
if(c == 4) {
qm.sendNext("You delivered all the jewels, well done!");
qm.gainExp(6500 * qm.getPlayer().getExpRate());
qm.gainExp(6500);
qm.forceCompleteQuest();
} else {
qm.sendNext("Have you brought all the jewels from the Red Scorpions? They have to be delivered to the Residential areas of the Sand Bandits.");

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