diff --git a/modules/dragon/api_train.go b/modules/dragon/api_train.go index acc6c04bf..02c3e1b71 100644 --- a/modules/dragon/api_train.go +++ b/modules/dragon/api_train.go @@ -61,19 +61,20 @@ func (this *apiComp) Train(session comm.IUserSession, req *pb.DragonTrainReq) (e } return } - if playConf.Cd > 0 { - dragon.Play[req.Ttype].Cdendtime = configure.Now().Unix() + int64(playConf.Cd) - } - // 校验训练次数 - if dragon.Play[req.Ttype].Count >= playConf.Time { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_DragonTrainMaxCount, - Title: pb.ErrorCode_DragonTrainMaxCount.ToString(), - } - return - } + if conf, err := this.module.configure.GetDragonConfById(dragon.Dragonid, dragon.Lv); err == nil { if playConf, err = this.module.configure.GetDragonPlayConfById(dragon.Dragonid, conf.Type, req.Ttype); err == nil { + if playConf.Cd > 0 { + dragon.Play[req.Ttype].Cdendtime = configure.Now().Unix() + int64(playConf.Cd) + } + // 校验训练次数 + if dragon.Play[req.Ttype].Count >= playConf.Time { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DragonTrainMaxCount, + Title: pb.ErrorCode_DragonTrainMaxCount.ToString(), + } + return + } // 校验消耗 if errdata = this.module.CheckRes(session, playConf.Deplete); errdata != nil { return