上传相关接口代码

This commit is contained in:
liwei1dao 2022-06-27 20:27:36 +08:00
parent 35c5689bb5
commit 0432e36de4
2 changed files with 41 additions and 1 deletions

View File

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

View File

@ -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"
@ -110,6 +112,9 @@ 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
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
}