Guild & Alliances Patches

As reported by J0k3r613, patched guild system not recognizing properly
the guild leader just after creation. Patched many more issues related
to guilds and alliances.
This commit is contained in:
ronancpl
2017-06-21 01:17:25 -03:00
parent 7f6d420cf1
commit 6b2b3616d6
83 changed files with 293 additions and 178 deletions

View File

@@ -17,84 +17,85 @@ var pos_y = Array(-204,-384,-504,-384,-204);
var pos_y2 = Array(-144, -444, -744, -1044, -1344, -1644);
function init() {
em.setProperty("state", "0");
em.setProperty("leader", "true");
em.setProperty("state", "0");
em.setProperty("leader", "true");
}
function afterSetup(eim) {}
function setup(eim, leaderid) {
em.setProperty("state", "1");
em.setProperty("leader", "true");
em.setProperty("current_instance", "0");
em.setProperty("glpq1", "0");
em.setProperty("glpq2", "0");
em.setProperty("glpq3", "0");
em.setProperty("glpq4", "0");
em.setProperty("glpq5", "0");
em.setProperty("glpq6", "0");
var eim = em.newInstance("CWKPQ" + leaderid);
for (var i = 0; i < mapz.length; i++) {
var map = eim.getInstanceMap(610030000 + mapz[i]);
if (map != null) {
map.resetFully();
if (map.getId() == 610030400) {
map.setReactorState(); //because everything is at 0 =[
map.limitReactor(6109016, 1);
map.limitReactor(6109017, 1);
map.limitReactor(6109018, 1);
map.limitReactor(6109019, 1);
map.limitReactor(6109020, 1);
map.shuffleReactors(6109016, 6109020);
map.destroyReactors(6108000, 6108005); //destroy the fake ones, non-GMS like or is this necessary
function setup(leaderid) {
em.setProperty("state", "1");
em.setProperty("leader", "true");
em.setProperty("current_instance", "0");
em.setProperty("glpq1", "0");
em.setProperty("glpq2", "0");
em.setProperty("glpq3", "0");
em.setProperty("glpq4", "0");
em.setProperty("glpq5", "0");
em.setProperty("glpq6", "0");
//add environments
for (var x = 0; x < a.length; x++) {
for (var y = 1; y <= 7; y++) {
if (x == 1 || x == 3 || x == 4 || x == 6 || x == 8) {
if (y != 2 && y != 4 && y != 5 && y != 7) {
map.moveEnvironment(a[x] + "" + y, 1);
}
} else {
map.moveEnvironment(a[x] + "" + y, 1);
}
}
}
} else if (map.getId() == 610030510) { //warrior room, crimson guardians
for (var z = 0; z < pos_y2.length; z++) {
var mob = em.getMonster(9400582);
eim.registerMonster(mob);
map.spawnMonsterOnGroundBelow(mob, new java.awt.Point(0, pos_y2[z]));
}
//skipping mage room, ehh
} else if (map.getId() == 610030540) { //bowman room, spawn master guardians
for (var z = 0; z < pos_x.length; z++) {
var mob = em.getMonster(9400594);
eim.registerMonster(mob);
map.spawnMonsterOnGroundBelow(mob, new java.awt.Point(pos_x[z], pos_y[z]));
}
} else if (map.getId() == 610030550) {
map.shuffleReactors(); //pirate room
}
}
}
var eim = em.newInstance("CWKPQ" + leaderid);
for (var i = 0; i < mapz.length; i++) {
var map = eim.getInstanceMap(610030000 + mapz[i]);
if (map != null) {
map.resetFully();
if (map.getId() == 610030400) {
map.setReactorState(); //because everything is at 0 =[
map.limitReactor(6109016, 1);
map.limitReactor(6109017, 1);
map.limitReactor(6109018, 1);
map.limitReactor(6109019, 1);
map.limitReactor(6109020, 1);
map.shuffleReactors(6109016, 6109020);
map.destroyReactors(6108000, 6108005); //destroy the fake ones, non-GMS like or is this necessary
//add environments
for (var x = 0; x < a.length; x++) {
for (var y = 1; y <= 7; y++) {
if (x == 1 || x == 3 || x == 4 || x == 6 || x == 8) {
if (y != 2 && y != 4 && y != 5 && y != 7) {
map.moveEnvironment(a[x] + "" + y, 1);
}
} else {
map.moveEnvironment(a[x] + "" + y, 1);
}
}
}
} else if (map.getId() == 610030510) { //warrior room, crimson guardians
for (var z = 0; z < pos_y2.length; z++) {
var mob = em.getMonster(9400582);
eim.registerMonster(mob);
map.spawnMonsterOnGroundBelow(mob, new java.awt.Point(0, pos_y2[z]));
}
//skipping mage room, ehh
} else if (map.getId() == 610030540) { //bowman room, spawn master guardians
for (var z = 0; z < pos_x.length; z++) {
var mob = em.getMonster(9400594);
eim.registerMonster(mob);
map.spawnMonsterOnGroundBelow(mob, new java.awt.Point(pos_x[z], pos_y[z]));
}
} else if (map.getId() == 610030550) {
map.shuffleReactors(); //pirate room
}
}
}
eim.startEventTimer(120000); //2 MIN for first stg
eim.schedule("spawnGuardians", 60000);
return eim;
}
function playerEntry(eim, player) {
eim.broadcastPlayerMsg(5, "[Expedition] " + player.getName() + " has entered the map.");
eim.dropMessage(5, "[Expedition] " + player.getName() + " has entered the map.");
var map = eim.getMapInstance(610030100 + (parseInt(em.getProperty("current_instance")) * 100));
player.changeMap(map, map.getPortal(0));
}
function spawnGuardians(eim) {
var map = eim.getMapInstance(0);
if (map.getCharactersSize() <= 0) {
if (map.countPlayers() <= 0) {
return;
}
eim.broadcastPlayerMsg(5, "The Master Guardians have detected you.");
eim.dropMessage(5, "The Master Guardians have detected you.");
for (var i = 0; i < 20; i++) { //spawn 20 guardians
var mob = em.getMonster(9400594);
eim.registerMonster(mob);
@@ -102,8 +103,7 @@ function spawnGuardians(eim) {
}
}
function playerRevive(eim, player) {
}
function playerRevive(eim, player) {}
function scheduledTimeout(eim) {
end(eim);
@@ -165,33 +165,30 @@ function monsterValue(eim, mobId) {
function playerUnregistered(eim, player) {}
function playerExit(eim, player) {
eim.broadcastPlayerMsg(5, "[Expedition] " + player.getName() + " has left the map.");
eim.dropMessage(5, "[Expedition] " + player.getName() + " has left the event.");
eim.unregisterPlayer(player);
if (eim.disposeIfPlayerBelow(minPlayers, 610030010)) {
em.setProperty("state", "0");
em.setProperty("leader", "true");
}
em.setProperty("state", "0");
em.setProperty("leader", "true");
}
}
function end(eim) {
eim.disposeIfPlayerBelow(100, 610030010);
em.setProperty("state", "0");
em.setProperty("leader", "true");
em.setProperty("state", "0");
em.setProperty("leader", "true");
}
function clearPQ(eim) {
eim.setEventCleared();
end(eim);
}
function monsterKilled(mob, eim) {}
function allMonstersDead(eim) {}
function allMonstersDead(eim) {
}
function leftParty (eim, player) {
}
function disbandParty (eim) {
}
function leftParty (eim, player) {}
function disbandParty (eim) {}
function playerDead(eim, player) {}
function cancelSchedule() {}

View File

@@ -48,10 +48,7 @@ function action(mode, type, selection) {
return;
}
if (status == 0) {
if (player.getClient().getChannel() != 1) { //Only channel 1
cm.sendOk("Sorry, Crimsonwood Keep Party Quest may only be attempted on #bChannel 1#k.");
cm.dispose();
} else if (player.getLevel() < cwkpq.getMinLevel() && player.getLevel() > cwkpq.getMaxLevel()) { //Don't fit requirement
if (player.getLevel() < cwkpq.getMinLevel() && player.getLevel() > cwkpq.getMaxLevel()) { //Don't fit requirement
cm.sendOk("You do not meet the criteria to take attempt Crimsonwood Keep Party Quest!");
cm.dispose();
} else if (expedition == null) { //Start an expedition
@@ -109,14 +106,14 @@ function action(mode, type, selection) {
cm.sendSimple(text);
status = 6;
} else if (selection == 2) {
cm.sendOk("The expedition will begin and you will now be escorted to the #bEntrance to cwkpq Altar#k.");
cm.sendOk("The expedition will begin and you will now be escorted to the #bEntrance to CWKPQ Altar#k.");
status = 4;
} else if (selection == 3) {
player.getMap().broadcastMessage(MaplePacketCreator.removeClock());
player.getMap().broadcastMessage(MaplePacketCreator.serverNotice(6, expedition.getLeader().getName() + " has ended the expedition."));
cm.endExpedition(expedition);
player.getMap().broadcastMessage(MaplePacketCreator.removeClock());
player.getMap().broadcastMessage(MaplePacketCreator.serverNotice(6, expedition.getLeader().getName() + " has ended the expedition."));
cm.endExpedition(expedition);
cm.sendOk("The expedition has now ended. Sometimes the best strategy is to run away.");
cm.dispose();
cm.dispose();
return;
}
} else if (status == 4) {
@@ -132,15 +129,15 @@ function action(mode, type, selection) {
cm.dispose();
return;
}
cm.sendOk("Good luck! Crimsonwood Keep Party Quest is a worthy challenge!");
em.setProperty("leader", player.getName());
em.setProperty("leader", player.getName());
em.setProperty("channel", player.getClient().getChannel());
em.startInstance(expedition);
cm.dispose();
return;
} else if (status == 6) {
if (selection > 0) {
var banned = expedition.getMembers().get(selection);
var banned = expedition.getMembers().get(selection - 1);
expedition.ban(banned);
cm.sendOk("You have banned " + banned.getName() + " from the expedition.");
cm.dispose();

View File

@@ -26,5 +26,5 @@
function start() {
cm.warp(610030020);
cm.dispose();
cm.dispose();
}