限时事件-单元测试

This commit is contained in:
hahwu 2026-03-11 17:47:17 +08:00
parent d18cf76ac9
commit ec55cda560
2 changed files with 29 additions and 0 deletions

View File

@ -368,6 +368,23 @@ func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv, Energy int) ([]*item.
return Item, limitedTimeEventCfg.GetProgressRewardType(RewardId), OrderNum, RewardList, nil
}
func (l *LimitedTimeEventMod) DebugProgressRewardList(Lv, Energy int) map[int]int {
// 重新生成进度奖励
SelectNum := limitedTimeEventCfg.GetProgressSelectNum(Lv)
BonusLv := limitedTimeEventCfg.GetBonusLv(Lv)
RandMap := limitedTimeEventCfg.GetProgressRewardRand(BonusLv)
// 体力小于200 high roller事件不进池子
if Energy < limitedTimeEventCfg.GetHighRollerNeedEnergy() {
delete(RandMap, limitedTimeEventCfg.GetJackpotIdByType(EVENT_TYPE_HIGH_ROLLER))
}
if GoUtil.Now()-l.LastCatDaySale < limitedTimeEventCfg.GetCatSaleCD() {
// 参与猫咪大甩卖活动时,猫咪大甩卖事件不进池子
delete(RandMap, limitedTimeEventCfg.GetJackpotIdByType(EVENT_TYPE_CAT_DAY_SALE))
}
l.fillProgressReward(RandMap, SelectNum)
return l.ProgressReward
}
// fillProgressReward 随机填充进度奖励最多尝试10次避免与上次相同
func (l *LimitedTimeEventMod) fillProgressReward(RandMap map[int]int, SelectNum int) {
LastOption := l.LastOption

View File

@ -1,6 +1,7 @@
package test
import (
"fmt"
"server/game"
limitedTimeEvent "server/game/mod/limited_time_event"
"testing"
@ -42,3 +43,14 @@ func TestSenceDash(t *testing.T) {
}
t.Logf("Scene dash reward: Id=%d, items=%v", Id, items)
}
func TestProgressReward(t *testing.T) {
p := new(game.Player)
p.InitPlayer("3625212")
LimitEventMod := p.GetLimitEventMod()
BaseMod := p.GetBaseMod()
for i := 0; i < 100; i++ {
res := LimitEventMod.DebugProgressRewardList(38, BaseMod.Energy) // 输出当前进度奖励列表
fmt.Printf("Current progress reward list: %v\n", res)
}
}