@@ -8,6 +8,7 @@ function App() {
88 const [ pointsPerSecond , setPointsPerSecond ] = useState ( 0 ) ; //set initial points per second to 0
99 const [ autoClickers , setAutoClickers ] = useState ( 0 ) ; //set initial auto clickers to 0
1010 const [ autoClickersMultiplier , setAutoClickersMultiplier ] = useState ( 1 ) ; //set initial auto clickers multiplier to 1
11+ const [ autoClickersLevelBonus , setAutoClickersLevelBonus ] = useState ( 0 ) ; //set initial auto clickers level bonus to 0
1112 const [ clicks , setClicks ] = useState ( 0 ) ; //set initial clicks pressed to 0
1213 const [ clickMultiplier , setClickMultiplier ] = useState ( 1 ) ; //set initial click multiplier to 1
1314 const [ clickersMultiplier , setClickersMultiplier ] = useState ( 1 ) ; //set initial clickers multiplier to 1
@@ -20,9 +21,12 @@ function App() {
2021 const updateAutoClickers = useCallback ( ( ) => {
2122 //update points per second for autoclickers
2223 setPointsPerSecond (
23- ( prevPointsPerSecond ) => autoClickers * autoClickersMultiplier ,
24+ ( prevPointsPerSecond ) =>
25+ autoClickers *
26+ autoClickersMultiplier *
27+ ( 1 + ( autoClickersLevelBonus * autoClickers ) / 100 ) ,
2428 ) ; //set points per second
25- } , [ autoClickers , autoClickersMultiplier ] ) ;
29+ } , [ autoClickers , autoClickersLevelBonus , autoClickersMultiplier ] ) ;
2630 useEffect ( ( ) => {
2731 const interval = setInterval ( ( ) => {
2832 //increase points every second
@@ -100,6 +104,20 @@ function App() {
100104 updateAutoClickers ( ) ; //update auto clickers value
101105 }
102106 }
107+ function upgradeAutoClickerLevelBonus ( ) {
108+ //upgrade autoclicker level bonus
109+ if (
110+ checkPointsForUpgrade ( points , 1e3 * Math . pow ( 2 , autoClickersLevelBonus ) )
111+ ) {
112+ setPoints (
113+ ( prevPoints ) => prevPoints - 1e3 * Math . pow ( 2 , autoClickersLevelBonus ) ,
114+ ) ;
115+ setAutoClickersLevelBonus (
116+ ( prevAutoClickersLevelBonus ) => prevAutoClickersLevelBonus + 1 ,
117+ ) ; //increase autoclickers level bonus by 1
118+ updateAutoClickers ( ) ; //update auto clickers value
119+ }
120+ }
103121 return (
104122 //dynamic app HTML output
105123 < div className = "App" >
@@ -143,27 +161,33 @@ function App() {
143161 Clicker Multiplier Level:{ " " }
144162 < NumericDisplay value = { clickersMultiplier } shortForm = { false } />
145163 < br />
146- { /*upgrade clicker (points per click) */ }
164+ { /*upgrade clicker multiplier */ }
147165 < button onClick = { ( ) => upgradeClickerMultiplier ( ) } >
148- Upgrade Clicker (Points Per Click)
166+ Upgrade Clicker Multiplier
149167 </ button >
150168 < CostDisplay cost = { 100 * Math . pow ( 2 , clickersMultiplier - 1 ) } />
151169 Autoclicker Level:{ " " }
152170 < NumericDisplay value = { autoClickers } shortForm = { false } />
153171 < br />
154- { /*upgrade points per second*/ }
155- < button onClick = { ( ) => upgradeAutoClicker ( ) } >
156- Upgrade Points Per Second
157- </ button >
172+ { /*upgrade autoclicker (points per second)*/ }
173+ < button onClick = { ( ) => upgradeAutoClicker ( ) } > Upgrade Autoclicker</ button >
158174 < CostDisplay cost = { 10 * Math . pow ( 2 , autoClickers ) } />
159175 Autoclicker Multiplier Level:{ " " }
160176 < NumericDisplay value = { autoClickersMultiplier } shortForm = { false } />
161177 < br />
162- { /*upgrade points per second */ }
178+ { /*upgrade autoclicker multiplier */ }
163179 < button onClick = { ( ) => upgradeAutoClickerMultiplier ( ) } >
164- Upgrade Points Per Second
180+ Upgrade Autoclicker Multiplier
165181 </ button >
166182 < CostDisplay cost = { 100 * Math . pow ( 2 , autoClickersMultiplier - 1 ) } />
183+ Autoclicker Level Bonus:{ " " }
184+ < NumericDisplay value = { autoClickersLevelBonus } shortForm = { false } />
185+ < br />
186+ { /*upgrade autoclicker level bonus*/ }
187+ < button onClick = { ( ) => upgradeAutoClickerLevelBonus ( ) } >
188+ Upgrade Autoclicker Level Bonus
189+ </ button >
190+ < CostDisplay cost = { 1000 * Math . pow ( 2 , autoClickersLevelBonus ) } />
167191 </ div >
168192 ) ;
169193}
0 commit comments