GOTA_Extender_Custom

Custom page functions rewritten.

目前为 2014-10-10 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/5426/20685/GOTA_Extender_Custom.js

doLog = function () {

};
log("Logging killed.", "initialize");

animatedCoins.init = function (b, a, e, g) {

    if (isWeb()) {
        var c,
            d,
            f,
            h,
            k = { images: ["/images/animations/coin_flip.png"], animations: { all: [0, 32] }, frames: { regX: 0, height: 60, count: 33, regY: 0, width: 61 } },
            m = {
                images: ["/images/animations/coin_sparkle.png"],
                animations: { all: { frames: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] } },
                frames: [
                    [0, 0, 128, 128, 0, 0, 0], [128, 0, 128, 128, 0, 0, 0], [256, 0, 128, 128, 0, 0, 0], [384, 0, 128, 128, 0, 0, 0], [512, 0, 128, 128, 0, 0, 0], [640, 0, 128, 128, 0, 0, 0], [768, 0, 128, 128, 0, 0, 0], [896, 0, 128, 128, 0, 0, 0], [0, 128, 128, 128, 0, 0, 0],
                    [128, 128, 128, 128, 0, 0, 0], [256, 128, 128, 128, 0, 0, 0], [384, 128, 128, 128, 0, 0, 0], [512, 128, 128, 128, 0, 0, 0], [640, 128, 128, 128, 0, 0, 0], [768, 128, 128, 128, 0, 0, 0]
                ]
            },
            l,
            n,
            p = false;

        //EXTENDER :: Modification, seriously?
        // bugfix: b.offset is undefined (offset from button to silver visually)
        if (null === b || null === b || b.length == 0) {
            return;
        } else if (null === a || null === a) {
            return;
        } else {
            if (null === e || null === e)
                e = [
                    0,
                    0
                ];
            if (null === g || null === g) g = [0, 0];
            d = $("<canvas>").attr({ id: "animatedCoins", "class": "coinCanvasAnimation", width: "130", height: "120" }).prependTo($("body"));
            c = d[0];
            h = $("<canvas>").attr({ id: "animatedCoinsSparkle", "class": "coinCanvasAnimation", width: "130", height: "120" }).prependTo($("body"));
            f = h[0];
            c = new createjs.Stage(c);
            f = new createjs.Stage(f);
            null === b.offset() ? (h.remove(), d.remove(), console.warn("animatedCoins: startingElement.offset() is null. Exiting script.")) : null === a.offset() ? (h.remove(), d.remove(),
                console.warn("animatedCoins: endingElement.offset() is null. Exiting script.")) : (d.offset({ left: b.offset().left + e[0], top: b.offset().top + e[1] }), h.offset({ left: b.offset().left + e[0], top: b.offset().top + e[1] }), e = new createjs.SpriteSheet(k), m = new createjs.SpriteSheet(m), l = new createjs.Sprite(e), l.x = 30, l.y = 25, n = new createjs.Sprite(m), l.on("animationend", function (c, f) {
                    c.visible = false;
                    doLog("animation end");
                    null === b.offset() ? (h.remove(), d.remove(), console.error("animatedCoins: startingElement.offset() is null")) :
                        null === a.offset() ? (h.remove(), d.remove(), console.error("animatedCoins: endingElement.offset() is null")) : (h.offset({ left: a.offset().left + g[0], top: a.offset().top + g[1] }), n.visible = true, n.gotoAndPlay("all"), l.stop(), p = true);
                }), n.on("animationend", function (a, b) {
                    n.visible = false;
                    p && (n.stop(), d.fadeOut(500, function (a) { d.remove(); }), h.remove());
                }), l.gotoAndPlay("all"), n.gotoAndPlay("all"), f.addChild(n), c.addChild(l), createjs.Ticker.setFPS(30), createjs.Ticker.addEventListener("tick", c), createjs.Ticker.addEventListener("tick",
                f), $(d).animate({ left: a.offset().left + g[0], top: a.offset().top + g[1] }, 1E3));
        }
    }
};
log("Animated coins fixed.", "initialize");

doInstantSpeedUp = function doInstantSpeedUp(c, a, callback) {
    var b = buildingById(c),
        d = getCurrentSpeedUpType(b.producing_archetype_id, b.recipe_symbol);

    // EXTENDER :: Modification
    if (instantSpeedCost(b.build_remaining, d) > 0) {
        console.log('EXTENDER :: The instant speed up costs money. Exiting...');
        return false;
    }

    if (false == hasGold(instantSpeedCost(b.build_remaining, d), function () {
        doInstantSpeedUp(c, true, callback);
    }, a) && true != a) return false;
    playSound("coins");
    return speedBuild(-1, c, callback);
};
log("Instant speed up returns if gold is required.", "initialize");

doFinishProduction = function doFinishProduction(c, callback) {
    var a = buildingByItemId(c), b = itemFromId(a.producing_archetype_id);
    userContext.lastFinish = a.symbol;
    doLog("doFinishProduction: building_id=" + c + " symbol=" + a.symbol + " producing=" + b.symbol);
    "Upgrade" !== b.slot && (analytics.track("Production Finish", { building_symbol: a.symbol, item_symbol: b.symbol, item_category: b.slot }), analytics.wizardtrack("Production Finish", { building_symbol: a.symbol, item_symbol: b.symbol, item_category: b.slot }));
    var d = "finish-" + c;
    userLock(d) && (playSound("build"),
        isWeb() && $("#collect_" + a.symbol).html(""), $.ajax({
            url: "/play/finish_production/" + c,
            dataType: "JSON",
            success: function (a) {

                //console.debug("Logging server response for doFinishProduction: ", a);

                doLog("doFinishProduction: succeess ");
                freeLock(d);
                var b = buildingByItemId(c, a.building);
                userContext.playerData.character = a.character;
                userContext.playerData.user.money = a.user.money;
                userContext.playerData.stat.onboarding = a.stat.onboarding;
                userContext.playerData.stat.num_items_produced = a.stat.num_items_produced;
                userContext.playerData.stat.produced_stone = a.stat.produced_stone;
                userContext.playerData.stat.building_upgrades_finished =
                    a.stat.building_upgrades_finished;
                b.producing_archetype_id = null;
                b.modifier = null;
                b.recipe_symbol = null;
                var f = extractItemBySymbol(playerInventory, b.symbol);
                f.effective_upgrade_level = a.building.effective_upgrade_level;
                f.producing_archetype_id = null;
                f.modifier = null;
                f.recipe_symbol = null;

                // EXTENDER :: Modification, execute current code ONLY if there's a produced item returned!
                if (a.produced_item) {
                    if (userContext.intCurrentRecipeIndex = null,
                        doLog("doFinishProduction: data.produced_item.id=" + a.produced_item.id + " quantity=" + a.produced_item.quantity),
                        insertInventoryFromItem(playerInventory, a.produced_item),
                        theNewItem = extractItemById(playerInventory, a.produced_item.id), 1 == a.is_loot) {
                        0 < a.enhanced_loot_roll
                            ? dialogAlert({
                                style: "alert",
                                text: "The result of your production (enhanced) is: " + a.produced_full_name,
                                items: [theNewItem],
                                heading: "You have produced...",
                                button1: "Okay"
                            }) : dialogAlert({
                                style: "alert",
                                text: "The result of your production is: " + a.produced_full_name,
                                items: [theNewItem],
                                heading: "You have produced...",
                                button1: "Okay"
                            });
                    } else if (0 < a.affix_chance) {
                        var m;
                        m = "" + ("You have a " + a.affix_chance_from_stats +
                            "% chance to produce a superior-quality item from your talents, equipment and buildings.");
                        a.bonus_item_name && (m += " Your " + a.bonus_item_name + " adds another +" + a.affix_chance_from_bonus + "% chance to produce a superior-quality item from your talents, equipment and buildings.");
                        m = a.affix_roll1 <= a.affix_chance && a.affix_roll2 <= a.affix_chance ? m + "<p/>Critical Success! You obtained a superb result!" : a.affix_roll1 > a.affix_chance && a.affix_roll2 > a.affix_chance ? m + "<p/>You obtained a normal result." : m + "<p/>Success! You obtained a good result.";
                        dialogAlert({ style: "alert", text: m, items: [theNewItem], heading: a.produced_full_name, button1: "Okay" });
                    }

                    userContext.newBldgOrUpgrade = true;
                    var q;

                    "Upgrade" != theNewItem.slot ?
                        (userContext.newProducedItem = theNewItem, isWeb()
                                && $("#collect_" + f.symbol).html(renderUpgradeCollect(f)),
                            isWeb() && $("#build_panel_action_" + f.id).html(renderBuildPanelAction(f)),
                            isWeb() && $("#speed_button_" + f.id).hide())
                        : q = theNewItem.symbol;


                    isWeb() ? (renderBuildingInventory(userContext.playerData),
                            renderBuildingsOnScreen(userContext.playerData))
                        : (f = null, f = null == q
                                ? { symbol: b.symbol, status: "idle" }
                                : { symbol: b.symbol, status: "idle", upgrade: q },
                            iosSignal("finish_production", "update", f),
                            isAndroid()
                                && mobileCooldownDataSignal([{ mode: "building", symbol: b.symbol }]),
                            refreshActiveBuildingPanel(),
                            $("#building_tab_prod, .buildingupgradetree").fadeTo("slow", "1"));

                    uiEvent("do_finish_production");
                    uiEvent("building_panel_" + userContext.activeBuildingPanel);
                    a.produced_item && "stacks_of_coins" == a.produced_item.symbol && retrievePlayerData(true, function (a) {
                        userContext.playerData.quests =
                            a.quests;
                        reRenderQuestActionItems();
                    });

                    "Upgrade" == theNewItem.slot && buildingUpgradePanel(b.symbol);
                    updatePlayerInfo(userContext.playerData);
                    updateAllStatus();

                }

                // EXTENDER :: Modification
                if (typeof callback == "function") {                    
                    callback();
                }
            }
        }));
};
log("Finish production and call callback if any. Fix bug.", "initialize");

doProduction = function (c, a, b, d, g, callback) {
    userContext.lastFinish = null;
    null == b && (b = 1);
    doLog("doProduction: symbol=" + c + " producer=" + a + " quantity=" + b);
    var p = null, f = "", m = null, q = "", k = null, D = null;
    uiEvent("start_production");
    null == userContext.playerData.stat.num_shop_items_started && (userContext.playerData.stat.num_shop_items_started = 0);
    userContext.playerData.stat.num_shop_items_started += 1;
    for (var u = 0; u < userContext.recipeData.length; u++)
        if (console.log("DEBUG: n=" + userContext.recipeData[u].category + ", symbol: " +
            userContext.recipeData[u].output), g == userContext.recipeData[u].symbol || null == g && (userContext.recipeData[u].output == c || userContext.recipeData[u].output_loot == c) && userContext.recipeData[u].category == a) {
            p = userContext.recipeData[u];
            p.output == c ? (k = itemFromSymbol(c), q = k.full_name) : (p.output_loot == c && (m = c), q = p.name);
            D = u;
            components = userContext.recipeData[u].input.split(",");
            quantity_components = userContext.recipeData[u].input_quantity.split(",");
            var s = itemFromSymbol(userContext.recipeData[u].category);
            if (true ==
                userContext.recipeData[u].unlocked) {
                if (1 < userContext.recipeData[u].input.length)
                    for (s = 0; s < components.length; s++) {
                        var y = itemFromSymbol(components[s]), w = false;
                        0 == s && true == userContext.recipeData[u].evolution && (w = true);
                        w = sumInventoryQuantity(y.symbol, w);
                        if (parseInt(quantity_components[s]) * b > w) {
                            "" == f && (f = "You need more of the following:<p/>");
                            f += "<div>";
                            if (4 <= userContext.playerData.character.level)
                                switch (components[s]) {
                                    case "stone":
                                    case "iron":
                                    case "fur":
                                    case "ore":
                                    case "horse":
                                    case "riverways_fish_consumable":
                                    case "smallfolk":
                                    case "wood":
                                    case "cloth":
                                    case "grains":
                                        w =
                                            parseInt(quantity_components[s]) * b - w;
                                        if (cost_item = itemFromSymbol("pennyroyal")) var z = cost_item.price_perk_points * w;
                                        f += '<div id="basic_resource_' + components[s] + '">';
                                        f += itemMiniView(y, { extra_styles: "left:-70px", quantity_override: w });
                                        f += '<span style="position: relative; left: 250px; top: -88px" class="btnwrap btnmed btnprice" onclick="getBasicResource(\'' + components[s] + "'," + w + ',true);"><span class="btnedge"><a class="btngold">Get Now</a><em>for</em><strong>' + z + "</strong></span></span>";
                                        f += "</div>";
                                        break;
                                    default:
                                        f += itemMiniView(y);
                                }
                            f += "</div>";
                            f += "<p>" + y.howto + "</p>";
                        }
                    }
            } else f = "You need <em>" + s.full_name + "</em> to produce that.";
            break;
        }
    if ("" != f) doAlert("Requirements: " + q, f), analytics.track("Production Blocked-Resources", { item_symbol: c }), analytics.wizardtrack("Production Blocked-Resources", { item_symbol: c });
    else if (p && hasMoney(p.craft_cost * b, function () { doProduction(c, a, b, d, g); })) {
        f = JSON.parse(JSON.stringify(userContext.playerData.inventory));
        u = [];
        p.output == c ? (k = itemFromSymbol(c), q = k.full_name) : (p.output_loot ==
            c && (m = c), q = p.name);
        components = p.input.split(",");
        quantity_components = p.input_quantity.split(",");
        s = itemFromSymbol(p.category);
        if (true == p.unlocked && (userContext.intCurrentRecipeIndex = D, 1 < p.input.length)) for (s = 0; s < components.length; s++) y = itemFromSymbol(components[s]), w = false, 0 == s && true == p.evolution && (w = true), depleteItems(y.symbol, parseInt(quantity_components[s]) * b, null, u, w);
        q = "";
        D = null;
        for (s = 0; s < u.length; s++)
            if (y = itemFromSymbol(u[s].symbol), u[s].full_name != y.full_name)
                D = JSON.parse(JSON.stringify(u[s])),
                    q += "[" + u[s].full_name + "]";
            else if (itemHasSeals(u[s]) && (!u[s].preserve_attributes || false == u[s].preserve_attributes)) D = JSON.parse(JSON.stringify(u[s])), y = generateSealNameList(u[s]), q += "[" + u[s].full_name + " : " + y + "]";

        // EXTENDER :: Modification
        if (true != d && null != D && !extender_confirmSuperiorMaterials) {
            return playerInventory = JSON.parse(JSON.stringify(f)), userContext.playerData.inventory = playerInventory, dialogAlert({
                style: "confirm",
                margin_top: 100,
                items: [D],
                button2: "Not Now",
                button2_action: function () { closeAlert(); },
                button1: "Confirm",
                button1_action: function () {
                    closeAlert();
                    return doProduction(c, a, b, true, g);
                },
                heading: "Confirm Superior Materials",
                text: "Producing this item now will consume superior versions of your materials: " + q + "<p/>Are you sure you want to contribute superior versions of materials to produce this item?"
            }), false;
        }

        var I = buildingBySymbol(userContext.activeBuildingPanel);
        I.build_remaining = p.craft_duration * b;
        I.original_build_seconds = p.craft_duration * b;
        I.build_progress = 0;
        "" != p.output && (I.producing_archetype_id = itemFromSymbol(p.output).id);
        I.recipe_symbol = p.symbol;
        I.action_sub_id = b;
        f = renderBuildingConstruction(I);
        isWeb() && $("#bc_" + I.id).html(f);
        displayBuildingCooldown(I);
        "Upgrade" == itemFromId(I.producing_archetype_id).slot ? buildingUpgradePanel(userContext.activeBuildingPanel, true, false) : (buildingUpgradePanel(userContext.activeBuildingPanel, true, false, true), buildingTabProd(), isWeb() && $("#collect_" + I.symbol).html(renderUpgradeCollect(I)));
        p = "/play/set_production";
        p = (m ? p + ("?loot_symbol=" + m + "&producer_symbol=" + a) : k ? p + ("/" + c + "?producer_symbol=" + a) : p + ("?producer_symbol=" + a)) + ("&quantity=" + b);
        g && (p += "&recipe_symbol=" + g);

        $.ajax({
            url: p,
            dataType: "JSON",
            success: function (a) {
                userContext.prodProgressShow = null;
                userContext.playerData.stat.num_shop_items_started = a.num_shop_items_started;
                updateAllStatus();
                uiEvent("do_production");
                isWeb() || iosSignal("building", "cooldown", mobileCooldownData({ mode: "building", symbol: I.symbol, flag: "production_started" }));

                // EXTENDER :: Modification
                if (typeof callback == "function") {                    
                    callback();
                }
            }
        });
    }
};
log("Do production and call callback if any. Inject superior materials condition.", "initialize");

buildTimerUpdate = function (c, a, b) {

    $("#timer-" + c).html(renderBuildTime(a));
    $("#timer-panel-" + c).html(renderBuildTime(a));

    percent = 100 - 100 * (a / b);
    $("#progress-" + c).html('<span style="width:' + percent + '%;"></span>');

    var d = buildingById(c);
    d.build_remaining = a;
    markup = renderBuildPanelAction(d);

    $("#speed_button_" + c).show();
    $("#build_panel_action_" + c).html(markup);
    $("#production_timer_" + c).html(renderBuildTime(d.build_remaining, true));
    $("#production_timer_upper_" +
        c).html(renderBuildTime(d.build_remaining));
    $("#production_progress_" + c).css({ width: percent + "%" });
    $("#duration_long_" + c).html(durationLong(buildTimerDescription(d), a, b));
    a--;
    userContext.doBuildId == c && (300 >= a ?
        ($("#speed_up_skip_block").hide(),
            $("#speed_up_skip_use").show()) :
        ($("#speed_up_skip_use").hide(),
            $("#speed_up_skip_block").show()),
        $(".speed_building_" + c).html() != renderSpeedUpButton(c) && $(".speed_building_" + c).html(renderSpeedUpButton(c)));

    d.cooldown = a;
    d.original_cooldown_seconds = b;
    displayBuildingCooldown(d);
    0 < a || (closeSpeedUp(), finalizeBuildingConstruction(d), clearBuildingTimer(d.symbol));

    // EXTENDER :: Modification REVISE             
    if (a == 300 - 1) {
        doInstantSpeedUp(c, false, function() {
            doFinishProduction(d.item_id);

            setTimeout(function () {
                var el = getElement(d.symbol);
                if (el) {
                    executeElement(el);
                }
            }, extender_queueDelay * 1000);
        });
        

    } else if (a < 300 - 1) {
        doInstantSpeedUp(c, false, function () {
            doFinishProduction(d.item_id);
        });
    }
};
log("Build cutom timer update. Speed up and finish automatically, grab production item if any and execute.", "initialize");

