User prompt
When discount tags is clicked ensure discount prices are active
User prompt
What is stopping discount prices from working
User prompt
Why aren't the discount prices working
User prompt
Set discount prices from list to discount tags
User prompt
Ensure discount prices are used when player chooses discount price tags
User prompt
Move start button left 25
User prompt
Move start button left 100
User prompt
Move start button right 300
User prompt
Move start button down 100
User prompt
Move star button down 150 and right 300
User prompt
Randomly swap price tags with discount assets every 10 seconds
User prompt
Randomly swap price tags with discount assets
User prompt
Move title screen backdrop right 100
User prompt
Ensure price tags are kept in the game scene
User prompt
Please reinstate this system
User prompt
Please add this again
User prompt
Swap pricetags with discount randomly every 10 seconds ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
randomly swap pricetags with discount tags and when discount price is selected and matched with item honour discounted price ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Add discount tags randomly and swap them with price tags every 10 seconds and apply discount prices if they are selected and paired with the items ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Play intro sound when title screen appears
User prompt
When game loads and title screen appears play item1 sound
User prompt
Play item1 sound when player clicks start button
User prompt
Please fix the bug: 'ReferenceError: priceTagObjects is not defined' in or related to this line: 'for (var i = 0; i < priceTagObjects.length; ++i) {' Line Number: 839
User prompt
Please fix the bug: 'ReferenceError: priceTagObjects is not defined' in or related to this line: 'for (var i = 0; i < priceTagObjects.length; ++i) {' Line Number: 843
User prompt
Please fix the bug: 'ReferenceError: priceTagObjects is not defined' in or related to this line: 'for (var i = 0; i < priceTagObjects.length; ++i) {' Line Number: 839
/**** * Classes ****/ // Pricetag class to organize pricetag assets var Pricetag = Container.expand(function () { var self = Container.call(this); // Add a pricetag asset (default is the generic 'pricetag' shape, can be replaced with a specific asset) self.setTag = function (assetId, options) { // Remove previous tag if any if (self.tagAsset) { self.removeChild(self.tagAsset); } // Default options options = options || {}; if (options.anchorX === undefined) options.anchorX = 0.5; if (options.anchorY === undefined) options.anchorY = 0.5; if (options.x === undefined) options.x = 0; if (options.y === undefined) options.y = 0; self.tagAsset = self.attachAsset(assetId, {}); }; // Optionally, add price text self.setPrice = function (price, options) { if (self.priceText) { self.removeChild(self.priceText); } options = options || {}; var size = options.size || 40; var fill = options.fill || "#fff"; self.priceText = new Text2('$' + price.toFixed(2), { size: size, fill: fill }); self.priceText.anchor.set(0.5, 0.5); self.priceText.x = options.x !== undefined ? options.x : 0; self.priceText.y = options.y !== undefined ? options.y : 0; self.addChild(self.priceText); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Create a title page var titlePage = game.addChild(new Container()); titlePage.addChild(LK.getAsset('titlescreen', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366 })); // Create a start button using the Startbutton asset var startButton = titlePage.addChild(LK.getAsset('Startbutton', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1516 })); startButton.interactive = true; startButton.on('down', function () { // Play item1 sound when the start button is clicked LK.getSound('Item1').play(); // Remove the title page when the start button is clicked titlePage.destroy(); // Add the thrift background when the start button is clicked game.addChild(LK.getAsset('thriftBackground', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366 })); // Initialize inventory bar without background var inventoryBar = new Container(); inventoryBar.y += 300; // Extend inventory bar on top screen by 300 pixels game.addChild(inventoryBar); // Initialize bottom inventory bar without background var bottomInventoryBar = new Container(); game.addChild(bottomInventoryBar); // Add shopkeeper to the game screen var shopkeeper = game.addChild(LK.getAsset('shopkeeper', { anchorX: 0.5, anchorY: 0.5, x: 1224, y: 1430 })); shopkeeper.interactive = true; shopkeeper.on('down', function () { // Create a dialog container var dialog = new Container(); // Add a background box for the dialog var dialogBg = LK.getAsset('instructionBox', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366, scaleX: 1.1, scaleY: 1.1 }); dialog.addChild(dialogBg); // Add dialog text var dialogText = new Text2("Hey there! Want to sign up for a membership?\nMembers get 20% off everything in the store!", { size: 54, fill: "#fff" }); dialogText.anchor.set(0.5, 0.5); dialogText.x = 1024; dialogText.y = 1300; dialog.addChild(dialogText); // Add Yes and No buttons var yesBtn = LK.getAsset('categoryButton', { anchorX: 0.5, anchorY: 0.5, x: 924, y: 1450 }); var noBtn = LK.getAsset('categoryButton', { anchorX: 0.5, anchorY: 0.5, x: 1124, y: 1450 }); var yesText = new Text2("Yes", { size: 48, fill: "#fff" }); yesText.anchor.set(0.5, 0.5); yesText.x = 0; yesText.y = 0; yesBtn.addChild(yesText); var noText = new Text2("No", { size: 48, fill: "#fff" }); noText.anchor.set(0.5, 0.5); noText.x = 0; noText.y = 0; noBtn.addChild(noText); yesBtn.interactive = true; noBtn.interactive = true; // Membership state if (typeof game.isMember === "undefined") { game.isMember = false; } yesBtn.on('down', function () { game.isMember = true; // Defensive: Ensure priceTagObjects is defined if (typeof priceTagObjects === "undefined") { priceTagObjects = []; return dialog.destroy(); } // Apply 20% discount to all price tags, or stack if already discounted for (var i = 0; i < priceTagObjects.length; ++i) { var tag = priceTagObjects[i]; if (!tag._isDiscount) { tag.setPrice(parseFloat((tag.itemPrice * 0.8).toFixed(2)), { size: 36, fill: "#fff", x: 0, y: 60 }); } else { tag.setPrice(parseFloat((tag.itemPrice * 0.8 * 0.8).toFixed(2)), { size: 36, fill: "#fff", x: 0, y: 60 }); } } dialog.destroy(); }); noBtn.on('down', function () { game.isMember = false; // Defensive: Ensure priceTagObjects is defined if (typeof priceTagObjects === "undefined") { priceTagObjects = []; return dialog.destroy(); } // Restore all price tags to original price (unless they are currently a discount tag) for (var i = 0; i < priceTagObjects.length; ++i) { var tag = priceTagObjects[i]; if (!tag._isDiscount) { tag.setPrice(tag.itemPrice, { size: 36, fill: "#fff", x: 0, y: 60 }); } } dialog.destroy(); }); dialog.addChild(yesBtn); dialog.addChild(noBtn); // Remove dialog if background is tapped (but not if button is tapped) dialog.interactive = true; dialog.on('down', function (e) { // Only close if not clicking on a button if (e.target !== yesBtn && e.target !== noBtn) { dialog.destroy(); } }); game.addChild(dialog); }); // --- Begin floating price tag and click-to-buy system --- // List of items and their price tag asset/image IDs and prices var itemData = [{ name: 'Big Ass Coat', asset: 'bigAssCoat', price: 4.00, pricetagAsset: 'Pricetagbigasscoat', x: 1524, y: 2040 }, { name: 'Dookie Brown Leather Jacket', asset: 'dookieBrownLeatherJacket', price: 3.50, pricetagAsset: 'pricetagdookiebrownjacket', x: 2004, y: 2040 }, { name: 'Grandad\'s Coat', asset: 'granddadsClothes', price: 2.50, pricetagAsset: 'pricetaggrandadscoat', x: 1769, y: 2020 }, { name: 'Pink Leopard Mink', asset: 'pinkLeopardMink', price: 5.00, pricetagAsset: 'pricetagpinkleaperdmink', x: 300, y: 2100 }, { name: 'Plaid Button-Up Shirt', asset: 'plaidButtonUpShirt', price: 2.00, pricetagAsset: 'pricetagpladbuttonupshirt', x: 550, y: 1620 }, { name: 'Lord Jumpsuit', asset: 'velourJumpsuit', price: 3.00, pricetagAsset: 'Pricetagvelourjumpsuit', x: 100, y: 2120 }, { name: 'Built-In Onesie With Socks', asset: 'builtInOnesieWithSocks', price: 2.00, pricetagAsset: 'pricetagbeanie', // No specific asset, using beanie tag as fallback x: 820, y: 1600 }, { name: 'Zebra Pajamas', asset: 'flannelZebraPyjamas', price: 2.50, pricetagAsset: 'Pricetagzebrapyjamas', x: 750, y: 2020 }, { name: 'Fox Skin', asset: 'furFoxSkin', price: 4.50, pricetagAsset: 'pricetagfoxskin', x: 970, y: 2000 }, { name: 'Skeet Blanket', asset: 'skeetBlanket', price: 2.00, pricetagAsset: 'Pricetagskeetblanket', x: 1200, y: 2000 }, { name: 'House Slippers', asset: 'houseSlippers', price: 1.50, pricetagAsset: 'pricetaghouseslippers', x: 1700, y: 1320 }, { name: 'Wolf Skin Hat', asset: 'wolfSkinHat', price: 2.00, pricetagAsset: 'pricetagwolfskinhat', x: 520, y: 1290 }, { name: 'Gator Shoes', asset: 'gatorShoes', price: 3.00, pricetagAsset: 'Pricetaggatorshoes', x: 1800, y: 1430 }, { name: 'Velcro Sneakers', asset: 'velcroSneakers', price: 2.00, pricetagAsset: 'Pricetagvelcrosneakers', x: 1900, y: 1310 }, { name: 'Beanie', asset: 'Beanie', price: 1.50, pricetagAsset: 'pricetagbeanie', x: 370, y: 1150 }, { name: 'Baseball Cap', asset: 'baseballcap', price: 1.50, pricetagAsset: 'pricetagbaseballcap', x: 540, y: 1150 }, { name: 'Telescope', asset: 'telescope', price: 3.00, pricetagAsset: 'Pricetagtelescope', x: 900, y: 1030 }, { name: 'Kneeboard', asset: 'kneeBoard', price: 4.00, pricetagAsset: 'Pricetagkneeboard', x: 1500, y: 2200 }, { name: 'Broken Keyboard', asset: 'brokenKeyboard', price: 2.00, pricetagAsset: 'pricetagbrokenkeybord', x: 1770, y: 970 }]; // Store references to item containers and price tags var itemObjects = []; var priceTagObjects = []; // Ensure this is defined in the global scope before any use // Helper to get a random position within the game area (not overlapping items) function getRandomTagPosition() { var margin = 120; var x = Math.random() * (2048 - 2 * margin) + margin; var y = Math.random() * (2732 - 2 * margin) + margin; return { x: x, y: y }; } // Create items (static, not interactive for buying) for (var i = 0; i < itemData.length; ++i) { var data = itemData[i]; var item = game.addChild(LK.getAsset(data.asset, { anchorX: 0.5, anchorY: 0.5, x: data.x, y: data.y })); item.itemName = data.name; item.itemPrice = data.price; item.pricetagAsset = data.pricetagAsset; itemObjects.push(item); } // Create floating price tags for (var i = 0; i < itemData.length; ++i) { var data = itemData[i]; var tag = new Pricetag(); tag.setTag(data.pricetagAsset, { anchorX: 0.5, anchorY: 0.5 }); // Use membership discount if player is a member var priceToShow = data.price; if (typeof game.isMember !== "undefined" && game.isMember) { priceToShow = parseFloat((data.price * 0.8).toFixed(2)); } tag.setPrice(priceToShow, { size: 36, fill: "#fff", x: 0, y: 60 }); var pos = getRandomTagPosition(); tag.x = pos.x; tag.y = pos.y; tag.anchorX = 0.5; tag.anchorY = 0.5; tag.itemName = data.name; tag.itemPrice = data.price; tag.pricetagAsset = data.pricetagAsset; tag.interactive = true; priceTagObjects.push(tag); game.addChild(tag); } // Animate price tags to float around randomly game.update = function () { for (var i = 0; i < priceTagObjects.length; ++i) { var tag = priceTagObjects[i]; if (!tag.floatAngle) tag.floatAngle = Math.random() * Math.PI * 2; if (!tag.floatSpeed) tag.floatSpeed = 0.5 + Math.random() * 0.5; if (!tag.floatRadius) tag.floatRadius = 30 + Math.random() * 40; if (!tag.baseX) tag.baseX = tag.x; if (!tag.baseY) tag.baseY = tag.y; tag.floatAngle += 0.01 * tag.floatSpeed; tag.x = tag.baseX + Math.cos(tag.floatAngle) * tag.floatRadius; tag.y = tag.baseY + Math.sin(tag.floatAngle) * tag.floatRadius; } }; // --- Swap price tags with discount tags every 5 seconds --- var discountTagMap = { 'Pricetagbigasscoat': 'discountbigasscoat', 'pricetagdookiebrownjacket': 'discountleatherjacket', 'pricetaggrandadscoat': 'discountgrandadscoat', 'pricetagpinkleaperdmink': 'discountpinkleoperdmink', 'pricetagpladbuttonupshirt': 'discountplaidbuttonupshirt', 'Pricetagvelourjumpsuit': 'discountvelourjumpsuit', 'pricetagbeanie': 'Discountbeanie', 'Pricetagzebrapyjamas': 'discountzebrapajamas', 'pricetagfoxskin': 'discountfoxskin', 'Pricetagskeetblanket': 'discountskeetblanket', 'pricetaghouseslippers': 'discounthouseslippers', 'pricetagwolfskinhat': 'discountwolfskinhat', 'Pricetaggatorshoes': 'Discountgatorshoes', 'Pricetagvelcrosneakers': 'Discountvelcrosneakers', 'pricetagbaseballcap': 'Discountbaseballhat', 'Pricetagtelescope': 'Discounttelescope', 'Pricetagkneeboard': 'Discountkneeboard', 'pricetagbrokenkeybord': 'Discountbrokenkeyboard' }; // Store the original tag asset for each tag for (var i = 0; i < priceTagObjects.length; ++i) { var tag = priceTagObjects[i]; tag._originalTagAsset = tag.pricetagAsset; tag._isDiscount = false; } // Helper to swap a tag to discount or back function swapTagToDiscount(tag, toDiscount) { var discountAsset = discountTagMap[tag._originalTagAsset]; if (toDiscount && discountAsset && !tag._isDiscount) { tag.setTag(discountAsset, { anchorX: 0.5, anchorY: 0.5 }); // Always show 20% off price for discount tag, and if member, stack another 20% off var priceToShow = parseFloat((tag.itemPrice * 0.8).toFixed(2)); if (typeof game.isMember !== "undefined" && game.isMember) { priceToShow = parseFloat((tag.itemPrice * 0.8 * 0.8).toFixed(2)); } tag.setPrice(priceToShow, { size: 36, fill: "#fff", x: 0, y: 60 }); tag._isDiscount = true; } else if (!toDiscount && tag._isDiscount) { tag.setTag(tag._originalTagAsset, { anchorX: 0.5, anchorY: 0.5 }); // If member, keep 20% off price, else restore original price var priceToShow = tag.itemPrice; if (typeof game.isMember !== "undefined" && game.isMember) { priceToShow = parseFloat((tag.itemPrice * 0.8).toFixed(2)); } tag.setPrice(priceToShow, { size: 36, fill: "#fff", x: 0, y: 60 }); tag._isDiscount = false; } } // Timer to randomly swap price tags with discount tags every 5 seconds var swapTimer = LK.setInterval(function () { // Decide how many tags to swap (at least 1, up to half) var numToSwap = Math.max(1, Math.floor(Math.random() * (priceTagObjects.length / 2)) + 1); // Shuffle array of indices var indices = []; for (var i = 0; i < priceTagObjects.length; ++i) indices.push(i); for (var i = indices.length - 1; i > 0; --i) { var j = Math.floor(Math.random() * (i + 1)); var tmp = indices[i]; indices[i] = indices[j]; indices[j] = tmp; } // First, reset all tags to original for (var i = 0; i < priceTagObjects.length; ++i) { swapTagToDiscount(priceTagObjects[i], false); } // Then, pick random tags to swap to discount for (var k = 0; k < numToSwap; ++k) { var idx = indices[k]; swapTagToDiscount(priceTagObjects[idx], true); } }, 5000); // --- Click-to-buy logic --- // Track selection state var selectedTag = null; var selectedItem = null; // Helper: highlight a tag or item function highlight(obj, on) { if (!obj) return; if (on) { obj.alpha = 0.7; } else { obj.alpha = 1.0; } } // Price tag click handler function onTagDown(tag) { return function () { // If already selected, deselect if (selectedTag === tag) { highlight(selectedTag, false); selectedTag = null; return; } // If an item is already selected, try to buy if (selectedItem && selectedItem.itemName === tag.itemName) { // Attempt to buy // Determine price: use discount if tag is a discount tag var priceToUse = tag.itemPrice; var assetIdToUse = selectedItem ? selectedItem.assetId || tag.assetId || tag.itemName : tag.assetId || tag.itemName; if (tag._isDiscount) { priceToUse = parseFloat((tag.itemPrice * 0.8).toFixed(2)); // Stack member discount if member if (typeof game.isMember !== "undefined" && game.isMember) { priceToUse = parseFloat((tag.itemPrice * 0.8 * 0.8).toFixed(2)); } // Special case for beanie: use Discountbeanie asset if discount is active if (tag._originalTagAsset === 'pricetagbeanie' && tag._isDiscount) { assetIdToUse = 'Discountbeanie'; } else if (tag._originalTagAsset === 'pricetagbeanie' && !tag._isDiscount) { assetIdToUse = 'Beanie'; } } if (shoppingCart.addItem(tag.itemName, priceToUse)) { budgetText.setText('$' + shoppingCart.getBudget().toFixed(2)); // Remove both tag and item from scene tag.destroy(); selectedItem.destroy(); // Add to inventory bar var targetBar = inventoryBar.children.length < 10 ? inventoryBar : bottomInventoryBar; var itemSlot = targetBar.addChild(LK.getAsset('itemSlot', { anchorX: 0.5, anchorY: 0.5, x: targetBar.children.length * 180 + 90, y: 125 })); itemSlot.addChild(LK.getAsset(assetIdToUse, { anchorX: 0.5, anchorY: 0.5, x: 0, y: 0, scaleX: 0.5, scaleY: 0.5 })); } highlight(selectedTag, false); highlight(selectedItem, false); selectedTag = null; selectedItem = null; return; } // Otherwise, select this tag if (selectedTag) highlight(selectedTag, false); selectedTag = tag; highlight(selectedTag, true); }; } // Item click handler function onItemDown(item) { return function () { // If already selected, deselect if (selectedItem === item) { highlight(selectedItem, false); selectedItem = null; return; } // If a tag is already selected, try to buy if (selectedTag && selectedTag.itemName === item.itemName) { // Attempt to buy // Determine price: use discount if selectedTag is a discount tag var priceToUse = item.itemPrice; var assetIdToUse = item.assetId || (selectedTag ? selectedTag.assetId : null) || item.itemName; if (selectedTag && selectedTag._isDiscount) { priceToUse = parseFloat((item.itemPrice * 0.8).toFixed(2)); // Stack member discount if member if (typeof game.isMember !== "undefined" && game.isMember) { priceToUse = parseFloat((item.itemPrice * 0.8 * 0.8).toFixed(2)); } // Special case for beanie: use Discountbeanie asset if discount is active if (selectedTag._originalTagAsset === 'pricetagbeanie' && selectedTag._isDiscount) { assetIdToUse = 'Discountbeanie'; } else if (selectedTag._originalTagAsset === 'pricetagbeanie' && !selectedTag._isDiscount) { assetIdToUse = 'Beanie'; } } if (shoppingCart.addItem(item.itemName, priceToUse)) { budgetText.setText('$' + shoppingCart.getBudget().toFixed(2)); // Remove both tag and item from scene selectedTag.destroy(); item.destroy(); // Add to inventory bar var targetBar = inventoryBar.children.length < 10 ? inventoryBar : bottomInventoryBar; var itemSlot = targetBar.addChild(LK.getAsset('itemSlot', { anchorX: 0.5, anchorY: 0.5, x: targetBar.children.length * 180 + 90, y: 125 })); itemSlot.addChild(LK.getAsset(assetIdToUse, { anchorX: 0.5, anchorY: 0.5, x: 0, y: 0, scaleX: 0.5, scaleY: 0.5 })); } highlight(selectedTag, false); highlight(selectedItem, false); selectedTag = null; selectedItem = null; return; } // Otherwise, select this item if (selectedItem) highlight(selectedItem, false); selectedItem = item; highlight(selectedItem, true); }; } // Attach click handlers for (var i = 0; i < priceTagObjects.length; ++i) { var tag = priceTagObjects[i]; tag.on('down', onTagDown(tag)); } for (var i = 0; i < itemObjects.length; ++i) { var item = itemObjects[i]; item.interactive = true; item.assetId = itemData[i].asset; item.on('down', onItemDown(item)); } // --- End floating price tag and click-to-buy system --- // Add instruction box with black background to the middle of the screen var instructionBox = game.addChild(LK.getAsset('instructionBox', { anchorX: 0.5, anchorY: 0.5, x: 1024, y: 1366, scaleX: 1.5, scaleY: 1.5 })); var shoppingCart = new ShoppingCart(20); // Initialize shoppingCart with $20 in budget var budgetText = new Text2('$' + shoppingCart.getBudget().toFixed(2), { size: 50, fill: 0xFFFFFF }); budgetText.anchor.set(0.5, 0.5); budgetText.zIndex = 2; // Increase zIndex to place text in front of shopping cart var instructionText = new Text2('Welcome to Poppin\' Tags: A Thrift Shop Adventure.', { size: 50, fill: 0xFFFFFF }); instructionText.anchor.set(0.5, 0.5); instructionText.zIndex = 2; // Increase zIndex to place text in front of instruction box instructionBox.addChild(instructionText); instructionBox.interactive = true; var clickCount = 0; instructionBox.on('down', function () { clickCount++; if (clickCount === 1) { instructionText.setText('You have $20 in your pocket and are huntin\' for a come-up.'); } else if (clickCount === 2) { instructionText.setText('Try and buy all items on your shopping list \n as cheap as you can. This is gonna be AWESOME!!!'); } else if (clickCount === 3) { instructionBox.destroy(); shoppingCart = new ShoppingCart(20); // Create a shopping cart with $20 in budget var shoppingCartDisplay = game.addChild(LK.getAsset('moneyContainer', { anchorX: 0.5, anchorY: 0.5, x: 200, y: 300, scaleX: 1.5, scaleY: 1.5 })); budgetText = new Text2('$' + shoppingCart.getBudget().toFixed(2), { size: 50, fill: 0xFFFFFF }); budgetText.anchor.set(0.5, 0.5); budgetText.zIndex = 2; // Increase zIndex to place text in front of shopping cart shoppingCartDisplay.addChild(budgetText); } }); }); var ShoppingCart = /*#__PURE__*/function () { function ShoppingCart(initialBudget) { _classCallCheck(this, ShoppingCart); this.budget = initialBudget; this.items = []; } return _createClass(ShoppingCart, [{ key: "addItem", value: function addItem(item, price) { if (typeof this.budget === "string") { this.budget = parseFloat(this.budget.replace(/[^0-9.-]+/g, "")); } if (typeof price === "string") { price = parseFloat(price.replace(/[^0-9.-]+/g, "")); } if (this.budget >= price) { this.items.push(item); this.budget -= price; if (this.items.length === 17) { LK.showYouWin(); // Trigger win condition when all 17 items are collected } return true; } // Check if player can afford any remaining item, if not, trigger game over var canAfford = false; for (var i = 0; i < priceTagObjects.length; ++i) { var tag = priceTagObjects[i]; // Use discount price if tag is discount, otherwise normal price var tagPrice = tag.itemPrice; if (tag._isDiscount) { tagPrice = parseFloat((tag.itemPrice * 0.8).toFixed(2)); if (typeof game.isMember !== "undefined" && game.isMember) { tagPrice = parseFloat((tag.itemPrice * 0.8 * 0.8).toFixed(2)); } } else if (typeof game.isMember !== "undefined" && game.isMember) { tagPrice = parseFloat((tag.itemPrice * 0.8).toFixed(2)); } if (this.budget >= tagPrice) { canAfford = true; break; } } if (!canAfford) { LK.showGameOver(); } return false; } }, { key: "removeItem", value: function removeItem(item, price) { var index = this.items.indexOf(item); if (index > -1) { this.items.splice(index, 1); this.budget += price; } } }, { key: "getBudget", value: function getBudget() { return this.budget; } }, { key: "getItems", value: function getItems() { return this.items; } }]); }(); function _createClass(Constructor, protoProps, staticProps) { if (protoProps) { protoProps.forEach(function (prop) { Object.defineProperty(Constructor.prototype, prop.key, prop); }); } if (staticProps) { staticProps.forEach(function (prop) { Object.defineProperty(Constructor, prop.key, prop); }); } return Constructor; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
===================================================================
--- original.js
+++ change.js
@@ -64,8 +64,10 @@
y: 1516
}));
startButton.interactive = true;
startButton.on('down', function () {
+ // Play item1 sound when the start button is clicked
+ LK.getSound('Item1').play();
// Remove the title page when the start button is clicked
titlePage.destroy();
// Add the thrift background when the start button is clicked
game.addChild(LK.getAsset('thriftBackground', {
onesie with socks. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
big coat. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
brown leather jacket. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
flannel zebra pyjamas. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
fur fox skin. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Pink leopard mink coat. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Wolf skin hat. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Velour jumpsuit. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Telescope. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Dirty blanket. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Velcro sneakers. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Plaid button up shirt. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
music keyboard. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Shopping list that says Big ass coat, Broken keyboard, skeet blanket, pink leopard mink, built-in onesie with the socks. In-Game asset. 2d. High contrast. No shadows
Price tag that says big ass coat $4.00. In-Game asset. 2d. High contrast. No shadows
Price tag that says Kneeboard $4.00. In-Game asset. 2d. High contrast. No shadows
police tag that says Broken Keyboard for $2. In-Game asset. 2d. High contrast. No shadows
Price tag that says Telescope $3.00. In-Game asset. 2d. High contrast. No shadows
price tag that's says Dookie Brown Leather Jacket $3.50. In-Game asset. 2d. High contrast. No shadows
price tag that says pink leopard mink $5. In-Game asset. 2d. High contrast. No shadows
price tag that says plaid button up shirt $2. In-Game asset. 2d. High contrast. No shadows
Price tag that says Gator shoes $3.00. In-Game asset. 2d. High contrast. No shadows
price tag that says fox skin $4.50. In-Game asset. 2d. High contrast. No shadows
Price tag that says Velcro sneakers $2.00. In-Game asset. 2d. High contrast. No shadows
price tag that says house slippers $1.50. In-Game asset. 2d. High contrast. No shadows
Price tag that says velour jumpsuit $3.00. In-Game asset. 2d. High contrast. No shadows
price tag that says wolf skin hat $2. In-Game asset. 2d. High contrast. No shadows
Price tag that says skeet blanket $2.00. In-Game asset. 2d. High contrast. No shadows
Price tag that says Zebra Pyjamas $2.50. In-Game asset. 2d. High contrast. No shadows
Green Discount price tag that says Big ass coat $2.40. In-Game asset. 2d. High contrast. No shadows
green price tag that says discount Dookie Brown Leather Jacket $2.80. In-Game asset. 2d. High contrast. No shadows
Green price tag that says discount kneeboard $3.20. In-Game asset. 2d. High contrast. No shadows
green price tag that says discount plaid button up shirt $1.60. In-Game asset. 2d. High contrast. No shadows
green price tag that says discount zebra pajamas $2. In-Game asset. 2d. High contrast. No shadows
Green pricetag that says discount Telescope $2.40. In-Game asset. 2d. High contrast. No shadows
green price tag that says discount velour jumpsuit $2.40. In-Game asset. 2d. High contrast. No shadows
Green pricetag that says discount Velcro sneakers $1.60. In-Game asset. 2d. High contrast. No shadows
green price tag that says discount house slippers $1.20. In-Game asset. 2d. High contrast. No shadows
green price tag that says discount wolf skin hat $1.60. In-Game asset. 2d. High contrast. No shadows
Green pricetag that says discount gator shoes $2.40. In-Game asset. 2d. High contrast. No shadows
Green pricetag that says discount built in onesie with socks $1.60. In-Game asset. 2d. High contrast. No shadows
Price tag that says built-in onesie with socks $2.00. In-Game asset. 2d. High contrast. No shadows
green price tag that says discount pink leopard mink 99 cents! In-Game asset. 2d. High contrast. No shadows
green price tag that says discount fox skin $2 In-Game asset. 2d. High contrast. No shadows
green price tag that says discount skeet blanket $0.50 In-Game asset. 2d. High contrast. No shadows
Green price tag that says discount broken keyboard $1 In-Game asset. 2d. High contrast. No shadows
Make picture transparent
Make picture transparent
Make picture transparent
Make picture transparent
Make picture transparent
Add number 5 to painted area
Sign that says play the notes in right order to start the game. In-Game asset. 2d. High contrast. No shadows
portrait banner, high definition, for a game titled "Poppin' Tags: A Thrift Shop Trubute"
How to play button. In-Game asset. 2d. High contrast. No shadows
1
Sound effect
2
Sound effect
3
Sound effect
4
Sound effect
5
Sound effect
6
Sound effect
7
Sound effect
8
Sound effect
Item1
Sound effect
Instrumental
Music
instrumentalMusic
Music
Heymacklemore
Sound effect
Cash
Sound effect
Leopardmink
Sound effect
Gatorshoes
Sound effect
Houseslippers
Sound effect
Dookiebrown
Sound effect
Velcros
Sound effect
Grandmascoat
Sound effect
Bigasscoat
Sound effect
Kneeboard
Sound effect
Brokenkeyboard
Sound effect
Skeetblanket
Sound effect
Foxfur
Sound effect
Builtinonesie
Sound effect
Plaidshirt
Sound effect
Telescope
Sound effect
Velourjumpsuit
Sound effect
Wolfhat
Sound effect
Zebrajamies
Sound effect
Poptags
Sound effect
Probsshoulda
Sound effect