From 3fe5e4dc8c7663fcd96cde10615a3ccb1802547e Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Fri, 8 Dec 2023 18:54:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=98=E5=A2=83buff=201=E9=80=891?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/stonehenge/api_resetbuff.go | 36 +++++++++++++++------------ modules/stonehenge/modelStonehenge.go | 18 ++++++++------ 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/modules/stonehenge/api_resetbuff.go b/modules/stonehenge/api_resetbuff.go index 503122afe..653c8c199 100644 --- a/modules/stonehenge/api_resetbuff.go +++ b/modules/stonehenge/api_resetbuff.go @@ -37,23 +37,27 @@ func (this *apiComp) ResetBuff(session comm.IUserSession, req *pb.StonehengeRese if v == pb.StonehengePrivilege_StonehengePrivilege_7 { //随机buff三选一事件,新增重置功能 if eventConf, err := this.module.configure.GetStoneEventDataById(req.Eventid); err != nil { //if p, err := this.module.configure.getGameStonePrivilegeData(int32(v)); err != nil { - for _, v := range stone.Addweight { // 这个map 目前只会存在一条数据 - ownerbuff := make(map[int32]struct{}, 0) - for k := range stone.Userbuff { - ownerbuff[k] = struct{}{} - } - stone.Rooms.Selectbuff = this.module.configure.GetBuffGroupDataByLottery(eventConf.Value1, v, ownerbuff) - stone.Rooms.Resetcount += 1 - - // 更新数据 - update["rooms"] = stone.Rooms - - this.module.modelStonehenge.ChangeStonehengeData(session.GetUserId(), update) - session.SendMsg(string(this.module.GetType()), "resetbuff", &pb.StonehengeResetBuffResp{ - Selectbuff: stone.Rooms.Selectbuff, - }) - return + var addtype int32 + for key := range stone.Addweight { // 这个map 目前只会存在一条数据 + addtype = key + break } + ownerbuff := make(map[int32]struct{}, 0) + for k := range stone.Userbuff { + ownerbuff[k] = struct{}{} + } + stone.Rooms.Selectbuff = this.module.configure.GetBuffGroupDataByLottery(eventConf.Value1, addtype, ownerbuff) + stone.Rooms.Resetcount += 1 + + // 更新数据 + update["rooms"] = stone.Rooms + + this.module.modelStonehenge.ChangeStonehengeData(session.GetUserId(), update) + session.SendMsg(string(this.module.GetType()), "resetbuff", &pb.StonehengeResetBuffResp{ + Selectbuff: stone.Rooms.Selectbuff, + }) + return + } break } diff --git a/modules/stonehenge/modelStonehenge.go b/modules/stonehenge/modelStonehenge.go index 43c1f2f34..a3a298e14 100644 --- a/modules/stonehenge/modelStonehenge.go +++ b/modules/stonehenge/modelStonehenge.go @@ -124,14 +124,18 @@ func (this *MStonehenge) AddNewEvent(event []int32, stone *pb.DBStonehenge) { switch newEventConf.EventType { case EventType25: // buff是3选1 - for _, v := range stone.Addweight { - ownerbuff := make(map[int32]struct{}, 0) - for k := range stone.Userbuff { - ownerbuff[k] = struct{}{} - } - stone.Rooms.Selectbuff = this.module.configure.GetBuffGroupDataByLottery(newEventConf.Value1, v, ownerbuff) - stone.Rooms.Resetcount = 0 // 重置buff 三选一次数 + var addtype int32 + for key := range stone.Addweight { // 这个map 目前只会存在一条数据 + addtype = key + break } + ownerbuff := make(map[int32]struct{}, 0) + for k := range stone.Userbuff { + ownerbuff[k] = struct{}{} + } + stone.Rooms.Selectbuff = this.module.configure.GetBuffGroupDataByLottery(newEventConf.Value1, addtype, ownerbuff) + stone.Rooms.Resetcount = 0 // 重置buff 三选一次数 + //} case EventType10: // 宝箱事件 if _, ok := stone.Rooms.Box[newEventConf.EventId]; !ok { stone.Rooms.Box[newEventConf.EventId] = 0