diff --git a/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go b/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go index 80bcf11b..f97a6967 100644 --- a/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go +++ b/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go @@ -273,3 +273,12 @@ func GetUnlockLv() int { } return gamedata.GetIntValue(data, "Value") } + +func GetFirstEvent() int { + data, err := gamedata.GetDataByKey(CFG_LIMITED_TIME_EVENT_CONST, "First_Event") + if err != nil { + log.Debug("GetFirstEvent err:%v", err) + return 0 + } + return gamedata.GetIntValue(data, "Value") +} diff --git a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go index 6e3df5a6..86657137 100644 --- a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go +++ b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go @@ -38,6 +38,7 @@ type LimitedTimeEventMod struct { ProgressMax int LastOption []int BonusNum int + First bool } type LTEInfo struct { @@ -235,6 +236,15 @@ func (l *LimitedTimeEventMod) AddProgress(Lv int) { } l.Progress++ if l.Progress == l.ProgressMax { + if !l.First { + l.First = true + EventId := limitedTimeEventCfg.GetFirstEvent() + l.ProgressReward = map[int]int{ + 1: EventId, + } + l.LastOption = []int{EventId} + return + } SelectNum := limitedTimeEventCfg.GetProgressSelectNum(Lv) BonusLv := limitedTimeEventCfg.GetBonusLv(Lv) RandMap := limitedTimeEventCfg.GetProgressRewardRand(BonusLv)