上传武器测试纠正代码
This commit is contained in:
parent
69d8663f90
commit
6c58432270
File diff suppressed because it is too large
Load Diff
@ -495,7 +495,7 @@
|
||||
"level": 15,
|
||||
"need": [],
|
||||
"bonus": 4500,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 250,
|
||||
"num": 16
|
||||
},
|
||||
@ -559,7 +559,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 900,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 850,
|
||||
"num": 4
|
||||
},
|
||||
@ -607,7 +607,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 1800,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 700,
|
||||
"num": 7
|
||||
},
|
||||
@ -655,7 +655,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 2700,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 550,
|
||||
"num": 10
|
||||
},
|
||||
@ -703,7 +703,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 3600,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 400,
|
||||
"num": 13
|
||||
},
|
||||
@ -745,7 +745,7 @@
|
||||
"level": 15,
|
||||
"need": [],
|
||||
"bonus": 4500,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 250,
|
||||
"num": 16
|
||||
},
|
||||
@ -809,7 +809,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 900,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 850,
|
||||
"num": 4
|
||||
},
|
||||
@ -857,7 +857,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 1800,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 700,
|
||||
"num": 7
|
||||
},
|
||||
@ -905,7 +905,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 2700,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 550,
|
||||
"num": 10
|
||||
},
|
||||
@ -953,7 +953,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 3600,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 400,
|
||||
"num": 13
|
||||
},
|
||||
@ -995,7 +995,7 @@
|
||||
"level": 15,
|
||||
"need": [],
|
||||
"bonus": 4500,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 250,
|
||||
"num": 16
|
||||
},
|
||||
@ -1059,7 +1059,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 900,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 850,
|
||||
"num": 4
|
||||
},
|
||||
@ -1107,7 +1107,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 1800,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 700,
|
||||
"num": 7
|
||||
},
|
||||
@ -1155,7 +1155,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 2700,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 550,
|
||||
"num": 10
|
||||
},
|
||||
@ -1203,7 +1203,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 3600,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 400,
|
||||
"num": 13
|
||||
},
|
||||
@ -1245,7 +1245,7 @@
|
||||
"level": 15,
|
||||
"need": [],
|
||||
"bonus": 4500,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 250,
|
||||
"num": 16
|
||||
},
|
||||
@ -1309,7 +1309,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 900,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 850,
|
||||
"num": 4
|
||||
},
|
||||
@ -1357,7 +1357,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 1800,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 700,
|
||||
"num": 7
|
||||
},
|
||||
@ -1405,7 +1405,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 2700,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 550,
|
||||
"num": 10
|
||||
},
|
||||
@ -1453,7 +1453,7 @@
|
||||
}
|
||||
],
|
||||
"bonus": 3600,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 400,
|
||||
"num": 13
|
||||
},
|
||||
@ -1495,7 +1495,7 @@
|
||||
"level": 15,
|
||||
"need": [],
|
||||
"bonus": 4500,
|
||||
"activation": false,
|
||||
"activation": true,
|
||||
"probability": 250,
|
||||
"num": 16
|
||||
}
|
||||
|
@ -59,10 +59,10 @@ type (
|
||||
//武器模块
|
||||
IEquipment interface {
|
||||
//查询服务资源数量 db id
|
||||
QueryEquipment(source *ModuleCallSource, uid string, Id int32) (equipment pb.DB_Equipment, code pb.ErrorCode)
|
||||
QueryEquipment(source *ModuleCallSource, uid string, Id string) (equipment *pb.DB_Equipment, code pb.ErrorCode)
|
||||
//查询服务资源数量 参数武器配置id
|
||||
QueryEquipmentAmount(source *ModuleCallSource, uid string, equipmentId int32) (amount uint32)
|
||||
//新加武器
|
||||
AddNewEquipments(source *ModuleCallSource, uid string, eid int, add int32) (code pb.ErrorCode)
|
||||
//添加新武器
|
||||
AddNewEquipments(source *ModuleCallSource, uid string, cIds map[int32]uint32) (code pb.ErrorCode)
|
||||
}
|
||||
)
|
||||
|
@ -20,7 +20,7 @@ func (this *Api_Comp) Equip_Check(session comm.IUserSession, req *pb.Equipment_E
|
||||
equipments = make([]*pb.DB_Equipment, len(req.EquipmentId))
|
||||
for i, v := range req.EquipmentId {
|
||||
if v != "" {
|
||||
if equipments[i], err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), v); err != nil {
|
||||
if equipments[i], err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), v); err != nil {
|
||||
log.Errorf("Equip_Check err:%v", err)
|
||||
code.Code = pb.ErrorCode_EquipmentOnFoundEquipment
|
||||
return
|
||||
@ -68,7 +68,7 @@ func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface
|
||||
for i, v := range hero.EquipID {
|
||||
if v != "" {
|
||||
if equipments[i] != nil && v != equipments[i].Id {
|
||||
if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), v); err != nil {
|
||||
if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), v); err != nil {
|
||||
log.Errorf("Equip reader uid:%s equipment:%s err:%v", session.GetUserId(), v, err)
|
||||
code = pb.ErrorCode_SystemError
|
||||
return
|
||||
@ -77,7 +77,7 @@ func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface
|
||||
equipments[i].HeroId = hero.Id
|
||||
updatequipment = append(updatequipment, equipment, equipments[i])
|
||||
} else if equipments[i] == nil {
|
||||
if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), v); err != nil {
|
||||
if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), v); err != nil {
|
||||
log.Errorf("Equip reader uid:%s equipment:%s err:%v", session.GetUserId(), v, err)
|
||||
code = pb.ErrorCode_SystemError
|
||||
return
|
||||
@ -100,7 +100,7 @@ func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface
|
||||
}
|
||||
}
|
||||
if code = this.module.hero.UpdateEquipment(hero, equipments); code == pb.ErrorCode_Success {
|
||||
if err = this.module.model_equipment_comp.Equipment_UpdateIsEquip(session.GetUserId(), updatequipment...); err != nil {
|
||||
if err = this.module.model_equipment_comp.Equipment_UpdateByHeroId(session.GetUserId(), updatequipment...); err != nil {
|
||||
log.Errorf("Equip err%v", err)
|
||||
code = pb.ErrorCode_SystemError
|
||||
return
|
||||
|
@ -23,7 +23,7 @@ func (this *Api_Comp) Getlist(session comm.IUserSession, agrs map[string]interfa
|
||||
session.SendMsg(string(this.module.GetType()), "", &pb.Equipment_GetList_Resp{Equipments: items})
|
||||
}
|
||||
}()
|
||||
if items, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPack(session.GetUserId()); err != nil {
|
||||
if items, err = this.module.model_equipment_comp.Equipment_QueryUserEquipments(session.GetUserId()); err != nil {
|
||||
log.Errorf("QueryUserPackReq err:%v", err)
|
||||
code = pb.ErrorCode_CacheReadError
|
||||
return
|
||||
|
@ -24,7 +24,7 @@ func (this *Api_Comp) Upgrade_Check(session comm.IUserSession, req *pb.Equipment
|
||||
code.Code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), req.EquipmentId); err != nil {
|
||||
if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), req.EquipmentId); err != nil {
|
||||
log.Errorf("Equip_Check err:%v", err)
|
||||
code.Code = pb.ErrorCode_EquipmentOnFoundEquipment
|
||||
return
|
||||
@ -35,7 +35,7 @@ func (this *Api_Comp) Upgrade_Check(session comm.IUserSession, req *pb.Equipment
|
||||
return
|
||||
}
|
||||
//找到下一个等级的相关配置
|
||||
if intensify, err = this.module.configure_comp.GetEquipmentIntensifyConfigureById(equipment.Lv + 1); err != nil {
|
||||
if intensify, err = this.module.configure_comp.GetEquipmentIntensifyConfigureById(equipment.Lv); err != nil {
|
||||
log.Errorf("Equip_Check err:%v", err)
|
||||
code.Code = pb.ErrorCode_EquipmentLvlimitReached
|
||||
return
|
||||
@ -97,7 +97,11 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa
|
||||
equipment.Id = primitive.NewObjectID().Hex()
|
||||
equipment.IsInitialState = false
|
||||
equipment.OverlayNum = 1
|
||||
equipment.Lv++
|
||||
if err = this.module.model_equipment_comp.upgradeEquipment(equipment, conf, intensify); err != nil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
log.Errorf("Upgrade err:%v", err)
|
||||
return
|
||||
}
|
||||
if err = this.module.model_equipment_comp.AddList(session.GetUserId(), equipment.Id, equipment); err != nil {
|
||||
log.Errorf("Upgrade err:%v", err)
|
||||
code = pb.ErrorCode_SystemError
|
||||
@ -105,9 +109,15 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa
|
||||
}
|
||||
} else {
|
||||
equipment.IsInitialState = false
|
||||
equipment.Lv++
|
||||
if err = this.module.model_equipment_comp.upgradeEquipment(equipment, conf, intensify); err != nil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
log.Errorf("Upgrade err:%v", err)
|
||||
return
|
||||
}
|
||||
if err = this.module.model_equipment_comp.ChangeList(session.GetUserId(), equipment.Id, map[string]interface{}{
|
||||
"lv": equipment.Lv,
|
||||
"mainEntry": equipment.MainEntry,
|
||||
"adverbEntry": equipment.AdverbEntry,
|
||||
"isInitialState": false,
|
||||
}); err != nil {
|
||||
log.Errorf("Upgrade err:%v", err)
|
||||
@ -126,7 +136,7 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa
|
||||
for i, v := range hero.EquipID {
|
||||
if v != "" {
|
||||
if v != equipment.Id {
|
||||
if equipments[i], err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), v); err != nil {
|
||||
if equipments[i], err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), v); err != nil {
|
||||
log.Errorf("Upgrade err:%v", err)
|
||||
code = pb.ErrorCode_EquipmentOnFoundEquipment
|
||||
return
|
||||
|
@ -6,13 +6,14 @@ import (
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
)
|
||||
|
||||
const (
|
||||
game_equip = "game_equip.json" //装备信息表
|
||||
equip_attrlibrary = "equip_attrlibrary.json" //装备属性配置表
|
||||
equip_intensify = "equip_intensify.json" //装备等级消耗表
|
||||
equip_suit = "equip_suit.json" //装备套装表
|
||||
game_equip = "game_equip.json" //装备信息表
|
||||
equip_attrlibrary = "game_equipattrlibrary.json" //装备属性配置表
|
||||
equip_intensify = "game_equipintensify.json" //装备等级消耗表
|
||||
equip_suit = "game_equipsuit.json" //装备套装表
|
||||
)
|
||||
|
||||
///背包配置管理组件
|
||||
@ -35,10 +36,12 @@ func (this *Configure_Comp) GetEquipmentConfigure() (configure *cfg.Game_equip,
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(game_equip); err != nil {
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_equip); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -52,10 +55,12 @@ func (this *Configure_Comp) GetEquipmentConfigureById(equipmentId int32) (config
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(game_equip); err != nil {
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_equip).GetDataMap()[equipmentId]; !ok {
|
||||
err = fmt.Errorf("EquipmentConfigure not found:%d ", equipmentId)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -69,10 +74,31 @@ func (this *Configure_Comp) GetEquipmentAttrlibraryConfigure() (configure *cfg.G
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(equip_attrlibrary); err != nil {
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_equipAttrlibrary); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//获取属性词列表
|
||||
func (this *Configure_Comp) GetEquipmentAttrlibraryConfigureByKey(key int32) (configure *cfg.Game_equipAttrlibraryData, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(equip_attrlibrary); err != nil {
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_equipAttrlibrary).GetDataMap()[key]; !ok {
|
||||
err = fmt.Errorf("EquipmentConfigure GetEquipmentAttrlibraryConfigureByKey not found:%d ", key)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -85,6 +111,7 @@ func (this *Configure_Comp) GetEquipmentAttrlibraryConfigureById(Id int32) (conf
|
||||
v interface{}
|
||||
)
|
||||
if v, err = this.GetConfigure(equip_attrlibrary); err != nil {
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
} else {
|
||||
configure = make([]*cfg.Game_equipAttrlibraryData, 0)
|
||||
@ -104,10 +131,12 @@ func (this *Configure_Comp) GetEquipmentIntensifyConfigure() (configure *cfg.Gam
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(equip_intensify); err != nil {
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_equipIntensify); !ok {
|
||||
err = fmt.Errorf("%T no is *cfg.Game_equipment", v)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -121,10 +150,12 @@ func (this *Configure_Comp) GetEquipmentIntensifyConfigureById(Id int32) (config
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(equip_intensify); err != nil {
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
} else {
|
||||
if configure, ok = v.(*cfg.Game_equipIntensify).GetDataMap()[Id]; !ok {
|
||||
err = fmt.Errorf("EquipmentConfigure not found:%d ", Id)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
@ -33,21 +33,39 @@ func (this *Model_Equipment_Comp) Init(service core.IService, module core.IModul
|
||||
}
|
||||
|
||||
//查询用户装备数据
|
||||
func (this *Model_Equipment_Comp) Equipment_QueryUserEquipmentsPackById(uId, id string) (equipment *pb.DB_Equipment, err error) {
|
||||
func (this *Model_Equipment_Comp) Equipment_QueryUserEquipmentsById(uId, id string) (equipment *pb.DB_Equipment, err error) {
|
||||
equipment = &pb.DB_Equipment{}
|
||||
err = this.GetListObj(uId, id, equipment)
|
||||
return
|
||||
}
|
||||
|
||||
///查询用户的武器背包
|
||||
func (this *Model_Equipment_Comp) Equipment_QueryUserEquipmentsPack(uId string) (equipments []*pb.DB_Equipment, err error) {
|
||||
func (this *Model_Equipment_Comp) Equipment_QueryUserEquipments(uId string) (equipments []*pb.DB_Equipment, err error) {
|
||||
equipments = make([]*pb.DB_Equipment, 0)
|
||||
err = this.GetList(uId, &equipments)
|
||||
return
|
||||
}
|
||||
|
||||
///查询目标卡片数量
|
||||
func (this *Model_Equipment_Comp) QueryEquipmentAmount(uid string, equipmentId int32) (amount uint32) {
|
||||
var (
|
||||
equipments []*pb.DB_Equipment
|
||||
err error
|
||||
)
|
||||
amount = 0
|
||||
if equipments, err = this.Equipment_QueryUserEquipments(uid); err != nil {
|
||||
return
|
||||
}
|
||||
for _, v := range equipments {
|
||||
if v.CId == equipmentId {
|
||||
amount += v.OverlayNum
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//添加装备
|
||||
func (this *Model_Equipment_Comp) Equipment_AddEquipmentsToPack(uId string, cIds map[int32]uint32) (err error) {
|
||||
func (this *Model_Equipment_Comp) Equipment_AddEquipments(uId string, cIds map[int32]uint32) (err error) {
|
||||
var (
|
||||
configure *cfg.Game_equip
|
||||
equipments []*pb.DB_Equipment
|
||||
@ -58,7 +76,7 @@ func (this *Model_Equipment_Comp) Equipment_AddEquipmentsToPack(uId string, cIds
|
||||
if configure, err = this.module.configure_comp.GetEquipmentConfigure(); err != nil {
|
||||
return
|
||||
}
|
||||
if equipments, err = this.Equipment_QueryUserEquipmentsPack(uId); err != nil {
|
||||
if equipments, err = this.Equipment_QueryUserEquipments(uId); err != nil {
|
||||
return
|
||||
}
|
||||
add = make(map[string]*pb.DB_Equipment)
|
||||
@ -84,24 +102,25 @@ func (this *Model_Equipment_Comp) Equipment_AddEquipmentsToPack(uId string, cIds
|
||||
}
|
||||
}
|
||||
if err = this.AddLists(uId, add); err != nil {
|
||||
log.Errorf("[Equipment] Equipment_AddEquipmentsToPack err:%v", err)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
for _, v := range update {
|
||||
if err = this.ChangeList(uId, v.Id, map[string]interface{}{"overlayNum": v.OverlayNum}); err != nil {
|
||||
log.Errorf("[Equipment] Equipment_AddEquipmentsToPack err:%v", err)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *Model_Equipment_Comp) Equipment_UpdateIsEquip(uid string, equipments ...*pb.DB_Equipment) (err error) {
|
||||
//更新武器挂载信息
|
||||
func (this *Model_Equipment_Comp) Equipment_UpdateByHeroId(uid string, equipments ...*pb.DB_Equipment) (err error) {
|
||||
for _, v := range equipments {
|
||||
if err = this.ChangeList(uid, v.Id, map[string]interface{}{
|
||||
"heroId": v.HeroId,
|
||||
}); err != nil {
|
||||
log.Errorf("Equipment_UpdateIsEquip err:%v", err)
|
||||
log.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -119,10 +138,11 @@ func (this *Model_Equipment_Comp) newEquipment(uid string, conf *cfg.Game_equipD
|
||||
equipment = &pb.DB_Equipment{
|
||||
Id: primitive.NewObjectID().Hex(),
|
||||
CId: conf.Id,
|
||||
Lv: 1,
|
||||
UId: uid,
|
||||
OverlayNum: num,
|
||||
IsInitialState: true,
|
||||
AdverbEntry: make([]*pb.EquipmentAttributeEntry, 4),
|
||||
AdverbEntry: make([]*pb.EquipmentAttributeEntry, 0),
|
||||
}
|
||||
if mattr, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureById(conf.Leadlibrary); err != nil || len(mattr) == 0 {
|
||||
return
|
||||
@ -130,9 +150,9 @@ func (this *Model_Equipment_Comp) newEquipment(uid string, conf *cfg.Game_equipD
|
||||
equipment.MainEntry = &pb.EquipmentAttributeEntry{
|
||||
Id: mattr[0].Key,
|
||||
Libraryid: mattr[0].Libraryid,
|
||||
Lv: 0,
|
||||
AttrName: mattr[0].Attr[0],
|
||||
Value: 0,
|
||||
Lv: 1,
|
||||
AttrName: mattr[0].Attrkey,
|
||||
Value: mattr[0].Attrvar,
|
||||
}
|
||||
if sattr, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureById(conf.Addlibrary); err != nil || len(mattr) == 0 {
|
||||
return
|
||||
@ -148,18 +168,67 @@ func (this *Model_Equipment_Comp) newEquipment(uid string, conf *cfg.Game_equipD
|
||||
break
|
||||
}
|
||||
}
|
||||
if satterNum > 0 {
|
||||
if satterNum > 0 && satterNum <= 4 {
|
||||
r := rand.New(rand.NewSource(time.Now().Unix()))
|
||||
for i, v := range r.Perm(len(sattr))[:satterNum] {
|
||||
equipment.AdverbEntry[i] = &pb.EquipmentAttributeEntry{
|
||||
for _, v := range r.Perm(len(sattr))[:satterNum] {
|
||||
equipment.AdverbEntry = append(equipment.AdverbEntry, &pb.EquipmentAttributeEntry{
|
||||
Id: sattr[v].Key,
|
||||
Libraryid: sattr[v].Libraryid,
|
||||
Lv: 0,
|
||||
AttrName: sattr[v].Attr[0],
|
||||
Value: 0,
|
||||
}
|
||||
Lv: 1,
|
||||
AttrName: sattr[v].Attrkey,
|
||||
Value: sattr[v].Attrvar,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
//升级武器
|
||||
func (this *Model_Equipment_Comp) upgradeEquipment(equipment *pb.DB_Equipment, equip *cfg.Game_equipData, intensify *cfg.Game_equipIntensifyData) (err error) {
|
||||
equipment.Lv++
|
||||
equipment.MainEntry.Lv++
|
||||
equipment.MainEntry.Value += equipment.MainEntry.Value * (intensify.Bonus / 1000.0)
|
||||
if !intensify.Activation { //不触发副词条变化
|
||||
return
|
||||
}
|
||||
if len(equipment.AdverbEntry) < 4 { //去随机副词条
|
||||
var temp []*cfg.Game_equipAttrlibraryData
|
||||
var sattr []*cfg.Game_equipAttrlibraryData
|
||||
if temp, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureById(equip.Addlibrary); err != nil || len(temp) == 0 {
|
||||
log.Errorf("升级服务错误 读取副词条配置错误!")
|
||||
return
|
||||
}
|
||||
//检索出未使用的词条
|
||||
for _, v := range sattr {
|
||||
iskeep := false
|
||||
for _, v1 := range equipment.AdverbEntry {
|
||||
if v.Key == v1.Id {
|
||||
iskeep = true
|
||||
}
|
||||
}
|
||||
if !iskeep {
|
||||
sattr = append(sattr, v)
|
||||
}
|
||||
}
|
||||
r := rand.New(rand.NewSource(time.Now().Unix()))
|
||||
index := r.Perm(len(sattr))[0]
|
||||
equipment.AdverbEntry = append(equipment.AdverbEntry, &pb.EquipmentAttributeEntry{
|
||||
Id: sattr[index].Key,
|
||||
Libraryid: sattr[index].Libraryid,
|
||||
Lv: 1,
|
||||
AttrName: sattr[index].Attrkey,
|
||||
Value: sattr[index].Attrvar,
|
||||
})
|
||||
} else { //随机一个副词条 强化
|
||||
var attrlibrary *cfg.Game_equipAttrlibraryData
|
||||
r := rand.New(rand.NewSource(time.Now().Unix()))
|
||||
index := r.Perm(len(equipment.AdverbEntry))[0]
|
||||
|
||||
if attrlibrary, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureByKey(equipment.AdverbEntry[index].Id); err != nil {
|
||||
return
|
||||
}
|
||||
equipment.AdverbEntry[index].Value += attrlibrary.Addition[equipment.AdverbEntry[index].Lv-1] / 1000.0 * attrlibrary.Attrvar
|
||||
equipment.AdverbEntry[index].Lv++
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -4,7 +4,9 @@ import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
"github.com/smallnest/rpcx/log"
|
||||
)
|
||||
|
||||
@ -58,3 +60,33 @@ func (this *Equipment) OnInstallComp() {
|
||||
this.model_equipment_comp = this.RegisterComp(new(Model_Equipment_Comp)).(*Model_Equipment_Comp)
|
||||
this.configure_comp = this.RegisterComp(new(Configure_Comp)).(*Configure_Comp)
|
||||
}
|
||||
|
||||
//IEquipment-------------------------------------------------------------------------------------------------------------------------------
|
||||
//查询武器信息
|
||||
func (this *Equipment) QueryEquipment(source *comm.ModuleCallSource, uid string, Id string) (equipment *pb.DB_Equipment, code pb.ErrorCode) {
|
||||
var err error
|
||||
if equipment, err = this.model_equipment_comp.Equipment_QueryUserEquipmentsById(uid, Id); err != nil {
|
||||
if err == redis.Nil {
|
||||
code = pb.ErrorCode_EquipmentOnFoundEquipment
|
||||
} else {
|
||||
code = pb.ErrorCode_SystemError
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//查询卡片数量
|
||||
func (this *Equipment) QueryEquipmentAmount(source *comm.ModuleCallSource, uid string, equipmentId int32) (amount uint32) {
|
||||
amount = this.model_equipment_comp.QueryEquipmentAmount(uid, equipmentId)
|
||||
return
|
||||
}
|
||||
|
||||
//添加武器
|
||||
func (this *Equipment) AddNewEquipments(source *comm.ModuleCallSource, uid string, cIds map[int32]uint32) (code pb.ErrorCode) {
|
||||
var err error
|
||||
if err = this.model_equipment_comp.Equipment_AddEquipments(uid, cIds); err != nil {
|
||||
log.Errorf("err%v", err)
|
||||
code = pb.ErrorCode_SystemError
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import (
|
||||
"go_dreamfactory/lego/base/rpcx"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/lego/sys/log"
|
||||
"go_dreamfactory/modules/hero"
|
||||
"go_dreamfactory/services"
|
||||
"go_dreamfactory/sys/cache"
|
||||
"go_dreamfactory/sys/configure"
|
||||
@ -40,7 +41,7 @@ func (this *TestService) InitSys() {
|
||||
} else {
|
||||
log.Infof("init sys.db success!")
|
||||
}
|
||||
if err := configure.OnInit(this.GetSettings().Sys["configure"]); err != nil {
|
||||
if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("F:/work/go/go_dreamfactory/bin/json")); err != nil {
|
||||
panic(fmt.Sprintf("init sys.configure err: %s", err.Error()))
|
||||
} else {
|
||||
log.Infof("init sys.configure success!")
|
||||
@ -63,6 +64,7 @@ func TestMain(m *testing.M) {
|
||||
go func() {
|
||||
lego.Run(service, //运行模块
|
||||
module,
|
||||
hero.NewModule(),
|
||||
)
|
||||
}()
|
||||
time.Sleep(time.Second * 3)
|
||||
@ -70,5 +72,10 @@ func TestMain(m *testing.M) {
|
||||
}
|
||||
|
||||
func Test_Module(t *testing.T) {
|
||||
|
||||
code := module.AddNewEquipments(&comm.ModuleCallSource{
|
||||
Module: "Test",
|
||||
FuncName: "Test_Module",
|
||||
Describe: "摸底测试",
|
||||
}, "0_62b16dda909b2f8faeff788d", map[int32]uint32{10001: 1})
|
||||
log.Debugf("Test_Module Code:%d", code)
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ func (this *Items) OnInstallComp() {
|
||||
this.configure_comp = this.RegisterComp(new(Configure_Comp)).(*Configure_Comp)
|
||||
}
|
||||
|
||||
//IPack-------------------------------------------------------------------------------------------------------------------------------
|
||||
//IItems-------------------------------------------------------------------------------------------------------------------------------
|
||||
///查询用户背包物品数量
|
||||
func (this *Items) QueryItemAmount(source *comm.ModuleCallSource, uId string, itemid int32) (amount uint32) {
|
||||
defer log.Debugf("获取物品 uId:%s itemid:%d addnum:%d ", uId, itemid, amount)
|
||||
|
@ -294,6 +294,9 @@ func (this *Model_Comp) GetList(uid string, data interface{}) (err error) {
|
||||
}
|
||||
temp[_id] = elem.Elem().Addr().Interface()
|
||||
}
|
||||
if len(temp) == 0 { //没有数据自己返回
|
||||
return
|
||||
}
|
||||
for k, v := range temp {
|
||||
key := this.ukeylist(uid, k)
|
||||
if err = this.Redis.HMSet(key, v); err != nil {
|
||||
|
@ -80,36 +80,36 @@ func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Messa
|
||||
//校验消耗资源
|
||||
func (this *ModuleBase) CheckConsumeRes(uid string, res []*cfg.Game_atn) (code pb.ErrorCode) {
|
||||
var (
|
||||
module core.IModule
|
||||
err error
|
||||
resID int
|
||||
amount int32
|
||||
user comm.IUser //用户模块
|
||||
items comm.IItems //道具背包模块
|
||||
hero comm.IHero //英雄模块
|
||||
equipment comm.IEquipment //装备模块
|
||||
module core.IModule
|
||||
err error
|
||||
resID int
|
||||
amount int32
|
||||
user comm.IUser //用户模块
|
||||
items comm.IItems //道具背包模块
|
||||
hero comm.IHero //英雄模块
|
||||
// equipment comm.IEquipment //装备模块
|
||||
)
|
||||
if module, err = this.service.GetModule(comm.SM_UserModule); err == nil {
|
||||
return
|
||||
}
|
||||
user = module.(comm.IUser)
|
||||
if module, err = this.service.GetModule(comm.SM_UserModule); err == nil {
|
||||
if module, err = this.service.GetModule(comm.SM_ItemsModule); err == nil {
|
||||
return
|
||||
}
|
||||
items = module.(comm.IItems)
|
||||
if module, err = this.service.GetModule(comm.SM_UserModule); err == nil {
|
||||
if module, err = this.service.GetModule(comm.SM_HeroModule); err == nil {
|
||||
return
|
||||
}
|
||||
hero = module.(comm.IHero)
|
||||
if module, err = this.service.GetModule(comm.SM_UserModule); err == nil {
|
||||
return
|
||||
}
|
||||
// if module, err = this.service.GetModule(comm.SM_EquipmentModule); err == nil {
|
||||
// return
|
||||
// }
|
||||
// equipment = module.(comm.IEquipment)
|
||||
source := &comm.ModuleCallSource{
|
||||
Module: string(this.module.GetType()),
|
||||
FuncName: "CheckConsumeRes",
|
||||
Describe: "消耗资源",
|
||||
}
|
||||
equipment = module.(comm.IEquipment)
|
||||
//校验消费资源是否充足
|
||||
for _, v := range res {
|
||||
if v.A == comm.AttrType { //用户属性资源
|
||||
@ -135,16 +135,18 @@ func (this *ModuleBase) CheckConsumeRes(uid string, res []*cfg.Game_atn) (code p
|
||||
code = pb.ErrorCode_ResNoEnough
|
||||
return
|
||||
}
|
||||
} else if v.A == comm.EquipmentType {
|
||||
if resID, err = strconv.Atoi(v.T); err != nil {
|
||||
code = pb.ErrorCode_ConfigurationException
|
||||
return
|
||||
}
|
||||
if amount = int32(equipment.QueryEquipmentAmount(source, uid, int32(resID))); amount < v.N {
|
||||
code = pb.ErrorCode_ResNoEnough
|
||||
return
|
||||
}
|
||||
}
|
||||
//不存在消耗武器的情况
|
||||
// } else if v.A == comm.EquipmentType {
|
||||
// if resID, err = strconv.Atoi(v.T); err != nil {
|
||||
// code = pb.ErrorCode_ConfigurationException
|
||||
// return
|
||||
// }
|
||||
// if amount = int32(equipment.QueryEquipmentAmount(source, uid, int32(resID))); amount < v.N {
|
||||
// code = pb.ErrorCode_ResNoEnough
|
||||
// return
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
for _, v := range res {
|
||||
@ -156,10 +158,12 @@ func (this *ModuleBase) CheckConsumeRes(uid string, res []*cfg.Game_atn) (code p
|
||||
} else if v.A == comm.CardType { //卡片资源
|
||||
resID, _ = strconv.Atoi(v.T)
|
||||
hero.AddCard(uid, int32(resID), -1*v.N)
|
||||
} else if v.A == comm.EquipmentType {
|
||||
resID, _ = strconv.Atoi(v.T)
|
||||
equipment.AddNewEquipments(source, uid, resID, -1*v.N)
|
||||
}
|
||||
//不存在消耗武器的情况
|
||||
// } else if v.A == comm.EquipmentType {
|
||||
// resID, _ = strconv.Atoi(v.T)
|
||||
// equipment.AddNewEquipments(source, uid, resID, -1*v.N)
|
||||
// }
|
||||
}
|
||||
|
||||
return
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
@ -11,49 +10,87 @@ package cfg
|
||||
import "errors"
|
||||
|
||||
type Game_equipAttrlibraryData struct {
|
||||
Key int32
|
||||
Libraryid int32
|
||||
Attr []string
|
||||
Probability int32
|
||||
Addition []int32
|
||||
Key int32
|
||||
Libraryid int32
|
||||
Attrkey string
|
||||
Attrvar int32
|
||||
Probability int32
|
||||
Addition []int32
|
||||
}
|
||||
|
||||
func (Game_equipAttrlibraryData) GetTypeId() int {
|
||||
return -437457248
|
||||
return -437457248
|
||||
}
|
||||
|
||||
func NewGame_equipAttrlibraryData(_buf map[string]interface{}) (_v *Game_equipAttrlibraryData, err error) {
|
||||
_v = &Game_equipAttrlibraryData{}
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["libraryid"].(float64); !_ok_ { err = errors.New("libraryid error"); return }; _v.Libraryid = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["attr"].([]interface{}); !_ok_ { err = errors.New("attr error"); return }
|
||||
_v = &Game_equipAttrlibraryData{}
|
||||
{
|
||||
var _ok_ bool
|
||||
var _tempNum_ float64
|
||||
if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ {
|
||||
err = errors.New("key error")
|
||||
return
|
||||
}
|
||||
_v.Key = int32(_tempNum_)
|
||||
}
|
||||
{
|
||||
var _ok_ bool
|
||||
var _tempNum_ float64
|
||||
if _tempNum_, _ok_ = _buf["libraryid"].(float64); !_ok_ {
|
||||
err = errors.New("libraryid error")
|
||||
return
|
||||
}
|
||||
_v.Libraryid = int32(_tempNum_)
|
||||
}
|
||||
{
|
||||
var _ok_ bool
|
||||
if _v.Attrkey, _ok_ = _buf["attrkey"].(string); !_ok_ {
|
||||
err = errors.New("attrkey error")
|
||||
return
|
||||
}
|
||||
}
|
||||
{
|
||||
var _ok_ bool
|
||||
var _tempNum_ float64
|
||||
if _tempNum_, _ok_ = _buf["attrvar"].(float64); !_ok_ {
|
||||
err = errors.New("attrvar error")
|
||||
return
|
||||
}
|
||||
_v.Attrvar = int32(_tempNum_)
|
||||
}
|
||||
{
|
||||
var _ok_ bool
|
||||
var _tempNum_ float64
|
||||
if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ {
|
||||
err = errors.New("probability error")
|
||||
return
|
||||
}
|
||||
_v.Probability = int32(_tempNum_)
|
||||
}
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["Addition"].([]interface{}); !_ok_ {
|
||||
err = errors.New("Addition error")
|
||||
return
|
||||
}
|
||||
|
||||
_v.Attr = make([]string, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ string
|
||||
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
|
||||
_v.Attr = append(_v.Attr, _list_v_)
|
||||
}
|
||||
}
|
||||
_v.Addition = make([]int32, 0, len(_arr_))
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["Addition"].([]interface{}); !_ok_ { err = errors.New("Addition error"); return }
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{
|
||||
var _ok_ bool
|
||||
var _x_ float64
|
||||
if _x_, _ok_ = _e_.(float64); !_ok_ {
|
||||
err = errors.New("_list_v_ error")
|
||||
return
|
||||
}
|
||||
_list_v_ = int32(_x_)
|
||||
}
|
||||
_v.Addition = append(_v.Addition, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
_v.Addition = make([]int32, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ int32
|
||||
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
|
||||
_v.Addition = append(_v.Addition, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user