- 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 || void 0 === b || b.length == 0) {
- return;
- } else if (null === a || void 0 === a) {
- return;
- } else {
- if (null === e || void 0 === e)
- e = [
- 0,
- 0
- ];
- if (null === g || void 0 === 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(b, callback) {
- var a = buildingByItemId(b), c = itemFromId(a.producing_archetype_id);
- userContext.lastFinish = a.symbol;
- doLog("doFinishProduction: building_id=" + b + " symbol=" + a.symbol + " producing=" + c.symbol);
- "Upgrade" !== c.slot && (analytics.track("Production Finish", { building_symbol: a.symbol, item_symbol: c.symbol, item_category: c.slot }), analytics.wizardtrack("Production Finish", { building_symbol: a.symbol, item_symbol: c.symbol, item_category: c.slot }));
- var d = "finish-" + b;
- userLock(d) && (playSound("build"),
- isWeb() && $("#collect_" + a.symbol).html(""), $.ajax({
- url: "/play/finish_production/" + b,
- dataType: "JSON",
- success: function(a) {
- //console.debug("Logging server response for doFinishProduction: ", a);
-
- doLog("doFinishProduction: succeess ");
- freeLock(d);
- var c = buildingByItemId(b, 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;
- c.producing_archetype_id = null;
- c.modifier = null;
- c.recipe_symbol = null;
- var f = extractItemBySymbol(playerInventory, c.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: c.symbol, status: "idle" }
- : { symbol: c.symbol, status: "idle", upgrade: q },
- iosSignal("finish_production", "update", f),
- isAndroid()
- && mobileCooldownDataSignal([{ mode: "building", symbol: c.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(!0, function (a) {
- userContext.playerData.quests = a.quests;
- reRenderQuestActionItems()
- }) : "stacks_of_coins" == a.produced_item.symbol && (userContext.playerData.stat.ftpe_decorative_blade = 1));
-
- "Upgrade" == theNewItem.slot && (buildingUpgradePanel(c.symbol), userContext.playerData.stat[c.symbol + "_upgrades_finished"] = void 0 == userContext.playerData.stat[c.symbol + "_upgrades_finished"] ? 1 : userContext.playerData.stat[c.symbol +
- "_upgrades_finished"] + 1);
- updatePlayerInfo(userContext.playerData);
- updateAllStatus();
- } else {
-
- // EXTENDER :: Modification ...
- console.debug("This building is still producing! Building: ", a.building);
- }
-
- if (typeof callback == "function") {
- //console.debug("Calling callback... ");
- callback(a); // pass response
- }
- }
- }));
- };
- log("Finish production and call callback if any. Fix bug.", "initialize");