diff --git a/modules/guildgve/api_challengefinish.go b/modules/guildgve/api_challengefinish.go index aefc84783..e55422d2f 100644 --- a/modules/guildgve/api_challengefinish.go +++ b/modules/guildgve/api_challengefinish.go @@ -64,7 +64,9 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.GuildGve } for _, v := range req.Report.Info.Redflist[0].Team { - member.Useheros = append(member.Useheros, v.Oid) + if v.Oid != "" { + member.Useheros = append(member.Useheros, v.Oid) + } } // if member.Boosticket <= 0 { @@ -122,10 +124,10 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.GuildGve member.Record[req.Boosid] = record go this.module.modelbattlerank.updateRank(req.Boosid, req.Report.Harm, record.User.Uid) for i, v := range req.Report.Info.Redflist[0].Team { - if int32(i) == req.Report.Info.Redflist[0].Leadpos && v != nil { + if int32(i) == req.Report.Info.Redflist[0].Leadpos && v.Oid != "" { record.CaptainHeroId = v.HeroID } - if v != nil { + if v.Oid != "" { record.Formation = append(record.Formation, &pb.DBSimpleHero{ HeroId: v.HeroID, Star: v.Star, diff --git a/modules/hunting/api_challengeover.go b/modules/hunting/api_challengeover.go index b7a98977d..3dd9063a6 100644 --- a/modules/hunting/api_challengeover.go +++ b/modules/hunting/api_challengeover.go @@ -161,7 +161,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha var heroObjs []string if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { for _, v := range req.Report.Info.Redflist[0].Team { - if !v.Ishelp { // 助战英雄不加经验 + if v.Oid != "" && !v.Ishelp { // 助战英雄不加经验 heroObjs = append(heroObjs, v.Oid) changExp[v.Oid] = cfgHunting.Heroexp } diff --git a/modules/mainline/api_challengeover.go b/modules/mainline/api_challengeover.go index 57a51d9fd..d526a012e 100644 --- a/modules/mainline/api_challengeover.go +++ b/modules/mainline/api_challengeover.go @@ -154,7 +154,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.MainlineCh var heroObjs []string if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { for _, v := range req.Report.Info.Redflist[0].Team { - if !v.Ishelp { // 助战英雄不加经验 + if v.Oid != "" && !v.Ishelp { // 助战英雄不加经验 heroObjs = append(heroObjs, v.Oid) } } diff --git a/modules/pagoda/api_challengeover.go b/modules/pagoda/api_challengeover.go index bb24186b7..bc921f585 100644 --- a/modules/pagoda/api_challengeover.go +++ b/modules/pagoda/api_challengeover.go @@ -99,7 +99,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal var heroObjs []string if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { for _, v := range req.Report.Info.Redflist[0].Team { - if !v.Ishelp { // 助战英雄不加经验 + if v.Oid != "" && !v.Ishelp { // 助战英雄不加经验 heroObjs = append(heroObjs, v.Oid) } } @@ -139,7 +139,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal leadpos := req.Report.Info.Redflist[0].Leadpos szLine := make([]*pb.LineUp, 0) for _, v := range req.Report.Info.Redflist[0].Team { - if v != nil { + if v.Oid != "" { szLine = append(szLine, &pb.LineUp{ Cid: v.HeroID, Star: v.Star, diff --git a/modules/pagoda/api_racechallengeover.go b/modules/pagoda/api_racechallengeover.go index 8261607a2..c41220a97 100644 --- a/modules/pagoda/api_racechallengeover.go +++ b/modules/pagoda/api_racechallengeover.go @@ -97,7 +97,7 @@ func (this *apiComp) ChallengeRaceOver(session comm.IUserSession, req *pb.Pagoda var heroObjs []string if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { for _, v := range req.Report.Info.Redflist[0].Team { - if !v.Ishelp { // 助战英雄不加经验 + if v.Oid != "" && !v.Ishelp { // 助战英雄不加经验 heroObjs = append(heroObjs, v.Oid) } } diff --git a/modules/stonehenge/api_event.go b/modules/stonehenge/api_event.go index 8242b9157..7dffb9853 100644 --- a/modules/stonehenge/api_event.go +++ b/modules/stonehenge/api_event.go @@ -479,17 +479,19 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq if eventConf.EventType == EventType28 { // 必须是战斗类型才可以触发 var job int32 for _, v := range req.Report.Info.Redflist[0].Team { - if h, err := this.module.ModuleTools.GetHeroConfig(v.HeroID); err == nil { - if job == 0 { - job = h.Job - } - if job != h.Job { - job = 0 - break + if v.HeroID != "" { + if h, err := this.module.ModuleTools.GetHeroConfig(v.HeroID); err == nil { + if job == 0 { + job = h.Job + } + if job != h.Job { + job = 0 + break + } } + maxHp := v.Property[battle.AttributesTransBase("hp")] + totalhp += v.Currhp * 1000 / maxHp } - maxHp := v.Property[battle.AttributesTransBase("hp")] - totalhp += v.Currhp * 1000 / maxHp } if job != 0 { // 上阵英雄都为指定职业 tasks = append(tasks, comm.GetBuriedParam(comm.Rtype216, job, stone.StageID)) //上阵英雄都为指定职业,击败石阵秘境中指定关卡的首领 diff --git a/modules/viking/api_challengeover.go b/modules/viking/api_challengeover.go index 8e3c98378..10a005877 100644 --- a/modules/viking/api_challengeover.go +++ b/modules/viking/api_challengeover.go @@ -198,10 +198,12 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal var heroObjs []string if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { for _, v := range req.Report.Info.Redflist[0].Team { - if !v.Ishelp { // 助战英雄不加经验 - heroObjs = append(heroObjs, v.Oid) - } else { - bHelp = true + if v.HeroID != "" { + if !v.Ishelp { // 助战英雄不加经验 + heroObjs = append(heroObjs, v.Oid) + } else { + bHelp = true + } } } } @@ -227,7 +229,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 { for _, v := range req.Report.Info.Redflist[0].Team { - if v.Ishelp { // 判断是否有助战 + if v.Oid != "" && v.Ishelp { // 判断是否有助战 tasks = append(tasks, comm.GetBuriedParam(comm.Rtype79, req.Difficulty, req.BossId)) break }