Cash Pet Food issue + BRPQ minor patch

As issued by vcoc, some pet items not working properly has been patches.
New BRPQ reward announcer NPC. More minor patches.
This commit is contained in:
ronancpl
2017-05-01 13:46:48 -03:00
parent 1d8caff63f
commit 03ab8be97d
36 changed files with 475 additions and 289 deletions

View File

@@ -16,7 +16,7 @@ function setEventRewards(eim) {
evLevel = 6; //Rewards at event completion
itemSet = [1122018, 1122005, 1022088, 1402013, 1032048, 1032070, 1102046, 2330004, 2041013, 2041016, 2041019, 2041022, 2049100, 2049003, 2020012, 2020013, 2020014, 2020015, 2022029, 2022045, 2022068, 2022069, 2022179, 2022180, 4004000, 4004001, 4004002, 4004003, 4004004, 4003000];
itemQty = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 25, 25, 25, 25, 25, 25, 25, 25, 25, 4, 12, 12, 12, 12, 12, 25];
itemQty = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 25, 25, 25, 25, 25, 25, 25, 25, 4, 4, 12, 12, 12, 12, 12, 25];
eim.setEventRewards(evLevel, itemSet, itemQty);
evLevel = 5; //Rewards at Rest Spot V
@@ -40,7 +40,7 @@ function setEventRewards(eim) {
eim.setEventRewards(evLevel, itemSet, itemQty);
evLevel = 1; //Rewards at Rest Spot I
itemSet = [1122004, 1012078, 1432008, 1432009, 1032040, 1032009, 1102166, 2070001, 2040002, 2040310, 2040400, 2040600, 2040825, 2040902, 2010000, 2010001, 2010002, 2010003, 2010004, 2020001, 2020002, 2020003, 2022020, 2022022, 4003000];
itemSet = [1122004, 1012078, 1432008, 1432009, 1032040, 1032009, 1102166, 2070001, 2040002, 2040310, 2040400, 2040600, 2040825, 2040902, 2010000, 2010001, 2010002, 2010003, 2010004, 2020001, 2020002, 2020003, 2022020, 2022022, 4010000, 4010001, 4010002, 4010003, 4010004, 4010005, 4010006, 4010007, 4003000];
itemQty = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 2, 2, 2, 2, 2, 2, 2, 2, 2];
eim.setEventRewards(evLevel, itemSet, itemQty);
}
@@ -62,10 +62,6 @@ function getEligibleParty(party) { //selects, from the given party, the tea
}
}
if(!hasLeader) print("no leader");
else if(eligible.length < minPlayers) print("no min");
else if(eligible.length < minPlayers) print("no max");
if(!(hasLeader && eligible.length >= minPlayers && eligible.length <= maxPlayers)) eligible = [];
return eligible;
}

View File

