From a0c07187a29ebd8ce8cb2626a37dc5b7f8cf4bb9 Mon Sep 17 00:00:00 2001 From: liwei <2211068034@qq.com> Date: Tue, 4 Jul 2023 18:30:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/practice/api_practice.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/modules/practice/api_practice.go b/modules/practice/api_practice.go index 113d436fd..6075f4c08 100644 --- a/modules/practice/api_practice.go +++ b/modules/practice/api_practice.go @@ -137,19 +137,22 @@ func (this *apiComp) Practice(session comm.IUserSession, req *pb.PracticePractic return } room.Knapsack[req.Teacher].Usenum++ - if tconfigure.Race != heroconf.Race { + room.Knapsack[req.Teacher].Lastusetime = configure.Now().Unix() + if tconfigure.Race != 0 && tconfigure.Race != heroconf.Race { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), Message: fmt.Sprintf("the teacher race:%d and the herorace:%d is race no can use", tconfigure.Race, heroconf.Race), } + return } - if tconfigure.Job != heroconf.Job { + if tconfigure.Job != 0 && tconfigure.Job != heroconf.Job { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), Message: fmt.Sprintf("the teacher job:%d and the hero job:%d is race no can use", tconfigure.Job, heroconf.Job), } + return } if tconfigure.BanHero == hero.HeroID { //禁止使用 errdata = &pb.ErrorData{ @@ -181,7 +184,7 @@ func (this *apiComp) Practice(session comm.IUserSession, req *pb.PracticePractic } if !utils.IsToday(room.Knapsack[req.Prop].Lastusetime) { - room.Knapsack[req.Teacher].Usenum = 0 + room.Knapsack[req.Prop].Usenum = 0 } if room.Knapsack[req.Prop].Usenum >= tconfigure.Limitation { @@ -193,20 +196,22 @@ func (this *apiComp) Practice(session comm.IUserSession, req *pb.PracticePractic return } room.Knapsack[req.Prop].Usenum++ - - if pconfigure.Race != heroconf.Race { + room.Knapsack[req.Prop].Lastusetime = configure.Now().Unix() + if pconfigure.Race != 0 && pconfigure.Race != heroconf.Race { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), Message: fmt.Sprintf("the teacher race:%d and the herorace:%d is race no can use", tconfigure.Race, heroconf.Race), } + return } - if pconfigure.Job != heroconf.Job { + if pconfigure.Job != 0 && pconfigure.Job != heroconf.Job { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), Message: fmt.Sprintf("the teacher job:%d and the hero job:%d is race no can use", tconfigure.Job, heroconf.Job), } + return } extra += int32(float64(pillarconfigure.PlacementDuration) * float64(pconfigure.Duration) / float64(1000)) pillar.Prop = req.Prop