doCollect = function (c) {
    lock_name = "collect-" + c;
    if (userLock(lock_name)) {
        var a = buildingByItemId(c);
        0 < predictCollect(a) && (playSound("coins"), isWeb() && animatedCoins.init($("#collectbtn"), $("#silver"), [-10, -40], [-72, -44]));
        uiEvent("collect_" + buildingSymbolFromItemId(c), userContext.PlayerData);
        the_url = "/play/collect_building/" + c + "?client_seqnum=" + userContext.player_data_seqnum;

        isWeb() || showSpinner();
        $.ajax({
            url: the_url,
            dataType: "JSON",
            success: function (b) {
                freeLock(lock_name);
                doLog("doCollect: building_id=" +
                    c + " data.money=" + b.money);
                updateSilver(b.money);
                updateBaseTime(b.base_time);
                a.last_collected_at = b.last_collected_at;
                userContext.playerData.stat.buildings_collected = b.buildings_collected;
                userContext.playerData.stat.onboarding = b.onboarding;
                isWeb() || (iosSignal("building_collected"), hideSpinner());
                isWeb() && $("#collect_" + a.symbol).html(renderUpgradeCollect(a));
                buildingUpgradePanel(a.symbol);
                b = renderBuildingOwned(a);
                isWeb() && $("#bc_" + a.id).html(b);
                updateAllStatus();
                questListings();

                // EXTENDER :: Modification
                closeModalLarge('modal_dialogs_top');
            }
        });
    }
};
log("Close dialog when silver is collected.", "initialize");

claimDaily = function() {
    showSpinner();
    $.ajax({
        url: "/play/advice_claim_daily",
        dataType: "JSON",
        success: function(c) {

            hideSpinner();

            // EXTENDER :: Modification
            // bugfix: undefined silver and gold
            if (c.status && c.status == "OK") {
                return;
            }

            $("#claimed_holder").html("<h5>Claimed</h5>");
            updateSilver(c.total_silver);
            updateGold(c.total_gold);
            $(".claimrewardchest").hide();
            $("#daily_reward_statview").html(itemStatViewFromSymbol(c.item, { produce: "Continue", produce_callback: "welcomeClaimed" }));
            $("#dailynewsbtn").removeClass("btnglow");

            var a = buildingBySymbol("keep");
            userContext.playerData.stat.daily_streak_claimed = userContext.playerData.stat.daily_streak;
            a && $("#bc_" + a.id).html(renderBuildingOwned(a));
            isWeb() || iosSignal("daily_reward_claimed", null, c.item);

            // EXTENDER :: Modification
            $(".welcomemodal").hide();
        }
    });

    return false;
};
log("Claim daily updates money only if claimed. Close when ready.", "initialize");

finishAll = function() {
    log("Checking buildings...");
    for (var i = 0; i < userContext.buildingsData.length; i++) {
        var b = userContext.buildingsData[i];
        if (buildingFinished(b)) {
            log("Attempt to finish production on " + b.symbol);
            doFinishProduction(b.item_id, finishAll);
            return;
        }
    }

    alert('Done');
    log("All buildings are now finished.");
};
log("Finish all buildings whole different way, make use of doFinish callback.", "initialize");

applySelectedUpgrade = function(c, a, callback) {
    lock_name = "upgrade-" + c.id;
    userContext.lastFinish = null;

    var b;

    if (0 < c.gold && null == a)
        doGoldUnlock(c.id, function() {
            applySelectedUpgrade(c, true, callback);
        });
    else if (hasMoney(c.silver, function() {
        applySelectedUpgrade(c, a, c.silver);
    }) && userLock(lock_name)) {
        var d = buildingUpgradeResourceCheck(c.building_id, c.id);
        if (isWeb()) {
            if (null != d.markup && "" != d.markup) {
                doAlert("Resources Required", "You need additional resources to construct that upgrade:<p/>" + d.markup);
                return false;
            }
        } else if (null !=
            d.strMissingComponentText) {
            if (isAndroid()) {
                iosSignal("building", "upgrade_fail", d);
                return false;
            }
            return d;
        }
        b = d.item;
        playSound("build");
        var g = buildingById(c.building_id);
        itemFromSymbol(g.symbol);
        d = extractItemBySymbol(userContext.playerData.inventory, g.symbol).upgrade_level - 1;
        0 > d && (d = 0);
        userContext.buildIndex++;
        g.build_progress = 0;
        g.producing_archetype_id = b.id;
        $.ajax({
            url: "/play/apply_upgrade/" + c.id,
            dataType: "JSON",
            success: function(result) {
                freeLock(lock_name);
                if (result.resource_list)
                    for (var i = 0; i < result.resource_list.length; i++) {
                        var m =
                            extractItemBySymbol(playerInventory, result.resource_list[i]);
                        m && (m.quantity -= parseInt(result.resource_quantities[i]));
                    }
                updateSilver(result.money);
                updateBaseTime(result.base_time);
                userContext.playerData.stat.onboarding = result.onboarding;
                userContext.playerData.stat.building_upgrades_added = result.building_upgrades_added;
                g.build_remaining = result.build_remaining;
                g.original_build_seconds = result.original_build_seconds;
                displayBuildingCooldown(g);
                isWeb() && buildingUpgradePanel(g.symbol);
                result = renderBuildingConstruction(g);
                $("#bc_" + g.id).html(result);
                uiEvent("add_" +
                    userContext.activeBuildingPanel, userContext.PlayerData);
                selectedUpgrade = extractItemBySymbol(playerInventory, b.symbol);
                q_upgrade = 1;
                selectedUpgrade && (q_upgrade = selectedUpgrade.quantity + 1);
                $("#addbtn_container").html(addButtonUpgrade(b, false, q_upgrade));
                isWeb() ? selectUpgrade(userContext.activeUpgrade) : iosSignal("building", "cooldown", mobileCooldownData({ mode: "building", symbol: g.symbol, flag: "production_started" }));
                questListings();
                analytics.track("Building Apply-Upgrade", {
                    building: userContext.activeBuildingPanel,
                    upgrade: itemData[itemById[c.id]].symbol,
                    cost: itemData[itemById[c.id]].cost
                });
                analytics.wizardtrack("Building Apply-Upgrade", { building: userContext.activeBuildingPanel, upgrade: itemData[itemById[c.id]].symbol, cost: itemData[itemById[c.id]].cost }); // EXTENDER :: Modification

                // EXTENDER :: Modification
                if (typeof callback == "function") {
                    callback();
                }
            }
        });
    }

    return false;
};
log("Do upgrade and the call function.", "initialize");

speedBuild = function speedBuild(c, a, callback) {
    $("#modal_dialogs_top2").hide();
    doLog("speedBuild: speed_item=" + c + " item_id=" + a);
    $.ajax({
        url: "/play/build_now/" + a + "?complete=" + c,
        dataType: "JSON",
        success: function (b) {
            console.log("speedBuild: returned, data.building.id=" + b.building.id);
            userContext.playerData.user.money = b.user.money;
            userContext.playerData.stat.onboarding = b.stat.onboarding;
            userContext.playerData.chapter = b.chapter;
            var d = buildingById(a, b.building);
            doLog("speedBuild: speed_item:");
            doLog(b.speed_item);
            b.speed_item && insertInventoryFromItem(userContext.playerData.inventory,
                b.speed_item);
            insertInventoryFromItem(userContext.playerData.inventory, b.produced_item);
            logLastItem("speedBuild:A");
            userContext.buildingsData && (userContext.playerData.buildings = userContext.buildingsData);
            playerInventory && (userContext.playerData.inventory = playerInventory);
            userContext.chapterData = b.chapter;
            d && (analytics.track("SpeedUp-Building", { building: d.symbol, speed_item: c }), analytics.wizardtrack("SpeedUp-Building", { building: d.symbol, speed_item: c }));
            userContext.buildIndex++;
            logLastItem("speedBuild:B");
            finalizeBuildingConstruction(d);
            isItemBuildingUpgrade(d) || null == d.producing_archetype_id && null == d.recipe_symbol ? (renderBuildingInventory(userContext.playerData, buildingUpgradePanel, userContext.activeBuildingPanel, true), isWeb() || iosSignal("building", "cooldown", mobileCooldownData({ mode: "building", symbol: d.symbol, flag: "speed_up" }))) : (userContext.craftingItemFinished = true, renderBuildingInventory(userContext.playerData, buildingUpgradePanelProd, userContext.activeBuildingPanel, true), $("#collect_" + d.symbol).html(renderUpgradeCollect(d)),
                $("#build_panel_action_" + d.id).html(renderBuildPanelAction(d)), $("#speed_button_" + d.id).hide());
            renderBuildingsOnScreen(userContext.playerData);
            d && uiEvent("building_panel_" + d.symbol);

            // EXTENDER :: Modification
            if (typeof (callback) == "function") {
                callback();
            }
        }
    });
};
log("Speed build is what actually calls the callback (not doInstantSpeedUp).", "initialize");

