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:
32
scripts/portal/TD_Boss_enter.js
Normal file
32
scripts/portal/TD_Boss_enter.js
Normal 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;
|
||||
}
|
||||
}
|
||||
4
scripts/portal/TD_chat_enter.js
Normal file
4
scripts/portal/TD_chat_enter.js
Normal file
@@ -0,0 +1,4 @@
|
||||
function enter(pi) {
|
||||
pi.openNpc(2083006);
|
||||
return false;
|
||||
}
|
||||
28
scripts/portal/TD_neo_inTree.js
Normal file
28
scripts/portal/TD_neo_inTree.js
Normal 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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user