Reformat and clean up event scripts
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
/**
|
||||
* @author: Ronan
|
||||
* @event: Cathedral Wedding
|
||||
*/
|
||||
*/
|
||||
|
||||
var entryMap = 680000200;
|
||||
var exitMap = 680000500;
|
||||
@@ -49,171 +49,173 @@ const maxLobbies = 1;
|
||||
function init() {}
|
||||
|
||||
function getMaxLobbies() {
|
||||
return maxLobbies;
|
||||
return maxLobbies;
|
||||
}
|
||||
|
||||
function setEventExclusives(eim) {
|
||||
var itemSet = [4031217, 4000313]; // golden key, golden maple leaf
|
||||
eim.setExclusiveItems(itemSet);
|
||||
var itemSet = [4031217, 4000313]; // golden key, golden maple leaf
|
||||
eim.setExclusiveItems(itemSet);
|
||||
}
|
||||
|
||||
function setEventRewards(eim) {
|
||||
var itemSet, itemQty, evLevel, expStages;
|
||||
var itemSet, itemQty, evLevel, expStages;
|
||||
|
||||
evLevel = 1; //Rewards at clear PQ
|
||||
itemSet = [];
|
||||
itemQty = [];
|
||||
eim.setEventRewards(evLevel, itemSet, itemQty);
|
||||
|
||||
expStages = []; //bonus exp given on CLEAR stage signal
|
||||
eim.setEventClearStageExp(expStages);
|
||||
evLevel = 1; //Rewards at clear PQ
|
||||
itemSet = [];
|
||||
itemQty = [];
|
||||
eim.setEventRewards(evLevel, itemSet, itemQty);
|
||||
|
||||
expStages = []; //bonus exp given on CLEAR stage signal
|
||||
eim.setEventClearStageExp(expStages);
|
||||
}
|
||||
|
||||
function spawnCakeBoss(eim) {
|
||||
var mapObj = eim.getMapInstance(680000400);
|
||||
var mapObj = eim.getMapInstance(680000400);
|
||||
|
||||
const LifeFactory = Java.type('server.life.LifeFactory');
|
||||
const Point = Java.type('java.awt.Point');
|
||||
var mobObj = LifeFactory.getMonster(9400606);
|
||||
mapObj.spawnMonsterOnGroundBelow(mobObj, new Point(777, -177));
|
||||
const LifeFactory = Java.type('server.life.LifeFactory');
|
||||
const Point = Java.type('java.awt.Point');
|
||||
var mobObj = LifeFactory.getMonster(9400606);
|
||||
mapObj.spawnMonsterOnGroundBelow(mobObj, new Point(777, -177));
|
||||
}
|
||||
|
||||
function setup(level, lobbyid) {
|
||||
var eim = em.newMarriage("Wedding" + lobbyid);
|
||||
eim.setProperty("weddingId", "0");
|
||||
eim.setProperty("weddingStage", "0"); // 0: gathering time, 1: wedding time, 2: ready to fulfill the wedding, 3: just married
|
||||
eim.setProperty("guestBlessings", "0");
|
||||
eim.setProperty("isPremium", "1");
|
||||
eim.setProperty("canJoin", "1");
|
||||
eim.setProperty("groomId", "0");
|
||||
eim.setProperty("brideId", "0");
|
||||
eim.setProperty("confirmedVows", "-1");
|
||||
eim.setProperty("groomWishlist", "");
|
||||
eim.setProperty("brideWishlist", "");
|
||||
eim.initializeGiftItems();
|
||||
|
||||
eim.getInstanceMap(680000400).resetPQ(level);
|
||||
if(eventBoss) spawnCakeBoss(eim);
|
||||
|
||||
respawnStages(eim);
|
||||
eim.startEventTimer(eventTime * 60000);
|
||||
setEventRewards(eim);
|
||||
setEventExclusives(eim);
|
||||
return eim;
|
||||
var eim = em.newMarriage("Wedding" + lobbyid);
|
||||
eim.setProperty("weddingId", "0");
|
||||
eim.setProperty("weddingStage", "0"); // 0: gathering time, 1: wedding time, 2: ready to fulfill the wedding, 3: just married
|
||||
eim.setProperty("guestBlessings", "0");
|
||||
eim.setProperty("isPremium", "1");
|
||||
eim.setProperty("canJoin", "1");
|
||||
eim.setProperty("groomId", "0");
|
||||
eim.setProperty("brideId", "0");
|
||||
eim.setProperty("confirmedVows", "-1");
|
||||
eim.setProperty("groomWishlist", "");
|
||||
eim.setProperty("brideWishlist", "");
|
||||
eim.initializeGiftItems();
|
||||
|
||||
eim.getInstanceMap(680000400).resetPQ(level);
|
||||
if (eventBoss) {
|
||||
spawnCakeBoss(eim);
|
||||
}
|
||||
|
||||
respawnStages(eim);
|
||||
eim.startEventTimer(eventTime * 60000);
|
||||
setEventRewards(eim);
|
||||
setEventExclusives(eim);
|
||||
return eim;
|
||||
}
|
||||
|
||||
function afterSetup(eim) {}
|
||||
|
||||
function respawnStages(eim) {
|
||||
eim.getMapInstance(680000400).instanceMapRespawn();
|
||||
eim.schedule("respawnStages", 15 * 1000);
|
||||
function respawnStages(eim) {
|
||||
eim.getMapInstance(680000400).instanceMapRespawn();
|
||||
eim.schedule("respawnStages", 15 * 1000);
|
||||
}
|
||||
|
||||
function playerEntry(eim, player) {
|
||||
eim.setProperty("giftedItemG" + player.getId(), "0");
|
||||
eim.setProperty("giftedItemB" + player.getId(), "0");
|
||||
player.getAbstractPlayerInteraction().gainItem(4000313, 1);
|
||||
|
||||
var map = eim.getMapInstance(entryMap);
|
||||
player.changeMap(map, map.getPortal(0));
|
||||
eim.setProperty("giftedItemG" + player.getId(), "0");
|
||||
eim.setProperty("giftedItemB" + player.getId(), "0");
|
||||
player.getAbstractPlayerInteraction().gainItem(4000313, 1);
|
||||
|
||||
var map = eim.getMapInstance(entryMap);
|
||||
player.changeMap(map, map.getPortal(0));
|
||||
}
|
||||
|
||||
function stopBlessings(eim) {
|
||||
var mapobj = eim.getMapInstance(entryMap + 10);
|
||||
mapobj.dropMessage(6, "Wedding Assistant: Alright people, our couple are preparing their vows to each other right now.");
|
||||
|
||||
eim.setIntProperty("weddingStage", 2);
|
||||
var mapobj = eim.getMapInstance(entryMap + 10);
|
||||
mapobj.dropMessage(6, "Wedding Assistant: Alright people, our couple are preparing their vows to each other right now.");
|
||||
|
||||
eim.setIntProperty("weddingStage", 2);
|
||||
}
|
||||
|
||||
function sendWeddingAction(eim, type) {
|
||||
var chr = eim.getLeader();
|
||||
const Wedding = Java.type('tools.packets.Wedding');
|
||||
if(chr.getGender() == 0) {
|
||||
chr.getMap().broadcastMessage(Wedding.OnWeddingProgress(type == 2, eim.getIntProperty("groomId"), eim.getIntProperty("brideId"), type + 1));
|
||||
} else {
|
||||
chr.getMap().broadcastMessage(Wedding.OnWeddingProgress(type == 2, eim.getIntProperty("brideId"), eim.getIntProperty("groomId"), type + 1));
|
||||
}
|
||||
var chr = eim.getLeader();
|
||||
const Wedding = Java.type('tools.packets.Wedding');
|
||||
if (chr.getGender() == 0) {
|
||||
chr.getMap().broadcastMessage(Wedding.OnWeddingProgress(type == 2, eim.getIntProperty("groomId"), eim.getIntProperty("brideId"), type + 1));
|
||||
} else {
|
||||
chr.getMap().broadcastMessage(Wedding.OnWeddingProgress(type == 2, eim.getIntProperty("brideId"), eim.getIntProperty("groomId"), type + 1));
|
||||
}
|
||||
}
|
||||
|
||||
function hidePriestMsg(eim) {
|
||||
sendWeddingAction(eim, 2);
|
||||
sendWeddingAction(eim, 2);
|
||||
}
|
||||
|
||||
function showStartMsg(eim) {
|
||||
const Wedding = Java.type('tools.packets.Wedding');
|
||||
eim.getMapInstance(entryMap + 10).broadcastMessage(Wedding.OnWeddingProgress(false, 0, 0, 0));
|
||||
eim.schedule("hidePriestMsg", forceHideMsgTime * 1000);
|
||||
const Wedding = Java.type('tools.packets.Wedding');
|
||||
eim.getMapInstance(entryMap + 10).broadcastMessage(Wedding.OnWeddingProgress(false, 0, 0, 0));
|
||||
eim.schedule("hidePriestMsg", forceHideMsgTime * 1000);
|
||||
}
|
||||
|
||||
function showBlessMsg(eim) {
|
||||
const Wedding = Java.type('tools.packets.Wedding');
|
||||
eim.getMapInstance(entryMap + 10).broadcastMessage(Wedding.OnWeddingProgress(false, 0, 0, 1));
|
||||
eim.setIntProperty("guestBlessings", 1);
|
||||
eim.schedule("hidePriestMsg", forceHideMsgTime * 1000);
|
||||
const Wedding = Java.type('tools.packets.Wedding');
|
||||
eim.getMapInstance(entryMap + 10).broadcastMessage(Wedding.OnWeddingProgress(false, 0, 0, 1));
|
||||
eim.setIntProperty("guestBlessings", 1);
|
||||
eim.schedule("hidePriestMsg", forceHideMsgTime * 1000);
|
||||
}
|
||||
|
||||
function showMarriedMsg(eim) {
|
||||
sendWeddingAction(eim, 3);
|
||||
eim.schedule("hidePriestMsg", 10 * 1000);
|
||||
|
||||
eim.restartEventTimer(partyTime * 60000);
|
||||
sendWeddingAction(eim, 3);
|
||||
eim.schedule("hidePriestMsg", 10 * 1000);
|
||||
|
||||
eim.restartEventTimer(partyTime * 60000);
|
||||
}
|
||||
|
||||
function scheduledTimeout(eim) {
|
||||
if(eim.getIntProperty("canJoin") == 1) {
|
||||
em.getChannelServer().closeOngoingWedding(isCathedral);
|
||||
eim.setIntProperty("canJoin", 0);
|
||||
|
||||
var mapobj = eim.getMapInstance(entryMap);
|
||||
var chr = mapobj.getCharacterById(eim.getIntProperty("groomId"));
|
||||
if(chr != null) {
|
||||
chr.changeMap(entryMap + 10, "we00");
|
||||
}
|
||||
|
||||
chr = mapobj.getCharacterById(eim.getIntProperty("brideId"));
|
||||
if(chr != null) {
|
||||
chr.changeMap(entryMap + 10, "we00");
|
||||
}
|
||||
|
||||
mapobj.dropMessage(6, "Wedding Assistant: The couple are heading to the altar, hurry hurry talk to me to arrange your seat.");
|
||||
if (eim.getIntProperty("canJoin") == 1) {
|
||||
em.getChannelServer().closeOngoingWedding(isCathedral);
|
||||
eim.setIntProperty("canJoin", 0);
|
||||
|
||||
eim.setIntProperty("weddingStage", 1);
|
||||
eim.schedule("showStartMsg", startMsgTime * 60 * 1000);
|
||||
eim.schedule("showBlessMsg", blessMsgTime * 60 * 1000);
|
||||
eim.schedule("stopBlessings", blessingsTime * 60 * 1000);
|
||||
eim.startEventTimer(ceremonyTime * 60000);
|
||||
} else {
|
||||
end(eim);
|
||||
var mapobj = eim.getMapInstance(entryMap);
|
||||
var chr = mapobj.getCharacterById(eim.getIntProperty("groomId"));
|
||||
if (chr != null) {
|
||||
chr.changeMap(entryMap + 10, "we00");
|
||||
}
|
||||
|
||||
chr = mapobj.getCharacterById(eim.getIntProperty("brideId"));
|
||||
if (chr != null) {
|
||||
chr.changeMap(entryMap + 10, "we00");
|
||||
}
|
||||
|
||||
mapobj.dropMessage(6, "Wedding Assistant: The couple are heading to the altar, hurry hurry talk to me to arrange your seat.");
|
||||
|
||||
eim.setIntProperty("weddingStage", 1);
|
||||
eim.schedule("showStartMsg", startMsgTime * 60 * 1000);
|
||||
eim.schedule("showBlessMsg", blessMsgTime * 60 * 1000);
|
||||
eim.schedule("stopBlessings", blessingsTime * 60 * 1000);
|
||||
eim.startEventTimer(ceremonyTime * 60000);
|
||||
} else {
|
||||
end(eim);
|
||||
}
|
||||
}
|
||||
|
||||
function playerUnregistered(eim, player) {}
|
||||
|
||||
function playerExit(eim, player) {
|
||||
eim.unregisterPlayer(player);
|
||||
player.changeMap(exitMap, 0);
|
||||
eim.unregisterPlayer(player);
|
||||
player.changeMap(exitMap, 0);
|
||||
}
|
||||
|
||||
function playerLeft(eim, player) {
|
||||
if(!eim.isEventCleared()) {
|
||||
playerExit(eim, player);
|
||||
}
|
||||
if (!eim.isEventCleared()) {
|
||||
playerExit(eim, player);
|
||||
}
|
||||
}
|
||||
|
||||
function isMarrying(eim, player) {
|
||||
var playerid = player.getId();
|
||||
return playerid == eim.getIntProperty("groomId") || playerid == eim.getIntProperty("brideId");
|
||||
var playerid = player.getId();
|
||||
return playerid == eim.getIntProperty("groomId") || playerid == eim.getIntProperty("brideId");
|
||||
}
|
||||
|
||||
function changedMap(eim, player, mapid) {
|
||||
if (mapid < minMapId || mapid > maxMapId) {
|
||||
if (isMarrying(eim, player)) {
|
||||
eim.unregisterPlayer(player);
|
||||
end(eim);
|
||||
}
|
||||
else
|
||||
eim.unregisterPlayer(player);
|
||||
if (mapid < minMapId || mapid > maxMapId) {
|
||||
if (isMarrying(eim, player)) {
|
||||
eim.unregisterPlayer(player);
|
||||
end(eim);
|
||||
} else {
|
||||
eim.unregisterPlayer(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function changedLeader(eim, leader) {}
|
||||
@@ -221,21 +223,21 @@ function changedLeader(eim, leader) {}
|
||||
function playerDead(eim, player) {}
|
||||
|
||||
function playerRevive(eim, player) { // player presses ok on the death pop up.
|
||||
if (isMarrying(eim, player)) {
|
||||
eim.unregisterPlayer(player);
|
||||
end(eim);
|
||||
}
|
||||
else
|
||||
eim.unregisterPlayer(player);
|
||||
if (isMarrying(eim, player)) {
|
||||
eim.unregisterPlayer(player);
|
||||
end(eim);
|
||||
} else {
|
||||
eim.unregisterPlayer(player);
|
||||
}
|
||||
}
|
||||
|
||||
function playerDisconnected(eim, player) {
|
||||
if (isMarrying(eim, player)) {
|
||||
eim.unregisterPlayer(player);
|
||||
end(eim);
|
||||
}
|
||||
else
|
||||
eim.unregisterPlayer(player);
|
||||
if (isMarrying(eim, player)) {
|
||||
eim.unregisterPlayer(player);
|
||||
end(eim);
|
||||
} else {
|
||||
eim.unregisterPlayer(player);
|
||||
}
|
||||
}
|
||||
|
||||
function leftParty(eim, player) {}
|
||||
@@ -243,36 +245,36 @@ function leftParty(eim, player) {}
|
||||
function disbandParty(eim) {}
|
||||
|
||||
function monsterValue(eim, mobId) {
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
function end(eim) {
|
||||
var party = eim.getPlayers();
|
||||
|
||||
for (var i = 0; i < party.size(); i++) {
|
||||
playerExit(eim, party.get(i));
|
||||
}
|
||||
eim.dispose();
|
||||
var party = eim.getPlayers();
|
||||
|
||||
for (var i = 0; i < party.size(); i++) {
|
||||
playerExit(eim, party.get(i));
|
||||
}
|
||||
eim.dispose();
|
||||
}
|
||||
|
||||
function giveRandomEventReward(eim, player) {
|
||||
eim.giveEventReward(player);
|
||||
eim.giveEventReward(player);
|
||||
}
|
||||
|
||||
function clearPQ(eim) {
|
||||
eim.stopEventTimer();
|
||||
eim.setEventCleared();
|
||||
eim.stopEventTimer();
|
||||
eim.setEventCleared();
|
||||
}
|
||||
|
||||
function isCakeBoss(mob) {
|
||||
return mob.getId() == 9400606;
|
||||
return mob.getId() == 9400606;
|
||||
}
|
||||
|
||||
function monsterKilled(mob, eim) {
|
||||
if(isCakeBoss(mob)) {
|
||||
eim.showClearEffect();
|
||||
eim.clearPQ();
|
||||
}
|
||||
if (isCakeBoss(mob)) {
|
||||
eim.showClearEffect();
|
||||
eim.clearPQ();
|
||||
}
|
||||
}
|
||||
|
||||
function allMonstersDead(eim) {}
|
||||
|
||||
Reference in New Issue
Block a user