uiEvent = function uiEvent(c, a, b) {
    if (isWeb()) {
        log("uiEvent: event_name=[" + c + "]", "DEBUG");
        a = userContext.playerData;
        if (void 0 == a) return doLogEvent("uiEvent: playerData null"), !1;
        var d = "", g = !1, p = void 0, f = void 0, m = void 0, q = void 0, k = void 0, D = f = "", m = "Okay", u = void 0, s = void 0, y = 0, w = 0, z = 240, I = 0, M = 0, N = 0, W = "", h = "", C = void 0, B = 0, A = 0, G = void 0, O = void 0, H = void 0, Q = !1, P = void 0, R = void 0, V = void 0, X = void 0, T = void 0, U = void 0, ba = !1, S = void 0, ca = !0, Y = !1, Z = void 0, aa = !1, ea;
        "confirm_override" == c && (ba = g = !0, Q = !1);
        h = "test_event";
        doLogEvent("trigger_src=[" +
            h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_test_event"), g = !0, d = "ui_test_event", !0 == g && (u = subGotStrings("Text to display <strong>next</strong> to something."), y = void 0 != b && void 0 != b.y ? b.y : 20, w = void 0 != b && void 0 != b.x ? b.x : 50, C = "top_left", s = ".alignmenttabs"), doLogEvent("after checks=" + g);
        h = "test_alert";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g,
            "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_test_alert"), g = !0, d = "ui_test_alert", !0 == g && (p = 'You will spend Silver<img src="/images/icon-silver-sm.png" class="tutorial_coin"></img> to grow your holdings', D = "test_alert_testhttps://intranet.disruptorbeam.com:8443/browse/GOT-9993"), doLogEvent("after checks=" + g);
        h = "test_arrow";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_test_arrows"),
                g = !0, d = "ui_test_arrows", !0 == g && (C = "top_right", s = ".bonus", h = "0", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "0", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "test_clear";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_test_clear"), g = !0, d = "ui_test_clear", !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : 20, w = void 0 != b && void 0 != b.x ? b.x : 50, s = ".actionheader"), doLogEvent("after checks=" +
                g);
        h = "ui_test";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_test_alert_chain"), g = !0, d = "ui_test_alert_chain", !0 == g && (p = "This is a test message.", D = "test_alert"), doLogEvent("after checks=" + g);
        h = "alert_test_alert_button1";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_test_alert_chain2"),
                g = !0, d = "ui_test_alert_chain2", doLogEvent("uiEvent: exclude_flag=test_flag"), the_val = 0, void 0 != userContext.flags.test_flag && (the_val = userContext.flags.test_flag), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("This appears if test_flag is not set (which it should now be)"), s = ".actionheader", G = "test_flag"), doLogEvent("after checks=" + g);
        h = "alert_test_alert_button1";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_test_alert_chain3"),
                g = !0, d = "ui_test_alert_chain3", doLogEvent("uiEvent: require_flag = test_flag"), 1 != userContext.flags.test_flag && (g = !1), !0 == g && (u = subGotStrings("test_flag was previously set"), s = ".actionheader"), doLogEvent("after checks=" + g);
        h = "test_device";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_device_web_event"), g = !0, d = "ui_device_web_event", !0 != isDevice("web") && (g = !1), !0 == g && (p = "This is a Web device.",
                D = "test_alert"), doLogEvent("after checks=" + g);
        h = "test_device";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_device_ipad_event"), g = !0, d = "ui_device_ipad_event", !0 != isDevice("ipad") && (g = !1), !0 == g && (p = "This is an iPad!", D = "test_alert"), doLogEvent("after checks=" + g);
        h = "test_ios_signal";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c,
            h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_device_test_ios_signal"), g = !0, d = "ui_device_test_ios_signal", !0 == g && (q = "test", k = "additional:test_parameters"), doLogEvent("after checks=" + g);
        h = "test_native_device";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_native_device_test"), g = !0, d = "ui_native_device_test", !0 == g && (u = subGotStrings("This is a tooltip for native device code"),
                y = void 0 != b && void 0 != b.y ? b.y : 300, w = void 0 != b && void 0 != b.x ? b.x : 200, z = 200), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) {
            doLogEvent("ui triggered: ui_onboarding_begin");
            var g = !0, d = "ui_onboarding_begin", h = "pro_q1_take_the_slavers_keep", K = h.replace("[", "").replace("]", "");
            doLogEvent("quest_active: " + h);
            if (-1 != h.indexOf(",")) {
                var E = /\[.*\]/.test(h), L = !E;
                $.each(K.split(","),
                    function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 });
                L || (g = !1)
            } else !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1);
            !0 == g && (u = subGotStrings("Start your first <strong>Quest</strong>."), y = void 0 != b && void 0 != b.y ? b.y : 94, w = void 0 != b && void 0 != b.x ? b.x : 320, z = 171, C = "left", s = "#actionmenu", h = "88", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "243", B = -1 != h.indexOf(",") ? h.split(",") : h);
            doLogEvent("after checks=" + g)
        }
        h =
            "quest_3option_pro_q1_take_the_slavers_keep";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_jons_command"), g = !0, d = "ui_jons_command", !0 == g && (u = subGotStrings("Read this speech from <strong>Lord Jon Arryn</strong>."), M = 5E3, W = "fade_ui_jon_command", y = void 0 != b && void 0 != b.y ? b.y : 300, w = void 0 != b && void 0 != b.x ? b.x : 400, z = 185, I = 58, C = "top_left", s = ".questiconcircle", h = "233", A = -1 != h.indexOf(",") ?
                h.split(",") : h, h = "370", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "fade_ui_jon_command";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_jon_command2"), g = !0, d = "ui_jon_command2", !0 == g && (u = subGotStrings("Answer him by clicking on the <strong>Decision</strong> button below."), y = void 0 != b && void 0 != b.y ? b.y : 315, w = void 0 != b && void 0 != b.x ? b.x : 285, z = 225, I = 64, C = "bottom_left",
                s = ".questiconcircle", h = "358", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "246", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "quest_results_pro_q1_take_the_slavers_keep";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_results_pro_q1_take_the_slavers_keep"), g = !0, d = "ui_quest_results_pro_q1_take_the_slavers_keep", !0 == g && (u = subGotStrings("<strong>Rewards</strong> display at the end of a Quest."),
                M = 1E5, W = "fade_ui_quest_results_pro_q1_take_the_slavers_keep", y = void 0 != b && void 0 != b.y ? b.y : 18, w = void 0 != b && void 0 != b.x ? b.x : 350, z = 165, C = "left", s = ".rewardwrapper", h = "14", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "276", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "fade_ui_quest_results_pro_q1_take_the_slavers_keep";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_fade_ui_quest_results_pro_q1_take_the_slavers_keep"),
                g = !0, d = "ui_fade_ui_quest_results_pro_q1_take_the_slavers_keep", !0 == g && (s = ".rewardwrapper", h = "96", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-275", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "quest_close_pro_q1_take_the_slavers_keep";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_close_pro_q1_take_the_slavers_keep"), g = !0, d = "ui_quest_close_pro_q1_take_the_slavers_keep",
                doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_pro_pro_q2_a_widowers_oath"), g = !0, d = "ui_pro_pro_q2_a_widowers_oath", h = "pro_q2_a_widowers_oath", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) {
                if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " +
                    c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1
            }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("<strong>New</strong> Quests appear here. Click here to start this Quest."), y = void 0 != b && void 0 != b.y ? b.y : 94, w = void 0 != b && void 0 != b.x ? b.x : 320, z = 185, C = "left", s = "#actionmenu", h = "88", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "243", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "quest_post_pro_q2_a_widowers_oath_action_choice_1, quest_post_pro_q2_a_widowers_oath_initial_choice_2";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_post_pro_choose_pro_q2_a_widowers_oath"), g = !0, d = "ui_quest_post_pro_choose_pro_q2_a_widowers_oath", !0 == g && (u = subGotStrings("You now have a <strong>Sworn Sword</strong>."), y = void 0 != b && void 0 != b.y ? b.y : -86, w = void 0 != b && void 0 != b.x ? b.x : 399, z = 158, C = "bottom_left", s = ".rewardwrapper", h = "-48", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "354",
                B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_sworn_sword_reward"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_pro_q3_ss_blood_at_last"), g = !0, d = "ui_pro_q3_ss_blood_at_last", h = "pro_q3_ss_blood_at_last", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b,
                c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("Click here to send <strong>Ser Hugo</strong> on this Quest."), y = void 0 != b && void 0 != b.y ? b.y : 94, w = void 0 != b && void 0 != b.x ? b.x : 320, z = 135, C = "left", s = "#actionmenu", h = "88", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "243", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" +
                g);
        h = "ss_action_open_quest";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_action_open"), g = !0, d = "ui_ss_action_open", h = "pro_q3_ss_blood_at_last", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) {
                if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"),
                (L = E) && E)) return !1
            }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), doLogEvent("uiEvent: exclude_flag=flag_ss_action_tutorial"), the_val = 0, void 0 != userContext.flags.flag_ss_action_tutorial && (the_val = userContext.flags.flag_ss_action_tutorial), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("<strong>Sworn Swords</strong> can be sent to complete quest objectives. Their success depends on your skills as well as their own."), y = void 0 != b && void 0 != b.y ? b.y : -37, w = void 0 !=
                b && void 0 != b.x ? b.x : 176, z = 309, I = 100, s = "#vsbtminfo", P = "true", R = "quest_next_q3_ss_blood_at_last_tutorial_1"), doLogEvent("after checks=" + g);
        h = "quest_next_q3_ss_blood_at_last_tutorial_1";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_next_q3_ss_blood_at_last_tutorial_1"), g = !0, d = "ui_quest_next_q3_ss_blood_at_last_tutorial_1", h = "pro_q3_ss_blood_at_last", K = h.replace("[", "").replace("]",
                ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("First, select a <strong>Sworn Sword</strong>."), y = void 0 != b && void 0 != b.y ? b.y : 15, w = void 0 != b && void 0 != b.x ? b.x : 454, z = 155, C = "left", s = ".miniviewselect", h = "12", A = -1 !=
                h.indexOf(",") ? h.split(",") : h, h = "396", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_ss_action_tutorial"), doLogEvent("after checks=" + g);
        h = "ss_choose_item_sworn_sword_hugo_temp";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_choose_item_sworn_sword_hugo_temp"), g = !0, d = "ui_ss_choose_item_sworn_sword_hugo_temp", h = "pro_q3_ss_blood_at_last", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " +
                h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("Next, select an <strong>Action</strong> for your Sworn Sword to perform.<br>"), y = void 0 != b && void 0 != b.y ? b.y : 230, w = void 0 != b && void 0 != b.x ? b.x : 176, z = 309, C = "top, top, top", s = ".miniviewselect", h = "170, 170, 170",
                A = -1 != h.indexOf(",") ? h.split(",") : h, h = "69, 283, 492", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flags_ss_actions_show"), doLogEvent("after checks=" + g);
        h = "ss_select_action_fight, ss_select_action_sabotage, ss_select_action_bribe";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_select_action"), g = !0, d = "ui_ss_select_action", h = "pro_q3_ss_blood_at_last", K = h.replace("[", "").replace("]", ""),
                doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("Click here to send your Sworn Sword into the fray!"), y = void 0 != b && void 0 != b.y ? b.y : 240, w = void 0 != b && void 0 != b.x ? b.x : 441, z = 230, C = "left", s = "#vsbtminfo", h = "235", A = -1 != h.indexOf(",") ?
                    h.split(",") : h, h = "375", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "open_progress";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_select_action_clear_tooltips"), g = !0, d = "ui_ss_select_action_clear_tooltips", h = "pro_q3_ss_blood_at_last", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","),
                function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), doLogEvent("after checks=" + g);
        h = "quest_ss_results_pro_q3_ss_blood_at_last";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_display_by_id_ss_go"), g = !0, d = "ui_quest_display_by_id_ss_go",
                h = "pro_q3_ss_blood_at_last", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("<strong>Rewards</strong> for Sworn Sword Quests appear here."), y = void 0 != b && void 0 != b.y ? b.y : 200, w = void 0 !=
                    b && void 0 != b.x ? b.x : 488, z = 162, C = "left", s = "#vsbtminfo", h = "206", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "406", B = -1 != h.indexOf(",") ? h.split(",") : h, O = "true"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_pro_pro_q4_a_royal_reward"), g = !0, d = "ui_pro_pro_q4_a_royal_reward", h = "pro_q4_a_royal_reward", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " +
                h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("Click here to start this Quest."), y = void 0 != b && void 0 != b.y ? b.y : 94, w = void 0 != b && void 0 != b.x ? b.x : 320, z = 185, C = "left", s = "#actionmenu", h = "88", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "243", B = -1 != h.indexOf(",") ?
                h.split(",") : h), doLogEvent("after checks=" + g);
        h = "quest_3option_pro_q4_a_royal_reward";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_3option_pro_q4_a_royal_reward"), g = !0, d = "ui_quest_3option_pro_q4_a_royal_reward", !0 == g && (u = subGotStrings("<strong>Alignment</strong> points are rewarded when making different choices during a quest, and can unlock special content later. "), y = void 0 !=
                b && void 0 != b.y ? b.y : -96, w = void 0 != b && void 0 != b.x ? b.x : 258, z = 336, C = "bottom_right, bottom_right", s = "#questchoicecenter", h = "45, 137", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "298, 298", B = -1 != h.indexOf(",") ? h.split(",") : h, V = "true"), doLogEvent("after checks=" + g);
        h = "quest_results_pro_q4_a_royal_reward";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_results_pro_q4_a_royal_reward"), g = !0,
                d = "ui_quest_results_pro_q4_a_royal_reward", !0 == g && (G = "royal_reward"), doLogEvent("after checks=" + g);
        h = "quest_close_pro_q4_a_royal_reward";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_quest_close_pro_q4_a_royal_reward"), g = !0, d = "ui_quest_close_pro_q4_a_royal_reward", !0 == g && (S = "chapters"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_hud_1"), g = !0, d = "ui_lore_book_hud_1", a.stat ? (doLogEvent("watch: chapter_complete_1_1: value=" + (a.stat.chapter_complete_1_1 + "") + " vs. required=1"), the_val = void 0 != a.stat.chapter_complete_1_1 ? parseInt(a.stat.chapter_complete_1_1) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quests_started: value=" + (a.stat.quests_started + "") + " vs. required=4"), the_val = void 0 != a.stat.quests_started ?
                parseInt(a.stat.quests_started) || 0 : 0, "4" != the_val + "" && (g = !1)) : g = !1, !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : 294, w = void 0 != b && void 0 != b.x ? b.x : 385, z = 312, C = "top", s = ".chapteractionheader", h = "75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-4", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "lorebook_animation_1_end";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_description"),
                g = !0, d = "ui_lore_book_description", !0 == g && (u = subGotStrings("The <strong>Lorebook</strong> tracks your progress through the game and rewards you for completing each chapter."), y = void 0 != b && void 0 != b.y ? b.y : 154, w = void 0 != b && void 0 != b.x ? b.x : 197, z = 346, s = "#book_style", P = "true", R = "lore_book_noble"), doLogEvent("after checks=" + g);
        h = "lore_book_description_2";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_description_2"),
                g = !0, d = "ui_lore_book_description_2", !0 == g && (u = subGotStrings("Clicking on the green <strong>Go</strong> button next to a chapter task will open the associated content."), y = void 0 != b && void 0 != b.y ? b.y : 162, w = void 0 != b && void 0 != b.x ? b.x : 254, z = 230, s = "#book_style", P = "true", R = "lore_book_noble"), doLogEvent("after checks=" + g);
        h = "lore_book_noble";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_noble"),
                g = !0, d = "ui_lore_book_noble", !0 == g && (u = subGotStrings("<strong>Become Nobility:</strong> Accept the title of Lord or Lady and become a noble in your own right."), y = void 0 != b && void 0 != b.y ? b.y : 220, w = void 0 != b && void 0 != b.x ? b.x : 345, z = 330, C = "top", s = "#book_style", h = "150", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "469", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "chapter_claimed_1_1";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g,
            "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_lore_book_noble_claimed"), g = !0, d = "ui_lore_book_noble_claimed", !0 == g && (C = "bottom", s = "#book_style", h = "403", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "647", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "claim_chapter_reward";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_claim_chapter_reward"), g = !0, d = "ui_claim_chapter_reward",
                doLogEvent("uiEvent: require_flag = royal_reward"), 1 != userContext.flags.royal_reward && (g = !1), !0 == g && (O = "true"), doLogEvent("after checks=" + g);
        h = "next_chapter_1";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_ch_2_close"), g = !0, d = "ui_lore_book_ch_2_close", !0 == g && (C = "top_right", s = "#book_style", h = "-68", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "661", B = -1 != h.indexOf(",") ? h.split(",") :
                h, G = "flag_nobility_accepted"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_pro_pro_q5_the_maesters_welcome"), g = !0, d = "ui_pro_pro_q5_the_maesters_welcome", h = "pro_q5_the_maesters_welcome", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) {
                if (activeQuest(a.quests,
                    c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1
            }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("Click here to start this Quest."), y = void 0 != b && void 0 != b.y ? b.y : 94, w = void 0 != b && void 0 != b.x ? b.x : 320, z = 185, C = "left", s = "#actionmenu", h = "88", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "243", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "quest_results_pro_q5_the_maesters_welcome";
        doLogEvent("trigger_src=[" +
            h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_quest_results_pro_q5_the_maesters_welcome"), g = !0, d = "ui_quest_results_pro_q5_the_maesters_welcome", !0 == g && (S = "toolbar", G = "enable_buildings"), doLogEvent("after checks=" + g);
        h = "quest_close_pro_q5_the_maesters_welcome";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_close_pro_q5_the_maesters_welcome"),
                g = !0, d = "ui_quest_close_pro_q5_the_maesters_welcome", !0 == g && (G = "flag_maester_welcome"), doLogEvent("after checks=" + g);
        h = "refresh_toolbar, click_main_toolbar";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_tab_open_web"), g = !0, d = "ui_building_tab_open_web", a.stat ? (doLogEvent("watch: quests_succeeded: value=" + (a.stat.quests_succeeded + "") + " vs. required=5"), the_val = void 0 != a.stat.quests_succeeded ?
                parseInt(a.stat.quests_succeeded) || 0 : 0, "5" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("counting_house", a) && (g = !1), "web" != userContext.playerData.provider && (g = !1), !0 == g && (Q = Boolean("true"), u = subGotStrings("Click here to open the <strong>Buildings</strong> menu."), y = void 0 != b && void 0 != b.y ? b.y : -106, w = void 0 != b && void 0 != b.x ? b.x : 44, z = 173, C = "bottom", s = "#navmenubox", h = "-41", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "93", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "refresh_toolbar, click_main_toolbar";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_tab_open_frame"), g = !0, d = "ui_building_tab_open_frame", a.stat ? (doLogEvent("watch: quests_succeeded: value=" + (a.stat.quests_succeeded + "") + " vs. required=5"), the_val = void 0 != a.stat.quests_succeeded ? parseInt(a.stat.quests_succeeded) || 0 : 0, "5" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("counting_house", a) && (g = !1), !0 == g && (Q =
                Boolean("true"), u = subGotStrings("Click here to open the <strong>Buildings</strong> menu."), y = void 0 != b && void 0 != b.y ? b.y : -106, w = void 0 != b && void 0 != b.x ? b.x : 84, z = 173, C = "bottom", s = "#navmenubox", h = "-41", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "140", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "do_menu_select_buildings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_maester_holdings"),
                g = !0, d = "ui_quest_maester_holdings", a.stat ? (doLogEvent("watch: quests_succeeded: value=" + (a.stat.quests_succeeded + "") + " vs. required=5"), the_val = void 0 != a.stat.quests_succeeded ? parseInt(a.stat.quests_succeeded) || 0 : 0, "5" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructing("counting_house", a) && (g = !1), ca = !1, !0 == isBuildingConstructed("counting_house", a) && (g = !1), !0 == g && (u = subGotStrings('"First, a <strong>Counting House</strong>. We can do nothing without coin, and great houses live or die by it."'), y =
                    void 0 != b && void 0 != b.y ? b.y : -138, w = void 0 != b && void 0 != b.x ? b.x : 125, z = 264, C = "bottom_left", s = "#buildingmenubox", h = "-20", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "75", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "building_panel_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_panel_counting_house"), g = !0, d = "ui_building_panel_counting_house",
                2 < userContext.playerData.character.level && (g = !1), !0 == isBuildingConstructed("counting_house", a) && (g = !1), !0 == g && (u = subGotStrings("The Counting House allows you to collect <strong>Silver</strong>. Silver can be used to purchase Sworn Swords, items, and building upgrades."), y = void 0 != b && void 0 != b.y ? b.y : 65, w = void 0 != b && void 0 != b.x ? b.x : 473, z = 272, C = "left", s = ".buildinginfoparchment", h = "118", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "372", B = -1 != h.indexOf(",") ? h.split(",") : h, P = "true", R = "counting_house_tutorial_1"),
                doLogEvent("after checks=" + g);
        h = "counting_house_tutorial_1";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_tutorial_1"), g = !0, d = "ui_counting_house_tutorial_1", !0 == g && (u = subGotStrings("Click here to construct the <strong>Counting House</strong>."), y = void 0 != b && void 0 != b.y ? b.y : 70, w = void 0 != b && void 0 != b.x ? b.x : -214, z = 230, C = "top_right", s = "#upgradebtn", h = "33", A = -1 != h.indexOf(",") ?
                h.split(",") : h, h = "-12", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "build_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_counting_house_speed"), g = !0, d = "ui_building_counting_house_speed", 3 < userContext.playerData.character.level && (g = !1), !0 == g && (u = subGotStrings("You can use a <strong>speed</strong> up item to finish tasks early."), y =
                void 0 != b && void 0 != b.y ? b.y : -194, w = void 0 != b && void 0 != b.x ? b.x : 381, z = 230, C = "bottom", s = ".buildinginfomid", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "462", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_counting_house_constructed", O = "true"), doLogEvent("after checks=" + g);
        h = "building_panel_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_counting_house_finished"),
                g = !0, d = "ui_building_counting_house_finished", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: buildings_collected: value=" + (a.stat.buildings_collected + "") + " vs. required=0"), the_val = void 0 != a.stat.buildings_collected ? parseInt(a.stat.buildings_collected) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, doLogEvent("uiEvent: require_flag = flag_counting_house_constructed"), 1 != userContext.flags.flag_counting_house_constructed && (g = !1), !0 == g && (u = subGotStrings("Your Counting House has finished construction and collected its first taxes! Click here to collect the <strong>Silver</strong>."),
                    y = void 0 != b && void 0 != b.y ? b.y : 107, w = void 0 != b && void 0 != b.x ? b.x : -52, z = 200, C = "top", s = "#collectbtn", h = "30", A = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "building_panel_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_panel_counting_house_closebtn"), g = !0, d = "ui_building_panel_counting_house_closebtn", a.stat ? (doLogEvent("watch: buildings_collected: value=" +
            (a.stat.buildings_collected + "") + " vs. required=1"), the_val = void 0 != a.stat.buildings_collected ? parseInt(a.stat.buildings_collected) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : -30, w = void 0 != b && void 0 != b.x ? b.x : -40, C = "top_right", s = "#chartabmenu", h = "-15", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "658", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_money_tutorial_step_1"), g = !0, d = "ui_money_tutorial_step_1", 2 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: buildings_collected: value=" + (a.stat.buildings_collected + "") + " vs. required=1"), the_val = void 0 != a.stat.buildings_collected ? parseInt(a.stat.buildings_collected) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("keep", a) && (g = !1), doLogEvent("uiEvent: exclude_flag=silver_tip"),
                the_val = 0, void 0 != userContext.flags.silver_tip && (the_val = userContext.flags.silver_tip), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("Your current <strong>Silver</strong> and <strong>Gold</strong> amounts are listed here. <strong>Gold</strong> can be used to purchase Premium Sworn Swords, items, talents, or upgrades.<br>"), y = void 0 != b && void 0 != b.y ? b.y : 100, w = void 0 != b && void 0 != b.x ? b.x : 440, z = 330, C = "top, top", s = "#topbar_alwaysShown", h = "34, 34", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "660, 480", B = -1 != h.indexOf(",") ?
                    h.split(",") : h, G = "silver_tip", P = "true", R = "build_keep_next"), doLogEvent("after checks=" + g);
        h = "build_keep_next";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_build_keep_next"), g = !0, d = "ui_build_keep_next", ca = !1, !0 == isBuildingConstructed("keep", a) && (g = !1), !0 == g && (S = "buildings", u = subGotStrings('"Next, we must repair the <strong>Keep</strong>. You may also wish to give it a new name--what the slavers called it I do not wish to repeat."'),
                y = void 0 != b && void 0 != b.y ? b.y : -138, w = void 0 != b && void 0 != b.x ? b.x : 205, z = 270, C = "bottom_left", s = "#buildingmenubox", h = "-23", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "158", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "constructed_keep";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_power_tutorial_1"), g = !0, d = "ui_power_tutorial_1", 2 < userContext.playerData.character.level &&
            (g = !1), a.stat ? (doLogEvent("watch: quests_succeeded: value=" + (a.stat.quests_succeeded + "") + " vs. required=5"), the_val = void 0 != a.stat.quests_succeeded ? parseInt(a.stat.quests_succeeded) || 0 : 0, "5" != the_val + "" && (g = !1)) : g = !1, ca = !1, doLogEvent("uiEvent: exclude_flag=flag_power_tutorial_done"), the_val = 0, void 0 != userContext.flags.flag_power_tutorial_done && (the_val = userContext.flags.flag_power_tutorial_done), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("Naming your Keep has given you <strong>Power!</strong> Click here to view your current Power Ranking."),
                y = void 0 != b && void 0 != b.y ? b.y : 125, w = void 0 != b && void 0 != b.x ? b.x : -220, z = 184, C = "top_right", s = "#portraitcircle-r", h = "77", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-45", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_power_tutorial_1_holdings"), g = !0, d = "ui_power_tutorial_1_holdings", 2 < userContext.playerData.character.level &&
            (g = !1), a.stat ? (doLogEvent("watch: quests_succeeded: value=" + (a.stat.quests_succeeded + "") + " vs. required=5"), the_val = void 0 != a.stat.quests_succeeded ? parseInt(a.stat.quests_succeeded) || 0 : 0, "5" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("keep", a) && (g = !1), ca = !1, doLogEvent("uiEvent: exclude_flag=flag_power_tutorial_done"), the_val = 0, void 0 != userContext.flags.flag_power_tutorial_done && (the_val = userContext.flags.flag_power_tutorial_done), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("Naming your Keep has given you <strong>Power!</strong> Click here to view your current Power Ranking."),
                y = void 0 != b && void 0 != b.y ? b.y : 125, w = void 0 != b && void 0 != b.x ? b.x : -220, z = 184, C = "top_right", s = "#portraitcircle-r", h = "77", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-45", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "power_modal_open";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_power_tutorial_2"), g = !0, d = "ui_power_tutorial_2", a.stat ? (doLogEvent("watch: quests_succeeded: value=" +
            (a.stat.quests_succeeded + "") + " vs. required=5"), the_val = void 0 != a.stat.quests_succeeded ? parseInt(a.stat.quests_succeeded) || 0 : 0, "5" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("keep", a) && (g = !1), !0 == g && (u = subGotStrings('"Robert Baratheon may be king now, but every noble in Westeros plays the game of thrones, and their success is measured by <strong>Power</strong>. Nearly every decision you make is a show of strength to others."'), y = void 0 != b && void 0 != b.y ? b.y : 20, w = void 0 != b && void 0 != b.x ? b.x :
                528, z = 265, s = "#powertabmenu", P = "true", R = "power_tutorial_5", T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "power_tutorial_5";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_power_tutorial_5"), g = !0, d = "ui_power_tutorial_5", !0 == g && (u = subGotStrings("Keep your <strong>Power</strong> ranking high to unlock unique titles today and valuable rewards to come!"), y = void 0 != b && void 0 !=
                b.y ? b.y : 20, w = void 0 != b && void 0 != b.x ? b.x : 528, z = 214, s = "#powertabmenu", V = "true", X = "power_tutorial_6"), doLogEvent("after checks=" + g);
        h = "power_tutorial_6";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_power_tutorial_6"), g = !0, d = "ui_power_tutorial_6", !0 == g && (S = "render_action_items", C = "top_right", s = "#powertabmenu", h = "-21", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "571", B = -1 != h.indexOf(",") ?
                h.split(",") : h, G = "flag_power_tutorial_done"), doLogEvent("after checks=" + g);
        h = "close_power";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_power_tutorial_6_backup"), g = !0, d = "ui_power_tutorial_6_backup", !0 == g && (S = "render_action_items", s = ".infobar", G = "flag_power_tutorial_done"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h ||
            -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_holdings_quest_pro_q6_the_captain_arrives"), g = !0, d = "ui_holdings_quest_pro_q6_the_captain_arrives", h = "pro_q6_the_captain_arrives", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 ==
                activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !1 == isBuildingConstructed("keep", a) && (g = !1), !0 == g && (u = subGotStrings("Click here to start this Quest."), y = void 0 != b && void 0 != b.y ? b.y : 94, w = void 0 != b && void 0 != b.x ? b.x : 320, z = 135, C = "left", s = "#actionmenu", h = "88", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "243", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "quest_results_pro_q6_the_captain_arrives";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h ||
            -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_quest_results_pro_q6_the_captain_arrives"), g = !0, d = "ui_quest_results_pro_q6_the_captain_arrives", !0 == g && (G = "flag_captain_arrives"), doLogEvent("after checks=" + g);
        h = "quest_close_pro_q6_the_captain_arrives";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_close_pro_q6_the_captain_arrives"),
                g = !0, d = "ui_quest_close_pro_q6_the_captain_arrives", !0 == g && (S = "chapters"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_hud_2"), g = !0, d = "ui_lore_book_hud_2", a.stat ? (doLogEvent("watch: chapter_complete_1_2: value=" + (a.stat.chapter_complete_1_2 + "") + " vs. required=1"), the_val = void 0 != a.stat.chapter_complete_1_2 ? parseInt(a.stat.chapter_complete_1_2) ||
                0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quests_started: value=" + (a.stat.quests_started + "") + " vs. required=6"), the_val = void 0 != a.stat.quests_started ? parseInt(a.stat.quests_started) || 0 : 0, "6" != the_val + "" && (g = !1)) : g = !1, !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : 294, w = void 0 != b && void 0 != b.x ? b.x : 385, z = 312, C = "top", s = ".chapteractionheader", h = "75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-4", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "lorebook_animation_2_end";
        doLogEvent("trigger_src=[" +
            h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_background"), g = !0, d = "ui_lore_book_background", a.stat ? (doLogEvent("watch: chapter_complete_1_2: value=" + (a.stat.chapter_complete_1_2 + "") + " vs. required=1"), the_val = void 0 != a.stat.chapter_complete_1_2 ? parseInt(a.stat.chapter_complete_1_2) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quests_started: value=" + (a.stat.quests_started + "") +
                " vs. required=6"), the_val = void 0 != a.stat.quests_started ? parseInt(a.stat.quests_started) || 0 : 0, "6" != the_val + "" && (g = !1)) : g = !1, !0 == g && (u = subGotStrings("<strong>Choose Background:</strong> Gain special advantages through your character\u2019s backstory."), y = void 0 != b && void 0 != b.y ? b.y : 308, w = void 0 != b && void 0 != b.x ? b.x : 385, z = 312, C = "top", s = "#book_style", h = "239", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "468", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" +
            h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_background_hud"), g = !0, d = "ui_lore_book_background_hud", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: chapter_complete_1_2: value=" + (a.stat.chapter_complete_1_2 + "") + " vs. required=1"), the_val = void 0 != a.stat.chapter_complete_1_2 ? parseInt(a.stat.chapter_complete_1_2) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: chose_background: value=" +
            (a.stat.chose_background + "") + " vs. required=0"), the_val = void 0 != a.stat.chose_background ? parseInt(a.stat.chose_background) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : 294, w = void 0 != b && void 0 != b.x ? b.x : 385, z = 312, C = "top", s = ".chapteractionheader", h = "75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-4", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "chapter_claimed_1_2";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c,
            h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_lore_book_background_claimed"), g = !0, d = "ui_lore_book_background_claimed", !0 == g && (C = "bottom", s = "#book_style", h = "403", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "647", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "next_chapter_2";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_ch_3_close"),
                g = !0, d = "ui_lore_book_ch_3_close", !0 == g && (C = "top_right", s = "#book_style", h = "-68", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "661", B = -1 != h.indexOf(",") ? h.split(",") : h, O = "true"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_invite_friends_step1"), g = !0, d = "ui_invite_friends_step1", a.stat ? (doLogEvent("watch: quests_succeeded: value=" + (a.stat.quests_succeeded +
                "") + " vs. required=6"), the_val = void 0 != a.stat.quests_succeeded ? parseInt(a.stat.quests_succeeded) || 0 : 0, "6" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quest_chose_background: value=" + (a.stat.quest_chose_background + "") + " vs. required=1"), the_val = void 0 != a.stat.quest_chose_background ? parseInt(a.stat.quest_chose_background) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, "facebook" != userContext.playerData.provider && (g = !1), doLogEvent("uiEvent: exclude_flag=friends_selector_tutoral"), the_val = 0, void 0 != userContext.flags.friends_selector_tutoral &&
            (the_val = userContext.flags.friends_selector_tutoral), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("Being a new noble in Westeros is not an easy life, and you\u2019ll need allies. Invite your friends to begin the ascent to power!"), y = void 0 != b && void 0 != b.y ? b.y : 68, w = void 0 != b && void 0 != b.x ? b.x : 290, z = 260, s = "#actionmenu", V = "true", X = "ui_invite_friends_step2"), doLogEvent("after checks=" + g);
        h = "ui_invite_friends_step2";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c,
            h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_invite_friends_step2"), g = !0, d = "ui_invite_friends_step2", "facebook" != userContext.playerData.provider && (g = !1), !0 == g && (S = "friends_selector", G = "friends_selector_tutoral"), doLogEvent("after checks=" + g);
        h = "send_friend_invites_modal";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_invite_friends_step3"), g = !0, d = "ui_invite_friends_step3",
                doLogEvent("uiEvent: require_flag = friends_selector_tutoral"), 1 != userContext.flags.friends_selector_tutoral && (g = !1), !0 == g && (u = subGotStrings("Invite friends to play Game of Thrones Ascent by checking the box next to their name."), w = void 0 != b && void 0 != b.x ? b.x : 13, z = 200, C = "left", s = ".friendlistwrap.friendlistright", h = "10", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-65", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "toggle_friend_checked";
        doLogEvent("trigger_src=[" + h + "] event_name=[" +
            c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_invite_friends_step4"), g = !0, d = "ui_invite_friends_step4", doLogEvent("uiEvent: require_flag = friends_selector_tutoral"), 1 != userContext.flags.friends_selector_tutoral && (g = !1), !0 == g && (u = subGotStrings("Once you are finished, click here to send invitations to the selected friends."), y = void 0 != b && void 0 != b.y ? b.y : 129, w = void 0 != b && void 0 != b.x ? b.x : 278, z = 200, C = "bottom_left", s = ".friendlistwrap.friendlistright",
                h = "245", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "222", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "toggle_friend_checked"), doLogEvent("after checks=" + g);
        h = "send_friend_invitations";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_invite_friends_step5"), g = !0, d = "ui_invite_friends_step5", !0 == g && (G = "friend_invites_sent"), doLogEvent("after checks=" + g);
        h = "send_friend_invites_modal_closed";
        doLogEvent("trigger_src=[" +
            h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_invite_friends_close"), g = !0, d = "ui_invite_friends_close", a.stat ? (doLogEvent("watch: quests_succeeded: value=" + (a.stat.quests_succeeded + "") + " vs. required=6"), the_val = void 0 != a.stat.quests_succeeded ? parseInt(a.stat.quests_succeeded) || 0 : 0, "6" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quest_chose_background: value=" + (a.stat.quest_chose_background + "") +
                " vs. required=1"), the_val = void 0 != a.stat.quest_chose_background ? parseInt(a.stat.quest_chose_background) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, doLogEvent("uiEvent: require_flag = friend_invites_sent"), 1 != userContext.flags.friend_invites_sent && (g = !1), !0 == g && (S = "render_action_items", G = "friends_selector_tutoral_done"), doLogEvent("after checks=" + g);
        h = "send_friend_invites_modal_closed";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) &&
            !0 != g)
            doLogEvent("ui triggered: ui_invite_friends_close_skipped"), g = !0, d = "ui_invite_friends_close_skipped", a.stat ? (doLogEvent("watch: quests_succeeded: value=" + (a.stat.quests_succeeded + "") + " vs. required=6"), the_val = void 0 != a.stat.quests_succeeded ? parseInt(a.stat.quests_succeeded) || 0 : 0, "6" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quest_chose_background: value=" + (a.stat.quest_chose_background + "") + " vs. required=1"), the_val = void 0 != a.stat.quest_chose_background ? parseInt(a.stat.quest_chose_background) ||
                0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, doLogEvent("uiEvent: exclude_flag=friend_invites_sent"), the_val = 0, void 0 != userContext.flags.friend_invites_sent && (the_val = userContext.flags.friend_invites_sent), 1 == the_val && (g = !1), !0 == g && (S = "render_action_items", u = subGotStrings("If you want to invite friends later, you may do so using the Add Friends button in the Friends menu, accessed via the Main Menu."), y = void 0 != b && void 0 != b.y ? b.y : 68, w = void 0 != b && void 0 != b.x ? b.x : 290, z = 224, s = "#actionmenu", G = "friends_selector_tutoral_done",
                V = "true"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_pro_pro_q7_first_impressions"), g = !0, d = "ui_pro_pro_q7_first_impressions", h = "[pro_q7bastard_first_impressions, pro_q7knight_first_impressions, pro_q7merchant_first_impressions, pro_q7foster_first_impressions, pro_q7whisperer_first_impressions, pro_q7merc_first_impressions, pro_q7noble_first_impressions]",
                K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("Click here to start this Quest."), z = 185, C = "left", h = "88", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "243", B = -1 != h.indexOf(",") ? h.split(",") :
                    h), doLogEvent("after checks=" + g);
        h = "quest_close_pro_q7bastard_first_impressions, quest_close_pro_q7knight_first_impressions, quest_close_pro_q7merchant_first_impressions, quest_close_pro_q7foster_first_impressions, quest_close_pro_q7whisperer_first_impressions, quest_close_pro_q7merc_first_impressions, quest_close_pro_q7noble_first_impressions";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_quest_close_first_impressions"),
                g = !0, d = "ui_quest_close_first_impressions", !0 == g && (G = "ss_npc_recruit_tutorial"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_recruit_npc_hugo"), g = !0, d = "ui_ss_recruit_npc_hugo", a.stat ? (doLogEvent("watch: num_purchase_sworn_sword: value=" + (a.stat.num_purchase_sworn_sword + "") + " vs. required=0"), the_val = void 0 != a.stat.num_purchase_sworn_sword ?
                parseInt(a.stat.num_purchase_sworn_sword) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quests_completed: value=" + (a.stat.quests_completed + "") + " vs. required=7"), the_val = void 0 != a.stat.quests_completed ? parseInt(a.stat.quests_completed) || 0 : 0, "7" != the_val + "" && (g = !1)) : g = !1, !0 == g && (S = "buildings", u = subGotStrings('"Enough parchment and scaffolding! Let\u2019s start building you an <strong>army</strong>, @address."'), y = void 0 != b && void 0 != b.y ? b.y : -138, w = void 0 != b && void 0 != b.x ? b.x : 200, z = 330,
                C = "bottom_left", s = "#buildingmenubox", h = "-23", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "158", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "ser_hugo"), doLogEvent("after checks=" + g);
        h = "ss_status_open";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_recruit_add"), g = !0, d = "ui_ss_recruit_add", a.stat ? (doLogEvent("watch: num_purchase_sworn_sword: value=" + (a.stat.num_purchase_sworn_sword +
                "") + " vs. required=0"), the_val = void 0 != a.stat.num_purchase_sworn_sword ? parseInt(a.stat.num_purchase_sworn_sword) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quests_completed_no_swornsword: value=" + (a.stat.quests_completed_no_swornsword + "") + " vs. required=6"), the_val = void 0 != a.stat.quests_completed_no_swornsword ? parseInt(a.stat.quests_completed_no_swornsword) || 0 : 0, "6" != the_val + "" && (g = !1)) : g = !1, !0 == g && (u = subGotStrings("Click here to <strong>view</strong> Sworn Swords available to recruit."),
                y = void 0 != b && void 0 != b.y ? b.y : 10, w = void 0 != b && void 0 != b.x ? b.x : 253, z = 200, C = "left", s = ".addswornsword", h = "0", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "180", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "ss_status_recruit_open";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_recruit_hire"), g = !0, d = "ui_ss_recruit_hire", a.stat ? (doLogEvent("watch: num_purchase_sworn_sword: value=" +
            (a.stat.num_purchase_sworn_sword + "") + " vs. required=0"), the_val = void 0 != a.stat.num_purchase_sworn_sword ? parseInt(a.stat.num_purchase_sworn_sword) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == g && (S = "buildings_redraw", u = subGotStrings("Click here to <strong>recruit</strong> this Sworn Sword into your service."), y = void 0 != b && void 0 != b.y ? b.y : 278, w = void 0 != b && void 0 != b.x ? b.x : 289, z = 200, C = "left", s = ".ssactivityboxtop", h = "293", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "214", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" +
                g);
        h = "purchase_sworn_sword_0_2";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_purchase_sworn_sword_0_2"), g = !0, d = "ui_purchase_sworn_sword_0_2", !0 == g && (S = "swornsword_menu", G = "ss_npc_recruited"), doLogEvent("after checks=" + g);
        h = "display_sworn_swords, holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) &&
            !0 != g)
            doLogEvent("ui triggered: ui_ss_recruit_npc_hugo_2"), g = !0, d = "ui_ss_recruit_npc_hugo_2", a.stat ? (doLogEvent("watch: num_purchase_sworn_sword: value=" + (a.stat.num_purchase_sworn_sword + "") + " vs. required=1"), the_val = void 0 != a.stat.num_purchase_sworn_sword ? parseInt(a.stat.num_purchase_sworn_sword) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_adventures_complete: value=" + (a.stat.num_adventures_complete + "") + " vs. required=0"), the_val = void 0 != a.stat.num_adventures_complete ? parseInt(a.stat.num_adventures_complete) ||
                0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, ca = !1, !0 == g && (S = "refresh_sworn_swords", u = subGotStrings('"Hmph. A little green, this one. Let\u2019s get her in the field and see what she can do."'), w = void 0 != b && void 0 != b.x ? b.x : -372, z = 270, C = "right", s = ".ssactivityside", h = "20", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-78", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_sworn_sword_purchased", T = "true", U = "ser_hugo"), doLogEvent("after checks=" + g);
        h = "ss_status_open";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c ==
            h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_status_tutorial_1"), g = !0, d = "ui_ss_status_tutorial_1", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_adventures_started: value=" + (a.stat.num_adventures_started + "") + " vs. required=0"), the_val = void 0 != a.stat.num_adventures_started ? parseInt(a.stat.num_adventures_started) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_purchase_sworn_sword: value=" +
            (a.stat.num_purchase_sworn_sword + "") + " vs. required=1"), the_val = void 0 != a.stat.num_purchase_sworn_sword ? parseInt(a.stat.num_purchase_sworn_sword) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch3: num_shop_purchases: value=" + (a.stat.num_shop_purchases + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_purchases ? parseInt(a.stat.num_shop_purchases) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == g && (u = subGotStrings("Your Sworn Sword will gain <strong>Ranks</strong> with every quest, Adventure and Player to Player action they complete successfully."),
                y = void 0 != b && void 0 != b.y ? b.y : 46, w = void 0 != b && void 0 != b.x ? b.x : 250, z = 200, C = "left", s = ".ssactivityboxtop", h = "-26", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "342", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_adventuring_tutorial", P = O = "true", R = "ss_status_tutorial_3"), doLogEvent("after checks=" + g);
        h = "ss_status_tutorial_3";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_status_tutorial_3"),
                g = !0, d = "ui_ss_status_tutorial_3", !0 == g && (u = subGotStrings('"This Sword might succeed with the clothes on her back, but she\u2019ll do better <strong>armed</strong>. Let\u2019s see what you\u2019ve got on hand..."'), y = void 0 != b && void 0 != b.y ? b.y : 96, w = void 0 != b && void 0 != b.x ? b.x : 122, z = 280, s = ".ssactivityboxtop", P = "true", R = "ss_status_tutorial_4", T = "true", U = "ser_hugo"), doLogEvent("after checks=" + g);
        h = "ss_status_tutorial_4";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") &&
            -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_status_tutorial_4"), g = !0, d = "ui_ss_status_tutorial_4", !0 == g && (u = subGotStrings("Gear is divided into three slots: <strong>Hand</strong>, <strong>Body</strong>, and <strong>Companion</strong>. Click on any of these to equip your Sworn Sword."), y = void 0 != b && void 0 != b.y ? b.y : 75, w = void 0 != b && void 0 != b.x ? b.x : 2, z = 250, C = "bottom, bottom, bottom", s = ".ssactivityboxtop", h = "214, 214, 214", A = -1 != h.indexOf(",") ? h.split(",") : h, h =
                "14, 93, 172", B = -1 != h.indexOf(",") ? h.split(",") : h, P = "true", R = "ss_status_tutorial_7"), doLogEvent("after checks=" + g);
        h = "ss_status_tutorial_7, ss_status_open";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_status_tutorial_7_premature"), g = !0, d = "ui_ss_status_tutorial_7_premature", 3 < userContext.playerData.character.level && (g = !1), the_val = void 0 != a.stat.quests_completed_no_swornsword ?
                parseInt(a.stat.quests_completed_no_swornsword) || 0 : 0, 6 < parseInt(the_val) || (g = !1), a.stat ? (doLogEvent("watch2: num_adventures_complete: value=" + (a.stat.num_adventures_complete + "") + " vs. required=0"), the_val = void 0 != a.stat.num_adventures_complete ? parseInt(a.stat.num_adventures_complete) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == g && (u = subGotStrings("The Keep serves as a recruitment and training center for your Sworn Swords. Ser Hugo will instruct you when you are ready to use the Keep."), y = void 0 != b && void 0 !=
                b.y ? b.y : 100, w = void 0 != b && void 0 != b.x ? b.x : -100, z = 250, C = "top_right", s = ".ssactivityboxtop", h = "-145", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "135", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "ss_status_tutorial_7";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_status_tutorial_7"), g = !0, d = "ui_ss_status_tutorial_7", 3 < userContext.playerData.character.level && (g =
                !1), a.stat ? (doLogEvent("watch: num_adventures_complete: value=" + (a.stat.num_adventures_complete + "") + " vs. required=0"), the_val = void 0 != a.stat.num_adventures_complete ? parseInt(a.stat.num_adventures_complete) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quests_completed_no_swornsword: value=" + (a.stat.quests_completed_no_swornsword + "") + " vs. required=6"), the_val = void 0 != a.stat.quests_completed_no_swornsword ? parseInt(a.stat.quests_completed_no_swornsword) || 0 : 0, "6" != the_val + "" && (g = !1)) :
                g = !1, !0 == g && (u = subGotStrings("Now that you have equipped your Sworn Sword with Gear, click here to send her on an <strong>Adventure</strong>."), y = void 0 != b && void 0 != b.y ? b.y : 175, w = void 0 != b && void 0 != b.x ? b.x : 200, z = 250, C = "left", s = ".ssactivityboxtop", h = "98", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "400", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "adventure_dialog_open";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g,
            "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_status_tutorial_9"), g = !0, d = "ui_ss_status_tutorial_9", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_adventures_complete: value=" + (a.stat.num_adventures_complete + "") + " vs. required=0"), the_val = void 0 != a.stat.num_adventures_complete ? parseInt(a.stat.num_adventures_complete) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == g && (u = subGotStrings("<strong>Adventures</strong> are arranged based on difficulty. Click here to select your <strong>Adventure</strong>."),
                y = void 0 != b && void 0 != b.y ? b.y : 170, w = void 0 != b && void 0 != b.x ? b.x : 239, z = 200, C = "left", s = ".adventurebox", h = "174", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "140", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "start_adventure_open, ss_choose_item_sworn_sword_0_2";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_action_tutorial_1"), g = !0, d = "ui_ss_action_tutorial_1", 4 < userContext.playerData.character.level &&
            (g = !1), a.stat ? (doLogEvent("watch: num_adventures_complete: value=" + (a.stat.num_adventures_complete + "") + " vs. required=0"), the_val = void 0 != a.stat.num_adventures_complete ? parseInt(a.stat.num_adventures_complete) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == g && (u = subGotStrings("First, select a skill: <strong>Battle</strong>, <strong>Trade</strong>, or <strong>Intrigue</strong>. Then, select the action that best suits your Sworn Sword."), y = void 0 != b && void 0 != b.y ? b.y : 145, w = void 0 != b && void 0 != b.x ? b.x : 240, z = 222,
                C = "top_left", s = ".actionselectbox", h = "136", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "170", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_equipping_ss", O = "true"), doLogEvent("after checks=" + g);
        h = "ss_action_tutorial_4";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_action_tutorial_4"), g = !0, d = "ui_ss_action_tutorial_4", doLogEvent("uiEvent: require_flag = flag_equipping_ss"), 1 != userContext.flags.flag_equipping_ss &&
            (g = !1), !0 == g && (u = subGotStrings("When you are finished equipping your Sworn Sword, click here to return to the <strong>Adventure</strong> screen."), y = void 0 != b && void 0 != b.y ? b.y : 15, w = void 0 != b && void 0 != b.x ? b.x : 175, z = 330, C = "left", s = ".continuebtnwrap", h = "0", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "60", B = -1 != h.indexOf(",") ? h.split(",") : h, V = "true"), doLogEvent("after checks=" + g);
        h = "pvp_select_action";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g,
            "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_action_tutorial_5"), g = !0, d = "ui_ss_action_tutorial_5", doLogEvent("uiEvent: require_flag = flag_equipping_ss"), 1 != userContext.flags.flag_equipping_ss && (g = !1), !0 == g && (u = subGotStrings("Click here to send your Sworn Sword <strong>Adventuring</strong>."), y = void 0 != b && void 0 != b.y ? b.y : 320, w = void 0 != b && void 0 != b.x ? b.x : 455, z = 212, C = "left", s = "#vsbtminfo", h = "320", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "389", B = -1 != h.indexOf(",") ? h.split(",") : h, O = "true"), doLogEvent("after checks=" +
                g);
        h = "open_progress";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_action_tutorial_remove_tooltips"), g = !0, d = "ui_ss_action_tutorial_remove_tooltips", a.stat ? (doLogEvent("watch: num_adventures_complete: value=" + (a.stat.num_adventures_complete + "") + " vs. required=0"), the_val = void 0 != a.stat.num_adventures_complete ? parseInt(a.stat.num_adventures_complete) || 0 : 0, "0" != the_val + "" && (g = !1)) :
                g = !1, doLogEvent("after checks=" + g);
        h = "display_sworn_swords, ss_status_open";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_action_status_open"), g = !0, d = "ui_ss_action_status_open", a.stat ? (doLogEvent("watch: num_adventures_complete: value=" + (a.stat.num_adventures_complete + "") + " vs. required=1"), the_val = void 0 != a.stat.num_adventures_complete ? parseInt(a.stat.num_adventures_complete) ||
                0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: chose_fealty: value=" + (a.stat.chose_fealty + "") + " vs. required=0"), the_val = void 0 != a.stat.chose_fealty ? parseInt(a.stat.chose_fealty) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (C = "top_right", s = "#infobar_swornswords", h = "29", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "598", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "close_modal_dialogs_top";
        doLogEvent("trigger_src=[" + h + "] event_name=[" +
            c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_action_close"), g = !0, d = "ui_ss_action_close", a.stat ? (doLogEvent("watch: num_adventures_complete: value=" + (a.stat.num_adventures_complete + "") + " vs. required=1"), the_val = void 0 != a.stat.num_adventures_complete ? parseInt(a.stat.num_adventures_complete) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: chose_fealty: value=" + (a.stat.chose_fealty + "") + " vs. required=0"), the_val =
                void 0 != a.stat.chose_fealty ? parseInt(a.stat.chose_fealty) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (S = "chapters"), doLogEvent("after checks=" + g);
        h = "lorebook_animation_3_end";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_fealty"), g = !0, d = "ui_lore_book_fealty", a.stat ? (doLogEvent("watch: chose_fealty: value=" + (a.stat.chose_fealty +
                "") + " vs. required=0"), the_val = void 0 != a.stat.chose_fealty ? parseInt(a.stat.chose_fealty) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == g && (u = subGotStrings("<strong>Swear Fealty:</strong> Declare your allegiance to one of the Great Houses of Westeros."), y = void 0 != b && void 0 != b.y ? b.y : 351, w = void 0 != b && void 0 != b.x ? b.x : 388, z = 306, C = "top", s = "#book_style", h = "280", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "468", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" +
            h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_fealty_hud"), g = !0, d = "ui_lore_book_fealty_hud", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: chapter_complete_1_3: value=" + (a.stat.chapter_complete_1_3 + "") + " vs. required=1"), the_val = void 0 != a.stat.chapter_complete_1_3 ? parseInt(a.stat.chapter_complete_1_3) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: chose_fealty: value=" +
            (a.stat.chose_fealty + "") + " vs. required=0"), the_val = void 0 != a.stat.chose_fealty ? parseInt(a.stat.chose_fealty) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : 294, w = void 0 != b && void 0 != b.x ? b.x : 385, z = 312, C = "top", s = ".chapteractionheader", h = "75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-4", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "chose_fealty";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g,
            "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_chose_fealty"), g = !0, d = "ui_chose_fealty", doLogEvent("after checks=" + g);
        h = "chapter_claimed_1_3";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_fealty_claimed"), g = !0, d = "ui_lore_book_fealty_claimed", a.stat ? (doLogEvent("watch: chose_fealty: value=" + (a.stat.chose_fealty + "") + " vs. required=1"), the_val = void 0 != a.stat.chose_fealty ?
                parseInt(a.stat.chose_fealty) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == g && (C = "bottom", s = "#book_style", h = "403", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "647", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "next_chapter_3";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_ch_4_close"), g = !0, d = "ui_lore_book_ch_4_close", !0 == g && (C = "top_right", s = "#book_style", h =
                "-68", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "661", B = -1 != h.indexOf(",") ? h.split(",") : h, O = "true"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_pro_pro_q8_an_honored_guest"), g = !0, d = "ui_pro_pro_q8_an_honored_guest", h = "[pro_q8baratheon_an_honored_guest, pro_q8greyjoy_an_honored_guest, pro_q8lannister_an_honored_guest, pro_q8martell_an_honored_guest, pro_q8stark_an_honored_guest, pro_q8targaryen_an_honored_guest, pro_q8tyrell_an_honored_guest, pro_q8tully_an_honored_guest]",
                K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (u = subGotStrings("Click here to start this Quest."), y = void 0 != b && void 0 != b.y ? b.y : 94, w = void 0 != b && void 0 != b.x ? b.x : 320, z = 185, C = "left", s = "#actionmenu",
                    h = "88", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "243", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_ser_hugo"), g = !0, d = "ui_ss_train_ser_hugo", a.stat ? (doLogEvent("watch: num_adventures_complete: value=" + (a.stat.num_adventures_complete + "") + " vs. required=1"), the_val = void 0 != a.stat.num_adventures_complete ?
                parseInt(a.stat.num_adventures_complete) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_trained: value=" + (a.stat.num_trained + "") + " vs. required=0"), the_val = void 0 != a.stat.num_trained ? parseInt(a.stat.num_trained) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch3: quest_enable_training: value=" + (a.stat.quest_enable_training + "") + " vs. required=1"), the_val = void 0 != a.stat.quest_enable_training ? parseInt(a.stat.quest_enable_training) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 ==
                isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (u = subGotStrings('"The @fealty_plural are coming, eh? I want them to see veteran fighters! Let\u2019s use what your Sword learned on her adventuring to <strong>train</strong> her further."'), y = void 0 != b && void 0 != b.y ? b.y : -29, w = void 0 != b && void 0 != b.x ? b.x : -372, z = 270, C = "right", s = ".ssactivityside", h = "20", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-78", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_train_ss", T = "true", U = "ser_hugo"), doLogEvent("after checks=" + g);
        h = "ss_status_open";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_1"), g = !0, d = "ui_ss_train_tutorial_1", a.stat ? (doLogEvent("watch: quest_enable_training: value=" + (a.stat.quest_enable_training + "") + " vs. required=1"), the_val = void 0 != a.stat.quest_enable_training ? parseInt(a.stat.quest_enable_training) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_trained: value=" +
            (a.stat.num_trained + "") + " vs. required=0"), the_val = void 0 != a.stat.num_trained ? parseInt(a.stat.num_trained) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (u = subGotStrings("Click here to <strong>train</strong> your Sworn Sword."), y = void 0 != b && void 0 != b.y ? b.y : 161, w = void 0 != b && void 0 != b.x ? b.x : 386, z = 148, C = "left", s = ".ssactivitybtns", h = "77", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "400", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "ss_level_up";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_2"), g = !0, d = "ui_ss_train_tutorial_2", doLogEvent("uiEvent: require_flag = flag_train_ss"), 1 != userContext.flags.flag_train_ss && (g = !1), !0 == g && (u = subGotStrings("Select the skill you want your Sworn Sword to <strong>train</strong> in."), y = void 0 != b && void 0 != b.y ? b.y : 140, w = void 0 != b && void 0 != b.x ? b.x : 475, z = 230, s = ".alertcontents.rankselect",
                G = "flag_train_ss_modal"), doLogEvent("after checks=" + g);
        h = "ss_status_open";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_arrow_close"), g = !0, d = "ui_ss_train_tutorial_arrow_close", a.stat ? (doLogEvent("watch: quest_enable_training: value=" + (a.stat.quest_enable_training + "") + " vs. required=1"), the_val = void 0 != a.stat.quest_enable_training ? parseInt(a.stat.quest_enable_training) ||
                0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_trained: value=" + (a.stat.num_trained + "") + " vs. required=1"), the_val = void 0 != a.stat.num_trained ? parseInt(a.stat.num_trained) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (C = "top_right", s = "#infobar_swornswords", h = "29", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "600", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_ss_trained", O = "true"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" +
            h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_show_bldgs"), g = !0, d = "ui_ss_train_tutorial_show_bldgs", a.stat ? (doLogEvent("watch: num_trained: value=" + (a.stat.num_trained + "") + " vs. required=1"), the_val = void 0 != a.stat.num_trained ? parseInt(a.stat.num_trained) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructing("smithy", a) && (g = !1), !0 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g &&
            (S = "buildings"), doLogEvent("after checks=" + g);
        h = "holdings, do_menu_select_buildings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_3"), g = !0, d = "ui_ss_train_tutorial_3", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_trained: value=" + (a.stat.num_trained + "") + " vs. required=1"), the_val = void 0 != a.stat.num_trained ? parseInt(a.stat.num_trained) ||
                0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructing("smithy", a) && (g = !1), !0 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (u = subGotStrings('"Every noble appreciates a good blade. Let\u2019s construct a <strong>Smithy</strong> and forge a gift for the @fealty_plural."'), y = void 0 != b && void 0 != b.y ? b.y : -211, w = void 0 != b && void 0 != b.x ? b.x : 122, z = 270, C = "bottom", s = "#buildingmenubox", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "180", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_ss_build_smithy", T =
                "true", U = "ser_hugo"), doLogEvent("after checks=" + g);
        h = "building_panel_smithy";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_4"), g = !0, d = "ui_ss_train_tutorial_4", !0 == isBuildingConstructing("smithy", a) && (g = !1), !0 == isBuildingConstructed("smithy", a) && (g = !1), doLogEvent("uiEvent: require_flag = flag_ss_build_smithy"), 1 != userContext.flags.flag_ss_build_smithy && (g = !1), !0 ==
                g && (u = subGotStrings("Click here to construct the <strong>Smithy</strong>."), y = void 0 != b && void 0 != b.y ? b.y : 197, w = void 0 != b && void 0 != b.x ? b.x : 488, z = 180, C = "top", s = ".buildinginfotop", h = "133", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "540", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_4_backtrack"),
                g = !0, d = "ui_ss_train_tutorial_4_backtrack", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=0"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (S = "buildings", u = subGotStrings('"What good is an idle Smithy? Let\'s get them busy on that <strong>Decorative Blade</strong>!"'),
                    y = void 0 != b && void 0 != b.y ? b.y : -211, w = void 0 != b && void 0 != b.x ? b.x : 122, z = 270, C = "bottom", s = "#buildingmenubox", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "180", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "ser_hugo"), doLogEvent("after checks=" + g);
        h = "start_production";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_4b"), g = !0, d = "ui_ss_train_tutorial_4b", a.stat ? (doLogEvent("watch: num_trained: value=" +
            (a.stat.num_trained + "") + " vs. required=1"), the_val = void 0 != a.stat.num_trained ? parseInt(a.stat.num_trained) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (s = ".buildinginfotop"), doLogEvent("after checks=" + g);
        h = "building_panel_smithy";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_5"), g = !0, d = "ui_ss_train_tutorial_5", 3 < userContext.playerData.character.level &&
            (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=0"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=0"), the_val = void 0 != a.stat.building_upgrades_added ? parseInt(a.stat.building_upgrades_added) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy",
                a) && (g = !1), !0 == g && (u = subGotStrings("Click here to instruct the Smithy to <strong>produce</strong> an item."), y = void 0 != b && void 0 != b.y ? b.y : 100, w = void 0 != b && void 0 != b.x ? b.x : -30, z = 220, C = "top", s = "#collectbtn", h = "32", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "44", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "construct";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_6"),
                g = !0, d = "ui_ss_train_tutorial_6", a.stat ? (doLogEvent("watch: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=0"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=0"), the_val = void 0 != a.stat.building_upgrades_added ? parseInt(a.stat.building_upgrades_added) || 0 : 0, "0" != the_val + "" && (g = !1)) : g =
                    !1, !0 == isBuildingConstructed("smithy", a) && (g = !1), doLogEvent("after checks=" + g);
        h = "building_production_tab_smithy";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_7"), g = !0, d = "ui_ss_train_tutorial_7", a.stat ? (doLogEvent("watch: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=0"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) ||
                0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), doLogEvent("uiEvent: exclude_flag=flag_show_production_item"), the_val = 0, void 0 != userContext.flags.flag_show_production_item && (the_val = userContext.flags.flag_show_production_item), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("Buildings like the Smithy are used to produce <strong>items</strong> that can boost your skills or your Sworn Sword's once equipped."), y = void 0 != b && void 0 != b.y ? b.y : 162, w = void 0 != b && void 0 != b.x ? b.x : 241,
                z = 231, s = ".production", G = "flag_smithy_produce", P = "true", R = "next_ui_ss_train_tutorial_8"), doLogEvent("after checks=" + g);
        h = "next_ui_ss_train_tutorial_8";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_8"), g = !0, d = "ui_ss_train_tutorial_8", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" + (a.stat.num_shop_items_started +
                "") + " vs. required=0"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (u = subGotStrings("Nearly every item takes <strong>time</strong>, <strong>silver</strong>, and <strong>raw materials</strong> to create. "), y = void 0 != b && void 0 != b.y ? b.y : -21, w = void 0 != b && void 0 != b.x ? b.x : 323, z = 231, C = "left", s = ".production", h = "34", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "238", B = -1 != h.indexOf(",") ?
                h.split(",") : h, P = "true", R = "next_ui_ss_train_tutorial_9"), doLogEvent("after checks=" + g);
        h = "next_ui_ss_train_tutorial_9";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_9"), g = !0, d = "ui_ss_train_tutorial_9", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=0"),
                    the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (u = subGotStrings("Click on an item to select it for <strong>production</strong>, and for material and stat details on that item."), y = void 0 != b && void 0 != b.y ? b.y : 180, w = void 0 != b && void 0 != b.x ? b.x : 40, z = 231, C = "top", s = ".production", h = "120", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "150", B = -1 != h.indexOf(",") ? h.split(",") : h, P = "true", R = "next_ui_ss_train_tutorial_10"),
                doLogEvent("after checks=" + g);
        h = "next_ui_ss_train_tutorial_10";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_10"), g = !0, d = "ui_ss_train_tutorial_10", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=0"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) ||
                0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), !0 == g && (u = subGotStrings("You have all the materials necessary for the <strong>Decorative Blade</strong>. Click here to produce the item."), y = void 0 != b && void 0 != b.y ? b.y : 409, w = void 0 != b && void 0 != b.x ? b.x : 237, z = 220, C = "right", s = ".production", h = "431", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "466", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "production_completed";
        doLogEvent("trigger_src=[" + h + "] event_name=[" +
            c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_12"), g = !0, d = "ui_ss_train_tutorial_12", a.stat ? (doLogEvent("watch: num_shop_purchases: value=" + (a.stat.num_shop_purchases + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_purchases ? parseInt(a.stat.num_shop_purchases) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), !0 == isBuildingConstructed("village_center", a) && (g = !1), !0 == g &&
            (u = subGotStrings("The Decorative Blade is ready. Click here to <strong>collect</strong> it."), y = void 0 != b && void 0 != b.y ? b.y : 83, w = void 0 != b && void 0 != b.x ? b.x : 615, z = 190, C = "top", s = ".production", h = "9", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "670", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "do_finish_production";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_12_flag"),
                g = !0, d = "ui_ss_train_tutorial_12_flag", !0 == g && (G = "decorative_blade_produced"), doLogEvent("after checks=" + g);
        h = "building_production_tab_smithy";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_12_close"), g = !0, d = "ui_ss_train_tutorial_12_close", a.stat ? (doLogEvent("watch: num_shop_purchases: value=" + (a.stat.num_shop_purchases + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_purchases ?
                parseInt(a.stat.num_shop_purchases) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_items_produced: value=" + (a.stat.num_items_produced + "") + " vs. required=1"), the_val = void 0 != a.stat.num_items_produced ? parseInt(a.stat.num_items_produced) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, doLogEvent("uiEvent: require_flag = decorative_blade_produced"), 1 != userContext.flags.decorative_blade_produced && (g = !1), !0 == g && (C = "top_right", s = ".production", h = "-109", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "652", B =
                -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_12_holdings"), g = !0, d = "ui_ss_train_tutorial_12_holdings", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_purchases: value=" + (a.stat.num_shop_purchases + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_purchases ?
                parseInt(a.stat.num_shop_purchases) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_items_produced: value=" + (a.stat.num_items_produced + "") + " vs. required=0"), the_val = void 0 != a.stat.num_items_produced ? parseInt(a.stat.num_items_produced) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), !0 == isBuildingConstructed("village_center", a) && (g = !1), !0 == g && (S = "buildings", u = subGotStrings("The Smithy has finished the <strong>Decorative Blade</strong>, @address. Let's have a look."),
                y = void 0 != b && void 0 != b.y ? b.y : -211, w = void 0 != b && void 0 != b.x ? b.x : 122, z = 270, C = "bottom", s = "#buildingmenubox", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "180", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "ser_hugo"), doLogEvent("after checks=" + g);
        h = "start_production";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_tutorial_13"), g = !0, d = "ui_ss_train_tutorial_13", a.stat ? (doLogEvent("watch: num_shop_purchases: value=" +
            (a.stat.num_shop_purchases + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_purchases ? parseInt(a.stat.num_shop_purchases) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), !0 == isBuildingConstructed("village_center", a) && (g = !1), !0 == g && (G = "flag_show_production_item"), doLogEvent("after checks=" + g);
        h = "building_panel_smithy";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_maester_lucas_pre"),
                g = !0, d = "ui_ss_train_maester_lucas_pre", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=0"), the_val = void 0 != a.stat.building_upgrades_added ? parseInt(a.stat.building_upgrades_added) || 0 : 0, "0" !=
                    the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch3: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), !0 == isBuildingConstructed("village_center", a) && (g = !1), !0 == g && (C = "top_right", s = ".infobarpattern", h = "36", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "710", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" +
                    g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_ss_train_maester_lucas"), g = !0, d = "ui_ss_train_maester_lucas", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ?
            (doLogEvent("watch2: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=0"), the_val = void 0 != a.stat.building_upgrades_added ? parseInt(a.stat.building_upgrades_added) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch3: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy",
                a) && (g = !1), !0 == isBuildingConstructing("village_center", a) && (g = !1), !0 == isBuildingConstructed("village_center", a) && (g = !1), doLogEvent("uiEvent: exclude_flag=ready_for_village_center"), the_val = 0, void 0 != userContext.flags.ready_for_village_center && (the_val = userContext.flags.ready_for_village_center), 1 == the_val && (g = !1), !0 == g && (S = "buildings", u = subGotStrings('"All nobles are impressed by coin. Let us <strong>upgrade</strong> your Counting House to increase tax revenue."'), y = void 0 != b && void 0 != b.y ? b.y : -202,
                w = void 0 != b && void 0 != b.x ? b.x : -6, z = 280, C = "bottom", s = "#buildingmenubox", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "9", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_upgrade_counting_house", T = O = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "building_panel_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_upgrade_tutorial_1"), g = !0, d = "ui_counting_house_upgrade_tutorial_1",
                4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: building_upgrades_finished: value=" + (a.stat.building_upgrades_finished + "") + " vs. required=0"), the_val = void 0 != a.stat.building_upgrades_finished ? parseInt(a.stat.building_upgrades_finished) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1,
                a.stat ? (doLogEvent("watch3: quests_succeeded: value=" + (a.stat.quests_succeeded + "") + " vs. required=8"), the_val = void 0 != a.stat.quests_succeeded ? parseInt(a.stat.quests_succeeded) || 0 : 0, "8" != the_val + "" && (g = !1)) : g = !1, !0 == g && (u = subGotStrings("All buildings can be <strong>Upgraded</strong>. <strong>Upgrades</strong> can make a building produce resources more efficiently, and improve your skill in <strong>Battle</strong>, <strong>Trade</strong>, and <strong>Intrigue</strong>."), y = void 0 != b && void 0 != b.y ? b.y :
                    90, w = void 0 != b && void 0 != b.x ? b.x : 121, z = 300, s = ".upgradeinfobg", G = "flag_upgrade_counting_house_start", P = "true", R = "counting_house_upgrade_tutorial_2"), doLogEvent("after checks=" + g);
        h = "counting_house_upgrade_tutorial_2";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_upgrade_tutorial_2"), g = !0, d = "ui_counting_house_upgrade_tutorial_2", a.stat ? (doLogEvent("watch: produced_stone: value=" +
            (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, doLogEvent("uiEvent: require_flag = flag_upgrade_counting_house_start"), 1 != userContext.flags.flag_upgrade_counting_house_start && (g = !1), !0 == g && (u = subGotStrings('"We will need a cut of raw <strong>Stone</strong> for this upgrade. We do not currently have any in our warehouses."'), y = void 0 != b && void 0 != b.y ? b.y : 110, w = void 0 != b && void 0 != b.x ? b.x : 194, z = 277,
                C = "left", s = ".upgradeinfobg", h = "159", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "100", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "ready_for_village_center", P = "true", R = "counting_house_upgrade_tutorial_3", T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "close_building_panel";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_close_building_panel"), g = !0, d = "ui_counting_house_close_building_panel",
                doLogEvent("uiEvent: require_flag = flag_upgrade_counting_house_start"), 1 != userContext.flags.flag_upgrade_counting_house_start && (g = !1), !0 == g && (G = "flag_counting_house_upgrade_closed"), doLogEvent("after checks=" + g);
        h = "counting_house_upgrade_tutorial_3";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_upgrade_tutorial_3"), g = !0, d = "ui_counting_house_upgrade_tutorial_3", doLogEvent("uiEvent: require_flag = flag_upgrade_counting_house_start"),
                1 != userContext.flags.flag_upgrade_counting_house_start && (g = !1), !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : -30, w = void 0 != b && void 0 != b.x ? b.x : -40, C = "top_right", s = "#chartabmenu", h = "-15", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "658", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_upgrade_maester_lucas"),
                g = !0, d = "ui_counting_house_upgrade_maester_lucas", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=0"), the_val = void 0 != a.stat.building_upgrades_added ? parseInt(a.stat.building_upgrades_added) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=1"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) ||
                    0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == g && (S = "buildings", u = subGotStrings('"Now that we have Stone, we may now begin the <strong>upgrade</strong> to your Counting House."'), y = void 0 != b && void 0 != b.y ? b.y : -210, w = void 0 != b && void 0 != b.x ? b.x : -26, z = 270, C = "bottom", s = "#buildingmenubox", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "9", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "holdings,construction_complete_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" +
            c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_upgrade_tutorial_5_backtrack"), g = !0, d = "ui_counting_house_upgrade_tutorial_5_backtrack", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=1"), the_val = void 0 != a.stat.building_upgrades_added ? parseInt(a.stat.building_upgrades_added) || 0 : 0, "1" != the_val + "" && (g = !1)) :
                g = !1, !1 == isBuildingDone("counting_house") && (g = !1), !0 == g && (S = "buildings", u = subGotStrings('"The upgrade to your Counting House is ready for your review, @address. We only need your approval to <strong>finish</strong> it."'), y = void 0 != b && void 0 != b.y ? b.y : -210, w = void 0 != b && void 0 != b.x ? b.x : -26, z = 270, C = "bottom", s = "#buildingmenubox", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "9", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "building_panel_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_upgrade_tutorial_4"), g = !0, d = "ui_counting_house_upgrade_tutorial_4", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=0"), the_val = void 0 != a.stat.building_upgrades_added ? parseInt(a.stat.building_upgrades_added) ||
                0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=1"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, doLogEvent("uiEvent: exclude_flag=flag_counting_house_upgrading"), the_val = 0, void 0 != userContext.flags.flag_counting_house_upgrading && (the_val = userContext.flags.flag_counting_house_upgrading), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("Click here to construct the <strong>Stacks of Coins</strong> upgrade."),
                y = void 0 != b && void 0 != b.y ? b.y : 34, w = void 0 != b && void 0 != b.x ? b.x : 159, z = 220, C = "left", s = "#addbtn_container", h = "39", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "81", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_counting_house_upgrading", O = "true"), doLogEvent("after checks=" + g);
        h = "building_panel_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_upgrade_tutorial_5"), g =
                !0, d = "ui_counting_house_upgrade_tutorial_5", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=1"), the_val = void 0 != a.stat.building_upgrades_added ? parseInt(a.stat.building_upgrades_added) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: building_upgrades_finished: value=" + (a.stat.building_upgrades_finished + "") + " vs. required=0"), the_val = void 0 != a.stat.building_upgrades_finished ?
                parseInt(a.stat.building_upgrades_finished) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingDone("counting_house") && (g = !1), !0 == g && (u = subGotStrings("The Stacks of Coins upgrade is ready. Click here to <strong>finish</strong> it."), y = void 0 != b && void 0 != b.y ? b.y : 162, w = void 0 != b && void 0 != b.x ? b.x : 514, z = 224, C = "top", s = ".buildinginfotop", h = "91", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "593", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_counting_house_upgraded", O = "true"), doLogEvent("after checks=" + g);
        h = "building_panel_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_upgrade_tutorial_5_close"), g = !0, d = "ui_counting_house_upgrade_tutorial_5_close", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=1"), the_val = void 0 != a.stat.building_upgrades_added ? parseInt(a.stat.building_upgrades_added) ||
                0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: building_upgrades_finished: value=" + (a.stat.building_upgrades_finished + "") + " vs. required=1"), the_val = void 0 != a.stat.building_upgrades_finished ? parseInt(a.stat.building_upgrades_finished) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : -30, w = void 0 != b && void 0 != b.x ? b.x : -40, C = "top_right", s = "#chartabmenu", h = "-15", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "658", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" +
                g);
        h = "close_building_panel_counting_house";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_counting_house_upgrade_tutorial_clear"), g = !0, d = "ui_counting_house_upgrade_tutorial_clear", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: building_upgrades_added: value=" + (a.stat.building_upgrades_added + "") + " vs. required=1"), the_val = void 0 != a.stat.building_upgrades_added ?
                parseInt(a.stat.building_upgrades_added) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: building_upgrades_finished: value=" + (a.stat.building_upgrades_finished + "") + " vs. required=1"), the_val = void 0 != a.stat.building_upgrades_finished ? parseInt(a.stat.building_upgrades_finished) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) &&
            !0 != g)
            doLogEvent("ui triggered: ui_village_center_build_maester_lucas"), g = !0, d = "ui_village_center_build_maester_lucas", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_items_started ?
                parseInt(a.stat.num_shop_items_started) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("smithy", a) && (g = !1), !0 == isBuildingConstructing("village_center", a) && (g = !1), !0 == isBuildingConstructed("village_center", a) && (g = !1), doLogEvent("uiEvent: require_flag = ready_for_village_center"), 1 != userContext.flags.ready_for_village_center && (g = !1), !0 == g && (S = "buildings", u = subGotStrings('"If we construct a <strong>Village Center</strong>, we can produce Stone, among other resources."'), y = void 0 != b && void 0 !=
                b.y ? b.y : -209, w = void 0 != b && void 0 != b.x ? b.x : 202, z = 270, C = "bottom", s = "#buildingmenubox", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "265", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_village_center_tutorial", T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_panel_village_center_backtrack"), g = !0, d = "ui_building_panel_village_center_backtrack",
                4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("village_center",
                    a) && (g = !1), !0 == g && (S = "buildings", u = subGotStrings('"Your smallfolk sit idle, @address. Let us instruct them to produce <strong>Stone</strong> at the Village Center."'), y = void 0 != b && void 0 != b.y ? b.y : -209, w = void 0 != b && void 0 != b.x ? b.x : 202, z = 270, C = "bottom", s = "#buildingmenubox", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "265", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "building_panel_village_center";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_panel_village_center_build_prompt"), g = !0, d = "ui_building_panel_village_center_build_prompt", a.stat ? (doLogEvent("watch: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_shop_items_started: value=" + (a.stat.num_shop_items_started +
                "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == isBuildingConstructed("village_center", a) && (g = !1), !0 == g && (C = "top_right", s = "#build_village_center", h = "28", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-69", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "building_panel_village_center";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g,
            "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_panel_village_center_clear_tooltips"), g = !0, d = "ui_building_panel_village_center_clear_tooltips", a.stat ? (doLogEvent("watch: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=2"), the_val = void 0 != a.stat.num_shop_items_started ?
                parseInt(a.stat.num_shop_items_started) || 0 : 0, "2" != the_val + "" && (g = !1)) : g = !1, doLogEvent("after checks=" + g);
        h = "building_panel_village_center";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_building_panel_village_center_production_open"), g = !0, d = "ui_building_panel_village_center_production_open", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" +
            (a.stat.num_shop_items_started + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingConstructed("village_center", a) && (g = !1), !0 == g && (u = subGotStrings("Click here to instruct the Village Center to <strong>produce</strong> a resource."),
                y = void 0 != b && void 0 != b.y ? b.y : 110, w = void 0 != b && void 0 != b.x ? b.x : -48, z = 230, C = "top", s = "#collectbtn", h = "38", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "33", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "stone_production_item_selected";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_village_center_build_maester_tutorial_3"), g = !0, d = "ui_village_center_build_maester_tutorial_3",
                4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=1"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1, !0 == g && (u = subGotStrings("Click here to produce <strong>Stone</strong>."),
                    y = void 0 != b && void 0 != b.y ? b.y : -11, w = void 0 != b && void 0 != b.x ? b.x : -200, z = 181, C = "right", s = ".btnwrap.btnmed.equipbtn", h = "3", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "4", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "start_production";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_village_center_stone_do_production"), g = !0, d = "ui_village_center_stone_do_production", doLogEvent("uiEvent: require_flag = flag_village_center_tutorial"),
                1 != userContext.flags.flag_village_center_tutorial && (g = !1), !0 == g && (G = "flag_show_production_item", O = "true"), doLogEvent("after checks=" + g);
        h = "constructed_village_center,holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_village_center_build_maester_lucas_2"), g = !0, d = "ui_village_center_build_maester_lucas_2", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" +
            (a.stat.num_shop_items_started + "") + " vs. required=2"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "2" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingDone("village_center") && (g = !1), doLogEvent("uiEvent: exclude_flag=flag_village_center_tutorial_colleccted"), the_val = 0, void 0 != userContext.flags.flag_village_center_tutorial_colleccted && (the_val = userContext.flags.flag_village_center_tutorial_colleccted), 1 == the_val && (g = !1), !0 == g && (S = "buildings", u = subGotStrings('"The <strong>Stone</strong> you requested has been produced in the Village Center, @address."'),
                y = void 0 != b && void 0 != b.y ? b.y : -212, w = void 0 != b && void 0 != b.x ? b.x : 188, z = 270, C = "bottom", s = "#buildingmenubox", h = "-75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "265", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "building_panel_village_center";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_village_center_build_maester_tutorial_4"), g = !0, d =
                "ui_village_center_build_maester_tutorial_4", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" + (a.stat.num_shop_items_started + "") + " vs. required=2"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "2" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=0"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0,
                "0" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingDone("village_center") && (g = !1), doLogEvent("uiEvent: exclude_flag=flag_village_center_tutorial_colleccted"), the_val = 0, void 0 != userContext.flags.flag_village_center_tutorial_colleccted && (the_val = userContext.flags.flag_village_center_tutorial_colleccted), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("Click here to <strong>collect</strong> the Stone."), y = void 0 != b && void 0 != b.y ? b.y : 102, w = void 0 != b && void 0 != b.x ? b.x : -40, z = 170, C = "top", s = "#collectbtn", h = "34", A = -1 !=
                h.indexOf(",") ? h.split(",") : h, h = "9", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "building_panel_village_center";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_village_center_build_maester_tutorial_4b"), g = !0, d = "ui_village_center_build_maester_tutorial_4b", 4 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: num_shop_items_started: value=" +
            (a.stat.num_shop_items_started + "") + " vs. required=2"), the_val = void 0 != a.stat.num_shop_items_started ? parseInt(a.stat.num_shop_items_started) || 0 : 0, "2" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: produced_stone: value=" + (a.stat.produced_stone + "") + " vs. required=1"), the_val = void 0 != a.stat.produced_stone ? parseInt(a.stat.produced_stone) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !1 == isBuildingDone("village_center") && (g = !1), !0 == g && (G = "flag_village_center_tutorial_colleccted"), doLogEvent("after checks=" +
                g);
        h = "do_finish_production";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_village_center_stone_do_finish_production"), g = !0, d = "ui_village_center_stone_do_finish_production", !0 == g && (G = "flag_village_center_tutorial_colleccted", O = "true"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g,
            "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_holdings_quest_a_feast_to_fealty"), g = !0, d = "ui_holdings_quest_a_feast_to_fealty", h = "[pro_q9baratheon_a_feast_to_the_stag, pro_q9greyjoy_a_feast_for_the_kraken, pro_q9lannister_a_feast_for_the_imp, pro_q9martell_a_feast_to_the_sun, pro_q9stark_a_feast_to_the_north, pro_q9targaryen_a_feast_for_dragons, pro_q9tyrell_a_feast_to_the_rose, pro_q9tully_a_feast_for_the_riverlands]", K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ?
            (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), !0 == g && (Q = Boolean("true"), u = subGotStrings('"@ftpe_fealty_guest has arrived, @address. Let us greet our guest properly."'), y = void 0 != b && void 0 != b.y ? b.y : 52, w = void 0 != b && void 0 != b.x ? b.x : 320, z = 320, C = "left", s = "#actionmenu", h = "88", A = -1 != h.indexOf(",") ?
                h.split(",") : h, h = "243", B = -1 != h.indexOf(",") ? h.split(",") : h, T = "true", U = "maester_lucas"), doLogEvent("after checks=" + g);
        h = "quest_close_pro_q9baratheon_a_feast_to_the_stag, quest_close_pro_q9greyjoy_a_feast_for_the_kraken, quest_close_pro_q9lannister_a_feast_for_the_imp, quest_close_pro_q9martell_a_feast_to_the_sun, quest_close_pro_q9stark_a_feast_to_the_north, quest_close_pro_q9targaryen_a_feast_for_dragons, quest_close_pro_q9tyrell_a_feast_to_the_rose, quest_close_pro_q9tully_a_feast_for_the_riverlands";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_quest_ch4_close_pro_q9"), g = !0, d = "ui_quest_ch4_close_pro_q9", !0 == g && (S = "chapters"), doLogEvent("after checks=" + g);
        h = "holdings, refresh_toolbar";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_banner_hud"), g =
                    !0, d = "ui_lore_book_banner_hud", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: chapter_complete_1_4: value=" + (a.stat.chapter_complete_1_4 + "") + " vs. required=1"), the_val = void 0 != a.stat.chapter_complete_1_4 ? parseInt(a.stat.chapter_complete_1_4) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: banned_saved: value=" + (a.stat.banned_saved + "") + " vs. required=0"), the_val = void 0 != a.stat.banned_saved ? parseInt(a.stat.banned_saved) || 0 : 0, "0" != the_val + "" && (g = !1)) : g = !1,
                !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : 294, w = void 0 != b && void 0 != b.x ? b.x : 385, z = 312, C = "top", s = ".chapteractionheader", h = "75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-4", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "lorebook_animation_4_end";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_banner"), g = !0, d = "ui_lore_book_banner", !0 == g && (u = subGotStrings("<strong>Design Banner:</strong> Create a Banner to fly over your house and alongside House @fealty's."),
                y = void 0 != b && void 0 != b.y ? b.y : 452, w = void 0 != b && void 0 != b.x ? b.x : 395, z = 289, C = "top", s = "#book_style", h = "380", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "468", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_banner_designer_tutorial"), doLogEvent("after checks=" + g);
        h = "chapter_claimed_1_4";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_banner_claimed"), g = !0, d = "ui_lore_book_banner_claimed",
                !0 == g && (C = "bottom", s = "#book_style", h = "403", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "647", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "next_chapter_4";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_ch_5_close"), g = !0, d = "ui_lore_book_ch_5_close", !0 == g && (C = "top_right", s = "#book_style", h = "-68", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "661", B = -1 != h.indexOf(",") ?
                h.split(",") : h), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_holdings_multiple_quests_1"), g = !0, d = "ui_holdings_multiple_quests_1", a.stat ? (doLogEvent("watch: banned_saved: value=" + (a.stat.banned_saved + "") + " vs. required=1"), the_val = void 0 != a.stat.banned_saved ? parseInt(a.stat.banned_saved) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, h = "q1_meet_the_bailiff, q1_a_time_to_learn, q1_ss_a_pleasurable_task",
                K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), 3 != userContext.actions.length && (doLogEvent("num_actions_assigned: userContext.actions.length NOT 3"), g = !1), doLogEvent("uiEvent: exclude_flag=multi_quests_info"),
                the_val = 0, void 0 != userContext.flags.multi_quests_info && (the_val = userContext.flags.multi_quests_info), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("When <strong>Multiple Quests</strong> are active, you may play them in any order."), y = void 0 != b && void 0 != b.y ? b.y : 118, w = void 0 != b && void 0 != b.x ? b.x : 316, z = 200, C = "left, left, left", s = "#actionmenu", h = "90, 147, 204", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "245, 245, 245", B = -1 != h.indexOf(",") ? h.split(",") : h, V = "true", X = "multi_quests_info_close"), doLogEvent("after checks=" +
                    g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_holdings_multiple_quests_2"), g = !0, d = "ui_holdings_multiple_quests_2", a.stat ? (doLogEvent("watch: banned_saved: value=" + (a.stat.banned_saved + "") + " vs. required=1"), the_val = void 0 != a.stat.banned_saved ? parseInt(a.stat.banned_saved) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, h = "q1_meet_the_bailiff, q1_a_time_to_learn, q1_ss_a_pleasurable_task",
                K = h.replace("[", "").replace("]", ""), doLogEvent("quest_active: " + h), -1 != h.indexOf(",") ? (E = /\[.*\]/.test(h), L = !E, $.each(K.split(","), function(b, c) { if (activeQuest(a.quests, c) == E && (doLogEvent("quest_active: " + c + (E ? " IS" : " NOT") + " active"), (L = E) && E)) return !1 }), L || (g = !1)) : !1 == activeQuest(a.quests, K) && (doLogEvent("quest_active: " + K + " NOT active"), g = !1), 2 != userContext.actions.length && (doLogEvent("num_actions_assigned: userContext.actions.length NOT 2"), g = !1), doLogEvent("uiEvent: exclude_flag=multi_quests_info"),
                the_val = 0, void 0 != userContext.flags.multi_quests_info && (the_val = userContext.flags.multi_quests_info), 1 == the_val && (g = !1), !0 == g && (u = subGotStrings("Sometimes, you will receive <strong>multiple</strong> Quests. You may start and finish these Quests in any order."), y = void 0 != b && void 0 != b.y ? b.y : 85, w = void 0 != b && void 0 != b.x ? b.x : 316, z = 200, C = "left, left", s = "#actionmenu", h = "90, 147", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "245, 245", B = -1 != h.indexOf(",") ? h.split(",") : h, V = "true", X = "multi_quests_info_close"), doLogEvent("after checks=" +
                    g);
        h = "multi_quests_info_close";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_holdings_multiple_quests_close"), g = !0, d = "ui_holdings_multiple_quests_close", a.stat ? (doLogEvent("watch: banned_saved: value=" + (a.stat.banned_saved + "") + " vs. required=1"), the_val = void 0 != a.stat.banned_saved ? parseInt(a.stat.banned_saved) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == g && (G = "multi_quests_info"), doLogEvent("after checks=" +
                g);
        h = "banner";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_banner_designer_tutorial_1"), g = !0, d = "ui_banner_designer_tutorial_1", doLogEvent("uiEvent: require_flag = flag_banner_designer_tutorial"), 1 != userContext.flags.flag_banner_designer_tutorial && (g = !1), !0 == g && (u = subGotStrings("Use the controls here to <strong>customize</strong> your banner shape, pattern, colors and sigils."),
                w = void 0 != b && void 0 != b.x ? b.x : -216, z = 173, s = "#banneroptions", P = "true", R = "banner_designer_tutorial_1"), doLogEvent("after checks=" + g);
        h = "banner_designer_tutorial_1";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_banner_designer_tutorial_2"), g = !0, d = "ui_banner_designer_tutorial_2", !0 == g && (u = subGotStrings("You may also click <strong>Random</strong> as many times as you like to see random combinations."),
                y = void 0 != b && void 0 != b.y ? b.y : 389, w = void 0 != b && void 0 != b.x ? b.x : 470, z = 205, C = "bottom_left", s = "#bannerholder", h = "493", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "558", B = -1 != h.indexOf(",") ? h.split(",") : h, P = "true", R = "banner_designer_tutorial_2"), doLogEvent("after checks=" + g);
        h = "banner_designer_tutorial_2";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_banner_designer_tutorial_3"), g = !0, d = "ui_banner_designer_tutorial_3",
                !0 == g && (u = subGotStrings("Click here to <strong>save</strong> your Banner when you are finished. You may edit your Banner again at any time."), M = 7500, y = void 0 != b && void 0 != b.y ? b.y : 463, w = void 0 != b && void 0 != b.x ? b.x : 574, z = 155, C = "right", s = "#bannerholder", h = "533", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "748", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_banner_designer_tutorial_done", O = "true", aa = !0), doLogEvent("after checks=" + g);
        h = "quest_boss_accept_q1_boss_blood_for_medicine";
        doLogEvent("trigger_src=[" + h + "] event_name=[" +
            c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: ui_boss_battle_tutorial_1"), g = !0, d = "ui_boss_battle_tutorial_1", !0 == g && (C = "top", s = ".eventrewardwrap", h = "93", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "588", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_boss_battle_tutorial_started"), doLogEvent("after checks=" + g);
        h = "quest_choose_ss_q1_boss_blood_for_medicine";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") &&
            -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_boss_battle_tutorial_2"), g = !0, d = "ui_boss_battle_tutorial_2", 5 < userContext.playerData.character.level && (g = !1), doLogEvent("uiEvent: require_flag = flag_boss_battle_tutorial_started"), 1 != userContext.flags.flag_boss_battle_tutorial_started && (g = !1), !0 == g && (u = subGotStrings("Click here to assign a Sworn Sword to this <strong>Challenge</strong>."), y = void 0 != b && void 0 != b.y ? b.y : 290, w = void 0 != b && void 0 != b.x ? b.x : 33, z = 199, C = "bottom_right",
                s = ".darkroundedbox.miniviewmenu", h = "362", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "192", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "warparty_close";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_boss_battle_tutorial_6"), g = !0, d = "ui_boss_battle_tutorial_6", 5 < userContext.playerData.character.level && (g = !1), !0 == g && (u = subGotStrings("Many Challenge quests have multiple <strong>stages</strong>. You will select Actions for each stage."),
                y = void 0 != b && void 0 != b.y ? b.y : -15, w = void 0 != b && void 0 != b.x ? b.x : 75, z = 240, C = "left", s = ".eventprogbar", h = "-23", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "13", B = -1 != h.indexOf(",") ? h.split(",") : h, G = "flag_boss_battle_tutorial_action", P = O = "true", R = "boss_battle_tutorial_8"), doLogEvent("after checks=" + g);
        h = "boss_battle_tutorial_7";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_boss_battle_tutorial_7"),
                g = !0, d = "ui_boss_battle_tutorial_7", 5 < userContext.playerData.character.level && (g = !1), doLogEvent("uiEvent: require_flag = flag_boss_battle_tutorial_action"), 1 != userContext.flags.flag_boss_battle_tutorial_action && (g = !1), !0 == g && (u = subGotStrings("Select an <strong>Action</strong> for your Sworn Sword to perform."), y = void 0 != b && void 0 != b.y ? b.y : -8, w = void 0 != b && void 0 != b.x ? b.x : 102, z = 200, s = "#bossoptions", V = "true"), doLogEvent("after checks=" + g);
        h = "boss_battle_tutorial_8";
        doLogEvent("trigger_src=[" + h + "] event_name=[" +
            c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_boss_battle_tutorial_8"), g = !0, d = "ui_boss_battle_tutorial_8", 5 < userContext.playerData.character.level && (g = !1), doLogEvent("uiEvent: require_flag = flag_boss_battle_tutorial_action"), 1 != userContext.flags.flag_boss_battle_tutorial_action && (g = !1), !0 == g && (u = subGotStrings("Actions taken by you appear in the <strong>Combat Log</strong>. The <strong>Player Chat</strong> is used to discuss strategy during the quest.."),
                y = void 0 != b && void 0 != b.y ? b.y : -7, w = void 0 != b && void 0 != b.x ? b.x : 5, z = 368, C = "bottom", s = ".stoneridge", h = "87", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "54", B = -1 != h.indexOf(",") ? h.split(",") : h, P = "true", R = "boss_battle_tutorial_7"), doLogEvent("after checks=" + g);
        h = "quest_close_q1_meet_the_bailiff, quest_close_q5_an_abrupt_end, quest_close_q1_boss_blood_for_medicine";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_pt5_end_lorebook"),
                g = !0, d = "ui_pt5_end_lorebook", a.stat ? (doLogEvent("watch: quest_q5_an_abrupt_end_complete: value=" + (a.stat.quest_q5_an_abrupt_end_complete + "") + " vs. required=1"), the_val = void 0 != a.stat.quest_q5_an_abrupt_end_complete ? parseInt(a.stat.quest_q5_an_abrupt_end_complete) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch2: quest_ac_meet_groat: value=" + (a.stat.quest_ac_meet_groat + "") + " vs. required=1"), the_val = void 0 != a.stat.quest_ac_meet_groat ? parseInt(a.stat.quest_ac_meet_groat) || 0 : 0, "1" != the_val +
                    "" && (g = !1)) : g = !1, a.stat ? (doLogEvent("watch3: quest_complete_q1_boss_blood_for_medicine: value=" + (a.stat.quest_complete_q1_boss_blood_for_medicine + "") + " vs. required=1"), the_val = void 0 != a.stat.quest_complete_q1_boss_blood_for_medicine ? parseInt(a.stat.quest_complete_q1_boss_blood_for_medicine) || 0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, doLogEvent("uiEvent: exclude_flag=lorebook_animated"), the_val = 0, void 0 != userContext.flags.lorebook_animated && (the_val = userContext.flags.lorebook_animated), 1 == the_val && (g = !1),
                !0 == g && (S = "chapters"), doLogEvent("after checks=" + g);
        h = "holdings";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: ui_lore_book_hud_5"), g = !0, d = "ui_lore_book_hud_5", 3 < userContext.playerData.character.level && (g = !1), a.stat ? (doLogEvent("watch: chapter_complete_1_5: value=" + (a.stat.chapter_complete_1_5 + "") + " vs. required=1"), the_val = void 0 != a.stat.chapter_complete_1_5 ? parseInt(a.stat.chapter_complete_1_5) ||
                0 : 0, "1" != the_val + "" && (g = !1)) : g = !1, !0 == g && (y = void 0 != b && void 0 != b.y ? b.y : 294, w = void 0 != b && void 0 != b.x ? b.x : 385, z = 312, C = "top", s = ".chapteractionheader", h = "75", A = -1 != h.indexOf(",") ? h.split(",") : h, h = "-4", B = -1 != h.indexOf(",") ? h.split(",") : h), doLogEvent("after checks=" + g);
        h = "quest_reward_alignment_mouseover_realm";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: quest_alignment_realm"), g = !0, d =
                "quest_alignment_realm", !0 == g && (Q = Boolean("true"), u = subGotStrings("Choosing this response will give you <strong>Realm</strong> points. Realm means to serve Westeros above all else."), N = 300, y = void 0 != b && void 0 != b.y ? b.y : -95, w = void 0 != b && void 0 != b.x ? b.x : 334, z = 270, s = "#questbtminfo", Y = !0, Z = "icons/alignment-realm-lg.png", aa = !0), doLogEvent("after checks=" + g);
        h = "quest_reward_alignment_mouseover_family";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g,
            "").split(","))) && !0 != g) doLogEvent("ui triggered: quest_alignment_family"), g = !0, d = "quest_alignment_family", !0 == g && (Q = Boolean("true"), u = subGotStrings("Choosing this response will give you <strong>Family</strong> points. Family means to consider your loved ones first."), N = 300, y = void 0 != b && void 0 != b.y ? b.y : -95, w = void 0 != b && void 0 != b.x ? b.x : 334, z = 270, s = "#questbtminfo", Y = !0, Z = "icons/alignment-family-lg.png", aa = !0), doLogEvent("after checks=" + g);
        h = "quest_reward_alignment_mouseover_old_ways";
        doLogEvent("trigger_src=[" +
            h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: quest_alignment_old_ways"), g = !0, d = "quest_alignment_old_ways", !0 == g && (Q = Boolean("true"), u = subGotStrings("Choosing this response will give you <strong>Old Ways</strong> points. Old Ways means taking personal responsibility and adhering to the moral code of the Old Gods."), N = 300, y = void 0 != b && void 0 != b.y ? b.y : -95, w = void 0 != b && void 0 != b.x ? b.x : 334, z = 270, s = "#questbtminfo",
                Y = !0, Z = "icons/alignment-old_ways-lg.png", aa = !0), doLogEvent("after checks=" + g);
        h = "quest_reward_alignment_mouseover_new_ways";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: quest_alignment_new_ways"), g = !0, d = "quest_alignment_new_ways", !0 == g && (Q = Boolean("true"), u = subGotStrings("Choosing this response will give you <strong>New Ways</strong> points. New Ways means being chivalrous and obeying the Seven or the new traditions of R'hllor."),
                N = 300, y = void 0 != b && void 0 != b.y ? b.y : -95, w = void 0 != b && void 0 != b.x ? b.x : 334, z = 270, s = "#questbtminfo", Y = !0, Z = "icons/alignment-new_ways-lg.png", aa = !0), doLogEvent("after checks=" + g);
        h = "quest_reward_alignment_mouseover_cunning";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: quest_alignment_cunning"), g = !0, d = "quest_alignment_cunning", !0 == g && (Q = Boolean("true"), u = subGotStrings("Choosing this response will give you <strong>Cunning</strong> points. Cunning means taking advantage of opportunities and looking for ways to gain profit."),
                N = 300, y = void 0 != b && void 0 != b.y ? b.y : -95, w = void 0 != b && void 0 != b.x ? b.x : 334, z = 270, s = "#questbtminfo", Y = !0, Z = "icons/alignment-crafty-lg.png", aa = !0), doLogEvent("after checks=" + g);
        h = "quest_reward_alignment_mouseover_truthfulness";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g)
            doLogEvent("ui triggered: quest_alignment_truthfulness"), g = !0, d = "quest_alignment_truthfulness", !0 == g && (Q = Boolean("true"), u = subGotStrings("Choosing this response will give you <strong>Truthful</strong> points. Truthful means acting in a straightforward way."),
                N = 300, y = void 0 != b && void 0 != b.y ? b.y : -95, w = void 0 != b && void 0 != b.x ? b.x : 334, z = 270, s = "#questbtminfo", Y = !0, Z = "icons/alignment-truthfulness-lg.png", aa = !0), doLogEvent("after checks=" + g);
        h = "quest_reward_alignment_mouseout";
        doLogEvent("trigger_src=[" + h + "] event_name=[" + c + "]");
        if ((c == h || -1 != h.indexOf(",") && -1 != $.inArray(c, h.replace(/ /g, "").split(","))) && !0 != g) doLogEvent("ui triggered: quest_alignment_mouseout"), g = !0, d = "quest_alignment_mouseout", !0 == g && (ba = !0, H = ".image_tip"), doLogEvent("after checks=" + g);
        doLogEvent("uiEvent: firing=" +
            g);
        if (userContext.pauseEventTriggers && (!userContext.pauseEventTriggers || void 0 == userContext.pauseEventTriggers)) g = !1;
        if (!0 == g) {
            if (void 0 != O) for (obj in userContext.flags = [], userContext.playerData.stat) -1 != obj.indexOf("ui_flag_") && delete userContext.playerData.stat[String(obj)];
            void 0 != G && (doLogEvent("uiEvent: set_flag = " + G), userContext.flags[G] = !0);
            doLogEvent(" trigger_src=" + h + " event_name=" + c);
            userContext.tooltipsEnabled = ca;
            if (!1 == Q && void 0 == H && ($(".tuttip, .tuttip.tipbox").remove(), $(".tutarrow_wrap").remove(),
                ba) || void 0 != H && (0 == M ? $(H).remove() : $(H).fadeOut(M, function() { $(this).remove() }), ba)) return;
            void 0 != S && doMenuSelect(S);
            void 0 != p && dialogAlert({ style: "alert", text: p, heading: f, button1: m, symbol: D, image: void 0, image_width: void 0 });
            void 0 != q && iosSignal(q, k);
            if (void 0 != u || void 0 != C) {
                void 0 == u && (u = "");
                doLogEvent("uiEvent: display text: " + u);
                var J = "", fa = void 0, da = void 0, ha = [];
                b = "tuttip";
                g = "block";
                p = "auto";
                void 0 != C && -1 != C.indexOf(",") && (C = C.replace(/ /g, "").replace(/"/g, "'").split(","));
                "number" != typeof A &&
                    -1 != A.indexOf(",") && (A = A.split(","));
                "number" != typeof B && -1 != B.indexOf(",") && (B = B.split(","));
                if (0 < N || "" == u) g = "none";
                0 < I && (p = I + "px");
                T ? b += " tipbox" : Y && (b += " tipbox image_tip");
                aa && (b += " tip_high");
                J += '<div id="tip_' + d + '" class="' + b + '" style="width:' + z + "px; height: " + p + "; top: " + y + "px; left: " + w + "px; display: " + g + '">';
                !T && (!Y && "" != u) && (J += '<span class="tuttipbg"></span><p>' + u);
                void 0 != P && void 0 == T && (void 0 == R && console.warn("Next button tooltip specified with no Next button click handler!"), J += '<span class="btnwrap btnmed nextbtn" id="tip_next" onclick="uiEvent(\'' +
                    R + '\'); return false;"><span class="btnedge"><a class="btnbrown"><span></span>More</a></span></span>');
                void 0 != V && (void 0 == X ? (y = "confirm_override", console.warn("Confirm button tooltip specified with no Confirm button click handler. The button will only remove the tooltip.")) : y = X, J += '<span class="btnwrap btnmed nextbtn" id="tip_ok" onclick="uiEvent(\'' + y + '\'); return false;"><span class="btnedge"><a class="btnbrown"><span></span>Ok</a></span></span>');
                void 0 != T && (void 0 == U ? console.warn("NPC portrait for tooltip has no NPC specified.") :
                (J += "<em></em>", J += '<div class="chapternpcbg">', J += '\t<div class="chapternpcbox">', J += '\t\t<div class="chapternpcpic">', J += '\t\t\t<img id="tooltip_npc' + U + '" src= "' + getToolTipNpc(U).img + '" />', J += '\t\t\t<div class="chapternpcframe"></div>', J += "\t\t</div>", J += '\t\t<div class="chapternpctxt pic">', J += "\t\t\t<h6>" + getToolTipNpc(U).npc_name + "</h6>", J += "\t\t\t<p>" + u + "</p>", P && R && (J += '\t<span class="btnwrap btnmed nextbtn" id="tip_next" onclick="uiEvent(\'' + R + '\'); return false;"><span class="btnedge"><a class="btnbrown"><span></span>More</a></span></span>'),
                    J += "\t\t</div>", J += "\t</div>", J += "</div>"));
                Y && (void 0 == Z ? console.warn("Image for tooltip for event " + c + " has no path specified.") : (J += "<em></em>", J += '<div class="chapternpcbg">', J += '\t\t<div class="chapternpcpic" style="width: 72px; height: 70px">', J += '\t\t\t<img id="tooltip_npc" src= "' + assetUrl() + "/images/" + Z + '" style="width: 72px; height: 70px" />', J += "\t\t</div>", J += '\t\t<div class="chapternpctxt pic">', J += "\t\t\t<p>" + u + "</p>", P && R && (J += '\t<span class="btnwrap btnmed nextbtn" id="tip_next" onclick="uiEvent(\'' +
                    R + '\'); return false;"><span class="btnedge"><a class="btnbrown"><span></span>More</a></span></span>'), J += "\t\t</div>", J += "\t</div>", J += "</div>"));
                var J = J + "</div>",
                    ga = function(a) {
                        switch (void 0 == a ? C : C[a]) {
                        case "left":
                            return "tutarrowl";
                        case "right":
                            return "tutarrowr";
                        case "top":
                            return "tutarrowt";
                        case "bottom":
                            return "tutarrowb";
                        case "bottom_left":
                            return "tutarrowbl";
                        case "bottom_right":
                            return "tutarrowbr";
                        case "top_right":
                            return "tutarrowtr";
                        case "top_left":
                            return "tutarrowtl";
                        }
                    },
                    ia = function(a, b, c, f) {
                        if (void 0 !=
                            a) return f = "arrow_" + d + "_" + a + "_" + f, J += '<div class="tutarrow_wrap ' + a + '" style="', 0 != c && (J += "left: " + c + "px; "), 0 != b && (J += "top: " + b + "px;"), J += '"> <img src="/images/buttons/tutarrow.png" id="' + f + '"  class="tutarrow" width="70" height="70" /> </div>', f
                    };
                $.isArray(C) ? $.each(C, function(a, b) { void 0 != ga(a) && (ga(a), da = C[a], fa = ia(da, A[a], B[a], a), ha.push([fa, da])) }) : (ga(), da = C, fa = ia(da, A, B, 0), ha.push([fa, da]));
                doLogEvent("DBG: CURRENT DOM length=" + $(s));
                $(s).prepend(J);
                setTimeout(function() {
                    0 == $("#tip_" + d).length &&
                    (ea = setInterval(function() { 1 == $(s).length && (clearInterval(ea), $(s).prepend(J)) }, 500))
                }, 500);
                0 < N && $("#tip_" + d).fadeIn(N);
                0 < M && ($("#tip_" + d).delay(M).fadeOut("fast", function() { uiEvent(W, a) }), $.isArray(C) ? $.each(C, function(a, b) { $("#arrow_" + a + "_" + d).delay(M).fadeOut("fast") }) : $("#arrow__" + d).delay(M).fadeOut("fast"))
            }
        }
    } else isIpad() && 200 > mobileVersion ? uiEventSignalLegacy(c) : uiEventSignal(c);
};
log("Start analyzing user interface event function.", "initialize");

