主线章节
This commit is contained in:
parent
62eec8a69a
commit
9178a5b900
@ -70,6 +70,9 @@ type (
|
|||||||
AddNewEquipments(source *ModuleCallSource, uid string, cIds map[int32]uint32) (code pb.ErrorCode)
|
AddNewEquipments(source *ModuleCallSource, uid string, cIds map[int32]uint32) (code pb.ErrorCode)
|
||||||
}
|
}
|
||||||
IStory interface {
|
IStory interface {
|
||||||
ModifyStoryData(uid string, objid string, data interface{}) (code pb.ErrorCode)
|
// 修改章节信息
|
||||||
|
ModifyStoryData(uid string, objId string, data interface{}) (code pb.ErrorCode)
|
||||||
|
// 检查能不能挑战该关卡
|
||||||
|
CheckChallengeChapter(stroyId int32, uid string, zhangjieID int32) (code pb.ErrorCode)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -22,6 +22,7 @@ const ( //消息回复的头名称
|
|||||||
StrengthenUpSkill = "strengthenupskill" // 技能强化
|
StrengthenUpSkill = "strengthenupskill" // 技能强化
|
||||||
StrengthenUpStar = "strengthensupstar" // 英雄升星
|
StrengthenUpStar = "strengthensupstar" // 英雄升星
|
||||||
Awaken = "awaken" // 英雄觉醒
|
Awaken = "awaken" // 英雄觉醒
|
||||||
|
HeroLock = "lock" // 英雄锁定
|
||||||
)
|
)
|
||||||
|
|
||||||
//组件初始化接口
|
//组件初始化接口
|
||||||
|
50
modules/hero/api_lock.go
Normal file
50
modules/hero/api_lock.go
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
package hero
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/lego/sys/log"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/proto"
|
||||||
|
)
|
||||||
|
|
||||||
|
//参数校验
|
||||||
|
func (this *apiComp) LockCheck(session comm.IUserSession, req *pb.HeroLockReq) (code pb.ErrorCode) {
|
||||||
|
if req.Heroid == "" {
|
||||||
|
code = pb.ErrorCode_ReqParameterError
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 英雄锁定
|
||||||
|
func (this *apiComp) Lock(session comm.IUserSession, req *pb.HeroLockReq) (code pb.ErrorCode, data proto.Message) {
|
||||||
|
|
||||||
|
_hero, err := this.module.GetHero(session.GetUserId(), req.Heroid)
|
||||||
|
defer func() {
|
||||||
|
if code == pb.ErrorCode_Success {
|
||||||
|
session.SendMsg(string(this.module.GetType()), HeroLock, &pb.HeroAwakenResp{Hero: _hero})
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
if err != pb.ErrorCode_Success {
|
||||||
|
code = pb.ErrorCode_HeroNoExist
|
||||||
|
return
|
||||||
|
}
|
||||||
|
code = this.LockCheck(session, req) // check
|
||||||
|
if code != pb.ErrorCode_Success {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_hero.Block = !_hero.Block // 修改是否锁定状态
|
||||||
|
_heroMap := map[string]interface{}{
|
||||||
|
"block": _hero.Block,
|
||||||
|
}
|
||||||
|
// 保存数据
|
||||||
|
err1 := this.module.modelHero.modifyHeroData(session.GetUserId(), _hero.Id, _heroMap)
|
||||||
|
if err1 != nil {
|
||||||
|
code = pb.ErrorCode_DBError
|
||||||
|
log.Errorf("update hero skill failed:%v", err1)
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
@ -53,11 +53,10 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR
|
|||||||
code = pb.ErrorCode_HeroMaxResonate // 共鸣次数已满
|
code = pb.ErrorCode_HeroMaxResonate // 共鸣次数已满
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var _costHero *pb.DBHero
|
var _costHero *pb.DBHero
|
||||||
for k, v := range szCostHero {
|
for k, v := range szCostHero {
|
||||||
bCheck := false
|
|
||||||
for _, v1 := range resonConfig.Heroneed {
|
for _, v1 := range resonConfig.Heroneed {
|
||||||
|
|
||||||
if v1.A == comm.HeroType {
|
if v1.A == comm.HeroType {
|
||||||
totalCostCard += 1
|
totalCostCard += 1
|
||||||
}
|
}
|
||||||
@ -66,22 +65,21 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR
|
|||||||
code = pb.ErrorCode_ConfigurationException
|
code = pb.ErrorCode_ConfigurationException
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if int32(value) == _costHero.HeroID && v1.N == v { // 校验消耗类型是否一致
|
|
||||||
bCheck = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if bCheck {
|
|
||||||
_costHero, code = this.module.GetHero(session.GetUserId(), k) // 查询消耗卡是否存在
|
_costHero, code = this.module.GetHero(session.GetUserId(), k) // 查询消耗卡是否存在
|
||||||
if code != pb.ErrorCode_Success && _costHero.SameCount <= v {
|
if code != pb.ErrorCode_Success { // 英雄被锁不能消耗
|
||||||
|
code = pb.ErrorCode_HeroNoEnough
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if _costHero.Block {
|
||||||
|
code = pb.ErrorCode_HeroIsLock
|
||||||
|
}
|
||||||
|
if int32(value) == _costHero.HeroID && (v1.N != v || _costHero.SameCount < v) {
|
||||||
code = pb.ErrorCode_HeroNoEnough
|
code = pb.ErrorCode_HeroNoEnough
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
code = pb.ErrorCode_HeroNoEnough // 校验失败
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if int32(len(req.CostObjID)) != totalCostCard { // 总数消耗校验
|
if int32(len(req.CostObjID)) != totalCostCard { // 总数消耗校验
|
||||||
code = pb.ErrorCode_HeroNoEnough // 消耗数量不对应
|
code = pb.ErrorCode_HeroNoEnough // 消耗数量不对应
|
||||||
return
|
return
|
||||||
|
@ -52,6 +52,10 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt
|
|||||||
code = pb.ErrorCode_HeroNoExist
|
code = pb.ErrorCode_HeroNoExist
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if _costHero.Block { // 锁定的卡不允许被消耗
|
||||||
|
code = pb.ErrorCode_HeroIsLock
|
||||||
|
return
|
||||||
|
}
|
||||||
// 查询配置表 找出原始品质
|
// 查询配置表 找出原始品质
|
||||||
tmp := this.module.configure.GetHero(_hero.HeroID)
|
tmp := this.module.configure.GetHero(_hero.HeroID)
|
||||||
if tmp == nil {
|
if tmp == nil {
|
||||||
|
@ -60,6 +60,10 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr
|
|||||||
code = pb.ErrorCode_ReqParameterError
|
code = pb.ErrorCode_ReqParameterError
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
|
if tagHero.Block { // 锁定的卡不允许被消耗
|
||||||
|
code = pb.ErrorCode_HeroIsLock
|
||||||
|
return
|
||||||
|
}
|
||||||
if tagHero.SameCount < v.Amount { // 校验数量
|
if tagHero.SameCount < v.Amount { // 校验数量
|
||||||
code = pb.ErrorCode_ReqParameterError
|
code = pb.ErrorCode_ReqParameterError
|
||||||
return
|
return
|
||||||
@ -77,6 +81,10 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr
|
|||||||
code = pb.ErrorCode_ReqParameterError
|
code = pb.ErrorCode_ReqParameterError
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
|
if raceHero.Block { // 锁定的卡不允许被消耗
|
||||||
|
code = pb.ErrorCode_HeroIsLock
|
||||||
|
return
|
||||||
|
}
|
||||||
// 校验阵容信息
|
// 校验阵容信息
|
||||||
if raceHero.Star != target.Needracestar {
|
if raceHero.Star != target.Needracestar {
|
||||||
code = pb.ErrorCode_ReqParameterError
|
code = pb.ErrorCode_ReqParameterError
|
||||||
|
@ -53,6 +53,10 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren
|
|||||||
code = pb.ErrorCode_HeroNoExist
|
code = pb.ErrorCode_HeroNoExist
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if _expHero.Block { // 锁定的卡不允许被消耗
|
||||||
|
code = pb.ErrorCode_HeroIsLock
|
||||||
|
return
|
||||||
|
}
|
||||||
curLv = _hero.Lv
|
curLv = _hero.Lv
|
||||||
curExp = _hero.Exp // 当前英雄的经验
|
curExp = _hero.Exp // 当前英雄的经验
|
||||||
addExp = 1000
|
addExp = 1000
|
||||||
|
@ -18,7 +18,6 @@ type Hero struct {
|
|||||||
api *apiComp
|
api *apiComp
|
||||||
configure *configureComp
|
configure *configureComp
|
||||||
modelHero *ModelHero
|
modelHero *ModelHero
|
||||||
items comm.IItems
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//模块名
|
//模块名
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package mail
|
package mail
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"go_dreamfactory/comm"
|
|
||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
|
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
@ -19,7 +18,6 @@ type apiComp struct {
|
|||||||
modules.MCompGate
|
modules.MCompGate
|
||||||
service core.IService
|
service core.IService
|
||||||
module *Mail
|
module *Mail
|
||||||
items comm.IItems
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
@ -32,12 +30,6 @@ func (this *apiComp) Init(service core.IService, module core.IModule, comp core.
|
|||||||
|
|
||||||
func (this *apiComp) Start() (err error) {
|
func (this *apiComp) Start() (err error) {
|
||||||
err = this.MCompGate.Start()
|
err = this.MCompGate.Start()
|
||||||
var module core.IModule
|
|
||||||
|
|
||||||
if module, err = this.service.GetModule(comm.ModuleItems); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.items = module.(comm.IItems)
|
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -16,12 +16,12 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
///配置管理基础组件
|
///配置管理基础组件
|
||||||
type MCompConfigure struct {
|
type configureComp struct {
|
||||||
cbase.ModuleCompBase
|
cbase.ModuleCompBase
|
||||||
}
|
}
|
||||||
|
|
||||||
//组件初始化接口
|
//组件初始化接口
|
||||||
func (this *MCompConfigure) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
err = this.ModuleCompBase.Init(service, module, comp, options)
|
err = this.ModuleCompBase.Init(service, module, comp, options)
|
||||||
err = this.LoadMultiConfigure(map[string]interface{}{
|
err = this.LoadMultiConfigure(map[string]interface{}{
|
||||||
game_storychapter: cfg.NewGame_storyChapter,
|
game_storychapter: cfg.NewGame_storyChapter,
|
||||||
@ -34,7 +34,7 @@ func (this *MCompConfigure) Init(service core.IService, module core.IModule, com
|
|||||||
}
|
}
|
||||||
|
|
||||||
//加载多个配置文件
|
//加载多个配置文件
|
||||||
func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (err error) {
|
func (this *configureComp) LoadMultiConfigure(confs map[string]interface{}) (err error) {
|
||||||
for k, v := range confs {
|
for k, v := range confs {
|
||||||
err = configure.RegisterConfigure(k, v)
|
err = configure.RegisterConfigure(k, v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -46,11 +46,11 @@ func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (er
|
|||||||
}
|
}
|
||||||
|
|
||||||
//读取配置数据
|
//读取配置数据
|
||||||
func (this *MCompConfigure) GetConfigure(name string) (v interface{}, err error) {
|
func (this *configureComp) GetConfigure(name string) (v interface{}, err error) {
|
||||||
return configure.GetConfigure(name)
|
return configure.GetConfigure(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *MCompConfigure) GetStoryChapter(id int32) (data *cfg.Game_storyChapterData) {
|
func (this *configureComp) GetStoryChapter(id int32) (data *cfg.Game_storyChapterData) {
|
||||||
if v, err := this.GetConfigure(game_storychapter); err != nil {
|
if v, err := this.GetConfigure(game_storychapter); err != nil {
|
||||||
log.Errorf("get global conf err:%v", err)
|
log.Errorf("get global conf err:%v", err)
|
||||||
return
|
return
|
||||||
@ -72,7 +72,7 @@ func (this *MCompConfigure) GetStoryChapter(id int32) (data *cfg.Game_storyChapt
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取简单的关卡配置信息
|
// 获取简单的关卡配置信息
|
||||||
func (this *MCompConfigure) GetStoryEasyChapter(id int32) (data *cfg.Game_storyEasyData) {
|
func (this *configureComp) GetStoryEasyChapter(id int32) (data *cfg.Game_storyEasyData) {
|
||||||
if v, err := this.GetConfigure(game_storyeasy); err != nil {
|
if v, err := this.GetConfigure(game_storyeasy); err != nil {
|
||||||
log.Errorf("get global conf err:%v", err)
|
log.Errorf("get global conf err:%v", err)
|
||||||
return
|
return
|
||||||
@ -94,7 +94,7 @@ func (this *MCompConfigure) GetStoryEasyChapter(id int32) (data *cfg.Game_storyE
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取炼狱级别难度的关卡配置
|
// 获取炼狱级别难度的关卡配置
|
||||||
func (this *MCompConfigure) GetStoryPurgatoryChapter(id int32) (data *cfg.Game_storyPurgatoryData) {
|
func (this *configureComp) GetStoryPurgatoryChapter(id int32) (data *cfg.Game_storyPurgatoryData) {
|
||||||
if v, err := this.GetConfigure(game_storypurgatory); err != nil {
|
if v, err := this.GetConfigure(game_storypurgatory); err != nil {
|
||||||
log.Errorf("get global conf err:%v", err)
|
log.Errorf("get global conf err:%v", err)
|
||||||
return
|
return
|
||||||
@ -116,7 +116,7 @@ func (this *MCompConfigure) GetStoryPurgatoryChapter(id int32) (data *cfg.Game_s
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取困难的关卡配置
|
// 获取困难的关卡配置
|
||||||
func (this *MCompConfigure) GetStoryHardChapter(id int32) (data *cfg.Game_storyHardData) {
|
func (this *configureComp) GetStoryHardChapter(id int32) (data *cfg.Game_storyHardData) {
|
||||||
if v, err := this.GetConfigure(game_storyhard); err != nil {
|
if v, err := this.GetConfigure(game_storyhard); err != nil {
|
||||||
log.Errorf("get global conf err:%v", err)
|
log.Errorf("get global conf err:%v", err)
|
||||||
return
|
return
|
||||||
|
@ -5,12 +5,14 @@ import (
|
|||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
"go_dreamfactory/pb"
|
"go_dreamfactory/pb"
|
||||||
|
"sort"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Story struct {
|
type Story struct {
|
||||||
modules.ModuleBase
|
modules.ModuleBase
|
||||||
modelStory *ModelStory
|
modelStory *ModelStory
|
||||||
api *apiComp
|
api *apiComp
|
||||||
|
configure *configureComp
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewModule() core.IModule {
|
func NewModule() core.IModule {
|
||||||
@ -31,13 +33,57 @@ func (this *Story) OnInstallComp() {
|
|||||||
this.ModuleBase.OnInstallComp()
|
this.ModuleBase.OnInstallComp()
|
||||||
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
|
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
|
||||||
this.modelStory = this.RegisterComp(new(ModelStory)).(*ModelStory)
|
this.modelStory = this.RegisterComp(new(ModelStory)).(*ModelStory)
|
||||||
|
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 接口信息 给其他模块调用 用来修改主线关卡信息
|
// 接口信息 给其他模块调用 用来修改主线关卡信息
|
||||||
func (this *Story) ModifyStoryData(uid string, objid string, data map[string]interface{}) (code pb.ErrorCode) {
|
func (this *Story) ModifyStoryData(uid string, objId string, data map[string]interface{}) (code pb.ErrorCode) {
|
||||||
err := this.modelStory.modifyStoryData(uid, objid, data)
|
err := this.modelStory.modifyStoryData(uid, objId, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 校验是否能挑战该关卡
|
||||||
|
func (this *Story) CheckChallengeChapter(stroyId int32, uid string, zhangjieID int32) (code pb.ErrorCode) {
|
||||||
|
var (
|
||||||
|
curChapter *pb.DBStory
|
||||||
|
)
|
||||||
|
_szData, err := this.modelStory.getStoryList(uid)
|
||||||
|
if err != nil {
|
||||||
|
code = pb.ErrorCode_DBError
|
||||||
|
return
|
||||||
|
}
|
||||||
|
sort.SliceStable(_szData, func(i, j int) bool { // 排序
|
||||||
|
return _szData[i].ChapterId > _szData[j].ChapterId
|
||||||
|
})
|
||||||
|
|
||||||
|
// 取出最后一条数据
|
||||||
|
curChapter = _szData[len(_szData)-1]
|
||||||
|
if curChapter == nil {
|
||||||
|
code = pb.ErrorCode_StoryNotFindChapter // 没有找到主线关卡信息
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 获取关卡难度用来取配置文件
|
||||||
|
switch curChapter.Intensity {
|
||||||
|
case 1:
|
||||||
|
configData := this.configure.GetStoryEasyChapter(curChapter.StoryId)
|
||||||
|
if configData != nil { // 校验章节
|
||||||
|
if configData.Zhangshu != zhangjieID {
|
||||||
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 判断下一关是不是当前传入的值
|
||||||
|
if configData.Nextid != stroyId {
|
||||||
|
code = pb.ErrorCode_StoryIDFailed
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break
|
||||||
|
case 2:
|
||||||
|
break
|
||||||
|
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -82,9 +82,13 @@ const (
|
|||||||
ErrorCode_HeroCreate ErrorCode = 1310 // 创建卡失败
|
ErrorCode_HeroCreate ErrorCode = 1310 // 创建卡失败
|
||||||
ErrorCode_HeroEquipUpdate ErrorCode = 1311 // 更新装备失败
|
ErrorCode_HeroEquipUpdate ErrorCode = 1311 // 更新装备失败
|
||||||
ErrorCode_HeroMaxAwaken ErrorCode = 1312 // 达到最大觉醒等级
|
ErrorCode_HeroMaxAwaken ErrorCode = 1312 // 达到最大觉醒等级
|
||||||
|
ErrorCode_HeroIsLock ErrorCode = 1313 // 英雄被锁定不能被消耗
|
||||||
// equipment
|
// equipment
|
||||||
ErrorCode_EquipmentOnFoundEquipment ErrorCode = 1400 // 未找到武器
|
ErrorCode_EquipmentOnFoundEquipment ErrorCode = 1400 // 未找到武器
|
||||||
ErrorCode_EquipmentLvlimitReached ErrorCode = 1401 // 武器等级已达上限
|
ErrorCode_EquipmentLvlimitReached ErrorCode = 1401 // 武器等级已达上限
|
||||||
|
// mainStory
|
||||||
|
ErrorCode_StoryNotFindChapter ErrorCode = 1500 // 没有找到主线关卡信息
|
||||||
|
ErrorCode_StoryIDFailed ErrorCode = 1501 // 关卡ID 错误
|
||||||
)
|
)
|
||||||
|
|
||||||
// Enum value maps for ErrorCode.
|
// Enum value maps for ErrorCode.
|
||||||
@ -145,8 +149,11 @@ var (
|
|||||||
1310: "HeroCreate",
|
1310: "HeroCreate",
|
||||||
1311: "HeroEquipUpdate",
|
1311: "HeroEquipUpdate",
|
||||||
1312: "HeroMaxAwaken",
|
1312: "HeroMaxAwaken",
|
||||||
|
1313: "HeroIsLock",
|
||||||
1400: "EquipmentOnFoundEquipment",
|
1400: "EquipmentOnFoundEquipment",
|
||||||
1401: "EquipmentLvlimitReached",
|
1401: "EquipmentLvlimitReached",
|
||||||
|
1500: "StoryNotFindChapter",
|
||||||
|
1501: "StoryIDFailed",
|
||||||
}
|
}
|
||||||
ErrorCode_value = map[string]int32{
|
ErrorCode_value = map[string]int32{
|
||||||
"Success": 0,
|
"Success": 0,
|
||||||
@ -204,8 +211,11 @@ var (
|
|||||||
"HeroCreate": 1310,
|
"HeroCreate": 1310,
|
||||||
"HeroEquipUpdate": 1311,
|
"HeroEquipUpdate": 1311,
|
||||||
"HeroMaxAwaken": 1312,
|
"HeroMaxAwaken": 1312,
|
||||||
|
"HeroIsLock": 1313,
|
||||||
"EquipmentOnFoundEquipment": 1400,
|
"EquipmentOnFoundEquipment": 1400,
|
||||||
"EquipmentLvlimitReached": 1401,
|
"EquipmentLvlimitReached": 1401,
|
||||||
|
"StoryNotFindChapter": 1500,
|
||||||
|
"StoryIDFailed": 1501,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -240,7 +250,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
|
|||||||
|
|
||||||
var file_errorcode_proto_rawDesc = []byte{
|
var file_errorcode_proto_rawDesc = []byte{
|
||||||
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||||
0x6f, 0x2a, 0xac, 0x09, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
0x6f, 0x2a, 0xeb, 0x09, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
||||||
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d,
|
0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d,
|
||||||
0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12,
|
0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12,
|
||||||
0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||||
@ -311,11 +321,15 @@ var file_errorcode_proto_rawDesc = []byte{
|
|||||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f,
|
0x72, 0x65, 0x61, 0x74, 0x65, 0x10, 0x9e, 0x0a, 0x12, 0x14, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f,
|
||||||
0x45, 0x71, 0x75, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9f, 0x0a, 0x12, 0x12,
|
0x45, 0x71, 0x75, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9f, 0x0a, 0x12, 0x12,
|
||||||
0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x10,
|
0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x10,
|
||||||
0xa0, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f,
|
0xa0, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x73, 0x4c, 0x6f, 0x63, 0x6b,
|
||||||
0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10,
|
0x10, 0xa1, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74,
|
||||||
0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c,
|
0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74,
|
||||||
0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a,
|
0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74,
|
||||||
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9,
|
||||||
|
0x0a, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x46, 0x69, 0x6e,
|
||||||
|
0x64, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x10, 0xdc, 0x0b, 0x12, 0x12, 0x0a, 0x0d, 0x53,
|
||||||
|
0x74, 0x6f, 0x72, 0x79, 0x49, 0x44, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xdd, 0x0b, 0x42,
|
||||||
|
0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -1227,6 +1227,102 @@ func (x *HeroProperty) GetAddProperty() map[string]int32 {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 英雄锁定
|
||||||
|
type HeroLockReq struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Heroid string `protobuf:"bytes,1,opt,name=heroid,proto3" json:"heroid"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *HeroLockReq) Reset() {
|
||||||
|
*x = HeroLockReq{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_hero_hero_msg_proto_msgTypes[23]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *HeroLockReq) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*HeroLockReq) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *HeroLockReq) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_hero_hero_msg_proto_msgTypes[23]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use HeroLockReq.ProtoReflect.Descriptor instead.
|
||||||
|
func (*HeroLockReq) Descriptor() ([]byte, []int) {
|
||||||
|
return file_hero_hero_msg_proto_rawDescGZIP(), []int{23}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *HeroLockReq) GetHeroid() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Heroid
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// 英雄锁定返回
|
||||||
|
type HeroLockResp struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Hero *DBHero `protobuf:"bytes,1,opt,name=hero,proto3" json:"hero"` // 英雄对象
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *HeroLockResp) Reset() {
|
||||||
|
*x = HeroLockResp{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_hero_hero_msg_proto_msgTypes[24]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *HeroLockResp) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*HeroLockResp) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *HeroLockResp) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_hero_hero_msg_proto_msgTypes[24]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use HeroLockResp.ProtoReflect.Descriptor instead.
|
||||||
|
func (*HeroLockResp) Descriptor() ([]byte, []int) {
|
||||||
|
return file_hero_hero_msg_proto_rawDescGZIP(), []int{24}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *HeroLockResp) GetHero() *DBHero {
|
||||||
|
if x != nil {
|
||||||
|
return x.Hero
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
var File_hero_hero_msg_proto protoreflect.FileDescriptor
|
var File_hero_hero_msg_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_hero_hero_msg_proto_rawDesc = []byte{
|
var file_hero_hero_msg_proto_rawDesc = []byte{
|
||||||
@ -1342,8 +1438,14 @@ var file_hero_hero_msg_proto_rawDesc = []byte{
|
|||||||
0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74,
|
0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74,
|
||||||
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06,
|
0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25,
|
||||||
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a,
|
||||||
|
0x06, 0x68, 0x65, 0x72, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68,
|
||||||
|
0x65, 0x72, 0x6f, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4c, 0x6f, 0x63,
|
||||||
|
0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20,
|
||||||
|
0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65,
|
||||||
|
0x72, 0x6f, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||||
|
0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -1358,7 +1460,7 @@ func file_hero_hero_msg_proto_rawDescGZIP() []byte {
|
|||||||
return file_hero_hero_msg_proto_rawDescData
|
return file_hero_hero_msg_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_hero_hero_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
|
var file_hero_hero_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
|
||||||
var file_hero_hero_msg_proto_goTypes = []interface{}{
|
var file_hero_hero_msg_proto_goTypes = []interface{}{
|
||||||
(*HeroInfoReq)(nil), // 0: HeroInfoReq
|
(*HeroInfoReq)(nil), // 0: HeroInfoReq
|
||||||
(*HeroInfoResp)(nil), // 1: HeroInfoResp
|
(*HeroInfoResp)(nil), // 1: HeroInfoResp
|
||||||
@ -1383,31 +1485,34 @@ var file_hero_hero_msg_proto_goTypes = []interface{}{
|
|||||||
(*HeroChoukaReq)(nil), // 20: HeroChoukaReq
|
(*HeroChoukaReq)(nil), // 20: HeroChoukaReq
|
||||||
(*HeroChoukaResp)(nil), // 21: HeroChoukaResp
|
(*HeroChoukaResp)(nil), // 21: HeroChoukaResp
|
||||||
(*HeroProperty)(nil), // 22: HeroProperty
|
(*HeroProperty)(nil), // 22: HeroProperty
|
||||||
nil, // 23: HeroProperty.PropertyEntry
|
(*HeroLockReq)(nil), // 23: HeroLockReq
|
||||||
nil, // 24: HeroProperty.AddPropertyEntry
|
(*HeroLockResp)(nil), // 24: HeroLockResp
|
||||||
(*DBHero)(nil), // 25: DBHero
|
nil, // 25: HeroProperty.PropertyEntry
|
||||||
|
nil, // 26: HeroProperty.AddPropertyEntry
|
||||||
|
(*DBHero)(nil), // 27: DBHero
|
||||||
}
|
}
|
||||||
var file_hero_hero_msg_proto_depIdxs = []int32{
|
var file_hero_hero_msg_proto_depIdxs = []int32{
|
||||||
25, // 0: HeroInfoResp.base:type_name -> DBHero
|
27, // 0: HeroInfoResp.base:type_name -> DBHero
|
||||||
25, // 1: HeroListResp.list:type_name -> DBHero
|
27, // 1: HeroListResp.list:type_name -> DBHero
|
||||||
25, // 2: HeroStrengthenUplvResp.hero:type_name -> DBHero
|
27, // 2: HeroStrengthenUplvResp.hero:type_name -> DBHero
|
||||||
7, // 3: HeroStrengthenUpStarReq.hero:type_name -> CostCardData
|
7, // 3: HeroStrengthenUpStarReq.hero:type_name -> CostCardData
|
||||||
7, // 4: HeroStrengthenUpStarReq.heroRace:type_name -> CostCardData
|
7, // 4: HeroStrengthenUpStarReq.heroRace:type_name -> CostCardData
|
||||||
25, // 5: HeroStrengthenUpStarResp.hero:type_name -> DBHero
|
27, // 5: HeroStrengthenUpStarResp.hero:type_name -> DBHero
|
||||||
25, // 6: HeroStrengthenUpSkillResp.hero:type_name -> DBHero
|
27, // 6: HeroStrengthenUpSkillResp.hero:type_name -> DBHero
|
||||||
25, // 7: HeroResonanceResp.hero:type_name -> DBHero
|
27, // 7: HeroResonanceResp.hero:type_name -> DBHero
|
||||||
25, // 8: HeroResonanceResp.upStarCard:type_name -> DBHero
|
27, // 8: HeroResonanceResp.upStarCard:type_name -> DBHero
|
||||||
25, // 9: HeroResonanceResetResp.hero:type_name -> DBHero
|
27, // 9: HeroResonanceResetResp.hero:type_name -> DBHero
|
||||||
25, // 10: HeroResonanceUseEnergyResp.hero:type_name -> DBHero
|
27, // 10: HeroResonanceUseEnergyResp.hero:type_name -> DBHero
|
||||||
25, // 11: HeroAwakenResp.hero:type_name -> DBHero
|
27, // 11: HeroAwakenResp.hero:type_name -> DBHero
|
||||||
25, // 12: HeroChoukaResp.heroes:type_name -> DBHero
|
27, // 12: HeroChoukaResp.heroes:type_name -> DBHero
|
||||||
23, // 13: HeroProperty.property:type_name -> HeroProperty.PropertyEntry
|
25, // 13: HeroProperty.property:type_name -> HeroProperty.PropertyEntry
|
||||||
24, // 14: HeroProperty.addProperty:type_name -> HeroProperty.AddPropertyEntry
|
26, // 14: HeroProperty.addProperty:type_name -> HeroProperty.AddPropertyEntry
|
||||||
15, // [15:15] is the sub-list for method output_type
|
27, // 15: HeroLockResp.hero:type_name -> DBHero
|
||||||
15, // [15:15] is the sub-list for method input_type
|
16, // [16:16] is the sub-list for method output_type
|
||||||
15, // [15:15] is the sub-list for extension type_name
|
16, // [16:16] is the sub-list for method input_type
|
||||||
15, // [15:15] is the sub-list for extension extendee
|
16, // [16:16] is the sub-list for extension type_name
|
||||||
0, // [0:15] is the sub-list for field type_name
|
16, // [16:16] is the sub-list for extension extendee
|
||||||
|
0, // [0:16] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_hero_hero_msg_proto_init() }
|
func init() { file_hero_hero_msg_proto_init() }
|
||||||
@ -1693,6 +1798,30 @@ func file_hero_hero_msg_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
file_hero_hero_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*HeroLockReq); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_hero_hero_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*HeroLockResp); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
type x struct{}
|
type x struct{}
|
||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
@ -1700,7 +1829,7 @@ func file_hero_hero_msg_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_hero_hero_msg_proto_rawDesc,
|
RawDescriptor: file_hero_hero_msg_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 25,
|
NumMessages: 27,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
@ -65,8 +65,12 @@ enum ErrorCode {
|
|||||||
HeroCreate = 1310; // 创建卡失败
|
HeroCreate = 1310; // 创建卡失败
|
||||||
HeroEquipUpdate = 1311; // 更新装备失败
|
HeroEquipUpdate = 1311; // 更新装备失败
|
||||||
HeroMaxAwaken = 1312; // 达到最大觉醒等级
|
HeroMaxAwaken = 1312; // 达到最大觉醒等级
|
||||||
|
HeroIsLock = 1313; // 英雄被锁定不能被消耗
|
||||||
|
|
||||||
// equipment
|
// equipment
|
||||||
EquipmentOnFoundEquipment = 1400; // 未找到武器
|
EquipmentOnFoundEquipment = 1400; // 未找到武器
|
||||||
EquipmentLvlimitReached = 1401; // 武器等级已达上限
|
EquipmentLvlimitReached = 1401; // 武器等级已达上限
|
||||||
|
// mainStory
|
||||||
|
StoryNotFindChapter = 1500; // 没有找到主线关卡信息
|
||||||
|
StoryIDFailed = 1501; // 关卡ID 错误
|
||||||
}
|
}
|
@ -114,4 +114,14 @@ message HeroProperty {
|
|||||||
string heroId = 1; //英雄唯一ID
|
string heroId = 1; //英雄唯一ID
|
||||||
map<string, int32> property = 2; //基础属性
|
map<string, int32> property = 2; //基础属性
|
||||||
map<string, int32> addProperty = 3; //附加属性
|
map<string, int32> addProperty = 3; //附加属性
|
||||||
|
}
|
||||||
|
|
||||||
|
// 英雄锁定
|
||||||
|
message HeroLockReq{
|
||||||
|
string heroid = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 英雄锁定返回
|
||||||
|
message HeroLockResp{
|
||||||
|
DBHero hero = 1; // 英雄对象
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user