This commit is contained in:
liwei1dao 2023-10-11 17:46:55 +08:00
commit 8576d54cdd

View File

@ -166,24 +166,23 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype225, 1))
return
}
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 {
user, err := this.module.ModuleUser.GetUser(session.GetUserId())
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
if bWin { // 战斗失败直接返回
// 掉落奖励
if conf, err := this.module.configure.GetStoneEventDataById(req.Eventid); err == nil {
if battleConf, err := this.module.configure.GetBattleConfById(conf.Value1); err == nil {
user, err := this.module.ModuleUser.GetUser(session.GetUserId())
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
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 {
this.module.Debugf("Mline lotteryward DispenseRes err:+%v", lotteryward)
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 {
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
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,27 +330,69 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
}
}
update["hero"] = stone.Hero
case EventType23, EventType29: // 事件buff 强化// 商店强化
if num, err := strconv.Atoi(req.Param1); err == nil {
buffid := int32(num)
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 { // 校验消耗
return
}
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 {
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 {
stone.Userbuff[newbufConf.BuffId] = 1
delete(stone.Userbuff, buffid) // 删除旧buff