Fix: Change synergy stats to include number of deck with this commander in total decks with this commander

This commit is contained in:
zuma 2025-04-30 10:10:48 +02:00
parent dd7abaa6af
commit 8be94f6322

View file

@ -210,16 +210,19 @@ func GenerateCache(pb core.App) {
} }
// Add each card that already appeared in a deck // Add each card that already appeared in a deck
for k := range synergyPerCards[fmt.Sprintf("c-%s",c.ID)] { for cardId, numDecksWithCommander := range synergyPerCards[fmt.Sprintf("c-%s",c.ID)] {
synergyObj := CreateCardData(cards[k], decksByBset, numberOfDecksPerColorIdentity, numberOfDecksPerCard, v.ID) synergyObj := CreateCardData(cards[cardId], decksByBset, numberOfDecksPerColorIdentity, numberOfDecksPerCard, v.ID)
synergy := 0 - synergyObj.PercentageOfDecks synergy := 0 - synergyObj.PercentageOfDecks
if numberOfDecksPerCard[fmt.Sprintf("c-%s",c.ID)] != 0 { if numberOfDecksPerCard[fmt.Sprintf("c-%s",c.ID)] != 0 {
synergy = (float64(synergyPerCards[fmt.Sprintf("c-%s",c.ID)][k]) / float64(numberOfDecksPerCard[fmt.Sprintf("c-%s",c.ID)])) - synergyObj.PercentageOfDecks synergy = (float64(synergyPerCards[fmt.Sprintf("c-%s",c.ID)][cardId]) / float64(numberOfDecksPerCard[fmt.Sprintf("c-%s",c.ID)])) - synergyObj.PercentageOfDecks
} }
synergyObj.Synergy = synergy synergyObj.Synergy = synergy
synergyObj.NumberOfDecks = numDecksWithCommander
synergyObj.NumberOfPossibleDecks = numberOfDecksPerCard[fmt.Sprintf("c-%s",c.ID)]
synergyObj.PercentageOfDecks = float64(synergyObj.NumberOfDecks) / float64(synergyObj.NumberOfPossibleDecks)
detailsObj.Cards[cards[k].CardType] = append(detailsObj.Cards[cards[k].CardType], synergyObj) detailsObj.Cards[cards[cardId].CardType] = append(detailsObj.Cards[cards[cardId].CardType], synergyObj)
} }
for k := range detailsObj.Cards { for k := range detailsObj.Cards {