User prompt
Didnt work.
User prompt
It didnt work
User prompt
So basically when you buy the first worker upgrade it is forever bought for that player's save file. So the text shouldn't reset when you refresh
User prompt
Can you please create a global save file so no mater ehat it will save your progress including your workerupgrades when you buy it once and refrsh the game, you will be at the second upgrade ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
No the other cloverskin asset, the one that appears when you equip it
User prompt
Make it so when you equip the cloverskin asset, whenever you click on the button, the clover asset comes flying out in an animation ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'leperachuanhatButton.down = function (x, y, obj) {' Line Number: 150
User prompt
When you click the leperachaunhat asset nothing happens
User prompt
Please fix the bug: 'Script error.' in or related to this line: 'leperachuanhatButtonText.setText(leperachuanhatValue === 2 ? 'Equipped' : leperachuanhatValue === 1 ? 'Owned' : '125 Clovers');' Line Number: 672
User prompt
Still doesnt work
User prompt
It didnt work
User prompt
Make a new offer next to the cloverskin asset with the same logic but use the leperachuanhat asset and make it 125 clovers
User prompt
Found a glitch where when you leave the shop and go back even if you bought the cloverskin already, the text says 30 clovers again, please fix that and make the text say owned or equipped depending on what the clover skin
User prompt
You have to buy the cloverskin first
User prompt
But in the beggininging of the game you have to buy it
User prompt
Ok, so the text under the cloverskin says 30 clovers, even if it is bought, so fix that please
User prompt
Use the cloverskinvalue. When the game starts the cloverskinvalue equals 0, when you buy it the cloverskinvlaue equals 1. When you equip it the cloverskinvalues equals to 2
User prompt
Still didnt work
User prompt
It didnt work
User prompt
Found a glitch in the patrick's shop where if you buy the clover skin and leave the shop. If you go back then you have to buy the cloverskin again. Please fix that
User prompt
Found a glitch where if you buy the cloverskin or the leperachaunhat, leave the shop and go back, you have to bu it again. Please fix that
User prompt
The leperachaunhat asset costs 125 clovers and when it is bought it is like the cloverskin asset where it is a toggle for when the leperachaunhat asset appears and disapears
User prompt
Foud a glitch where when you open snd close the shop the leperachauhatasset isstill visible pleasefixthat
User prompt
Now add another offer next to the cloverskin asset in the patrick's shop and use the leperachaunhat asset and make it cost 125$
User prompt
Now the cloverskin is like the greenglowy, when you buy it, it is a toggle to make the cloverskin asset appear and dissapear
/**** * Plugins ****/ var storage = LK.import("@upit/storage.v1", { points: 0, clovers: 0, upgrades: { workerValue: 0 }, unlockedSkins: [] }); var tween = LK.import("@upit/tween.v1"); /**** * Initialize Game ****/ //<Write entity 'classes' with empty functions for important behavior here> var game = new LK.Game({ backgroundColor: 0xFFFFFF //Init game with white background }); /**** * Game Code ****/ // Add a new upgrade button using the patrick asset for +1 clover at the cost of 25 clovers var patrickUpgradeButton = LK.getAsset('patrickshop', { width: 600, height: 300, x: 1448, y: 620 // Position below the clicker upgrade button }); game.addChild(patrickUpgradeButton); var patrickUpgradeText = new Text2('+1 clover 25 ', { size: 100, fill: 0x000000 }); patrickUpgradeText.x = patrickUpgradeButton.x + patrickUpgradeButton.width / 2 - patrickUpgradeText.width / 2; patrickUpgradeText.y = patrickUpgradeButton.y + patrickUpgradeButton.height / 2 - patrickUpgradeText.height / 2; game.addChild(patrickUpgradeText); // Add clover asset next to the '25' in the patrick upgrade text var patrickCloverAsset = LK.getAsset('Clovers', { width: 50, height: 50, x: patrickUpgradeText.x + patrickUpgradeText.width, y: patrickUpgradeText.y }); game.addChild(patrickCloverAsset); patrickUpgradeButton.down = function (x, y, obj) { // Logic for patrick upgrade if (clovers >= 25) { clovers -= 25; cloversText.setText('Clovers: ' + clovers); storage.clovers = clovers; console.log("+1 clover upgrade purchased. Double clover gain every 3 clicks activated."); // Set a flag to indicate the clover upgrade is active cloverUpgradeActive = true; // Remove the clover upgrade button and its associated text and asset game.removeChild(patrickUpgradeButton); game.removeChild(patrickUpgradeText); game.removeChild(patrickCloverAsset); } else { console.log("Not enough clovers for +1 clover upgrade."); } }; var retroglowvalue = 0; // Initialize retroglowvalue globally to track Retroglow status //<Write imports for supported plugins here> //<Assets used in the game will automatically appear here> function openShopMenu() { // Logic to display the shop menu console.log("Shop menu is now open."); // Create a large shop menu var shopMenu = LK.getAsset('Shop', { width: 1600, // Increase width height: 1600, // Increase height to make it taller x: 2048 / 2 - 800, // Center horizontally y: 2732 / 2 - 800 // Center vertically }); game.addChild(shopMenu); // Add greenglow asset purchase option var greenglowButton = LK.getAsset('Greenglowy', { width: 400, height: 400, x: shopMenu.x + 100, y: shopMenu.y + 100 }); game.addChild(greenglowButton); var greenglowButtonText = new Text2(greenglowyvalue === 2 ? 'Equipped' : greenglowyvalue === 1 ? 'Owned' : '20$ Greenglow', { size: 70, fill: 0x000000 }); greenglowButtonText.x = greenglowButton.x + greenglowButton.width / 2 - greenglowButtonText.width / 2; greenglowButtonText.y = greenglowButton.y + greenglowButton.height / 2 - greenglowButtonText.height / 2 + 250; game.addChild(greenglowButtonText); // Add retroglow asset purchase option var retroglowButton = LK.getAsset('Retroglow', { width: 400, height: 400, x: shopMenu.x + 100, y: shopMenu.y + 600 // Position under greenglowButton }); game.addChild(retroglowButton); var retroglowButtonText = new Text2(retroglowvalue === 2 ? 'Equipped' : retroglowvalue === 1 ? 'Owned' : '150$ Retroglow', { size: 70, fill: 0x000000 }); retroglowButtonText.x = retroglowButton.x + retroglowButton.width / 2 - retroglowButtonText.width / 2; retroglowButtonText.y = retroglowButton.y + retroglowButton.height / 2 - retroglowButtonText.height / 2 + 250; game.addChild(retroglowButtonText); retroglowButton.down = function (x, y, obj) { if (retroglowvalue === 1) { console.log("Retroglow already owned."); retroglowvalue = 2; // Set value to 2 if clicked again after purchase retroglowButtonText.setText('Equipped'); // Update text to 'Equipped' if (typeof retroglowOverlay !== 'undefined') { game.removeChild(retroglowOverlay); retroglowOverlay = undefined; } ; // Logic for leperachuanhat purchase if (typeof leperachuanhatButton !== 'undefined') { leperachuanhatButton.down = function (x, y, obj) { if (leperachuanhatValue === 1) { console.log("Leperachuanhat already owned."); leperachuanhatValue = 2; // Set value to 2 if clicked again after purchase leperachuanhatButtonText.setText(leperachuanhatValue === 2 ? 'Equipped' : 'Owned'); // Update text based on leperachuanhatValue if (typeof leperachuanhatOverlay !== 'undefined') { game.removeChild(leperachuanhatOverlay); leperachuanhatOverlay = undefined; } } else if (leperachuanhatValue === 2) { leperachuanhatValue = 1; // Toggle value back to 1 leperachuanhatButtonText.setText('Owned'); // Update text to 'Owned' if (typeof leperachuanhatOverlay !== 'undefined') { game.removeChild(leperachuanhatOverlay); leperachuanhatOverlay = undefined; } } else if (clovers >= 125 && leperachuanhatValue === 0) { clovers -= 125; cloversText.setText('Clovers: ' + clovers); storage.clovers = clovers; storage.unlockedSkins.push('Leperachuanhat'); leperachuanhatValue = 1; leperachuanhatButtonText.setText('Owned'); currentButtonSkin = 'Leperachuanhat'; if (whoequipped === 'Circleglow' && typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof leperachuanhatOverlay !== 'undefined') { game.removeChild(leperachuanhatOverlay); } whoequipped = 'Leperachuanhat'; } else { console.log("Not enough clovers for Leperachuanhat."); } if (whoequipped === 'Leperachuanhat' && leperachuanhatValue === 2) { if (typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof leperachuanhatOverlay !== 'undefined') { game.removeChild(leperachuanhatOverlay); } leperachuanhatOverlay = LK.getAsset('Leperachuanhat', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(leperachuanhatOverlay); whoequipped = 'Leperachuanhat'; } }; } } else if (retroglowvalue === 2) { retroglowvalue = 1; // Toggle value back to 1 retroglowButtonText.setText('Owned'); // Update text to 'Owned' if (typeof retroglowOverlay !== 'undefined') { game.removeChild(retroglowOverlay); retroglowOverlay = undefined; } } else if (points >= 150 && retroglowvalue === 0) { points -= 150; pointsText.setText('Points: ' + points); storage.points = points; storage.unlockedSkins.push('Retroglow'); retroglowvalue = 1; retroglowButtonText.setText('Owned'); currentButtonSkin = 'Retroglow'; if (whoequipped === 'Circleglow' && typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof retroglowOverlay !== 'undefined') { game.removeChild(retroglowOverlay); } whoequipped = 'Retroglow'; } if (whoequipped === 'Retroglow' && retroglowvalue === 2) { if (typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof retroglowOverlay !== 'undefined') { game.removeChild(retroglowOverlay); } retroglowOverlay = LK.getAsset('Retroglow', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(retroglowOverlay); whoequipped = 'Retroglow'; } else { console.log("Not enough points to purchase Retroglow."); } }; // Add circle asset purchase option var circleButton = LK.getAsset('Circleglow', { width: 400, height: 400, x: shopMenu.x + 600, // Position next to greenglowButton y: shopMenu.y + 100 }); game.addChild(circleButton); var circleButtonText = new Text2(circlevalue === 2 ? 'Equipped' : circlevalue === 1 ? 'Owned' : '40$ Circle', { size: 70, fill: 0x000000 }); circleButtonText.x = circleButton.x + circleButton.width / 2 - circleButtonText.width / 2; circleButtonText.y = circleButton.y + circleButton.height / 2 - circleButtonText.height / 2 + 250; game.addChild(circleButtonText); // Add shadowglow asset purchase option var shadowButton = LK.getAsset('Shadow', { width: 400, height: 400, x: shopMenu.x + 1100, // Position next to circleButton y: shopMenu.y + 100 }); game.addChild(shadowButton); var shadowButtonText = new Text2(shadowglowvalue === 2 ? 'Equipped' : shadowglowvalue === 1 ? 'Owned' : '100$ Shadow', { size: 70, fill: 0x000000 }); shadowButtonText.x = shadowButton.x + shadowButton.width / 2 - shadowButtonText.width / 2; shadowButtonText.y = shadowButton.y + shadowButton.height / 2 - shadowButtonText.height / 2 + 250; game.addChild(shadowButtonText); greenglowButton.down = function (x, y, obj) { if (greenglowyvalue === 1) { console.log("Greenglowy already owned."); greenglowyvalue = 2; // Set value to 2 if clicked again after purchase greenglowButtonText.setText('Equipped'); // Update text to 'Equipped' if (typeof greenglowOverlay !== 'undefined') { game.removeChild(greenglowOverlay); greenglowOverlay = undefined; } } else if (greenglowyvalue === 2) { greenglowyvalue = 1; // Toggle value back to 1 greenglowButtonText.setText('Owned'); // Update text to 'Owned' if (typeof greenglowOverlay !== 'undefined') { game.removeChild(greenglowOverlay); greenglowOverlay = undefined; } } else if (points >= 20 && greenglowyvalue === 0) { points -= 20; pointsText.setText('Points: ' + points); storage.points = points; storage.unlockedSkins.push('Greenglowy'); greenglowyvalue = 1; greenglowButtonText.setText('Owned'); currentButtonSkin = 'Greenglowy'; if (whoequipped === 'Circleglow' && typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof greenglowOverlay !== 'undefined') { game.removeChild(greenglowOverlay); } whoequipped = 'Greenglowy'; } if (whoequipped === 'Greenglowy' && greenglowyvalue === 2) { if (typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof greenglowOverlay !== 'undefined') { game.removeChild(greenglowOverlay); } greenglowOverlay = LK.getAsset('Greenglowy', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(greenglowOverlay); whoequipped = 'Greenglowy'; } else { console.log("Not enough points to purchase Greenglow."); } }; shadowButton.down = function (x, y, obj) { if (shadowglowvalue === 1) { console.log("Shadow already owned."); shadowglowvalue = 2; // Set value to 2 if clicked again after purchase shadowButtonText.setText('Equipped'); // Update text to 'Equipped' if (typeof shadowglowOverlay !== 'undefined') { game.removeChild(shadowglowOverlay); shadowglowOverlay = undefined; } } else if (shadowglowvalue === 2) { shadowglowvalue = 1; // Toggle value back to 1 shadowButtonText.setText('Owned'); // Update text to 'Owned' if (typeof shadowglowOverlay !== 'undefined') { game.removeChild(shadowglowOverlay); shadowglowOverlay = undefined; } } else if (points >= 100 && shadowglowvalue === 0) { points -= 100; pointsText.setText('Points: ' + points); storage.points = points; storage.unlockedSkins.push('Shadow'); shadowglowvalue = 1; shadowButtonText.setText('Owned'); currentButtonSkin = 'Shadow'; if (whoequipped === 'Circleglow' && typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof shadowglowOverlay !== 'undefined') { game.removeChild(shadowglowOverlay); } whoequipped = 'Shadow'; } if (whoequipped === 'Shadow' && shadowglowvalue === 2) { if (typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof shadowglowOverlay !== 'undefined') { game.removeChild(shadowglowOverlay); } shadowglowOverlay = LK.getAsset('Shadow', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(shadowglowOverlay); whoequipped = 'Shadow'; } else { console.log("Not enough points to purchase Shadow."); } }; circleButton.down = function (x, y, obj) { if (circlevalue === 1) { console.log("Circleglow already owned."); circlevalue = 2; // Set value to 2 if clicked again after purchase circleButtonText.setText('Equipped'); // Update text to 'Equipped' if (typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); circleglowOverlay = undefined; } if (typeof greenglowOverlay !== 'undefined') { game.removeChild(greenglowOverlay); // Ensure Greenglowy is removed when Circleglow is equipped greenglowOverlay = undefined; // Reset greenglowOverlay to ensure it can be re-added } circleglowOverlay = LK.getAsset('Circleglow', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(circleglowOverlay); whoequipped = 'Circleglow'; } else if (circlevalue === 2) { circlevalue = 1; // Toggle value back to 1 circleButtonText.setText('Owned'); // Update text to 'Owned' if (typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); circleglowOverlay = undefined; } whoequipped = null; } else if (points >= 40 && circlevalue === 0) { points -= 40; pointsText.setText('Points: ' + points); storage.points = points; storage.unlockedSkins.push('Circleglow'); circlevalue = 1; circleButtonText.setText('Owned'); } }; // Add a close button to the shop menu var closeButton = LK.getAsset('Close', { width: 300, height: 300, x: shopMenu.x + shopMenu.width - 100, y: shopMenu.y + 10, shape: 'box' }); game.addChild(closeButton); var closeButtonText = new Text2('Close', { size: 80, fill: 0x000000 }); closeButtonText.x = closeButton.x + closeButton.width / 2 - closeButtonText.width / 2; closeButtonText.y = closeButton.y + closeButton.height / 2 - closeButtonText.height / 2 + 50; game.addChild(closeButtonText); closeButton.down = function (x, y, obj) { game.removeChild(shopMenu); game.removeChild(closeButton); game.removeChild(closeButtonText); game.removeChild(greenglowButton); game.removeChild(greenglowButtonText); game.removeChild(circleButton); // Ensure Circleglow is removed when shop is closed game.removeChild(circleButtonText); game.removeChild(retroglowButton); game.removeChild(retroglowButtonText); game.removeChild(shadowButton); game.removeChild(shadowButtonText); // Removed glowpack and glowpackText as they are not defined game.removeChild(LK.getAsset('Gloworange', {})); // Ensure Gloworange is removed when shop is closed }; } // Clear the interval when the game is over game.gameOver = function () { clearInterval(intervalId); }; var circleglowOverlay = undefined; var cloverskinOverlay = undefined; // Initialize cloverskinOverlay globally var cloverskinValue = 0; // Initialize cloverskinValue globally var leperachuanhatOverlay = undefined; // Initialize leperachuanhatOverlay globally var leperachuanhatValue = 0; // Initialize leperachuanhatValue globally var greenglowOverlay = undefined; // Initialize greenglowOverlay globally var shadowOverlay = undefined; // Initialize shadowOverlay globally var shadowglowvalue = 0; // Initialize shadowglowvalue globally var shadowvalue = 0; // Initialize shadowvalue var greenglowyvalue = 0; var circlevalue = 0; // Initialize circlevalue var circleglowvalue = 0; // Initialize circleglowvalue to track Circleglow status var ppc = 1; // Initialize points per click to 1 var points = storage.points || 0; var currentButtonSkin = null; // Variable to track the current button skin obtained from the glow pack var whoequipped = null; // Variable to track which button skin is equipped var clickerUpgradePurchased = storage.clickerUpgradePurchased || false; // Load upgrade purchase state var workerValue = storage.upgrades.workerValue || 0; var workerUpgradePurchased = storage.workerUpgradePurchased || false; // Load worker upgrade purchase state storage.load(); // Load the storage data var ppc = storage.ppc || 1; // Load points per click from storage // Create a text var pointsText = new Text2('Points: ' + points, { size: 100, fill: 0x000000 }); // Position the text on the left hand corner pointsText.x = 0; pointsText.y = 0; // Add the text to the game game.addChild(pointsText); // Create a text for clovers currency var clovers = storage.clovers || 0; // Initialize clovers from storage var cloversText = new Text2('Clovers: ' + clovers, { size: 100, fill: 0x000000 }); var buttonClickCount = 0; // Initialize button click count var cloverUpgradeActive = false; // Initialize clover upgrade active flag // Position the clovers text below the points text cloversText.x = 0; cloversText.y = pointsText.height + 10; // Add the clovers text to the game game.addChild(cloversText); // Add clover asset next to the clover currency text var cloverAsset = LK.getAsset('Clovers', { width: 100, height: 100, x: cloversText.x + cloversText.width + 10, y: cloversText.y }); game.addChild(cloverAsset); var newButton = LK.getAsset(currentButtonSkin || 'Button', { width: 400, height: 400, x: 2048 / 2 - 200, // Position the new button in the center of the screen y: 2732 / 2 - 200, shape: 'circle' }); // Add the new button to the game game.addChild(newButton); // Add a click event to the button newButton.down = function (x, y, obj) { // Increase the points points += ppc; // Increase points by ppc value pointsText.setText('Points: ' + points); buttonClickCount++; // Increment button click count if (buttonClickCount === 3) { buttonClickCount = 0; // Reset click count if (cloverUpgradeActive) { clovers += 2; // Increment clover count by 2 if upgrade is active } else { clovers += 1; // Increment clover count by 1 if upgrade is not active } cloversText.setText('Clovers: ' + clovers); // Update clovers text cloverAsset.x = cloversText.x + cloversText.width + 10; // Update clover asset position storage.clovers = clovers; // Save clovers to storage } storage.points = points; if (currentButtonSkin === 'Shadowglowy') { // Additional logic if needed when shadowglow is active } if (LK.getSound('clickSound')) { LK.getSound('clickSound').play(); } else { console.error("Click sound not found!"); } if (whoequipped === 'Circleglow' && circleglowvalue === 2) { if (greenglowOverlay) { game.removeChild(greenglowOverlay); } var circleglowOverlay = LK.getAsset('Circleglow', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(circleglowOverlay); } else if (whoequipped === 'Greenglowy' && greenglowyvalue === 2) { if (circleglowOverlay) { game.removeChild(circleglowOverlay); } circleglowOverlay = undefined; // Ensure circleglowOverlay is reset if (greenglowOverlay) { game.removeChild(greenglowOverlay); } greenglowOverlay = LK.getAsset('Greenglowy', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(greenglowOverlay); whoequipped = 'Greenglowy'; // Ensure whoequipped is updated to 'Greenglowy' } else if (whoequipped === 'Greenglowy' && greenglowyvalue === 1) { if (greenglowOverlay) { game.removeChild(greenglowOverlay); } whoequipped = 'Button'; // Update whoequipped to reflect no skin equipped } else if (whoequipped === 'Button' && greenglowyvalue === 2) { greenglowOverlay = LK.getAsset('Greenglowy', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(greenglowOverlay); whoequipped = 'Greenglowy'; } else if (whoequipped === 'Button') { if (circleglowOverlay) { game.removeChild(circleglowOverlay); } if (greenglowOverlay) { game.removeChild(greenglowOverlay); } var buttonOverlay = LK.getAsset('Button', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(buttonOverlay); } // Update the text pointsText.setText('Points: ' + points); storage.points = points; }; var shopButton = LK.getAsset('Shop', { width: 400, height: 200, x: 2048 - 400, // Position the button on the bottom right corner y: 2732 - 200 }); game.addChild(shopButton); var shopButtonText = new Text2('Shop', { size: 70, fill: 0x000000 }); shopButtonText.x = shopButton.x + shopButton.width / 2 - shopButtonText.width / 2; shopButtonText.y = shopButton.y + shopButton.height / 2 - shopButtonText.height / 2; game.addChild(shopButtonText); shopButton.down = function (x, y, obj) { // Logic to open the shop menu openShopMenu(); }; // Add St. Patrick's shop button var patrickShopButton = LK.getAsset('patrickshop', { width: 400, height: 200, x: 0, // Position at the bottom left corner y: 2732 - 200 // Align with the bottom }); game.addChild(patrickShopButton); var patrickShopButtonText = new Text2("St. Patrick's Shop", { size: 70, fill: 0x000000 }); patrickShopButtonText.x = patrickShopButton.x + patrickShopButton.width / 2 - patrickShopButtonText.width / 2; patrickShopButtonText.y = patrickShopButton.y + patrickShopButton.height / 2 - patrickShopButtonText.height / 2; game.addChild(patrickShopButtonText); patrickShopButton.down = function (x, y, obj) { console.log("St. Patrick's Shop button clicked."); // Create a St. Patrick's shop menu using the patrick asset var patrickShopMenu = LK.getAsset('patrickshop', { width: 1600, // Set the width of the shop menu height: 1600, // Set the height of the shop menu x: 2048 / 2 - 800, // Center horizontally y: 2732 / 2 - 800 // Center vertically }); game.addChild(patrickShopMenu); // Add a close button to the St. Patrick's shop menu var patrickCloseButton = LK.getAsset('Close', { width: 300, height: 300, x: patrickShopMenu.x + patrickShopMenu.width - 100, y: patrickShopMenu.y + 10 }); game.addChild(patrickCloseButton); var patrickCloseButtonText = new Text2('Close', { size: 80, fill: 0x000000 }); patrickCloseButtonText.x = patrickCloseButton.x + patrickCloseButton.width / 2 - patrickCloseButtonText.width / 2; patrickCloseButtonText.y = patrickCloseButton.y + patrickCloseButton.height / 2 - patrickCloseButtonText.height / 2 + 50; game.addChild(patrickCloseButtonText); // Add cloverskin asset purchase option var cloverskinButton = LK.getAsset('Cloverskin', { width: 400, height: 400, x: patrickShopMenu.x + 100, y: patrickShopMenu.y + 100 }); game.addChild(cloverskinButton); var cloverskinButtonText = new Text2(cloverskinValue === 2 ? 'Equipped' : cloverskinValue === 1 ? 'Owned' : '30 Clovers', { size: 70, fill: 0x000000 }); cloverskinButtonText.setText(cloverskinValue === 2 ? 'Equipped' : cloverskinValue === 1 ? 'Owned' : '30 Clovers'); if (typeof leperachuanhatButtonText !== 'undefined') { leperachuanhatButtonText.setText(leperachuanhatValue === 2 ? 'Equipped' : leperachuanhatValue === 1 ? 'Owned' : '125 Clovers'); } cloverskinButtonText.setText(cloverskinValue === 2 ? 'Equipped' : cloverskinValue === 1 ? 'Owned' : '30 Clovers'); cloverskinButtonText.x = cloverskinButton.x + cloverskinButton.width / 2 - cloverskinButtonText.width / 2; cloverskinButtonText.y = cloverskinButton.y + cloverskinButton.height / 2 - cloverskinButtonText.height / 2 + 250; game.addChild(cloverskinButtonText); // Add leperachuanhat asset purchase option var leperachuanhatButton = LK.getAsset('Leperachaunhat', { width: 400, height: 400, x: patrickShopMenu.x + 600, y: patrickShopMenu.y + 100 }); game.addChild(leperachuanhatButton); var leperachuanhatButtonText = new Text2(leperachuanhatValue === 2 ? 'Equipped' : leperachuanhatValue === 1 ? 'Owned' : '125 Clovers', { size: 70, fill: 0x000000 }); leperachuanhatButtonText.setText(leperachuanhatValue === 2 ? 'Equipped' : leperachuanhatValue === 1 ? 'Owned' : '125 Clovers'); leperachuanhatButtonText.x = leperachuanhatButton.x + leperachuanhatButton.width / 2 - leperachuanhatButtonText.width / 2; leperachuanhatButtonText.y = leperachuanhatButton.y + leperachuanhatButton.height / 2 - leperachuanhatButtonText.height / 2 + 250; game.addChild(leperachuanhatButtonText); cloverskinButton.down = function (x, y, obj) { if (cloverskinValue === 1) { console.log("Cloverskin already owned."); cloverskinValue = 2; // Set value to 2 if clicked again after purchase cloverskinButtonText.setText(cloverskinValue === 2 ? 'Equipped' : 'Owned'); // Update text based on cloverskinValue if (typeof cloverskinOverlay !== 'undefined') { game.removeChild(cloverskinOverlay); cloverskinOverlay = undefined; } } else if (cloverskinValue === 2) { cloverskinValue = 1; // Toggle value back to 1 cloverskinButtonText.setText('Owned'); // Update text to 'Owned' if (typeof cloverskinOverlay !== 'undefined') { game.removeChild(cloverskinOverlay); cloverskinOverlay = undefined; } } else if (clovers >= 30 && cloverskinValue === 0) { clovers -= 30; cloversText.setText('Clovers: ' + clovers); storage.clovers = clovers; storage.unlockedSkins.push('Cloverskin'); cloverskinValue = 1; cloverskinButtonText.setText('Owned'); currentButtonSkin = 'Cloverskin'; if (whoequipped === 'Circleglow' && typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof cloverskinOverlay !== 'undefined') { game.removeChild(cloverskinOverlay); } whoequipped = 'Cloverskin'; } else { console.log("Not enough clovers for Cloverskin."); } if (whoequipped === 'Cloverskin' && cloverskinValue === 2) { if (typeof circleglowOverlay !== 'undefined') { game.removeChild(circleglowOverlay); } if (typeof cloverskinOverlay !== 'undefined') { game.removeChild(cloverskinOverlay); } cloverskinOverlay = LK.getAsset('Cloverskin', { width: newButton.width, height: newButton.height, x: newButton.x, y: newButton.y }); game.addChild(cloverskinOverlay); whoequipped = 'Cloverskin'; } }; patrickCloseButton.down = function (x, y, obj) { game.removeChild(patrickShopMenu); game.removeChild(patrickCloseButton); game.removeChild(patrickCloseButtonText); game.removeChild(cloverskinButton); game.removeChild(cloverskinButtonText); }; }; // Add an inventory button to the bottom left corner var clickerUpgradeButton = LK.getAsset('Clickupgrade', { width: 600, // Same width as worker upgrade button height: 300, // Same height as worker upgrade button x: 1448, // Align with the worker upgrade button horizontally y: 310 // Position below the worker upgrade button }); game.addChild(clickerUpgradeButton); var clickerUpgradeText = new Text2('+2 click 40$', { size: 100, fill: 0x808080 }); clickerUpgradeText.x = clickerUpgradeButton.x + clickerUpgradeButton.width / 2 - clickerUpgradeText.width / 2; clickerUpgradeText.y = clickerUpgradeButton.y + clickerUpgradeButton.height / 2 - clickerUpgradeText.height / 2; game.addChild(clickerUpgradeText); clickerUpgradeButton.down = function (x, y, obj) { // Logic for clicker upgrade if (points >= 40 && !clickerUpgradePurchased) { points -= 40; pointsText.setText('Points: ' + points); storage.points = points; clickerUpgradePurchased = true; storage.clickerUpgradePurchased = clickerUpgradePurchased; // Save upgrade purchase state storage.save(); // Ensure the storage is saved ppc = 2; // Set points per click to 2 after purchasing the first clicker upgrade storage.ppc = ppc; // Save points per click to storage clickerUpgradeText.setText('+4 click 120$'); // Update text to '+4 click 120$' console.log("Clicker Upgrade to +2 purchased."); } else if (points >= 120 && clickerUpgradePurchased) { points -= 120; pointsText.setText('Points: ' + points); storage.points = points; ppc = 4; // Set points per click to 4 after purchasing the second clicker upgrade clickerUpgradeText.setText('+8 click 500$'); // Update text to '+8 click 500$' console.log("Clicker Upgrade to +4 purchased."); game.removeChild(clickerUpgradeButton); // Remove the second clicker upgrade button // Add the last clicker upgrade button var lastClickerUpgradeButton = LK.getAsset('Clickupgrade', { width: 600, height: 300, x: 1448, y: 310 }); game.addChild(lastClickerUpgradeButton); var lastClickerUpgradeText = new Text2('+8 click 500$', { size: 100, fill: 0x808080 }); lastClickerUpgradeText.x = lastClickerUpgradeButton.x + lastClickerUpgradeButton.width / 2 - lastClickerUpgradeText.width / 2; lastClickerUpgradeText.y = lastClickerUpgradeButton.y + lastClickerUpgradeButton.height / 2 - lastClickerUpgradeText.height / 2; game.addChild(lastClickerUpgradeText); lastClickerUpgradeButton.down = function (x, y, obj) { if (points >= 500) { points -= 500; pointsText.setText('Points: ' + points); storage.points = points; ppc = 8; // Set points per click to 8 after purchasing the last clicker upgrade lastClickerUpgradeText.setText('Max Upgrade'); // Indicate max upgrade reached console.log("Last Clicker Upgrade to +8 purchased."); game.removeChild(lastClickerUpgradeButton); // Remove the third clicker upgrade button game.removeChild(lastClickerUpgradeText); // Remove the text associated with the third clicker upgrade button // Add autoclicker button var autoclickerButton = LK.getAsset('Autoclick', { width: 600, height: 300, x: 1448, y: 310 }); game.addChild(autoclickerButton); var autoclickerText = new Text2('Autoclicker 550$', { size: 100, fill: 0x808080 }); autoclickerText.x = autoclickerButton.x + autoclickerButton.width / 2 - autoclickerText.width / 2; autoclickerText.y = autoclickerButton.y + autoclickerButton.height / 2 - autoclickerText.height / 2; game.addChild(autoclickerText); autoclickerButton.down = function (x, y, obj) { if (points >= 550) { points -= 550; pointsText.setText('Points: ' + points); storage.points = points; console.log("Autoclicker purchased."); // Implement autoclicker functionality intervalId = LK.setInterval(function () { newButton.down(); // Simulate button click }, 500); // Click every 0.5 seconds game.removeChild(autoclickerButton); // Remove the autoclicker button after purchase autoclickerText.setText('Auto Clicker 0.5s'); // Update text to 'Auto Clicker 0.5s' game.removeChild(autoclickerText); // Remove the autoclicker text after purchase } else { console.log("Not enough points for Autoclicker."); } }; } else { console.log("Not enough points for Last Clicker Upgrade."); } }; } else if (points >= 500 && clickerUpgradePurchased === true && ppc === 4) { points -= 500; pointsText.setText('Points: ' + points); storage.points = points; ppc = 8; // Set points per click to 8 after purchasing the third clicker upgrade clickerUpgradeText.setText('Max Upgrade'); // Indicate max upgrade reached console.log("Clicker Upgrade to +8 purchased."); } else { console.log("Not enough points for Clicker Upgrade."); } }; var intervalId; var button = LK.getAsset('Shop', { width: 600, height: 300, x: 1448, // Position the button on the right hand corner y: 0 }); // Add the button to the game game.addChild(button); // Add a click event to the button button.down = function (x, y, obj) { // Check if the points are 20 or more if (points >= 20) { // Decrease the points points -= 20; // Update the text pointsText.setText('Points: ' + points); storage.points = points; // Update workerValue to 1 workerValue = 1; storage.upgrades.workerValue = workerValue; storage.workerUpgradePurchased = true; // Save worker upgrade purchase state storage.save(); // Ensure the storage is saved storage.upgrades = { workerValue: workerValue }; // Start getting workerValue points every second intervalId = LK.setInterval(function () { points += workerValue; // Update the text pointsText.setText('Points: ' + points); }, 1000); // Remove the old button and its text button.alpha = 0; // Make the original button invisible instead of removing it game.removeChild(buttonText); // Remove the old text // Create a new button with different text var newButton = LK.getAsset('Shop', { width: 600, height: 300, x: 1448, y: 0 }); // Add the new button to the game game.addChild(newButton); // Create a new text var newText = new Text2('50$ +5 worker', { size: 100, fill: 0x000000 }); // Position the text on the new button newText.x = newButton.x + newButton.width / 2 - newText.width / 2; newText.y = newButton.y + newButton.height / 2 - newText.height / 2; // Add the text to the game game.addChild(newText); // Add a click event to the new button newButton.down = function (x, y, obj) { // Check if the points are 50 or more if (points >= 50) { // Decrease the points points -= 50; // Update the text pointsText.setText('Points: ' + points); storage.points = points; // Update workerValue to 5 workerValue = 5; storage.upgrades.workerValue = workerValue; storage.workerUpgradePurchased = true; // Save worker upgrade purchase state storage.upgrades = { workerValue: workerValue }; // Clear the previous interval LK.clearInterval(intervalId); // Start getting workerValue points every second intervalId = LK.setInterval(function () { points += workerValue; // Update the text pointsText.setText('Points: ' + points); }, 1000); // Remove the old button game.removeChild(newButton); // Create a new button with different text var newButton2 = LK.getAsset('Shop', { width: 600, height: 300, x: 1448, y: 0 }); // Add the new button to the game game.addChild(newButton2); // Create a new text var newText2 = new Text2('150$ +10 worker', { size: 100, fill: 0x000000 }); // Position the text on the new button newText2.x = newButton2.x + newButton2.width / 2 - newText2.width / 2; newText2.y = newButton2.y + newButton2.height / 2 - newText2.height / 2; // Add the text to the game game.addChild(newText2); // Add a click event to the new button newButton2.down = function (x, y, obj) { // Check if the points are 150 or more if (points >= 150 && workerValue === 5) { // Decrease the points points -= 150; // Update the text pointsText.setText('Points: ' + points); storage.points = points; // Update workerValue to 10 workerValue = 10; storage.upgrades.workerValue = workerValue; storage.workerUpgradePurchased = true; // Save worker upgrade purchase state storage.upgrades = { workerValue: workerValue }; // Clear the previous interval LK.clearInterval(intervalId); // Start getting workerValue points every second intervalId = LK.setInterval(function () { points += workerValue; // Update the text pointsText.setText('Points: ' + points); }, 1000); // Remove the button and all worker texts after purchasing the upgrade game.removeChild(newButton2); game.removeChild(newText2); game.removeChild(button); game.removeChild(buttonText); game.removeChild(newText); // Display 'Worker max: 10/s' text var maxWorkerText = new Text2('Worker max: 10/s', { size: 100, fill: 0x000000 }); maxWorkerText.x = button.x + button.width / 2 - maxWorkerText.width / 2; maxWorkerText.y = button.y + button.height / 2 - maxWorkerText.height / 2; game.addChild(maxWorkerText); } }; } }; } }; // Create a text var buttonText = new Text2('20$ +1 worker', { size: 120, fill: 0x000000 }); // Position the text on the button buttonText.x = button.x + button.width / 2 - buttonText.width / 2; buttonText.y = button.y + button.height / 2 - buttonText.height / 2; // Add the text to the game game.addChild(buttonText); ; whoequipped = 'Circleglow'; // Update whoequipped to track the equipped skin
===================================================================
--- original.js
+++ change.js
@@ -442,8 +442,9 @@
var whoequipped = null; // Variable to track which button skin is equipped
var clickerUpgradePurchased = storage.clickerUpgradePurchased || false; // Load upgrade purchase state
var workerValue = storage.upgrades.workerValue || 0;
var workerUpgradePurchased = storage.workerUpgradePurchased || false; // Load worker upgrade purchase state
+storage.load(); // Load the storage data
var ppc = storage.ppc || 1; // Load points per click from storage
// Create a text
var pointsText = new Text2('Points: ' + points, {
size: 100,
@@ -754,8 +755,9 @@
pointsText.setText('Points: ' + points);
storage.points = points;
clickerUpgradePurchased = true;
storage.clickerUpgradePurchased = clickerUpgradePurchased; // Save upgrade purchase state
+ storage.save(); // Ensure the storage is saved
ppc = 2; // Set points per click to 2 after purchasing the first clicker upgrade
storage.ppc = ppc; // Save points per click to storage
clickerUpgradeText.setText('+4 click 120$'); // Update text to '+4 click 120$'
console.log("Clicker Upgrade to +2 purchased.");
@@ -861,8 +863,9 @@
// Update workerValue to 1
workerValue = 1;
storage.upgrades.workerValue = workerValue;
storage.workerUpgradePurchased = true; // Save worker upgrade purchase state
+ storage.save(); // Ensure the storage is saved
storage.upgrades = {
workerValue: workerValue
};
// Start getting workerValue points every second