This commit is contained in:
meixiongfeng 2022-07-05 12:03:56 +08:00
parent 88ce5e924a
commit 42f6168644
7 changed files with 37 additions and 34 deletions

View File

@ -25,7 +25,7 @@ type ISC_GateRouteComp interface {
const ( const (
AttrType = "attr" //用户属性资源 例如货币 经验 之类的 AttrType = "attr" //用户属性资源 例如货币 经验 之类的
ItemType = "item" //道具物品资源 ItemType = "item" //道具物品资源
CardType = "card" //卡片资源 例如英雄卡,检验卡 HeroType = "hero" //卡片资源 例如英雄卡,检验卡
EquipmentType = "equi" //武器资源 EquipmentType = "equi" //武器资源
) )

View File

@ -26,16 +26,16 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c
awakenData *cfg.Game_heroAwakenData awakenData *cfg.Game_heroAwakenData
) )
_hero, err := this.module.GetHero(session.GetUserId(), req.HeroObjID) _hero, err := this.module.GetHero(session.GetUserId(), req.HeroObjID)
if err != pb.ErrorCode_Success {
code = pb.ErrorCode_HeroNoExist
return
}
defer func() { defer func() {
if code == pb.ErrorCode_Success { if code == pb.ErrorCode_Success {
session.SendMsg(string(this.module.GetType()), StrengthenUplv, &pb.HeroAwakenResp{Hero: _hero}) session.SendMsg(string(this.module.GetType()), StrengthenUplv, &pb.HeroAwakenResp{Hero: _hero})
} }
}() }()
if err != pb.ErrorCode_Success {
code = pb.ErrorCode_HeroNoExist
return
}
code = this.AwakenCheck(session, req) // check code = this.AwakenCheck(session, req) // check
if code != pb.ErrorCode_Success { if code != pb.ErrorCode_Success {
return return
@ -52,15 +52,11 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c
} }
} }
if awakenData == nil { if awakenData == nil {
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_HeroMaxAwaken // 达到最大觉醒等级
return return
} }
if _hero == nil || awakenData == nil { if len(awakenData.Phasebonus) < 2 { // 配置校验
code = pb.ErrorCode_HeroNoExist
return
}
if len(awakenData.Phasebonus) < 2 {
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return return
} }

View File

