限时事件优化
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{})
|
l.Triggered = make(map[int]struct{})
|
||||||
}
|
}
|
||||||
if l.ProgressReward == nil {
|
if l.ProgressReward == nil {
|
||||||
|
// 初始化进度奖励
|
||||||
l.ProgressReward = make(map[int]int)
|
l.ProgressReward = make(map[int]int)
|
||||||
|
|
||||||
}
|
}
|
||||||
if l.ProgressMax == 0 {
|
if l.ProgressMax == 0 {
|
||||||
l.Lv = Lv
|
l.Lv = Lv
|
||||||
@ -100,6 +102,29 @@ func (l *LimitedTimeEventMod) InitData(Lv int) {
|
|||||||
}
|
}
|
||||||
l.LastOption = []int{EventId}
|
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) {
|
func (l *LimitedTimeEventMod) ZeroUpdate(Lv int) {
|
||||||
@ -324,26 +349,6 @@ func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv int) ([]*item.Item, ma
|
|||||||
l.Progress = 0
|
l.Progress = 0
|
||||||
l.BonusNum++
|
l.BonusNum++
|
||||||
l.ProgressMax = limitedTimeEventCfg.GetProgressMax(l.Lv, 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
|
return Item, r1, r2, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user