doAdventure = function doAdventure(c, a, b, callback) {

    // EXTENDER : Modfification
    if (userContext.setSwornSword && userContext.setSwornSword.damage && userContext.setSwornSword.damage == 4) {
        warn("Sworn sword has 4 wounds. Adventure will not continue.");
        return;
    }

//    console.debug("Logging parameters of doAdventure: ", c, a, b);

    if (void 0 != userContext.setSwornSword && void 0 != userContext.setSwornSword.batch_type && 0 != userContext.setSwornSword.batch_type)
        return 1 == userContext.setSwornSword.batch_type && (!1 == b && prepareAdvPartyTimeout(), $.ajax({
            url: "/play/batch_set_sworn_sword_target?batch_type=1&ss_id=" + userContext.setSwornSword.id + "&batch_action=" + a + "&target_symbol=" + c,
            dataType: "JSON",
            success: function(a) {
                questClose();
                showAdvPartyResponse(a);
                uiEvent("ss_adventure_party");
                return !0;
            },
            error: function(b) {
                400 ==
                    b.status ? advPartyFail() : 409 == b.status ? setTimeout(function() { doAdventure(c, a, !0) }, 5E3) : spinTimeout()
            }
        })), !1;
    $.ajaxQueue({
        url: "/play/adventure/" + userContext.setSwornSword.id + "?action_name=" + a + "&symbol=" + c,
        dataType: "JSON",
        success: function(b) {
            analytics.track("Adventure Start", { adventure_region: b.location, adventure_action: a, adventure_swornsword_id: userContext.setSwornSword.id, adventure_swornsword_level: userContext.setSwornSword.ugprade_level });
            analytics.wizardtrack("Adventure Start", {
                adventure_region: b.location,
                adventure_action: a,
                adventure_swornsword_id: userContext.setSwornSword.id,
                adventure_swornsword_level: userContext.setSwornSword.ugprade_level
            });
            adventureProgress(userContext.setSwornSword.id, b);
            uiEvent("do_adventure");
            "1" == userContext.playerData.stat.onboarding_ftue && uiTelemetry("ss_adventure");

            // EXTENDER :: Modification
            if (typeof callback == "function") {
                callback();
            }
        }
    });
};
log("Don't do adventure if sworn sword is about to die. Call callback when ready (bruting).", "initialize");

