维京任务测试 + 觉醒回响技能带入战斗

This commit is contained in:
meixiongfeng 2023-08-25 16:36:19 +08:00
parent 6f3af2146c
commit 964bc90175
2 changed files with 93 additions and 1 deletions

View File

@ -845,6 +845,10 @@ func (this *modelBattleComp) createMasterRoles(comp, wheel int, fid int32) (capt
}
return
} else {
var szEquipSkill []*pb.SkillData
szEquipSkill = append(szEquipSkill, hero.EquipSkill...)
szEquipSkill = append(szEquipSkill, hero.Awakenskill...) //
szEquipSkill = append(szEquipSkill, hero.Talentskill...)
roles[i] = &pb.BattleRole{
Tid: int32(comp + wheel*10 + i),
Oid: hero.Id,
@ -854,7 +858,7 @@ func (this *modelBattleComp) createMasterRoles(comp, wheel int, fid int32) (capt
Lv: hero.Lv,
CaptainSkill: hero.CaptainSkill,
NormalSkill: hero.NormalSkill,
EquipSkill: hero.EquipSkill,
EquipSkill: szEquipSkill,
Property: make(map[int32]int32),
Isboos: v.IsBoss,
Monsterid: v.Heroid,

View File

@ -0,0 +1,88 @@
package robot
import (
"errors"
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto"
)
//维京模块 机器人
type ModuleRobot_Viking struct {
viking *pb.DBViking
}
func (this *ModuleRobot_Viking) Init() (err error) {
return
}
//接收到消息
func (this *ModuleRobot_Viking) Receive(robot IRobot, stype string, message proto.Message) (err error) {
switch stype {
case "getlist":
resp := message.(*pb.VikingGetListResp)
this.viking = resp.Data
break
case "challengeover": // 更新塔信息
resp := message.(*pb.VikingChallengeOverResp)
this.viking = resp.Data
break
}
return
}
//机器人执行流
func (this *ModuleRobot_Viking) DoPipeline(robot IRobot) (err error) {
return
}
//做任务
func (this *ModuleRobot_Viking) DoTask(robot IRobot, taskconf *cfg.GameWorldTaskData, condconf *cfg.GameBuriedCondiData) (err error) {
var (
errdata *pb.ErrorData
)
// 获取爬塔信息
if _, errdata = robot.SendMessage("viking", "getlist", &pb.VikingGetListReq{}); errdata != nil {
err = errors.New(fmt.Sprintf("code:%d message:%s", errdata.Code, errdata.Message))
return
}
switch comm.TaskType(condconf.Type) {
case comm.Rtype73: //通关难度A维京远征指定BOSSN次从接到任务开始只有通关A难度进度才+1
var (
heromodule *ModuleRobot_Hero
heros []string
resp proto.Message
)
// if conf, err = this.getPagodaData(condconf.Filter[0], this.viking.Data[condconf.Filter[0]]+1); err != nil { // 参数有误
// return
// }
heromodule = robot.GetModule(comm.ModuleHero).(*ModuleRobot_Hero)
heros = heromodule.getbattlehero()
if resp, errdata = robot.SendTaskMessage(taskconf.Key, condconf.Id, "viking", "challenge", &pb.VikingChallengeReq{
BossId: condconf.Filter[0],
Difficulty: condconf.Filter[1],
Battle: &pb.BattleFormation{
Format: heros,
}}); errdata != nil {
err = errors.New(fmt.Sprintf("code:%d message:%s", errdata.Code, errdata.Message))
return
}
if _, errdata = robot.SendTaskMessage(taskconf.Key, condconf.Id, "viking", "challengeover", &pb.VikingChallengeOverReq{
BossId: condconf.Filter[0],
Difficulty: condconf.Filter[1],
Report: &pb.BattleReport{
Info: resp.(*pb.VikingChallengeResp).Info,
WinSide: 1,
}}); errdata != nil {
err = errors.New(fmt.Sprintf("code:%d message:%s", errdata.Code, errdata.Message))
return
}
break
}
return
}