105 lines
2.6 KiB
JavaScript
105 lines
2.6 KiB
JavaScript
let mood = 0;
|
|
let moodPerClick = 50; // FOR TESTING PURPOSES, SHOULD BE 1 IN PRODUCTION
|
|
|
|
const upgradesContainer = document.getElementById('upgrades');
|
|
const moodCounter = document.getElementById('mood-counter');
|
|
const favicon = document.getElementById('favicon');
|
|
|
|
function updateMoodCounter() {
|
|
moodCounter.innerText = mood;
|
|
|
|
updateUpgrades();
|
|
|
|
if (mood < 100) {
|
|
favicon.setAttribute('href', './assets/favicons/1.ico');
|
|
} else if (mood < 1e3) {
|
|
favicon.setAttribute('href', './assets/favicons/2.ico');
|
|
} else if (mood < 1e5) {
|
|
favicon.setAttribute('href', './assets/favicons/3.ico');
|
|
} else if (mood < 1e9) {
|
|
favicon.setAttribute('href', './assets/favicons/4.ico');
|
|
} else if (mood < 1e16) {
|
|
favicon.setAttribute('href', './assets/favicons/5.ico');
|
|
} else if (mood < 1e19) {
|
|
favicon.setAttribute('href', './assets/favicons/6.ico');
|
|
} else if (mood < 1e22) {
|
|
favicon.setAttribute('href', './assets/favicons/7.ico');
|
|
}
|
|
}
|
|
|
|
function updateUpgrades() {
|
|
upgradesContainer.innerHTML = '';
|
|
|
|
upgrades.slice(0, 4).forEach((upgrade) => {
|
|
const upgradeBtn = document.createElement('button');
|
|
upgradeBtn.id = upgrade.id;
|
|
upgradeBtn.className = 'upgrade';
|
|
upgradeBtn.onclick = () => purchaseUpgrade(upgrade.id);
|
|
|
|
if (mood < upgrade.cost) {
|
|
upgradeBtn.style.opacity = 0.6;
|
|
upgradeBtn.style.cursor = 'not-allowed';
|
|
}
|
|
|
|
const upgradeImg = document.createElement('img');
|
|
upgradeImg.src = upgrade.image;
|
|
upgradeImg.alt = upgrade.name + ' Upgrade';
|
|
upgradeBtn.append(upgradeImg);
|
|
|
|
upgradesContainer.append(upgradeBtn);
|
|
});
|
|
}
|
|
|
|
function onLiftMoodClick() {
|
|
mood += moodPerClick;
|
|
updateMoodCounter();
|
|
}
|
|
|
|
function purchaseUpgrade(id) {
|
|
const upgrade = upgrades.filter((upgrade) => upgrade.id === id)[0];
|
|
|
|
if (mood >= upgrade.cost) {
|
|
mood -= upgrade.cost;
|
|
upgrades.shift();
|
|
updateMoodCounter();
|
|
upgrade.onPurchase();
|
|
}
|
|
}
|
|
|
|
// UPGRADES
|
|
|
|
function enableSaves() {
|
|
}
|
|
|
|
function enableMusic() {
|
|
}
|
|
|
|
let upgrades = [
|
|
{
|
|
id: 'mood_lifter',
|
|
name: 'Mood Lifter',
|
|
description: 'Lift your Mood. +5/click',
|
|
image: '../assets/img/upgrades/mood_lifter.png',
|
|
cost: 50,
|
|
onPurchase: () => moodPerClick += 5,
|
|
},
|
|
{
|
|
id: 'saves',
|
|
name: 'Free Disk Space',
|
|
description: 'Enable saves',
|
|
image: '../assets/img/upgrades/saves.png',
|
|
cost: 300,
|
|
onPurchase: enableSaves,
|
|
},
|
|
{
|
|
id: 'calm_music',
|
|
name: 'Old Radio',
|
|
description: 'Turn on calm lo-fi music',
|
|
image: '../assets/img/upgrades/calm_music.png',
|
|
cost: 1000,
|
|
onPurchase: enableMusic,
|
|
},
|
|
];
|
|
|
|
updateUpgrades();
|