From 560cb4a4215857ade1bfdb1c053ee137726f0f07 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Thu, 17 Aug 2023 16:47:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E5=8A=A8=E7=BB=93=E6=9D=9F=E7=A7=98?= =?UTF-8?q?=E5=A2=83=20=E6=B8=85=E9=99=A4=E6=8C=87=E5=AE=9A=E9=81=93?= =?UTF-8?q?=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/stonehenge/api_event.go | 11 ++++++++++- modules/stonehenge/api_finish.go | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/stonehenge/api_event.go b/modules/stonehenge/api_event.go index f4dae89d1..26230f27b 100644 --- a/modules/stonehenge/api_event.go +++ b/modules/stonehenge/api_event.go @@ -130,6 +130,10 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq bWin := false errdata, bWin = this.module.battle.CheckBattleReport(session, req.Report) if errdata != nil { + // 战斗失败埋点处理 + var szTask []*pb.BuriedParam + szTask = append(szTask, comm.GetBuriedParam(comm.Rtype225, 1)) + go this.module.ModuleBuried.TriggerBuried(session.Clone(), szTask...) return } if !bWin { // 战斗失败直接返回 @@ -419,8 +423,9 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq for k := range stone.Rooms.Eventid { // 首次触发指定ID的事件 szTask = append(szTask, comm.GetBuriedParam(comm.Rtype215, k)) } + var totalhp int32 //上阵英雄都为指定职业 - if eventConf.EventType == EventType14 || eventConf.EventType == EventType28 { // 必须是战斗类型才可以触发 + 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 { @@ -432,6 +437,8 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq break } } + maxHp := v.Property[battle.AttributesTransBase("hp")] + totalhp += v.Currhp * 1000 / maxHp } if job != 0 { // 上阵英雄都为指定职业 szTask = append(szTask, comm.GetBuriedParam(comm.Rtype216, job, stone.StageID)) //上阵英雄都为指定职业,击败石阵秘境中指定关卡的首领 @@ -464,6 +471,8 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq //击败指定关卡的首领时,背包中指定道具数量≥指定数量 //this.module.ModuleItems.CleanItems() + //击败石阵秘境中指定关卡的首领时,每名上阵英雄血量≤比例(千分比) + szTask = append(szTask, comm.GetBuriedParam(comm.Rtype224, totalhp, stone.StageID)) } // 强化商店 diff --git a/modules/stonehenge/api_finish.go b/modules/stonehenge/api_finish.go index 6b8531176..4ca652770 100644 --- a/modules/stonehenge/api_finish.go +++ b/modules/stonehenge/api_finish.go @@ -62,6 +62,8 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.StonehengeFinishR stone.Addweight = make(map[int32]int32, 0) update["addweight"] = stone.Addweight + // 清除指定类型道具 item,10000036 该货币在关卡结算时,清空 + this.module.ModuleItems.CleanItemById(session, "10000036") // 策划强烈要求这样写 this.module.modelStonehenge.ChangeStonehengeData(session.GetUserId(), update) session.SendMsg(string(this.module.GetType()), "finish", &pb.StonehengeFinishResp{ Data: stone,