上传装备gm

This commit is contained in:
liwei1dao 2024-01-17 20:25:21 +08:00
parent e75f8cf4b3
commit 661e5e70d8
2 changed files with 36 additions and 39 deletions

View File

@ -334,16 +334,6 @@ func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData
} }
} }
satterNum = conf.Addattrnum[comm.GetRandW(weight)] satterNum = conf.Addattrnum[comm.GetRandW(weight)]
// for _, v := range weight {
// total += int64(v)
// }
// result, _ := rand.Int(rand.Reader, big.NewInt(total))
// for i, v := range weight {
// if int32(result.Int64()) <= v {
// satterNum = conf.Addattrnum[i]
// break
// }
// }
if satterNum > int32(len(sattr)) { if satterNum > int32(len(sattr)) {
satterNum = int32(len(sattr)) satterNum = int32(len(sattr))
} }
@ -402,11 +392,6 @@ func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData
func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equip *cfg.GameEquipData, intensify *cfg.GameEquipIntensifyData) (err error) { func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equip *cfg.GameEquipData, intensify *cfg.GameEquipIntensifyData) (err error) {
equipment.Lv++ equipment.Lv++
equipment.MainEntry.Lv++ equipment.MainEntry.Lv++
// var mainconfigure *cfg.GameEquipAttrlibrarySData
// if mainconfigure, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(equipment.MainEntry.Id); err != nil {
// this.module.Errorf("升级服务错误 读取主词条配置错误!")
// return
// }
equipment.MainEntry.Value = equipment.MainEntry.BaseValue + int32(math.Floor(float64(equipment.MainEntry.BaseValue*intensify.Bonus)/1000.0)) equipment.MainEntry.Value = equipment.MainEntry.BaseValue + int32(math.Floor(float64(equipment.MainEntry.BaseValue*intensify.Bonus)/1000.0))
if intensify.Activation { //不触发副词条变化 if intensify.Activation { //不触发副词条变化
if len(equipment.AdverbEntry) < 4 { //去随机副词条 if len(equipment.AdverbEntry) < 4 { //去随机副词条
@ -595,38 +580,35 @@ func (this *modelEquipmentComp) newCustomizeEquipment(uid string, eid string, lv
sattr []*cfg.GameEquipAttrlibrarySData sattr []*cfg.GameEquipAttrlibrarySData
equipatt *cfg.GameEquipAttributeData equipatt *cfg.GameEquipAttributeData
intensify *cfg.GameEquipIntensifyData intensify *cfg.GameEquipIntensifyData
maxindex int
satterNum int32 satterNum int32
) )
if conf, err = this.module.configure.GetEquipmentConfigureById(eid); err != nil {
err = fmt.Errorf("no found eid%s", eid)
return
}
if intensify, err = this.module.configure.GetEquipmentIntensifyConfigureById(conf.EquipId, conf.Color, lv); err != nil {
this.module.Errorln(err)
return
}
equipment = &pb.DB_Equipment{ equipment = &pb.DB_Equipment{
Id: primitive.NewObjectID().Hex(), Id: primitive.NewObjectID().Hex(),
CId: eid, CId: eid,
Lv: intensify.Level + 1, Lv: 1,
UId: uid, UId: uid,
OverlayNum: 1, OverlayNum: 1,
IsInitialState: false, IsInitialState: false,
} }
if conf, err = this.module.configure.GetEquipmentConfigureById(eid); err != nil {
err = fmt.Errorf("no found eid%s", eid)
return
}
if mattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(attribute); err != nil { if mattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(attribute); err != nil {
err = fmt.Errorf("no found mattr%d", attribute) err = fmt.Errorf("no found mattr%d", attribute)
this.module.Errorln(err) this.module.Errorln(err)
return return
} }
equipment.MainEntry = &pb.EquipmentAttributeEntry{ equipment.MainEntry = &pb.EquipmentAttributeEntry{
Id: mattr.Key, Id: mattr.Key,
Libraryid: mattr.Libraryid, Libraryid: mattr.Libraryid,
Lv: intensify.Level + 1, Lv: 1,
AttrName: mattr.Attr.A, AttrName: mattr.Attr.A,
Value: mattr.Attr.N, Value: mattr.Attr.N,
BaseValue: mattr.Attr.N, BaseValue: mattr.Attr.N,
} }
equipment.MainEntry.Value = equipment.MainEntry.BaseValue + int32(math.Floor(float64(equipment.MainEntry.BaseValue*intensify.Bonus)/1000.0))
if sattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(conf.Addlibrary); err != nil || len(sattr) == 0 { if sattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(conf.Addlibrary); err != nil || len(sattr) == 0 {
return return
} }
@ -637,31 +619,37 @@ func (this *modelEquipmentComp) newCustomizeEquipment(uid string, eid string, lv
break break
} }
} }
satterNum = int32(len(sattr))
maxindex = 0
for i, v := range conf.Addattrnump {
if v > 0 && i > maxindex {
maxindex = i
}
}
satterNum = conf.Addattrnum[maxindex]
if satterNum > int32(len(sattr)) {
satterNum = int32(len(sattr))
}
if satterNum > 0 && satterNum <= 4 { if satterNum > 0 && satterNum <= 4 {
equipment.Star = satterNum equipment.Star = satterNum
if conf.EquipId == 1 { if conf.EquipId == 1 {
equipment.AdverbEntry = make([]*pb.EquipmentAttributeEntry, 0) equipment.AdverbEntry = make([]*pb.EquipmentAttributeEntry, 0)
for _, v := range comm.RandShuffle(len(sattr))[:satterNum] { for _, v := range comm.RandShuffle(len(sattr))[:satterNum] {
adverbEntry := &pb.EquipmentAttributeEntry{ equipment.AdverbEntry = append(equipment.AdverbEntry, &pb.EquipmentAttributeEntry{
Id: sattr[v].Key, Id: sattr[v].Key,
Libraryid: sattr[v].Libraryid, Libraryid: sattr[v].Libraryid,
Lv: 5, Lv: 1,
AttrName: sattr[v].Attr.A, AttrName: sattr[v].Attr.A,
Value: sattr[v].Attr.N, Value: sattr[v].Attr.N,
BaseValue: sattr[v].Attr.N, BaseValue: sattr[v].Attr.N,
} })
value := adverbEntry.BaseValue + int32(float64(sattr[v].Addition[adverbEntry.Lv-1])/1000.0*float64(adverbEntry.BaseValue))
if adverbEntry.Value < value {
adverbEntry.Value = value
}
equipment.AdverbEntry = append(equipment.AdverbEntry, adverbEntry)
} }
} else { } else {
equipment.Adverbskill = make([]*pb.EquipmentSkillEntry, 0) equipment.Adverbskill = make([]*pb.EquipmentSkillEntry, 0)
for _, v := range comm.RandShuffle(len(sattr))[:satterNum] { for _, v := range comm.RandShuffle(len(sattr))[:satterNum] {
if equipatt, err = this.module.configure.getEquipAttribute(sattr[v].Skill); err != nil { if equipatt, err = this.module.configure.getEquipAttribute(sattr[v].Skill); err != nil { // 看
return return
} }
if equipatt.SkillId == 0 { if equipatt.SkillId == 0 {
@ -673,10 +661,19 @@ func (this *modelEquipmentComp) newCustomizeEquipment(uid string, eid string, lv
Libraryid: sattr[v].Libraryid, Libraryid: sattr[v].Libraryid,
AttrName: sattr[v].Attr.A, AttrName: sattr[v].Attr.A,
SkillId: equipatt.SkillId, SkillId: equipatt.SkillId,
Lv: 5, Lv: 1,
}) })
} }
} }
} }
for i := int32(0); i < lv; i++ {
if intensify, err = this.module.configure.GetEquipmentIntensifyConfigureById(conf.EquipId, conf.Color, equipment.Lv); err != nil {
this.module.Errorln(err)
return
}
if err = this.upgradeEquipment(equipment, conf, intensify); err != nil {
return
}
}
return return
} }

View File

@ -431,7 +431,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (errdata *pb.Er
} }
return return
} }
attribute, err := strconv.Atoi(datas[2]) attribute, err := strconv.Atoi(datas[3])
if err != nil { if err != nil {
errdata = &pb.ErrorData{ errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError, Code: pb.ErrorCode_ReqParameterError,