User prompt
remove statue text of trees and there bar
User prompt
Please fix the bug: 'createBarWithTimer is not defined' in or related to this line: 'createBarWithTimer(tree1, 150, '3/3');' Line Number: 220
User prompt
Remove anything about time or green_bar and its textfrom game
User prompt
Please fix the bug: 'timerText2 is not defined' in or related to this line: 'greenBar2.addChild(timerText2);' Line Number: 157
User prompt
Remove time text
User prompt
Remove any time and Make the time 2:30 min for each '1/3'.
User prompt
Don't show or start time or decreasing it only if any statue of the bar is decreased by 1 or 2 or 3
User prompt
Remove what's holding trees from been clicked or adding score for wood statue text
User prompt
Don't start the time only if any statue text its less the 3/3 by 1 or 2 or 0
User prompt
Decrease text by 1 for each click on tree
User prompt
Make the text '3/3' as statue counting clicks of the mouse on the tree object assets.
User prompt
Make text 3/3 for tree1
User prompt
Make the text 3/3 for all trees again
User prompt
fix it!
User prompt
The bar of tree3 is 0/3 but not replaced by half_tree!
User prompt
Make the asset half_tree the asset when tree statue text is 0/3 Hide the tree and show half_tree in its place as animation when statue text is 0/3.
User prompt
Make the text "+5 wood" appearing when i click on any image of tree objects assets
User prompt
Add small text "+5 wood" beside the clicked point from the left.
User prompt
Change the 200 of wood score from 200 to 205 when the tree image clicked by mouse button.
User prompt
add class for tree
User prompt
Can you fix the text of green_bars to decrease by click its tree and increasing 0/3 to 1/3 for each 2:30 min.
User prompt
Make the tree clickable again to add score from clicking it and play animation of +5 wood.
User prompt
If i click on image of tree on the screen make its bar decreasing by 1 for each click.
User prompt
If i click on the assets objects image of the tree add +5 wood to its score
User prompt
If mouse button down then up from any tree objects in the screen add +5 of ressource wood to its score statue text.
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // House class representing upgradeable houses var House = Container.expand(function () { var self = Container.call(this); var houseGraphics = self.attachAsset('house', { anchorX: 0.5, anchorY: 0.5 }); self.upgrade = function (resource) { // Logic for upgrading house with a resource }; }); /**** * Initialize Game ****/ //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ //<Write imports for supported plugins here> //<Assets used in the game will automatically appear here> // Timer class to manage countdown timers for game elements // Function to add time to the timer var Timer = function Timer(initialTime, onUpdate, onComplete) { this.minutes = Math.floor(initialTime / 60); this.seconds = initialTime % 60; this.onUpdate = onUpdate; this.onComplete = onComplete; this.interval = null; this.start = function () { var self = this; this.interval = LK.setInterval(function () { if (self.seconds === 0) { if (self.minutes > 0) { self.minutes -= 1; self.seconds = 59; } } else { self.seconds -= 1; } self.onUpdate(self.minutes, self.seconds); if (self.minutes === 0 && self.seconds === 0) { self.stop(); self.onComplete(); } }, 1000); }; this.stop = function () { if (this.interval) { LK.clearInterval(this.interval); this.interval = null; } }; }; function addTimeToTimer(seconds) { // Logic to add time to the timer // This could involve updating a timer display or a variable tracking the remaining time console.log("Added ".concat(seconds, " seconds to the timer.")); } // Add tree1 beside the house close to it from the left side var tree1 = LK.getAsset('tree', { anchorX: 0.5, anchorY: 0.5, x: 1205, // Position tree1 to the left of the house y: 1580 }); game.addChild(tree1); function createBarWithTimer(tree, initialTime, initialStatus) { var greenBar = LK.getAsset('green_bar', { anchorX: 0.5, anchorY: 1, x: tree.x, y: tree.y - tree.height / 2 - 10 // Position above the tree }); game.addChild(greenBar); tween(greenBar, { scaleX: 1 }, { duration: initialTime * 1000, easing: tween.linear }); var statusText = new Text2(initialStatus, { size: 50, fill: 0x7e4714 }); statusText.anchor.set(0.5, 0.9); greenBar.addChild(statusText); var timerText = new Text2('2:30', { size: 70, fill: 0xc77700 }); timerText.anchor.set(0.5, 1.5); // Position above the status text greenBar.addChild(timerText); var treeTimer = new Timer(initialTime, function (minutes, seconds) { timerText.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds); if (statusText && statusText.text) { var currentValue = parseInt(statusText.text.split('/')[0]); var totalSeconds = minutes * 60 + seconds; if (totalSeconds % 150 === 0) { currentValue += 1; } statusText.setText(currentValue + '/3'); } }, function () { timerText.visible = false; statusText.setText('3/3'); }); treeTimer.start(); } createBarWithTimer(tree1, 150, '2/3'); // Start the timer for tree2 when the game starts // Add tree2 beside tree1 from the left side var tree2 = LK.getAsset('tree', { anchorX: 0.5, anchorY: 0.5, x: tree1.x - 500, // Position tree2 to the left of tree1 y: tree1.y }); game.addChild(tree2); // Add green-bar with text '3/3' as a status bar on top middle of tree2 var greenBar2 = LK.getAsset('green_bar', { anchorX: 0.5, anchorY: 1, x: tree2.x, y: tree2.y - tree2.height / 2 - 10 // Position above the tree }); game.addChild(greenBar2); greenBar2.addChild(timerText2); var tree2Timer = new Timer(300, function (minutes, seconds) { timerText2.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds); }, function () { timerText2.visible = false; statusText2.setText('3/3'); }); tree2Timer.start(); // Add tree2 beside tree1 from the left side var tree2 = LK.getAsset('tree', { anchorX: 0.5, anchorY: 0.5, x: tree1.x - 500, // Position tree2 to the left of tree1 y: tree1.y }); game.addChild(tree2); // Add green-bar with text '3/3' as a status bar on top middle of tree2 var greenBar2 = LK.getAsset('green_bar', { anchorX: 0.5, anchorY: 1, x: tree2.x, y: tree2.y - tree2.height / 2 - 10 // Position above the tree }); game.addChild(greenBar2); var statusText2 = new Text2('1/3', { size: 50, fill: 0x7e4714 }); statusText2.anchor.set(0.5, 0.9); greenBar2.addChild(statusText2); // Display timer above the green bar if text is less than '3/3' var timerText2 = new Text2('5:00', { // Example time, adjust as needed size: 70, fill: 0xc77700 }); timerText2.anchor.set(0.5, 1.5); // Position above the status text greenBar2.addChild(timerText2); game.update = function () { if (statusText2.text !== '3/3') { // Change color based on status if (statusText2.text === '2/3') { greenBar2.tint = 0x00ff00; // Green } else if (statusText2.text === '1/3') { greenBar2.tint = 0xffff00; // Yellow } else if (statusText2.text === '0/3') { greenBar2.tint = 0xff0000; // Red } var timeParts = timerText2.text.split(':'); var minutes = parseInt(timeParts[0]); var seconds = parseInt(timeParts[1]); if (seconds === 0) { if (minutes > 0) { minutes -= 1; seconds = 59; } } else { seconds -= 1; } timerText2.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds); if (minutes === 0 && seconds === 0) { timerText2.visible = false; statusText2.setText('3/3'); } } }; // Add tree3 beside tree2 from the left side var tree3 = LK.getAsset('tree', { anchorX: 0.5, anchorY: 0.5, x: tree2.x - 500, // Position tree3 to the left of tree2 y: tree2.y }); game.addChild(tree3); // Start the timer for tree3 when the game starts var greenBar3 = LK.getAsset('green_bar', { anchorX: 0.5, anchorY: 1, x: tree3.x, y: tree3.y - tree3.height / 2 - 10 // Position above the tree }); game.addChild(greenBar3); greenBar3.addChild(timerText3); var tree3Timer = new Timer(450, function (minutes, seconds) { timerText3.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds); }, function () { timerText3.visible = false; statusText3.setText('3/3'); }); tree3Timer.start(); // Add green-bar with text '3/3' as a status bar on top middle of tree3 var greenBar3 = LK.getAsset('green_bar', { anchorX: 0.5, anchorY: 1, x: tree3.x, y: tree3.y - tree3.height / 2 - 10 // Position above the tree }); game.addChild(greenBar3); var statusText3 = new Text2('0/3', { size: 50, fill: 0x7e4714 }); statusText3.anchor.set(0.5, 0.9); greenBar3.addChild(statusText3); // Display timer above the green bar if text is less than '3/3' var timerText3 = new Text2('7:30', { // Example time, adjust as needed size: 70, fill: 0xc77700 }); timerText3.anchor.set(0.5, 1.5); // Position above the status text greenBar3.addChild(timerText3); game.update = function () { if (statusText3.text !== '3/3') { // Change color based on status if (statusText3.text === '2/3') { greenBar3.tint = 0x00ff00; // Green } else if (statusText3.text === '1/3') { greenBar3.tint = 0xffff00; // Yellow } else if (statusText3.text === '0/3') { greenBar3.tint = 0xff0000; // Red } var timeParts = timerText3.text.split(':'); var minutes = parseInt(timeParts[0]); var seconds = parseInt(timeParts[1]); if (seconds === 0) { if (minutes > 0) { minutes -= 1; seconds = 59; } } else { seconds -= 1; } timerText3.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds); if (minutes === 0 && seconds === 0) { timerText3.visible = false; statusText3.setText('3/3'); } } }; createBarWithTimer(tree1, 150, '2/3'); // Initialize arrays and variables var resources = []; var houses = []; var score = 200; var woodScore = 200; var resources = []; var houses = []; var score = 0; // Function to create houses function createHouse(x, y) { var house = new House(); house.x = x; // Position the house at the given x coordinate house.y = y; // Position the house at the given y coordinate houses.push(house); game.addChild(house); } createHouse(1705, 1580); var bird = LK.getAsset('bird', { anchorX: 1.6, anchorY: 3.5, x: 1705, y: 1580 }); game.addChild(bird); var wall = LK.getAsset('wall1', { anchorX: 0.5, anchorY: 0, x: 1017, y: 0, scaleX: 2 }); game.addChild(wall); game.down = function (x, y, obj) { if ([tree1, tree2, tree3].some(function (tree) { return tree.intersects({ x: x, y: y }); })) { var statusText = [statusText, statusText2, statusText3][[tree1, tree2, tree3].indexOf(tree)]; var greenBar = [greenBar, greenBar2, greenBar3][[tree1, tree2, tree3].indexOf(tree)]; var currentValue = parseInt(statusText.text.split('/')[0]); if (currentValue > 0) { currentValue -= 1; statusText.setText(currentValue + '/3'); greenBar.width -= greenBar.width / 3; // Decrease the bar width woodScore += 5; text1.setText(woodScore.toString()); var woodText = new Text2('+5 wood', { size: 50, fill: 0xffffff }); woodText.anchor.set(0.5, 0.5); woodText.x = x; woodText.y = y - 60; game.addChild(woodText); var woodImage = LK.getAsset('wood', { anchorX: 0.5, anchorY: 0.5, x: woodText.x - 100, y: woodText.y }); game.addChild(woodImage); var numberFive = LK.getAsset('5wood', { anchorX: 0.5, anchorY: 0.5, x: woodImage.x + 60, y: woodImage.y }); game.addChild(numberFive); LK.effects.moveTo(woodText, woodText.x, woodText.y - 100, 1000, function () { woodText.destroy(); }); LK.effects.moveTo(woodImage, woodImage.x, woodImage.y - 100, 1000, function () { woodImage.destroy(); }); LK.effects.moveTo(numberFive, numberFive.x, numberFive.y - 100, 1000, function () { numberFive.destroy(); }); } else { // If the bar is at 0/3, start a 3-second timer LK.setTimeout(function () { // Logic to handle when the player doesn't click the tree for 3 seconds console.log("3 seconds passed without clicking the tree."); }, 3000); } if (currentValue > 0) { currentValue -= 1; statusText.setText(currentValue + '/3'); greenBar.width -= greenBar.width / 3; // Decrease the bar width } if (currentValue > 0) { currentValue -= 1; statusText.setText(currentValue + '/3'); greenBar.width -= greenBar.width / 3; // Decrease the bar width } // Decrease the bar for tree3 if (tree3.intersects({ x: x, y: y })) { var currentValue3 = parseInt(statusText3.text.split('/')[0]); if (currentValue3 > 0) { currentValue3 -= 1; statusText3.setText(currentValue3 + '/3'); greenBar3.width -= greenBar3.width / 3; // Decrease the bar width if (currentValue3 === 2) { addTimeToTimer(150); // 150 seconds = 2:30 min } else if (currentValue3 === 1) { addTimeToTimer(300); // 300 seconds = 5:00 min } else if (currentValue3 === 0) { addTimeToTimer(450); // 450 seconds = 7:30 min } woodScore += 5; score += 200; text1.setText(woodScore.toString()); var woodText3 = new Text2('+5 wood', { size: 50, fill: 0xffffff }); woodText3.anchor.set(0.5, 0.5); woodText3.x = tree3.x; woodText3.y = tree3.y - tree3.height / 2 - 60; game.addChild(woodText3); var woodImage3 = LK.getAsset('half_tree', { anchorX: 0.5, anchorY: 0.5, x: woodText3.x - 100, y: woodText3.y }); game.addChild(woodImage3); var numberFive3 = LK.getAsset('5wood', { anchorX: 0.5, anchorY: 0.5, x: woodImage3.x + 60, y: woodImage3.y }); game.addChild(numberFive3); LK.effects.moveTo(woodText3, woodText3.x, woodText3.y - 100, 1000, function () { woodText3.destroy(); }); LK.effects.moveTo(woodImage3, woodImage3.x, woodImage3.y - 100, 1000, function () { woodImage3.destroy(); }); LK.effects.moveTo(numberFive3, numberFive3.x, numberFive3.y - 100, 1000, function () { numberFive3.destroy(); }); } if (currentValue3 > 0) { currentValue3 -= 1; statusText3.setText(currentValue3 + '/3'); greenBar3.width -= greenBar3.width / 3; // Decrease the bar width } if (currentValue3 > 0) { currentValue3 -= 1; statusText3.setText(currentValue3 + '/3'); greenBar3.width -= greenBar3.width / 3; // Decrease the bar width } } // Decrease the bar for tree2 if (tree2.intersects({ x: x, y: y })) { var currentValue2 = parseInt(statusText2.text.split('/')[0]); if (currentValue2 > 0) { currentValue2 -= 1; statusText2.setText(currentValue2 + '/3'); greenBar2.width -= greenBar2.width / 3; // Decrease the bar width if (currentValue2 === 2) { addTimeToTimer(150); // 150 seconds = 2:30 min } else if (currentValue2 === 1) { addTimeToTimer(300); // 300 seconds = 5:00 min } else if (currentValue2 === 0) { addTimeToTimer(450); // 450 seconds = 7:30 min } woodScore += 5; score += 200; text1.setText(woodScore.toString()); var woodText2 = new Text2('+5 wood', { size: 50, fill: 0xffffff }); woodText2.anchor.set(0.5, 0.5); woodText2.x = tree2.x; woodText2.y = tree2.y - tree2.height / 2 - 60; game.addChild(woodText2); var woodImage2 = LK.getAsset('half_tree', { anchorX: 0.5, anchorY: 0.5, x: woodText2.x - 100, y: woodText2.y }); game.addChild(woodImage2); var numberFive2 = LK.getAsset('5wood', { anchorX: 0.5, anchorY: 0.5, x: woodImage2.x + 60, y: woodImage2.y }); game.addChild(numberFive2); LK.effects.moveTo(woodText2, woodText2.x, woodText2.y - 100, 1000, function () { woodText2.destroy(); }); LK.effects.moveTo(woodImage2, woodImage2.x, woodImage2.y - 100, 1000, function () { woodImage2.destroy(); }); LK.effects.moveTo(numberFive2, numberFive2.x, numberFive2.y - 100, 1000, function () { numberFive2.destroy(); }); } if (currentValue2 > 0) { currentValue2 -= 1; statusText2.setText(currentValue2 + '/3'); greenBar2.width -= greenBar2.width / 3; // Decrease the bar width } if (currentValue2 > 0) { currentValue2 -= 1; statusText2.setText(currentValue2 + '/3'); greenBar2.width -= greenBar2.width / 3; // Decrease the bar width } } // Decrease the bar for tree1 if (tree1.intersects({ x: x, y: y })) { var currentValue = parseInt(statusText.text.split('/')[0]); if (currentValue > 0) { currentValue -= 1; statusText.setText(currentValue + '/3'); // Increase wood score by 5 woodScore += 5; text1.setText(woodScore.toString()); // Play wood collection animation var woodText = new Text2('+5 wood', { size: 50, fill: 0xffffff }); woodText.anchor.set(0.5, 0.5); woodText.x = tree1.x; woodText.y = tree1.y - tree1.height / 2 - 60; game.addChild(woodText); var woodImage = LK.getAsset('wood', { anchorX: 0.5, anchorY: 0.5, x: woodText.x - 100, y: woodText.y }); game.addChild(woodImage); var numberFive = LK.getAsset('5wood', { anchorX: 0.5, anchorY: 0.5, x: woodImage.x + 60, y: woodImage.y }); game.addChild(numberFive); // Animate the text and image upwards and fade out LK.effects.moveTo(woodText, woodText.x, woodText.y - 100, 1000, function () { woodText.destroy(); }); LK.effects.moveTo(woodImage, woodImage.x, woodImage.y - 100, 1000, function () { woodImage.destroy(); }); LK.effects.moveTo(numberFive, numberFive.x, numberFive.y - 100, 1000, function () { numberFive.destroy(); }); } } } }; game.up = function (x, y, obj) { [tree1, tree2, tree3].forEach(function (tree, index) { if (tree.intersects({ x: x, y: y })) { var statusText = [statusText, statusText2, statusText3][index]; var currentValue = parseInt(statusText.text.split('/')[0]); if (currentValue > 0) { currentValue -= 1; statusText.setText(currentValue + '/3'); woodScore += 5; text1.setText(woodScore.toString()); var woodText = new Text2('+5 wood', { size: 50, fill: 0xffffff }); woodText.anchor.set(0.5, 0.5); woodText.x = tree.x; woodText.y = tree.y - tree.height / 2 - 60; game.addChild(woodText); LK.effects.moveTo(woodText, woodText.x, woodText.y - 100, 1000, function () { woodText.destroy(); }); } } }); }; // Update game logic // Add a small text of score at the top middle of the screen var text1 = new Text2('200', { size: 33, fill: 0xad6d19 }); text1.anchor.set(8.6, -0.4); // Center the text horizontally at the top var wood = LK.getAsset('wood', { anchorX: -4, anchorY: -0.7, x: text1.x - 20, // Position the wood asset to the left of text1 y: text1.y }); game.addChild(wood); text1.x = wood.x + wood.width / 2 + 10; // Position the text to the right of the wood asset text1.y = wood.y; // Align the text vertically with the wood asset LK.gui.top.addChild(text1); // Add wood asset beside score of text one on the left side of it. var text2 = new Text2('200', { size: 33, fill: 0xffffff }); text2.anchor.set(2.2, -0.4); // Center the text horizontally at the top LK.gui.top.addChild(text2); // Add stone asset beside score of text2 on the left side of it. var stone = LK.getAsset('stone', { anchorX: -12.8, anchorY: -0.7, x: text2.x - 20, // Position the stone asset to the left of text2 y: text2.y }); game.addChild(stone); var text3 = new Text2('200', { size: 33, fill: 0xac4002 }); text3.anchor.set(-3.25, -0.4); // Center the text horizontally at the top // Add bronze asset beside score of text3 on the left side of it. var bronze = LK.getAsset('bronze', { anchorX: -21.43, anchorY: -0.7, x: 0, // Temporary position, will be updated after text3 is defined y: 0 // Temporary position, will be updated after text3 is defined }); game.addChild(bronze); text3.x = bronze.x + bronze.width / 2 + 10; // Position the text to the right of the bronze asset text3.y = bronze.y; // Align the text vertically with the bronze asset LK.gui.top.addChild(text3); var text4 = new Text2('200', { size: 33, fill: 0xc7c7c7 }); text4.anchor.set(-10.1, -0.4); // Center the text horizontally at the top LK.gui.top.addChild(text4); // Add silver asset beside score of text4 on the right side of it. var silver = LK.getAsset('silver', { anchorX: -30.1, anchorY: -0.7, x: text4.x + 20, // Position the silver asset to the right of text4 y: text4.y }); game.addChild(silver); // Add gold asset beside score of text5 on the left side of it. var gold = LK.getAsset('gold', { anchorX: -3.6, anchorY: -2.2, x: 0, // Temporary position, will be updated after text5 is defined y: 0 // Temporary position, will be updated after text5 is defined }); game.addChild(gold); var text5 = new Text2('200', { size: 33, fill: 0xfffb03 }); text5.anchor.set(9, -1.9); // Center the text horizontally at the top text5.x = gold.x + gold.width / 2 + 10; // Position the text to the right of the gold asset text5.y = gold.y; // Align the text vertically with the gold asset LK.gui.top.addChild(text5); var text6 = new Text2('200', { size: 33, fill: 0xf700ff }); text6.anchor.set(2.2, -1.9); // Center the text horizontally at the top LK.gui.top.addChild(text6); // Add crystal asset beside score of text6 on the left side of it. var crystal = LK.getAsset('crystal', { anchorX: -12.8, anchorY: -2.2, x: text6.x - 20, // Position the crystal asset to the left of text6 y: text6.y }); game.addChild(crystal); var text7 = new Text2('200', { size: 33, fill: 0xad6d19 }); text7.anchor.set(-3.65, -1.9); // Center the text horizontally at the top text7.x = crystal.x + crystal.width / 2 + 10; // Position the text to the right of the crystal asset text7.y = crystal.y; // Align the text vertically with the crystal asset LK.gui.top.addChild(text7); var text8 = new Text2('200', { size: 33, fill: 0xad6d19 }); text8.anchor.set(-10.1, -1.9); // Center the text horizontally at the top LK.gui.top.addChild(text8); var grass = LK.getAsset('grass', { anchorX: 0.5, anchorY: -1, x: 1024, y: 1366, scaleX: 1, scaleY: 1 }); game.addChildAt(grass, 0); // Add sky asset to the game as background var sky = LK.getAsset('sky', { anchorX: 0.5, anchorY: 0.58, x: 1024, y: 1310, scaleX: 7, scaleY: 5.6 }); game.addChildAt(sky, 0); // Add dirt asset to the game as background var dirt = LK.getAsset('dirt', { anchorX: 0.06, anchorY: -1.66, x: 100, y: 500, scaleX: 19, scaleY: 3 }); game.addChildAt(dirt, 1); game.move = function (x, y, obj) {}; game.update = function () { houses.forEach(function (house) { // Logic for house updates }); // Removed the asset '5' from the screen };
===================================================================
--- original.js
+++ change.js
@@ -109,17 +109,10 @@
timerText.setText(minutes + ':' + (seconds < 10 ? '0' : '') + seconds);
if (statusText && statusText.text) {
var currentValue = parseInt(statusText.text.split('/')[0]);
var totalSeconds = minutes * 60 + seconds;
- if (currentValue === 0 && totalSeconds === 450) {
- // 7:30 minutes
+ if (totalSeconds % 150 === 0) {
currentValue += 1;
- } else if (currentValue === 1 && totalSeconds === 330) {
- // 5:30 minutes
- currentValue += 1;
- } else if (currentValue === 2 && totalSeconds === 150) {
- // 2:30 minutes
- currentValue += 1;
}
statusText.setText(currentValue + '/3');
}
}, function () {
2D wreckage of wood, square, HD colors. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
House from the front facing the screen with big sign above it have description "SHOP", Hd colors
coin with colors, have "DA", hd colors. have black circles and black line for the "DA", between the 2 circles do small black lines all around. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Modern App Store icon, square with rounded corners, HD colors for a 2d game titled "The Collector" and with the description "about building houses and trees and decorations on a map to make it look like city, which then generate "DA" coins after a countdown timer expires. Players can collect these coins to increase their score, which they can then use to purchase more houses and trees and decorations from the shop button on the middle left side of the screen". with text on the middle top of the banner "the collector"!