diff --git a/backend/cache.go b/backend/cache.go index 3a99c0c..7599960 100644 --- a/backend/cache.go +++ b/backend/cache.go @@ -210,16 +210,19 @@ func GenerateCache(pb core.App) { } // Add each card that already appeared in a deck - for k := range synergyPerCards[fmt.Sprintf("c-%s",c.ID)] { - synergyObj := CreateCardData(cards[k], decksByBset, numberOfDecksPerColorIdentity, numberOfDecksPerCard, v.ID) + for cardId, numDecksWithCommander := range synergyPerCards[fmt.Sprintf("c-%s",c.ID)] { + synergyObj := CreateCardData(cards[cardId], decksByBset, numberOfDecksPerColorIdentity, numberOfDecksPerCard, v.ID) synergy := 0 - synergyObj.PercentageOfDecks 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.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 {