The great MCPQ Merge offensive

Fulfilled the lovely pull request #427 from @dragoso, which added in backing code content to HeavenMS.
Implemented structural changes for the Marriage wishlist, in order to receive, maintain and distribute gifts to spouses.
Added untradeable check on wishlist gift handler.
Adjusted CPQ drops to actually load from DB rathe than hard-coded.
Fixed CPQ "random disease to player/party" functionality not applying properly.
Adjusted how CPQ maps are generated. It directly loads a new area from WZ (this process should at least removes the player's spawned mobs) rather than reset the cache at every MCPQ creation.
This commit is contained in:
ronancpl
2019-03-15 12:08:21 -03:00
parent 1383efd6c3
commit 3bdf8cb2be
52 changed files with 2258 additions and 678 deletions

View File

@@ -77,7 +77,7 @@ function spawnCakeBoss(eim) {
}
function setup(level, lobbyid) {
var eim = em.newInstance("Wedding" + 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");
@@ -86,6 +86,9 @@ function setup(level, lobbyid) {
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);
@@ -105,9 +108,11 @@ function respawnStages(eim) {
}
function playerEntry(eim, player) {
var map = eim.getMapInstance(entryMap);
eim.setProperty("giftedItemG" + player.getId(), "0");
eim.setProperty("giftedItemB" + player.getId(), "0");
player.getClient().getAbstractPlayerInteraction().gainItem(4000313, 1);
var map = eim.getMapInstance(entryMap);
player.changeMap(map, map.getPortal(0));
}

View File

@@ -77,7 +77,7 @@ function spawnCakeBoss(eim) {
}
function setup(level, lobbyid) {
var eim = em.newInstance("Wedding" + 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");
@@ -86,6 +86,9 @@ function setup(level, lobbyid) {
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);
@@ -105,9 +108,11 @@ function respawnStages(eim) {
}
function playerEntry(eim, player) {
var map = eim.getMapInstance(entryMap);
eim.setProperty("giftedItemG" + player.getId(), "0");
eim.setProperty("giftedItemB" + player.getId(), "0");
player.getClient().getAbstractPlayerInteraction().gainItem(4000313, 1);
var map = eim.getMapInstance(entryMap);
player.changeMap(map, map.getPortal(0));
}