User prompt
Değerler 1e300 den itibaren işlem yapılmasını upgrade click button çalışmasın
User prompt
Per click 0 olduğunda 1000 ekle ve kısaltma E300 olsun ve her online atında 301 302 diye devam etsin
User prompt
1e300>= ise sayıyı 1000 e düşür ama kısama kaldığı yerden devam ettir ama sayı 1e300 gibi saysın
User prompt
Senden değer 1.00E300 >= ise de değeri 1000 olarak başlat ama kısaltma (K) olarak gösterne değer E300= 1000 301= 10000 gibi görünmek
User prompt
Please fix the bug: 'isFinite is not a function' in or related to this line: 'if (!isFinite(num) || num >= 1e308) {' Line Number: 834
User prompt
1.00E308 den sonra sadece sayı göstetirnek mümkün mü NaN elnfiniy kaldırıp sadece sayı yadızrak kısaca olmasa da olur
User prompt
1.00E308 den sonra desimal kısamyı kaldır
User prompt
Yeni değere geçidinde kısaltma E308 dem başlayıp artsın ve per click 1.00E308 gelince yeni değere geçsin ve 1000 olarak başalsın Ve 1.000 = 1.00 E308 10000 = E309 diye davam etsin ve birkere yeni değere geçti mi eski değere geri dönemez sell scrap button tek button olsun ama yeni değeri de çevirebilir ama 1000 > ise işlem yapsın ve değer hiç 1000 altına düşememesini sağla ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Yeni değere gelince eski değeri gizle ve sell scrap button yeni değeri de yeni cash değerine katarsın ve yeni değerler 1000 altına düşünce geri 1000 olsun click button da yeni değerleri destekler ilk değerler 1.00E308 olunca yeni değeri yüksetsin ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Değer 1.00E308 olunca aynj değer işmi (scrap1) yeni bir değere aktarılmış ve bu yeni Değer 1000 alarak başlayıp kısaltması 1.00E308 diye kısayılsın bu şekilde 1.00E308 sınırını alabiliriz ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
Değer 1.00E308 olunca per click ve per click çapan yüksemsi yapılmasın
User prompt
1.00E308 üstünü göstermek için Java büyük sayı kütüphanesi ekleyelim ve 1.00E308 den sorası inf olarak görünmemesi sağlansın
User prompt
1.00E14 den itibaren olan kısaltmaları da kaldır
User prompt
Sayı kısamasını kaldır
User prompt
1.00E308 den itibaren sayı kısaltması yapılmasın
User prompt
Yere bir değer 1.70E308 i geçerse değerin ilk 6 basamağını al ve sayı birlik ise 1.38 gibi oluk ise 13.86 gibi eyer yüzlük ise 138.63 gibi göster 6 basamağında yükseklerde 1.67 lik bir yükseme 1.68 gibi görünmesi diye alındı
User prompt
Peki 1.70E308 den büyük sayıları nasıl gösterilecek şuana bigint desteği var oyununun
User prompt
1.70E308 üstüne çıkınca değer testleri 0.00 olarak gösteriyor bunu önlemek için sayıyı noktanın sağına ve soluna doğru konulmasını sağlayacak fonksiyon yap
User prompt
Please fix the bug: 'isFinite is not a function' in or related to this line: 'if (typeof num !== 'number' || isNaN(num) || num === null || num === undefined || !isFinite(num)) {' Line Number: 800
User prompt
1.70E308 den sonra NaN elnfinity yazıyor 1.70E308 den sonra sayının NaN elnfinity diye görünmemesini sağla ve özel formatlama yapalı mesel 1.70E310 yazdırırken
User prompt
AA yerine (aa) şekilde devam et parantezi olsun ve küçük aa şeklinde olsun
User prompt
(aa) (bb) (cc)... (zz) kısaltmalar Z den sonra devam ettir
User prompt
Boost değeri textte sayı kısaltması gösterilsin
User prompt
Hala görünüyorlar bu yüzden buttonlarını ve testlerini gizlemeyin sağal
User prompt
Gold scrap panelde sell scrap upgrade gold scrap textti ve nuttonarının panel altında kalmasını ve gold scrap panel upgrade panel ve settings panel açıldığında gizle
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
var storage = LK.import("@upit/storage.v1");
/****
* Classes
****/
var ClickButton = Container.expand(function () {
var self = Container.call(this);
var graphics = self.attachAsset('clickButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.down = function (x, y, obj) {
// Check if upgrade panel is open - if so, disable interaction
if (upgradePanel && upgradePanel.visible) {
return;
}
// Check if settings panel is open - if so, disable interaction
if (settingsPanel && settingsPanel.visible) {
return;
}
// Check if save panel is open - if so, disable interaction
if (savePanel && savePanel.visible) {
return;
}
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
// Visual feedback
tween(graphics, {
scaleX: 0.9,
scaleY: 0.9
}, {
duration: 100
});
tween(graphics, {
scaleX: 1.1,
scaleY: 1.1
}, {
duration: 100,
onFinish: function onFinish() {
tween(graphics, {
scaleX: 1,
scaleY: 1
}, {
duration: 100
});
}
});
// Generate based on current system
if (scrap1 > 0) {
// If in scrap1 system, add to scrap1
scrap1 += perClickValue;
} else {
// Normal scrap system
scrap += perClickValue;
// Check if scrap reaches 1.00E308 and convert to scrap1
if (scrap >= 1.00e308) {
scrap1 = 1000; // Start scrap1 at 1000
scrap = 0; // Reset scrap to 0
}
}
totalClicks++;
// Chance for rewards (15% for magnet, 25% for XP)
if (Math.random() < 0.15) {
createMagnetReward();
}
if (Math.random() < 0.25) {
createXPReward();
}
updateUI();
LK.getSound('click').play();
};
return self;
});
var ConfirmationDialog = Container.expand(function (message, onYes, onNo) {
var self = Container.call(this);
// Dialog background
var dialogBg = LK.getAsset('upgradeButton', {
anchorX: 0,
anchorY: 0,
scaleX: 3.0,
scaleY: 3.0
});
dialogBg.tint = 0x222222;
self.addChild(dialogBg);
// Message text
var messageText = new Text2(message, {
size: 60,
fill: 0xFFFFFF
});
messageText.anchor.set(0.5, 0.5);
messageText.x = 600;
messageText.y = 150;
self.addChild(messageText);
// Yes button
var yesButton = new Text2('YES', {
size: 70,
fill: 0x00FF00
});
yesButton.anchor.set(0.5, 0.5);
yesButton.x = 400;
yesButton.y = 250;
self.addChild(yesButton);
// No button
var noButton = new Text2('NO', {
size: 70,
fill: 0xFF0000
});
noButton.anchor.set(0.5, 0.5);
noButton.x = 800;
noButton.y = 250;
self.addChild(noButton);
yesButton.down = function (x, y, obj) {
if (onYes) onYes();
self.destroy();
};
noButton.down = function (x, y, obj) {
if (onNo) onNo();
self.destroy();
};
return self;
});
var FloatingReward = Container.expand(function (type) {
var self = Container.call(this);
var assetName = type === 'magnet' ? 'magnetReward' : 'xpReward';
var graphics = self.attachAsset(assetName, {
anchorX: 0.5,
anchorY: 0.5
});
// Add text to show reward type and value
var rewardText = new Text2('', {
size: 40,
fill: 0xFFFFFF
});
rewardText.anchor.set(0.5, 0.5);
rewardText.y = 60; // Position below the icon
self.addChild(rewardText);
if (type === 'magnet') {
rewardText.setText('MAGNET\n+' + formatNumber(perClickValue * 10));
} else {
rewardText.setText('XP\n+5');
}
self.rewardType = type;
self.lifetime = 0;
self.update = function () {
self.lifetime++;
self.y -= 2; // Float upward
var alphaValue = Math.max(0, 1 - self.lifetime / 120); // Fade out over 2 seconds
self.alpha = alphaValue;
rewardText.alpha = alphaValue; // Make text fade with the reward
// Update text to match current perClickValue for magnet rewards
if (self.rewardType === 'magnet') {
rewardText.setText('MAGNET\n+' + formatNumber(perClickValue * 10));
}
if (self.lifetime > 120) {
self.destroy();
var index = floatingRewards.indexOf(self);
if (index > -1) {
floatingRewards.splice(index, 1);
}
}
};
self.down = function (x, y, obj) {
if (self.rewardType === 'magnet') {
scrap += perClickValue * 10; // Magnet gives 10x click value
magnet += 1; // Increase magnet count by 1
// Create floating text showing magnet reward
createFloatingText('+1 magnet', self.x, self.y, 0xFFD700);
} else {
xp += 1;
checkLevelUp();
// Create floating text showing XP reward
createFloatingText('+1 xp', self.x, self.y, 0x9C27B0);
}
LK.getSound('reward').play();
updateUI();
self.destroy();
var index = floatingRewards.indexOf(self);
if (index > -1) {
floatingRewards.splice(index, 1);
}
};
return self;
});
var FloatingText = Container.expand(function (text, x, y, color) {
var self = Container.call(this);
self.x = x;
self.y = y;
var textObj = new Text2(text, {
size: 50,
fill: color
});
textObj.anchor.set(0.5, 0.5);
self.addChild(textObj);
self.lifetime = 0;
self.update = function () {
self.lifetime++;
self.y -= 3; // Float upward
self.alpha = Math.max(0, 1 - self.lifetime / 120); // Fade out over 2 seconds
if (self.lifetime >= 120) {
self.destroy();
var index = floatingTexts.indexOf(self);
if (index > -1) {
floatingTexts.splice(index, 1);
}
}
};
return self;
});
var MultiplierUpgradeButton = Container.expand(function () {
var self = Container.call(this);
var graphics = self.attachAsset('upgradeButton', {
anchorX: 0.5,
anchorY: 0.5
});
graphics.tint = 0x9c27b0; // Purple tint to differentiate from regular upgrade
self.down = function (x, y, obj) {
// Check if settings panel is open - if so, disable interaction
if (settingsPanel && settingsPanel.visible) {
return;
}
// Check if save panel is open - if so, disable interaction
if (savePanel && savePanel.visible) {
return;
}
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
var upgradeCost = getMultiplierUpgradeCost();
if (cash >= upgradeCost && multiplierTier < 25 && perClickValue < 1.00e308) {
cash -= upgradeCost;
multiplierTier++;
perClickValue = getPerClickValue();
// Give XP for upgrading
xp += 3;
checkLevelUp();
// Visual feedback
tween(graphics, {
scaleX: 0.95,
scaleY: 0.95
}, {
duration: 100
});
tween(graphics, {
scaleX: 1,
scaleY: 1
}, {
duration: 100
});
updateUI();
LK.getSound('upgrade').play();
}
};
return self;
});
var SavePanel = Container.expand(function () {
var self = Container.call(this);
// Panel background - sized to fit 4 slots properly
var panelBg = LK.getAsset('upgradeButton', {
anchorX: 0,
anchorY: 0,
scaleX: 4.0,
scaleY: 8.0
});
panelBg.tint = 0x222222;
self.addChild(panelBg);
// Title
var titleText = new Text2('SAVE SYSTEM', {
size: 80,
fill: 0xFFFFFF
});
titleText.anchor.set(0.5, 0);
titleText.x = 800;
titleText.y = 50;
self.addChild(titleText);
// Create 4 save slots vertically stacked
for (var i = 0; i < 4; i++) {
createSaveSlot(self, i, 50, 150 + i * 200);
}
return self;
});
var SellButton = Container.expand(function () {
var self = Container.call(this);
var graphics = self.attachAsset('sellButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.down = function (x, y, obj) {
// Check if upgrade panel is open - if so, disable interaction
if (upgradePanel && upgradePanel.visible) {
return;
}
// Check if settings panel is open - if so, disable interaction
if (settingsPanel && settingsPanel.visible) {
return;
}
// Check if save panel is open - if so, disable interaction
if (savePanel && savePanel.visible) {
return;
}
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
if (scrap >= 2) {
var sellAmount = scrap;
var cashEarned = sellAmount * 0.5;
cash += cashEarned;
scrap = Math.random(); // Leave 0-1 scrap remaining
// Visual feedback
tween(graphics, {
scaleX: 0.9,
scaleY: 0.9
}, {
duration: 150
});
tween(graphics, {
scaleX: 1,
scaleY: 1
}, {
duration: 150
});
updateUI();
LK.getSound('sell').play();
}
};
return self;
});
var UpgradeButton = Container.expand(function () {
var self = Container.call(this);
var graphics = self.attachAsset('upgradeButton', {
anchorX: 0.5,
anchorY: 0.5
});
self.down = function (x, y, obj) {
// Check if settings panel is open - if so, disable interaction
if (settingsPanel && settingsPanel.visible) {
return;
}
// Check if save panel is open - if so, disable interaction
if (savePanel && savePanel.visible) {
return;
}
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
var upgradeCost = getUpgradeCost();
if (cash >= upgradeCost && upgradeTier < 1600 && perClickValue < 1.00e308) {
cash -= upgradeCost;
upgradeTier++;
perClickValue = getPerClickValue();
// Give XP for upgrading
xp += 5;
checkLevelUp();
// Visual feedback
tween(graphics, {
scaleX: 0.95,
scaleY: 0.95
}, {
duration: 100
});
tween(graphics, {
scaleX: 1,
scaleY: 1
}, {
duration: 100
});
updateUI();
LK.getSound('upgrade').play();
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x1a1a1a
});
/****
* Game Code
****/
// Game variables - load from storage with defaults
var scrap = storage.scrap || 0;
var scrap1 = storage.scrap1 || 0;
var cash = storage.cash || 0;
var totalClicks = storage.totalClicks || 0;
var upgradeTier = storage.upgradeTier || 0;
var svLevel = storage.svLevel || 0;
var xp = storage.xp || 0;
var magnet = storage.magnet || 0;
var multiplierTier = storage.multiplierTier || 0;
var goldScrap = storage.goldScrap || 0;
var perClickValue = getPerClickValue();
var floatingRewards = [];
var floatingTexts = [];
// Game elements
var clickButton = game.addChild(new ClickButton());
clickButton.x = 1024;
clickButton.y = 1200;
// Upgrade panel
var upgradePanel = new Container();
upgradePanel.x = 1024 - 700; // Center horizontally
upgradePanel.y = 1366 - 300; // Center vertically
upgradePanel.visible = false;
game.addChild(upgradePanel);
// Upgrade panel background
var upgradePanelBg = LK.getAsset('upgradeButton', {
anchorX: 0,
anchorY: 0,
scaleX: 3.5,
scaleY: 8.0
});
upgradePanelBg.tint = 0x333333;
upgradePanel.addChild(upgradePanelBg);
// Close button for upgrade panel
var upgradeCloseButton = new Text2('✕', {
size: 100,
fill: 0xFF0000
});
upgradeCloseButton.anchor.set(0.5, 0.5);
upgradeCloseButton.x = 1300;
upgradeCloseButton.y = 80;
upgradePanel.addChild(upgradeCloseButton);
upgradeCloseButton.down = function (x, y, obj) {
upgradePanel.visible = false;
// Show sell button and upgrade panel button when upgrade panel closes
sellButton.visible = true;
upgradePanelButton.visible = true;
};
var upgradeButton = upgradePanel.addChild(new UpgradeButton());
upgradeButton.x = 700;
upgradeButton.y = 250;
var multiplierUpgradeButton = upgradePanel.addChild(new MultiplierUpgradeButton());
multiplierUpgradeButton.x = 700;
multiplierUpgradeButton.y = 420;
// Gold Scrap Panel Button (moved to main game, below upgrade panel button)
var goldScrapPanelButton = new Text2('GOLD SCRAP', {
size: 50,
fill: 0xFFD700
});
goldScrapPanelButton.anchor.set(0.5, 0.5);
goldScrapPanelButton.x = 1024;
goldScrapPanelButton.y = 1930;
game.addChild(goldScrapPanelButton);
goldScrapPanelButton.down = function (x, y, obj) {
// Check if settings panel is open - if so, disable interaction
if (settingsPanel && settingsPanel.visible) {
return;
}
// Check if save panel is open - if so, disable interaction
if (savePanel && savePanel.visible) {
return;
}
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
if (goldScrapPanel) {
goldScrapPanel.visible = !goldScrapPanel.visible;
}
};
// Gold Scrap panel
var goldScrapPanel = new Container();
goldScrapPanel.x = 1024 - 700; // Center horizontally
goldScrapPanel.y = 1366 - 300; // Center vertically
goldScrapPanel.visible = false;
game.addChild(goldScrapPanel);
// Gold Scrap panel background
var goldScrapPanelBg = LK.getAsset('upgradeButton', {
anchorX: 0,
anchorY: 0,
scaleX: 3.5,
scaleY: 6.0
});
goldScrapPanelBg.tint = 0x444400;
goldScrapPanel.addChild(goldScrapPanelBg);
// Close button for gold scrap panel
var goldScrapCloseButton = new Text2('✕', {
size: 100,
fill: 0xFF0000
});
goldScrapCloseButton.anchor.set(0.5, 0.5);
goldScrapCloseButton.x = 1300;
goldScrapCloseButton.y = 80;
goldScrapPanel.addChild(goldScrapCloseButton);
goldScrapCloseButton.down = function (x, y, obj) {
goldScrapPanel.visible = false;
};
// Gold Scrap conversion button
var goldScrapConvertButton = new Text2('CONVERT SCRAP\n(1000 Scrap = 1 Gold)', {
size: 45,
fill: 0xFFD700
});
goldScrapConvertButton.anchor.set(0.5, 0.5);
goldScrapConvertButton.x = 700;
goldScrapConvertButton.y = 250;
goldScrapPanel.addChild(goldScrapConvertButton);
goldScrapConvertButton.down = function (x, y, obj) {
if (scrap >= 1000) {
var goldScrapToAdd = Math.floor(scrap / 1000);
goldScrap += goldScrapToAdd;
// Reset all values to 0 except magnet and gold scrap
scrap = 0;
cash = 0;
totalClicks = 0;
upgradeTier = 0;
svLevel = 0;
xp = 0;
multiplierTier = 0;
perClickValue = getPerClickValue();
updateUI();
LK.effects.flashScreen(0xFFD700, 1000);
}
};
// Boost text
var boostText = new Text2('Boost: 1x', {
size: 60,
fill: 0xFFD700
});
boostText.anchor.set(0.5, 0.5);
boostText.x = 700;
boostText.y = 400;
goldScrapPanel.addChild(boostText);
var sellButton = game.addChild(new SellButton());
sellButton.x = 1024;
sellButton.y = 1650;
// Sell Scrap1 Button
var sellScrap1Button = new Text2('SELL SCRAP1', {
size: 50,
fill: 0xFF6600
});
sellScrap1Button.anchor.set(0.5, 0.5);
sellScrap1Button.x = 1024;
sellScrap1Button.y = 1550;
game.addChild(sellScrap1Button);
sellScrap1Button.down = function (x, y, obj) {
// Check if upgrade panel is open - if so, disable interaction
if (upgradePanel && upgradePanel.visible) {
return;
}
// Check if settings panel is open - if so, disable interaction
if (settingsPanel && settingsPanel.visible) {
return;
}
// Check if save panel is open - if so, disable interaction
if (savePanel && savePanel.visible) {
return;
}
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
if (scrap1 >= 2) {
var sellAmount = scrap1;
var cashEarned = sellAmount * 1000; // Convert scrap1 to cash at 1000:1 ratio
cash += cashEarned;
scrap1 = Math.random(); // Leave 0-1 scrap1 remaining
updateUI();
LK.getSound('sell').play();
}
};
// UI Text elements
var goldScrapText = new Text2('Gold Scrap: 0', {
size: 80,
fill: 0xFFD700
});
goldScrapText.anchor.set(0.5, 0);
goldScrapText.x = 1024;
goldScrapText.y = 320;
game.addChild(goldScrapText);
var scrapText = new Text2('Scrap: 0', {
size: 80,
fill: 0xFFFFFF
});
scrapText.anchor.set(0.5, 0);
scrapText.x = 1024;
scrapText.y = 400;
game.addChild(scrapText);
var scrap1Text = new Text2('Scrap1: 0', {
size: 70,
fill: 0xFF6600
});
scrap1Text.anchor.set(0.5, 0);
scrap1Text.x = 1024;
scrap1Text.y = 450;
game.addChild(scrap1Text);
var cashText = new Text2('Cash: $0', {
size: 70,
fill: 0x00FF00
});
cashText.anchor.set(0.5, 0);
cashText.x = 1024;
cashText.y = 480;
game.addChild(cashText);
var levelText = new Text2('SV Level: 0', {
size: 75,
fill: 0xFFFF00
});
levelText.anchor.set(0.5, 0);
levelText.x = 1024;
levelText.y = 560;
game.addChild(levelText);
var xpText = new Text2('XP: 0/100', {
size: 65,
fill: 0xFF00FF
});
xpText.anchor.set(0.5, 0);
xpText.x = 1024;
xpText.y = 640;
game.addChild(xpText);
var clickValueText = new Text2('Per Click: 1', {
size: 70,
fill: 0x00FFFF
});
clickValueText.anchor.set(0.5, 0);
clickValueText.x = 1024;
clickValueText.y = 720;
game.addChild(clickValueText);
var upgradeText = new Text2('Upgrade (Tier 0): $10', {
size: 60,
fill: 0xFFFFFF
});
upgradeText.anchor.set(0.5, 0.5);
upgradeText.x = 700;
upgradeText.y = 250;
upgradePanel.addChild(upgradeText);
var multiplierUpgradeText = new Text2('Multiplier (Tier 0): $50', {
size: 55,
fill: 0xFFFFFF
});
multiplierUpgradeText.anchor.set(0.5, 0.5);
multiplierUpgradeText.x = 700;
multiplierUpgradeText.y = 420;
upgradePanel.addChild(multiplierUpgradeText);
var sellText = new Text2('Sell Scrap', {
size: 55,
fill: 0xFFFFFF
});
sellText.anchor.set(0.5, 0.5);
sellText.x = 1024;
sellText.y = 1650;
game.addChild(sellText);
// Upgrade panel button
var upgradePanelButton = new Text2('UPGRADES', {
size: 50,
fill: 0x4CAF50
});
upgradePanelButton.anchor.set(0.5, 0.5);
upgradePanelButton.x = 1024;
upgradePanelButton.y = 1800;
game.addChild(upgradePanelButton);
upgradePanelButton.down = function (x, y, obj) {
// Check if settings panel is open - if so, disable interaction
if (settingsPanel && settingsPanel.visible) {
return;
}
// Check if save panel is open - if so, disable interaction
if (savePanel && savePanel.visible) {
return;
}
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
upgradePanel.visible = !upgradePanel.visible;
// Hide/show sell button and upgrade panel button when upgrade panel opens/closes
sellButton.visible = !upgradePanel.visible;
upgradePanelButton.visible = !upgradePanel.visible;
};
var totalClicksText = new Text2('Total Clicks: 0', {
size: 60,
fill: 0xCCCCCC
});
totalClicksText.anchor.set(0.5, 0);
totalClicksText.x = 1024;
totalClicksText.y = 800;
game.addChild(totalClicksText);
var magnetText = new Text2('Magnet: 0', {
size: 60,
fill: 0xFFD700
});
magnetText.anchor.set(0.5, 0);
magnetText.x = 1024;
magnetText.y = 880;
game.addChild(magnetText);
var versionText = new Text2('Pre_Alpha 7', {
size: 80,
fill: 0x888888
});
versionText.anchor.set(1, 1);
versionText.x = 2048 - 20;
versionText.y = 2732 - 20;
game.addChild(versionText);
// Save panel
var savePanel = new SavePanel();
savePanel.x = 1024 - 800; // Center horizontally
savePanel.y = 1366 - 400; // Center vertically
savePanel.visible = false;
game.addChild(savePanel);
// Close button for save panel
var saveCloseButton = new Text2('✕', {
size: 100,
fill: 0xFF0000
});
saveCloseButton.anchor.set(0.5, 0.5);
saveCloseButton.x = 1500;
saveCloseButton.y = 80;
savePanel.addChild(saveCloseButton);
saveCloseButton.down = function (x, y, obj) {
savePanel.visible = false;
};
// Settings panel
var settingsPanel = new Container();
settingsPanel.x = 1024 - 700; // Center horizontally (half of scaled width)
settingsPanel.y = 1366 - 240; // Center vertically (half of scaled height)
settingsPanel.visible = false;
game.addChild(settingsPanel);
// Settings panel background
var settingsBg = LK.getAsset('upgradeButton', {
anchorX: 0,
anchorY: 0,
scaleX: 3.5,
scaleY: 5.0
});
settingsBg.tint = 0x444444;
settingsPanel.addChild(settingsBg);
// Settings button
var settingsButton = new Text2('⚙️', {
size: 100,
fill: 0xFFFFFF
});
settingsButton.anchor.set(0, 1);
settingsButton.x = 80;
settingsButton.y = 2732 - 120;
game.addChild(settingsButton);
settingsButton.down = function (x, y, obj) {
// Check if upgrade panel is open - if so, disable interaction
if (upgradePanel && upgradePanel.visible) {
return;
}
// Check if save panel is open - if so, disable interaction
if (savePanel && savePanel.visible) {
return;
}
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
settingsPanel.visible = !settingsPanel.visible;
};
// Save panel button inside settings panel
var savePanelButton = new Text2('SAVE SYSTEM', {
size: 60,
fill: 0x00FFFF
});
savePanelButton.anchor.set(0.5, 0.5);
savePanelButton.x = 700;
savePanelButton.y = 160;
settingsPanel.addChild(savePanelButton);
savePanelButton.down = function (x, y, obj) {
settingsPanel.visible = false; // Close settings panel
savePanel.visible = !savePanel.visible;
};
// Hard reset button inside settings panel
var hardResetButton = new Text2('HARD RESET', {
size: 70,
fill: 0xFF0000
});
hardResetButton.anchor.set(0.5, 0.5);
hardResetButton.x = 700;
hardResetButton.y = 350;
settingsPanel.addChild(hardResetButton);
hardResetButton.down = function (x, y, obj) {
// Create confirmation dialog
var confirmDialog = new ConfirmationDialog('Reset all data?', function () {
// Yes - perform hard reset
scrap = 0;
scrap1 = 0;
cash = 0;
totalClicks = 0;
upgradeTier = 0;
svLevel = 0;
xp = 0;
magnet = 0;
multiplierTier = 0;
goldScrap = 0;
perClickValue = getPerClickValue();
// Clear storage
storage.scrap = 0;
storage.scrap1 = 0;
storage.cash = 0;
storage.totalClicks = 0;
storage.upgradeTier = 0;
storage.svLevel = 0;
storage.xp = 0;
storage.magnet = 0;
storage.multiplierTier = 0;
storage.goldScrap = 0;
// Update UI
updateUI();
// Flash effect
LK.effects.flashScreen(0xff0000, 1000);
// Hide settings panel after reset
settingsPanel.visible = false;
}, function () {
// No - do nothing
});
// Position dialog in center of screen
confirmDialog.x = 1024 - 600;
confirmDialog.y = 1366 - 180;
game.addChild(confirmDialog);
};
// Helper functions
function formatNumber(num, isScrap1) {
// Type checking to prevent toFixed errors
if (typeof num !== 'number' || isNaN(num) || num === null || num === undefined) {
return '0.00';
}
// Special formatting for scrap1 values
if (isScrap1 && num >= 1000) {
return (num / 1000).toFixed(2).replace(/\.?0+$/, '') + '(1.00E308)';
}
if (num < 1000) {
return num.toFixed(2);
}
if (num < 1000000) {
return (num / 1000).toFixed(2).replace(/\.?0+$/, '') + '(K)';
}
if (num < 1000000000) {
return (num / 1000000).toFixed(2).replace(/\.?0+$/, '') + '(M)';
}
if (num < 1000000000000) {
return (num / 1000000000).toFixed(2).replace(/\.?0+$/, '') + '(B)';
}
if (num < 1000000000000000) {
return (num / 1000000000000).toFixed(2).replace(/\.?0+$/, '') + '(T)';
}
// For numbers >= 1e15, use letters a-z then A-Z then AA-ZZ format
var exponent = Math.floor(Math.log10(num));
var letterIndex = Math.floor((exponent - 15) / 3);
var mantissa = num / Math.pow(10, 15 + letterIndex * 3);
var letter;
if (letterIndex < 26) {
letter = String.fromCharCode(97 + letterIndex); // a-z
} else if (letterIndex < 52) {
letter = String.fromCharCode(65 + letterIndex - 26); // A-Z
} else if (letterIndex < 78) {
// (aa)-(zz) format (52-77 range)
var doubleLetterIndex = letterIndex - 52;
var firstLetter = String.fromCharCode(97 + doubleLetterIndex); // a-z
letter = '(' + firstLetter + firstLetter + ')'; // (aa), (bb), (cc), etc.
} else {
// Scientific notation for very large numbers
return (num / Math.pow(10, Math.floor(Math.log10(num)))).toFixed(2) + ' E' + Math.floor(Math.log10(num));
}
return mantissa.toFixed(2).replace(/\.?0+$/, '') + letter;
}
function getPerClickValue() {
// Calculate base value from upgrade tiers with progressive scaling
var baseValue = 1;
for (var i = 1; i <= upgradeTier; i++) {
var multiplier;
if (i % 100 === 0) {
multiplier = 1.8; // Every 100th tier - higher scaling due to high cost
} else if (i % 25 === 0) {
multiplier = 1.6; // Every 25th tier - increased scaling
} else if (i % 10 === 0) {
multiplier = 1.4; // Every 10th tier - moderate scaling
} else {
multiplier = 1.2; // All other tiers - reduced base scaling
}
baseValue *= multiplier;
}
// Apply multiplier tier bonus with balanced progression
var clickMultiplier = 1;
for (var j = 1; j <= multiplierTier; j++) {
if (j === 1) {
clickMultiplier += 0.8; // First tier: x1.8 total (reduced from 2.5x)
} else if (j === 2) {
clickMultiplier += 0.7; // Second tier: x2.5 total (reduced from 3.7x)
} else if (j === 3) {
clickMultiplier += 0.6; // Third tier: x3.1 total (reduced from 4.5x)
} else if (j === 4) {
clickMultiplier += 1.2; // Fourth tier: x4.3 total (reduced from 6.5x)
} else if (j === 5) {
clickMultiplier += 0.4; // Fifth tier: x4.7 total (reduced from 7.0x)
} else if (j % 5 === 0) {
clickMultiplier += 1.8; // Every 5th tier: large boost (reduced from 3.0)
} else if (j % 3 === 0) {
clickMultiplier += 1.2; // Every 3rd tier: medium boost (reduced from 1.8)
} else if (j % 2 === 0) {
clickMultiplier += 0.9; // Every 2nd tier: small-medium boost (reduced from 1.3)
} else {
clickMultiplier += 0.5; // Other tiers: small boost (reduced from 0.7)
}
}
// Balance the multiplier effect to maintain reasonable progression
baseValue *= clickMultiplier;
// Apply gold scrap boost (1 gold scrap = 3x boost)
var goldScrapBoost = 1 + goldScrap * 3;
baseValue *= goldScrapBoost;
// Cap the value to prevent infinite growth at 1.00E308
if (baseValue >= 1.00e308) {
baseValue = 1.00e308;
}
return baseValue;
}
function getMultiplierUpgradeCost() {
var baseCost = 75; // Higher base cost to match reduced multiplier benefits
for (var i = 1; i <= multiplierTier; i++) {
var costMultiplier;
if (i % 10 === 0) {
costMultiplier = 2.5; // Every 10th tier - significant cost increase
} else if (i % 5 === 0) {
costMultiplier = 2.2; // Every 5th tier - high cost increase
} else {
costMultiplier = 2.0; // Standard tiers - balanced scaling
}
baseCost *= costMultiplier;
}
return Math.floor(baseCost);
}
function getUpgradeCost() {
var baseCost = 25;
for (var i = 1; i <= upgradeTier; i++) {
var multiplier;
if (i % 100 === 0) {
multiplier = 1.8 * 1.1; // Every 100th tier - per-click scaling + 1.1x
} else if (i % 25 === 0) {
multiplier = 1.6 * 1.1; // Every 25th tier - per-click scaling + 1.1x
} else if (i % 10 === 0) {
multiplier = 1.4 * 1.1; // Every 10th tier - per-click scaling + 1.1x
} else {
multiplier = 1.2 * 1.1; // All other tiers - per-click scaling + 1.1x
}
baseCost *= multiplier;
}
return Math.floor(baseCost);
}
function getXPRequired() {
return 100 + svLevel * 50;
}
function checkLevelUp() {
var xpRequired = getXPRequired();
if (xp >= xpRequired) {
xp -= xpRequired;
svLevel++;
// Flash effect for level up
LK.effects.flashScreen(0xffff00, 500);
}
}
function createMagnetReward() {
var reward = game.addChild(new FloatingReward('magnet'));
reward.x = 1024 + (Math.random() - 0.5) * 600;
reward.y = 1400;
floatingRewards.push(reward);
}
function createXPReward() {
var reward = game.addChild(new FloatingReward('xp'));
reward.x = 1024 + (Math.random() - 0.5) * 600;
reward.y = 1400;
floatingRewards.push(reward);
}
function createFloatingText(text, x, y, color) {
var floatingText = game.addChild(new FloatingText(text, x, y, color));
floatingTexts.push(floatingText);
}
function updateUI() {
// Update gold scrap display
if (goldScrap < 1000) {
goldScrapText.setText('Gold Scrap: ' + goldScrap.toFixed(0));
} else {
goldScrapText.setText('Gold Scrap: ' + formatNumber(goldScrap));
}
// Show decimal values for scrap instead of rounded integers - hide when scrap1 > 0
if (scrap1 > 0) {
scrapText.visible = false;
} else {
scrapText.visible = true;
if (scrap < 1000) {
scrapText.setText('Scrap: ' + scrap.toFixed(2));
} else {
scrapText.setText('Scrap: ' + formatNumber(scrap));
}
}
// Update scrap1 display - only show when scrap1 > 0
if (scrap1 > 0) {
scrap1Text.visible = true;
sellScrap1Button.visible = true;
// Ensure minimum value of 1000 when displaying
if (scrap1 < 1000) {
scrap1 = 1000;
}
if (scrap1 < 1000) {
scrap1Text.setText('Scrap1: ' + scrap1.toFixed(2));
} else {
scrap1Text.setText('Scrap1: ' + formatNumber(scrap1, true));
}
} else {
scrap1Text.visible = false;
sellScrap1Button.visible = false;
}
if (cash < 1000) {
cashText.setText('Cash: $' + cash.toFixed(2));
} else {
cashText.setText('Cash: $' + formatNumber(cash));
}
levelText.setText('SV Level: ' + formatNumber(svLevel));
xpText.setText('XP: ' + formatNumber(xp) + '/' + formatNumber(getXPRequired()));
// Show decimal values for per-click instead of rounded integers
if (perClickValue < 1000) {
clickValueText.setText('Per Click: ' + perClickValue.toFixed(2));
} else {
clickValueText.setText('Per Click: ' + formatNumber(perClickValue));
}
totalClicksText.setText('Total Clicks: ' + formatNumber(totalClicks));
if (magnet < 1000) {
magnetText.setText('Magnet: ' + magnet.toFixed(2));
} else {
magnetText.setText('Magnet: ' + formatNumber(magnet));
}
if (upgradeTier < 1600 && perClickValue < 1.00e308) {
var upgradeCost = getUpgradeCost();
var upgradeCostText = upgradeCost < 1000 ? upgradeCost.toFixed(2) : formatNumber(upgradeCost);
upgradeText.setText('Upgrade (Tier ' + upgradeTier + '): $' + upgradeCostText);
upgradeText.fill = cash >= upgradeCost ? "#00ff00" : "#ff0000";
} else {
upgradeText.setText('MAX TIER REACHED');
upgradeText.fill = "#ffff00";
}
// Update multiplier upgrade text
if (multiplierTier < 25 && perClickValue < 1.00e308) {
var multiplierCost = getMultiplierUpgradeCost();
var multiplierCostText = multiplierCost < 1000 ? multiplierCost.toFixed(2) : formatNumber(multiplierCost);
// Calculate current multiplier using same logic as getPerClickValue
var currentMultiplier = 1;
for (var k = 1; k <= multiplierTier; k++) {
if (k === 1) {
currentMultiplier += 1.5;
} else if (k === 2) {
currentMultiplier += 1.2;
} else if (k === 3) {
currentMultiplier += 0.8;
} else if (k === 4) {
currentMultiplier += 2.0;
} else if (k === 5) {
currentMultiplier += 0.5;
} else if (k % 5 === 0) {
currentMultiplier += 3.0;
} else if (k % 3 === 0) {
currentMultiplier += 1.8;
} else if (k % 2 === 0) {
currentMultiplier += 1.3;
} else {
currentMultiplier += 0.7;
}
}
multiplierUpgradeText.setText('Multiplier x' + currentMultiplier.toFixed(1) + ' (Tier ' + multiplierTier + '): $' + multiplierCostText);
multiplierUpgradeText.fill = cash >= multiplierCost ? "#00ff00" : "#ff0000";
} else {
multiplierUpgradeText.setText('MAX MULTIPLIER REACHED');
multiplierUpgradeText.fill = "#ffff00";
}
// Update boost text
var currentBoost = 1 + goldScrap * 3;
if (currentBoost < 1000) {
boostText.setText('Boost: ' + currentBoost.toFixed(0) + 'x');
} else {
boostText.setText('Boost: ' + formatNumber(currentBoost) + 'x');
}
// Update gold scrap convert button text
if (scrap >= 1000) {
goldScrapConvertButton.fill = 0x00FF00;
} else {
goldScrapConvertButton.fill = 0xFF0000;
}
// Save game state
storage.scrap = scrap;
storage.scrap1 = scrap1;
storage.cash = cash;
storage.totalClicks = totalClicks;
storage.upgradeTier = upgradeTier;
storage.svLevel = svLevel;
storage.xp = xp;
storage.magnet = magnet;
storage.multiplierTier = multiplierTier;
storage.goldScrap = goldScrap;
}
// Initial UI update
updateUI();
// Auto-save timer
var autoSaveTimer = 0;
// UI update timer
var uiUpdateTimer = 0;
game.update = function () {
// Update floating rewards
for (var i = floatingRewards.length - 1; i >= 0; i--) {
var reward = floatingRewards[i];
if (reward.update) {
reward.update();
}
}
// Update floating texts
for (var j = floatingTexts.length - 1; j >= 0; j--) {
var floatingText = floatingTexts[j];
if (floatingText.update) {
floatingText.update();
}
}
// Update UI every second (60 ticks)
uiUpdateTimer++;
if (uiUpdateTimer >= 60) {
uiUpdateTimer = 0;
updateUI();
}
// Auto-save every second (60 ticks)
autoSaveTimer++;
if (autoSaveTimer >= 60) {
autoSaveTimer = 0;
// Save current game state
storage.scrap = scrap;
storage.scrap1 = scrap1;
storage.cash = cash;
storage.totalClicks = totalClicks;
storage.upgradeTier = upgradeTier;
storage.svLevel = svLevel;
storage.xp = xp;
storage.magnet = magnet;
storage.multiplierTier = multiplierTier;
storage.goldScrap = goldScrap;
}
};
function createSaveSlot(parent, slotIndex, x, y) {
var slotContainer = new Container();
slotContainer.x = x;
slotContainer.y = y;
parent.addChild(slotContainer);
// Slot background
var slotBg = LK.getAsset('upgradeButton', {
anchorX: 0,
anchorY: 0,
scaleX: 3.6,
scaleY: 1.8
});
slotBg.tint = 0x333333;
slotContainer.addChild(slotBg);
// Slot title
var slotTitle = new Text2('SLOT ' + (slotIndex + 1), {
size: 50,
fill: 0xFFFFFF
});
slotTitle.anchor.set(0, 0);
slotTitle.x = 20;
slotTitle.y = 20;
slotContainer.addChild(slotTitle);
// Save info text
var saveInfo = new Text2('Empty', {
size: 35,
fill: 0xCCCCCC
});
saveInfo.anchor.set(0, 0);
saveInfo.x = 20;
saveInfo.y = 70;
slotContainer.addChild(saveInfo);
// Save button
var saveBtn = new Text2('SAVE', {
size: 40,
fill: 0x00FF00
});
saveBtn.anchor.set(0.5, 0.5);
saveBtn.x = 350;
saveBtn.y = 60;
slotContainer.addChild(saveBtn);
// Load button
var loadBtn = new Text2('LOAD', {
size: 40,
fill: 0x0080FF
});
loadBtn.anchor.set(0.5, 0.5);
loadBtn.x = 550;
loadBtn.y = 60;
slotContainer.addChild(loadBtn);
// Delete button
var deleteBtn = new Text2('DELETE', {
size: 40,
fill: 0xFF0000
});
deleteBtn.anchor.set(0.5, 0.5);
deleteBtn.x = 800;
deleteBtn.y = 60;
slotContainer.addChild(deleteBtn);
// Update slot display
function updateSlotDisplay() {
var saveKey = 'save_slot_' + slotIndex;
var saveData = storage[saveKey];
if (saveData && saveData !== null) {
saveInfo.setText('SV Lvl: ' + formatNumber(saveData.svLevel || 0) + '\nCash: $' + formatNumber(saveData.cash || 0));
saveInfo.fill = 0xFFFFFF;
loadBtn.fill = 0x0080FF;
} else {
saveInfo.setText('Empty');
saveInfo.fill = 0xCCCCCC;
loadBtn.fill = 0x555555;
}
}
// Save button functionality
saveBtn.down = function (x, y, obj) {
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
var saveKey = 'save_slot_' + slotIndex;
var saveData = {
scrap: scrap.toString(),
scrap1: scrap1.toString(),
cash: cash.toString(),
totalClicks: totalClicks.toString(),
upgradeTier: upgradeTier,
svLevel: svLevel,
xp: xp.toString(),
magnet: magnet.toString(),
multiplierTier: multiplierTier,
goldScrap: goldScrap
};
storage[saveKey] = saveData;
updateSlotDisplay();
LK.effects.flashScreen(0x00FF00, 300);
};
// Load button functionality
loadBtn.down = function (x, y, obj) {
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
var saveKey = 'save_slot_' + slotIndex;
var saveData = storage[saveKey];
if (saveData && saveData !== null) {
scrap = parseFloat(saveData.scrap) || 0;
scrap1 = parseFloat(saveData.scrap1) || 0;
cash = parseFloat(saveData.cash) || 0;
totalClicks = parseFloat(saveData.totalClicks) || 0;
upgradeTier = saveData.upgradeTier || 0;
svLevel = saveData.svLevel || 0;
xp = parseFloat(saveData.xp) || 0;
magnet = parseFloat(saveData.magnet) || 0;
multiplierTier = saveData.multiplierTier || 0;
goldScrap = saveData.goldScrap || 0;
perClickValue = getPerClickValue();
updateUI();
LK.effects.flashScreen(0x0080FF, 300);
}
};
// Delete button functionality
deleteBtn.down = function (x, y, obj) {
// Check if any confirmation dialog is showing
if (game.children.some(function (child) {
return child instanceof ConfirmationDialog;
})) {
return;
}
var saveKey = 'save_slot_' + slotIndex;
var saveData = storage[saveKey];
// Only show confirmation if there's actually data to delete
if (saveData && saveData !== null) {
// Create confirmation dialog
var confirmDialog = new ConfirmationDialog('Delete save data?', function () {
// Yes - delete the save data
storage[saveKey] = null;
// Force update the display to show Empty
saveInfo.setText('Empty');
saveInfo.fill = 0xCCCCCC;
loadBtn.fill = 0x555555;
updateSlotDisplay();
LK.effects.flashScreen(0xFF0000, 300);
}, function () {
// No - do nothing
});
// Position dialog in center of screen
confirmDialog.x = 1024 - 600;
confirmDialog.y = 1366 - 180;
game.addChild(confirmDialog);
}
};
// Initial display update
updateSlotDisplay();
} ===================================================================
--- original.js
+++ change.js
@@ -52,16 +52,22 @@
duration: 100
});
}
});
- // Generate scrap
- scrap += perClickValue;
- totalClicks++;
- // Check if scrap reaches 1.00E308 and convert to scrap1
- if (scrap >= 1.00e308) {
- scrap1 += 1000; // Add 1000 to scrap1
- scrap = 0; // Reset scrap to 0
+ // Generate based on current system
+ if (scrap1 > 0) {
+ // If in scrap1 system, add to scrap1
+ scrap1 += perClickValue;
+ } else {
+ // Normal scrap system
+ scrap += perClickValue;
+ // Check if scrap reaches 1.00E308 and convert to scrap1
+ if (scrap >= 1.00e308) {
+ scrap1 = 1000; // Start scrap1 at 1000
+ scrap = 0; // Reset scrap to 0
+ }
}
+ totalClicks++;
// Chance for rewards (15% for magnet, 25% for XP)
if (Math.random() < 0.15) {
createMagnetReward();
}
@@ -537,8 +543,45 @@
goldScrapPanel.addChild(boostText);
var sellButton = game.addChild(new SellButton());
sellButton.x = 1024;
sellButton.y = 1650;
+// Sell Scrap1 Button
+var sellScrap1Button = new Text2('SELL SCRAP1', {
+ size: 50,
+ fill: 0xFF6600
+});
+sellScrap1Button.anchor.set(0.5, 0.5);
+sellScrap1Button.x = 1024;
+sellScrap1Button.y = 1550;
+game.addChild(sellScrap1Button);
+sellScrap1Button.down = function (x, y, obj) {
+ // Check if upgrade panel is open - if so, disable interaction
+ if (upgradePanel && upgradePanel.visible) {
+ return;
+ }
+ // Check if settings panel is open - if so, disable interaction
+ if (settingsPanel && settingsPanel.visible) {
+ return;
+ }
+ // Check if save panel is open - if so, disable interaction
+ if (savePanel && savePanel.visible) {
+ return;
+ }
+ // Check if any confirmation dialog is showing
+ if (game.children.some(function (child) {
+ return child instanceof ConfirmationDialog;
+ })) {
+ return;
+ }
+ if (scrap1 >= 2) {
+ var sellAmount = scrap1;
+ var cashEarned = sellAmount * 1000; // Convert scrap1 to cash at 1000:1 ratio
+ cash += cashEarned;
+ scrap1 = Math.random(); // Leave 0-1 scrap1 remaining
+ updateUI();
+ LK.getSound('sell').play();
+ }
+};
// UI Text elements
var goldScrapText = new Text2('Gold Scrap: 0', {
size: 80,
fill: 0xFFD700
@@ -954,19 +997,35 @@
goldScrapText.setText('Gold Scrap: ' + goldScrap.toFixed(0));
} else {
goldScrapText.setText('Gold Scrap: ' + formatNumber(goldScrap));
}
- // Show decimal values for scrap instead of rounded integers
- if (scrap < 1000) {
- scrapText.setText('Scrap: ' + scrap.toFixed(2));
+ // Show decimal values for scrap instead of rounded integers - hide when scrap1 > 0
+ if (scrap1 > 0) {
+ scrapText.visible = false;
} else {
- scrapText.setText('Scrap: ' + formatNumber(scrap));
+ scrapText.visible = true;
+ if (scrap < 1000) {
+ scrapText.setText('Scrap: ' + scrap.toFixed(2));
+ } else {
+ scrapText.setText('Scrap: ' + formatNumber(scrap));
+ }
}
- // Update scrap1 display
- if (scrap1 < 1000) {
- scrap1Text.setText('Scrap1: ' + scrap1.toFixed(2));
+ // Update scrap1 display - only show when scrap1 > 0
+ if (scrap1 > 0) {
+ scrap1Text.visible = true;
+ sellScrap1Button.visible = true;
+ // Ensure minimum value of 1000 when displaying
+ if (scrap1 < 1000) {
+ scrap1 = 1000;
+ }
+ if (scrap1 < 1000) {
+ scrap1Text.setText('Scrap1: ' + scrap1.toFixed(2));
+ } else {
+ scrap1Text.setText('Scrap1: ' + formatNumber(scrap1, true));
+ }
} else {
- scrap1Text.setText('Scrap1: ' + formatNumber(scrap1, true));
+ scrap1Text.visible = false;
+ sellScrap1Button.visible = false;
}
if (cash < 1000) {
cashText.setText('Cash: $' + cash.toFixed(2));
} else {