收藏品奖励优化
This commit is contained in:
parent
fdbeb25af2
commit
852eb088fa
@ -56,3 +56,12 @@ func GetRewardType(Id int) int {
|
||||
}
|
||||
return gamedata.GetIntValue(data, "Type")
|
||||
}
|
||||
|
||||
func GetRewardLen() int {
|
||||
data, err := gamedata.GetData(CFG_COLLECT)
|
||||
if err != nil {
|
||||
log.Debug("GetRewardLen err:%v", err)
|
||||
return 0
|
||||
}
|
||||
return len(data)
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ const (
|
||||
COLLECT_TYPE_FACE = 2
|
||||
COLLECT_TYPE_AVATAR = 3
|
||||
|
||||
jackpotPreviewSize = 18 // 展示的奖池预览数量,同时作为补充阈値
|
||||
jackpotPreviewSize = 9 // 展示的奖池预览数量,同时作为补充阈値
|
||||
)
|
||||
|
||||
func (c *Collect) InitData() {
|
||||
@ -37,8 +37,12 @@ func (c *Collect) InitData() {
|
||||
|
||||
// ensureJackpot 当奖池剩余少于预览数量时自动补充
|
||||
func (c *Collect) ensureJackpot() {
|
||||
if len(c.Jackpot) <= jackpotPreviewSize {
|
||||
c.Jackpot = initJackpot2(c.Jackpot)
|
||||
rewardLen := collectCfg.GetRewardLen()
|
||||
if len(c.Jackpot) <= rewardLen {
|
||||
loopNum := (rewardLen-len(c.Jackpot))/jackpotPreviewSize + 1
|
||||
for i := 0; i < loopNum; i++ {
|
||||
c.Jackpot = append(c.Jackpot, initJackpot2(nil)...)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,9 +60,10 @@ func (c *Collect) GetReward(id, num, factor int) ([]*item.Item, error) {
|
||||
}
|
||||
// 领取奖励
|
||||
c.Reward = append(c.Reward, id)
|
||||
jackpotId := 0
|
||||
jackpotId, c.Jackpot = GoUtil.PopSlice(c.Jackpot)
|
||||
c.ensureJackpot()
|
||||
jackpotId := c.Jackpot[id-1]
|
||||
if jackpotId == 0 {
|
||||
return nil, fmt.Errorf("id : %d;奖池数据异常", id)
|
||||
}
|
||||
items := collectCfg.GetJackpotItems(jackpotId)
|
||||
items = GoUtil.FormatStarItem(items, factor)
|
||||
return items, nil
|
||||
@ -66,11 +71,11 @@ func (c *Collect) GetReward(id, num, factor int) ([]*item.Item, error) {
|
||||
|
||||
func (c *Collect) BackData(factor int) *msg.ResCollectInfo {
|
||||
itemsMsg := make([]*msg.CollectItem, 0, jackpotPreviewSize)
|
||||
for i := 0; i < jackpotPreviewSize; i++ {
|
||||
items := collectCfg.GetJackpotItems(c.Jackpot[i])
|
||||
for k, v := range c.Jackpot {
|
||||
items := collectCfg.GetJackpotItems(v)
|
||||
items = GoUtil.FormatStarItem(items, factor)
|
||||
itemsMsg = append(itemsMsg, &msg.CollectItem{
|
||||
Id: int32(i + 1),
|
||||
Id: int32(k + 1),
|
||||
Items: item.ItemToMsg(items),
|
||||
})
|
||||
}
|
||||
|
||||
@ -96,7 +96,8 @@ func TestFixUserData(t *testing.T) {
|
||||
func TestRandInt(t *testing.T) {
|
||||
p1 := new(game.Player)
|
||||
p1.InitPlayer("3625212")
|
||||
p1.DeleteHighOrder()
|
||||
CollectMod := p1.GetCollectMod()
|
||||
p1.PushClientRes(CollectMod.BackData(p1.GetOrderFactor()))
|
||||
}
|
||||
|
||||
func TestII(t *testing.T) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user