维京任务测试 + 觉醒回响技能带入战斗
This commit is contained in:
parent
6f3af2146c
commit
964bc90175
@ -845,6 +845,10 @@ func (this *modelBattleComp) createMasterRoles(comp, wheel int, fid int32) (capt
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
|
var szEquipSkill []*pb.SkillData
|
||||||
|
szEquipSkill = append(szEquipSkill, hero.EquipSkill...)
|
||||||
|
szEquipSkill = append(szEquipSkill, hero.Awakenskill...) //
|
||||||
|
szEquipSkill = append(szEquipSkill, hero.Talentskill...)
|
||||||
roles[i] = &pb.BattleRole{
|
roles[i] = &pb.BattleRole{
|
||||||
Tid: int32(comp + wheel*10 + i),
|
Tid: int32(comp + wheel*10 + i),
|
||||||
Oid: hero.Id,
|
Oid: hero.Id,
|
||||||
@ -854,7 +858,7 @@ func (this *modelBattleComp) createMasterRoles(comp, wheel int, fid int32) (capt
|
|||||||
Lv: hero.Lv,
|
Lv: hero.Lv,
|
||||||
CaptainSkill: hero.CaptainSkill,
|
CaptainSkill: hero.CaptainSkill,
|
||||||
NormalSkill: hero.NormalSkill,
|
NormalSkill: hero.NormalSkill,
|
||||||
EquipSkill: hero.EquipSkill,
|
EquipSkill: szEquipSkill,
|
||||||
Property: make(map[int32]int32),
|
Property: make(map[int32]int32),
|
||||||
Isboos: v.IsBoss,
|
Isboos: v.IsBoss,
|
||||||
Monsterid: v.Heroid,
|
Monsterid: v.Heroid,
|
||||||
|
88
modules/robot/modulerobot_viking.go
Normal file
88
modules/robot/modulerobot_viking.go
Normal 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
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user