修改探索奖励获取机制及数值
This commit is contained in:
parent
40fa0c70a2
commit
fa9d751a88
@ -18,11 +18,11 @@ export const CONFIRM_MAIL_HTML = `
|
|||||||
export const MANUAL_OPEN_GAME = false
|
export const MANUAL_OPEN_GAME = false
|
||||||
|
|
||||||
// 每一步能获得的最小分数
|
// 每一步能获得的最小分数
|
||||||
export const STEP_SCORE_MIN = 1
|
export const STEP_SCORE_MIN = 50
|
||||||
// 每一步能获得的最大分数
|
// 每一步能获得的最大分数
|
||||||
export const STEP_SCORE_MAX = 5
|
export const STEP_SCORE_MAX = 50
|
||||||
// 每一步能获得的宝箱的概率
|
// 每一步能获得的宝箱的概率
|
||||||
export const STEP_CHEST_RATE = 0.1
|
export const STEP_CHEST_RATE = 0.3
|
||||||
// 宝箱各等级的概率
|
// 宝箱各等级的概率
|
||||||
export const STEP_CHEST_LEVEL = [70, 85, 95, 100]
|
export const STEP_CHEST_LEVEL = [70, 85, 95, 100]
|
||||||
// 低保步数
|
// 低保步数
|
||||||
|
@ -355,17 +355,17 @@ class GameController extends BaseController {
|
|||||||
$inc: { tickets: -step },
|
$inc: { tickets: -step },
|
||||||
}
|
}
|
||||||
let { score, chests } = generateStepReward(user.id, user.activity, step)
|
let { score, chests } = generateStepReward(user.id, user.activity, step)
|
||||||
if (chests.length > 0) {
|
// if (chests.length > 0) {
|
||||||
updateData.maxNoChestCount = 0
|
// updateData.maxNoChestCount = 0
|
||||||
} else {
|
// } else {
|
||||||
if (record.maxNoChestCount + step >= RESET_STEP) {
|
// if (record.maxNoChestCount + step >= RESET_STEP) {
|
||||||
updateData.maxNoChestCount = 0
|
// updateData.maxNoChestCount = 0
|
||||||
const level = generateChestLevel()
|
// const level = generateChestLevel()
|
||||||
chests.push(generateNewChest(user.id, user.activity, level, ChestStatusEnum.NORMAL))
|
// chests.push(generateNewChest(user.id, user.activity, level, ChestStatusEnum.NORMAL))
|
||||||
} else {
|
// } else {
|
||||||
updateData['$inc']['maxNoChestCount'] = step
|
// updateData['$inc']['maxNoChestCount'] = step
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
await ActivityGame.updateOne({ user: user.id, activity: user.activity }, updateData)
|
await ActivityGame.updateOne({ user: user.id, activity: user.activity }, updateData)
|
||||||
await updateRankScore({
|
await updateRankScore({
|
||||||
user: user.id,
|
user: user.id,
|
||||||
|
@ -39,16 +39,24 @@ export const generateChestLevel = function (): number {
|
|||||||
}
|
}
|
||||||
return level
|
return level
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 生成步数奖励
|
||||||
|
* // TODO:: 增加白名单和特殊种类nft的奖励
|
||||||
|
* @param uid
|
||||||
|
* @param activity
|
||||||
|
* @param step
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
export const generateStepReward = (uid: string, activity: string, step: number) => {
|
export const generateStepReward = (uid: string, activity: string, step: number) => {
|
||||||
let score = 0
|
let score = 0
|
||||||
let chests = []
|
let chests = []
|
||||||
for (let i = 0; i < step; i++) {
|
for (let i = 0; i < step; i++) {
|
||||||
score += Math.floor(Math.random() * (STEP_SCORE_MAX - STEP_SCORE_MIN + 1) + STEP_SCORE_MIN)
|
|
||||||
if (Math.random() < STEP_CHEST_RATE) {
|
if (Math.random() < STEP_CHEST_RATE) {
|
||||||
let randomLevel = generateChestLevel()
|
let randomLevel = generateChestLevel()
|
||||||
let chest = generateNewChest(uid, activity, randomLevel, ChestStatusEnum.NORMAL)
|
let chest = generateNewChest(uid, activity, randomLevel, ChestStatusEnum.NORMAL)
|
||||||
chests.push(chest)
|
chests.push(chest)
|
||||||
|
} else {
|
||||||
|
score += Math.floor(Math.random() * (STEP_SCORE_MAX - STEP_SCORE_MIN + 1) + STEP_SCORE_MIN)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return { score, chests }
|
return { score, chests }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user