@@ -29,6 +29,8 @@ function App() {
29
29
const [ clicksMultiplier , setClicksMultiplier ] = useState ( 1 ) ; //set clicks multiplier to 1
30
30
const [ seconds , setSeconds ] = useState ( 0 ) ; //set initial seconds played to 0
31
31
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
32
34
const updateClickers = useCallback ( ( ) => {
33
35
//update click multiplier for clickers
34
36
setClickMultiplier (
@@ -66,6 +68,7 @@ function App() {
66
68
100 ) *
67
69
( 1 + ( timeMultiplierBonus * seconds ) / 10000 ) *
68
70
( 1 + ( clickMultiplierBonus * clicks ) / 10000 ) *
71
+ ( 1 + ( totalUpgradesMultiplier * totalUpgrades ) / 1000 ) *
69
72
clicker . level ,
70
73
0 ,
71
74
) ,
@@ -80,6 +83,8 @@ function App() {
80
83
clicks ,
81
84
seconds ,
82
85
timeMultiplierBonus ,
86
+ totalUpgrades ,
87
+ totalUpgradesMultiplier ,
83
88
] ) ;
84
89
useEffect ( ( ) => {
85
90
const interval = setInterval ( ( ) => {
@@ -118,6 +123,7 @@ function App() {
118
123
setPoints ( ( prevPoints ) => prevPoints - 10 * Math . pow ( 2 , clickers - 1 ) ) ; //spend points
119
124
setClickers ( ( prevClickers ) => prevClickers + 1 ) ; //increase clickers by 1
120
125
updateClickers ( ) ; //update clickers value
126
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
121
127
}
122
128
}
123
129
function upgradeClickerMultiplier ( ) {
@@ -132,6 +138,7 @@ function App() {
132
138
( prevClickersMultiplier ) => prevClickersMultiplier + 1 ,
133
139
) ; //increase clickers multiplier by 1
134
140
updateClickers ( ) ; //update clickers value
141
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
135
142
}
136
143
}
137
144
function upgradeAutoClicker ( level ) {
@@ -161,6 +168,7 @@ function App() {
161
168
) ,
162
169
) ; //increase autoclickers by 1
163
170
updateAutoClickers ( ) ; //update auto clickers value
171
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
164
172
}
165
173
}
166
174
function upgradeAutoClickerMultiplier ( level ) {
@@ -190,6 +198,7 @@ function App() {
190
198
) ,
191
199
) ; //increase autoclickers multiplier by 1
192
200
updateAutoClickers ( ) ; //update auto clickers value
201
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
193
202
}
194
203
}
195
204
function upgradeAutoClickerLevelBonus ( level ) {
@@ -219,6 +228,7 @@ function App() {
219
228
) ,
220
229
) ; //increase autoclickers level bonus by 1
221
230
updateAutoClickers ( ) ; //update auto clickers value
231
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
222
232
}
223
233
}
224
234
function upgradeAutoClickerBonus ( level ) {
@@ -248,6 +258,7 @@ function App() {
248
258
) ,
249
259
) ; //increase autoclickers bonus by 1
250
260
updateAutoClickers ( ) ; //update auto clickers value
261
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
251
262
}
252
263
}
253
264
function upgradeAutoClickerBonusMultiplier ( level ) {
@@ -277,6 +288,7 @@ function App() {
277
288
) ,
278
289
) ; //increase autoclickers bonus multiplier by 1
279
290
updateAutoClickers ( ) ; //update auto clickers value
291
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
280
292
}
281
293
}
282
294
function upgradeTimeMultiplierBonus ( ) {
@@ -291,6 +303,7 @@ function App() {
291
303
( prevTimeMultiplierBonus ) => prevTimeMultiplierBonus + 1 ,
292
304
) ; //increase time multiplier bonus by 1
293
305
updateAutoClickers ( ) ; //update auto clickers value
306
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
294
307
}
295
308
}
296
309
function upgradeClickMultiplierBonus ( ) {
@@ -305,6 +318,7 @@ function App() {
305
318
( prevClickMultiplierBonus ) => prevClickMultiplierBonus + 1 ,
306
319
) ; //increase click multiplier bonus by 1
307
320
updateAutoClickers ( ) ; //update auto clickers value
321
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
308
322
}
309
323
}
310
324
function upgradeClickerBonus ( ) {
@@ -313,6 +327,7 @@ function App() {
313
327
setPoints ( ( prevPoints ) => prevPoints - 1e3 * Math . pow ( 10 , clickerBonus ) ) ;
314
328
setClickerBonus ( ( prevClickerBonus ) => prevClickerBonus + 1 ) ; //increase clicker bonus by 1
315
329
updateAutoClickers ( ) ; //update auto clickers value
330
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
316
331
}
317
332
}
318
333
function upgradeMaxLevel ( ) {
@@ -340,6 +355,7 @@ function App() {
340
355
{ value : 0 , level : maxLevel + 1 } ,
341
356
] ) ;
342
357
setMaxLevel ( ( prevMaxLevel ) => prevMaxLevel + 1 ) ; //increase max level by 1
358
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
343
359
}
344
360
}
345
361
function upgradeSecondsMultiplier ( ) {
@@ -353,6 +369,7 @@ function App() {
353
369
setSecondsMultiplier (
354
370
( prevSecondsMultiplier ) => prevSecondsMultiplier + 1 ,
355
371
) ; //increase seconds multiplier by 1
372
+ setTotalUpgrades ( ( prevTotalUpgrades ) => prevTotalUpgrades + 1 ) ; //increase total upgrades by 1
356
373
}
357
374
}
358
375
function upgradeClicksMultiplier ( ) {
@@ -364,6 +381,22 @@ function App() {
364
381
( prevPoints ) => prevPoints - 1e6 * Math . pow ( 10 , clicksMultiplier - 1 ) ,
365
382
) ;
366
383
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
367
400
}
368
401
}
369
402
return (
@@ -440,7 +473,7 @@ function App() {
440
473
Seconds Multiplier:{ ' ' }
441
474
< NumericDisplay value = { secondsMultiplier } shortForm = { false } />
442
475
< br />
443
- { /*upgrade clicker bonus */ }
476
+ { /*upgrade seconds multiplier */ }
444
477
< button onClick = { ( ) => upgradeSecondsMultiplier ( ) } >
445
478
Upgrade Seconds Multiplier
446
479
</ button >
@@ -452,13 +485,25 @@ function App() {
452
485
Clicks Multiplier:{ ' ' }
453
486
< NumericDisplay value = { clicksMultiplier } shortForm = { false } />
454
487
< br />
455
- { /*upgrade clicker bonus */ }
488
+ { /*upgrade clicks multiplier */ }
456
489
< button onClick = { ( ) => upgradeClicksMultiplier ( ) } >
457
490
Upgrade Clicks Multiplier
458
491
</ button >
459
492
< CostDisplay cost = { 1e6 * Math . pow ( 10 , clicksMultiplier - 1 ) } />
460
493
</ td >
461
494
</ 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 >
462
507
< table >
463
508
< thead >
464
509
< tr >
0 commit comments