@@ -1,60 +1,91 @@
/**
* @author: Eric
* @npc: Sgt. Anderson
* @maps: Ludibrium PQ Maps
* @func: Ludi PQ (Warps you out)
*/
/*
This file is part of the OdinMS Maple Story Server
Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
Matthias Butz <matze@odinms.de>
Jan Christian Meyer <vimes@odinms.de>
var status = -1;
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation version 3 as published by
the Free Software Foundation. You may not use, modify or distribute
this program under any other version of the GNU Affero General Public
License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
@ Author : Raz
@
@ NPC = Sgt.Anderson
@ Map = Abandoned Tower <Stage 1>
@ NPC MapId = 922010100
@ NPC Exit-MapId = 221024500
@
*/
//4001022 - PASS OF DIMENSION
var status = 0;
function start() {
if (cm.getMapId() != 922010000 && cm.getMapId() != 922010800) {
cm.sendYesNo("You'll have to start over from scratch if you want to take a crack at this quest after leaving this stage. Are you sure you want to leave this map?");
} else if (cm.getMapId() == 922010800) {
cm.sendSimple("Do you need some help?#b\r\n#L0#I need Platform Puppet.#l\r\n#L1#I want to get out of here.#l#k");
} else {
cm.removeAll(4001022); // pass of dimension
cm.removeAll(4001023);
cm.removeAll(4001454); // platform puppet
cm.warp(221024500, 0);
cm.dispose();
}
cm.sendYesNo("Are you sure you want to leave?");
}
function action(mode, type, selection) {
if (mode == 1)
status++;
else if (mode == 0 && (status == 0 || status == -1)) {
cm.sendNext("I see. Gather up the strength of your party members and try harder!");
cm.dispose();
return;
} else
status--;
if (status == 0) {
if (cm.getMapId() == 922010800) {
if (selection == 0) {
cm.sendNext("You have received a Platform Puppet. If you place it on the platform, it will have the same effect as someone standing there.\r\nRemember, though, this is an item that can only be used in here.");
cm.gainItem(4001454, 1);
cm.dispose();
} else {
cm.sendYesNo("You'll have to start over from scratch if you want to take a crack at this quest after leaving this stage. Are you sure you want to leave this map?");
}
} else {
var eim = cm.getPlayer().getEventInstance();
if(eim != null) {
eim.removePlayer(cm.getPlayer());
} else {
cm.warp(922010000, 0);
}
cm.dispose();
}
} else if (status == 1) {
var eim = cm.getPlayer().getEventInstance();
if(eim != null) {
eim.removePlayer(cm.getPlayer());
} else {
cm.warp(922010000, 0);
}
cm.dispose();
}
if (mode == -1) //ExitChat
cm.dispose();
else if (mode == 0) {//No
cm.sendOk("OK, Talk to me again if you want to leave here.");
cm.dispose();
} else { //Regular Talk
if (mode == 1)
status++;
else
status--;
if (cm.getPlayer().getMap().getId() == 109050001) {
if(status == 0)
cm.sendNext("See ya.");
else if (status == 1){
cm.warp(109060001);
cm.dispose();
}
} else {
if (status == 1)
cm.sendNext("Ok, Bye!");
else if (status == 2) {
var eim = cm.getPlayer().getEventInstance();
if (eim == null)
cm.sendOk("Wait, Hey! how'd you get here?\r\nOh well you can leave anyways");
else {
if(isLeader()){
eim.disbandParty();
cm.removeFromParty(4001008, eim.getPlayers());
} else {
eim.leftParty(cm.getPlayer());
cm.removeAll(4001008);
cm.removeAll(4031059);
cm.removeAll(4001102);
cm.removeAll(4001108);
}
cm.dispose();
}
} else if (status == 3) {
cm.warp(109050001);
cm.removeAll(4001008);
cm.removeAll(4031059);
cm.removeAll(4001102);
cm.removeAll(4001108);
cm.dispose();
}
}
}
}
function isLeader(){
return cm.getParty() == null ? false : cm.isLeader();
}

View File

@@ -0,0 +1,60 @@
/**
* @author: Eric
* @npc: Sgt. Anderson
* @maps: Ludibrium PQ Maps
* @func: Ludi PQ (Warps you out)
*/
var status = -1;
function start() {
if (cm.getMapId() != 922010000 && cm.getMapId() != 922010800) {
cm.sendYesNo("You'll have to start over from scratch if you want to take a crack at this quest after leaving this stage. Are you sure you want to leave this map?");
} else if (cm.getMapId() == 922010800) {
cm.sendSimple("Do you need some help?#b\r\n#L0#I need Platform Puppet.#l\r\n#L1#I want to get out of here.#l#k");
} else {
cm.removeAll(4001022); // pass of dimension
cm.removeAll(4001023);
cm.removeAll(4001454); // platform puppet
cm.warp(221024500, 0);
cm.dispose();
}
}
function action(mode, type, selection) {
if (mode == 1)
status++;
else if (mode == 0 && (status == 0 || status == -1)) {
cm.sendNext("I see. Gather up the strength of your party members and try harder!");
cm.dispose();
return;
} else
status--;
if (status == 0) {
if (cm.getMapId() == 922010800) {
if (selection == 0) {
cm.sendNext("You have received a Platform Puppet. If you place it on the platform, it will have the same effect as someone standing there.\r\nRemember, though, this is an item that can only be used in here.");
cm.gainItem(4001454, 1);
cm.dispose();
} else {
cm.sendYesNo("You'll have to start over from scratch if you want to take a crack at this quest after leaving this stage. Are you sure you want to leave this map?");
}
} else {
var eim = cm.getPlayer().getEventInstance();
if(eim != null) {
eim.removePlayer(cm.getPlayer());
} else {
cm.warp(922010000, 0);
}
cm.dispose();
}
} else if (status == 1) {
var eim = cm.getPlayer().getEventInstance();
if(eim != null) {
eim.removePlayer(cm.getPlayer());
} else {
cm.warp(922010000, 0);
}
cm.dispose();
}
}