questDisplayById = function questDisplayById(c, a, b, d) {
    $("#modal_dialogs_top").hide();
    userContext.postQuestEvent = void 0;
    userContext.dialogIndex = 0;
    c = "/play/quest?quest_id=" + c;
    void 0 != a && (c += "&stage=" + a);
    !0 == b && (c += "&choice=" + userContext.currentQuest.option[userContext.currentAction].label);
    !0 == d && (c += "&repeat=1");
    showSpinner();
    $.ajax({
        url: c,
        dataType: "JSON",
        complete: hideSpinner,
        success: function(a) {
            doLog("questDisplayById: questModal");
            questModal(a);
        }
    });
    uiEvent("quest_display_by_id_" + a);
};
log("Analyzing display quest by id function.", "initialize");

adventurePartySend = function adventurePartySend(c) {
    !1 == c && prepareAdvPartyTimeout();
    $.ajax({
        url: "/play/batch_send?batch_type=1&nonce=" + userContext.advparty_nonce,
        dataType: "JSON",
        success: function(a) {
//            console.debug("Logging server response for adventure party sending: ", a);
            showAdvPartyResponse(a);

        },
        error: function(a) {
            400 == a.status ? advPartyFail() : 409 == a.status ?
                setTimeout(function() {
                    adventurePartySend(!0);
                }, 5E3) : spinTimeout();
        }
    });
};
log("Analyzing adventure party send function.", "initialize");

