#36575 任务 【梦工场系统】 <-后端-> 【石阵秘境】强化buff事件新增规则

This commit is contained in:
meixiongfeng 2023-10-11 17:45:23 +08:00
parent 1b7e6368a4
commit 84ff03c2da

View File

@ -166,24 +166,23 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype225, 1)) tasks = append(tasks, comm.GetBuriedParam(comm.Rtype225, 1))
return return
} }
if !bWin { // 战斗失败直接返回 if bWin { // 战斗失败直接返回
return // 掉落奖励
} if conf, err := this.module.configure.GetStoneEventDataById(req.Eventid); err == nil {
// 掉落奖励 if battleConf, err := this.module.configure.GetBattleConfById(conf.Value1); err == nil {
if conf, err := this.module.configure.GetStoneEventDataById(req.Eventid); err == nil { user, err := this.module.ModuleUser.GetUser(session.GetUserId())
if battleConf, err := this.module.configure.GetBattleConfById(conf.Value1); err == nil { if err != nil {
user, err := this.module.ModuleUser.GetUser(session.GetUserId()) errdata = &pb.ErrorData{
if err != nil { Code: pb.ErrorCode_DBError,
errdata = &pb.ErrorData{ Title: pb.ErrorCode_DBError.ToString(),
Code: pb.ErrorCode_DBError, Message: err.Error(),
Title: pb.ErrorCode_DBError.ToString(), }
Message: err.Error(), return
} }
return if lotteryward := this.module.ModuleTools.GetGroupDataByLottery(battleConf.RewardLottery, user.Vip, user.Lv); len(lotteryward) > 0 {
} if errdata, reward = this.module.DispenseAtno(session, lotteryward, true); errdata != nil {
if lotteryward := this.module.ModuleTools.GetGroupDataByLottery(battleConf.RewardLottery, user.Vip, user.Lv); len(lotteryward) > 0 { this.module.Debugf("Mline lotteryward DispenseRes err:+%v", lotteryward)
if errdata, reward = this.module.DispenseAtno(session, lotteryward, true); errdata != nil { }
this.module.Debugf("Mline lotteryward DispenseRes err:+%v", lotteryward)
} }
} }
} }
@ -220,6 +219,20 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
} }
update["hero"] = stone.Hero update["hero"] = stone.Hero
if !bWin {
update["rooms"] = stone.Rooms
this.module.modelStonehenge.ChangeStonehengeData(session.GetUserId(), update)
session.SendMsg(string(this.module.GetType()), "event", &pb.StonehengeEventResp{
Eventid: req.Eventid,
NewEvent: newEvent,
Room: stone.Rooms,
Reward: reward,
Hero: stone.Hero,
Userbuff: stone.Userbuff,
Curbuff: curbuff,
})
return
}
case EventType10: // 宝箱事件 case EventType10: // 宝箱事件
// 通关了才能领取宝箱 // 通关了才能领取宝箱
if !stone.Rooms.Complete { if !stone.Rooms.Complete {
@ -317,27 +330,69 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
} }
} }
update["hero"] = stone.Hero update["hero"] = stone.Hero
case EventType23, EventType29: // 事件buff 强化// 商店强化 case EventType23: // 事件buff 强化// 商店强化
// EventType23/////////////
if num, err := strconv.Atoi(req.Param1); err == nil { if eventConf.Value2 == 0 { // 强化所有1级buff
buffid := int32(num) for _, v := range stone.Userbuff {
if _, ok := stone.Userbuff[buffid]; ok { if conf, e := this.module.configure.GetStoneBuffDataById(v); e != nil {
if EventType29 == eventConf.EventType { // 商店消耗 走特殊消耗 if conf.BuffLevel == 1 && conf.Type != 5 { // 5是负面buff
if oldbufConf, e := this.module.configure.GetStoneBuffDataById(buffid); e == nil { if nextConf, e := this.module.configure.GetStoneBuffDataById(v + 1); e != nil { // 是否有2级
if oldbufConf.BuffUpgradeCost.N > 0 { delete(stone.Userbuff, v)
if errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{oldbufConf.BuffUpgradeCost}, true); errdata != nil { // 校验消耗 stone.Userbuff[nextConf.BuffId] = 1
return curbuff = nextConf.BuffId
} break
} }
} else {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: e.Error(),
}
return
} }
} }
}
} else if eventConf.Value2 == 1 { // 强化类型 buff
itype := eventConf.Value3
for _, v := range stone.Userbuff {
if conf, e := this.module.configure.GetStoneBuffDataById(v); e != nil {
if conf.BuffLevel == 1 && conf.Type != itype {
if nextConf, e := this.module.configure.GetStoneBuffDataById(v + 1); e != nil { // 是否有2级
delete(stone.Userbuff, v)
stone.Userbuff[nextConf.BuffId] = 1
curbuff = nextConf.BuffId
break
}
}
}
}
} else if eventConf.Value2 == 2 { // 强化品质buff
quility := eventConf.Value3
for _, v := range stone.Userbuff {
if conf, e := this.module.configure.GetStoneBuffDataById(v); e != nil {
if conf.BuffLevel == 1 && conf.Quality == quility && conf.Type != 5 {
if nextConf, e := this.module.configure.GetStoneBuffDataById(v + 1); e != nil { // 是否有2级
delete(stone.Userbuff, v)
stone.Userbuff[nextConf.BuffId] = 1
curbuff = nextConf.BuffId
break
}
}
}
}
}
//////////////end EventType23
case EventType29:
if num, err := strconv.Atoi(req.Param1); err == nil {
buffid := int32(num) // 随机获得n个buff
if _, ok := stone.Userbuff[buffid]; ok {
if oldbufConf, e := this.module.configure.GetStoneBuffDataById(buffid); e == nil {
if oldbufConf.BuffUpgradeCost.N > 0 {
if errdata = this.module.ConsumeRes(session, []*cfg.Gameatn{oldbufConf.BuffUpgradeCost}, true); errdata != nil { // 校验消耗
return
}
}
} else {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: e.Error(),
}
return
}
if newbufConf, e := this.module.configure.GetStoneBuffDataById(buffid + 1); e == nil { if newbufConf, e := this.module.configure.GetStoneBuffDataById(buffid + 1); e == nil {
stone.Userbuff[newbufConf.BuffId] = 1 stone.Userbuff[newbufConf.BuffId] = 1
delete(stone.Userbuff, buffid) // 删除旧buff delete(stone.Userbuff, buffid) // 删除旧buff