View File

@@ -41,22 +41,18 @@ function action(mode, type, selection) {
if (status == 0) {
if(state == 3) {
if(cm.getPlayer().getEventInstance() != null) {
if(!cm.isLeader()) {
cm.sendOk("Your party leader has not spoken to me yet, please wait him/her talk to me.");
if(cm.isLeader()) {
if(cm.getPlayer().getEventInstance().getPlayerCount() > 1) {
cm.sendOk("Now, tell your party I will be warping everyone out and rewarding them as they talk to me. The leader goes last.");
cm.dispose();
return;
}
else {
cm.getPlayer().getEventInstance().finishPQ();
cm.sendOk("Your party completed such an astounding feat coming this far, #byou have defeated all the bosses#k, congratulations! Now I will be handing your reward as you are being transported out...");
}
}
if(cm.isLeader()) {
cm.sendOk("Your party completed such an astounding feat coming this far, #byou have defeated all the bosses#k, congratulations! Now, tell your party I will be warping everyone out and rewarding them as they talk to me.");
}
}
else {
cm.sendOk("For completing all stages in this event, congratulations! Now you will receive a prize that matches your performance here as I warp you out.");
cm.sendOk("For #bdefeating all bosses#k in this event, congratulations! Now you will receive a prize that matches your performance here as I warp you out.");
}
}
else if(state == 2) {
@@ -71,7 +67,7 @@ function action(mode, type, selection) {
}
}
else {
cm.sendOk("Wait for your party leader to give me the signal to proceed. If you're not feeling too well and want to quit, walk through the portal and you will be transported out, you will receive a prize for coming this far.");
cm.sendOk("Wait for your party leader to give me the signal to proceed. If you're not feeling too well and want to quit, walk through the portal and you will be transported out, and you will receive a prize for coming this far.");
cm.dispose();
return;
}

View File

@@ -0,0 +1,88 @@
/**
* @author: Ronan
* @npc: Agent Kitty
* @map: 970030000 - Hidden Street - Exclusive Training Center
* @func: Boss Rush PQ Reward Announcer
*/
var status;
var itemSet_lv6 = [1122018, 1122005, 1022088, 1402013, 1032048, 1032070, 1102046, 2330004, 2041013, 2041016, 2041019, 2041022, 2049100, 2049003, 2020012, 2020013, 2020014, 2020015, 2022029, 2022045, 2022068, 2022069, 2022179, 2022180, 4004000, 4004001, 4004002, 4004003, 4004004, 4003000];
var itemQty_lv6 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 25, 25, 25, 25, 25, 25, 25, 25, 4, 4, 12, 12, 12, 12, 12, 25];
var itemSet_lv5 = [1122018, 1122005, 1022088, 1402013, 1032048, 1032070, 1102046, 2330004, 2041013, 2041016, 2041019, 2041022, 2049100, 2049003, 2020012, 2020013, 2020014, 2020015, 2022029, 2022045, 2022068, 2022069, 2022179, 2022180, 4004000, 4004001, 4004002, 4004003, 4004004, 4003000];
var itemQty_lv5 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 2, 8, 8, 8, 8, 8, 12];
var itemSet_lv4 = [1122001, 1122006, 1022103, 1442065, 1032042, 1032021, 1102168, 2070005, 2040025, 2040029, 2040301, 2040413, 2040701, 2040817, 2002028, 2020009, 2020010, 2020011, 2022004, 2022005, 2022025, 2022027, 2022048, 2022049, 4020000, 4020001, 4020002, 4020003, 4020004, 4020005, 4020006, 4020007, 4020008, 4003000];
var itemQty_lv4 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8];
var itemSet_lv3 = [1122002, 1022088, 1012076, 1402029, 1032041, 1032044, 1102167, 2070011, 2040026, 2040030, 2040302, 2040412, 2040702, 2040818, 2002028, 2020009, 2020010, 2020011, 2022004, 2022005, 2022025, 2022027, 2022048, 2022049, 4010000, 4010001, 4010002, 4010003, 4010004, 4010005, 4010006, 4010007, 4003000];
var itemQty_lv3 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 5, 5, 5, 5, 5, 5, 5, 5, 5];
var itemSet_lv2 = [1122003, 1012077, 1012079, 1432014, 1032059, 1032002, 1102191, 2330002, 2040001, 2040311, 2040401, 2040601, 2040824, 2040901, 2010000, 2010001, 2010002, 2010003, 2010004, 2020001, 2020002, 2020003, 2022020, 2022022, 4020000, 4020001, 4020002, 4020003, 4020004, 4020005, 4020006, 4020007, 4020008, 4003000];
var itemQty_lv2 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3];
var itemSet_lv1 = [1122004, 1012078, 1432008, 1432009, 1032040, 1032009, 1102166, 2070001, 2040002, 2040310, 2040400, 2040600, 2040825, 2040902, 2010000, 2010001, 2010002, 2010003, 2010004, 2020001, 2020002, 2020003, 2022020, 2022022, 4010000, 4010001, 4010002, 4010003, 4010004, 4010005, 4010006, 4010007, 4003000];
var itemQty_lv1 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 2, 2, 2, 2, 2, 2, 2, 2, 2];
var levels = ["#m970030001#", "#m970030002#", "#m970030003#", "#m970030004#", "#m970030005#", "Final stage"];
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else {
if (mode == 0 && status == 0) {
cm.dispose();
return;
}
if (mode == 1)
status++;
else
status--;
if (status == 0) {
var sendStr = "The #bBoss Rush Party Quest#k rewards players accordingly to how far the team went on the boss huntings. Take note that each player #bcan only claim a reward if they leave through a portal inside a Resting Spot#k. Challenging stronger bosses will require the team to commit to more fightings until the next Resting Spot is reached, or until the final boss is defeated.\r\n\r\nThe possible rewards for those leaving in the selected Resting Point are depicted here:\r\n\r\n#b";
for(var i = 0; i < 6; i++) {
sendStr += "#L" + i + "#" + levels[i] + "#l\r\n";
}
cm.sendSimple(sendStr);
} else if(status == 1) {
var lvTarget, lvQty;
if(selection == 0) {
lvTarget = itemSet_lv1;
lvQty = itemQty_lv1;
} else if(selection == 1) {
lvTarget = itemSet_lv2;
lvQty = itemQty_lv2;
} else if(selection == 2) {
lvTarget = itemSet_lv3;
lvQty = itemQty_lv3;
} else if(selection == 3) {
lvTarget = itemSet_lv4;
lvQty = itemQty_lv4;
} else if(selection == 4) {
lvTarget = itemSet_lv5;
lvQty = itemQty_lv5;
} else {
lvTarget = itemSet_lv6;
lvQty = itemQty_lv6;
}
var sendStr = "The following items are being awarded at #b" + levels[selection] + "#k:\r\n\r\n";
for(var i = 0; i < lvTarget.length; i++) {
sendStr += " #L" + i + "# #i" + lvTarget[i] + "# #t" + lvTarget[i] + "#";
if(lvQty[i] > 1) sendStr += " (" + lvQty[i] + ")";
sendStr += "#l\r\n";
}
cm.sendPrev(sendStr);
}
}
}

