Neo City + Revamped EllinPQ + New Release

Fixed Neo City area, now playable.
Overhauled the EllinPQ mechanics, such as the "CLEAR" effect when passing maps, and some bug fixes along the way.
Refactored a lot of out-of-place classes and properly renamed a few others through the project.
Updated readme and licenses through the source, preparing the stage for the new release.
This commit is contained in:
ronancpl
2017-11-29 00:57:50 -02:00
parent 46924812b0
commit 85a81b9bf9
163 changed files with 17125 additions and 14961 deletions

View File

@@ -0,0 +1,32 @@
/* @author RonanLana */
function enter(pi) {
var stage = ((Math.floor(pi.getMapId() / 100)) % 10) - 1;
var em = pi.getEventManager("TD_Battle" + stage);
if(em == null) {
pi.playerMessage(5, "TD Battle " + stage + " encountered an unexpected error and is currently unavailable.");
return false;
}
if (pi.getParty() == null) {
pi.playerMessage(5, "You are currently not in a party, create one to attempt the boss.");
return false;
} else if(!pi.isLeader()) {
pi.playerMessage(5, "Your party leader must enter the portal to start the battle.");
return false;
} else {
var eli = em.getEligibleParty(pi.getParty());
if(eli.size() > 0) {
if(!em.startInstance(pi.getParty(), pi.getPlayer().getMap(), 1)) {
pi.playerMessage(5, "The battle against the boss has already begun, so you may not enter this place.");
return false;
}
}
else {
pi.playerMessage(5, "Your party must consist of at least 2 players to attempt the boss.");
return false;
}
return true;
}
}

View File

@@ -0,0 +1,4 @@
function enter(pi) {
pi.openNpc(2083006);
return false;
}

View File

@@ -0,0 +1,28 @@
function enter(pi) {
var nex = pi.getEventManager("GuardianNex");
if(nex == null) {
pi.message("Guardian Nex event encontered an error and is unavailable.");
return false;
}
var quests = [3719, 3724, 3730, 3736, 3742, 3748];
var mobs = [7120100, 7120101, 7120102, 8120100, 8120101, 8140510];
for(var i = 0; i < quests.length; i++) {
if (pi.isQuestActive(quests[i])) {
if(pi.getQuestProgress(quests[i], mobs[i]) != 0) {
pi.message("You already faced Nex. Complete your mission.");
return false;
}
if(!nex.startInstance(i, pi.getPlayer())) {
pi.message("Someone is already challenging Nex. Wait for them to finish before you enter.");
return false;
} else {
return true;
}
}
}
return false;
}

View File

@@ -1,15 +1,14 @@
function enter(pi) {
if ((pi.getMap().getMonsters().size() == 0 || pi.getMap().getMonsterById(9300183) != null) && (pi.getMap().getReactorByName("") == null || pi.getMap().getReactorByName("").getState() == 1)) {
var eim = pi.getEventInstance();
if (eim.isEventCleared()) {
if(pi.isEventLeader()) {
pi.getEventInstance().clearPQ();
eim.warpEventTeam(930000800);
return true;
}
else {
} else {
pi.playerMessage(5, "Wait for the leader to pass through the portal.");
return false;
}
} else {
pi.playerMessage(5, "Please eliminate the Poison Golem.");
return false;