Client clean-up + PiratePQ Implementation

Major update on client packets, now properly making unseen killed
monsters not appear as residual on a player's client. Many updates
revolving the PiratePQ environment as well.
This commit is contained in:
ronancpl
2017-04-12 15:32:55 -03:00
parent 768d9d0264
commit 6791a3d475
48 changed files with 990 additions and 194 deletions

View File

@@ -0,0 +1,13 @@
var windowTime = 10 * 1000;
function enter(pi) {
var em = pi.getEventManager("PiratePQ");
var level = em.getProperty("level");
if(em.getProperty("stage2b") == "0") {
pi.getMap(925100202).spawnAllMonstersFromMapSpawnList(level, true);
em.setProperty("stage2b", "1");
}
pi.warp(925100202,0);
return(true);
}

View File

@@ -0,0 +1,13 @@
var windowTime = 10 * 1000;
function enter(pi) {
var em = pi.getEventManager("PiratePQ");
var level = em.getProperty("level");
if(em.getProperty("stage3b") == "0") {
pi.getMap(925100302).spawnAllMonstersFromMapSpawnList(level, true);
em.setProperty("stage3b", "1");
}
pi.warp(925100302,0);
return(true);
}

View File

@@ -40,11 +40,10 @@ function enter(pi) {
eim.setProperty("entryTimeStamp", 1000 * 60 * 6);
for(var g=0; g<party.size(); g++) {
party.get(g).changeMap(target, targetPortal);
party.get(g).getClient().sendClock(party.get(g).getClient(), 300);
}
return true;
}else {
pi.getPlayer().dropMessage(6, "Please kill all monsters before proceeding.");
pi.getPlayer().dropMessage(6, "You need to kill all monsters before proceeding.");
return false;
}
}

View File

@@ -0,0 +1,16 @@
function enter(pi) {
try {
var em = pi.getEventManager("PiratePQ");
if (em != null && em.getProperty("stage2").equals("3")) {
pi.warp(925100200,0); //next
return(true);
} else {
pi.playerMessage(5, "The portal is not opened yet.");
return(false);
}
} catch(e) {
pi.playerMessage(5, "Error: " + e);
}
return(false);
}

View File

@@ -0,0 +1,9 @@
function enter(pi) {
if (pi.getMap().getMonsters().size() == 0) {
pi.warp(925100300,0); //next
return(true);
} else {
pi.playerMessage(5, "The portal is not opened yet.");
return(false);
}
}

View File

@@ -0,0 +1,9 @@
function enter(pi) {
if (pi.getMap().getMonsters().size() == 0) {
pi.warp(925100400,0); //next
return(true);
} else {
pi.playerMessage(5, "The portal is not opened yet.");
return(false);
}
}

View File

@@ -0,0 +1,29 @@
importPackage(Packages.server.life);
function enter(pi) {
if (pi.getMap().getReactorByName("sMob1").getState() >= 1 && pi.getMap().getReactorByName("sMob2").getState() >= 1 && pi.getMap().getReactorByName("sMob3").getState() >= 1 && pi.getMap().getReactorByName("sMob4").getState() >= 1) {
if (pi.isLeader()) {
var em = pi.getEventManager("PiratePQ");
var level = parseInt(em.getProperty("level"));
var chests = parseInt(em.getProperty("openedChests"));
var boss;
if(chests == 0) boss = MapleLifeFactory.getMonster(9300119); //lord pirate
else if(chests == 1) boss = MapleLifeFactory.getMonster(9300105); //angry lord pirate
else boss = MapleLifeFactory.getMonster(9300106); //enraged lord pirate
boss.changeDifficulty(level, true);
pi.getMap(925100500).spawnMonster(boss);
pi.warpParty(925100500); //next
return(true);
} else {
pi.playerMessage(5, "The leader must be here");
return(false);
}
} else {
pi.playerMessage(5, "The portal is not opened yet.");
return(false);
}
}

View File

@@ -0,0 +1,4 @@
function enter(pi) {
pi.warp(300000011,0);
return(true);
}

View File

@@ -25,7 +25,7 @@ LudiPQ - 1 - 2 Portal
function enter(pi) {
var nextMap = 922010900;
var eim = pi.getPlayer().getEventInstance()
var eim = pi.getPlayer().getEventInstance();
var target = eim.getMapInstance(nextMap);
var targetPortal = target.getPortal("st00");
// only let people through if the eim is ready
@@ -33,7 +33,8 @@ function enter(pi) {
if (avail == null) {
// can't go thru eh?
pi.getPlayer().dropMessage(5, "Some seal is blocking this door.");
return false; }
return false;
}
else {
pi.getPlayer().changeMap(target, targetPortal);
return true;