限时事件优化
This commit is contained in:
parent
bc1e788bd9
commit
41531e52fb
@ -86,7 +86,9 @@ func (l *LimitedTimeEventMod) InitData(Lv int) {
|
||||
l.Triggered = make(map[int]struct{})
|
||||
}
|
||||
if l.ProgressReward == nil {
|
||||
// 初始化进度奖励
|
||||
l.ProgressReward = make(map[int]int)
|
||||
|
||||
}
|
||||
if l.ProgressMax == 0 {
|
||||
l.Lv = Lv
|
||||
@ -100,6 +102,29 @@ func (l *LimitedTimeEventMod) InitData(Lv int) {
|
||||
}
|
||||
l.LastOption = []int{EventId}
|
||||
}
|
||||
|
||||
if len(l.ProgressReward) == 0 {
|
||||
SelectNum := limitedTimeEventCfg.GetProgressSelectNum(Lv)
|
||||
BonusLv := limitedTimeEventCfg.GetBonusLv(Lv)
|
||||
RandMap := limitedTimeEventCfg.GetProgressRewardRand(BonusLv)
|
||||
n := 0
|
||||
r := make([]int, 0)
|
||||
LastOption := l.LastOption
|
||||
for n < 10 {
|
||||
n++
|
||||
r = GoUtil.RandMapNum(RandMap, SelectNum)
|
||||
Id := 1
|
||||
for _, v := range r {
|
||||
l.ProgressReward[Id] = v
|
||||
Id++
|
||||
}
|
||||
|
||||
if !GoUtil.SliceEqual(LastOption, r) {
|
||||
break
|
||||
}
|
||||
}
|
||||
l.LastOption = r
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LimitedTimeEventMod) ZeroUpdate(Lv int) {
|
||||
@ -324,26 +349,6 @@ func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv int) ([]*item.Item, ma
|
||||
l.Progress = 0
|
||||
l.BonusNum++
|
||||
l.ProgressMax = limitedTimeEventCfg.GetProgressMax(l.Lv, l.BonusNum)
|
||||
SelectNum := limitedTimeEventCfg.GetProgressSelectNum(Lv)
|
||||
BonusLv := limitedTimeEventCfg.GetBonusLv(Lv)
|
||||
RandMap := limitedTimeEventCfg.GetProgressRewardRand(BonusLv)
|
||||
n := 0
|
||||
r := make([]int, 0)
|
||||
LastOption := l.LastOption
|
||||
for n < 10 {
|
||||
n++
|
||||
r = GoUtil.RandMapNum(RandMap, SelectNum)
|
||||
Id := 1
|
||||
for _, v := range r {
|
||||
l.ProgressReward[Id] = v
|
||||
Id++
|
||||
}
|
||||
|
||||
if !GoUtil.SliceEqual(LastOption, r) {
|
||||
break
|
||||
}
|
||||
}
|
||||
l.LastOption = r
|
||||
return Item, r1, r2, nil
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user