#36575 任务 【梦工场系统】 <-后端-> 【石阵秘境】强化buff事件新增规则
This commit is contained in:
parent
1b7e6368a4
commit
84ff03c2da
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user