上传相关接口代码
This commit is contained in:
parent
35c5689bb5
commit
0432e36de4
@ -12,5 +12,12 @@ func CloneEquipment(equipment *pb.DB_Equipment) *pb.DB_Equipment {
|
||||
OverlayNum: equipment.OverlayNum,
|
||||
IsInitialState: equipment.IsInitialState,
|
||||
}
|
||||
temp.MainEntry = &pb.EquipmentAttributeEntry{
|
||||
Id: equipment.MainEntry.Id,
|
||||
Libraryid: equipment.MainEntry.Libraryid,
|
||||
Lv: equipment.MainEntry.Lv,
|
||||
Value: equipment.MainEntry.Value,
|
||||
}
|
||||
|
||||
return temp
|
||||
}
|
||||
|
@ -6,6 +6,8 @@ import (
|
||||
"go_dreamfactory/modules"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"math/rand"
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
@ -109,7 +111,10 @@ func (this *Model_Equipment_Comp) Equipment_UpdateIsEquip(uid string, equipments
|
||||
//创建新的武器对象
|
||||
func (this *Model_Equipment_Comp) newEquipment(uid string, conf *cfg.Game_equipData, num uint32) (equipment *pb.DB_Equipment, err error) {
|
||||
var (
|
||||
mattr []*cfg.Game_equipAttrlibraryData
|
||||
mattr []*cfg.Game_equipAttrlibraryData
|
||||
sattr []*cfg.Game_equipAttrlibraryData
|
||||
total int
|
||||
satterNum int32
|
||||
)
|
||||
equipment = &pb.DB_Equipment{
|
||||
Id: primitive.NewObjectID().Hex(),
|
||||
@ -117,6 +122,7 @@ func (this *Model_Equipment_Comp) newEquipment(uid string, conf *cfg.Game_equipD
|
||||
UId: uid,
|
||||
OverlayNum: num,
|
||||
IsInitialState: true,
|
||||
AdverbEntry: make([]*pb.EquipmentAttributeEntry, 4),
|
||||
}
|
||||
if mattr, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureById(conf.Leadlibrary); err != nil || len(mattr) == 0 {
|
||||
return
|
||||
@ -128,5 +134,32 @@ func (this *Model_Equipment_Comp) newEquipment(uid string, conf *cfg.Game_equipD
|
||||
AttrName: mattr[0].Attr[0],
|
||||
Value: 0,
|
||||
}
|
||||
if sattr, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureById(conf.Addlibrary); err != nil || len(mattr) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
for _, v := range conf.Addattrnump {
|
||||
total += int(v)
|
||||
}
|
||||
n := rand.Intn(total)
|
||||
for i, v := range conf.Addattrnump {
|
||||
if int32(n) <= v {
|
||||
satterNum = conf.Addattrnum[i]
|
||||
break
|
||||
}
|
||||
}
|
||||
if satterNum > 0 {
|
||||
r := rand.New(rand.NewSource(time.Now().Unix()))
|
||||
for i, v := range r.Perm(len(sattr))[:satterNum] {
|
||||
equipment.AdverbEntry[i] = &pb.EquipmentAttributeEntry{
|
||||
Id: sattr[v].Key,
|
||||
Libraryid: sattr[v].Libraryid,
|
||||
Lv: 0,
|
||||
AttrName: sattr[v].Attr[0],
|
||||
Value: 0,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user