@ -22,14 +22,15 @@ func (this *apiComp) ResonanceCheck(session comm.IUserSession, req *pb.HeroReson
func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceReq) (code pb.ErrorCode, data proto.Message) { func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceReq) (code pb.ErrorCode, data proto.Message) {
_hero, code := this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 _hero, code := this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在
if code != pb.ErrorCode_Success {
return
}
defer func() { defer func() {
if code == pb.ErrorCode_Success { if code == pb.ErrorCode_Success {
session.SendMsg(string(this.module.GetType()), Resonance, &pb.HeroResonanceResp{Hero: _hero}) session.SendMsg(string(this.module.GetType()), Resonance, &pb.HeroResonanceResp{Hero: _hero})
} }
}() }()
if code != pb.ErrorCode_Success {
return
}
code = this.ResonanceCheck(session, req) // check code = this.ResonanceCheck(session, req) // check
if code != pb.ErrorCode_Success { if code != pb.ErrorCode_Success {
return return
@ -48,14 +49,14 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return return
} }
if resonConfig.Maxnum >= _hero.ResonateNum { if resonConfig.Maxnum <= _hero.ResonateNum {
code = pb.ErrorCode_HeroMaxResonate // 共鸣次数已满 code = pb.ErrorCode_HeroMaxResonate // 共鸣次数已满
return return
} }
// 消耗英雄的配置id // 消耗英雄的配置id
for _, v := range resonConfig.Need { for _, v := range resonConfig.Need {
if v.A == "hero" && v.T == strconv.Itoa(int(_costHero.HeroID)) { if v.A == comm.HeroType && v.T == strconv.Itoa(int(_costHero.HeroID)) {
if req.Amount != v.N { if req.Amount != v.N {
code = pb.ErrorCode_HeroNoEnough // 消耗数量不对应 code = pb.ErrorCode_HeroNoEnough // 消耗数量不对应
return return
@ -81,7 +82,8 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR
} }
_heroMap := map[string]interface{}{ _heroMap := map[string]interface{}{
"resonateNum": _hero.ResonateNum + resonConfig.Energy, "resonateNum": _hero.ResonateNum + 1,
"distributionResonate": _hero.DistributionResonate + resonConfig.Energy,
} }
err1 = this.module.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息 err1 = this.module.modelHero.modifyHeroData(session.GetUserId(), req.HeroObjID, _heroMap) // 修改英雄信息
if err1 != nil { if err1 != nil {

View File

@ -77,11 +77,11 @@ func (this *modelMail) Mail_ReadOneMail(objId string) (mail *pb.DBMailData, err
// 查询附件信息 // 查询附件信息
func (this *modelMail) Mail_GetMailAttachment(objId string) (itmes []*pb.UserAssets, err error) { func (this *modelMail) Mail_GetMailAttachment(objId string) (itmes []*pb.UserAssets, err error) {
obj := this.DB.FindOne(DB_MailTable, bson.M{"_id": objId})
var nd *pb.DBMailData var nd *pb.DBMailData
err = obj.Decode(&nd) err = this.DB.FindOne(DB_MailTable, bson.M{"_id": objId}).Decode(&nd)
itmes = nd.GetItems() if err == nil {
itmes = nd.GetItems()
}
return itmes, err return itmes, err
} }

View File

@ -152,7 +152,7 @@ func (this *ModuleBase) CheckConsumeRes(uid string, res []*cfg.Game_atn) (code p
code = pb.ErrorCode_ResNoEnough code = pb.ErrorCode_ResNoEnough
return return
} }
} else if v.A == comm.CardType { //卡片资源 } else if v.A == comm.HeroType { //卡片资源
if resID, err = strconv.Atoi(v.T); err != nil { if resID, err = strconv.Atoi(v.T); err != nil {
code = pb.ErrorCode_ConfigurationException code = pb.ErrorCode_ConfigurationException
return return
@ -181,7 +181,7 @@ func (this *ModuleBase) CheckConsumeRes(uid string, res []*cfg.Game_atn) (code p
} else if v.A == comm.ItemType { //道具资源 } else if v.A == comm.ItemType { //道具资源
resID, _ = strconv.Atoi(v.T) resID, _ = strconv.Atoi(v.T)
this.ModuleItems.AddItem(source, uid, int32(resID), -1*v.N) this.ModuleItems.AddItem(source, uid, int32(resID), -1*v.N)
} else if v.A == comm.CardType { //卡片资源 } else if v.A == comm.HeroType { //卡片资源
resID, _ = strconv.Atoi(v.T) resID, _ = strconv.Atoi(v.T)
this.ModuleHero.ConsumeCard(uid, int32(resID), -1*v.N) this.ModuleHero.ConsumeCard(uid, int32(resID), -1*v.N)
} }
@ -210,7 +210,7 @@ func (this *ModuleBase) DispenseRes(uid string, res []*cfg.Game_atn) (code pb.Er
} else if v.A == comm.ItemType { //道具资源 } else if v.A == comm.ItemType { //道具资源
resID, _ = strconv.Atoi(v.T) resID, _ = strconv.Atoi(v.T)
this.ModuleItems.AddItem(source, uid, int32(resID), v.N) this.ModuleItems.AddItem(source, uid, int32(resID), v.N)
} else if v.A == comm.CardType { //卡片资源 } else if v.A == comm.HeroType { //卡片资源
resID, _ = strconv.Atoi(v.T) resID, _ = strconv.Atoi(v.T)
this.ModuleHero.ConsumeCard(uid, int32(resID), v.N) this.ModuleHero.ConsumeCard(uid, int32(resID), v.N)
} else if v.A == comm.EquipmentType { } else if v.A == comm.EquipmentType {

View File

@ -80,7 +80,8 @@ const (
ErrorCode_HeroNotNeedResonate ErrorCode = 1308 // 不需要重置共鸣 ErrorCode_HeroNotNeedResonate ErrorCode = 1308 // 不需要重置共鸣
ErrorCode_HeroNoEnergy ErrorCode = 1309 // 没有能量点数 ErrorCode_HeroNoEnergy ErrorCode = 1309 // 没有能量点数
ErrorCode_HeroCreate ErrorCode = 1310 // 创建卡失败 ErrorCode_HeroCreate ErrorCode = 1310 // 创建卡失败
ErrorCode_HeroEquipUpdate ErrorCode = 1311 //更新装备失败 ErrorCode_HeroEquipUpdate ErrorCode = 1311 // 更新装备失败
ErrorCode_HeroMaxAwaken ErrorCode = 1312 // 达到最大觉醒等级
// equipment // equipment
ErrorCode_EquipmentOnFoundEquipment ErrorCode = 1400 // 未找到武器 ErrorCode_EquipmentOnFoundEquipment ErrorCode = 1400 // 未找到武器
ErrorCode_EquipmentLvlimitReached ErrorCode = 1401 // 武器等级已达上限 ErrorCode_EquipmentLvlimitReached ErrorCode = 1401 // 武器等级已达上限
@ -143,6 +144,7 @@ var (
1309: "HeroNoEnergy", 1309: "HeroNoEnergy",
1310: "HeroCreate", 1310: "HeroCreate",
1311: "HeroEquipUpdate", 1311: "HeroEquipUpdate",
1312: "HeroMaxAwaken",
1400: "EquipmentOnFoundEquipment", 1400: "EquipmentOnFoundEquipment",
1401: "EquipmentLvlimitReached", 1401: "EquipmentLvlimitReached",
} }
@ -201,6 +203,7 @@ var (
"HeroNoEnergy": 1309, "HeroNoEnergy": 1309,
"HeroCreate": 1310, "HeroCreate": 1310,
"HeroEquipUpdate": 1311, "HeroEquipUpdate": 1311,
"HeroMaxAwaken": 1312,
"EquipmentOnFoundEquipment": 1400, "EquipmentOnFoundEquipment": 1400,
"EquipmentLvlimitReached": 1401, "EquipmentLvlimitReached": 1401,
} }
@ -237,7 +240,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, 0x98, 0x09, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x6f, 0x2a, 0xac, 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,
@ -306,12 +309,13 @@ var file_errorcode_proto_rawDesc = []byte{
0x65, 0x10, 0x9c, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x65, 0x10, 0x9c, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e,
0x65, 0x72, 0x67, 0x79, 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x65, 0x72, 0x67, 0x79, 0x10, 0x9d, 0x0a, 0x12, 0x0f, 0x0a, 0x0a, 0x48, 0x65, 0x72, 0x6f, 0x43,
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, 0x1e, 0x45, 0x71, 0x75, 0x69, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x10, 0x9f, 0x0a, 0x12, 0x12,
0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x10,
0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0xa0, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f,
0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10,
0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x42, 0x06, 0x5a, 0x04, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c,
0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a,
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (

View File

@ -63,7 +63,8 @@ enum ErrorCode {
HeroNotNeedResonate = 1308; // HeroNotNeedResonate = 1308; //
HeroNoEnergy = 1309; // HeroNoEnergy = 1309; //
HeroCreate = 1310; // HeroCreate = 1310; //
HeroEquipUpdate = 1311; // HeroEquipUpdate = 1311; //
HeroMaxAwaken = 1312; //
// equipment // equipment
EquipmentOnFoundEquipment = 1400; // EquipmentOnFoundEquipment = 1400; //