Compare commits
1 commit
7d29561679
...
ef6d9b9a3f
Author | SHA1 | Date | |
---|---|---|---|
ef6d9b9a3f |
2 changed files with 16 additions and 4 deletions
|
@ -1,5 +1,6 @@
|
||||||
import { CardRarity } from "../constants/CardRarity";
|
import { CardRarity } from "../constants/CardRarity";
|
||||||
import Card from "../database/entities/card/Card";
|
import Card from "../database/entities/card/Card";
|
||||||
|
import Series from "../database/entities/card/Series";
|
||||||
|
|
||||||
export default class CardDropHelper {
|
export default class CardDropHelper {
|
||||||
public static async GetRandomCard(): Promise<Card> {
|
public static async GetRandomCard(): Promise<Card> {
|
||||||
|
@ -16,7 +17,18 @@ export default class CardDropHelper {
|
||||||
else if (randomRarity < goldChance) cardRarity = CardRarity.Gold;
|
else if (randomRarity < goldChance) cardRarity = CardRarity.Gold;
|
||||||
else cardRarity = CardRarity.Legendary;
|
else cardRarity = CardRarity.Legendary;
|
||||||
|
|
||||||
const randomCard = await this.GetRandomCardByRarity(cardRarity);
|
const allSeries = await Series.FetchAll(Series, [ "Cards", "Cards.Series" ]);
|
||||||
|
const allSeriesWithCards = allSeries.filter(x => x.Cards.length > 0 && x.Cards.find(x => x.Rarity == cardRarity));
|
||||||
|
|
||||||
|
const randomSeriesIndex = Math.floor(Math.random() * allSeriesWithCards.length);
|
||||||
|
|
||||||
|
const randomSeries = allSeriesWithCards[randomSeriesIndex];
|
||||||
|
|
||||||
|
const allCards = randomSeries.Cards.filter(x => x.Rarity == cardRarity && x.Path && x.FileName);
|
||||||
|
|
||||||
|
const randomCardIndex = Math.floor(Math.random() * allCards.length);
|
||||||
|
|
||||||
|
const randomCard = allCards[randomCardIndex];
|
||||||
|
|
||||||
return randomCard;
|
return randomCard;
|
||||||
}
|
}
|
||||||
|
|
|
@ -888,9 +888,9 @@
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/node@*", "@types/node@^20.0.0":
|
"@types/node@*", "@types/node@^20.0.0":
|
||||||
version "20.8.3"
|
version "20.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.3.tgz#c4ae2bb1cfab2999ed441a95c122bbbe1567a66d"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.0.tgz#10ddf0119cf20028781c06d7115562934e53f745"
|
||||||
integrity sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw==
|
integrity sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==
|
||||||
|
|
||||||
"@types/normalize-package-data@^2.4.1":
|
"@types/normalize-package-data@^2.4.1":
|
||||||
version "2.4.2"
|
version "2.4.2"
|
||||||
|
|
Loading…
Reference in a new issue