@@ -20,17 +20,18 @@ generateRandomCardButton.addEventListener("click", () => {
2020 //when generate random card button is pressed
2121 const totalWeight = cards . reduce (
2222 ( total , card ) =>
23- total + card . rarity === "common"
23+ total +
24+ ( card . rarity === "common"
2425 ? 0.5
2526 : card . rarity === "uncommon"
26- ? 0.25
27- : card . rarity === "rare"
28- ? 0.15
29- : card . rarity === "epic"
30- ? 0.075
31- : card . rarity === "legendary"
32- ? 0.025
33- : 0 ,
27+ ? 0.25
28+ : card . rarity === "rare"
29+ ? 0.15
30+ : card . rarity === "epic"
31+ ? 0.075
32+ : card . rarity === "legendary"
33+ ? 0.025
34+ : 0 ) ,
3435 0 ,
3536 ) ; //calculate total weight of all cards based on card rarity
3637 const number = Math . random ( ) * totalWeight ; //generate random number between 0 and total weight
@@ -41,14 +42,14 @@ generateRandomCardButton.addEventListener("click", () => {
4142 card . rarity === "common"
4243 ? 0.5
4344 : card . rarity === "uncommon"
44- ? 0.25
45- : card . rarity === "rare"
46- ? 0.15
47- : card . rarity === "epic"
48- ? 0.075
49- : card . rarity === "legendary"
50- ? 0.025
51- : 0 ; //add card weight to weight sum
45+ ? 0.25
46+ : card . rarity === "rare"
47+ ? 0.15
48+ : card . rarity === "epic"
49+ ? 0.075
50+ : card . rarity === "legendary"
51+ ? 0.025
52+ : 0 ; //add card weight to weight sum
5253 if ( number <= weightSum && cards . length > 0 ) {
5354 //if random number is less than or equal to weight sum
5455 randomCardOutput . innerText = `You got a ${ card . rarity } card: ${ card . name } ` ; //display generated random card
0 commit comments