连击快手优化

This commit is contained in:
hahwu 2025-02-27 16:09:39 +08:00
parent b8525b762e
commit 3bdf9850b9
3 changed files with 43 additions and 3 deletions

View File

@ -141,6 +141,20 @@ func GetFastProduceReward(Times, Energy int) []*item.Item {
return nil 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 { func GetProgressMax(Lv, Num int) int {
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_BONUS) data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_BONUS)
@ -257,3 +271,12 @@ func GetFirstEvent() int {
} }
return gamedata.GetIntValue(data, "Value") 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")
}

View File

@ -260,6 +260,14 @@ func ReqGmCommand_(player *Player, Command string) error {
case "resetTimeline": case "resetTimeline":
FriendMod := player.PlayMod.getFriendMod() FriendMod := player.PlayMod.getFriendMod()
FriendMod.Log = make([]*friend.LogInfo, 0) 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": case "recoverUser":
file, err := os.OpenFile(conf.Server.GameConfPath+"user.info", os.O_RDWR|os.O_CREATE, 0666) file, err := os.OpenFile(conf.Server.GameConfPath+"user.info", os.O_RDWR|os.O_CREATE, 0666)
if err != nil { if err != nil {

View File

@ -223,10 +223,19 @@ func (l *LimitedTimeEventMod) GetFastProduceReward(Energy int) ([]*item.Item, in
Times := GoUtil.Int(Event.Info["Times"]) Times := GoUtil.Int(Event.Info["Times"])
Times++ Times++
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分钟 func (l *LimitedTimeEventMod) ResetFastProduceCD() {
return limitedTimeEventCfg.GetFastProduceReward(Times, Energy), GoUtil.Now() + 300, Event.Info["Times"].(int), nil Event, ok := l.EventList[EVENT_TYPE_FAST_PRODUCE]
if !ok {
return
}
Event.Info["NextPlay"] = 0
} }
func (l *LimitedTimeEventMod) GetFastProduceInfo() (int64, int) { func (l *LimitedTimeEventMod) GetFastProduceInfo() (int64, int) {