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

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

View File

@ -166,9 +166,7 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype225, 1))
return
}
if !bWin { // 战斗失败直接返回
return
}
if bWin { // 战斗失败直接返回
// 掉落奖励
if conf, err := this.module.configure.GetStoneEventDataById(req.Eventid); err == nil {
if battleConf, err := this.module.configure.GetBattleConfById(conf.Value1); err == nil {
@ -188,6 +186,7 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
}
}
}
}
for _, v := range req.Report.Info.Redflist[0].Team {
if _, ok := stone.Hero[v.Oid]; ok {
@ -220,6 +219,20 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
}
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: // 宝箱事件
// 通关了才能领取宝箱
if !stone.Rooms.Complete {
@ -317,12 +330,55 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
}
}
update["hero"] = stone.Hero
case EventType23, EventType29: // 事件buff 强化// 商店强化
case EventType23: // 事件buff 强化// 商店强化
// EventType23/////////////
if eventConf.Value2 == 0 { // 强化所有1级buff
for _, v := range stone.Userbuff {
if conf, e := this.module.configure.GetStoneBuffDataById(v); e != nil {
if conf.BuffLevel == 1 && conf.Type != 5 { // 5是负面buff
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 == 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)
buffid := int32(num) // 随机获得n个buff
if _, ok := stone.Userbuff[buffid]; ok {
if EventType29 == eventConf.EventType { // 商店消耗 走特殊消耗
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 { // 校验消耗
@ -337,7 +393,6 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
}
return
}
}
if newbufConf, e := this.module.configure.GetStoneBuffDataById(buffid + 1); e == nil {
stone.Userbuff[newbufConf.BuffId] = 1
delete(stone.Userbuff, buffid) // 删除旧buff