function enter(pi) {
    if (pi.isQuestCompleted(2331)) {
        pi.openNpc(1300013);
        return false;
    }

    if (pi.isQuestCompleted(2333) && pi.isQuestStarted(2331) && !pi.hasItem(4001318)) {
        pi.getPlayer().message("Lost the Royal Seal, eh? Worry not! Kevin's code here to save your hide.");
        if (pi.canHold(4001318)) {
            pi.gainItem(4001318, 1);
        } else {
            pi.getPlayer().message("Hey, how do you plan to hold this Seal when your inventory is full?");
        }
    }

    if (pi.isQuestCompleted(2333)) {
        pi.playPortalSound();
        pi.warp(106021600, 1);
        return true;
    } else if (pi.isQuestStarted(2332) && pi.hasItem(4032388)) {
        pi.forceCompleteQuest(2332, 1300002);
        pi.getPlayer().message("You've found the princess!");
        pi.giveCharacterExp(4400, pi.getPlayer());

        var em = pi.getEventManager("MK_PrimeMinister");
        var party = pi.getPlayer().getParty();
        if (party != null) {
            var eli = em.getEligibleParty(pi.getParty());   // thanks Conrad for pointing out missing eligible party declaration here
            if (eli.size() > 0) {
                if (em.startInstance(party, pi.getMap(), 1)) {
                    pi.playPortalSound();
                    return true;
                } else {
                    pi.message("Another party is already challenging the boss in this channel.");
                    return false;
                }
            }
        } else {
            if (em.startInstance(pi.getPlayer())) { // thanks RedHat for noticing an issue here
                pi.playPortalSound();
                return true;
            } else {
                pi.message("Another party is already challenging the boss in this channel.");
                return false;
            }
        }
    } else if (pi.isQuestStarted(2333) || (pi.isQuestCompleted(2332) && !pi.isQuestStarted(2333))) {
        var em = pi.getEventManager("MK_PrimeMinister");

        var party = pi.getPlayer().getParty();
        if (party != null) {
            var eli = em.getEligibleParty(pi.getParty());
            if (eli.size() > 0) {
                if (em.startInstance(party, pi.getMap(), 1)) {
                    pi.playPortalSound();
                    return true;
                } else {
                    pi.message("Another party is already challenging the boss in this channel.");
                    return false;
                }
            }
        } else {
            if (em.startInstance(pi.getPlayer())) {
                pi.playPortalSound();
                return true;
            } else {
                pi.message("Another party is already challenging the boss in this channel.");
                return false;
            }
        }
    } else {
        pi.getPlayer().message("The door seems to be locked. Perhaps I can find a key to open it...");
        return false;
    }
}