AI英雄养成相关

This commit is contained in:
meixiongfeng 2023-08-28 19:42:55 +08:00
parent 76bce0d76d
commit ba260707ad
2 changed files with 52 additions and 1 deletions

View File

@ -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
}

View File

@ -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
}