AI英雄养成相关
This commit is contained in:
parent
76bce0d76d
commit
ba260707ad
@ -28,6 +28,8 @@ const (
|
||||
game_pagoda = "game_pagoda.json"
|
||||
hero_talent = "game_herotalent.json" // 天赋详细数据
|
||||
game_playerlv = "game_playerlv.json"
|
||||
|
||||
hero_awaken = "game_heroawaken.json"
|
||||
)
|
||||
|
||||
type configureComp struct {
|
||||
@ -48,6 +50,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
configure.RegisterConfigure(equip_suit, cfg.NewGameEquipSuit, nil)
|
||||
configure.RegisterConfigure(hero_talent, cfg.NewGameHeroTalent, nil)
|
||||
configure.RegisterConfigure(game_playerlv, cfg.NewGamePlayerlv, nil)
|
||||
configure.RegisterConfigure(hero_awaken, cfg.NewGameHeroAwaken, nil) // 觉醒
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -179,6 +179,42 @@ func (this *ModuleRobot_Hero) DoTask(robot IRobot, taskconf *cfg.GameWorldTaskDa
|
||||
err = errors.New(fmt.Sprintf("code:%d message:%s", errdata.Code, errdata.Message))
|
||||
return
|
||||
}
|
||||
case comm.Rtype25: // 升星
|
||||
req := &pb.HeroStrengthenUpStarReq{}
|
||||
for _, v := range this.heros {
|
||||
if v.HeroID == string(condconf.Filter[0]) { // 找到指定英雄ID
|
||||
req.HeroObjID = v.Id
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
if _, errdata = robot.SendTaskMessage(taskconf.Key, condconf.Id, "hero", "strengthenupstar", req); errdata != nil {
|
||||
err = errors.New(fmt.Sprintf("code:%d message:%s", errdata.Code, errdata.Message))
|
||||
return
|
||||
}
|
||||
case comm.Rtype34: // 觉醒
|
||||
|
||||
req := &pb.HeroAwakenReq{}
|
||||
for _, v := range this.heros {
|
||||
if int(v.JuexingLv) > 1 && int(v.JuexingLv) < len(this.GetHeroAwalenConf(v.HeroID)) { // 优先找觉醒大于1 并且没有满觉醒的英雄
|
||||
req.HeroObjID = v.Id
|
||||
break
|
||||
}
|
||||
if len(this.GetHeroAwalenConf(v.HeroID)) == int(v.JuexingLv) { // 满觉醒了就找下一个
|
||||
continue
|
||||
}
|
||||
|
||||
req.HeroObjID = v.Id
|
||||
break
|
||||
}
|
||||
if req.HeroObjID == "" {
|
||||
err = errors.New(fmt.Sprintf("code:%d message:not found hero", errdata.Code))
|
||||
return
|
||||
}
|
||||
if _, errdata = robot.SendTaskMessage(taskconf.Key, condconf.Id, "hero", "awaken", req); errdata != nil {
|
||||
err = errors.New(fmt.Sprintf("code:%d message:%s", errdata.Code, errdata.Message))
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -233,7 +269,6 @@ func (this *ModuleRobot_Hero) GMGetTalentByHeroId(hid string) (data []*cfg.GameH
|
||||
if len(data) == 0 {
|
||||
err = comm.NewNotFoundConfErr("robot", hero_talent, hid)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@ -253,3 +288,16 @@ func (this *ModuleRobot_Hero) GetPlayerlvConf(lv int32) (data *cfg.GamePlayerlvD
|
||||
}
|
||||
return
|
||||
}
|
||||
func (this *ModuleRobot_Hero) GetHeroAwalenConf(hid string) (data []*cfg.GameHeroAwakenData) {
|
||||
data = make([]*cfg.GameHeroAwakenData, 0)
|
||||
if v, err := configure.GetConfigure(hero_awaken); err == nil {
|
||||
if _configure, ok := v.(*cfg.GameHeroAwaken); ok {
|
||||
for _, v := range _configure.GetDataList() {
|
||||
if v.Hid == hid {
|
||||
data = append(data, v)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user