View File

@@ -36,7 +36,7 @@ function action(mode, type, selection) {
cm.dispose();
else {
if (status >= 0 && mode == 0) {
cm.sendOk("Ok come back when your'e ready.");
cm.sendOk("Ok come back when you're ready.");
cm.dispose();
return;
}

View File

@@ -0,0 +1,9 @@
/**
*9201051 - John Barricade
*@author Ronan
*/
function start() {
cm.sendOk("The patrol in New Leaf City is always ready. No creatures are able to break through to the city.");
cm.dispose();
}

View File

@@ -0,0 +1,9 @@
/**
*9201052 - Professor Foxwit
*@author Ronan
*/
function start() {
cm.sendOk("The patrol in New Leaf City is always ready. No creatures are able to break through to the city.");
cm.dispose();
}

View File

@@ -0,0 +1,9 @@
/**
*9201054 - Lita Lawless
*@author Ronan
*/
function start() {
cm.sendOk("The patrol in New Leaf City is always ready. No creatures are able to break through to the city.");
cm.dispose();
}

View File

@@ -0,0 +1,9 @@
/**
*9201071 - Sunstone Grave
*@author Ronan
*/
function start() {
cm.sendOk("(This tombstone keeps emmiting ever oddier light waves the more I stare to it...)");
cm.dispose();
}

View File

@@ -0,0 +1,9 @@
/**
*9201072 - Moonstone Grave
*@author Ronan
*/
function start() {
cm.sendOk("(This tombstone keeps emmiting ever oddier light waves the more I stare to it...)");
cm.dispose();
}

View File

@@ -1,91 +1,9 @@
/*
This file is part of the OdinMS Maple Story Server
Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
Matthias Butz <matze@odinms.de>
Jan Christian Meyer <vimes@odinms.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation version 3 as published by
the Free Software Foundation. You may not use, modify or distribute
this program under any other version of the GNU Affero General Public
License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
@ Author : Raz
@
@ NPC = Sgt.Anderson
@ Map = Abandoned Tower <Stage 1>
@ NPC MapId = 922010100
@ NPC Exit-MapId = 221024500
@
/**
*9201073 - Tombstone
*@author Ronan
*/
//4001022 - PASS OF DIMENSION
var status = 0;
function start() {
cm.sendYesNo("Are you sure you want to leave?");
cm.sendOk("(This enigmatic tombstone keeps emmiting strange forces... Better look another way.)");
cm.dispose();
}
function action(mode, type, selection) {
if (mode == -1) //ExitChat
cm.dispose();
else if (mode == 0) {//No
cm.sendOk("OK, Talk to me again if you want to leave here.");
cm.dispose();
} else { //Regular Talk
if (mode == 1)
status++;
else
status--;
if (cm.getPlayer().getMap().getId() == 109050001) {
if(status == 0)
cm.sendNext("See ya.");
else if (status == 1){
cm.warp(109060001);
cm.dispose();
}
} else {
if (status == 1)
cm.sendNext("Ok, Bye!");
else if (status == 2) {
var eim = cm.getPlayer().getEventInstance();
if (eim == null)
cm.sendOk("Wait, Hey! how'd you get here?\r\nOh well you can leave anyways");
else {
if(isLeader()){
eim.disbandParty();
cm.removeFromParty(4001008, eim.getPlayers());
} else {
eim.leftParty(cm.getPlayer());
cm.removeAll(4001008);
cm.removeAll(4031059);
cm.removeAll(4001102);
cm.removeAll(4001108);
}
cm.dispose();
}
} else if (status == 3) {
cm.warp(109050001);
cm.removeAll(4001008);
cm.removeAll(4031059);
cm.removeAll(4001102);
cm.removeAll(4001108);
cm.dispose();
}
}
}
}
function isLeader(){
return cm.getParty() == null ? false : cm.isLeader();
}

View File

@@ -0,0 +1,9 @@
/**
*9201083 - The Glimmer Man
*@author Ronan
*/
function start() {
cm.sendOk("The patrol in New Leaf City is always ready. No creatures are able to break through to the city.");
cm.dispose();
}

View File

@@ -0,0 +1,9 @@
/**
*9201093 - Little Suzy
*@author Ronan
*/
function start() {
cm.sendOk("Have you heard the fantasic Jack Masque appeared around the city these days? That is sooooo nice!");
cm.dispose();
}

View File

@@ -0,0 +1,9 @@
/**
*9201094 - Corine
*@author Ronan
*/
function start() {
cm.sendOk("The patrol in New Leaf City is always ready. No creatures are able to break through to the city.");
cm.dispose();
}

View File

@@ -0,0 +1,9 @@
/**
*9201102 - Stirgeman
*@author Ronan
*/
function start() {
cm.sendOk("The patrol in New Leaf City is always ready. No creatures are able to break through to the city.");
cm.dispose();
}

View File

@@ -27,6 +27,11 @@ BossRushPQ - Rest Spot portal
function enter(pi) {
var evLevel = ((pi.getMapId() - 1) % 5) + 1;
if(pi.getPlayer().getEventInstance().isLeader(pi.getPlayer()) && pi.getPlayer().getEventInstance().getPlayerCount() > 1) {
pi.message("Being the party leader, you cannot leave before your teammates leave first.");
return false;
}
if(pi.getPlayer().getEventInstance().giveEventReward(pi.getPlayer(), evLevel)) {
pi.warp(970030000);
return true;