diff --git a/server/jccommon/utils.go b/server/jccommon/utils.go index 58ad4b87..77669a13 100644 --- a/server/jccommon/utils.go +++ b/server/jccommon/utils.go @@ -31,7 +31,7 @@ func IsGenesisHero(tokenId string) bool { if err != nil { tokenIdInt64 = 0 } - return tokenIdInt64 >= 6000000000000000 && tokenIdInt64 <= 7000000000000000 + return tokenIdInt64 > 6240603010001668 && tokenIdInt64 <= 6240603010002168 } func GetHeroStackingScore(quality int32) int64 { @@ -71,15 +71,24 @@ func GetFounderTagStackingScore(quality int32) int64 { func CalcContributionScore(nfts []*NftStacking) int64 { var score int64 var baseScore int64 + var rate float64 for _, v := range nfts { switch v.TokenType { case NFT_TYPE_CFHERO, NFT_TYPE_CFHERO_NORMAL: { baseScore += GetHeroStackingScore(v.Quality) + if IsGenesisHero(v.TokenId) { + rate += 0.05 + } } case NFT_TYPE_FOUNDER_TAG: { baseScore += GetFounderTagStackingScore(v.Quality) + rate += 0.1 } } } + if rate > 1 { + rate = 1 + } + score = int64(float64(baseScore) * (1 + rate)) return score }