adventureProgress = function adventureProgress(c, a) {
    if (void 0 == a)
        showSpinner(),
            $.ajaxQueue({
                url: "/play/adventure_progress/" + c,
                dataType: "JSON",
                complete: hideSpinner,
                success: function(a) {
                    adventureProgress(c, a);

                    console.debug("Logging server response for adventure progress: ", a);
                }
            });
    else {
        userContext.playerData.stat.command = a.command;
        userContext.playerData.stat.current_command = a.current_command;
        userContext.playerData.stat.num_adventures_complete = a.num_adventures_complete;
        userContext.currentSwornSwordId = c;
        var b = extractItemById(playerInventory, c);
        void 0 == a.location ? (doLog("adventureProgress: item_id=" +
            c + " failed to load adventure progress"), b && 4 == b.cooldown_type && (b.cooldown = 0), ssStatus()) : a.item && (doLog("adventureProgress: Update SS"), insertInventoryFromItem(playerInventory, a.item));
        if (a.roll) {
            b = a.dialog_content;
            if (!b || 10 > b.length) b = subDescriptionBySymbol[a.location];
            var d = "";
            subImageBySymbol[a.location] && (d = subImageBySymbol[a.location].slice(0, -4));
            userContext.setSwornSword = extractItemById(playerInventory, a.item_id);
            ssResults({
                render: !0,
                context: "attack",
                pic: a.pic,
                title: a.title,
                side_pic: subSideImageBySymbol[a.location],
                region: subFactionBySymbol[a.location],
                subregion_pic: d,
                subregion_name: subNameBySymbol[a.location],
                id: -1,
                wounds: a.wounds,
                ability: a.ability,
                attacker: extractItemById(playerInventory, a.item_id),
                attacker_result: a.attacker_result,
                attacker_result_word: a.attacker_result_word,
                defender: { full_name: a.defender_name, rarity: 1, image: a.defender_image, flavor: a.defender_flavor, calc_trade: a.defender_trade, calc_battle: a.defender_battle, calc_intrigue: a.defender_intrigue },
                defender_result: a.defender_result,
                defender_result_word: a.defender_result_word,
                defender_descriptor: "Defender",
                attacker_strength: a.attacker_strength,
                defender_strength: a.defender_strength,
                attacker_percent: a.attacker_percent,
                attack_base: a.attack_base,
                attack_ss: a.attack_ss,
                attack_boon: a.attack_boon,
                attack_ability: a.attack_ability,
                challenge_rating: a.challenge_rating,
                dialog_content: b,
                reward_item: a.reward_item,
                reward_silver: a.reward_silver,
                reward_upgrade_points: a.reward_upgrade_points,
                xp_before: a.xp_before,
                xp_after: a.xp_after,
                roll: a.roll,
                repeat_adventure_symbol: a.symbol,
                adventure: !0
            }, void 0, "ssStatus(" + c + ");");
        } else
            doLog("ssProgress: [adventure]"), doLog(a.attacker), d = "", subImageBySymbol[a.location] && (d = subImageBySymbol[a.location].slice(0, -4)), userContext.pvpActionMode = !0,
                ssProgress({
                    render: !0,
                    context: "attack",
                    title: a.title,
                    side_pic: subSideImageBySymbol[a.location],
                    region: subFactionBySymbol[a.location],
                    subregion_pic: d,
                    subregion_name: subNameBySymbol[a.location],
                    duration: a.duration,
                    duration_remaining: a.duration_remaining,
                    callback: function() { adventureProgress(a.item_id) },
                    id: -1,
                    speed_up: !0,
                    ability: a.ability,
                    attacker: a.attacker,
                    defender: { full_name: a.defender_name, rarity: 1, image: a.defender_image, flavor: a.defender_flavor, calc_trade: a.defender_trade, calc_battle: a.defender_battle, calc_intrigue: a.defender_intrigue },
                    defender_descriptor: "Defender",
                    attacker_strength: a.attacker_strength,
                    defender_strength: a.defender_strength,
                    attacker_percent: a.attacker_percent,
                    challenge_rating: a.challenge_rating,
                    dialog_content: subDescriptionBySymbol[a.location],
                    adventure: !0
                }, void 0, applyBoon, "ssStatus(" + c + ");");
        return !1
    }
};
log("Analyzing adventure progress function.", "initialize");

purchaseTalents = function purchaseTalents()
{
    showSpinner();
    doLog("purchaseTalents:");
    doLog(userContext.pendingTalents);
    doLog("talentsModal: ajax load"); 
    $.ajax({
        type: "POST",
        url: "/play/purchase_talents?talents=" + escape(JSON.stringify(userContext.pendingTalents)) + "&client_seqnum=" + userContext.player_data_seqnum,
        dataType: "JSON",
        success: function(c) {
            oldCat = userContext.talentsTab;
            oldSub = userContext.currentTalentCategory;
            talentsModal(c);
            talentMainTab(oldCat);
            talentCategory(oldSub);
            for (var a in userContext.pendingTalents)
                userContext.pendingTalents.hasOwnProperty(a) &&
                (analytics.track("Talent Purchase", { talent_symbol: a, talent_rank: userContext.pendingTalents[a] }), analytics.wizardtrack("Talent Purchase", { talent_symbol: a, talent_rank: userContext.pendingTalents[a] }));
            iosSignal("talentsData", "purchase")
        }
    });

    return !1;
}
log("Analyzing purchase talents function.", "initialize");

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址