diff --git a/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go b/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go index e48e19b8..3a487b67 100644 --- a/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go +++ b/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go @@ -141,6 +141,20 @@ func GetFastProduceReward(Times, Energy int) []*item.Item { return nil } +// 获取连击快手最大次数 +func GetFastProduceMaxTimes() int { + Max := 0 + data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_FAST) + if err != nil { + log.Debug("GetSceneDashReward err:%v", err) + return 0 + } + for _, v := range data { + Max = max(gamedata.GetIntValue(v, "Times"), Max) + } + return Max +} + // 获取进度最大值 func GetProgressMax(Lv, Num int) int { data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_BONUS) @@ -257,3 +271,12 @@ func GetFirstEvent() int { } return gamedata.GetIntValue(data, "Value") } + +func GetFastCD() int { + data, err := gamedata.GetDataByKey(CFG_LIMITED_TIME_EVENT_CONST, "Fast_Cd") + if err != nil { + log.Debug("GetFirstEvent err:%v", err) + return 0 + } + return gamedata.GetIntValue(data, "Value") +} diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index fd734615..ab3a58e8 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -260,6 +260,14 @@ func ReqGmCommand_(player *Player, Command string) error { case "resetTimeline": FriendMod := player.PlayMod.getFriendMod() FriendMod.Log = make([]*friend.LogInfo, 0) + case "resetFastCD": + LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod() + LimitedTimeEventMod.ResetFastProduceCD() + EndTime, Times := LimitedTimeEventMod.GetFastProduceInfo() + player.PushClientRes(&msg.ResFastProduceInfo{ + EndTime: int32(EndTime), + Num: int32(Times), + }) case "recoverUser": file, err := os.OpenFile(conf.Server.GameConfPath+"user.info", os.O_RDWR|os.O_CREATE, 0666) if err != nil { diff --git a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go index 9173f3cf..65ee242b 100644 --- a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go +++ b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go @@ -223,10 +223,19 @@ func (l *LimitedTimeEventMod) GetFastProduceReward(Energy int) ([]*item.Item, in Times := GoUtil.Int(Event.Info["Times"]) Times++ Event.Info["Times"] = Times - Times = min(Times, 6) + MaxTimes := limitedTimeEventCfg.GetFastProduceMaxTimes() + Times = min(Times, MaxTimes) + CD := limitedTimeEventCfg.GetFastCD() + Event.Info["NextPlay"] = GoUtil.Now() + int64(CD) // CD5分钟 + return limitedTimeEventCfg.GetFastProduceReward(Times, Energy), GoUtil.Now() + int64(CD), Event.Info["Times"].(int), nil +} - Event.Info["NextPlay"] = GoUtil.Now() + 300 // CD5分钟 - return limitedTimeEventCfg.GetFastProduceReward(Times, Energy), GoUtil.Now() + 300, Event.Info["Times"].(int), nil +func (l *LimitedTimeEventMod) ResetFastProduceCD() { + Event, ok := l.EventList[EVENT_TYPE_FAST_PRODUCE] + if !ok { + return + } + Event.Info["NextPlay"] = 0 } func (l *LimitedTimeEventMod) GetFastProduceInfo() (int64, int) {