More concurrency fixes + Zombify + BPQ available

Fixed some inconsistencies due to race conditions in the project, added
Zombify monster effect, made BPQ available and some minor patches.
This commit is contained in:
ronancpl
2017-04-09 14:23:23 -03:00
parent 7dc163fc76
commit 8c61c616f9
19 changed files with 321 additions and 115 deletions

View File

@@ -1,10 +1,51 @@
function start() {
cm.sendYesNo("If you leave now, you'll have to start over. Are you sure you want to leave?");
importPackage(Packages.server.events);
var status = 0;
var dispose = false;
function start(){
status == 0;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == 1) {
cm.warp(105100301);
function action(mode, type, selection){
if(mode <= 0){
if(!cm.getPlayer().getMap().getAllmonsters().size() == 2){
cm.sendOk("Alrighty. We have high hopes for you so make us mercenaries proud!");
cm.dispose();
} else {
cm.getPlayer().getMap().killAllMonsters();
BalrogPQ.partyLeader = "undefined";
BalrogPQ.balrogSpawned = false;
BalrogPQ.close();
cm.warp(105100100);
cm.dispose();
}
} else if(status == 0){
if(cm.getPlayer().getMap().getCharacters().size() > 1){
cm.sendYesNo("Are you really going to leave this battle and leave your fellow travelers to die?");
dispose = false;
status++;
} else if(cm.getPlayer().getMap().getCharacters().size() <= 1 && cm.getPlayer().getMap().getAllmonsters().size() != 2){
cm.sendYesNo("If you're a coward, you will leave.");
dispose = true;
status++;
} else if(cm.getPlayer().getMap().getAllmonsters().size() == 0){
cm.sendOk("Wow! You defeated the balrog.");
dispose = true;
cm.getPlayer().getClient().getChannelServer().broadcastPacket(Packages.tools.MaplePacketCreator.serverNotice(0, BalrogPQ.partyLeader + "'s party has successfully defeated the Balrog! Praise to them, they finished with " + cm.getPlayer().getMap().getCharacters().size() + " players."));
status++;
} else {
cm.sendYesNo("So you are really going to leave?");
status++;
}
} else if(status == 1){
if(dispose){
cm.getPlayer().getMap().killAllMonsters();
BalrogPQ.partyLeader = "undefined";
BalrogPQ.balrogSpawned = false;
BalrogPQ.close();
}
cm.warp(105100100);
cm.dispose();
}
cm.dispose();
}