秘境buff 1选1

This commit is contained in:
meixiongfeng 2023-12-08 18:54:30 +08:00
parent d2efca4c3e
commit 3fe5e4dc8c
2 changed files with 31 additions and 23 deletions

View File

@ -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
}

View File

@ -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