From b76fb0dd66730c1363b83b9cc6ce9aa386cf5743 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Thu, 10 Aug 2023 19:47:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=BA=97=E5=8D=8F=E8=AE=AE+=E6=89=A3?= =?UTF-8?q?=E8=A1=80=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/stonehenge/api_event.go | 17 ++++++++++++++++- modules/stonehenge/api_gotoroom.go | 1 + modules/stonehenge/core.go | 2 ++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/modules/stonehenge/api_event.go b/modules/stonehenge/api_event.go index 7e1b07a3f..3f896bd32 100644 --- a/modules/stonehenge/api_event.go +++ b/modules/stonehenge/api_event.go @@ -179,6 +179,7 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq return } case EventType17: // 英雄回血 + case EventType18: var sz []int32 // 获取 var szHero []string for _, v := range stone.Hero { @@ -192,7 +193,21 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq maxHp := stone.Hero[objId].Property[battle.AttributesTransBase("hp")] stone.Hero[objId].Currhp += int32(math.Floor(float64(maxHp*eventConf.Value1) / 1000)) // 回血 } - + update["hero"] = stone.Hero + case EventType19: + var sz []int32 // 获取 + var szHero []string + for _, v := range stone.Hero { // 过滤死亡英雄 + if v.Currhp > 0 { + szHero = append(szHero, v.Oid) + sz = append(sz, 100) + } + } + for _, v := range comm.GetRandWs(sz, eventConf.Value2) { + objId := szHero[v] + stone.Hero[objId].Currhp -= int32(math.Floor(float64(stone.Hero[objId].Currhp*eventConf.Value1) / 1000)) // 扣除当前生命值X(千分比) + } + update["hero"] = stone.Hero } stone.Rooms.Eventid[req.Eventid] = true // diff --git a/modules/stonehenge/api_gotoroom.go b/modules/stonehenge/api_gotoroom.go index 2a85db2e3..9745c216b 100644 --- a/modules/stonehenge/api_gotoroom.go +++ b/modules/stonehenge/api_gotoroom.go @@ -91,6 +91,7 @@ func (this *apiComp) GotoRoom(session comm.IUserSession, req *pb.StonehengeGotoR Index: stone.CurRoomIndes, Roomid: curRoomConf.RoomId, // 第一个房间的房间id读配置 Box: map[int32]int32{}, // 重置宝箱事件 + // Shop: map[int32]int32{}, // 商店事件 } if curRoomConf.EventrewardGroup != 0 { // 垃圾事件组 diff --git a/modules/stonehenge/core.go b/modules/stonehenge/core.go index 49473ccee..6971adc4c 100644 --- a/modules/stonehenge/core.go +++ b/modules/stonehenge/core.go @@ -6,6 +6,8 @@ const ( EventType14 = 14 // 战斗事件 EventType16 = 16 // 捡垃圾事件 EventType17 = 17 // 回血事件 + EventType18 = 18 // 回血事件 非场景 + EventType19 = 19 // 扣血事件 非场景 EventType25 = 25 // buff三选一 EventType28 = 28 // BOSS 战斗 )