Skip to content

Commit 76a145e

Browse files
committed
Add multiplier for total upgrades
1 parent 1ef7401 commit 76a145e

File tree

1 file changed

+47
-2
lines changed

1 file changed

+47
-2
lines changed

src/App.js

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ function App() {
2929
const [clicksMultiplier, setClicksMultiplier] = useState(1); //set clicks multiplier to 1
3030
const [seconds, setSeconds] = useState(0); //set initial seconds played to 0
3131
const [secondsMultiplier, setSecondsMultiplier] = useState(1); //set clicks multiplier to 1
32+
const [totalUpgrades, setTotalUpgrades] = useState(0); //set total upgrades to 0
33+
const [totalUpgradesMultiplier, setTotalUpgradesMultiplier] = useState(0); //set total upgrades multiplier to 0
3234
const updateClickers = useCallback(() => {
3335
//update click multiplier for clickers
3436
setClickMultiplier(
@@ -66,6 +68,7 @@ function App() {
6668
100) *
6769
(1 + (timeMultiplierBonus * seconds) / 10000) *
6870
(1 + (clickMultiplierBonus * clicks) / 10000) *
71+
(1 + (totalUpgradesMultiplier * totalUpgrades) / 1000) *
6972
clicker.level,
7073
0,
7174
),
@@ -80,6 +83,8 @@ function App() {
8083
clicks,
8184
seconds,
8285
timeMultiplierBonus,
86+
totalUpgrades,
87+
totalUpgradesMultiplier,
8388
]);
8489
useEffect(() => {
8590
const interval = setInterval(() => {
@@ -118,6 +123,7 @@ function App() {
118123
setPoints((prevPoints) => prevPoints - 10 * Math.pow(2, clickers - 1)); //spend points
119124
setClickers((prevClickers) => prevClickers + 1); //increase clickers by 1
120125
updateClickers(); //update clickers value
126+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
121127
}
122128
}
123129
function upgradeClickerMultiplier() {
@@ -132,6 +138,7 @@ function App() {
132138
(prevClickersMultiplier) => prevClickersMultiplier + 1,
133139
); //increase clickers multiplier by 1
134140
updateClickers(); //update clickers value
141+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
135142
}
136143
}
137144
function upgradeAutoClicker(level) {
@@ -161,6 +168,7 @@ function App() {
161168
),
162169
); //increase autoclickers by 1
163170
updateAutoClickers(); //update auto clickers value
171+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
164172
}
165173
}
166174
function upgradeAutoClickerMultiplier(level) {
@@ -190,6 +198,7 @@ function App() {
190198
),
191199
); //increase autoclickers multiplier by 1
192200
updateAutoClickers(); //update auto clickers value
201+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
193202
}
194203
}
195204
function upgradeAutoClickerLevelBonus(level) {
@@ -219,6 +228,7 @@ function App() {
219228
),
220229
); //increase autoclickers level bonus by 1
221230
updateAutoClickers(); //update auto clickers value
231+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
222232
}
223233
}
224234
function upgradeAutoClickerBonus(level) {
@@ -248,6 +258,7 @@ function App() {
248258
),
249259
); //increase autoclickers bonus by 1
250260
updateAutoClickers(); //update auto clickers value
261+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
251262
}
252263
}
253264
function upgradeAutoClickerBonusMultiplier(level) {
@@ -277,6 +288,7 @@ function App() {
277288
),
278289
); //increase autoclickers bonus multiplier by 1
279290
updateAutoClickers(); //update auto clickers value
291+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
280292
}
281293
}
282294
function upgradeTimeMultiplierBonus() {
@@ -291,6 +303,7 @@ function App() {
291303
(prevTimeMultiplierBonus) => prevTimeMultiplierBonus + 1,
292304
); //increase time multiplier bonus by 1
293305
updateAutoClickers(); //update auto clickers value
306+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
294307
}
295308
}
296309
function upgradeClickMultiplierBonus() {
@@ -305,6 +318,7 @@ function App() {
305318
(prevClickMultiplierBonus) => prevClickMultiplierBonus + 1,
306319
); //increase click multiplier bonus by 1
307320
updateAutoClickers(); //update auto clickers value
321+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
308322
}
309323
}
310324
function upgradeClickerBonus() {
@@ -313,6 +327,7 @@ function App() {
313327
setPoints((prevPoints) => prevPoints - 1e3 * Math.pow(10, clickerBonus));
314328
setClickerBonus((prevClickerBonus) => prevClickerBonus + 1); //increase clicker bonus by 1
315329
updateAutoClickers(); //update auto clickers value
330+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
316331
}
317332
}
318333
function upgradeMaxLevel() {
@@ -340,6 +355,7 @@ function App() {
340355
{ value: 0, level: maxLevel + 1 },
341356
]);
342357
setMaxLevel((prevMaxLevel) => prevMaxLevel + 1); //increase max level by 1
358+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
343359
}
344360
}
345361
function upgradeSecondsMultiplier() {
@@ -353,6 +369,7 @@ function App() {
353369
setSecondsMultiplier(
354370
(prevSecondsMultiplier) => prevSecondsMultiplier + 1,
355371
); //increase seconds multiplier by 1
372+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
356373
}
357374
}
358375
function upgradeClicksMultiplier() {
@@ -364,6 +381,22 @@ function App() {
364381
(prevPoints) => prevPoints - 1e6 * Math.pow(10, clicksMultiplier - 1),
365382
);
366383
setClicksMultiplier((prevClicksMultiplier) => prevClicksMultiplier + 1); //increase clicks multiplier by 1
384+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
385+
}
386+
}
387+
function upgradeTotalUpgradesMultiplier() {
388+
//upgrade total upgrades multiplier
389+
if (
390+
checkPointsForUpgrade(points, 5e4 * Math.pow(10, totalUpgradesMultiplier))
391+
) {
392+
setPoints(
393+
(prevPoints) =>
394+
prevPoints - 5e4 * Math.pow(10, totalUpgradesMultiplier),
395+
);
396+
setTotalUpgradesMultiplier(
397+
(prevTotalUpgradesMultiplier) => prevTotalUpgradesMultiplier + 1,
398+
); //increase total upgrades multiplier by 1
399+
setTotalUpgrades((prevTotalUpgrades) => prevTotalUpgrades + 1); //increase total upgrades by 1
367400
}
368401
}
369402
return (
@@ -440,7 +473,7 @@ function App() {
440473
Seconds Multiplier:{' '}
441474
<NumericDisplay value={secondsMultiplier} shortForm={false} />
442475
<br />
443-
{/*upgrade clicker bonus*/}
476+
{/*upgrade seconds multiplier*/}
444477
<button onClick={() => upgradeSecondsMultiplier()}>
445478
Upgrade Seconds Multiplier
446479
</button>
@@ -452,13 +485,25 @@ function App() {
452485
Clicks Multiplier:{' '}
453486
<NumericDisplay value={clicksMultiplier} shortForm={false} />
454487
<br />
455-
{/*upgrade clicker bonus*/}
488+
{/*upgrade clicks multiplier*/}
456489
<button onClick={() => upgradeClicksMultiplier()}>
457490
Upgrade Clicks Multiplier
458491
</button>
459492
<CostDisplay cost={1e6 * Math.pow(10, clicksMultiplier - 1)} />
460493
</td>
461494
</tr>
495+
<tr>
496+
<td>
497+
Total Upgrades Multiplier:{' '}
498+
<NumericDisplay value={totalUpgradesMultiplier} shortForm={false} />
499+
<br />
500+
{/*upgrade total upgrades multiplier*/}
501+
<button onClick={() => upgradeTotalUpgradesMultiplier()}>
502+
Upgrade Total Upgrades Multiplier
503+
</button>
504+
<CostDisplay cost={5e4 * Math.pow(10, totalUpgradesMultiplier)} />
505+
</td>
506+
</tr>
462507
<table>
463508
<thead>
464509
<tr>

0 commit comments

Comments
 (0)