修改开宝箱逻辑, 测试服不判断是否助力满
This commit is contained in:
parent
c63403a482
commit
c45c4c5bf4
@ -2,11 +2,11 @@
|
|||||||
{
|
{
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"name": "White List",
|
"name": "White List",
|
||||||
"probability": 2
|
"probability": 100
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"name": "NFT",
|
"name": "NFT",
|
||||||
"probability": 1
|
"probability": 100
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -338,8 +338,8 @@ class BoxController extends BaseController {
|
|||||||
const score = chest.scoreInit + chest.scoreBonus
|
const score = chest.scoreInit + chest.scoreBonus
|
||||||
const dateTag = formatDate(new Date())
|
const dateTag = formatDate(new Date())
|
||||||
let items: any[] = []
|
let items: any[] = []
|
||||||
if (!user.inWhiteList) {
|
|
||||||
items = await generateChestBonus(chest)
|
items = await generateChestBonus(chest, user.inWhiteList)
|
||||||
if (!chest.items) {
|
if (!chest.items) {
|
||||||
chest.items = []
|
chest.items = []
|
||||||
}
|
}
|
||||||
@ -350,7 +350,6 @@ class BoxController extends BaseController {
|
|||||||
user.inWhiteList = true
|
user.inWhiteList = true
|
||||||
await user.save()
|
await user.save()
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
await updateRankScore({
|
await updateRankScore({
|
||||||
user: user.id,
|
user: user.id,
|
||||||
|
@ -87,16 +87,19 @@ export const generateStepReward = (uid: string, activity: string, step: number)
|
|||||||
return { score, chests }
|
return { score, chests }
|
||||||
}
|
}
|
||||||
|
|
||||||
export const generateChestBonus = async (chest: DocumentType<ActivityChestClass>) => {
|
export const generateChestBonus = async (chest: DocumentType<ActivityChestClass>, hasWhite: boolean) => {
|
||||||
let rewards = []
|
let rewards = []
|
||||||
// 如果宝箱的助力用户数量小于最大助力次数, 则不生成奖励
|
// 如果宝箱的助力用户数量小于最大助力次数, 则不生成奖励
|
||||||
if (chest.bonusUsers.length < chest.maxBounsCount) {
|
if (process.env.NODE_ENV === 'production' && chest.bonusUsers.length < chest.maxBounsCount) {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
let bonusItem
|
let bonusItem
|
||||||
for (let i = 0; i < chestBonusItems.length; i++) {
|
for (let i = 0; i < chestBonusItems.length; i++) {
|
||||||
let item = chestBonusItems[i]
|
let item = chestBonusItems[i]
|
||||||
if (Math.random() < item.probability / 100) {
|
if (Math.random() < item.probability / 100) {
|
||||||
|
if (item.type === 1 && hasWhite) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
bonusItem = item
|
bonusItem = item
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -116,4 +119,5 @@ export const generateChestBonus = async (chest: DocumentType<ActivityChestClass>
|
|||||||
desc: bonusItem.desc,
|
desc: bonusItem.desc,
|
||||||
amount: 1,
|
amount: 1,
|
||||||
})
|
})
|
||||||
|
return rewards
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user