Implemented EllinPQ + some bug fixes

Implemented EllinPQ, adjusted several drop rates and data, fixes some
bugs at quests at client-side.
This commit is contained in:
ronancpl
2017-04-22 16:35:27 -03:00
parent 72ef73a949
commit 828a8a02a2
82 changed files with 753 additions and 386 deletions

View File

@@ -15,19 +15,19 @@ function action(mode,type,selection) {
if (status == -1) {
if (cm.getMapId() == 108000502) {
if (!(cm.haveItem(4031856,15))) {
cm.sendNext("Go, and get me 15 #bPotent Wind Crystals#k.");
cm.sendNext("Go, and get me 15 #b#t4031856##k.");
cm.dispose();
} else {
status = 2;
cm.sendNext("Wow, you have brought me 15 #bPotent Wind Crystals#k! Congratulations. Let me warp you out now.");
cm.sendNext("Wow, you have brought me 15 #b#t4031856##k! Congratulations. Let me warp you out now.");
}
} else if (cm.getMapId() == 108000501) {
if (!(cm.haveItem(4031857,15))) {
cm.sendNext("Go, and get me 15 #bPotent Power Crystals#k.");
cm.sendNext("Go, and get me 15 #b#t4031857##k.");
cm.dispose();
} else {
status = 2;
cm.sendNext("Wow, you have brought me 15 #bPotent Power Crystals#k! Congratulations. Let me warp you out now.");
cm.sendNext("Wow, you have brought me 15 #b#t4031857##k! Congratulations. Let me warp you out now.");
}
} else {
cm.sendNext("Error. Please report this.");

View File

@@ -84,7 +84,7 @@ function action(mode, type, selection) {
cm.dispose();
}
else {
cm.sendOk("Your party is not a party of two to six members. Make sure all your members are present and qualified to participate in this quest. I see #b" + levelValid.toString() + " #kmembers are in the right level range, and #b" + inMap.toString() + "#k are in my map. If this seems wrong, #blog out and log back in,#k or reform the party.");
cm.sendOk("Your party is not a party of 2 to 6 members between level " + minLevel + " and " + maxLevel + ". Make sure all your members are present and qualified to participate in this quest.");
cm.dispose();
}
}

View File

@@ -1,4 +1,7 @@
var status = -1;
var minPlayers = 0;
var minLevel = 44, maxLevel = 170;
function start() {
action(1,0,0);
@@ -14,9 +17,6 @@ function action(mode, type, selection) {
status--;
}
if (status == 0) {
cm.removeAll(4001163);
cm.removeAll(4001169);
cm.removeAll(2270004);
cm.sendSimple("#b#L0#Give me Altaire Earrings.#l\r\n#L1#Give me Glittering Altaire Earrings.#l\r\n#L3#Give me Brilliant Altaire Earrings.#l\r\n#L2#Attempt Forest of Poison Haze.#l#k");
} else if (status == 1) {
if (selection == 0) {
@@ -54,13 +54,13 @@ function action(mode, type, selection) {
while (it.hasNext()) {
var cPlayer = it.next();
var ccPlayer = cm.getPlayer().getMap().getCharacterById(cPlayer.getId());
if (ccPlayer == null || ccPlayer.getLevel() < 44 || ccPlayer.getLevel() > 55) {
if (ccPlayer == null || ccPlayer.getLevel() < minLevel || ccPlayer.getLevel() > maxLevel) {
next = false;
break;
}
size += (ccPlayer.isGM() ? 4 : 1);
}
if (next && size >= 2) {
if (next && size >= minPlayers) {
var em = cm.getEventManager("Ellin");
if (em == null) {
cm.sendOk("Please try again later.");
@@ -68,7 +68,7 @@ function action(mode, type, selection) {
em.startInstance(cm.getPlayer().getParty(), cm.getPlayer().getMap(), 1); //common level only
}
} else {
cm.sendOk("All 2+ members of your party must be here and between level 44 and 55.");
cm.sendOk("All 2+ members of your party must be here and between level " + minLevel + " and " + maxLevel + ".");
}
}
}

View File

@@ -1,73 +0,0 @@
var status = -1;
function action(mode, type, selection) {
if (mode == 1) {
status++;
} else {
if (status == 0) {
cm.dispose();
}
status--;
}
if (status == 0) {
cm.removeAll(4001163);
cm.removeAll(4001169);
cm.removeAll(2270004);
cm.sendSimple("#b#L0#Give me Altaire Earrings.#l\r\n#L1#Give me Glittering Altaire Earrings.#l\r\n#L3#Give me Brilliant Altaire Earrings.#l\r\n#L2#Attempt Forest of Poison Haze.#l#k");
} else if (status == 1) {
if (selection == 0) {
if (!cm.haveItem(1032060) && cm.haveItem(4001198, 10)) {
cm.gainItem(1032060,1);
cm.gainItem(4001198, -10);
} else {
cm.sendOk("You either have Altair Earrings already or you do not have 10 Altair Fragments");
}
} else if (selection == 1){
if (cm.haveItem(1032060) && !cm.haveItem(1032061) && cm.haveItem(4001198, 10)) {
cm.gainItem(1032060,-1);
cm.gainItem(1032061, 1);
cm.gainItem(4001198, -10);
} else {
cm.sendOk("You either don't have Altair Earrings already or you do not have 10 Altair Fragments");
}
} else if (selection == 1){
if (cm.haveItem(1032061) && !cm.haveItem(1032101) && cm.haveItem(4001198, 10)) {
cm.gainItem(1032061,-1);
cm.gainItem(1032101, 1);
cm.gainItem(4001198, -10);
} else {
cm.sendOk("You either don't have Glittering Altair Earrings already or you do not have 10 Altair Fragments");
}
} else if (selection == 2) {
if (cm.getPlayer().getParty() == null || !cm.isLeader()) {
cm.sendOk("The leader of the party must be here.");
} else {
var party = cm.getPlayer().getParty().getMembers();
var mapId = cm.getPlayer().getMapId();
var next = true;
var size = 0;
var it = party.iterator();
while (it.hasNext()) {
var cPlayer = it.next();
var ccPlayer = cm.getPlayer().getMap().getCharacterById(cPlayer.getId());
if (ccPlayer == null || ccPlayer.getLevel() < 70 || ccPlayer.getLevel() > 255) {
next = false;
break;
}
size += (ccPlayer.isGM() ? 4 : 1);
}
if (next && size >= 2) {
var em = cm.getEventManager("Ellin");
if (em == null) {
cm.sendOk("Please try again later.");
} else {
em.startInstance(cm.getPlayer().getParty(), cm.getPlayer().getMap(), 120);
}
} else {
cm.sendOk("All 2+ members of your party must be here and above level 70.");
}
}
}
cm.dispose();
}
}

View File

@@ -28,8 +28,13 @@ function action(mode, type, selection) {
cm.warpParty(930000500);
cm.gainItem(4001169,-20);
} else if (!cm.haveItem(2270004)) {
cm.gainItem(2270004,10);
cm.sendOk("Good luck in purifying these monsters!");
if(cm.canHold(2270004,10)) {
cm.gainItem(2270004,10);
cm.sendOk("Good luck in purifying these monsters!");
}
else {
cm.sendOk("Make space on your USE inventory before receiving the purifiers!");
}
} else {
cm.sendOk("We have to purify all these contaminated monsters! Get me 20 Monster Marbles from them!");
}

View File

@@ -16,9 +16,9 @@ function action(mode, type, selection) {
if (status == 0) {
cm.sendYesNo("Would you like to get out?");
} else if (status == 1) {
cm.removeAll(4001163);
cm.removeAll(4001169);
cm.removeAll(2270004);
cm.removeAll(4001163);
cm.removeAll(4001169);
cm.removeAll(2270004);
cm.warp(930000800,0);
cm.dispose();
}

View File

@@ -0,0 +1,4 @@
function start() {
cm.sendOk("The quality of the movies they are launching these days are impressive!");
cm.dispose();
}